Repository navigation
Conversation
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
|
Size Change: -2 B (0%) Total Size: 2.99 MB
ℹ️ View Unchanged
|
There was a problem hiding this comment.
Thanks for working on this one @getdave 🙌
While this solves the WSOD, I'm not sure it works as expected. When I clear the year field, and I blur it, it displays the year "1", while I expect it to default to the current year:
In 609706a I've pushed a little change to the test to replicate this. You'll see the test now fails with 1.
I believe that the behavior should be either:
- Reverting to the previous value
- Defaulting to the current year
There was a problem hiding this comment.
I noticed we’re explicitly rejecting year values < 1000 in the update logic here:
https://github.com/WordPress/gutenberg/pull/75285/changes#diff-4c32ef8863ec630e143be082ac7c694b600c6d30db9db0fb3de94818f1c34447R133
To keep things consistent and prevent invalid values at the UI level, should we also update the YearInput constraint to:
| min={ 1000 } |
There was a problem hiding this comment.
I wonder if we should reject these values - I can see why someone might want to back date posts!
Edit: I see - it's to work with moment...
|
Yes @scruffian that's what I tried to fix in the other PR but I was asked to reduce the scope of the effort so I've ignored all those quirks in this PR. @tyxla I'll take one more look just in case we can leverage without bespoke |
I was able to replicate this Issue on I believe it's because
...thus the behaviour we all noticed. I'm happy to expand the PR again but then we stray back towards #75265. I feel we should fix the WSOD and then follow up to address the many other quirks/bugs of this UI. |
|
@tyxla I did some more research and decided to implement a However, we still need the defence in depth to prevent years < 1000 to protect moment JS handling. So we have a dual layered strategy that is flexible but resilient. Note: it is still possible to create dates in the past (month and day not year). I think we should address in a followup to keep this PR targeted. PR desc has been updated. |
That makes sense. Let's follow up with that in another PR. And thanks for jumping on this; it appears to be quite a rabbit hole with a lot of followups we encountered. 🙏 BTW, another inconsistency I spotted while testing the latest version of the PR:
I'd expect we default to the current day. But this is material for yet another follow-up PR.
I'm not convinced we really need to expose the
Absolutely, as discussed in the other PR, this is a different problem that should be addressed separately. |
I understand. I considered the same. However, I added the new API in order that the consumer of the component (Post Publish panel) can enforce the minimum year to be the current year. The default for the new API is If we don't do this, when you clear the field and blur it will revert to We'd need to implement the same for the day field as well (in a follow up). What do you think? |
|
Hmmm, that's not how I envisioned this to work, to be fair. The minimum 1000 protection is fine to be there if we know it causes errors with earlier years. But I don't see why it has to be surfaced as the default when the field is cleared. Can't we just always default to the current year when cleared, and keep the 1000 minimum protection internal? |
We can do that but it doesn't seem logical to me to implement custom "clamping" of the value when what we actually want is validation enforced that the minimum year value MUST be the current year (otherwise it's likely in the past). Consider that in follow ups one of the things we'll want to do is enforce that all dates must be either "Now" or in the future. We can of course implement a custom clamping of the value but then we're going to get into this scenario
This causes sync issues and requires us to add custom "validation" logic to protect against dates that are prior to the date we actually want. Maybe i'm misunderstanding and you can see a clear path here, but to me it does feel like validation is what we need. |
|
I see what you mean now, thanks for the clarification 👍 I'll re-review with a fresh understanding. |
tyxla
left a comment
There was a problem hiding this comment.
This is looking mostly good, and works well in my testing 👍
I've got some feedback for addressing, mostly minor stuff.
Also, let's make sure all checks pass - there are a few that are failing right now, including some linting ones.
| onChange, | ||
| events, | ||
| startOfWeek, | ||
| minYear, |
There was a problem hiding this comment.
Should we document this new prop in the README?
| ); | ||
|
|
||
| const updateDate = ( newDate: Date ) => { | ||
| if ( ! Number.isFinite( newDate.getTime() ) ) { |
There was a problem hiding this comment.
This might be error prone if in runtime we pass a non-Date-object to updateDate. I'd feel safer if we do a runtime check for Date object before we call .getTime():
| if ( ! Number.isFinite( newDate.getTime() ) ) { | |
| if ( newDate instanceof Date && ! Number.isFinite( newDate.getTime() ) ) { |
| // but moment.js (used internally by setInConfiguredTimezone) will emit | ||
| // deprecation warnings and fall back to unreliable js Date() parsing. | ||
| // This prevents those dates from reaching onChange. | ||
| if ( newDate.getFullYear() < 1000 ) { |
There was a problem hiding this comment.
Can we please also document this limitation in the README where we document the minYear prop?
| // but moment.js (used internally by setInConfiguredTimezone) will emit | ||
| // deprecation warnings and fall back to unreliable js Date() parsing. | ||
| // This prevents those dates from reaching onChange. | ||
| if ( newDate.getFullYear() < 1000 ) { |
There was a problem hiding this comment.
Can we also move 1000 to a constant, and move the explanation of the moment.js / date() parsing limitations there?
| // Even if minYear allows lower values, moment.js (used internally) | ||
| // cannot parse dates with years < 1000 reliably and will emit | ||
| // deprecation warnings. | ||
| if ( method === 'year' && numberValue < 1000 ) { |
There was a problem hiding this comment.
Let's use the min supported year constant here too
| * The minimum year that can be selected. Defaults to 1000 to prevent | ||
| * dates that moment.js cannot parse reliably. | ||
| * | ||
| * @default 1000 |
There was a problem hiding this comment.
Is it true that this is the default value? I see we're defaulting to 1000 in TimePicker, but not in DateTimePicker. Perhaps we should move the default value assignment one level up top?
| onChange, | ||
| dateOrder: dateOrderProp, | ||
| hideLabelFromVision = false, | ||
| minYear = 1000, |
There was a problem hiding this comment.
Let's consume this from a constant
Direction Change: From Guards to Root Cause FixInitial approach: Guard against years < 1000, believing Moment.js couldn't handle them. Investigation revealed: Moment.js handles years < 1000 perfectly fine - but only when given ISO 8601 compliant date strings. Root cause identified:
ISO 8601 requires minimum 4 digits for years. When Moment.js receives these strings without an explicit format, it:
Solution: Zero-pad years to 4 digits in the internal date string construction: This fixes the root cause, making guards unnecessary. Years 1-999 now work correctly without errors or warnings. However as we have |
tyxla
left a comment
There was a problem hiding this comment.
Now that we have a better idea of the root cause of the bug, can we move the minYear to its own PR?
The minYear feels more like a feature that's necessary to provide the post scheduler an option to limit to the current date, rather than being related to fixing the bug.
PR Split for Easier ReviewI've extracted the core ISO 8601 zero-padding fix into a separate PR for independent review and merge: Sub-PR: #75343 - Fix: ISO 8601 compliant year formatting in TimePicker What's in #75343:
What remains in this PR (#75285):Once #75343 merges, this PR will be rebased and will contain:
This split makes both PRs smaller, more focused, and easier to review. The core fix can merge quickly, then this PR becomes a clean enhancement on top of it. |
Add validation guard to prevent Invalid Date objects from being emitted via onChange, fixing WSOD when users clear date fields. - Add updateDate() helper with Number.isFinite() check - Add proactive validation for empty values, invalid years (<1000), and invalid days (<1) - Replace 3 call sites where setDate/onChange were called directly - Add test coverage for clearing year/day fields Fixes #75254 Co-authored-by: Cursor <cursoragent@cursor.com>
… comments Co-authored-by: Cursor <cursoragent@cursor.com>
Make invalid date handling tests more self-documenting by: - Using callCountAfterClear variable to explicitly show no new calls were made - Adding context comments explaining WHY onChange should not be called - Clarifying the guard's behavior in preventing invalid dates from being emitted Co-authored-by: Cursor <cursoragent@cursor.com>
Simplify the Invalid Date fix by using browser's built-in constraint validation instead of custom guards. - Add minYear prop to TimePicker (default: 1000) to prevent unparseable dates - Set minYear to current year in post-schedule component to restrict to future dates - Remove custom year/day validation guards (browser handles via min/max attributes) - Keep only Number.isFinite() guard for cross-field Invalid Date edge cases - Keep empty value check to handle race conditions during user input Co-authored-by: Cursor <cursoragent@cursor.com>
Even though minYear prop defaults to 1000, consumers could pass lower values.
Browser will enforce the min, but moment.js (used by setInConfiguredTimezone)
cannot parse years < 1000 reliably and emits deprecation warnings.
Adds two strategic guards:
- In buildNumberControlChangeCallback: prevents years < 1000 before setInConfiguredTimezone
- In updateDate: defense-in-depth for other code paths like month selector
Includes test case demonstrating the issue with minYear={1}.
Co-authored-by: Cursor <cursoragent@cursor.com>
The validateInputElementTarget() call already handles empty values via the 'required' attribute on input fields. When a required field is empty, event.target.validity.valid returns false, causing an early return. This makes the explicit empty value check redundant. Removing it simplifies the code while maintaining the same behavior.
…tting Implements zero-padding for years in date string construction to ensure ISO 8601 compliance. Years below 1000 are now properly formatted (e.g., year 999 becomes "0999") preventing Invalid Date errors and deprecation warnings. Key changes: - Add zero-padding to year formatting in setInConfiguredTimezone() - Remove MIN_SUPPORTED_YEAR constant and related guards - Update minYear default from 1000 to 1 across TimePicker/DateTimePicker - Add comprehensive test coverage for years 1-999 - Update documentation to reflect ISO 8601 compliance fix All existing tests pass (91/91). Input fields display human-readable years while onChange emits ISO 8601 compliant format.
71f04dc to
9a63972
Compare
| /** | ||
| * The minimum year that can be selected in the year input field. | ||
| * | ||
| * @default 1 |
There was a problem hiding this comment.
@tyxla Shall we just default to 1900 or something realistic?
There was a problem hiding this comment.
I'm totally fine with keeping it 1. It was 1 so far so 🤷♂️
|
The underlying ISO 8601 year-padding bug has been fixed in #75343 (now merged to trunk). This PR has been rebased on trunk and now focuses solely on:
|
- Change minYear to use getDate() instead of new Date() to respect WordPress site timezone - Add currentSiteYear variable with explanatory comment about timezone handling - Update e2e test from "past date" to "prevent past year" to match intended behavior - All datepicker tests now pass across all timezones
|
The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the If you're merging code through a pull request on GitHub, copy and paste the following into the bottom of the merge commit message. To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook. |
|
Size Change: -2 B (0%) Total Size: 2.99 MB
ℹ️ View Unchanged
|
There was a problem hiding this comment.
Size Change: -2 B (0%)
Total Size: 2.99 MB
| Filename | Size | Change |
|---|---|---|
build/scripts/components/index.min.js |
266 kB | +9 B (0%) |
build/scripts/editor/index.min.js |
323 kB | -11 B (0%) |
ℹ️ View Unchanged
| Filename | Size |
|---|---|
build/modules/a11y/index.min.js |
355 B |
build/modules/abilities/index.min.js |
42.3 kB |
build/modules/block-editor/utils/fit-text-frontend.min.js |
617 B |
build/modules/block-library/accordion/view.min.js |
779 B |
build/modules/block-library/file/view.min.js |
346 B |
build/modules/block-library/form/view.min.js |
528 B |
build/modules/block-library/image/view.min.js |
2.64 kB |
build/modules/block-library/navigation/view.min.js |
1.12 kB |
build/modules/block-library/playlist/view.min.js |
418 B |
build/modules/block-library/query/view.min.js |
518 B |
build/modules/block-library/search/view.min.js |
498 B |
build/modules/block-library/tabs/view.min.js |
859 B |
build/modules/boot/index.min.js |
14.6 kB |
build/modules/core-abilities/index.min.js |
892 B |
build/modules/edit-site-init/index.min.js |
2.14 kB |
build/modules/interactivity-router/full-page.min.js |
451 B |
build/modules/interactivity-router/index.min.js |
11.6 kB |
build/modules/interactivity/index.min.js |
15 kB |
build/modules/latex-to-mathml/index.min.js |
56.5 kB |
build/modules/latex-to-mathml/loader.min.js |
131 B |
build/modules/lazy-editor/index.min.js |
13.2 kB |
build/modules/route/index.min.js |
24.6 kB |
build/modules/workflow/index.min.js |
19.9 kB |
build/scripts/a11y/index.min.js |
1.06 kB |
build/scripts/annotations/index.min.js |
2.39 kB |
build/scripts/api-fetch/index.min.js |
2.83 kB |
build/scripts/autop/index.min.js |
2.18 kB |
build/scripts/base-styles/index.min.js |
98 B |
build/scripts/blob/index.min.js |
631 B |
build/scripts/block-directory/index.min.js |
8.04 kB |
build/scripts/block-editor/index.min.js |
330 kB |
build/scripts/block-library/index.min.js |
305 kB |
build/scripts/block-serialization-default-parser/index.min.js |
1.16 kB |
build/scripts/block-serialization-spec-parser/index.min.js |
3.08 kB |
build/scripts/blocks/index.min.js |
56.7 kB |
build/scripts/commands/index.min.js |
19.9 kB |
build/scripts/compose/index.min.js |
13.9 kB |
build/scripts/core-commands/index.min.js |
4.3 kB |
build/scripts/core-data/index.min.js |
27.6 kB |
build/scripts/customize-widgets/index.min.js |
12.3 kB |
build/scripts/data-controls/index.min.js |
795 B |
build/scripts/data/index.min.js |
9.64 kB |
build/scripts/date/index.min.js |
23.6 kB |
build/scripts/deprecated/index.min.js |
756 B |
build/scripts/dom-ready/index.min.js |
476 B |
build/scripts/dom/index.min.js |
4.95 kB |
build/scripts/edit-post/index.min.js |
16.2 kB |
build/scripts/edit-site/index.min.js |
244 kB |
build/scripts/edit-widgets/index.min.js |
20 kB |
build/scripts/element/index.min.js |
5.2 kB |
build/scripts/escape-html/index.min.js |
587 B |
build/scripts/format-library/index.min.js |
10.8 kB |
build/scripts/hooks/index.min.js |
1.83 kB |
build/scripts/html-entities/index.min.js |
494 B |
build/scripts/i18n/index.min.js |
2.46 kB |
build/scripts/is-shallow-equal/index.min.js |
572 B |
build/scripts/keyboard-shortcuts/index.min.js |
1.57 kB |
build/scripts/keycodes/index.min.js |
1.56 kB |
build/scripts/list-reusable-blocks/index.min.js |
2.44 kB |
build/scripts/media-utils/index.min.js |
73.7 kB |
build/scripts/notices/index.min.js |
1.12 kB |
build/scripts/nux/index.min.js |
1.89 kB |
build/scripts/patterns/index.min.js |
7.75 kB |
build/scripts/plugins/index.min.js |
2.15 kB |
build/scripts/preferences-persistence/index.min.js |
2.15 kB |
build/scripts/preferences/index.min.js |
3.3 kB |
build/scripts/primitives/index.min.js |
1.01 kB |
build/scripts/priority-queue/index.min.js |
1.62 kB |
build/scripts/private-apis/index.min.js |
1.07 kB |
build/scripts/react-i18n/index.min.js |
833 B |
build/scripts/redux-routine/index.min.js |
3.37 kB |
build/scripts/reusable-blocks/index.min.js |
2.92 kB |
build/scripts/rich-text/index.min.js |
13 kB |
build/scripts/router/index.min.js |
5.96 kB |
build/scripts/server-side-render/index.min.js |
1.91 kB |
build/scripts/shortcode/index.min.js |
1.59 kB |
build/scripts/style-engine/index.min.js |
2.37 kB |
build/scripts/sync/index.min.js |
42.3 kB |
build/scripts/theme/index.min.js |
21.9 kB |
build/scripts/token-list/index.min.js |
739 B |
build/scripts/undo-manager/index.min.js |
918 B |
build/scripts/url/index.min.js |
3.98 kB |
build/scripts/vendors/react-dom.min.js |
43.2 kB |
build/scripts/vendors/react-jsx-runtime.min.js |
667 B |
build/scripts/vendors/react.min.js |
2.77 kB |
build/scripts/viewport/index.min.js |
1.21 kB |
build/scripts/warning/index.min.js |
454 B |
build/scripts/widgets/index.min.js |
7.81 kB |
build/scripts/wordcount/index.min.js |
1.04 kB |
build/styles/base-styles/admin-schemes-rtl.css |
1.71 kB |
build/styles/base-styles/admin-schemes-rtl.min.css |
775 B |
build/styles/base-styles/admin-schemes.css |
1.71 kB |
build/styles/base-styles/admin-schemes.min.css |
775 B |
build/styles/block-directory/style-rtl.css |
1.96 kB |
build/styles/block-directory/style-rtl.min.css |
1.05 kB |
build/styles/block-directory/style.css |
1.97 kB |
build/styles/block-directory/style.min.css |
1.05 kB |
build/styles/block-editor/content-rtl.css |
5.47 kB |
build/styles/block-editor/content-rtl.min.css |
4.04 kB |
build/styles/block-editor/content.css |
5.46 kB |
build/styles/block-editor/content.min.css |
4.03 kB |
build/styles/block-editor/default-editor-styles-rtl.css |
697 B |
build/styles/block-editor/default-editor-styles-rtl.min.css |
224 B |
build/styles/block-editor/default-editor-styles.css |
697 B |
build/styles/block-editor/default-editor-styles.min.css |
224 B |
build/styles/block-editor/style-rtl.css |
18.3 kB |
build/styles/block-editor/style-rtl.min.css |
15.7 kB |
build/styles/block-editor/style.css |
18.3 kB |
build/styles/block-editor/style.min.css |
15.7 kB |
build/styles/block-library/accordion-heading/style-rtl.css |
346 B |
build/styles/block-library/accordion-heading/style-rtl.min.css |
325 B |
build/styles/block-library/accordion-heading/style.css |
346 B |
build/styles/block-library/accordion-heading/style.min.css |
325 B |
build/styles/block-library/accordion-item/style-rtl.css |
239 B |
build/styles/block-library/accordion-item/style-rtl.min.css |
180 B |
build/styles/block-library/accordion-item/style.css |
238 B |
build/styles/block-library/accordion-item/style.min.css |
180 B |
build/styles/block-library/accordion-panel/style-rtl.css |
110 B |
build/styles/block-library/accordion-panel/style-rtl.min.css |
99 B |
build/styles/block-library/accordion-panel/style.css |
110 B |
build/styles/block-library/accordion-panel/style.min.css |
99 B |
build/styles/block-library/accordion/style-rtl.css |
69 B |
build/styles/block-library/accordion/style-rtl.min.css |
62 B |
build/styles/block-library/accordion/style.css |
69 B |
build/styles/block-library/accordion/style.min.css |
62 B |
build/styles/block-library/archives/style-rtl.css |
101 B |
build/styles/block-library/archives/style-rtl.min.css |
90 B |
build/styles/block-library/archives/style.css |
101 B |
build/styles/block-library/archives/style.min.css |
90 B |
build/styles/block-library/audio/editor-rtl.css |
166 B |
build/styles/block-library/audio/editor-rtl.min.css |
149 B |
build/styles/block-library/audio/editor.css |
166 B |
build/styles/block-library/audio/editor.min.css |
151 B |
build/styles/block-library/audio/style-rtl.css |
945 B |
build/styles/block-library/audio/style-rtl.min.css |
132 B |
build/styles/block-library/audio/style.css |
945 B |
build/styles/block-library/audio/style.min.css |
132 B |
build/styles/block-library/audio/theme-rtl.css |
967 B |
build/styles/block-library/audio/theme-rtl.min.css |
134 B |
build/styles/block-library/audio/theme.css |
967 B |
build/styles/block-library/audio/theme.min.css |
134 B |
build/styles/block-library/avatar/editor-rtl.css |
127 B |
build/styles/block-library/avatar/editor-rtl.min.css |
115 B |
build/styles/block-library/avatar/editor.css |
127 B |
build/styles/block-library/avatar/editor.min.css |
115 B |
build/styles/block-library/avatar/style-rtl.css |
117 B |
build/styles/block-library/avatar/style-rtl.min.css |
104 B |
build/styles/block-library/avatar/style.css |
117 B |
build/styles/block-library/avatar/style.min.css |
104 B |
build/styles/block-library/breadcrumbs/style-rtl.css |
233 B |
build/styles/block-library/breadcrumbs/style-rtl.min.css |
203 B |
build/styles/block-library/breadcrumbs/style.css |
233 B |
build/styles/block-library/breadcrumbs/style.min.css |
203 B |
build/styles/block-library/button/editor-rtl.css |
306 B |
build/styles/block-library/button/editor-rtl.min.css |
265 B |
build/styles/block-library/button/editor.css |
317 B |
build/styles/block-library/button/editor.min.css |
265 B |
build/styles/block-library/button/style-rtl.css |
609 B |
build/styles/block-library/button/style-rtl.min.css |
554 B |
build/styles/block-library/button/style.css |
622 B |
build/styles/block-library/button/style.min.css |
554 B |
build/styles/block-library/buttons/editor-rtl.css |
391 B |
build/styles/block-library/buttons/editor-rtl.min.css |
291 B |
build/styles/block-library/buttons/editor.css |
391 B |
build/styles/block-library/buttons/editor.min.css |
291 B |
build/styles/block-library/buttons/style-rtl.css |
452 B |
build/styles/block-library/buttons/style-rtl.min.css |
349 B |
build/styles/block-library/buttons/style.css |
453 B |
build/styles/block-library/buttons/style.min.css |
349 B |
build/styles/block-library/calendar/style-rtl.css |
271 B |
build/styles/block-library/calendar/style-rtl.min.css |
239 B |
build/styles/block-library/calendar/style.css |
271 B |
build/styles/block-library/calendar/style.min.css |
239 B |
build/styles/block-library/categories/editor-rtl.css |
171 B |
build/styles/block-library/categories/editor-rtl.min.css |
132 B |
build/styles/block-library/categories/editor.css |
170 B |
build/styles/block-library/categories/editor.min.css |
131 B |
build/styles/block-library/categories/style-rtl.css |
226 B |
build/styles/block-library/categories/style-rtl.min.css |
169 B |
build/styles/block-library/categories/style.css |
235 B |
build/styles/block-library/categories/style.min.css |
169 B |
build/styles/block-library/classic-rtl.css |
363 B |
build/styles/block-library/classic-rtl.min.css |
321 B |
build/styles/block-library/classic.css |
363 B |
build/styles/block-library/classic.min.css |
321 B |
build/styles/block-library/code/editor-rtl.css |
59 B |
build/styles/block-library/code/editor-rtl.min.css |
53 B |
build/styles/block-library/code/editor.css |
59 B |
build/styles/block-library/code/editor.min.css |
53 B |
build/styles/block-library/code/style-rtl.css |
158 B |
build/styles/block-library/code/style-rtl.min.css |
139 B |
build/styles/block-library/code/style.css |
179 B |
build/styles/block-library/code/style.min.css |
139 B |
build/styles/block-library/code/theme-rtl.css |
135 B |
build/styles/block-library/code/theme-rtl.min.css |
122 B |
build/styles/block-library/code/theme.css |
135 B |
build/styles/block-library/code/theme.min.css |
122 B |
build/styles/block-library/columns/editor-rtl.css |
119 B |
build/styles/block-library/columns/editor-rtl.min.css |
108 B |
build/styles/block-library/columns/editor.css |
119 B |
build/styles/block-library/columns/editor.min.css |
108 B |
build/styles/block-library/columns/style-rtl.css |
1.3 kB |
build/styles/block-library/columns/style-rtl.min.css |
421 B |
build/styles/block-library/columns/style.css |
1.3 kB |
build/styles/block-library/columns/style.min.css |
421 B |
build/styles/block-library/comment-author-avatar/editor-rtl.css |
136 B |
build/styles/block-library/comment-author-avatar/editor-rtl.min.css |
124 B |
build/styles/block-library/comment-author-avatar/editor.css |
136 B |
build/styles/block-library/comment-author-avatar/editor.min.css |
124 B |
build/styles/block-library/comment-author-name/style-rtl.css |
79 B |
build/styles/block-library/comment-author-name/style-rtl.min.css |
72 B |
build/styles/block-library/comment-author-name/style.css |
79 B |
build/styles/block-library/comment-author-name/style.min.css |
72 B |
build/styles/block-library/comment-content/style-rtl.css |
137 B |
build/styles/block-library/comment-content/style-rtl.min.css |
120 B |
build/styles/block-library/comment-content/style.css |
137 B |
build/styles/block-library/comment-content/style.min.css |
120 B |
build/styles/block-library/comment-date/style-rtl.css |
72 B |
build/styles/block-library/comment-date/style-rtl.min.css |
65 B |
build/styles/block-library/comment-date/style.css |
72 B |
build/styles/block-library/comment-date/style.min.css |
65 B |
build/styles/block-library/comment-edit-link/style-rtl.css |
77 B |
build/styles/block-library/comment-edit-link/style-rtl.min.css |
70 B |
build/styles/block-library/comment-edit-link/style.css |
77 B |
build/styles/block-library/comment-edit-link/style.min.css |
70 B |
build/styles/block-library/comment-reply-link/style-rtl.css |
78 B |
build/styles/block-library/comment-reply-link/style-rtl.min.css |
71 B |
build/styles/block-library/comment-reply-link/style.css |
78 B |
build/styles/block-library/comment-reply-link/style.min.css |
71 B |
build/styles/block-library/comment-template/style-rtl.css |
213 B |
build/styles/block-library/comment-template/style-rtl.min.css |
191 B |
build/styles/block-library/comment-template/style.css |
213 B |
build/styles/block-library/comment-template/style.min.css |
191 B |
build/styles/block-library/comments-pagination-numbers/editor-rtl.css |
135 B |
build/styles/block-library/comments-pagination-numbers/editor-rtl.min.css |
122 B |
build/styles/block-library/comments-pagination-numbers/editor.css |
144 B |
build/styles/block-library/comments-pagination-numbers/editor.min.css |
121 B |
build/styles/block-library/comments-pagination/editor-rtl.css |
184 B |
build/styles/block-library/comments-pagination/editor-rtl.min.css |
168 B |
build/styles/block-library/comments-pagination/editor.css |
184 B |
build/styles/block-library/comments-pagination/editor.min.css |
168 B |
build/styles/block-library/comments-pagination/style-rtl.css |
224 B |
build/styles/block-library/comments-pagination/style-rtl.min.css |
201 B |
build/styles/block-library/comments-pagination/style.css |
236 B |
build/styles/block-library/comments-pagination/style.min.css |
201 B |
build/styles/block-library/comments-title/editor-rtl.css |
83 B |
build/styles/block-library/comments-title/editor-rtl.min.css |
75 B |
build/styles/block-library/comments-title/editor.css |
83 B |
build/styles/block-library/comments-title/editor.min.css |
75 B |
build/styles/block-library/comments/editor-rtl.css |
968 B |
build/styles/block-library/comments/editor-rtl.min.css |
842 B |
build/styles/block-library/comments/editor.css |
968 B |
build/styles/block-library/comments/editor.min.css |
842 B |
build/styles/block-library/comments/style-rtl.css |
754 B |
build/styles/block-library/comments/style-rtl.min.css |
637 B |
build/styles/block-library/comments/style.css |
752 B |
build/styles/block-library/comments/style.min.css |
637 B |
build/styles/block-library/common-rtl.css |
2.48 kB |
build/styles/block-library/common-rtl.min.css |
1.11 kB |
build/styles/block-library/common.css |
2.49 kB |
build/styles/block-library/common.min.css |
1.11 kB |
build/styles/block-library/cover/editor-rtl.css |
1.05 kB |
build/styles/block-library/cover/editor-rtl.min.css |
631 B |
build/styles/block-library/cover/editor.css |
1.05 kB |
build/styles/block-library/cover/editor.min.css |
631 B |
build/styles/block-library/cover/style-rtl.css |
2.5 kB |
build/styles/block-library/cover/style-rtl.min.css |
1.82 kB |
build/styles/block-library/cover/style.css |
2.51 kB |
build/styles/block-library/cover/style.min.css |
1.81 kB |
build/styles/block-library/details/editor-rtl.css |
72 B |
build/styles/block-library/details/editor-rtl.min.css |
65 B |
build/styles/block-library/details/editor.css |
72 B |
build/styles/block-library/details/editor.min.css |
65 B |
build/styles/block-library/details/style-rtl.css |
97 B |
build/styles/block-library/details/style-rtl.min.css |
86 B |
build/styles/block-library/details/style.css |
97 B |
build/styles/block-library/details/style.min.css |
86 B |
build/styles/block-library/editor-elements-rtl.css |
117 B |
build/styles/block-library/editor-elements-rtl.min.css |
75 B |
build/styles/block-library/editor-elements.css |
117 B |
build/styles/block-library/editor-elements.min.css |
75 B |
build/styles/block-library/editor-rtl.css |
12.1 kB |
build/styles/block-library/editor-rtl.min.css |
9.91 kB |
build/styles/block-library/editor.css |
12.1 kB |
build/styles/block-library/editor.min.css |
9.92 kB |
build/styles/block-library/elements-rtl.css |
84 B |
build/styles/block-library/elements-rtl.min.css |
54 B |
build/styles/block-library/elements.css |
84 B |
build/styles/block-library/elements.min.css |
54 B |
build/styles/block-library/embed/editor-rtl.css |
391 B |
build/styles/block-library/embed/editor-rtl.min.css |
331 B |
build/styles/block-library/embed/editor.css |
390 B |
build/styles/block-library/embed/editor.min.css |
331 B |
build/styles/block-library/embed/style-rtl.css |
1.29 kB |
build/styles/block-library/embed/style-rtl.min.css |
448 B |
build/styles/block-library/embed/style.css |
1.29 kB |
build/styles/block-library/embed/style.min.css |
448 B |
build/styles/block-library/embed/theme-rtl.css |
967 B |
build/styles/block-library/embed/theme-rtl.min.css |
133 B |
build/styles/block-library/embed/theme.css |
967 B |
build/styles/block-library/embed/theme.min.css |
133 B |
build/styles/block-library/file/editor-rtl.css |
352 B |
build/styles/block-library/file/editor-rtl.min.css |
324 B |
build/styles/block-library/file/editor.css |
353 B |
build/styles/block-library/file/editor.min.css |
324 B |
build/styles/block-library/file/style-rtl.css |
318 B |
build/styles/block-library/file/style-rtl.min.css |
278 B |
build/styles/block-library/file/style.css |
331 B |
build/styles/block-library/file/style.min.css |
278 B |
build/styles/block-library/footnotes/style-rtl.css |
220 B |
build/styles/block-library/footnotes/style-rtl.min.css |
198 B |
build/styles/block-library/footnotes/style.css |
219 B |
build/styles/block-library/footnotes/style.min.css |
197 B |
build/styles/block-library/form-input/editor-rtl.css |
247 B |
build/styles/block-library/form-input/editor-rtl.min.css |
229 B |
build/styles/block-library/form-input/editor.css |
246 B |
build/styles/block-library/form-input/editor.min.css |
229 B |
build/styles/block-library/form-input/style-rtl.css |
467 B |
build/styles/block-library/form-input/style-rtl.min.css |
366 B |
build/styles/block-library/form-input/style.css |
467 B |
build/styles/block-library/form-input/style.min.css |
366 B |
build/styles/block-library/form-submission-notification/editor-rtl.css |
368 B |
build/styles/block-library/form-submission-notification/editor-rtl.min.css |
344 B |
build/styles/block-library/form-submission-notification/editor.css |
368 B |
build/styles/block-library/form-submission-notification/editor.min.css |
341 B |
build/styles/block-library/form-submit-button/style-rtl.css |
77 B |
build/styles/block-library/form-submit-button/style-rtl.min.css |
69 B |
build/styles/block-library/form-submit-button/style.css |
77 B |
build/styles/block-library/form-submit-button/style.min.css |
69 B |
build/styles/block-library/freeform/editor-rtl.css |
1.12 kB |
build/styles/block-library/freeform/editor-rtl.min.css |
288 B |
build/styles/block-library/freeform/editor.css |
1.12 kB |
build/styles/block-library/freeform/editor.min.css |
288 B |
build/styles/block-library/gallery/editor-rtl.css |
1.52 kB |
build/styles/block-library/gallery/editor-rtl.min.css |
615 B |
build/styles/block-library/gallery/editor.css |
1.52 kB |
build/styles/block-library/gallery/editor.min.css |
616 B |
build/styles/block-library/gallery/style-rtl.css |
2.84 kB |
build/styles/block-library/gallery/style-rtl.min.css |
1.84 kB |
build/styles/block-library/gallery/style.css |
2.84 kB |
build/styles/block-library/gallery/style.min.css |
1.84 kB |
build/styles/block-library/gallery/theme-rtl.css |
941 B |
build/styles/block-library/gallery/theme-rtl.min.css |
108 B |
build/styles/block-library/gallery/theme.css |
941 B |
build/styles/block-library/gallery/theme.min.css |
108 B |
build/styles/block-library/group/editor-rtl.css |
772 B |
build/styles/block-library/group/editor-rtl.min.css |
335 B |
build/styles/block-library/group/editor.css |
772 B |
build/styles/block-library/group/editor.min.css |
335 B |
build/styles/block-library/group/style-rtl.css |
120 B |
build/styles/block-library/group/style-rtl.min.css |
103 B |
build/styles/block-library/group/style.css |
120 B |
build/styles/block-library/group/style.min.css |
103 B |
build/styles/block-library/group/theme-rtl.css |
468 B |
build/styles/block-library/group/theme-rtl.min.css |
79 B |
build/styles/block-library/group/theme.css |
468 B |
build/styles/block-library/group/theme.min.css |
79 B |
build/styles/block-library/heading/style-rtl.css |
604 B |
build/styles/block-library/heading/style-rtl.min.css |
205 B |
build/styles/block-library/heading/style.css |
604 B |
build/styles/block-library/heading/style.min.css |
205 B |
build/styles/block-library/html/editor-rtl.css |
1.24 kB |
build/styles/block-library/html/editor-rtl.min.css |
419 B |
build/styles/block-library/html/editor.css |
1.25 kB |
build/styles/block-library/html/editor.min.css |
419 B |
build/styles/block-library/image/editor-rtl.css |
1.63 kB |
build/styles/block-library/image/editor-rtl.min.css |
763 B |
build/styles/block-library/image/editor.css |
1.62 kB |
build/styles/block-library/image/editor.min.css |
763 B |
build/styles/block-library/image/style-rtl.css |
2.92 kB |
build/styles/block-library/image/style-rtl.min.css |
1.86 kB |
build/styles/block-library/image/style.css |
2.92 kB |
build/styles/block-library/image/style.min.css |
1.85 kB |
build/styles/block-library/image/theme-rtl.css |
971 B |
build/styles/block-library/image/theme-rtl.min.css |
137 B |
build/styles/block-library/image/theme.css |
971 B |
build/styles/block-library/image/theme.min.css |
137 B |
build/styles/block-library/latest-comments/style-rtl.css |
394 B |
build/styles/block-library/latest-comments/style-rtl.min.css |
355 B |
build/styles/block-library/latest-comments/style.css |
394 B |
build/styles/block-library/latest-comments/style.min.css |
354 B |
build/styles/block-library/latest-posts/editor-rtl.css |
154 B |
build/styles/block-library/latest-posts/editor-rtl.min.css |
139 B |
build/styles/block-library/latest-posts/editor.css |
153 B |
build/styles/block-library/latest-posts/editor.min.css |
138 B |
build/styles/block-library/latest-posts/style-rtl.css |
1.36 kB |
build/styles/block-library/latest-posts/style-rtl.min.css |
520 B |
build/styles/block-library/latest-posts/style.css |
1.37 kB |
build/styles/block-library/latest-posts/style.min.css |
520 B |
build/styles/block-library/list/style-rtl.css |
498 B |
build/styles/block-library/list/style-rtl.min.css |
107 B |
build/styles/block-library/list/style.css |
498 B |
build/styles/block-library/list/style.min.css |
107 B |
build/styles/block-library/loginout/style-rtl.css |
68 B |
build/styles/block-library/loginout/style-rtl.min.css |
61 B |
build/styles/block-library/loginout/style.css |
68 B |
build/styles/block-library/loginout/style.min.css |
61 B |
build/styles/block-library/math/editor-rtl.css |
491 B |
build/styles/block-library/math/editor-rtl.min.css |
105 B |
build/styles/block-library/math/editor.css |
502 B |
build/styles/block-library/math/editor.min.css |
105 B |
build/styles/block-library/math/style-rtl.css |
70 B |
build/styles/block-library/math/style-rtl.min.css |
61 B |
build/styles/block-library/math/style.css |
70 B |
build/styles/block-library/math/style.min.css |
61 B |
build/styles/block-library/media-text/editor-rtl.css |
389 B |
build/styles/block-library/media-text/editor-rtl.min.css |
321 B |
build/styles/block-library/media-text/editor.css |
389 B |
build/styles/block-library/media-text/editor.min.css |
320 B |
build/styles/block-library/media-text/style-rtl.css |
873 B |
build/styles/block-library/media-text/style-rtl.min.css |
552 B |
build/styles/block-library/media-text/style.css |
901 B |
build/styles/block-library/media-text/style.min.css |
550 B |
build/styles/block-library/more/editor-rtl.css |
796 B |
build/styles/block-library/more/editor-rtl.min.css |
393 B |
build/styles/block-library/more/editor.css |
798 B |
build/styles/block-library/more/editor.min.css |
393 B |
build/styles/block-library/navigation-link/editor-rtl.css |
1.21 kB |
build/styles/block-library/navigation-link/editor-rtl.min.css |
645 B |
build/styles/block-library/navigation-link/editor.css |
1.21 kB |
build/styles/block-library/navigation-link/editor.min.css |
647 B |
build/styles/block-library/navigation-link/style-rtl.css |
579 B |
build/styles/block-library/navigation-link/style-rtl.min.css |
190 B |
build/styles/block-library/navigation-link/style.css |
579 B |
build/styles/block-library/navigation-link/style.min.css |
188 B |
build/styles/block-library/navigation-overlay-close/style-rtl.css |
257 B |
build/styles/block-library/navigation-overlay-close/style-rtl.min.css |
236 B |
build/styles/block-library/navigation-overlay-close/style.css |
257 B |
build/styles/block-library/navigation-overlay-close/style.min.css |
236 B |
build/styles/block-library/navigation-submenu/editor-rtl.css |
1.12 kB |
build/styles/block-library/navigation-submenu/editor-rtl.min.css |
295 B |
build/styles/block-library/navigation-submenu/editor.css |
1.12 kB |
build/styles/block-library/navigation-submenu/editor.min.css |
294 B |
build/styles/block-library/navigation/editor-rtl.css |
3.28 kB |
build/styles/block-library/navigation/editor-rtl.min.css |
2.28 kB |
build/styles/block-library/navigation/editor.css |
3.29 kB |
build/styles/block-library/navigation/editor.min.css |
2.28 kB |
build/styles/block-library/navigation/style-rtl.css |
3.55 kB |
build/styles/block-library/navigation/style-rtl.min.css |
2.49 kB |
build/styles/block-library/navigation/style.css |
3.54 kB |
build/styles/block-library/navigation/style.min.css |
2.48 kB |
build/styles/block-library/nextpage/editor-rtl.css |
799 B |
build/styles/block-library/nextpage/editor-rtl.min.css |
392 B |
build/styles/block-library/nextpage/editor.css |
800 B |
build/styles/block-library/nextpage/editor.min.css |
392 B |
build/styles/block-library/page-list/editor-rtl.css |
1.18 kB |
build/styles/block-library/page-list/editor-rtl.min.css |
356 B |
build/styles/block-library/page-list/editor.css |
1.18 kB |
build/styles/block-library/page-list/editor.min.css |
356 B |
build/styles/block-library/page-list/style-rtl.css |
207 B |
build/styles/block-library/page-list/style-rtl.min.css |
192 B |
build/styles/block-library/page-list/style.css |
207 B |
build/styles/block-library/page-list/style.min.css |
192 B |
build/styles/block-library/paragraph/editor-rtl.css |
315 B |
build/styles/block-library/paragraph/editor-rtl.min.css |
292 B |
build/styles/block-library/paragraph/editor.css |
314 B |
build/styles/block-library/paragraph/editor.min.css |
292 B |
build/styles/block-library/paragraph/style-rtl.css |
746 B |
build/styles/block-library/paragraph/style-rtl.min.css |
341 B |
build/styles/block-library/paragraph/style.css |
752 B |
build/styles/block-library/paragraph/style.min.css |
340 B |
build/styles/block-library/playlist-track/style-rtl.css |
453 B |
build/styles/block-library/playlist-track/style-rtl.min.css |
420 B |
build/styles/block-library/playlist-track/style.css |
453 B |
build/styles/block-library/playlist-track/style.min.css |
420 B |
build/styles/block-library/playlist/editor-rtl.css |
84 B |
build/styles/block-library/playlist/editor-rtl.min.css |
73 B |
build/styles/block-library/playlist/editor.css |
84 B |
build/styles/block-library/playlist/editor.min.css |
73 B |
build/styles/block-library/playlist/style-rtl.css |
385 B |
build/styles/block-library/playlist/style-rtl.min.css |
363 B |
build/styles/block-library/playlist/style.css |
382 B |
build/styles/block-library/playlist/style.min.css |
363 B |
build/styles/block-library/post-author-biography/style-rtl.css |
81 B |
build/styles/block-library/post-author-biography/style-rtl.min.css |
74 B |
build/styles/block-library/post-author-biography/style.css |
81 B |
build/styles/block-library/post-author-biography/style.min.css |
74 B |
build/styles/block-library/post-author-name/style-rtl.css |
76 B |
build/styles/block-library/post-author-name/style-rtl.min.css |
69 B |
build/styles/block-library/post-author-name/style.css |
76 B |
build/styles/block-library/post-author-name/style.min.css |
69 B |
build/styles/block-library/post-author/editor-rtl.css |
490 B |
build/styles/block-library/post-author/editor-rtl.min.css |
104 B |
build/styles/block-library/post-author/editor.css |
490 B |
build/styles/block-library/post-author/editor.min.css |
104 B |
build/styles/block-library/post-author/style-rtl.css |
213 B |
build/styles/block-library/post-author/style-rtl.min.css |
188 B |
build/styles/block-library/post-author/style.css |
214 B |
build/styles/block-library/post-author/style.min.css |
189 B |
build/styles/block-library/post-comments-count/style-rtl.css |
79 B |
build/styles/block-library/post-comments-count/style-rtl.min.css |
72 B |
build/styles/block-library/post-comments-count/style.css |
79 B |
build/styles/block-library/post-comments-count/style.min.css |
72 B |
build/styles/block-library/post-comments-form/editor-rtl.css |
104 B |
build/styles/block-library/post-comments-form/editor-rtl.min.css |
96 B |
build/styles/block-library/post-comments-form/editor.css |
104 B |
build/styles/block-library/post-comments-form/editor.min.css |
96 B |
build/styles/block-library/post-comments-form/style-rtl.css |
585 B |
build/styles/block-library/post-comments-form/style-rtl.min.css |
525 B |
build/styles/block-library/post-comments-form/style.css |
584 B |
build/styles/block-library/post-comments-form/style.min.css |
525 B |
build/styles/block-library/post-comments-link/style-rtl.css |
78 B |
build/styles/block-library/post-comments-link/style-rtl.min.css |
71 B |
build/styles/block-library/post-comments-link/style.css |
78 B |
build/styles/block-library/post-comments-link/style.min.css |
71 B |
build/styles/block-library/post-content/style-rtl.css |
68 B |
build/styles/block-library/post-content/style-rtl.min.css |
61 B |
build/styles/block-library/post-content/style.css |
68 B |
build/styles/block-library/post-content/style.min.css |
61 B |
build/styles/block-library/post-date/style-rtl.css |
69 B |
build/styles/block-library/post-date/style-rtl.min.css |
62 B |
build/styles/block-library/post-date/style.css |
69 B |
build/styles/block-library/post-date/style.min.css |
62 B |
build/styles/block-library/post-excerpt/editor-rtl.css |
78 B |
build/styles/block-library/post-excerpt/editor-rtl.min.css |
71 B |
build/styles/block-library/post-excerpt/editor.css |
78 B |
build/styles/block-library/post-excerpt/editor.min.css |
71 B |
build/styles/block-library/post-excerpt/style-rtl.css |
171 B |
build/styles/block-library/post-excerpt/style-rtl.min.css |
155 B |
build/styles/block-library/post-excerpt/style.css |
171 B |
build/styles/block-library/post-excerpt/style.min.css |
155 B |
build/styles/block-library/post-featured-image/editor-rtl.css |
1.14 kB |
build/styles/block-library/post-featured-image/editor-rtl.min.css |
719 B |
build/styles/block-library/post-featured-image/editor.css |
1.14 kB |
build/styles/block-library/post-featured-image/editor.min.css |
717 B |
build/styles/block-library/post-featured-image/style-rtl.css |
392 B |
build/styles/block-library/post-featured-image/style-rtl.min.css |
347 B |
build/styles/block-library/post-featured-image/style.css |
392 B |
build/styles/block-library/post-featured-image/style.min.css |
347 B |
build/styles/block-library/post-navigation-link/style-rtl.css |
234 B |
build/styles/block-library/post-navigation-link/style-rtl.min.css |
215 B |
build/styles/block-library/post-navigation-link/style.css |
245 B |
build/styles/block-library/post-navigation-link/style.min.css |
214 B |
build/styles/block-library/post-template/style-rtl.css |
1.25 kB |
build/styles/block-library/post-template/style-rtl.min.css |
414 B |
build/styles/block-library/post-template/style.css |
1.25 kB |
build/styles/block-library/post-template/style.min.css |
414 B |
build/styles/block-library/post-terms/style-rtl.css |
108 B |
build/styles/block-library/post-terms/style-rtl.min.css |
96 B |
build/styles/block-library/post-terms/style.css |
108 B |
build/styles/block-library/post-terms/style.min.css |
96 B |
build/styles/block-library/post-time-to-read/style-rtl.css |
77 B |
build/styles/block-library/post-time-to-read/style-rtl.min.css |
70 B |
build/styles/block-library/post-time-to-read/style.css |
77 B |
build/styles/block-library/post-time-to-read/style.min.css |
70 B |
build/styles/block-library/post-title/style-rtl.css |
175 B |
build/styles/block-library/post-title/style-rtl.min.css |
162 B |
build/styles/block-library/post-title/style.css |
175 B |
build/styles/block-library/post-title/style.min.css |
162 B |
build/styles/block-library/preformatted/style-rtl.css |
511 B |
build/styles/block-library/preformatted/style-rtl.min.css |
125 B |
build/styles/block-library/preformatted/style.css |
511 B |
build/styles/block-library/preformatted/style.min.css |
125 B |
build/styles/block-library/pullquote/editor-rtl.css |
146 B |
build/styles/block-library/pullquote/editor-rtl.min.css |
133 B |
build/styles/block-library/pullquote/editor.css |
146 B |
build/styles/block-library/pullquote/editor.min.css |
133 B |
build/styles/block-library/pullquote/style-rtl.css |
765 B |
build/styles/block-library/pullquote/style-rtl.min.css |
365 B |
build/styles/block-library/pullquote/style.css |
764 B |
build/styles/block-library/pullquote/style.min.css |
365 B |
build/styles/block-library/pullquote/theme-rtl.css |
195 B |
build/styles/block-library/pullquote/theme-rtl.min.css |
176 B |
build/styles/block-library/pullquote/theme.css |
195 B |
build/styles/block-library/pullquote/theme.min.css |
176 B |
build/styles/block-library/query-pagination-numbers/editor-rtl.css |
134 B |
build/styles/block-library/query-pagination-numbers/editor-rtl.min.css |
121 B |
build/styles/block-library/query-pagination-numbers/editor.css |
144 B |
build/styles/block-library/query-pagination-numbers/editor.min.css |
118 B |
build/styles/block-library/query-pagination/editor-rtl.css |
168 B |
build/styles/block-library/query-pagination/editor-rtl.min.css |
154 B |
build/styles/block-library/query-pagination/editor.css |
168 B |
build/styles/block-library/query-pagination/editor.min.css |
154 B |
build/styles/block-library/query-pagination/style-rtl.css |
254 B |
build/styles/block-library/query-pagination/style-rtl.min.css |
237 B |
build/styles/block-library/query-pagination/style.css |
265 B |
build/styles/block-library/query-pagination/style.min.css |
237 B |
build/styles/block-library/query-title/style-rtl.css |
71 B |
build/styles/block-library/query-title/style-rtl.min.css |
64 B |
build/styles/block-library/query-title/style.css |
71 B |
build/styles/block-library/query-title/style.min.css |
64 B |
build/styles/block-library/query-total/style-rtl.css |
71 B |
build/styles/block-library/query-total/style-rtl.min.css |
64 B |
build/styles/block-library/query-total/style.css |
71 B |
build/styles/block-library/query-total/style.min.css |
64 B |
build/styles/block-library/query/editor-rtl.css |
1.28 kB |
build/styles/block-library/query/editor-rtl.min.css |
438 B |
build/styles/block-library/query/editor.css |
1.28 kB |
build/styles/block-library/query/editor.min.css |
438 B |
build/styles/block-library/quote/style-rtl.css |
255 B |
build/styles/block-library/quote/style-rtl.min.css |
238 B |
build/styles/block-library/quote/style.css |
256 B |
build/styles/block-library/quote/style.min.css |
238 B |
build/styles/block-library/quote/theme-rtl.css |
253 B |
build/styles/block-library/quote/theme-rtl.min.css |
233 B |
build/styles/block-library/quote/theme.css |
254 B |
build/styles/block-library/quote/theme.min.css |
236 B |
build/styles/block-library/read-more/style-rtl.css |
146 B |
build/styles/block-library/read-more/style-rtl.min.css |
131 B |
build/styles/block-library/read-more/style.css |
146 B |
build/styles/block-library/read-more/style.min.css |
131 B |
build/styles/block-library/reset-rtl.css |
936 B |
build/styles/block-library/reset-rtl.min.css |
467 B |
build/styles/block-library/reset.css |
936 B |
build/styles/block-library/reset.min.css |
467 B |
build/styles/block-library/rss/editor-rtl.css |
144 B |
build/styles/block-library/rss/editor-rtl.min.css |
126 B |
build/styles/block-library/rss/editor.css |
144 B |
build/styles/block-library/rss/editor.min.css |
126 B |
build/styles/block-library/rss/style-rtl.css |
1.11 kB |
build/styles/block-library/rss/style-rtl.min.css |
284 B |
build/styles/block-library/rss/style.css |
1.12 kB |
build/styles/block-library/rss/style.min.css |
283 B |
build/styles/block-library/search/editor-rtl.css |
217 B |
build/styles/block-library/search/editor-rtl.min.css |
199 B |
build/styles/block-library/search/editor.css |
217 B |
build/styles/block-library/search/editor.min.css |
199 B |
build/styles/block-library/search/style-rtl.css |
1.1 kB |
build/styles/block-library/search/style-rtl.min.css |
665 B |
build/styles/block-library/search/style.css |
1.1 kB |
build/styles/block-library/search/style.min.css |
666 B |
build/styles/block-library/search/theme-rtl.css |
130 B |
build/styles/block-library/search/theme-rtl.min.css |
113 B |
build/styles/block-library/search/theme.css |
130 B |
build/styles/block-library/search/theme.min.css |
113 B |
build/styles/block-library/separator/editor-rtl.css |
106 B |
build/styles/block-library/separator/editor-rtl.min.css |
100 B |
build/styles/block-library/separator/editor.css |
106 B |
build/styles/block-library/separator/editor.min.css |
100 B |
build/styles/block-library/separator/style-rtl.css |
284 B |
build/styles/block-library/separator/style-rtl.min.css |
248 B |
build/styles/block-library/separator/style.css |
297 B |
build/styles/block-library/separator/style.min.css |
248 B |
build/styles/block-library/separator/theme-rtl.css |
226 B |
build/styles/block-library/separator/theme-rtl.min.css |
195 B |
build/styles/block-library/separator/theme.css |
226 B |
build/styles/block-library/separator/theme.min.css |
195 B |
build/styles/block-library/shortcode/editor-rtl.css |
1.1 kB |
build/styles/block-library/shortcode/editor-rtl.min.css |
286 B |
build/styles/block-library/shortcode/editor.css |
1.1 kB |
build/styles/block-library/shortcode/editor.min.css |
286 B |
build/styles/block-library/site-logo/editor-rtl.css |
1.12 kB |
build/styles/block-library/site-logo/editor-rtl.min.css |
696 B |
build/styles/block-library/site-logo/editor.css |
1.12 kB |
build/styles/block-library/site-logo/editor.min.css |
692 B |
build/styles/block-library/site-logo/style-rtl.css |
239 B |
build/styles/block-library/site-logo/style-rtl.min.css |
218 B |
build/styles/block-library/site-logo/style.css |
238 B |
build/styles/block-library/site-logo/style.min.css |
218 B |
build/styles/block-library/site-tagline/editor-rtl.css |
94 B |
build/styles/block-library/site-tagline/editor-rtl.min.css |
87 B |
build/styles/block-library/site-tagline/editor.css |
94 B |
build/styles/block-library/site-tagline/editor.min.css |
87 B |
build/styles/block-library/site-tagline/style-rtl.css |
72 B |
build/styles/block-library/site-tagline/style-rtl.min.css |
65 B |
build/styles/block-library/site-tagline/style.css |
72 B |
build/styles/block-library/site-tagline/style.min.css |
65 B |
build/styles/block-library/site-title/editor-rtl.css |
93 B |
build/styles/block-library/site-title/editor-rtl.min.css |
85 B |
build/styles/block-library/site-title/editor.css |
93 B |
build/styles/block-library/site-title/editor.min.css |
85 B |
build/styles/block-library/site-title/style-rtl.css |
153 B |
build/styles/block-library/site-title/style-rtl.min.css |
143 B |
build/styles/block-library/site-title/style.css |
153 B |
build/styles/block-library/site-title/style.min.css |
143 B |
build/styles/block-library/social-link/editor-rtl.css |
346 B |
build/styles/block-library/social-link/editor-rtl.min.css |
314 B |
build/styles/block-library/social-link/editor.css |
348 B |
build/styles/block-library/social-link/editor.min.css |
314 B |
build/styles/block-library/social-links/editor-rtl.css |
737 B |
build/styles/block-library/social-links/editor-rtl.min.css |
339 B |
build/styles/block-library/social-links/editor.css |
738 B |
build/styles/block-library/social-links/editor.min.css |
338 B |
build/styles/block-library/social-links/style-rtl.css |
1.57 kB |
build/styles/block-library/social-links/style-rtl.min.css |
1.51 kB |
build/styles/block-library/social-links/style.css |
1.57 kB |
build/styles/block-library/social-links/style.min.css |
1.51 kB |
build/styles/block-library/spacer/editor-rtl.css |
774 B |
build/styles/block-library/spacer/editor-rtl.min.css |
346 B |
build/styles/block-library/spacer/editor.css |
774 B |
build/styles/block-library/spacer/editor.min.css |
346 B |
build/styles/block-library/spacer/style-rtl.css |
55 B |
build/styles/block-library/spacer/style-rtl.min.css |
48 B |
build/styles/block-library/spacer/style.css |
55 B |
build/styles/block-library/spacer/style.min.css |
48 B |
build/styles/block-library/style-rtl.css |
20.5 kB |
build/styles/block-library/style-rtl.min.css |
17.1 kB |
build/styles/block-library/style.css |
20.6 kB |
build/styles/block-library/style.min.css |
17.1 kB |
build/styles/block-library/tab-panel/style-rtl.css |
75 B |
build/styles/block-library/tab-panel/style-rtl.min.css |
64 B |
build/styles/block-library/tab-panel/style.css |
75 B |
build/styles/block-library/tab-panel/style.min.css |
64 B |
build/styles/block-library/tab/style-rtl.css |
248 B |
build/styles/block-library/tab/style-rtl.min.css |
225 B |
build/styles/block-library/tab/style.css |
248 B |
build/styles/block-library/tab/style.min.css |
225 B |
build/styles/block-library/table-of-contents/style-rtl.css |
89 B |
build/styles/block-library/table-of-contents/style-rtl.min.css |
83 B |
build/styles/block-library/table-of-contents/style.css |
89 B |
build/styles/block-library/table-of-contents/style.min.css |
83 B |
build/styles/block-library/table/editor-rtl.css |
1.25 kB |
build/styles/block-library/table/editor-rtl.min.css |
394 B |
build/styles/block-library/table/editor.css |
1.25 kB |
build/styles/block-library/table/editor.min.css |
394 B |
build/styles/block-library/table/style-rtl.css |
1.06 kB |
build/styles/block-library/table/style-rtl.min.css |
641 B |
build/styles/block-library/table/style.css |
1.06 kB |
build/styles/block-library/table/style.min.css |
640 B |
build/styles/block-library/table/theme-rtl.css |
985 B |
build/styles/block-library/table/theme-rtl.min.css |
152 B |
build/styles/block-library/table/theme.css |
985 B |
build/styles/block-library/table/theme.min.css |
152 B |
build/styles/block-library/tabs-menu-item/editor-rtl.css |
254 B |
build/styles/block-library/tabs-menu-item/editor-rtl.min.css |
239 B |
build/styles/block-library/tabs-menu-item/editor.css |
254 B |
build/styles/block-library/tabs-menu-item/editor.min.css |
239 B |
build/styles/block-library/tabs-menu-item/style-rtl.css |
428 B |
build/styles/block-library/tabs-menu-item/style-rtl.min.css |
398 B |
build/styles/block-library/tabs-menu-item/style.css |
428 B |
build/styles/block-library/tabs-menu-item/style.min.css |
398 B |
build/styles/block-library/tabs-menu/editor-rtl.css |
102 B |
build/styles/block-library/tabs-menu/editor-rtl.min.css |
93 B |
build/styles/block-library/tabs-menu/editor.css |
102 B |
build/styles/block-library/tabs-menu/editor.min.css |
93 B |
build/styles/block-library/tabs-menu/style-rtl.css |
135 B |
build/styles/block-library/tabs-menu/style-rtl.min.css |
111 B |
build/styles/block-library/tabs-menu/style.css |
135 B |
build/styles/block-library/tabs-menu/style.min.css |
111 B |
build/styles/block-library/tabs/style-rtl.css |
95 B |
build/styles/block-library/tabs/style-rtl.min.css |
84 B |
build/styles/block-library/tabs/style.css |
95 B |
build/styles/block-library/tabs/style.min.css |
84 B |
build/styles/block-library/tag-cloud/style-rtl.css |
283 B |
build/styles/block-library/tag-cloud/style-rtl.min.css |
248 B |
build/styles/block-library/tag-cloud/style.css |
283 B |
build/styles/block-library/tag-cloud/style.min.css |
248 B |
build/styles/block-library/template-part/editor-rtl.css |
1.2 kB |
build/styles/block-library/template-part/editor-rtl.min.css |
368 B |
build/styles/block-library/template-part/editor.css |
1.2 kB |
build/styles/block-library/template-part/editor.min.css |
368 B |
build/styles/block-library/template-part/theme-rtl.css |
492 B |
build/styles/block-library/template-part/theme-rtl.min.css |
113 B |
build/styles/block-library/template-part/theme.css |
492 B |
build/styles/block-library/template-part/theme.min.css |
113 B |
build/styles/block-library/term-count/style-rtl.css |
70 B |
build/styles/block-library/term-count/style-rtl.min.css |
63 B |
build/styles/block-library/term-count/style.css |
70 B |
build/styles/block-library/term-count/style.min.css |
63 B |
build/styles/block-library/term-description/style-rtl.css |
138 B |
build/styles/block-library/term-description/style-rtl.min.css |
126 B |
build/styles/block-library/term-description/style.css |
138 B |
build/styles/block-library/term-description/style.min.css |
126 B |
build/styles/block-library/term-name/style-rtl.css |
69 B |
build/styles/block-library/term-name/style-rtl.min.css |
62 B |
build/styles/block-library/term-name/style.css |
69 B |
build/styles/block-library/term-name/style.min.css |
62 B |
build/styles/block-library/term-template/editor-rtl.css |
267 B |
build/styles/block-library/term-template/editor-rtl.min.css |
225 B |
build/styles/block-library/term-template/editor.css |
267 B |
build/styles/block-library/term-template/editor.min.css |
225 B |
build/styles/block-library/term-template/style-rtl.css |
124 B |
build/styles/block-library/term-template/style-rtl.min.css |
114 B |
build/styles/block-library/term-template/style.css |
124 B |
build/styles/block-library/term-template/style.min.css |
114 B |
build/styles/block-library/text-columns/editor-rtl.css |
481 B |
build/styles/block-library/text-columns/editor-rtl.min.css |
95 B |
build/styles/block-library/text-columns/editor.css |
481 B |
build/styles/block-library/text-columns/editor.min.css |
95 B |
build/styles/block-library/text-columns/style-rtl.css |
177 B |
build/styles/block-library/text-columns/style-rtl.min.css |
165 B |
build/styles/block-library/text-columns/style.css |
177 B |
build/styles/block-library/text-columns/style.min.css |
165 B |
build/styles/block-library/theme-rtl.css |
1.59 kB |
build/styles/block-library/theme-rtl.min.css |
715 B |
build/styles/block-library/theme.css |
1.6 kB |
build/styles/block-library/theme.min.css |
719 B |
build/styles/block-library/verse/style-rtl.css |
155 B |
build/styles/block-library/verse/style-rtl.min.css |
137 B |
build/styles/block-library/verse/style.css |
155 B |
build/styles/block-library/verse/style.min.css |
137 B |
build/styles/block-library/video/editor-rtl.css |
825 B |
build/styles/block-library/video/editor-rtl.min.css |
415 B |
build/styles/block-library/video/editor.css |
826 B |
build/styles/block-library/video/editor.min.css |
416 B |
build/styles/block-library/video/style-rtl.css |
1.02 kB |
build/styles/block-library/video/style-rtl.min.css |
202 B |
build/styles/block-library/video/style.css |
1.02 kB |
build/styles/block-library/video/style.min.css |
202 B |
build/styles/block-library/video/theme-rtl.css |
967 B |
build/styles/block-library/video/theme-rtl.min.css |
134 B |
build/styles/block-library/video/theme.css |
967 B |
build/styles/block-library/video/theme.min.css |
134 B |
build/styles/commands/style-rtl.css |
1.86 kB |
build/styles/commands/style-rtl.min.css |
1 kB |
build/styles/commands/style.css |
1.86 kB |
build/styles/commands/style.min.css |
1 kB |
build/styles/components/style-rtl.css |
16.9 kB |
build/styles/components/style-rtl.min.css |
13.7 kB |
build/styles/components/style.css |
17 kB |
build/styles/components/style.min.css |
13.8 kB |
build/styles/customize-widgets/style-rtl.css |
2.35 kB |
build/styles/customize-widgets/style-rtl.min.css |
1.44 kB |
build/styles/customize-widgets/style.css |
2.35 kB |
build/styles/customize-widgets/style.min.css |
1.44 kB |
build/styles/edit-post/classic-rtl.css |
1.29 kB |
build/styles/edit-post/classic-rtl.min.css |
426 B |
build/styles/edit-post/classic.css |
1.31 kB |
build/styles/edit-post/classic.min.css |
427 B |
build/styles/edit-post/style-rtl.css |
4.07 kB |
build/styles/edit-post/style-rtl.min.css |
2.63 kB |
build/styles/edit-post/style.css |
4.08 kB |
build/styles/edit-post/style.min.css |
2.63 kB |
build/styles/edit-site/style-rtl.css |
19.9 kB |
build/styles/edit-site/style-rtl.min.css |
16 kB |
build/styles/edit-site/style.css |
19.9 kB |
build/styles/edit-site/style.min.css |
16 kB |
build/styles/edit-widgets/style-rtl.css |
5.25 kB |
build/styles/edit-widgets/style-rtl.min.css |
3.85 kB |
build/styles/edit-widgets/style.css |
5.24 kB |
build/styles/edit-widgets/style.min.css |
3.85 kB |
build/styles/editor/style-rtl.css |
22.7 kB |
build/styles/editor/style-rtl.min.css |
19.3 kB |
build/styles/editor/style.css |
22.7 kB |
build/styles/editor/style.min.css |
19.2 kB |
build/styles/format-library/style-rtl.css |
735 B |
build/styles/format-library/style-rtl.min.css |
326 B |
build/styles/format-library/style.css |
746 B |
build/styles/format-library/style.min.css |
326 B |
build/styles/list-reusable-blocks/style-rtl.css |
1.07 kB |
build/styles/list-reusable-blocks/style-rtl.min.css |
250 B |
build/styles/list-reusable-blocks/style.css |
1.07 kB |
build/styles/list-reusable-blocks/style.min.css |
249 B |
build/styles/media-utils/style-rtl.css |
1.61 kB |
build/styles/media-utils/style-rtl.min.css |
745 B |
build/styles/media-utils/style.css |
1.61 kB |
build/styles/media-utils/style.min.css |
742 B |
build/styles/nux/style-rtl.css |
1.48 kB |
build/styles/nux/style-rtl.min.css |
622 B |
build/styles/nux/style.css |
1.5 kB |
build/styles/nux/style.min.css |
618 B |
build/styles/patterns/style-rtl.css |
1.46 kB |
build/styles/patterns/style-rtl.min.css |
611 B |
build/styles/patterns/style.css |
1.46 kB |
build/styles/patterns/style.min.css |
611 B |
build/styles/preferences/style-rtl.css |
1.26 kB |
build/styles/preferences/style-rtl.min.css |
415 B |
build/styles/preferences/style.css |
1.26 kB |
build/styles/preferences/style.min.css |
415 B |
build/styles/reusable-blocks/style-rtl.css |
1.11 kB |
build/styles/reusable-blocks/style-rtl.min.css |
275 B |
build/styles/reusable-blocks/style.css |
1.11 kB |
build/styles/reusable-blocks/style.min.css |
275 B |
build/styles/theme/style-rtl.css |
2.69 kB |
build/styles/theme/style-rtl.min.css |
1.39 kB |
build/styles/theme/style.css |
2.69 kB |
build/styles/theme/style.min.css |
1.39 kB |
build/styles/widgets/style-rtl.css |
2.04 kB |
build/styles/widgets/style-rtl.min.css |
1.15 kB |
build/styles/widgets/style.css |
2.04 kB |
build/styles/widgets/style.min.css |
1.15 kB |
| } ); | ||
|
|
||
| describe( 'Invalid date handling', () => { | ||
| it( 'should not emit invalid dates when year is cleared and blurred', async () => { |
There was a problem hiding this comment.
Is this test necessary? It seems 90% like a repetition of the test introduced in #75343.
If we want to keep both tests, let's ensure we remove the repetition, no need to test the same things multiple times.
| <TimePicker | ||
| currentTime="1986-10-18T11:00:00" | ||
| onChange={ onChangeSpy } | ||
| minYear={ 1 } |
There was a problem hiding this comment.
Why is this test relevant? minYear is 1 by default, so isn't this test the same as the one above?
| <TimePicker | ||
| currentTime="1986-10-18T11:00:00" | ||
| onChange={ onChangeSpy } | ||
| minYear={ 1 } |
There was a problem hiding this comment.
Do we need to specify minYear now that it's 1 by default?
| expect( lastCall[ 0 ] ).toMatch( /^0500-/ ); | ||
| } ); | ||
|
|
||
| it( 'should handle year 500 correctly', async () => { |
There was a problem hiding this comment.
What meaningful addition does this contribute in addition to the "should handle year 999 with zero-padded output" test?
| if ( | ||
| newDate instanceof Date && | ||
| ! Number.isFinite( newDate.getTime() ) | ||
| ) { | ||
| return; | ||
| } |
There was a problem hiding this comment.
Is this check necessary now? How can the user input an invalid date?
| } ); | ||
|
|
||
| test( 'should show the publishing date if the date is in the past', async ( { | ||
| test( 'should not allow scheduling to a past year', async ( { |
There was a problem hiding this comment.
Isn't it a valid use-case to want to back-date a post? Is it enough to limit this to a certain timespan in the past (e.g. last 10 years)
|
@getdave just a heads up that I reviewed this yesterday but GitHub was having a hiccup and was sending notifications with some delay (and actually missing some). Just making sure you've seen the review. I see Andrew has also reviewed it since. |


What?
Adds a
minYearprop toTimePickerandDateTimePicker, and adds an Invalid Date guard to preventonChangefrom emitting invalid dates when fields are cleared.Why?
Follows up on #75343 which fixed the core ISO 8601 year-padding bug.
With that fix in place, the
TimePickercan now safely support years below 1000. This PR:minYearprop so consumers can control the minimum allowed year. Defaults to1, enabling historical dates.minYear={ new Date().getFullYear() }.onChangeis no longer called with invalid values.How?
updateDate()wrapper aroundsetDate/onChangewith aNumber.isFinite()check to catch Invalid Date before propagation.minYearprop toTimePickerPropsandDateTimePickerProps(default:1), passed through to the year input'sminattribute.minYear={ new Date().getFullYear() }inPostScheduleto restrict scheduling to current/future years.Testing Instructions
Unit Tests
Manual: Invalid Date Guard
Manual: minYear in Post Scheduling