@wordpress/components 40.0.0 → 40.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +40 -0
- package/CONTRIBUTING.md +2 -0
- package/build/border-box-control/border-box-control/component.cjs +37 -5
- package/build/border-box-control/border-box-control/component.cjs.map +3 -3
- package/build/border-box-control/border-box-control/hook.cjs +24 -3
- package/build/border-box-control/border-box-control/hook.cjs.map +3 -3
- package/build/border-box-control/border-box-control-linked-button/hook.cjs +2 -2
- package/build/border-box-control/border-box-control-linked-button/hook.cjs.map +2 -2
- package/build/border-box-control/border-box-control-split-controls/hook.cjs +2 -2
- package/build/border-box-control/border-box-control-split-controls/hook.cjs.map +2 -2
- package/build/border-box-control/border-box-control-visualizer/hook.cjs +2 -2
- package/build/border-box-control/border-box-control-visualizer/hook.cjs.map +2 -2
- package/build/color-palette/index.cjs +1 -1
- package/build/color-palette/index.cjs.map +2 -2
- package/build/composite/context.cjs +9 -2
- package/build/composite/context.cjs.map +2 -2
- package/build/composite/group-label.cjs +4 -0
- package/build/composite/group-label.cjs.map +2 -2
- package/build/composite/group.cjs +10 -2
- package/build/composite/group.cjs.map +2 -2
- package/build/composite/item.cjs +4 -0
- package/build/composite/item.cjs.map +3 -3
- package/build/context/context-system-provider.cjs +2 -5
- package/build/context/context-system-provider.cjs.map +3 -3
- package/build/context/use-context-system.cjs +7 -2
- package/build/context/use-context-system.cjs.map +2 -2
- package/build/disabled/index.cjs +1 -1
- package/build/disabled/index.cjs.map +2 -2
- package/build/draggable/index.cjs.map +1 -1
- package/build/form-token-field/index.cjs +1 -1
- package/build/form-token-field/index.cjs.map +2 -2
- package/build/icon/index.cjs +30 -12
- package/build/icon/index.cjs.map +2 -2
- package/build/input-control/styles/input-control-styles.cjs +42 -27
- package/build/input-control/styles/input-control-styles.cjs.map +2 -2
- package/build/item-group/context.cjs +1 -0
- package/build/item-group/context.cjs.map +2 -2
- package/build/item-group/item/component.cjs +12 -0
- package/build/item-group/item/component.cjs.map +3 -3
- package/build/item-group/item/hook.cjs +7 -6
- package/build/item-group/item/hook.cjs.map +2 -2
- package/build/item-group/item-group/component.cjs +1 -0
- package/build/item-group/item-group/component.cjs.map +2 -2
- package/build/item-group/item-group/hook.cjs +1 -1
- package/build/item-group/item-group/hook.cjs.map +2 -2
- package/build/progress-bar/index.cjs +1 -1
- package/build/progress-bar/index.cjs.map +2 -2
- package/build/resizable-box/index.cjs.map +1 -1
- package/build/snackbar/index.cjs +8 -5
- package/build/snackbar/index.cjs.map +2 -2
- package/build/textarea-control/index.cjs +1 -1
- package/build/textarea-control/index.cjs.map +2 -2
- package/build/toggle-group-control/context.cjs +8 -2
- package/build/toggle-group-control/context.cjs.map +2 -2
- package/build/toggle-group-control/toggle-group-control/as-button-group.cjs +5 -2
- package/build/toggle-group-control/toggle-group-control/as-button-group.cjs.map +2 -2
- package/build/toggle-group-control/toggle-group-control/as-radio-group.cjs +5 -2
- package/build/toggle-group-control/toggle-group-control/as-radio-group.cjs.map +2 -2
- package/build/toggle-group-control/toggle-group-control/component.cjs +3 -1
- package/build/toggle-group-control/toggle-group-control/component.cjs.map +2 -2
- package/build/toggle-group-control/toggle-group-control-option/component.cjs +2 -0
- package/build/toggle-group-control/toggle-group-control-option/component.cjs.map +2 -2
- package/build/toggle-group-control/toggle-group-control-option-base/component.cjs +2 -1
- package/build/toggle-group-control/toggle-group-control-option-base/component.cjs.map +2 -2
- package/build/toggle-group-control/toggle-group-control-option-icon/component.cjs +2 -0
- package/build/toggle-group-control/toggle-group-control-option-icon/component.cjs.map +2 -2
- package/build/tools-panel/tools-panel/hook.cjs +102 -106
- package/build/tools-panel/tools-panel/hook.cjs.map +2 -2
- package/build/tools-panel/tools-panel-item/hook.cjs +33 -33
- package/build/tools-panel/tools-panel-item/hook.cjs.map +2 -2
- package/build/tree-grid/cell.cjs +4 -0
- package/build/tree-grid/cell.cjs.map +2 -2
- package/build/tree-grid/roving-tab-index-item.cjs +5 -1
- package/build/tree-grid/roving-tab-index-item.cjs.map +2 -2
- package/build/tree-grid/row.cjs +6 -1
- package/build/tree-grid/row.cjs.map +2 -2
- package/build/tree-grid/use-validate-tree-grid-structure.cjs +81 -0
- package/build/tree-grid/use-validate-tree-grid-structure.cjs.map +7 -0
- package/build/utils/colors-values.cjs +3 -2
- package/build/utils/colors-values.cjs.map +2 -2
- package/build-module/border-box-control/border-box-control/component.mjs +38 -6
- package/build-module/border-box-control/border-box-control/component.mjs.map +2 -2
- package/build-module/border-box-control/border-box-control/hook.mjs +14 -3
- package/build-module/border-box-control/border-box-control/hook.mjs.map +2 -2
- package/build-module/border-box-control/border-box-control-linked-button/hook.mjs +2 -2
- package/build-module/border-box-control/border-box-control-linked-button/hook.mjs.map +2 -2
- package/build-module/border-box-control/border-box-control-split-controls/hook.mjs +2 -2
- package/build-module/border-box-control/border-box-control-split-controls/hook.mjs.map +2 -2
- package/build-module/border-box-control/border-box-control-visualizer/hook.mjs +2 -2
- package/build-module/border-box-control/border-box-control-visualizer/hook.mjs.map +2 -2
- package/build-module/color-palette/index.mjs +1 -1
- package/build-module/color-palette/index.mjs.map +2 -2
- package/build-module/composite/context.mjs +6 -1
- package/build-module/composite/context.mjs.map +2 -2
- package/build-module/composite/group-label.mjs +5 -1
- package/build-module/composite/group-label.mjs.map +2 -2
- package/build-module/composite/group.mjs +11 -3
- package/build-module/composite/group.mjs.map +2 -2
- package/build-module/composite/item.mjs +4 -0
- package/build-module/composite/item.mjs.map +2 -2
- package/build-module/context/context-system-provider.mjs +2 -5
- package/build-module/context/context-system-provider.mjs.map +3 -3
- package/build-module/context/use-context-system.mjs +7 -2
- package/build-module/context/use-context-system.mjs.map +2 -2
- package/build-module/disabled/index.mjs +1 -1
- package/build-module/disabled/index.mjs.map +2 -2
- package/build-module/draggable/index.mjs.map +1 -1
- package/build-module/form-token-field/index.mjs +1 -1
- package/build-module/form-token-field/index.mjs.map +2 -2
- package/build-module/icon/index.mjs +30 -12
- package/build-module/icon/index.mjs.map +2 -2
- package/build-module/input-control/styles/input-control-styles.mjs +42 -27
- package/build-module/input-control/styles/input-control-styles.mjs.map +2 -2
- package/build-module/item-group/context.mjs +1 -0
- package/build-module/item-group/context.mjs.map +2 -2
- package/build-module/item-group/item/component.mjs +12 -0
- package/build-module/item-group/item/component.mjs.map +2 -2
- package/build-module/item-group/item/hook.mjs +7 -6
- package/build-module/item-group/item/hook.mjs.map +2 -2
- package/build-module/item-group/item-group/component.mjs +1 -0
- package/build-module/item-group/item-group/component.mjs.map +2 -2
- package/build-module/item-group/item-group/hook.mjs +1 -1
- package/build-module/item-group/item-group/hook.mjs.map +2 -2
- package/build-module/progress-bar/index.mjs +1 -1
- package/build-module/progress-bar/index.mjs.map +2 -2
- package/build-module/resizable-box/index.mjs.map +1 -1
- package/build-module/snackbar/index.mjs +8 -5
- package/build-module/snackbar/index.mjs.map +2 -2
- package/build-module/textarea-control/index.mjs +1 -1
- package/build-module/textarea-control/index.mjs.map +2 -2
- package/build-module/toggle-group-control/context.mjs +8 -2
- package/build-module/toggle-group-control/context.mjs.map +2 -2
- package/build-module/toggle-group-control/toggle-group-control/as-button-group.mjs +5 -2
- package/build-module/toggle-group-control/toggle-group-control/as-button-group.mjs.map +2 -2
- package/build-module/toggle-group-control/toggle-group-control/as-radio-group.mjs +5 -2
- package/build-module/toggle-group-control/toggle-group-control/as-radio-group.mjs.map +2 -2
- package/build-module/toggle-group-control/toggle-group-control/component.mjs +3 -1
- package/build-module/toggle-group-control/toggle-group-control/component.mjs.map +2 -2
- package/build-module/toggle-group-control/toggle-group-control-option/component.mjs +2 -0
- package/build-module/toggle-group-control/toggle-group-control-option/component.mjs.map +2 -2
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.mjs +2 -1
- package/build-module/toggle-group-control/toggle-group-control-option-base/component.mjs.map +2 -2
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.mjs +2 -0
- package/build-module/toggle-group-control/toggle-group-control-option-icon/component.mjs.map +2 -2
- package/build-module/tools-panel/tools-panel/hook.mjs +103 -107
- package/build-module/tools-panel/tools-panel/hook.mjs.map +2 -2
- package/build-module/tools-panel/tools-panel-item/hook.mjs +35 -35
- package/build-module/tools-panel/tools-panel-item/hook.mjs.map +2 -2
- package/build-module/tree-grid/cell.mjs +5 -1
- package/build-module/tree-grid/cell.mjs.map +2 -2
- package/build-module/tree-grid/roving-tab-index-item.mjs +5 -1
- package/build-module/tree-grid/roving-tab-index-item.mjs.map +2 -2
- package/build-module/tree-grid/row.mjs +7 -2
- package/build-module/tree-grid/row.mjs.map +2 -2
- package/build-module/tree-grid/use-validate-tree-grid-structure.mjs +56 -0
- package/build-module/tree-grid/use-validate-tree-grid-structure.mjs.map +7 -0
- package/build-module/utils/colors-values.mjs +3 -2
- package/build-module/utils/colors-values.mjs.map +2 -2
- package/build-style/style-rtl.css +27 -85
- package/build-style/style.css +27 -85
- package/build-types/border-box-control/border-box-control/component.d.ts +4 -0
- package/build-types/border-box-control/border-box-control/component.d.ts.map +1 -1
- package/build-types/border-box-control/border-box-control/hook.d.ts +4 -2
- package/build-types/border-box-control/border-box-control/hook.d.ts.map +1 -1
- package/build-types/border-box-control/types.d.ts +6 -2
- package/build-types/border-box-control/types.d.ts.map +1 -1
- package/build-types/composite/context.d.ts +2 -0
- package/build-types/composite/context.d.ts.map +1 -1
- package/build-types/composite/group-label.d.ts.map +1 -1
- package/build-types/composite/group.d.ts.map +1 -1
- package/build-types/composite/item.d.ts.map +1 -1
- package/build-types/composite/types.d.ts +1 -1
- package/build-types/context/context-system-provider.d.ts +8 -6
- package/build-types/context/context-system-provider.d.ts.map +1 -1
- package/build-types/context/use-context-system.d.ts.map +1 -1
- package/build-types/icon/index.d.ts.map +1 -1
- package/build-types/input-control/styles/input-control-styles.d.ts.map +1 -1
- package/build-types/item-group/context.d.ts.map +1 -1
- package/build-types/item-group/item/component.d.ts.map +1 -1
- package/build-types/item-group/item/hook.d.ts +1 -1
- package/build-types/item-group/item/hook.d.ts.map +1 -1
- package/build-types/item-group/item-group/component.d.ts.map +1 -1
- package/build-types/item-group/types.d.ts +4 -0
- package/build-types/item-group/types.d.ts.map +1 -1
- package/build-types/popover/types.d.ts +6 -2
- package/build-types/popover/types.d.ts.map +1 -1
- package/build-types/snackbar/index.d.ts.map +1 -1
- package/build-types/toggle-group-control/context.d.ts +2 -2
- package/build-types/toggle-group-control/context.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts +1 -1
- package/build-types/toggle-group-control/toggle-group-control/as-button-group.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts +1 -1
- package/build-types/toggle-group-control/toggle-group-control/as-radio-group.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts +2 -2
- package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-base/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts +2 -2
- package/build-types/toggle-group-control/toggle-group-control-option-icon/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/types.d.ts +12 -3
- package/build-types/toggle-group-control/types.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel/hook.d.ts +4 -4
- package/build-types/tools-panel/tools-panel/hook.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
- package/build-types/tools-panel/types.d.ts +52 -9
- package/build-types/tools-panel/types.d.ts.map +1 -1
- package/build-types/tree-grid/cell.d.ts.map +1 -1
- package/build-types/tree-grid/roving-tab-index-item.d.ts.map +1 -1
- package/build-types/tree-grid/row.d.ts.map +1 -1
- package/build-types/tree-grid/use-validate-tree-grid-structure.d.ts +2 -0
- package/build-types/tree-grid/use-validate-tree-grid-structure.d.ts.map +1 -0
- package/build-types/utils/colors-values.d.ts.map +1 -1
- package/emotion-to-scss-modules.md +149 -0
- package/package.json +28 -27
- package/src/alignment-matrix-control/test/{index.tsx → index.jsdom.test.tsx} +5 -4
- package/src/angle-picker-control/style.module.scss +1 -1
- package/src/autocomplete/test/get-autocomplete-match.ts +2 -1
- package/src/autocomplete/test/{index.tsx → index.jsdom.test.tsx} +2 -1
- package/src/badge/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/base-control/stories/index.story.tsx +2 -2
- package/src/base-control/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/border-box-control/border-box-control/README.md +5 -3
- package/src/border-box-control/border-box-control/component.tsx +83 -15
- package/src/border-box-control/border-box-control/hook.ts +19 -1
- package/src/border-box-control/stories/index.story.tsx +10 -0
- package/src/border-box-control/style.module.scss +34 -3
- package/src/border-box-control/test/{index.tsx → index.jsdom.test.tsx} +138 -2
- package/src/border-box-control/test/utils.ts +11 -0
- package/src/border-box-control/types.ts +6 -2
- package/src/border-control/test/{index.js → index.jsdom.test.tsx} +44 -24
- package/src/box-control/test/{index.tsx → index.jsdom.test.tsx} +6 -3
- package/src/button/style.scss +0 -6
- package/src/button/test/{index.tsx → index.jsdom.test.tsx} +6 -2
- package/src/checkbox-control/stories/index.story.tsx +1 -1
- package/src/checkbox-control/style.scss +2 -2
- package/src/checkbox-control/test/__snapshots__/{index.tsx.snap → index.jsdom.test.tsx.snap} +10 -7
- package/src/checkbox-control/test/{index.tsx → index.jsdom.test.tsx} +4 -1
- package/src/circular-option-picker/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/color-indicator/test/__snapshots__/{index.tsx.snap → index.jsdom.test.tsx.snap} +2 -2
- package/src/color-indicator/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/color-palette/index.tsx +1 -1
- package/src/color-palette/test/{index.tsx → index.jsdom.test.tsx} +25 -22
- package/src/color-palette/test/{utils.ts → utils.jsdom.test.ts} +1 -0
- package/src/combobox-control/test/{index.tsx → index.jsdom.test.tsx} +12 -7
- package/src/composite/README.md +1 -1
- package/src/composite/context.tsx +6 -0
- package/src/composite/group-label.tsx +8 -1
- package/src/composite/group.tsx +9 -2
- package/src/composite/item.tsx +6 -0
- package/src/composite/legacy/test/{index.tsx → index.jsdom.test.tsx} +6 -13
- package/src/composite/test/{index.tsx → index.jsdom.test.tsx} +60 -17
- package/src/composite/types.ts +1 -1
- package/src/confirm-dialog/test/{index.tsx → index.jsdom.test.tsx} +16 -14
- package/src/content-editable-control/test/{index.tsx → index.jsdom.test.tsx} +4 -3
- package/src/context/{context-system-provider.js → context-system-provider.tsx} +19 -5
- package/src/context/stories/{ComponentsProvider.stories.jsx → ComponentsProvider.stories.tsx} +2 -2
- package/src/context/test/context-connect.tsx +1 -2
- package/src/context/test/{context-system-provider.js → context-system-provider.jsdom.test.tsx} +93 -51
- package/src/context/test/wordpress-component.tsx +1 -2
- package/src/context/use-context-system.js +13 -4
- package/src/custom-gradient-picker/gradient-bar/test/{utils.ts → utils.jsdom.test.ts} +6 -5
- package/src/custom-gradient-picker/test/serializer.ts +1 -0
- package/src/custom-select-control-v2/test/{index.tsx → index.jsdom.test.tsx} +4 -1
- package/src/date-time/date-picker/test/{index.tsx → index.jsdom.test.tsx} +6 -3
- package/src/date-time/date-picker/test/{use-lilius.ts → use-lilius.jsdom.test.ts} +1 -0
- package/src/date-time/date-time/test/{index.tsx → index.jsdom.test.tsx} +20 -11
- package/src/date-time/test/utils.test.ts +9 -0
- package/src/date-time/time-picker/test/{index.tsx → index.jsdom.test.tsx} +37 -27
- package/src/date-time/time-picker/time-input/test/{index.tsx → index.jsdom.test.tsx} +8 -3
- package/src/disabled/index.tsx +7 -7
- package/src/disabled/test/{index.tsx → index.jsdom.test.tsx} +26 -0
- package/src/draggable/index.tsx +1 -1
- package/src/draggable/style.module.scss +1 -1
- package/src/dropdown/style.module.scss +2 -2
- package/src/dropdown/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/dropdown-menu/test/{index.tsx → index.jsdom.test.tsx} +5 -4
- package/src/duotone-picker/test/{custom-duotone-bar.tsx → custom-duotone-bar.jsdom.test.tsx} +11 -8
- package/src/duotone-picker/test/{index.tsx → index.jsdom.test.tsx} +11 -10
- package/src/external-link/test/{index.tsx → index.jsdom.test.tsx} +5 -4
- package/src/focal-point-picker/test/{index.tsx → index.jsdom.test.tsx} +12 -9
- package/src/focal-point-picker/test/{media.tsx → media.jsdom.test.tsx} +1 -0
- package/src/font-size-picker/test/{font-size-picker-select.tsx → font-size-picker-select.jsdom.test.tsx} +19 -16
- package/src/font-size-picker/test/{font-size-picker-toggle-group.tsx → font-size-picker-toggle-group.jsdom.test.tsx} +13 -11
- package/src/font-size-picker/test/{index.tsx → index.jsdom.test.tsx} +19 -14
- package/src/font-size-picker/test/utils.ts +1 -0
- package/src/form-toggle/style.scss +1 -1
- package/src/form-toggle/test/__snapshots__/{index.tsx.snap → index.jsdom.test.tsx.snap} +4 -4
- package/src/form-toggle/test/{index.tsx → index.jsdom.test.tsx} +2 -1
- package/src/form-token-field/index.tsx +1 -1
- package/src/form-token-field/test/{index.tsx → index.jsdom.test.tsx} +86 -44
- package/src/gradient-picker/test/{index.tsx → index.jsdom.test.tsx} +12 -9
- package/src/guide/test/{index.tsx → index.jsdom.test.tsx} +4 -2
- package/src/h-stack/test/__snapshots__/{index.tsx.snap → index.jsdom.test.tsx.snap} +4 -4
- package/src/h-stack/test/{index.tsx → index.jsdom.test.tsx} +3 -0
- package/src/higher-order/with-fallback-styles/test/{index.tsx → index.jsdom.test.tsx} +3 -2
- package/src/higher-order/with-filters/test/__snapshots__/index.jsdom.test.tsx.snap +87 -0
- package/src/higher-order/with-filters/test/{index.tsx → index.jsdom.test.tsx} +6 -5
- package/src/higher-order/with-focus-outside/test/{index.tsx → index.jsdom.test.tsx} +2 -1
- package/src/higher-order/with-focus-return/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/higher-order/with-notices/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/higher-order/with-spoken-messages/test/{index.tsx → index.jsdom.test.tsx} +3 -2
- package/src/icon/index.tsx +28 -12
- package/src/icon/test/{index.tsx → index.jsdom.test.tsx} +66 -0
- package/src/input-control/styles/input-control-styles.tsx +38 -7
- package/src/input-control/test/{index.js → index.jsdom.test.tsx} +16 -10
- package/src/isolated-event-container/test/{index.tsx → index.jsdom.test.tsx} +4 -3
- package/src/item-group/context.ts +1 -0
- package/src/item-group/item/component.tsx +19 -1
- package/src/item-group/item/hook.ts +2 -3
- package/src/item-group/item-group/component.tsx +1 -0
- package/src/item-group/style.module.scss +1 -2
- package/src/item-group/test/__snapshots__/{index.js.snap → index.jsdom.test.tsx.snap} +9 -9
- package/src/item-group/test/{index.js → index.jsdom.test.tsx} +99 -2
- package/src/item-group/types.ts +4 -0
- package/src/keyboard-shortcuts/test/{index.tsx → index.jsdom.test.tsx} +5 -4
- package/src/menu/test/{index.tsx → index.jsdom.test.tsx} +67 -23
- package/src/menu-group/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/menu-item/test/__snapshots__/{index.js.snap → index.jsdom.test.tsx.snap} +5 -5
- package/src/menu-item/test/{index.js → index.jsdom.test.tsx} +1 -0
- package/src/modal/test/{aria-helper.ts → aria-helper.jsdom.test.ts} +1 -0
- package/src/modal/test/{index.tsx → index.jsdom.test.tsx} +9 -5
- package/src/navigable-container/test/{navigable-menu.tsx → navigable-menu.jsdom.test.tsx} +7 -5
- package/src/navigable-container/test/{tababble-container.tsx → tababble-container.jsdom.test.tsx} +5 -3
- package/src/navigator/test/{index.tsx → index.jsdom.test.tsx} +5 -2
- package/src/navigator/test/router.ts +1 -0
- package/src/notice/test/__snapshots__/{index.tsx.snap → index.jsdom.test.tsx.snap} +7 -4
- package/src/notice/test/{index.tsx → index.jsdom.test.tsx} +8 -4
- package/src/notice/test/{list.tsx → list.jsdom.test.tsx} +1 -0
- package/src/number-control/test/{index.tsx → index.jsdom.test.tsx} +9 -6
- package/src/palette-edit/test/{index.tsx → index.jsdom.test.tsx} +16 -13
- package/src/panel/test/__snapshots__/body.jsdom.test.tsx.snap +9 -0
- package/src/panel/test/__snapshots__/header.jsdom.test.tsx.snap +9 -0
- package/src/panel/test/__snapshots__/index.jsdom.test.tsx.snap +17 -0
- package/src/panel/test/__snapshots__/row.jsdom.test.tsx.snap +17 -0
- package/src/panel/test/{body.tsx → body.jsdom.test.tsx} +2 -1
- package/src/panel/test/{header.tsx → header.jsdom.test.tsx} +1 -0
- package/src/panel/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/panel/test/{row.tsx → row.jsdom.test.tsx} +1 -0
- package/src/placeholder/style.scss +0 -5
- package/src/placeholder/test/{index.tsx → index.jsdom.test.tsx} +19 -14
- package/src/popover/README.md +2 -2
- package/src/popover/test/{index.tsx → index.jsdom.test.tsx} +23 -0
- package/src/popover/types.ts +9 -3
- package/src/progress-bar/style.module.scss +9 -1
- package/src/query-controls/test/terms.ts +1 -0
- package/src/radio-control/test/{index.tsx → index.jsdom.test.tsx} +14 -11
- package/src/range-control/test/{index.tsx → index.jsdom.test.tsx} +10 -7
- package/src/resizable-box/index.tsx +1 -1
- package/src/sandbox/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/scroll-lock/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/shortcut/test/__snapshots__/index.jsdom.test.tsx.snap +15 -0
- package/src/shortcut/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/slot-fill/test/{index.js → index.jsdom.test.tsx} +4 -3
- package/src/slot-fill/test/{slot.js → slot.jsdom.test.tsx} +17 -9
- package/src/snackbar/index.tsx +10 -6
- package/src/snackbar/test/{index.tsx → index.jsdom.test.tsx} +41 -11
- package/src/snackbar/test/list.jsdom.test.tsx +100 -0
- package/src/style-provider/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/surface/style.module.scss +2 -2
- package/src/surface/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/tab-panel/style.scss +4 -23
- package/src/tab-panel/test/{index.tsx → index.jsdom.test.tsx} +22 -21
- package/src/tabs/test/{index.tsx → index.jsdom.test.tsx} +21 -19
- package/src/text-control/test/{text-control.tsx → text-control.jsdom.test.tsx} +1 -0
- package/src/text-highlight/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/textarea-control/style.module.scss +9 -4
- package/src/tip/style.scss +1 -1
- package/src/toggle-control/test/{index.tsx → index.jsdom.test.tsx} +4 -1
- package/src/toggle-group-control/context.ts +14 -5
- package/src/toggle-group-control/stories/index.story.tsx +15 -2
- package/src/toggle-group-control/test/{index.tsx → index.jsdom.test.tsx} +283 -9
- package/src/toggle-group-control/toggle-group-control/README.md +8 -5
- package/src/toggle-group-control/toggle-group-control/as-button-group.tsx +4 -0
- package/src/toggle-group-control/toggle-group-control/as-radio-group.tsx +4 -0
- package/src/toggle-group-control/toggle-group-control/component.tsx +2 -0
- package/src/toggle-group-control/toggle-group-control/style.module.scss +8 -2
- package/src/toggle-group-control/toggle-group-control-option/README.md +8 -5
- package/src/toggle-group-control/toggle-group-control-option/component.tsx +2 -0
- package/src/toggle-group-control/toggle-group-control-option-base/component.tsx +4 -1
- package/src/toggle-group-control/toggle-group-control-option-icon/README.md +7 -0
- package/src/toggle-group-control/toggle-group-control-option-icon/component.tsx +2 -0
- package/src/toggle-group-control/types.ts +12 -3
- package/src/toolbar/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/toolbar/test/{toolbar-group.tsx → toolbar-group.jsdom.test.tsx} +2 -1
- package/src/tools-panel/test/{index.tsx → index.jsdom.test.tsx} +595 -47
- package/src/tools-panel/tools-panel/hook.ts +195 -180
- package/src/tools-panel/tools-panel-item/README.md +42 -1
- package/src/tools-panel/tools-panel-item/hook.ts +97 -69
- package/src/tools-panel/types.ts +54 -9
- package/src/tooltip/test/{index.tsx → index.jsdom.test.tsx} +5 -3
- package/src/tree-grid/cell.tsx +6 -2
- package/src/tree-grid/roving-tab-index-item.tsx +7 -3
- package/src/tree-grid/row.tsx +8 -2
- package/src/tree-grid/test/__snapshots__/{cell.tsx.snap → cell.jsdom.test.tsx.snap} +2 -2
- package/src/tree-grid/test/__snapshots__/index.jsdom.test.tsx.snap +3 -0
- package/src/tree-grid/test/__snapshots__/roving-tab-index-item.jsdom.test.tsx.snap +27 -0
- package/src/tree-grid/test/__snapshots__/roving-tab-index.jsdom.test.tsx.snap +9 -0
- package/src/tree-grid/test/__snapshots__/{row.tsx.snap → row.jsdom.test.tsx.snap} +9 -5
- package/src/tree-grid/test/cell.jsdom.test.tsx +149 -0
- package/src/tree-grid/test/{index.tsx → index.jsdom.test.tsx} +9 -7
- package/src/tree-grid/test/{roving-tab-index-item.tsx → roving-tab-index-item.jsdom.test.tsx} +4 -1
- package/src/tree-grid/test/{roving-tab-index.tsx → roving-tab-index.jsdom.test.tsx} +1 -0
- package/src/tree-grid/test/row.jsdom.test.tsx +132 -0
- package/src/tree-grid/use-validate-tree-grid-structure.ts +104 -0
- package/src/truncate/style.module.scss +0 -1
- package/src/truncate/test/{index.tsx → index.jsdom.test.tsx} +1 -0
- package/src/unit-control/test/{index.tsx → index.jsdom.test.tsx} +22 -19
- package/src/unit-control/test/utils.ts +1 -0
- package/src/utils/colors-values.js +5 -4
- package/src/utils/hooks/test/{use-controlled-state.js → use-controlled-state.jsdom.test.tsx} +22 -7
- package/src/utils/hooks/test/{use-controlled-value.js → use-controlled-value.jsdom.test.tsx} +6 -3
- package/src/utils/hooks/test/{use-cx.js → use-cx.jsdom.test.tsx} +8 -5
- package/src/utils/test/colors.js +1 -0
- package/src/utils/test/{get-node-text.js → get-node-text.tsx} +1 -0
- package/src/utils/test/math.js +1 -0
- package/src/utils/test/rtl.js +1 -0
- package/src/utils/test/space.js +1 -0
- package/src/utils/test/strings.js +1 -0
- package/src/utils/test/unit-values.js +1 -0
- package/src/v-stack/test/__snapshots__/{index.tsx.snap → index.jsdom.test.tsx.snap} +4 -4
- package/src/v-stack/test/{index.tsx → index.jsdom.test.tsx} +3 -0
- package/src/validated-form-controls/style.scss +11 -15
- package/src/validated-form-controls/test/{content-editable-control.tsx → content-editable-control.jsdom.test.tsx} +1 -1
- package/src/validated-form-controls/test/{custom-select-control.tsx → custom-select-control.jsdom.test.tsx} +3 -0
- package/src/validated-form-controls/test/{input-control.tsx → input-control.jsdom.test.tsx} +3 -0
- package/src/validated-form-controls/test/{range-control.tsx → range-control.jsdom.test.tsx} +3 -0
- package/src/validated-form-controls/test/{textarea-control.tsx → textarea-control.jsdom.test.tsx} +1 -0
- package/src/view/test/__snapshots__/{index.js.snap → index.jsdom.test.tsx.snap} +7 -7
- package/src/view/test/{index.js → index.jsdom.test.tsx} +7 -2
- package/src/context/test/__snapshots__/context-system-provider.js.snap +0 -35
- package/src/higher-order/with-filters/test/__snapshots__/index.tsx.snap +0 -87
- package/src/panel/test/__snapshots__/body.tsx.snap +0 -9
- package/src/panel/test/__snapshots__/header.tsx.snap +0 -9
- package/src/panel/test/__snapshots__/index.tsx.snap +0 -17
- package/src/panel/test/__snapshots__/row.tsx.snap +0 -17
- package/src/shortcut/test/__snapshots__/index.tsx.snap +0 -15
- package/src/snackbar/test/list.tsx +0 -39
- package/src/toggle-group-control/test/__snapshots__/index.tsx.snap +0 -359
- package/src/tree-grid/test/__snapshots__/index.tsx.snap +0 -3
- package/src/tree-grid/test/__snapshots__/roving-tab-index-item.tsx.snap +0 -27
- package/src/tree-grid/test/__snapshots__/roving-tab-index.tsx.snap +0 -9
- package/src/tree-grid/test/cell.tsx +0 -46
- package/src/tree-grid/test/row.tsx +0 -37
- /package/src/card/test/__snapshots__/{index.tsx.snap → index.jsdom.test.tsx.snap} +0 -0
- /package/src/card/test/{index.tsx → index.jsdom.test.tsx} +0 -0
- /package/src/color-picker/test/{index.tsx → index.jsdom.test.tsx} +0 -0
- /package/src/custom-gradient-picker/test/{index.tsx → index.jsdom.test.tsx} +0 -0
- /package/src/custom-select-control/test/__snapshots__/{index.tsx.snap → index.jsdom.test.tsx.snap} +0 -0
- /package/src/custom-select-control/test/{index.tsx → index.jsdom.test.tsx} +0 -0
- /package/src/divider/test/{index.tsx → index.jsdom.test.tsx} +0 -0
- /package/src/elevation/test/__snapshots__/{index.tsx.snap → index.jsdom.test.tsx.snap} +0 -0
- /package/src/elevation/test/{index.tsx → index.jsdom.test.tsx} +0 -0
- /package/src/flex/test/__snapshots__/{index.tsx.snap → index.jsdom.test.tsx.snap} +0 -0
- /package/src/flex/test/{index.tsx → index.jsdom.test.tsx} +0 -0
- /package/src/form-file-upload/test/{index.tsx → index.jsdom.test.tsx} +0 -0
- /package/src/grid/test/{grid.tsx → grid.jsdom.test.tsx} +0 -0
- /package/src/heading/test/__snapshots__/{index.tsx.snap → index.jsdom.test.tsx.snap} +0 -0
- /package/src/heading/test/{index.tsx → index.jsdom.test.tsx} +0 -0
- /package/src/input-control/test/__snapshots__/{index.js.snap → index.jsdom.test.tsx.snap} +0 -0
- /package/src/progress-bar/test/{index.tsx → index.jsdom.test.tsx} +0 -0
- /package/src/resizable-box/resize-tooltip/test/{index.tsx → index.jsdom.test.tsx} +0 -0
- /package/src/resizable-box/resize-tooltip/test/{label.tsx → label.jsdom.test.tsx} +0 -0
- /package/src/scrollable/test/{index.tsx → index.jsdom.test.tsx} +0 -0
- /package/src/search-control/test/{index.tsx → index.jsdom.test.tsx} +0 -0
- /package/src/select-control/test/__snapshots__/{select-control.tsx.snap → select-control.jsdom.test.tsx.snap} +0 -0
- /package/src/select-control/test/{select-control.tsx → select-control.jsdom.test.tsx} +0 -0
- /package/src/slot-fill/test/__snapshots__/{slot.js.snap → slot.jsdom.test.tsx.snap} +0 -0
- /package/src/spacer/test/__snapshots__/{index.tsx.snap → index.jsdom.test.tsx.snap} +0 -0
- /package/src/spacer/test/{index.tsx → index.jsdom.test.tsx} +0 -0
- /package/src/text/test/__snapshots__/{index.tsx.snap → index.jsdom.test.tsx.snap} +0 -0
- /package/src/text/test/{index.tsx → index.jsdom.test.tsx} +0 -0
- /package/src/utils/test/{polymorphic-element.tsx → polymorphic-element.jsdom.test.tsx} +0 -0
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
1
2
|
import { screen } from '@testing-library/react';
|
|
2
3
|
import userEvent from '@testing-library/user-event';
|
|
3
4
|
import { render } from '@ariakit/test/react';
|
|
4
5
|
import FontSizePickerSelect from '../font-size-picker-select';
|
|
5
6
|
import type { FontSize } from '../types';
|
|
6
7
|
|
|
8
|
+
globalThis.wpVitest.mockMatchMedia();
|
|
9
|
+
|
|
7
10
|
describe( 'FontSizePickerSelect', () => {
|
|
8
11
|
const fontSizes: FontSize[] = [
|
|
9
12
|
{
|
|
@@ -25,14 +28,14 @@ describe( 'FontSizePickerSelect', () => {
|
|
|
25
28
|
|
|
26
29
|
describe( 'valueMode prop', () => {
|
|
27
30
|
it( 'should find font size by size value when valueMode is literal', async () => {
|
|
28
|
-
const onChange =
|
|
31
|
+
const onChange = vi.fn();
|
|
29
32
|
await render(
|
|
30
33
|
<FontSizePickerSelect
|
|
31
34
|
fontSizes={ fontSizes }
|
|
32
35
|
value="16px"
|
|
33
36
|
valueMode="literal"
|
|
34
37
|
onChange={ onChange }
|
|
35
|
-
onSelectCustom={
|
|
38
|
+
onSelectCustom={ vi.fn() }
|
|
36
39
|
disableCustomFontSizes={ false }
|
|
37
40
|
/>
|
|
38
41
|
);
|
|
@@ -43,14 +46,14 @@ describe( 'FontSizePickerSelect', () => {
|
|
|
43
46
|
} );
|
|
44
47
|
|
|
45
48
|
it( 'should find font size by slug when valueMode is slug', async () => {
|
|
46
|
-
const onChange =
|
|
49
|
+
const onChange = vi.fn();
|
|
47
50
|
await render(
|
|
48
51
|
<FontSizePickerSelect
|
|
49
52
|
fontSizes={ fontSizes }
|
|
50
53
|
value="medium"
|
|
51
54
|
valueMode="slug"
|
|
52
55
|
onChange={ onChange }
|
|
53
|
-
onSelectCustom={
|
|
56
|
+
onSelectCustom={ vi.fn() }
|
|
54
57
|
disableCustomFontSizes={ false }
|
|
55
58
|
/>
|
|
56
59
|
);
|
|
@@ -61,14 +64,14 @@ describe( 'FontSizePickerSelect', () => {
|
|
|
61
64
|
} );
|
|
62
65
|
|
|
63
66
|
it( 'should handle undefined value', async () => {
|
|
64
|
-
const onChange =
|
|
67
|
+
const onChange = vi.fn();
|
|
65
68
|
await render(
|
|
66
69
|
<FontSizePickerSelect
|
|
67
70
|
fontSizes={ fontSizes }
|
|
68
71
|
value={ undefined }
|
|
69
72
|
valueMode="literal"
|
|
70
73
|
onChange={ onChange }
|
|
71
|
-
onSelectCustom={
|
|
74
|
+
onSelectCustom={ vi.fn() }
|
|
72
75
|
disableCustomFontSizes={ false }
|
|
73
76
|
/>
|
|
74
77
|
);
|
|
@@ -79,14 +82,14 @@ describe( 'FontSizePickerSelect', () => {
|
|
|
79
82
|
} );
|
|
80
83
|
|
|
81
84
|
it( 'should handle empty string value', async () => {
|
|
82
|
-
const onChange =
|
|
85
|
+
const onChange = vi.fn();
|
|
83
86
|
await render(
|
|
84
87
|
<FontSizePickerSelect
|
|
85
88
|
fontSizes={ fontSizes }
|
|
86
89
|
value=""
|
|
87
90
|
valueMode="literal"
|
|
88
91
|
onChange={ onChange }
|
|
89
|
-
onSelectCustom={
|
|
92
|
+
onSelectCustom={ vi.fn() }
|
|
90
93
|
disableCustomFontSizes={ false }
|
|
91
94
|
/>
|
|
92
95
|
);
|
|
@@ -100,12 +103,12 @@ describe( 'FontSizePickerSelect', () => {
|
|
|
100
103
|
describe( 'onChange callback', () => {
|
|
101
104
|
it( 'should call onChange with FontSize object as second parameter', async () => {
|
|
102
105
|
const user = userEvent.setup();
|
|
103
|
-
const onChange =
|
|
106
|
+
const onChange = vi.fn();
|
|
104
107
|
await render(
|
|
105
108
|
<FontSizePickerSelect
|
|
106
109
|
fontSizes={ fontSizes }
|
|
107
110
|
onChange={ onChange }
|
|
108
|
-
onSelectCustom={
|
|
111
|
+
onSelectCustom={ vi.fn() }
|
|
109
112
|
disableCustomFontSizes={ false }
|
|
110
113
|
/>
|
|
111
114
|
);
|
|
@@ -120,13 +123,13 @@ describe( 'FontSizePickerSelect', () => {
|
|
|
120
123
|
|
|
121
124
|
it( 'should call onChange with undefined as second parameter for default option', async () => {
|
|
122
125
|
const user = userEvent.setup();
|
|
123
|
-
const onChange =
|
|
126
|
+
const onChange = vi.fn();
|
|
124
127
|
await render(
|
|
125
128
|
<FontSizePickerSelect
|
|
126
129
|
fontSizes={ fontSizes }
|
|
127
130
|
value="16px" // Start with a selected value
|
|
128
131
|
onChange={ onChange }
|
|
129
|
-
onSelectCustom={
|
|
132
|
+
onSelectCustom={ vi.fn() }
|
|
130
133
|
disableCustomFontSizes={ false }
|
|
131
134
|
/>
|
|
132
135
|
);
|
|
@@ -160,14 +163,14 @@ describe( 'FontSizePickerSelect', () => {
|
|
|
160
163
|
];
|
|
161
164
|
|
|
162
165
|
it( 'should handle multiple font sizes with same value in literal mode', async () => {
|
|
163
|
-
const onChange =
|
|
166
|
+
const onChange = vi.fn();
|
|
164
167
|
await render(
|
|
165
168
|
<FontSizePickerSelect
|
|
166
169
|
fontSizes={ fontSizesWithDuplicates }
|
|
167
170
|
value="12px"
|
|
168
171
|
valueMode="literal"
|
|
169
172
|
onChange={ onChange }
|
|
170
|
-
onSelectCustom={
|
|
173
|
+
onSelectCustom={ vi.fn() }
|
|
171
174
|
disableCustomFontSizes={ false }
|
|
172
175
|
/>
|
|
173
176
|
);
|
|
@@ -178,14 +181,14 @@ describe( 'FontSizePickerSelect', () => {
|
|
|
178
181
|
} );
|
|
179
182
|
|
|
180
183
|
it( 'should handle multiple font sizes with same value in slug mode', async () => {
|
|
181
|
-
const onChange =
|
|
184
|
+
const onChange = vi.fn();
|
|
182
185
|
await render(
|
|
183
186
|
<FontSizePickerSelect
|
|
184
187
|
fontSizes={ fontSizesWithDuplicates }
|
|
185
188
|
value="small-1"
|
|
186
189
|
valueMode="slug"
|
|
187
190
|
onChange={ onChange }
|
|
188
|
-
onSelectCustom={
|
|
191
|
+
onSelectCustom={ vi.fn() }
|
|
189
192
|
disableCustomFontSizes={ false }
|
|
190
193
|
/>
|
|
191
194
|
);
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
1
2
|
import { screen } from '@testing-library/react';
|
|
2
3
|
import userEvent from '@testing-library/user-event';
|
|
3
4
|
import { render } from '@ariakit/test/react';
|
|
4
5
|
import FontSizePickerToggleGroup from '../font-size-picker-toggle-group';
|
|
5
6
|
import type { FontSize } from '../types';
|
|
7
|
+
globalThis.wpVitest.mockResizeObserver();
|
|
6
8
|
|
|
7
9
|
describe( 'FontSizePickerToggleGroup', () => {
|
|
8
10
|
const fontSizes: FontSize[] = [
|
|
@@ -25,7 +27,7 @@ describe( 'FontSizePickerToggleGroup', () => {
|
|
|
25
27
|
|
|
26
28
|
describe( 'valueMode prop', () => {
|
|
27
29
|
it( 'should find font size by size value when valueMode is literal', async () => {
|
|
28
|
-
const onChange =
|
|
30
|
+
const onChange = vi.fn();
|
|
29
31
|
await render(
|
|
30
32
|
<FontSizePickerToggleGroup
|
|
31
33
|
fontSizes={ fontSizes }
|
|
@@ -41,7 +43,7 @@ describe( 'FontSizePickerToggleGroup', () => {
|
|
|
41
43
|
} );
|
|
42
44
|
|
|
43
45
|
it( 'should find font size by slug when valueMode is slug', async () => {
|
|
44
|
-
const onChange =
|
|
46
|
+
const onChange = vi.fn();
|
|
45
47
|
await render(
|
|
46
48
|
<FontSizePickerToggleGroup
|
|
47
49
|
fontSizes={ fontSizes }
|
|
@@ -57,7 +59,7 @@ describe( 'FontSizePickerToggleGroup', () => {
|
|
|
57
59
|
} );
|
|
58
60
|
|
|
59
61
|
it( 'should handle undefined value', async () => {
|
|
60
|
-
const onChange =
|
|
62
|
+
const onChange = vi.fn();
|
|
61
63
|
await render(
|
|
62
64
|
<FontSizePickerToggleGroup
|
|
63
65
|
fontSizes={ fontSizes }
|
|
@@ -73,7 +75,7 @@ describe( 'FontSizePickerToggleGroup', () => {
|
|
|
73
75
|
} );
|
|
74
76
|
|
|
75
77
|
it( 'should handle empty string value', async () => {
|
|
76
|
-
const onChange =
|
|
78
|
+
const onChange = vi.fn();
|
|
77
79
|
await render(
|
|
78
80
|
<FontSizePickerToggleGroup
|
|
79
81
|
fontSizes={ fontSizes }
|
|
@@ -92,7 +94,7 @@ describe( 'FontSizePickerToggleGroup', () => {
|
|
|
92
94
|
describe( 'onChange callback', () => {
|
|
93
95
|
it( 'should call onChange with FontSize object as second parameter', async () => {
|
|
94
96
|
const user = userEvent.setup();
|
|
95
|
-
const onChange =
|
|
97
|
+
const onChange = vi.fn();
|
|
96
98
|
await render(
|
|
97
99
|
<FontSizePickerToggleGroup
|
|
98
100
|
fontSizes={ fontSizes }
|
|
@@ -105,7 +107,7 @@ describe( 'FontSizePickerToggleGroup', () => {
|
|
|
105
107
|
|
|
106
108
|
it( 'should call onChange with FontSize object when selecting a different option', async () => {
|
|
107
109
|
const user = userEvent.setup();
|
|
108
|
-
const onChange =
|
|
110
|
+
const onChange = vi.fn();
|
|
109
111
|
await render(
|
|
110
112
|
<FontSizePickerToggleGroup
|
|
111
113
|
fontSizes={ fontSizes }
|
|
@@ -139,7 +141,7 @@ describe( 'FontSizePickerToggleGroup', () => {
|
|
|
139
141
|
];
|
|
140
142
|
|
|
141
143
|
it( 'should handle multiple font sizes with same value in literal mode', async () => {
|
|
142
|
-
const onChange =
|
|
144
|
+
const onChange = vi.fn();
|
|
143
145
|
await render(
|
|
144
146
|
<FontSizePickerToggleGroup
|
|
145
147
|
fontSizes={ fontSizesWithDuplicates }
|
|
@@ -155,7 +157,7 @@ describe( 'FontSizePickerToggleGroup', () => {
|
|
|
155
157
|
} );
|
|
156
158
|
|
|
157
159
|
it( 'should handle multiple font sizes with same value in slug mode', async () => {
|
|
158
|
-
const onChange =
|
|
160
|
+
const onChange = vi.fn();
|
|
159
161
|
await render(
|
|
160
162
|
<FontSizePickerToggleGroup
|
|
161
163
|
fontSizes={ fontSizesWithDuplicates }
|
|
@@ -196,7 +198,7 @@ describe( 'FontSizePickerToggleGroup', () => {
|
|
|
196
198
|
];
|
|
197
199
|
|
|
198
200
|
it( 'should handle different units in literal mode', async () => {
|
|
199
|
-
const onChange =
|
|
201
|
+
const onChange = vi.fn();
|
|
200
202
|
await render(
|
|
201
203
|
<FontSizePickerToggleGroup
|
|
202
204
|
fontSizes={ heterogeneousFontSizes }
|
|
@@ -212,7 +214,7 @@ describe( 'FontSizePickerToggleGroup', () => {
|
|
|
212
214
|
} );
|
|
213
215
|
|
|
214
216
|
it( 'should handle complex font size values in literal mode', async () => {
|
|
215
|
-
const onChange =
|
|
217
|
+
const onChange = vi.fn();
|
|
216
218
|
await render(
|
|
217
219
|
<FontSizePickerToggleGroup
|
|
218
220
|
fontSizes={ heterogeneousFontSizes }
|
|
@@ -228,7 +230,7 @@ describe( 'FontSizePickerToggleGroup', () => {
|
|
|
228
230
|
} );
|
|
229
231
|
|
|
230
232
|
it( 'should handle different units in slug mode', async () => {
|
|
231
|
-
const onChange =
|
|
233
|
+
const onChange = vi.fn();
|
|
232
234
|
await render(
|
|
233
235
|
<FontSizePickerToggleGroup
|
|
234
236
|
fontSizes={ heterogeneousFontSizes }
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { describe, expect, it, test, vi } from 'vitest';
|
|
1
2
|
import { screen, fireEvent } from '@testing-library/react';
|
|
2
3
|
import userEvent from '@testing-library/user-event';
|
|
3
4
|
import { render } from '@ariakit/test/react';
|
|
@@ -5,6 +6,10 @@ import { useState } from '@wordpress/element';
|
|
|
5
6
|
import FontSizePicker from '../';
|
|
6
7
|
import type { FontSize } from '../types';
|
|
7
8
|
|
|
9
|
+
globalThis.wpVitest.mockMatchMedia();
|
|
10
|
+
|
|
11
|
+
globalThis.wpVitest.mockResizeObserver();
|
|
12
|
+
|
|
8
13
|
const ControlledFontSizePicker = ( {
|
|
9
14
|
onChange,
|
|
10
15
|
...props
|
|
@@ -34,7 +39,7 @@ describe( 'FontSizePicker', () => {
|
|
|
34
39
|
'should call onChange( $expectedValue ) after user types 80 when value is $value',
|
|
35
40
|
async ( { value, expectedValue } ) => {
|
|
36
41
|
const user = userEvent.setup();
|
|
37
|
-
const onChange =
|
|
42
|
+
const onChange = vi.fn();
|
|
38
43
|
await render(
|
|
39
44
|
<FontSizePicker value={ value } onChange={ onChange } />
|
|
40
45
|
);
|
|
@@ -57,7 +62,7 @@ describe( 'FontSizePicker', () => {
|
|
|
57
62
|
'should call onChange( $expectedValue ) after user types 80 when first font size is $firstFontSize',
|
|
58
63
|
async ( { firstFontSize, expectedValue } ) => {
|
|
59
64
|
const user = userEvent.setup();
|
|
60
|
-
const onChange =
|
|
65
|
+
const onChange = vi.fn();
|
|
61
66
|
await render(
|
|
62
67
|
<FontSizePicker
|
|
63
68
|
fontSizes={ [ { slug: 'slug', size: firstFontSize } ] }
|
|
@@ -142,7 +147,7 @@ describe( 'FontSizePicker', () => {
|
|
|
142
147
|
'calls onChange( $expectedArguments ) when $option is selected',
|
|
143
148
|
async ( { option, value, expectedArguments } ) => {
|
|
144
149
|
const user = userEvent.setup();
|
|
145
|
-
const onChange =
|
|
150
|
+
const onChange = vi.fn();
|
|
146
151
|
await render(
|
|
147
152
|
<FontSizePicker
|
|
148
153
|
fontSizes={ fontSizes }
|
|
@@ -264,7 +269,7 @@ describe( 'FontSizePicker', () => {
|
|
|
264
269
|
'calls onChange( $expectedValue ) when $option is selected',
|
|
265
270
|
async ( { option, value, expectedArguments } ) => {
|
|
266
271
|
const user = userEvent.setup();
|
|
267
|
-
const onChange =
|
|
272
|
+
const onChange = vi.fn();
|
|
268
273
|
await render(
|
|
269
274
|
<FontSizePicker
|
|
270
275
|
fontSizes={ fontSizes }
|
|
@@ -333,7 +338,7 @@ describe( 'FontSizePicker', () => {
|
|
|
333
338
|
|
|
334
339
|
it( 'calls onChange when a font size is selected', async () => {
|
|
335
340
|
const user = userEvent.setup();
|
|
336
|
-
const onChange =
|
|
341
|
+
const onChange = vi.fn();
|
|
337
342
|
await render(
|
|
338
343
|
<FontSizePicker fontSizes={ fontSizes } onChange={ onChange } />
|
|
339
344
|
);
|
|
@@ -491,7 +496,7 @@ describe( 'FontSizePicker', () => {
|
|
|
491
496
|
'calls onChange( $expectedArguments ) when $radio is selected',
|
|
492
497
|
async ( { radio, expectedArguments } ) => {
|
|
493
498
|
const user = userEvent.setup();
|
|
494
|
-
const onChange =
|
|
499
|
+
const onChange = vi.fn();
|
|
495
500
|
await render(
|
|
496
501
|
<FontSizePicker
|
|
497
502
|
fontSizes={ fontSizes }
|
|
@@ -646,7 +651,7 @@ describe( 'FontSizePicker', () => {
|
|
|
646
651
|
|
|
647
652
|
it( 'allows custom values by default', async () => {
|
|
648
653
|
const user = userEvent.setup();
|
|
649
|
-
const onChange =
|
|
654
|
+
const onChange = vi.fn();
|
|
650
655
|
await render(
|
|
651
656
|
<FontSizePicker fontSizes={ fontSizes } onChange={ onChange } />
|
|
652
657
|
);
|
|
@@ -711,7 +716,7 @@ describe( 'FontSizePicker', () => {
|
|
|
711
716
|
|
|
712
717
|
it( 'allows a slider to be used when withSlider is set', async () => {
|
|
713
718
|
const user = userEvent.setup();
|
|
714
|
-
const onChange =
|
|
719
|
+
const onChange = vi.fn();
|
|
715
720
|
await render(
|
|
716
721
|
<FontSizePicker
|
|
717
722
|
fontSizes={ fontSizes }
|
|
@@ -734,7 +739,7 @@ describe( 'FontSizePicker', () => {
|
|
|
734
739
|
|
|
735
740
|
it( 'allows reset by default', async () => {
|
|
736
741
|
const user = userEvent.setup();
|
|
737
|
-
const onChange =
|
|
742
|
+
const onChange = vi.fn();
|
|
738
743
|
await render(
|
|
739
744
|
<FontSizePicker
|
|
740
745
|
fontSizes={ fontSizes }
|
|
@@ -842,7 +847,7 @@ describe( 'FontSizePicker', () => {
|
|
|
842
847
|
|
|
843
848
|
it( 'should call onChange with size value and FontSize object when valueMode is literal', async () => {
|
|
844
849
|
const user = userEvent.setup();
|
|
845
|
-
const onChange =
|
|
850
|
+
const onChange = vi.fn();
|
|
846
851
|
await render(
|
|
847
852
|
<FontSizePicker
|
|
848
853
|
fontSizes={ fontSizes }
|
|
@@ -880,7 +885,7 @@ describe( 'FontSizePicker', () => {
|
|
|
880
885
|
|
|
881
886
|
it( 'should call onChange with size value and FontSize object when valueMode is slug', async () => {
|
|
882
887
|
const user = userEvent.setup();
|
|
883
|
-
const onChange =
|
|
888
|
+
const onChange = vi.fn();
|
|
884
889
|
await render(
|
|
885
890
|
<FontSizePicker
|
|
886
891
|
fontSizes={ fontSizes }
|
|
@@ -1031,7 +1036,7 @@ describe( 'FontSizePicker', () => {
|
|
|
1031
1036
|
|
|
1032
1037
|
it( 'should call onChange with FontSize object as second parameter for select control', async () => {
|
|
1033
1038
|
const user = userEvent.setup();
|
|
1034
|
-
const onChange =
|
|
1039
|
+
const onChange = vi.fn();
|
|
1035
1040
|
await render(
|
|
1036
1041
|
<FontSizePicker fontSizes={ fontSizes } onChange={ onChange } />
|
|
1037
1042
|
);
|
|
@@ -1046,7 +1051,7 @@ describe( 'FontSizePicker', () => {
|
|
|
1046
1051
|
|
|
1047
1052
|
it( 'should call onChange with undefined as second parameter for default option', async () => {
|
|
1048
1053
|
const user = userEvent.setup();
|
|
1049
|
-
const onChange =
|
|
1054
|
+
const onChange = vi.fn();
|
|
1050
1055
|
await render(
|
|
1051
1056
|
<FontSizePicker
|
|
1052
1057
|
fontSizes={ fontSizes }
|
|
@@ -1065,7 +1070,7 @@ describe( 'FontSizePicker', () => {
|
|
|
1065
1070
|
|
|
1066
1071
|
it( 'should call onChange with FontSize object as second parameter for toggle group control', async () => {
|
|
1067
1072
|
const user = userEvent.setup();
|
|
1068
|
-
const onChange =
|
|
1073
|
+
const onChange = vi.fn();
|
|
1069
1074
|
// Use fewer font sizes to trigger toggle group (≤ 5)
|
|
1070
1075
|
const toggleGroupFontSizes = [
|
|
1071
1076
|
{
|
|
@@ -103,7 +103,7 @@ $transition-duration: 0.2s;
|
|
|
103
103
|
|
|
104
104
|
// Disabled state:
|
|
105
105
|
&.is-disabled,
|
|
106
|
-
|
|
106
|
+
[inert] & {
|
|
107
107
|
.components-form-toggle__track {
|
|
108
108
|
background-color: $components-color-gray-100;
|
|
109
109
|
border-color: var(--wpds-color-stroke-interactive-neutral-disabled);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
//
|
|
1
|
+
// Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html
|
|
2
2
|
|
|
3
|
-
exports[`FormToggle basic rendering should render a span element with an unchecked checkbox 1`] = `
|
|
3
|
+
exports[`FormToggle > basic rendering > should render a span element with an unchecked checkbox 1`] = `
|
|
4
4
|
<div>
|
|
5
5
|
<span
|
|
6
6
|
class="components-form-toggle"
|
|
@@ -19,7 +19,7 @@ exports[`FormToggle basic rendering should render a span element with an uncheck
|
|
|
19
19
|
</div>
|
|
20
20
|
`;
|
|
21
21
|
|
|
22
|
-
exports[`FormToggle basic rendering should render an id prop for the input checkbox 1`] = `
|
|
22
|
+
exports[`FormToggle > basic rendering > should render an id prop for the input checkbox 1`] = `
|
|
23
23
|
Snapshot Diff:
|
|
24
24
|
- First value
|
|
25
25
|
+ Second value
|
|
@@ -38,7 +38,7 @@ Snapshot Diff:
|
|
|
38
38
|
/>
|
|
39
39
|
`;
|
|
40
40
|
|
|
41
|
-
exports[`FormToggle basic rendering should render with an additional className 1`] = `
|
|
41
|
+
exports[`FormToggle > basic rendering > should render with an additional className 1`] = `
|
|
42
42
|
Snapshot Diff:
|
|
43
43
|
- First value
|
|
44
44
|
+ Second value
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
1
2
|
import { render, screen } from '@testing-library/react';
|
|
2
3
|
import userEvent from '@testing-library/user-event';
|
|
3
4
|
import { useState } from '@wordpress/element';
|
|
@@ -70,7 +71,7 @@ describe( 'FormToggle', () => {
|
|
|
70
71
|
it( 'should flip the checked property when clicked', async () => {
|
|
71
72
|
const user = userEvent.setup();
|
|
72
73
|
|
|
73
|
-
const onChange =
|
|
74
|
+
const onChange = vi.fn();
|
|
74
75
|
render( <ControlledFormToggle onChange={ onChange } /> );
|
|
75
76
|
|
|
76
77
|
const input = getInput();
|
|
@@ -399,7 +399,7 @@ export function FormTokenField( props: FormTokenFieldProps ) {
|
|
|
399
399
|
function handleUpArrowKey() {
|
|
400
400
|
setSelectedSuggestionIndex( ( index ) => {
|
|
401
401
|
return (
|
|
402
|
-
( index
|
|
402
|
+
( index <= 0
|
|
403
403
|
? getMatchingSuggestions(
|
|
404
404
|
incompleteTokenValue,
|
|
405
405
|
suggestions,
|