Commit Graph

51 Commits

Author SHA1 Message Date
Weston Ruter
90bedf8f9d Editor: Add CodeMirror-powered code editor with syntax highlighting, linting, and auto-completion.
* Code editor is integrated into the Theme/Plugin Editor, Additional CSS in Customizer, and Custom HTML widget. Code editor is not yet integrated into the post editor, and it may not be until accessibility concerns are addressed.
* The CodeMirror component in the Custom HTML widget is integrated in a similar way to TinyMCE being integrated into the Text widget, adopting the same approach for integrating dynamic JavaScript-initialized fields.
* Linting is performed for JS, CSS, HTML, and JSON via JSHint, CSSLint, HTMLHint, and JSONLint respectively. Linting is not yet supported for PHP.
* When user lacks `unfiltered_html` the capability, the Custom HTML widget will report any Kses-invalid elements and attributes as errors via a custom Kses rule for HTMLHint.
* When linting errors are detected, the user will be prevented from saving the code until the errors are fixed, reducing instances of broken websites.
* The placeholder value is removed from Custom CSS in favor of a fleshed-out section description which now auto-expands when the CSS field is empty. See #39892.
* The CodeMirror library is included as `wp.CodeMirror` to prevent conflicts with any existing `CodeMirror` global.
* An `wp.codeEditor.initialize()` API in JS is provided to convert a `textarea` into CodeMirror, with a `wp_enqueue_code_editor()` function in PHP to manage enqueueing the assets and settings needed to edit a given type of code.
* A user preference is added to manage whether or not "syntax highlighting" is enabled. The feature is opt-out, being enabled by default.
* Allowed file extensions in the theme and plugin editors have been updated to include formats which CodeMirror has modes for: `conf`, `css`, `diff`, `patch`, `html`, `htm`, `http`, `js`, `json`, `jsx`, `less`, `md`, `php`, `phtml`, `php3`, `php4`, `php5`, `php7`, `phps`, `scss`, `sass`, `sh`, `bash`, `sql`, `svg`, `xml`, `yml`, `yaml`, `txt`.

Props westonruter, georgestephanis, obenland, melchoyce, pixolin, mizejewski, michelleweber, afercia, grahamarmfield, samikeijonen, rianrietveld, iseulde.
See #38707.
Fixes #12423, #39892.

Built from https://develop.svn.wordpress.org/trunk@41376


git-svn-id: http://core.svn.wordpress.org/trunk@41209 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-13 06:08:47 +00:00
Weston Ruter
9b5d71bad0 Widgets: Add dirty state tracking for widgets on admin screen.
* Mark a widget as dirty when a field input triggers a `change` or `input` event; clear dirty state when widget is successfully saved.
* Disable Save button and re-label "Saved" when widget not dirty.
* Show AYS dialog when leaving widgets admin screen with unsaved changes.
* When widgets are dirty, expand all unsaved widgets at AYS check and focus on first one.
* Change "Close" link to "Done"; hide link when widget is dirty and reveal when saved.
* The "Done" link persistently appears in the Customizer even after making a change (when the widget is dirty) because changes are autosaved into the changeset.
* Prevent saving widget when form fails `checkValidity`.
* Fix frequency of triggering of `change` event on the rich Text widget's `textarea` limited now to when there are actual changes.
* Add a class of `widget-dirty` to widget containers when the widget has unsaved changes.

Props westonruter, timmydcrawford, melchoyce.
Fixes #41610, #23120.

Built from https://develop.svn.wordpress.org/trunk@41352


git-svn-id: http://core.svn.wordpress.org/trunk@41185 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-08 19:11:43 +00:00
Weston Ruter
d031a9c3fe Widgets: Use word-wrap: break-word for available widget descriptions.
Props metodiew.
Fixes #36207.

Built from https://develop.svn.wordpress.org/trunk@41339


git-svn-id: http://core.svn.wordpress.org/trunk@41172 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-09-06 18:28:43 +00:00
Mel Choyce
f10a6f8863 Widgets: Add grey background behind image widgets.
When an image in the image widget isn't full-width, it looks like it's floating. This adds a grey background behind images to help ground them in the widget.

Props mrasharirfan.
Fixes #41630.

Built from https://develop.svn.wordpress.org/trunk@41309


git-svn-id: http://core.svn.wordpress.org/trunk@41140 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-23 17:15:42 +00:00
Weston Ruter
75ad3494a8 Widgets: Expose link URL input field in Image widget to avoid having to open media modal to discover.
Props timmydcrawford, westonruter.
See #39993.
Fixes #41274.

Built from https://develop.svn.wordpress.org/trunk@41252


git-svn-id: http://core.svn.wordpress.org/trunk@41092 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-08-14 17:56:42 +00:00
Aaron Jorbin
50cb2c5e28 Update autoprefixer browser support matrix
WordPress no longer supports many old old browsers: https://make.wordpress.org/core/2017/04/23/target-browser-coverage/

This also removes alot of no longer necessary CSS. It served us well, but we are never getting back together with IE8,9,10.

So, in the (paraphrased) words of Taylor Swift:

I remember when we dropped support  the first time
Saying, "This is it, I've had enough, " 'cause like
We hadn't seen many users in a month
When you said you needed flexbox. (What?)
Then you postMessage again and say
"IE8, I miss you and I swear I'm gonna change, trust me."
Remember how that lasted for a day?
I say, "I hate the box model, " we break up, you call me, "I love css-grids."
Ooh, we called it off again last night
But ooh, this time I'm telling you, I'm telling you

We are never ever ever supporting IE 8,9,10,
We are never ever ever supporting IE 8,9,10,
You go talk to EDGE, talk to my FIREFOX, talk to CHROME
But we are never ever ever ever getting back together
Like, ever...

Fixes #37651.
Props stunnedbeast, netweb, jorbin.



Built from https://develop.svn.wordpress.org/trunk@41062


git-svn-id: http://core.svn.wordpress.org/trunk@40912 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-16 01:15:46 +00:00
Weston Ruter
8db1f562e6 Widgets: Add legacy mode for Text widget and add usage pointers to default visual mode.
The Text widget in legacy mode omits TinyMCE and retains old behavior for matching pre-existing Text widgets. Usage pointers added to default visual mode appear when attempting to paste HTML code into the Visual tab and when clicking on the Text tab, informing users of the new Custom HTML widget.

Props westonruter, melchoyce, gitlost for testing, obenland for testing, dougal for testing, afercia for testing.
See #35243.
Fixes #40951.

Built from https://develop.svn.wordpress.org/trunk@41050


git-svn-id: http://core.svn.wordpress.org/trunk@40900 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-07-14 17:09:43 +00:00
Andrea Fercia
705ecf3312 Customize: Make the media control buttons natural-width.
Natural-width buttons are better for translations, and don't feel as
overpowering as the half-width (and full-width) buttons.

Props melchoyce, timmydcrawford, afercia.
Fixes #40220.

Built from https://develop.svn.wordpress.org/trunk@40653


git-svn-id: http://core.svn.wordpress.org/trunk@40516 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-12 17:50:44 +00:00
Andrea Fercia
55b6ee7e56 Media: Clean-up some MediaElementJS CSS: no more needed after [40642].
See #40707, #32417, #39994, #39995, #30281.

Built from https://develop.svn.wordpress.org/trunk@40647


git-svn-id: http://core.svn.wordpress.org/trunk@40510 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-12 07:00:45 +00:00
Weston Ruter
31d4d81039 Widgets: Introduce media widgets for images, audio, and video with extensible base for additional media widgets in the future.
The last time a new widget was introduced, Vuvuzelas were a thing, Angry Birds started taking over phones, and WordPress stopped shipping with Kubrick. Seven years and 17 releases without new widgets have been enough, time to spice up your sidebar!

Props westonruter, melchoyce, obenland, timmydcrawford, adamsilverstein, gonom9, wonderboymusic, Fab1en, DrewAPicture, sirbrillig, joen, matias, samikeijonen, afercia, celloexpressions, designsimply, michelleweber, ranh, kjellr, karmatosed.
Fixes #32417, #39993, #39994, #39995.

Built from https://develop.svn.wordpress.org/trunk@40640


git-svn-id: http://core.svn.wordpress.org/trunk@40501 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-05-11 21:11:44 +00:00
Andrea Fercia
1d739a0925 Accessibility: Make some Widgets buttons real buttons.
Links used as UI controls that behave like buttons, should be buttons.
- changes the widgets "toggle", "Delete", and "Close" links to buttons
- uses `aria-expanded` to announce the state of the toggle buttons
- increases a bit the clickable area of the toggle
- ensures the "circular focus" doesn't get cut-off in some browsers by centering the toggle arrows
- uses a `<span>` element with an `aria-hidden` attribute to hide CSS generated font icons from assistive technologies
- standardizes on `.toggle-indicator:before` rather than `:after`
- changes two `#f00` reds in `#dc3232`, see #35622

Fixes #31476.

Built from https://develop.svn.wordpress.org/trunk@40480


git-svn-id: http://core.svn.wordpress.org/trunk@40356 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2017-04-19 21:14:44 +00:00
Helen Hou-Sandí
8776694a33 Use numeric font weights instead of keywords.
When Open Sans was in use, the `300`, `400`, and `600` weights were loaded. `400` is the equivalent of `normal`; however, `bold` is equivalent to `700`, not `600`. With the move to system fonts, we need to be specific rather than relying on the lack of a `700` weight. Not all system fonts include a `600` weight; in those instances, they will use the `bold`/`700` weight.

The WordPress CSS Coding Standards have been updated accordingly.

props coderste.
see #36753.

Built from https://develop.svn.wordpress.org/trunk@37740


git-svn-id: http://core.svn.wordpress.org/trunk@37705 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-06-17 18:37:28 +00:00
Helen Hou-Sandí
610215ceb1 Revive grunt-rtlcss, which does not appear to enjoy syntax errors.
props netweb.
see #36753, #29792.

Built from https://develop.svn.wordpress.org/trunk@37363


git-svn-id: http://core.svn.wordpress.org/trunk@37329 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-05 15:22:27 +00:00
Helen Hou-Sandí
a800cf654b Drop Open Sans in the admin in favor of system fonts.
Rejoice, for your admins will feel more native to your surrounding computing environment and likely load faster, especially when offline, as they no longer have to talk to The Google Overlord.

At the time of introduction in 3.8, there were not good system fonts common to all platforms at the time. In the years since, Windows, Android, OS X, iOS, Firefox OS, and various flavors of Linux have all gotten their own (good) system UI fonts.

There will definitely be visual bugs, mainly around alignment and spacing; these should be documented and reported on the ticket and fixed more atomically so that our current and future selves have a better understanding of what happened and why.

The style remains registered, as it is almost certainly in use by themes and plugins.

props mattmiklic.
see #36753.

Built from https://develop.svn.wordpress.org/trunk@37361


git-svn-id: http://core.svn.wordpress.org/trunk@37327 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-05-04 22:07:37 +00:00
Rachel Baker
15eaa665c1 Widgets: When the Inactive Widgets section is hidden also hide the “Clear Inactive Widgets” button description text.
Props welcher.

Fixes #35592.


Built from https://develop.svn.wordpress.org/trunk@37323


git-svn-id: http://core.svn.wordpress.org/trunk@37289 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-04-28 20:40:28 +00:00
Andrea Fercia
30866ceb5d Accessibility: Improve color contrast updating any #999 gray used for text or icons to a darker gray.
Fixes #35660.
Built from https://develop.svn.wordpress.org/trunk@36587


git-svn-id: http://core.svn.wordpress.org/trunk@36554 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-02-19 18:44:27 +00:00
Andrea Fercia
62d8fda8dd After [36171] remove all the occurrences of the old CSS clearfix.
The old clearfix was applied to very specific items and defined multiple times
across CSS files. Uses the new generic `.wp-clearfix` utility class instead.

See #26396.
Built from https://develop.svn.wordpress.org/trunk@36422


git-svn-id: http://core.svn.wordpress.org/trunk@36389 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-30 13:46:27 +00:00
Andrea Fercia
af25083b6f Accessibility: Improve the color contrast ratio replacing the residual occurrences of the #777 gray.
Uses the existing `#72777c` on white backgrounds and the new `#555d66` "dark medium gray" on darker backgrounds.

Fixes #35605.
Built from https://develop.svn.wordpress.org/trunk@36396


git-svn-id: http://core.svn.wordpress.org/trunk@36363 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-26 00:04:26 +00:00
Andrea Fercia
7ab88221fa Customizer: Aggregate similar CSS rules.
Fixes #34333.
Built from https://develop.svn.wordpress.org/trunk@36291


git-svn-id: http://core.svn.wordpress.org/trunk@36258 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2016-01-13 22:36:26 +00:00
Andrew Ozz
71ac079074 Widgets: add a button to delete all inactive widgets simultaneously for better UX.
Props cdog.
Fixes #19159.
Built from https://develop.svn.wordpress.org/trunk@35317


git-svn-id: http://core.svn.wordpress.org/trunk@35283 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-21 05:23:26 +00:00
Andrea Fercia
6b449abadc Accessibility: bump headings one level up on the Appearance > Widgets screen for a better headings hierarchy.
Props mrahmadawais, afercia.
Fixes #33659.
Built from https://develop.svn.wordpress.org/trunk@35015


git-svn-id: http://core.svn.wordpress.org/trunk@34980 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-10 16:34:25 +00:00
Scott Taylor
2783773775 Meta Boxes: reboot some of the code in postbox.js to support aria-expanded attribute toggling and to properly reference static class properties.
Props afercia, wonderboymusic.
Fixes #33754.

Built from https://develop.svn.wordpress.org/trunk@34893


git-svn-id: http://core.svn.wordpress.org/trunk@34858 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-10-07 01:58:25 +00:00
Scott Taylor
d22fbc7545 Grunt RTL CSS: swap-dashicons-left-right-arrows in rtlcss:properties expects double-quoted content strings in CSS. It doesn't swap single-quoted values.
Props Ankit K Gupta, yoavf, netweb.
Fixes #33786.

Built from https://develop.svn.wordpress.org/trunk@34011


git-svn-id: http://core.svn.wordpress.org/trunk@33980 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-10 20:22:25 +00:00
Scott Taylor
f5c754bfed Dashicons CSS: one-word font families don't need quotes. Font families with a space in the name should use double-quotes (doesn't apply here).
Props afercia.
Fixes #32866.

Built from https://develop.svn.wordpress.org/trunk@33912


git-svn-id: http://core.svn.wordpress.org/trunk@33881 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-09-05 19:57:25 +00:00
Andrew Ozz
999ae33a2e Widgets:
- Fix dragging to the bottom of the screen.
- Fix hiding of the dragged widget when dragging over a closed sidebar.
- Fix the admin menu position and scrolling when all widget containers are folded.
Fixes #32094 for trunk.
Built from https://develop.svn.wordpress.org/trunk@32480


git-svn-id: http://core.svn.wordpress.org/trunk@32450 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-05-10 00:32:31 +00:00
Helen Hou-Sandí
bfda508c18 Update more instances of default admin blues and grays.
props hugobaeta.
fixes #31234.

Built from https://develop.svn.wordpress.org/trunk@32051


git-svn-id: http://core.svn.wordpress.org/trunk@32030 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-05 21:20:27 +00:00
Helen Hou-Sandí
3ac1a19529 Spinners: Toggle a class instead of show/hide.
Toggling spinners also now uses visibility instead of display, so that the space is always reserved and nothing moves around unexpectedly.

props cdog, MikeHansenMe, valendesigns.
fixes #22839. see #31875, #30725.

Built from https://develop.svn.wordpress.org/trunk@31996


git-svn-id: http://core.svn.wordpress.org/trunk@31975 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-04-03 04:52:27 +00:00
Helen Hou-Sandí
bcda24004a Update the default admin color scheme for more unity and refinement.
This removes the red channel from blues and cools the grays a bit for a more cohesive and purposeful color scheme.

props hugobaeta.
fixes #31234.

Built from https://develop.svn.wordpress.org/trunk@31422


git-svn-id: http://core.svn.wordpress.org/trunk@31403 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2015-02-11 22:18:26 +00:00
Dominik Schilling
d993855458 Don't use box shadow focus styling for widget arrows, see #28267.
fixes #28834.
props nvwd.
Built from https://develop.svn.wordpress.org/trunk@29122


git-svn-id: http://core.svn.wordpress.org/trunk@28907 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-07-12 15:47:15 +00:00
Helen Hou-Sandí
ab31bf8683 Once upon a time not long ago,
The admin CSS was merged in #18314.
After a couple years as it stood,
The mess it had become just was no good.
One day we realized Grunt is pretty cool,
And said "we should use this as our build tool!"
Now we can maintain separate files with ease,
Using @import and cssmin meets all our needs.
Welcome to the future of the WordPress stylesheets,
And thanks to Slick Rick for the beats.

props jorbin for the initial patch.
fixes #26669.

Built from https://develop.svn.wordpress.org/trunk@27195


git-svn-id: http://core.svn.wordpress.org/trunk@27054 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2014-02-19 21:43:14 +00:00
azaozz
1cdec6ff6e Merge most admin css files, first run, see #18314
git-svn-id: http://svn.automattic.com/wordpress/trunk@18577 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-08-21 03:46:43 +00:00
azaozz
9972597f91 Widgets RTL fixes, props yoavf, fixes #16082
git-svn-id: http://svn.automattic.com/wordpress/trunk@18095 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-06-01 16:29:10 +00:00
nacin
82dd4d569c Quick RTL CSS fix in widgets admin. see #16082, props SergeyBiryukov.
git-svn-id: http://svn.automattic.com/wordpress/trunk@17216 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2011-01-04 07:29:22 +00:00
nacin
8f2a759d3c Minify remaining RTL css files, and ie.css. See #12292.
git-svn-id: http://svn.automattic.com/wordpress/trunk@13238 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2010-02-19 23:55:09 +00:00
azaozz
123d7ee968 Widgets page, first run, see #9511
git-svn-id: http://svn.automattic.com/wordpress/trunk@10912 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2009-04-11 14:37:24 +00:00
ryan
064e0e74f9 RTL updates from kashani. fixes #8047
git-svn-id: http://svn.automattic.com/wordpress/trunk@10147 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-12-09 17:36:36 +00:00
azaozz
741624aae1 Widgets background and new style buttons
git-svn-id: http://svn.automattic.com/wordpress/trunk@9944 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-11-28 10:54:01 +00:00
azaozz
12c32007cf RTL updates, props kashani, see #8047
git-svn-id: http://svn.automattic.com/wordpress/trunk@9605 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-11-11 04:30:48 +00:00
azaozz
a1c1da11f8 RTL CSS for 2.7, props mani_monaj, see #8047
git-svn-id: http://svn.automattic.com/wordpress/trunk@9505 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-11-04 02:50:16 +00:00
ryan
f41858edcf RTL CSS updates from Navid Kashani, RanYanivHartstein, mani_monaj, and the WP Persian team. see #7498. Partial patch for trunk
git-svn-id: http://svn.automattic.com/wordpress/trunk@8632 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-08-12 23:19:07 +00:00
ryan
a54eb08d09 Widget edit link layout fixes from mdawaffe. fixes #6371
git-svn-id: http://svn.automattic.com/wordpress/trunk@7964 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-05-20 19:57:38 +00:00
ryan
7623315990 Widget arrangement fix from azaozz. fixes #6876 for trunk
git-svn-id: http://svn.automattic.com/wordpress/trunk@7881 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-05-04 02:05:18 +00:00
ryan
fe4cab3d1f Fix text widget cropping in IE6. Props mdawaffe. fixes #6792 for trunk
git-svn-id: http://svn.automattic.com/wordpress/trunk@7780 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-04-22 23:48:28 +00:00
ryan
f0506ff8e5 RTL fixes from mani_monaj and RanYanivHartstein. see #6296 #6365
git-svn-id: http://svn.automattic.com/wordpress/trunk@7494 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-03-24 02:51:51 +00:00
ryan
31e258ae64 RTL CSS from Mani. fixes #6296
git-svn-id: http://svn.automattic.com/wordpress/trunk@7398 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-03-19 16:08:03 +00:00
ryan
f529aef82d Widget admin layout fixes from mdawaffe. fixes #5997
git-svn-id: http://svn.automattic.com/wordpress/trunk@7086 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-02-28 09:11:11 +00:00
ryan
f8be8cb880 Widget interface updates from mdawaffe. see #5583
git-svn-id: http://svn.automattic.com/wordpress/trunk@6754 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2008-02-07 21:57:54 +00:00
ryan
94349171ec Updated RTL CSS from mani_monaj. fixes #5025
git-svn-id: http://svn.automattic.com/wordpress/trunk@6146 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2007-09-20 23:36:45 +00:00
ryan
96aba6a4c7 RTL CSS fixes from sewar. fixes #4655
git-svn-id: http://svn.automattic.com/wordpress/trunk@5884 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2007-08-16 18:49:32 +00:00
ryan
74fcc19b8e RTL fixes from mani_monaj. fixes #4730
git-svn-id: http://svn.automattic.com/wordpress/trunk@5863 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2007-08-13 15:36:26 +00:00