@wordpress/components 25.12.0 → 25.13.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 +28 -0
- package/build/angle-picker-control/index.js +0 -1
- package/build/angle-picker-control/index.js.map +1 -1
- package/build/custom-select-control-v2/index.js +87 -0
- package/build/custom-select-control-v2/index.js.map +1 -0
- package/build/custom-select-control-v2/styles.js +85 -0
- package/build/custom-select-control-v2/styles.js.map +1 -0
- package/build/custom-select-control-v2/types.js +6 -0
- package/build/custom-select-control-v2/types.js.map +1 -0
- package/build/dropdown-menu-v2-ariakit/index.js +49 -20
- package/build/dropdown-menu-v2-ariakit/index.js.map +1 -1
- package/build/dropdown-menu-v2-ariakit/styles.js +82 -59
- package/build/dropdown-menu-v2-ariakit/styles.js.map +1 -1
- package/build/dropdown-menu-v2-ariakit/types.js.map +1 -1
- package/build/form-token-field/index.js +6 -2
- package/build/form-token-field/index.js.map +1 -1
- package/build/form-token-field/token-input.js.map +1 -1
- package/build/form-token-field/types.js.map +1 -1
- package/build/heading/hook.js +6 -3
- package/build/heading/hook.js.map +1 -1
- package/build/heading/types.js.map +1 -1
- package/build/mobile/utils/alignments.native.js +1 -1
- package/build/mobile/utils/alignments.native.js.map +1 -1
- package/build/private-apis.js +3 -2
- package/build/private-apis.js.map +1 -1
- package/build/slot-fill/types.js.map +1 -1
- package/build/tabs/index.js +6 -4
- package/build/tabs/index.js.map +1 -1
- package/build/tabs/tab.js +2 -2
- package/build/tabs/tab.js.map +1 -1
- package/build/tabs/tabpanel.js +1 -1
- package/build/tabs/tabpanel.js.map +1 -1
- package/build/text/types.js.map +1 -1
- package/build/tools-panel/tools-panel-item/hook.js +5 -1
- package/build/tools-panel/tools-panel-item/hook.js.map +1 -1
- package/build-module/angle-picker-control/index.js +0 -1
- package/build-module/angle-picker-control/index.js.map +1 -1
- package/build-module/custom-select-control-v2/index.js +74 -0
- package/build-module/custom-select-control-v2/index.js.map +1 -0
- package/build-module/custom-select-control-v2/styles.js +71 -0
- package/build-module/custom-select-control-v2/styles.js.map +1 -0
- package/build-module/custom-select-control-v2/types.js +2 -0
- package/build-module/custom-select-control-v2/types.js.map +1 -0
- package/build-module/dropdown-menu-v2-ariakit/index.js +46 -18
- package/build-module/dropdown-menu-v2-ariakit/index.js.map +1 -1
- package/build-module/dropdown-menu-v2-ariakit/styles.js +69 -40
- package/build-module/dropdown-menu-v2-ariakit/styles.js.map +1 -1
- package/build-module/dropdown-menu-v2-ariakit/types.js.map +1 -1
- package/build-module/form-token-field/index.js +6 -2
- package/build-module/form-token-field/index.js.map +1 -1
- package/build-module/form-token-field/token-input.js.map +1 -1
- package/build-module/form-token-field/types.js.map +1 -1
- package/build-module/heading/hook.js +6 -3
- package/build-module/heading/hook.js.map +1 -1
- package/build-module/heading/types.js.map +1 -1
- package/build-module/mobile/utils/alignments.native.js +1 -1
- package/build-module/mobile/utils/alignments.native.js.map +1 -1
- package/build-module/private-apis.js +4 -3
- package/build-module/private-apis.js.map +1 -1
- package/build-module/slot-fill/types.js.map +1 -1
- package/build-module/tabs/index.js +7 -5
- package/build-module/tabs/index.js.map +1 -1
- package/build-module/tabs/tab.js +4 -4
- package/build-module/tabs/tab.js.map +1 -1
- package/build-module/tabs/tabpanel.js +3 -3
- package/build-module/tabs/tabpanel.js.map +1 -1
- package/build-module/text/types.js.map +1 -1
- package/build-module/tools-panel/tools-panel-item/hook.js +6 -2
- package/build-module/tools-panel/tools-panel-item/hook.js.map +1 -1
- package/build-style/style-rtl.css +31 -5
- package/build-style/style.css +31 -5
- package/build-types/angle-picker-control/index.d.ts.map +1 -1
- package/build-types/box-control/stories/index.story.d.ts +1944 -0
- package/build-types/box-control/stories/index.story.d.ts.map +1 -0
- package/build-types/color-palette/styles.d.ts +4 -1
- package/build-types/color-palette/styles.d.ts.map +1 -1
- package/build-types/custom-select-control-v2/index.d.ts +6 -0
- package/build-types/custom-select-control-v2/index.d.ts.map +1 -0
- package/build-types/custom-select-control-v2/stories/index.story.d.ts +19 -0
- package/build-types/custom-select-control-v2/stories/index.story.d.ts.map +1 -0
- package/build-types/custom-select-control-v2/styles.d.ts +47 -0
- package/build-types/custom-select-control-v2/styles.d.ts.map +1 -0
- package/build-types/custom-select-control-v2/types.d.ts +57 -0
- package/build-types/custom-select-control-v2/types.d.ts.map +1 -0
- package/build-types/date-time/date/styles.d.ts +4 -1
- package/build-types/date-time/date/styles.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2-ariakit/index.d.ts +11 -2
- package/build-types/dropdown-menu-v2-ariakit/index.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2-ariakit/stories/index.story.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2-ariakit/styles.d.ts +26 -18
- package/build-types/dropdown-menu-v2-ariakit/styles.d.ts.map +1 -1
- package/build-types/dropdown-menu-v2-ariakit/types.d.ts +0 -6
- package/build-types/dropdown-menu-v2-ariakit/types.d.ts.map +1 -1
- package/build-types/form-token-field/index.d.ts.map +1 -1
- package/build-types/form-token-field/token-input.d.ts.map +1 -1
- package/build-types/form-token-field/types.d.ts +1 -1
- package/build-types/form-token-field/types.d.ts.map +1 -1
- package/build-types/heading/component.d.ts +4 -1
- package/build-types/heading/component.d.ts.map +1 -1
- package/build-types/heading/hook.d.ts.map +1 -1
- package/build-types/heading/types.d.ts +20 -1
- package/build-types/heading/types.d.ts.map +1 -1
- package/build-types/navigation/styles/navigation-styles.d.ts +4 -1
- package/build-types/navigation/styles/navigation-styles.d.ts.map +1 -1
- package/build-types/palette-edit/styles.d.ts +4 -1
- package/build-types/palette-edit/styles.d.ts.map +1 -1
- package/build-types/private-apis.d.ts.map +1 -1
- package/build-types/slot-fill/bubbles-virtually/slot.d.ts +1 -1
- package/build-types/slot-fill/types.d.ts +16 -6
- package/build-types/slot-fill/types.d.ts.map +1 -1
- package/build-types/tabs/index.d.ts +1 -0
- package/build-types/tabs/index.d.ts.map +1 -1
- package/build-types/tabs/stories/index.story.d.ts.map +1 -1
- package/build-types/text/types.d.ts +15 -2
- package/build-types/text/types.d.ts.map +1 -1
- package/build-types/tools-panel/tools-panel-item/hook.d.ts.map +1 -1
- package/package.json +19 -19
- package/src/angle-picker-control/index.tsx +0 -1
- package/src/box-control/stories/index.story.tsx +82 -0
- package/src/button/style.scss +10 -2
- package/src/combobox-control/README.md +1 -3
- package/src/custom-select-control-v2/README.md +73 -0
- package/src/custom-select-control-v2/index.tsx +99 -0
- package/src/custom-select-control-v2/stories/index.story.tsx +149 -0
- package/src/custom-select-control-v2/styles.ts +76 -0
- package/src/custom-select-control-v2/types.ts +63 -0
- package/src/dropdown-menu-v2-ariakit/README.md +19 -5
- package/src/dropdown-menu-v2-ariakit/index.tsx +85 -36
- package/src/dropdown-menu-v2-ariakit/stories/index.story.tsx +204 -90
- package/src/dropdown-menu-v2-ariakit/styles.ts +153 -117
- package/src/dropdown-menu-v2-ariakit/test/index.tsx +5 -10
- package/src/dropdown-menu-v2-ariakit/types.ts +0 -7
- package/src/form-toggle/style.scss +37 -7
- package/src/form-token-field/index.tsx +11 -3
- package/src/form-token-field/token-input.tsx +1 -3
- package/src/form-token-field/types.ts +1 -0
- package/src/heading/README.md +6 -1
- package/src/heading/hook.ts +6 -3
- package/src/heading/types.ts +23 -1
- package/src/mobile/utils/alignments.native.js +1 -0
- package/src/navigable-container/README.md +1 -1
- package/src/private-apis.ts +4 -2
- package/src/slot-fill/README.md +1 -1
- package/src/slot-fill/types.ts +18 -6
- package/src/tabs/index.tsx +12 -2
- package/src/tabs/stories/index.story.tsx +8 -0
- package/src/tabs/tab.tsx +4 -4
- package/src/tabs/tabpanel.tsx +3 -3
- package/src/tabs/test/index.tsx +19 -0
- package/src/text/README.md +5 -1
- package/src/text/types.ts +15 -2
- package/src/toggle-control/README.md +2 -2
- package/src/tools-panel/tools-panel-item/hook.ts +11 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/src/box-control/stories/index.story.js +0 -75
package/build/tabs/index.js
CHANGED
|
@@ -132,16 +132,18 @@ function Tabs({
|
|
|
132
132
|
setSelectedId(null);
|
|
133
133
|
}
|
|
134
134
|
}, [isControlled, selectedId, selectedTab, selectedTabId, setSelectedId]);
|
|
135
|
+
const contextValue = (0, _element.useMemo)(() => ({
|
|
136
|
+
store,
|
|
137
|
+
instanceId
|
|
138
|
+
}), [store, instanceId]);
|
|
135
139
|
return (0, _react.createElement)(_context.TabsContext.Provider, {
|
|
136
|
-
value:
|
|
137
|
-
store,
|
|
138
|
-
instanceId
|
|
139
|
-
}
|
|
140
|
+
value: contextValue
|
|
140
141
|
}, children);
|
|
141
142
|
}
|
|
142
143
|
Tabs.TabList = _tablist.TabList;
|
|
143
144
|
Tabs.Tab = _tab.Tab;
|
|
144
145
|
Tabs.TabPanel = _tabpanel.TabPanel;
|
|
146
|
+
Tabs.Context = _context.TabsContext;
|
|
145
147
|
var _default = Tabs;
|
|
146
148
|
exports.default = _default;
|
|
147
149
|
//# sourceMappingURL=index.js.map
|
package/build/tabs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Ariakit","_interopRequireWildcard","require","_compose","_element","_context","_tab","_tablist","_tabpanel","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Tabs","selectOnMove","initialTabId","orientation","onSelect","children","selectedTabId","instanceId","useInstanceId","store","useTabStore","defaultSelectedId","setSelectedId","selectedId","strippedDownId","replace","isControlled","undefined","items","useState","tabsHavePopulated","useRef","length","current","selectedTab","find","item","id","firstEnabledTab","dimmed","initialTab","useLayoutEffect","_react","createElement","TabsContext","Provider","value","TabList","Tab","TabPanel","_default","exports"],"sources":["@wordpress/components/src/tabs/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useLayoutEffect, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { TabsProps } from './types';\nimport { TabsContext } from './context';\nimport { Tab } from './tab';\nimport { TabList } from './tablist';\nimport { TabPanel } from './tabpanel';\n\nfunction Tabs( {\n\tselectOnMove = true,\n\tinitialTabId,\n\torientation = 'horizontal',\n\tonSelect,\n\tchildren,\n\tselectedTabId,\n}: TabsProps ) {\n\tconst instanceId = useInstanceId( Tabs, 'tabs' );\n\tconst store = Ariakit.useTabStore( {\n\t\tselectOnMove,\n\t\torientation,\n\t\tdefaultSelectedId: initialTabId && `${ instanceId }-${ initialTabId }`,\n\t\tsetSelectedId: ( selectedId ) => {\n\t\t\tconst strippedDownId =\n\t\t\t\ttypeof selectedId === 'string'\n\t\t\t\t\t? selectedId.replace( `${ instanceId }-`, '' )\n\t\t\t\t\t: selectedId;\n\t\t\tonSelect?.( strippedDownId );\n\t\t},\n\t\tselectedId: selectedTabId && `${ instanceId }-${ selectedTabId }`,\n\t} );\n\n\tconst isControlled = selectedTabId !== undefined;\n\n\tconst { items, selectedId } = store.useState();\n\tconst { setSelectedId } = store;\n\n\t// Keep track of whether tabs have been populated. This is used to prevent\n\t// certain effects from firing too early while tab data and relevant\n\t// variables are undefined during the initial render.\n\tconst tabsHavePopulated = useRef( false );\n\tif ( items.length > 0 ) {\n\t\ttabsHavePopulated.current = true;\n\t}\n\n\tconst selectedTab = items.find( ( item ) => item.id === selectedId );\n\tconst firstEnabledTab = items.find( ( item ) => {\n\t\t// Ariakit internally refers to disabled tabs as `dimmed`.\n\t\treturn ! item.dimmed;\n\t} );\n\tconst initialTab = items.find(\n\t\t( item ) => item.id === `${ instanceId }-${ initialTabId }`\n\t);\n\n\t// Handle selecting the initial tab.\n\tuseLayoutEffect( () => {\n\t\tif ( isControlled ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Wait for the denoted initial tab to be declared before making a\n\t\t// selection. This ensures that if a tab is declared lazily it can\n\t\t// still receive initial selection, as well as ensuring no tab is\n\t\t// selected if an invalid `initialTabId` is provided.\n\t\tif ( initialTabId && ! initialTab ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If the currently selected tab is missing (i.e. removed from the DOM),\n\t\t// fall back to the initial tab or the first enabled tab if there is\n\t\t// one. Otherwise, no tab should be selected.\n\t\tif ( ! items.find( ( item ) => item.id === selectedId ) ) {\n\t\t\tif ( initialTab && ! initialTab.dimmed ) {\n\t\t\t\tsetSelectedId( initialTab?.id );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( firstEnabledTab ) {\n\t\t\t\tsetSelectedId( firstEnabledTab.id );\n\t\t\t} else if ( tabsHavePopulated.current ) {\n\t\t\t\tsetSelectedId( null );\n\t\t\t}\n\t\t}\n\t}, [\n\t\tfirstEnabledTab,\n\t\tinitialTab,\n\t\tinitialTabId,\n\t\tisControlled,\n\t\titems,\n\t\tselectedId,\n\t\tsetSelectedId,\n\t] );\n\n\t// Handle the currently selected tab becoming disabled.\n\tuseLayoutEffect( () => {\n\t\tif ( ! selectedTab?.dimmed ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// In controlled mode, we trust that disabling tabs is done\n\t\t// intentionally, and don't select a new tab automatically.\n\t\tif ( isControlled ) {\n\t\t\tsetSelectedId( null );\n\t\t\treturn;\n\t\t}\n\n\t\t// If the currently selected tab becomes disabled, fall back to the\n\t\t// `initialTabId` if possible. Otherwise select the first\n\t\t// enabled tab (if there is one).\n\t\tif ( initialTab && ! initialTab.dimmed ) {\n\t\t\tsetSelectedId( initialTab.id );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( firstEnabledTab ) {\n\t\t\tsetSelectedId( firstEnabledTab.id );\n\t\t}\n\t}, [\n\t\tfirstEnabledTab,\n\t\tinitialTab,\n\t\tisControlled,\n\t\tselectedTab?.dimmed,\n\t\tsetSelectedId,\n\t] );\n\n\t// Clear `selectedId` if the active tab is removed from the DOM in controlled mode.\n\tuseLayoutEffect( () => {\n\t\tif ( ! isControlled ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once the tabs have populated, if the `selectedTabId` still can't be\n\t\t// found, clear the selection.\n\t\tif ( tabsHavePopulated.current && !! selectedTabId && ! selectedTab ) {\n\t\t\tsetSelectedId( null );\n\t\t}\n\t}, [\n\t\tisControlled,\n\t\tselectedId,\n\t\tselectedTab,\n\t\tselectedTabId,\n\t\tsetSelectedId,\n\t] );\n\n\treturn (\n\t\t<TabsContext.Provider value={
|
|
1
|
+
{"version":3,"names":["Ariakit","_interopRequireWildcard","require","_compose","_element","_context","_tab","_tablist","_tabpanel","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Tabs","selectOnMove","initialTabId","orientation","onSelect","children","selectedTabId","instanceId","useInstanceId","store","useTabStore","defaultSelectedId","setSelectedId","selectedId","strippedDownId","replace","isControlled","undefined","items","useState","tabsHavePopulated","useRef","length","current","selectedTab","find","item","id","firstEnabledTab","dimmed","initialTab","useLayoutEffect","contextValue","useMemo","_react","createElement","TabsContext","Provider","value","TabList","Tab","TabPanel","Context","_default","exports"],"sources":["@wordpress/components/src/tabs/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\n\n/**\n * WordPress dependencies\n */\nimport { useInstanceId } from '@wordpress/compose';\nimport { useLayoutEffect, useMemo, useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { TabsProps } from './types';\nimport { TabsContext } from './context';\nimport { Tab } from './tab';\nimport { TabList } from './tablist';\nimport { TabPanel } from './tabpanel';\n\nfunction Tabs( {\n\tselectOnMove = true,\n\tinitialTabId,\n\torientation = 'horizontal',\n\tonSelect,\n\tchildren,\n\tselectedTabId,\n}: TabsProps ) {\n\tconst instanceId = useInstanceId( Tabs, 'tabs' );\n\tconst store = Ariakit.useTabStore( {\n\t\tselectOnMove,\n\t\torientation,\n\t\tdefaultSelectedId: initialTabId && `${ instanceId }-${ initialTabId }`,\n\t\tsetSelectedId: ( selectedId ) => {\n\t\t\tconst strippedDownId =\n\t\t\t\ttypeof selectedId === 'string'\n\t\t\t\t\t? selectedId.replace( `${ instanceId }-`, '' )\n\t\t\t\t\t: selectedId;\n\t\t\tonSelect?.( strippedDownId );\n\t\t},\n\t\tselectedId: selectedTabId && `${ instanceId }-${ selectedTabId }`,\n\t} );\n\n\tconst isControlled = selectedTabId !== undefined;\n\n\tconst { items, selectedId } = store.useState();\n\tconst { setSelectedId } = store;\n\n\t// Keep track of whether tabs have been populated. This is used to prevent\n\t// certain effects from firing too early while tab data and relevant\n\t// variables are undefined during the initial render.\n\tconst tabsHavePopulated = useRef( false );\n\tif ( items.length > 0 ) {\n\t\ttabsHavePopulated.current = true;\n\t}\n\n\tconst selectedTab = items.find( ( item ) => item.id === selectedId );\n\tconst firstEnabledTab = items.find( ( item ) => {\n\t\t// Ariakit internally refers to disabled tabs as `dimmed`.\n\t\treturn ! item.dimmed;\n\t} );\n\tconst initialTab = items.find(\n\t\t( item ) => item.id === `${ instanceId }-${ initialTabId }`\n\t);\n\n\t// Handle selecting the initial tab.\n\tuseLayoutEffect( () => {\n\t\tif ( isControlled ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Wait for the denoted initial tab to be declared before making a\n\t\t// selection. This ensures that if a tab is declared lazily it can\n\t\t// still receive initial selection, as well as ensuring no tab is\n\t\t// selected if an invalid `initialTabId` is provided.\n\t\tif ( initialTabId && ! initialTab ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// If the currently selected tab is missing (i.e. removed from the DOM),\n\t\t// fall back to the initial tab or the first enabled tab if there is\n\t\t// one. Otherwise, no tab should be selected.\n\t\tif ( ! items.find( ( item ) => item.id === selectedId ) ) {\n\t\t\tif ( initialTab && ! initialTab.dimmed ) {\n\t\t\t\tsetSelectedId( initialTab?.id );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tif ( firstEnabledTab ) {\n\t\t\t\tsetSelectedId( firstEnabledTab.id );\n\t\t\t} else if ( tabsHavePopulated.current ) {\n\t\t\t\tsetSelectedId( null );\n\t\t\t}\n\t\t}\n\t}, [\n\t\tfirstEnabledTab,\n\t\tinitialTab,\n\t\tinitialTabId,\n\t\tisControlled,\n\t\titems,\n\t\tselectedId,\n\t\tsetSelectedId,\n\t] );\n\n\t// Handle the currently selected tab becoming disabled.\n\tuseLayoutEffect( () => {\n\t\tif ( ! selectedTab?.dimmed ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// In controlled mode, we trust that disabling tabs is done\n\t\t// intentionally, and don't select a new tab automatically.\n\t\tif ( isControlled ) {\n\t\t\tsetSelectedId( null );\n\t\t\treturn;\n\t\t}\n\n\t\t// If the currently selected tab becomes disabled, fall back to the\n\t\t// `initialTabId` if possible. Otherwise select the first\n\t\t// enabled tab (if there is one).\n\t\tif ( initialTab && ! initialTab.dimmed ) {\n\t\t\tsetSelectedId( initialTab.id );\n\t\t\treturn;\n\t\t}\n\n\t\tif ( firstEnabledTab ) {\n\t\t\tsetSelectedId( firstEnabledTab.id );\n\t\t}\n\t}, [\n\t\tfirstEnabledTab,\n\t\tinitialTab,\n\t\tisControlled,\n\t\tselectedTab?.dimmed,\n\t\tsetSelectedId,\n\t] );\n\n\t// Clear `selectedId` if the active tab is removed from the DOM in controlled mode.\n\tuseLayoutEffect( () => {\n\t\tif ( ! isControlled ) {\n\t\t\treturn;\n\t\t}\n\n\t\t// Once the tabs have populated, if the `selectedTabId` still can't be\n\t\t// found, clear the selection.\n\t\tif ( tabsHavePopulated.current && !! selectedTabId && ! selectedTab ) {\n\t\t\tsetSelectedId( null );\n\t\t}\n\t}, [\n\t\tisControlled,\n\t\tselectedId,\n\t\tselectedTab,\n\t\tselectedTabId,\n\t\tsetSelectedId,\n\t] );\n\n\tconst contextValue = useMemo(\n\t\t() => ( {\n\t\t\tstore,\n\t\t\tinstanceId,\n\t\t} ),\n\t\t[ store, instanceId ]\n\t);\n\n\treturn (\n\t\t<TabsContext.Provider value={ contextValue }>\n\t\t\t{ children }\n\t\t</TabsContext.Provider>\n\t);\n}\n\nTabs.TabList = TabList;\nTabs.Tab = Tab;\nTabs.TabPanel = TabPanel;\nTabs.Context = TabsContext;\n\nexport default Tabs;\n"],"mappings":"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"}
|
package/build/tabs/tab.js
CHANGED
|
@@ -21,9 +21,9 @@ const Tab = (0, _element.forwardRef)(function Tab({
|
|
|
21
21
|
render,
|
|
22
22
|
...otherProps
|
|
23
23
|
}, ref) {
|
|
24
|
-
const context = (0,
|
|
24
|
+
const context = (0, _context.useTabsContext)();
|
|
25
25
|
if (!context) {
|
|
26
|
-
typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? (0, _warning.default)('`Tabs.
|
|
26
|
+
typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? (0, _warning.default)('`Tabs.Tab` must be wrapped in a `Tabs` component.') : void 0;
|
|
27
27
|
return null;
|
|
28
28
|
}
|
|
29
29
|
const {
|
package/build/tabs/tab.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_warning","_interopRequireDefault","_context","_styles","Tab","forwardRef","children","id","disabled","render","otherProps","ref","context","
|
|
1
|
+
{"version":3,"names":["_element","require","_warning","_interopRequireDefault","_context","_styles","Tab","forwardRef","children","id","disabled","render","otherProps","ref","context","useTabsContext","SCRIPT_DEBUG","warning","store","instanceId","instancedTabId","_react","createElement","exports"],"sources":["@wordpress/components/src/tabs/tab.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\n\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { TabProps } from './types';\nimport warning from '@wordpress/warning';\nimport { useTabsContext } from './context';\nimport { Tab as StyledTab } from './styles';\nimport type { WordPressComponentProps } from '../context';\n\nexport const Tab = forwardRef<\n\tHTMLButtonElement,\n\tWordPressComponentProps< TabProps, 'button', false >\n>( function Tab( { children, id, disabled, render, ...otherProps }, ref ) {\n\tconst context = useTabsContext();\n\tif ( ! context ) {\n\t\twarning( '`Tabs.Tab` must be wrapped in a `Tabs` component.' );\n\t\treturn null;\n\t}\n\tconst { store, instanceId } = context;\n\tconst instancedTabId = `${ instanceId }-${ id }`;\n\treturn (\n\t\t<StyledTab\n\t\t\tref={ ref }\n\t\t\tstore={ store }\n\t\t\tid={ instancedTabId }\n\t\t\tdisabled={ disabled }\n\t\t\trender={ render }\n\t\t\t{ ...otherProps }\n\t\t>\n\t\t\t{ children }\n\t\t</StyledTab>\n\t);\n} );\n"],"mappings":";;;;;;;;AAIA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,QAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAZA;AACA;AACA;;AAaO,MAAMK,GAAG,GAAG,IAAAC,mBAAU,EAG1B,SAASD,GAAGA,CAAE;EAAEE,QAAQ;EAAEC,EAAE;EAAEC,QAAQ;EAAEC,MAAM;EAAE,GAAGC;AAAW,CAAC,EAAEC,GAAG,EAAG;EACzE,MAAMC,OAAO,GAAG,IAAAC,uBAAc,EAAC,CAAC;EAChC,IAAK,CAAED,OAAO,EAAG;IAChB,OAAAE,YAAA,oBAAAA,YAAA,gBAAAC,gBAAO,EAAE,mDAAoD,CAAC;IAC9D,OAAO,IAAI;EACZ;EACA,MAAM;IAAEC,KAAK;IAAEC;EAAW,CAAC,GAAGL,OAAO;EACrC,MAAMM,cAAc,GAAI,GAAGD,UAAY,IAAIV,EAAI,EAAC;EAChD,OACC,IAAAY,MAAA,CAAAC,aAAA,EAACjB,OAAA,CAAAC,GAAS;IACTO,GAAG,EAAGA,GAAK;IACXK,KAAK,EAAGA,KAAO;IACfT,EAAE,EAAGW,cAAgB;IACrBV,QAAQ,EAAGA,QAAU;IACrBC,MAAM,EAAGA,MAAQ;IAAA,GACZC;EAAU,GAEbJ,QACQ,CAAC;AAEd,CAAE,CAAC;AAACe,OAAA,CAAAjB,GAAA,GAAAA,GAAA"}
|
package/build/tabs/tabpanel.js
CHANGED
|
@@ -24,7 +24,7 @@ const TabPanel = (0, _element.forwardRef)(function TabPanel({
|
|
|
24
24
|
focusable = true,
|
|
25
25
|
...otherProps
|
|
26
26
|
}, ref) {
|
|
27
|
-
const context = (0,
|
|
27
|
+
const context = (0, _context.useTabsContext)();
|
|
28
28
|
if (!context) {
|
|
29
29
|
typeof SCRIPT_DEBUG !== "undefined" && SCRIPT_DEBUG === true ? (0, _warning.default)('`Tabs.TabPanel` must be wrapped in a `Tabs` component.') : void 0;
|
|
30
30
|
return null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_element","require","_styles","_warning","_interopRequireDefault","_context","TabPanel","forwardRef","children","id","focusable","otherProps","ref","context","
|
|
1
|
+
{"version":3,"names":["_element","require","_styles","_warning","_interopRequireDefault","_context","TabPanel","forwardRef","children","id","focusable","otherProps","ref","context","useTabsContext","SCRIPT_DEBUG","warning","store","instanceId","_react","createElement","exports"],"sources":["@wordpress/components/src/tabs/tabpanel.tsx"],"sourcesContent":["/**\n * External dependencies\n */\n\n/**\n * WordPress dependencies\n */\n\nimport { forwardRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { TabPanelProps } from './types';\nimport { TabPanel as StyledTabPanel } from './styles';\n\nimport warning from '@wordpress/warning';\nimport { useTabsContext } from './context';\nimport type { WordPressComponentProps } from '../context';\n\nexport const TabPanel = forwardRef<\n\tHTMLDivElement,\n\tWordPressComponentProps< TabPanelProps, 'div', false >\n>( function TabPanel( { children, id, focusable = true, ...otherProps }, ref ) {\n\tconst context = useTabsContext();\n\tif ( ! context ) {\n\t\twarning( '`Tabs.TabPanel` must be wrapped in a `Tabs` component.' );\n\t\treturn null;\n\t}\n\tconst { store, instanceId } = context;\n\n\treturn (\n\t\t<StyledTabPanel\n\t\t\tref={ ref }\n\t\t\tstore={ store }\n\t\t\tid={ `${ instanceId }-${ id }-view` }\n\t\t\tfocusable={ focusable }\n\t\t\t{ ...otherProps }\n\t\t>\n\t\t\t{ children }\n\t\t</StyledTabPanel>\n\t);\n} );\n"],"mappings":";;;;;;;;AAQA,IAAAA,QAAA,GAAAC,OAAA;AAMA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAjBA;AACA;AACA;;AAEA;AACA;AACA;;AAcO,MAAMK,QAAQ,GAAG,IAAAC,mBAAU,EAG/B,SAASD,QAAQA,CAAE;EAAEE,QAAQ;EAAEC,EAAE;EAAEC,SAAS,GAAG,IAAI;EAAE,GAAGC;AAAW,CAAC,EAAEC,GAAG,EAAG;EAC9E,MAAMC,OAAO,GAAG,IAAAC,uBAAc,EAAC,CAAC;EAChC,IAAK,CAAED,OAAO,EAAG;IAChB,OAAAE,YAAA,oBAAAA,YAAA,gBAAAC,gBAAO,EAAE,wDAAyD,CAAC;IACnE,OAAO,IAAI;EACZ;EACA,MAAM;IAAEC,KAAK;IAAEC;EAAW,CAAC,GAAGL,OAAO;EAErC,OACC,IAAAM,MAAA,CAAAC,aAAA,EAAClB,OAAA,CAAAI,QAAc;IACdM,GAAG,EAAGA,GAAK;IACXK,KAAK,EAAGA,KAAO;IACfR,EAAE,EAAI,GAAGS,UAAY,IAAIT,EAAI,OAAQ;IACrCC,SAAS,EAAGA,SAAW;IAAA,GAClBC;EAAU,GAEbH,QACa,CAAC;AAEnB,CAAE,CAAC;AAACa,OAAA,CAAAf,QAAA,GAAAA,QAAA"}
|
package/build/text/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["@wordpress/components/src/text/types.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { TruncateProps } from '../truncate/types';\n\n/**\n * External dependencies\n */\nimport type { CSSProperties } from 'react';\nimport type { FindAllArgs } from 'highlight-words-core';\n\nexport type TextSize =\n\t| 'body'\n\t| 'caption'\n\t| 'footnote'\n\t| 'largeTitle'\n\t| 'subheadline'\n\t| 'title';\n\ntype TextVariant = 'muted';\n\ntype TextWeight = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;\n\nexport interface Props extends TruncateProps {\n\t/**\n\t * Adjusts the text alignment.\n\t */\n\talign?: CSSProperties[ 'textAlign' ];\n\t/**\n\t * Automatically calculate the appropriate line-height value for contents that render text and Control elements (e.g. `TextInput`).\n\t */\n\tadjustLineHeightForInnerControls?: 'large' | 'medium' | 'small' | 'xSmall';\n\t/**\n\t * Adjusts the text color.\n\t */\n\tcolor?: CSSProperties[ 'color' ];\n\t/**\n\t * Adjusts the CSS display.\n\t */\n\tdisplay?: CSSProperties[ 'display' ];\n\t/**\n\t * Renders a destructive color.\n\t *\n\t * @default false\n\t */\n\tisDestructive?: boolean;\n\t/**\n\t * Escape characters in `highlightWords` which are meaningful in regular expressions.\n\t */\n\thighlightEscape?: boolean;\n\t/**\n\t * Determines if `highlightWords` should be case sensitive.\n\t */\n\thighlightCaseSensitive?: boolean;\n\t/**\n\t * Array of search words. String search terms are automatically cast to RegExps unless `highlightEscape` is true.\n\t */\n\thighlightSanitize?: FindAllArgs[ 'sanitize' ];\n\t/**\n\t * Sets `Text` to have `display: block`.\n\t */\n\tisBlock?: boolean;\n\t/**\n\t * Adjusts all text line-height based on the typography system.\n\t */\n\tlineHeight?: CSSProperties[ 'lineHeight' ];\n\t/**\n\t * The `Text` color can be adapted to a background color for optimal readability. `optimizeReadabilityFor` can accept CSS variables, in addition to standard CSS color values (e.g. Hex, RGB, HSL, etc...).\n\t */\n\toptimizeReadabilityFor?: CSSProperties[ 'color' ];\n\t/**\n\t * Adjusts text size based on the typography system. `Text` can render a wide range of font sizes, which are automatically calculated and adapted to the typography system. The `size` value can be a system preset, a `number`, or a custom unit value (`string`) such as `30em`.\n\t */\n\tsize?: CSSProperties[ 'fontSize' ] | TextSize;\n\t/**\n\t * Enables text truncation. When `truncate` is set,we are able to truncate the long text in a variety of ways
|
|
1
|
+
{"version":3,"names":[],"sources":["@wordpress/components/src/text/types.ts"],"sourcesContent":["/**\n * Internal dependencies\n */\nimport type { TruncateProps } from '../truncate/types';\n\n/**\n * External dependencies\n */\nimport type { CSSProperties } from 'react';\nimport type { FindAllArgs } from 'highlight-words-core';\n\nexport type TextSize =\n\t| 'body'\n\t| 'caption'\n\t| 'footnote'\n\t| 'largeTitle'\n\t| 'subheadline'\n\t| 'title';\n\ntype TextVariant = 'muted';\n\ntype TextWeight = 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900;\n\nexport interface Props extends TruncateProps {\n\t/**\n\t * Adjusts the text alignment.\n\t */\n\talign?: CSSProperties[ 'textAlign' ];\n\t/**\n\t * Automatically calculate the appropriate line-height value for contents that render text and Control elements (e.g. `TextInput`).\n\t */\n\tadjustLineHeightForInnerControls?: 'large' | 'medium' | 'small' | 'xSmall';\n\t/**\n\t * Adjusts the text color.\n\t */\n\tcolor?: CSSProperties[ 'color' ];\n\t/**\n\t * Adjusts the CSS display.\n\t */\n\tdisplay?: CSSProperties[ 'display' ];\n\t/**\n\t * Renders a destructive color.\n\t *\n\t * @default false\n\t */\n\tisDestructive?: boolean;\n\t/**\n\t * Escape characters in `highlightWords` which are meaningful in regular expressions.\n\t *\n\t * @default false\n\t */\n\thighlightEscape?: boolean;\n\t/**\n\t * Determines if `highlightWords` should be case sensitive.\n\t *\n\t * @default false\n\t */\n\thighlightCaseSensitive?: boolean;\n\t/**\n\t * Array of search words. String search terms are automatically cast to RegExps unless `highlightEscape` is true.\n\t */\n\thighlightSanitize?: FindAllArgs[ 'sanitize' ];\n\t/**\n\t * Sets `Text` to have `display: block`. Note: text truncation only works\n\t * when `isBlock` is `false`.\n\t *\n\t * @default false\n\t */\n\tisBlock?: boolean;\n\t/**\n\t * Adjusts all text line-height based on the typography system.\n\t */\n\tlineHeight?: CSSProperties[ 'lineHeight' ];\n\t/**\n\t * The `Text` color can be adapted to a background color for optimal readability. `optimizeReadabilityFor` can accept CSS variables, in addition to standard CSS color values (e.g. Hex, RGB, HSL, etc...).\n\t */\n\toptimizeReadabilityFor?: CSSProperties[ 'color' ];\n\t/**\n\t * Adjusts text size based on the typography system. `Text` can render a wide range of font sizes, which are automatically calculated and adapted to the typography system. The `size` value can be a system preset, a `number`, or a custom unit value (`string`) such as `30em`.\n\t */\n\tsize?: CSSProperties[ 'fontSize' ] | TextSize;\n\t/**\n\t * Enables text truncation. When `truncate` is set, we are able to truncate the long text in a variety of ways. Note: text truncation won't work if the `isBlock` property is set to `true`\n\t *\n\t * @default false\n\t */\n\ttruncate?: boolean;\n\t/**\n\t * Uppercases the text content.\n\t *\n\t * @default false\n\t */\n\tupperCase?: boolean;\n\t/**\n\t * Adjusts style variation of the text.\n\t */\n\tvariant?: TextVariant;\n\t/**\n\t * Adjusts font-weight of the text.\n\t *\n\t * @default 'normal'\n\t */\n\tweight?: CSSProperties[ 'fontWeight' ] | TextWeight;\n\t/**\n\t * Adjusts letter-spacing of the text.\n\t */\n\tletterSpacing?: CSSProperties[ 'letterSpacing' ];\n\t/**\n\t * Letters or words within `Text` can be highlighted using `highlightWords`.\n\t */\n\thighlightWords?: string[];\n}\n"],"mappings":""}
|
|
@@ -55,7 +55,11 @@ function useToolsPanelItem(props) {
|
|
|
55
55
|
|
|
56
56
|
// Registering the panel item allows the panel to include it in its
|
|
57
57
|
// automatically generated menu and determine its initial checked status.
|
|
58
|
-
|
|
58
|
+
//
|
|
59
|
+
// This is performed in a layout effect to ensure that the panel item
|
|
60
|
+
// is registered before it is rendered preventing a rendering glitch.
|
|
61
|
+
// See: https://github.com/WordPress/gutenberg/issues/56470
|
|
62
|
+
(0, _element.useLayoutEffect)(() => {
|
|
59
63
|
if (hasMatchingPanel && previousPanelId !== null) {
|
|
60
64
|
registerPanelItem({
|
|
61
65
|
hasValue: hasValueCallback,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_compose","require","_element","styles","_interopRequireWildcard","_context","_context2","_useCx","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","noop","useToolsPanelItem","props","className","hasValue","isShownByDefault","label","panelId","resetAllFilter","onDeselect","onSelect","otherProps","useContextSystem","currentPanelId","menuItems","registerResetAllFilter","deregisterResetAllFilter","registerPanelItem","deregisterPanelItem","flagItemCustomization","isResetting","shouldRenderPlaceholderItems","shouldRenderPlaceholder","firstDisplayedItem","lastDisplayedItem","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","useToolsPanelContext","hasValueCallback","useCallback","resetAllFilterCallback","previousPanelId","usePrevious","hasMatchingPanel","useEffect","menuGroup","isMenuItemChecked","wasMenuItemChecked","isRegistered","undefined","isValueSet","wasValueSet","newValueSet","isShown","cx","useCx","classes","useMemo","shouldApplyPlaceholderStyles","firstItemStyle","lastItemStyle","ToolsPanelItem","ToolsPanelItemPlaceholder"],"sources":["@wordpress/components/src/tools-panel/tools-panel-item/hook.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { usePrevious } from '@wordpress/compose';\nimport { useCallback, useEffect, useMemo } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useToolsPanelContext } from '../context';\nimport type { WordPressComponentProps } from '../../context';\nimport { useContextSystem } from '../../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type { ToolsPanelItemProps } from '../types';\n\nconst noop = () => {};\n\nexport function useToolsPanelItem(\n\tprops: WordPressComponentProps< ToolsPanelItemProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\thasValue,\n\t\tisShownByDefault = false,\n\t\tlabel,\n\t\tpanelId,\n\t\tresetAllFilter = noop,\n\t\tonDeselect,\n\t\tonSelect,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToolsPanelItem' );\n\n\tconst {\n\t\tpanelId: currentPanelId,\n\t\tmenuItems,\n\t\tregisterResetAllFilter,\n\t\tderegisterResetAllFilter,\n\t\tregisterPanelItem,\n\t\tderegisterPanelItem,\n\t\tflagItemCustomization,\n\t\tisResetting,\n\t\tshouldRenderPlaceholderItems: shouldRenderPlaceholder,\n\t\tfirstDisplayedItem,\n\t\tlastDisplayedItem,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t} = useToolsPanelContext();\n\n\tconst hasValueCallback = useCallback( hasValue, [ panelId, hasValue ] );\n\tconst resetAllFilterCallback = useCallback( resetAllFilter, [\n\t\tpanelId,\n\t\tresetAllFilter,\n\t] );\n\tconst previousPanelId = usePrevious( currentPanelId );\n\n\tconst hasMatchingPanel =\n\t\tcurrentPanelId === panelId || currentPanelId === null;\n\n\t// Registering the panel item allows the panel to include it in its\n\t// automatically generated menu and determine its initial checked status.\n\tuseEffect( () => {\n\t\tif ( hasMatchingPanel && previousPanelId !== null ) {\n\t\t\tregisterPanelItem( {\n\t\t\t\thasValue: hasValueCallback,\n\t\t\t\tisShownByDefault,\n\t\t\t\tlabel,\n\t\t\t\tpanelId,\n\t\t\t} );\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (\n\t\t\t\t( previousPanelId === null && !! currentPanelId ) ||\n\t\t\t\tcurrentPanelId === panelId\n\t\t\t) {\n\t\t\t\tderegisterPanelItem( label );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tcurrentPanelId,\n\t\thasMatchingPanel,\n\t\tisShownByDefault,\n\t\tlabel,\n\t\thasValueCallback,\n\t\tpanelId,\n\t\tpreviousPanelId,\n\t\tregisterPanelItem,\n\t\tderegisterPanelItem,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( hasMatchingPanel ) {\n\t\t\tregisterResetAllFilter( resetAllFilterCallback );\n\t\t}\n\t\treturn () => {\n\t\t\tif ( hasMatchingPanel ) {\n\t\t\t\tderegisterResetAllFilter( resetAllFilterCallback );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tregisterResetAllFilter,\n\t\tderegisterResetAllFilter,\n\t\tresetAllFilterCallback,\n\t\thasMatchingPanel,\n\t] );\n\n\t// Note: `label` is used as a key when building menu item state in\n\t// `ToolsPanel`.\n\tconst menuGroup = isShownByDefault ? 'default' : 'optional';\n\tconst isMenuItemChecked = menuItems?.[ menuGroup ]?.[ label ];\n\tconst wasMenuItemChecked = usePrevious( isMenuItemChecked );\n\tconst isRegistered = menuItems?.[ menuGroup ]?.[ label ] !== undefined;\n\n\tconst isValueSet = hasValue();\n\tconst wasValueSet = usePrevious( isValueSet );\n\tconst newValueSet = isValueSet && ! wasValueSet;\n\n\t// Notify the panel when an item's value has been set.\n\t//\n\t// 1. For default controls, this is so \"reset\" appears beside its menu item.\n\t// 2. For optional controls, when the panel ID is `null`, it allows the\n\t// panel to ensure the item is toggled on for display in the menu, given the\n\t// value has been set external to the control.\n\tuseEffect( () => {\n\t\tif ( ! newValueSet ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isShownByDefault || currentPanelId === null ) {\n\t\t\tflagItemCustomization( label, menuGroup );\n\t\t}\n\t}, [\n\t\tcurrentPanelId,\n\t\tnewValueSet,\n\t\tisShownByDefault,\n\t\tmenuGroup,\n\t\tlabel,\n\t\tflagItemCustomization,\n\t] );\n\n\t// Determine if the panel item's corresponding menu is being toggled and\n\t// trigger appropriate callback if it is.\n\tuseEffect( () => {\n\t\t// We check whether this item is currently registered as items rendered\n\t\t// via fills can persist through the parent panel being remounted.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/45673\n\t\tif ( ! isRegistered || isResetting || ! hasMatchingPanel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isMenuItemChecked && ! isValueSet && ! wasMenuItemChecked ) {\n\t\t\tonSelect?.();\n\t\t}\n\n\t\tif ( ! isMenuItemChecked && wasMenuItemChecked ) {\n\t\t\tonDeselect?.();\n\t\t}\n\t}, [\n\t\thasMatchingPanel,\n\t\tisMenuItemChecked,\n\t\tisRegistered,\n\t\tisResetting,\n\t\tisValueSet,\n\t\twasMenuItemChecked,\n\t\tonSelect,\n\t\tonDeselect,\n\t] );\n\n\t// The item is shown if it is a default control regardless of whether it\n\t// has a value. Optional items are shown when they are checked or have\n\t// a value.\n\tconst isShown = isShownByDefault\n\t\t? menuItems?.[ menuGroup ]?.[ label ] !== undefined\n\t\t: isMenuItemChecked;\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\tconst shouldApplyPlaceholderStyles =\n\t\t\tshouldRenderPlaceholder && ! isShown;\n\t\tconst firstItemStyle =\n\t\t\tfirstDisplayedItem === label && __experimentalFirstVisibleItemClass;\n\t\tconst lastItemStyle =\n\t\t\tlastDisplayedItem === label && __experimentalLastVisibleItemClass;\n\t\treturn cx(\n\t\t\tstyles.ToolsPanelItem,\n\t\t\tshouldApplyPlaceholderStyles && styles.ToolsPanelItemPlaceholder,\n\t\t\t! shouldApplyPlaceholderStyles && className,\n\t\t\tfirstItemStyle,\n\t\t\tlastItemStyle\n\t\t);\n\t}, [\n\t\tisShown,\n\t\tshouldRenderPlaceholder,\n\t\tclassName,\n\t\tcx,\n\t\tfirstDisplayedItem,\n\t\tlastDisplayedItem,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t\tlabel,\n\t] );\n\n\treturn {\n\t\t...otherProps,\n\t\tisShown,\n\t\tshouldRenderPlaceholder,\n\t\tclassName: classes,\n\t};\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_compose","require","_element","styles","_interopRequireWildcard","_context","_context2","_useCx","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","default","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","noop","useToolsPanelItem","props","className","hasValue","isShownByDefault","label","panelId","resetAllFilter","onDeselect","onSelect","otherProps","useContextSystem","currentPanelId","menuItems","registerResetAllFilter","deregisterResetAllFilter","registerPanelItem","deregisterPanelItem","flagItemCustomization","isResetting","shouldRenderPlaceholderItems","shouldRenderPlaceholder","firstDisplayedItem","lastDisplayedItem","__experimentalFirstVisibleItemClass","__experimentalLastVisibleItemClass","useToolsPanelContext","hasValueCallback","useCallback","resetAllFilterCallback","previousPanelId","usePrevious","hasMatchingPanel","useLayoutEffect","useEffect","menuGroup","isMenuItemChecked","wasMenuItemChecked","isRegistered","undefined","isValueSet","wasValueSet","newValueSet","isShown","cx","useCx","classes","useMemo","shouldApplyPlaceholderStyles","firstItemStyle","lastItemStyle","ToolsPanelItem","ToolsPanelItemPlaceholder"],"sources":["@wordpress/components/src/tools-panel/tools-panel-item/hook.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { usePrevious } from '@wordpress/compose';\nimport {\n\tuseCallback,\n\tuseEffect,\n\tuseLayoutEffect,\n\tuseMemo,\n} from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport * as styles from '../styles';\nimport { useToolsPanelContext } from '../context';\nimport type { WordPressComponentProps } from '../../context';\nimport { useContextSystem } from '../../context';\nimport { useCx } from '../../utils/hooks/use-cx';\nimport type { ToolsPanelItemProps } from '../types';\n\nconst noop = () => {};\n\nexport function useToolsPanelItem(\n\tprops: WordPressComponentProps< ToolsPanelItemProps, 'div' >\n) {\n\tconst {\n\t\tclassName,\n\t\thasValue,\n\t\tisShownByDefault = false,\n\t\tlabel,\n\t\tpanelId,\n\t\tresetAllFilter = noop,\n\t\tonDeselect,\n\t\tonSelect,\n\t\t...otherProps\n\t} = useContextSystem( props, 'ToolsPanelItem' );\n\n\tconst {\n\t\tpanelId: currentPanelId,\n\t\tmenuItems,\n\t\tregisterResetAllFilter,\n\t\tderegisterResetAllFilter,\n\t\tregisterPanelItem,\n\t\tderegisterPanelItem,\n\t\tflagItemCustomization,\n\t\tisResetting,\n\t\tshouldRenderPlaceholderItems: shouldRenderPlaceholder,\n\t\tfirstDisplayedItem,\n\t\tlastDisplayedItem,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t} = useToolsPanelContext();\n\n\tconst hasValueCallback = useCallback( hasValue, [ panelId, hasValue ] );\n\tconst resetAllFilterCallback = useCallback( resetAllFilter, [\n\t\tpanelId,\n\t\tresetAllFilter,\n\t] );\n\tconst previousPanelId = usePrevious( currentPanelId );\n\n\tconst hasMatchingPanel =\n\t\tcurrentPanelId === panelId || currentPanelId === null;\n\n\t// Registering the panel item allows the panel to include it in its\n\t// automatically generated menu and determine its initial checked status.\n\t//\n\t// This is performed in a layout effect to ensure that the panel item\n\t// is registered before it is rendered preventing a rendering glitch.\n\t// See: https://github.com/WordPress/gutenberg/issues/56470\n\tuseLayoutEffect( () => {\n\t\tif ( hasMatchingPanel && previousPanelId !== null ) {\n\t\t\tregisterPanelItem( {\n\t\t\t\thasValue: hasValueCallback,\n\t\t\t\tisShownByDefault,\n\t\t\t\tlabel,\n\t\t\t\tpanelId,\n\t\t\t} );\n\t\t}\n\n\t\treturn () => {\n\t\t\tif (\n\t\t\t\t( previousPanelId === null && !! currentPanelId ) ||\n\t\t\t\tcurrentPanelId === panelId\n\t\t\t) {\n\t\t\t\tderegisterPanelItem( label );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tcurrentPanelId,\n\t\thasMatchingPanel,\n\t\tisShownByDefault,\n\t\tlabel,\n\t\thasValueCallback,\n\t\tpanelId,\n\t\tpreviousPanelId,\n\t\tregisterPanelItem,\n\t\tderegisterPanelItem,\n\t] );\n\n\tuseEffect( () => {\n\t\tif ( hasMatchingPanel ) {\n\t\t\tregisterResetAllFilter( resetAllFilterCallback );\n\t\t}\n\t\treturn () => {\n\t\t\tif ( hasMatchingPanel ) {\n\t\t\t\tderegisterResetAllFilter( resetAllFilterCallback );\n\t\t\t}\n\t\t};\n\t}, [\n\t\tregisterResetAllFilter,\n\t\tderegisterResetAllFilter,\n\t\tresetAllFilterCallback,\n\t\thasMatchingPanel,\n\t] );\n\n\t// Note: `label` is used as a key when building menu item state in\n\t// `ToolsPanel`.\n\tconst menuGroup = isShownByDefault ? 'default' : 'optional';\n\tconst isMenuItemChecked = menuItems?.[ menuGroup ]?.[ label ];\n\tconst wasMenuItemChecked = usePrevious( isMenuItemChecked );\n\tconst isRegistered = menuItems?.[ menuGroup ]?.[ label ] !== undefined;\n\n\tconst isValueSet = hasValue();\n\tconst wasValueSet = usePrevious( isValueSet );\n\tconst newValueSet = isValueSet && ! wasValueSet;\n\n\t// Notify the panel when an item's value has been set.\n\t//\n\t// 1. For default controls, this is so \"reset\" appears beside its menu item.\n\t// 2. For optional controls, when the panel ID is `null`, it allows the\n\t// panel to ensure the item is toggled on for display in the menu, given the\n\t// value has been set external to the control.\n\tuseEffect( () => {\n\t\tif ( ! newValueSet ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isShownByDefault || currentPanelId === null ) {\n\t\t\tflagItemCustomization( label, menuGroup );\n\t\t}\n\t}, [\n\t\tcurrentPanelId,\n\t\tnewValueSet,\n\t\tisShownByDefault,\n\t\tmenuGroup,\n\t\tlabel,\n\t\tflagItemCustomization,\n\t] );\n\n\t// Determine if the panel item's corresponding menu is being toggled and\n\t// trigger appropriate callback if it is.\n\tuseEffect( () => {\n\t\t// We check whether this item is currently registered as items rendered\n\t\t// via fills can persist through the parent panel being remounted.\n\t\t// See: https://github.com/WordPress/gutenberg/pull/45673\n\t\tif ( ! isRegistered || isResetting || ! hasMatchingPanel ) {\n\t\t\treturn;\n\t\t}\n\n\t\tif ( isMenuItemChecked && ! isValueSet && ! wasMenuItemChecked ) {\n\t\t\tonSelect?.();\n\t\t}\n\n\t\tif ( ! isMenuItemChecked && wasMenuItemChecked ) {\n\t\t\tonDeselect?.();\n\t\t}\n\t}, [\n\t\thasMatchingPanel,\n\t\tisMenuItemChecked,\n\t\tisRegistered,\n\t\tisResetting,\n\t\tisValueSet,\n\t\twasMenuItemChecked,\n\t\tonSelect,\n\t\tonDeselect,\n\t] );\n\n\t// The item is shown if it is a default control regardless of whether it\n\t// has a value. Optional items are shown when they are checked or have\n\t// a value.\n\tconst isShown = isShownByDefault\n\t\t? menuItems?.[ menuGroup ]?.[ label ] !== undefined\n\t\t: isMenuItemChecked;\n\n\tconst cx = useCx();\n\tconst classes = useMemo( () => {\n\t\tconst shouldApplyPlaceholderStyles =\n\t\t\tshouldRenderPlaceholder && ! isShown;\n\t\tconst firstItemStyle =\n\t\t\tfirstDisplayedItem === label && __experimentalFirstVisibleItemClass;\n\t\tconst lastItemStyle =\n\t\t\tlastDisplayedItem === label && __experimentalLastVisibleItemClass;\n\t\treturn cx(\n\t\t\tstyles.ToolsPanelItem,\n\t\t\tshouldApplyPlaceholderStyles && styles.ToolsPanelItemPlaceholder,\n\t\t\t! shouldApplyPlaceholderStyles && className,\n\t\t\tfirstItemStyle,\n\t\t\tlastItemStyle\n\t\t);\n\t}, [\n\t\tisShown,\n\t\tshouldRenderPlaceholder,\n\t\tclassName,\n\t\tcx,\n\t\tfirstDisplayedItem,\n\t\tlastDisplayedItem,\n\t\t__experimentalFirstVisibleItemClass,\n\t\t__experimentalLastVisibleItemClass,\n\t\tlabel,\n\t] );\n\n\treturn {\n\t\t...otherProps,\n\t\tisShown,\n\t\tshouldRenderPlaceholder,\n\t\tclassName: classes,\n\t};\n}\n"],"mappings":"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"}
|
|
@@ -32,7 +32,6 @@ function UnforwardedAnglePickerControl(props, ref) {
|
|
|
32
32
|
if (!__nextHasNoMarginBottom) {
|
|
33
33
|
deprecated('Bottom margin styles for wp.components.AnglePickerControl', {
|
|
34
34
|
since: '6.1',
|
|
35
|
-
version: '6.4',
|
|
36
35
|
hint: 'Set the `__nextHasNoMarginBottom` prop to true to start opting into the new styles, which will become the default in a future version.'
|
|
37
36
|
});
|
|
38
37
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classnames","deprecated","forwardRef","isRTL","__","FlexBlock","Spacer","NumberControl","AngleCircle","Root","UnitText","UnforwardedAnglePickerControl","props","ref","__nextHasNoMarginBottom","className","label","onChange","value","restProps","since","
|
|
1
|
+
{"version":3,"names":["classnames","deprecated","forwardRef","isRTL","__","FlexBlock","Spacer","NumberControl","AngleCircle","Root","UnitText","UnforwardedAnglePickerControl","props","ref","__nextHasNoMarginBottom","className","label","onChange","value","restProps","since","hint","handleOnNumberChange","unprocessedValue","undefined","inputValue","parseInt","classes","unitText","createElement","prefixedUnitText","suffixedUnitText","gap","max","min","size","step","spinControls","prefix","suffix","marginBottom","marginTop","AnglePickerControl"],"sources":["@wordpress/components/src/angle-picker-control/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\nimport type { ForwardedRef } from 'react';\nimport classnames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport deprecated from '@wordpress/deprecated';\nimport { forwardRef } from '@wordpress/element';\nimport { isRTL, __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { FlexBlock } from '../flex';\nimport { Spacer } from '../spacer';\nimport NumberControl from '../number-control';\nimport AngleCircle from './angle-circle';\nimport { Root, UnitText } from './styles/angle-picker-control-styles';\n\nimport type { WordPressComponentProps } from '../context';\nimport type { AnglePickerControlProps } from './types';\n\nfunction UnforwardedAnglePickerControl(\n\tprops: WordPressComponentProps< AnglePickerControlProps, 'div' >,\n\tref: ForwardedRef< any >\n) {\n\tconst {\n\t\t__nextHasNoMarginBottom = false,\n\t\tclassName,\n\t\tlabel = __( 'Angle' ),\n\t\tonChange,\n\t\tvalue,\n\t\t...restProps\n\t} = props;\n\n\tif ( ! __nextHasNoMarginBottom ) {\n\t\tdeprecated(\n\t\t\t'Bottom margin styles for wp.components.AnglePickerControl',\n\t\t\t{\n\t\t\t\tsince: '6.1',\n\t\t\t\thint: 'Set the `__nextHasNoMarginBottom` prop to true to start opting into the new styles, which will become the default in a future version.',\n\t\t\t}\n\t\t);\n\t}\n\n\tconst handleOnNumberChange = ( unprocessedValue: string | undefined ) => {\n\t\tif ( onChange === undefined ) {\n\t\t\treturn;\n\t\t}\n\n\t\tconst inputValue =\n\t\t\tunprocessedValue !== undefined && unprocessedValue !== ''\n\t\t\t\t? parseInt( unprocessedValue, 10 )\n\t\t\t\t: 0;\n\t\tonChange( inputValue );\n\t};\n\n\tconst classes = classnames( 'components-angle-picker-control', className );\n\n\tconst unitText = <UnitText>°</UnitText>;\n\tconst [ prefixedUnitText, suffixedUnitText ] = isRTL()\n\t\t? [ unitText, null ]\n\t\t: [ null, unitText ];\n\n\treturn (\n\t\t<Root\n\t\t\t{ ...restProps }\n\t\t\tref={ ref }\n\t\t\t__nextHasNoMarginBottom={ __nextHasNoMarginBottom }\n\t\t\tclassName={ classes }\n\t\t\tgap={ 2 }\n\t\t>\n\t\t\t<FlexBlock>\n\t\t\t\t<NumberControl\n\t\t\t\t\tlabel={ label }\n\t\t\t\t\tclassName=\"components-angle-picker-control__input-field\"\n\t\t\t\t\tmax={ 360 }\n\t\t\t\t\tmin={ 0 }\n\t\t\t\t\tonChange={ handleOnNumberChange }\n\t\t\t\t\tsize=\"__unstable-large\"\n\t\t\t\t\tstep=\"1\"\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tspinControls=\"none\"\n\t\t\t\t\tprefix={ prefixedUnitText }\n\t\t\t\t\tsuffix={ suffixedUnitText }\n\t\t\t\t/>\n\t\t\t</FlexBlock>\n\t\t\t<Spacer marginBottom=\"1\" marginTop=\"auto\">\n\t\t\t\t<AngleCircle\n\t\t\t\t\taria-hidden=\"true\"\n\t\t\t\t\tvalue={ value }\n\t\t\t\t\tonChange={ onChange }\n\t\t\t\t/>\n\t\t\t</Spacer>\n\t\t</Root>\n\t);\n}\n\n/**\n * `AnglePickerControl` is a React component to render a UI that allows users to\n * pick an angle. Users can choose an angle in a visual UI with the mouse by\n * dragging an angle indicator inside a circle or by directly inserting the\n * desired angle in a text field.\n *\n * ```jsx\n * import { useState } from '@wordpress/element';\n * import { AnglePickerControl } from '@wordpress/components';\n *\n * function Example() {\n * const [ angle, setAngle ] = useState( 0 );\n * return (\n * <AnglePickerControl\n * value={ angle }\n * onChange={ setAngle }\n * __nextHasNoMarginBottom\n * </>\n * );\n * }\n * ```\n */\nexport const AnglePickerControl = forwardRef( UnforwardedAnglePickerControl );\n\nexport default AnglePickerControl;\n"],"mappings":";AAAA;AACA;AACA;;AAEA,OAAOA,UAAU,MAAM,YAAY;;AAEnC;AACA;AACA;AACA,OAAOC,UAAU,MAAM,uBAAuB;AAC9C,SAASC,UAAU,QAAQ,oBAAoB;AAC/C,SAASC,KAAK,EAAEC,EAAE,QAAQ,iBAAiB;;AAE3C;AACA;AACA;AACA,SAASC,SAAS,QAAQ,SAAS;AACnC,SAASC,MAAM,QAAQ,WAAW;AAClC,OAAOC,aAAa,MAAM,mBAAmB;AAC7C,OAAOC,WAAW,MAAM,gBAAgB;AACxC,SAASC,IAAI,EAAEC,QAAQ,QAAQ,sCAAsC;AAKrE,SAASC,6BAA6BA,CACrCC,KAAgE,EAChEC,GAAwB,EACvB;EACD,MAAM;IACLC,uBAAuB,GAAG,KAAK;IAC/BC,SAAS;IACTC,KAAK,GAAGZ,EAAE,CAAE,OAAQ,CAAC;IACrBa,QAAQ;IACRC,KAAK;IACL,GAAGC;EACJ,CAAC,GAAGP,KAAK;EAET,IAAK,CAAEE,uBAAuB,EAAG;IAChCb,UAAU,CACT,2DAA2D,EAC3D;MACCmB,KAAK,EAAE,KAAK;MACZC,IAAI,EAAE;IACP,CACD,CAAC;EACF;EAEA,MAAMC,oBAAoB,GAAKC,gBAAoC,IAAM;IACxE,IAAKN,QAAQ,KAAKO,SAAS,EAAG;MAC7B;IACD;IAEA,MAAMC,UAAU,GACfF,gBAAgB,KAAKC,SAAS,IAAID,gBAAgB,KAAK,EAAE,GACtDG,QAAQ,CAAEH,gBAAgB,EAAE,EAAG,CAAC,GAChC,CAAC;IACLN,QAAQ,CAAEQ,UAAW,CAAC;EACvB,CAAC;EAED,MAAME,OAAO,GAAG3B,UAAU,CAAE,iCAAiC,EAAEe,SAAU,CAAC;EAE1E,MAAMa,QAAQ,GAAGC,aAAA,CAACnB,QAAQ,QAAC,MAAW,CAAC;EACvC,MAAM,CAAEoB,gBAAgB,EAAEC,gBAAgB,CAAE,GAAG5B,KAAK,CAAC,CAAC,GACnD,CAAEyB,QAAQ,EAAE,IAAI,CAAE,GAClB,CAAE,IAAI,EAAEA,QAAQ,CAAE;EAErB,OACCC,aAAA,CAACpB,IAAI;IAAA,GACCU,SAAS;IACdN,GAAG,EAAGA,GAAK;IACXC,uBAAuB,EAAGA,uBAAyB;IACnDC,SAAS,EAAGY,OAAS;IACrBK,GAAG,EAAG;EAAG,GAETH,aAAA,CAACxB,SAAS,QACTwB,aAAA,CAACtB,aAAa;IACbS,KAAK,EAAGA,KAAO;IACfD,SAAS,EAAC,8CAA8C;IACxDkB,GAAG,EAAG,GAAK;IACXC,GAAG,EAAG,CAAG;IACTjB,QAAQ,EAAGK,oBAAsB;IACjCa,IAAI,EAAC,kBAAkB;IACvBC,IAAI,EAAC,GAAG;IACRlB,KAAK,EAAGA,KAAO;IACfmB,YAAY,EAAC,MAAM;IACnBC,MAAM,EAAGR,gBAAkB;IAC3BS,MAAM,EAAGR;EAAkB,CAC3B,CACS,CAAC,EACZF,aAAA,CAACvB,MAAM;IAACkC,YAAY,EAAC,GAAG;IAACC,SAAS,EAAC;EAAM,GACxCZ,aAAA,CAACrB,WAAW;IACX,eAAY,MAAM;IAClBU,KAAK,EAAGA,KAAO;IACfD,QAAQ,EAAGA;EAAU,CACrB,CACM,CACH,CAAC;AAET;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,MAAMyB,kBAAkB,GAAGxC,UAAU,CAAES,6BAA8B,CAAC;AAE7E,eAAe+B,kBAAkB"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { createElement, Fragment } from "react";
|
|
2
|
+
/**
|
|
3
|
+
* External dependencies
|
|
4
|
+
*/
|
|
5
|
+
// eslint-disable-next-line no-restricted-imports
|
|
6
|
+
import * as Ariakit from '@ariakit/react';
|
|
7
|
+
/**
|
|
8
|
+
* WordPress dependencies
|
|
9
|
+
*/
|
|
10
|
+
import { createContext, useContext } from '@wordpress/element';
|
|
11
|
+
import { __, sprintf } from '@wordpress/i18n';
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Internal dependencies
|
|
15
|
+
*/
|
|
16
|
+
import * as Styled from './styles';
|
|
17
|
+
export const CustomSelectContext = createContext(undefined);
|
|
18
|
+
function defaultRenderSelectedValue(value) {
|
|
19
|
+
const isValueEmpty = Array.isArray(value) ? value.length === 0 : value === undefined || value === null;
|
|
20
|
+
if (isValueEmpty) {
|
|
21
|
+
return __('Select an item');
|
|
22
|
+
}
|
|
23
|
+
if (Array.isArray(value)) {
|
|
24
|
+
return value.length === 1 ? value[0] :
|
|
25
|
+
// translators: %s: number of items selected (it will always be 2 or more items)
|
|
26
|
+
sprintf(__('%s items selected'), value.length);
|
|
27
|
+
}
|
|
28
|
+
return value;
|
|
29
|
+
}
|
|
30
|
+
export function CustomSelect(props) {
|
|
31
|
+
const {
|
|
32
|
+
children,
|
|
33
|
+
defaultValue,
|
|
34
|
+
label,
|
|
35
|
+
onChange,
|
|
36
|
+
size = 'default',
|
|
37
|
+
value,
|
|
38
|
+
renderSelectedValue = defaultRenderSelectedValue
|
|
39
|
+
} = props;
|
|
40
|
+
const store = Ariakit.useSelectStore({
|
|
41
|
+
setValue: nextValue => onChange?.(nextValue),
|
|
42
|
+
defaultValue,
|
|
43
|
+
value
|
|
44
|
+
});
|
|
45
|
+
const {
|
|
46
|
+
value: currentValue
|
|
47
|
+
} = store.useState();
|
|
48
|
+
return createElement(Fragment, null, createElement(Styled.CustomSelectLabel, {
|
|
49
|
+
store: store
|
|
50
|
+
}, label), createElement(Styled.CustomSelectButton, {
|
|
51
|
+
size: size,
|
|
52
|
+
hasCustomRenderProp: !!renderSelectedValue,
|
|
53
|
+
store: store
|
|
54
|
+
}, renderSelectedValue(currentValue), createElement(Ariakit.SelectArrow, null)), createElement(Styled.CustomSelectPopover, {
|
|
55
|
+
gutter: 12,
|
|
56
|
+
store: store,
|
|
57
|
+
sameWidth: true
|
|
58
|
+
}, createElement(CustomSelectContext.Provider, {
|
|
59
|
+
value: {
|
|
60
|
+
store
|
|
61
|
+
}
|
|
62
|
+
}, children)));
|
|
63
|
+
}
|
|
64
|
+
export function CustomSelectItem({
|
|
65
|
+
children,
|
|
66
|
+
...props
|
|
67
|
+
}) {
|
|
68
|
+
const customSelectContext = useContext(CustomSelectContext);
|
|
69
|
+
return createElement(Styled.CustomSelectItem, {
|
|
70
|
+
store: customSelectContext?.store,
|
|
71
|
+
...props
|
|
72
|
+
}, children !== null && children !== void 0 ? children : props.value, createElement(Ariakit.SelectItemCheck, null));
|
|
73
|
+
}
|
|
74
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Ariakit","createContext","useContext","__","sprintf","Styled","CustomSelectContext","undefined","defaultRenderSelectedValue","value","isValueEmpty","Array","isArray","length","CustomSelect","props","children","defaultValue","label","onChange","size","renderSelectedValue","store","useSelectStore","setValue","nextValue","currentValue","useState","createElement","Fragment","CustomSelectLabel","CustomSelectButton","hasCustomRenderProp","SelectArrow","CustomSelectPopover","gutter","sameWidth","Provider","CustomSelectItem","customSelectContext","SelectItemCheck"],"sources":["@wordpress/components/src/custom-select-control-v2/index.tsx"],"sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\n/**\n * WordPress dependencies\n */\nimport { createContext, useContext } from '@wordpress/element';\nimport { __, sprintf } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport * as Styled from './styles';\nimport type {\n\tCustomSelectProps,\n\tCustomSelectItemProps,\n\tCustomSelectContext as CustomSelectContextType,\n} from './types';\n\nexport const CustomSelectContext =\n\tcreateContext< CustomSelectContextType >( undefined );\n\nfunction defaultRenderSelectedValue( value: CustomSelectProps[ 'value' ] ) {\n\tconst isValueEmpty = Array.isArray( value )\n\t\t? value.length === 0\n\t\t: value === undefined || value === null;\n\n\tif ( isValueEmpty ) {\n\t\treturn __( 'Select an item' );\n\t}\n\n\tif ( Array.isArray( value ) ) {\n\t\treturn value.length === 1\n\t\t\t? value[ 0 ]\n\t\t\t: // translators: %s: number of items selected (it will always be 2 or more items)\n\t\t\t sprintf( __( '%s items selected' ), value.length );\n\t}\n\n\treturn value;\n}\n\nexport function CustomSelect( props: CustomSelectProps ) {\n\tconst {\n\t\tchildren,\n\t\tdefaultValue,\n\t\tlabel,\n\t\tonChange,\n\t\tsize = 'default',\n\t\tvalue,\n\t\trenderSelectedValue = defaultRenderSelectedValue,\n\t} = props;\n\n\tconst store = Ariakit.useSelectStore( {\n\t\tsetValue: ( nextValue ) => onChange?.( nextValue ),\n\t\tdefaultValue,\n\t\tvalue,\n\t} );\n\n\tconst { value: currentValue } = store.useState();\n\n\treturn (\n\t\t<>\n\t\t\t<Styled.CustomSelectLabel store={ store }>\n\t\t\t\t{ label }\n\t\t\t</Styled.CustomSelectLabel>\n\t\t\t<Styled.CustomSelectButton\n\t\t\t\tsize={ size }\n\t\t\t\thasCustomRenderProp={ !! renderSelectedValue }\n\t\t\t\tstore={ store }\n\t\t\t>\n\t\t\t\t{ renderSelectedValue( currentValue ) }\n\t\t\t\t<Ariakit.SelectArrow />\n\t\t\t</Styled.CustomSelectButton>\n\t\t\t<Styled.CustomSelectPopover gutter={ 12 } store={ store } sameWidth>\n\t\t\t\t<CustomSelectContext.Provider value={ { store } }>\n\t\t\t\t\t{ children }\n\t\t\t\t</CustomSelectContext.Provider>\n\t\t\t</Styled.CustomSelectPopover>\n\t\t</>\n\t);\n}\n\nexport function CustomSelectItem( {\n\tchildren,\n\t...props\n}: CustomSelectItemProps ) {\n\tconst customSelectContext = useContext( CustomSelectContext );\n\treturn (\n\t\t<Styled.CustomSelectItem\n\t\t\tstore={ customSelectContext?.store }\n\t\t\t{ ...props }\n\t\t>\n\t\t\t{ children ?? props.value }\n\t\t\t<Ariakit.SelectItemCheck />\n\t\t</Styled.CustomSelectItem>\n\t);\n}\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;AACzC;AACA;AACA;AACA,SAASC,aAAa,EAAEC,UAAU,QAAQ,oBAAoB;AAC9D,SAASC,EAAE,EAAEC,OAAO,QAAQ,iBAAiB;;AAE7C;AACA;AACA;AACA,OAAO,KAAKC,MAAM,MAAM,UAAU;AAOlC,OAAO,MAAMC,mBAAmB,GAC/BL,aAAa,CAA6BM,SAAU,CAAC;AAEtD,SAASC,0BAA0BA,CAAEC,KAAmC,EAAG;EAC1E,MAAMC,YAAY,GAAGC,KAAK,CAACC,OAAO,CAAEH,KAAM,CAAC,GACxCA,KAAK,CAACI,MAAM,KAAK,CAAC,GAClBJ,KAAK,KAAKF,SAAS,IAAIE,KAAK,KAAK,IAAI;EAExC,IAAKC,YAAY,EAAG;IACnB,OAAOP,EAAE,CAAE,gBAAiB,CAAC;EAC9B;EAEA,IAAKQ,KAAK,CAACC,OAAO,CAAEH,KAAM,CAAC,EAAG;IAC7B,OAAOA,KAAK,CAACI,MAAM,KAAK,CAAC,GACtBJ,KAAK,CAAE,CAAC,CAAE;IACV;IACAL,OAAO,CAAED,EAAE,CAAE,mBAAoB,CAAC,EAAEM,KAAK,CAACI,MAAO,CAAC;EACtD;EAEA,OAAOJ,KAAK;AACb;AAEA,OAAO,SAASK,YAAYA,CAAEC,KAAwB,EAAG;EACxD,MAAM;IACLC,QAAQ;IACRC,YAAY;IACZC,KAAK;IACLC,QAAQ;IACRC,IAAI,GAAG,SAAS;IAChBX,KAAK;IACLY,mBAAmB,GAAGb;EACvB,CAAC,GAAGO,KAAK;EAET,MAAMO,KAAK,GAAGtB,OAAO,CAACuB,cAAc,CAAE;IACrCC,QAAQ,EAAIC,SAAS,IAAMN,QAAQ,GAAIM,SAAU,CAAC;IAClDR,YAAY;IACZR;EACD,CAAE,CAAC;EAEH,MAAM;IAAEA,KAAK,EAAEiB;EAAa,CAAC,GAAGJ,KAAK,CAACK,QAAQ,CAAC,CAAC;EAEhD,OACCC,aAAA,CAAAC,QAAA,QACCD,aAAA,CAACvB,MAAM,CAACyB,iBAAiB;IAACR,KAAK,EAAGA;EAAO,GACtCJ,KACuB,CAAC,EAC3BU,aAAA,CAACvB,MAAM,CAAC0B,kBAAkB;IACzBX,IAAI,EAAGA,IAAM;IACbY,mBAAmB,EAAG,CAAC,CAAEX,mBAAqB;IAC9CC,KAAK,EAAGA;EAAO,GAEbD,mBAAmB,CAAEK,YAAa,CAAC,EACrCE,aAAA,CAAC5B,OAAO,CAACiC,WAAW,MAAE,CACI,CAAC,EAC5BL,aAAA,CAACvB,MAAM,CAAC6B,mBAAmB;IAACC,MAAM,EAAG,EAAI;IAACb,KAAK,EAAGA,KAAO;IAACc,SAAS;EAAA,GAClER,aAAA,CAACtB,mBAAmB,CAAC+B,QAAQ;IAAC5B,KAAK,EAAG;MAAEa;IAAM;EAAG,GAC9CN,QAC2B,CACH,CAC3B,CAAC;AAEL;AAEA,OAAO,SAASsB,gBAAgBA,CAAE;EACjCtB,QAAQ;EACR,GAAGD;AACmB,CAAC,EAAG;EAC1B,MAAMwB,mBAAmB,GAAGrC,UAAU,CAAEI,mBAAoB,CAAC;EAC7D,OACCsB,aAAA,CAACvB,MAAM,CAACiC,gBAAgB;IACvBhB,KAAK,EAAGiB,mBAAmB,EAAEjB,KAAO;IAAA,GAC/BP;EAAK,GAERC,QAAQ,aAARA,QAAQ,cAARA,QAAQ,GAAID,KAAK,CAACN,KAAK,EACzBmB,aAAA,CAAC5B,OAAO,CAACwC,eAAe,MAAE,CACF,CAAC;AAE5B"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import _styled from "@emotion/styled/base";
|
|
2
|
+
/**
|
|
3
|
+
* External dependencies
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
// eslint-disable-next-line no-restricted-imports
|
|
7
|
+
import * as Ariakit from '@ariakit/react';
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Internal dependencies
|
|
11
|
+
*/
|
|
12
|
+
import { COLORS } from '../utils';
|
|
13
|
+
import { space } from '../utils/space';
|
|
14
|
+
export const CustomSelectLabel = /*#__PURE__*/_styled(Ariakit.SelectLabel, process.env.NODE_ENV === "production" ? {
|
|
15
|
+
target: "e1p3eej73"
|
|
16
|
+
} : {
|
|
17
|
+
target: "e1p3eej73",
|
|
18
|
+
label: "CustomSelectLabel"
|
|
19
|
+
})("font-size:11px;font-weight:500;line-height:1.4;text-transform:uppercase;margin-bottom:", space(2), ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvY3VzdG9tLXNlbGVjdC1jb250cm9sLXYyL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFjOEQiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy9jdXN0b20tc2VsZWN0LWNvbnRyb2wtdjIvc3R5bGVzLnRzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFeHRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtaW1wb3J0c1xuaW1wb3J0ICogYXMgQXJpYWtpdCBmcm9tICdAYXJpYWtpdC9yZWFjdCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IENPTE9SUyB9IGZyb20gJy4uL3V0aWxzJztcbmltcG9ydCB7IHNwYWNlIH0gZnJvbSAnLi4vdXRpbHMvc3BhY2UnO1xuaW1wb3J0IHR5cGUgeyBDdXN0b21TZWxlY3RQcm9wcyB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgQ3VzdG9tU2VsZWN0TGFiZWwgPSBzdHlsZWQoIEFyaWFraXQuU2VsZWN0TGFiZWwgKWBcblx0Zm9udC1zaXplOiAxMXB4O1xuXHRmb250LXdlaWdodDogNTAwO1xuXHRsaW5lLWhlaWdodDogMS40O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRtYXJnaW4tYm90dG9tOiAkeyBzcGFjZSggMiApIH07XG5gO1xuXG5jb25zdCBpbnB1dEhlaWdodHMgPSB7XG5cdGRlZmF1bHQ6IDQwLFxuXHRzbWFsbDogMjQsXG59O1xuXG5leHBvcnQgY29uc3QgQ3VzdG9tU2VsZWN0QnV0dG9uID0gc3R5bGVkKCBBcmlha2l0LlNlbGVjdCwge1xuXHQvLyBEbyBub3QgZm9yd2FyZCBgaGFzQ3VzdG9tUmVuZGVyUHJvcGAgdG8gdGhlIHVuZGVybHlpbmcgQXJpYWtpdC5TZWxlY3QgY29tcG9uZW50XG5cdHNob3VsZEZvcndhcmRQcm9wOiAoIHByb3AgKSA9PiBwcm9wICE9PSAnaGFzQ3VzdG9tUmVuZGVyUHJvcCcsXG59ICkoICgge1xuXHRzaXplLFxuXHRoYXNDdXN0b21SZW5kZXJQcm9wLFxufToge1xuXHRzaXplOiBOb25OdWxsYWJsZTwgQ3VzdG9tU2VsZWN0UHJvcHNbICdzaXplJyBdID47XG5cdGhhc0N1c3RvbVJlbmRlclByb3A6IGJvb2xlYW47XG59ICkgPT4ge1xuXHRjb25zdCBpc1NtYWxsU2l6ZSA9IHNpemUgPT09ICdzbWFsbCcgJiYgISBoYXNDdXN0b21SZW5kZXJQcm9wO1xuXHRjb25zdCBoZWlnaHRQcm9wZXJ0eSA9IGhhc0N1c3RvbVJlbmRlclByb3AgPyAnbWluSGVpZ2h0JyA6ICdoZWlnaHQnO1xuXG5cdHJldHVybiB7XG5cdFx0ZGlzcGxheTogJ2ZsZXgnLFxuXHRcdGp1c3RpZnlDb250ZW50OiAnc3BhY2UtYmV0d2VlbicsXG5cdFx0YWxpZ25JdGVtczogJ2NlbnRlcicsXG5cdFx0YmFja2dyb3VuZENvbG9yOiBDT0xPUlMud2hpdGUsXG5cdFx0Ym9yZGVyOiBgMXB4IHNvbGlkICR7IENPTE9SUy5ncmF5WyA2MDAgXSB9YCxcblx0XHRib3JkZXJSYWRpdXM6IHNwYWNlKCAwLjUgKSxcblx0XHRjdXJzb3I6ICdwb2ludGVyJyxcblx0XHR3aWR0aDogJzEwMCUnLFxuXHRcdFsgaGVpZ2h0UHJvcGVydHkgXTogYCR7IGlucHV0SGVpZ2h0c1sgc2l6ZSBdIH1weGAsXG5cdFx0cGFkZGluZzogaXNTbWFsbFNpemUgPyBzcGFjZSggMiApIDogc3BhY2UoIDQgKSxcblx0XHRmb250U2l6ZTogaXNTbWFsbFNpemUgPyAnMTFweCcgOiAnMTNweCcsXG5cdFx0JyZbZGF0YS1mb2N1cy12aXNpYmxlXSc6IHtcblx0XHRcdG91dGxpbmVTdHlsZTogJ3NvbGlkJyxcblx0XHR9LFxuXHRcdCcmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdJzoge1xuXHRcdFx0b3V0bGluZVN0eWxlOiBgMS41cHggc29saWQgJHsgQ09MT1JTLnRoZW1lLmFjY2VudCB9YCxcblx0XHR9LFxuXHR9O1xufSApO1xuXG5leHBvcnQgY29uc3QgQ3VzdG9tU2VsZWN0UG9wb3ZlciA9IHN0eWxlZCggQXJpYWtpdC5TZWxlY3RQb3BvdmVyIClgXG5cdGJvcmRlci1yYWRpdXM6ICR7IHNwYWNlKCAwLjUgKSB9O1xuXHRiYWNrZ3JvdW5kOiAkeyBDT0xPUlMud2hpdGUgfTtcblx0Ym9yZGVyOiAxcHggc29saWQgJHsgQ09MT1JTLmdyYXlbIDkwMCBdIH07XG5gO1xuXG5leHBvcnQgY29uc3QgQ3VzdG9tU2VsZWN0SXRlbSA9IHN0eWxlZCggQXJpYWtpdC5TZWxlY3RJdGVtIClgXG5cdGRpc3BsYXk6IGZsZXg7XG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcblx0cGFkZGluZzogJHsgc3BhY2UoIDIgKSB9O1xuXHQmW2RhdGEtYWN0aXZlLWl0ZW1dIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkeyBDT0xPUlMuZ3JheVsgMzAwIF0gfTtcblx0fVxuYDtcbiJdfQ== */"));
|
|
20
|
+
const inputHeights = {
|
|
21
|
+
default: 40,
|
|
22
|
+
small: 24
|
|
23
|
+
};
|
|
24
|
+
export const CustomSelectButton = /*#__PURE__*/_styled(Ariakit.Select, process.env.NODE_ENV === "production" ? {
|
|
25
|
+
// Do not forward `hasCustomRenderProp` to the underlying Ariakit.Select component
|
|
26
|
+
shouldForwardProp: prop => prop !== 'hasCustomRenderProp',
|
|
27
|
+
target: "e1p3eej72"
|
|
28
|
+
} : {
|
|
29
|
+
// Do not forward `hasCustomRenderProp` to the underlying Ariakit.Select component
|
|
30
|
+
shouldForwardProp: prop => prop !== 'hasCustomRenderProp',
|
|
31
|
+
target: "e1p3eej72",
|
|
32
|
+
label: "CustomSelectButton"
|
|
33
|
+
})(({
|
|
34
|
+
size,
|
|
35
|
+
hasCustomRenderProp
|
|
36
|
+
}) => {
|
|
37
|
+
const isSmallSize = size === 'small' && !hasCustomRenderProp;
|
|
38
|
+
const heightProperty = hasCustomRenderProp ? 'minHeight' : 'height';
|
|
39
|
+
return {
|
|
40
|
+
display: 'flex',
|
|
41
|
+
justifyContent: 'space-between',
|
|
42
|
+
alignItems: 'center',
|
|
43
|
+
backgroundColor: COLORS.white,
|
|
44
|
+
border: `1px solid ${COLORS.gray[600]}`,
|
|
45
|
+
borderRadius: space(0.5),
|
|
46
|
+
cursor: 'pointer',
|
|
47
|
+
width: '100%',
|
|
48
|
+
[heightProperty]: `${inputHeights[size]}px`,
|
|
49
|
+
padding: isSmallSize ? space(2) : space(4),
|
|
50
|
+
fontSize: isSmallSize ? '11px' : '13px',
|
|
51
|
+
'&[data-focus-visible]': {
|
|
52
|
+
outlineStyle: 'solid'
|
|
53
|
+
},
|
|
54
|
+
'&[aria-expanded="true"]': {
|
|
55
|
+
outlineStyle: `1.5px solid ${COLORS.theme.accent}`
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
}, process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvY3VzdG9tLXNlbGVjdC1jb250cm9sLXYyL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUEyQmtDIiwiZmlsZSI6IkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvY3VzdG9tLXNlbGVjdC1jb250cm9sLXYyL3N0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWltcG9ydHNcbmltcG9ydCAqIGFzIEFyaWFraXQgZnJvbSAnQGFyaWFraXQvcmVhY3QnO1xuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBDT0xPUlMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBzcGFjZSB9IGZyb20gJy4uL3V0aWxzL3NwYWNlJztcbmltcG9ydCB0eXBlIHsgQ3VzdG9tU2VsZWN0UHJvcHMgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IEN1c3RvbVNlbGVjdExhYmVsID0gc3R5bGVkKCBBcmlha2l0LlNlbGVjdExhYmVsIClgXG5cdGZvbnQtc2l6ZTogMTFweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bWFyZ2luLWJvdHRvbTogJHsgc3BhY2UoIDIgKSB9O1xuYDtcblxuY29uc3QgaW5wdXRIZWlnaHRzID0ge1xuXHRkZWZhdWx0OiA0MCxcblx0c21hbGw6IDI0LFxufTtcblxuZXhwb3J0IGNvbnN0IEN1c3RvbVNlbGVjdEJ1dHRvbiA9IHN0eWxlZCggQXJpYWtpdC5TZWxlY3QsIHtcblx0Ly8gRG8gbm90IGZvcndhcmQgYGhhc0N1c3RvbVJlbmRlclByb3BgIHRvIHRoZSB1bmRlcmx5aW5nIEFyaWFraXQuU2VsZWN0IGNvbXBvbmVudFxuXHRzaG91bGRGb3J3YXJkUHJvcDogKCBwcm9wICkgPT4gcHJvcCAhPT0gJ2hhc0N1c3RvbVJlbmRlclByb3AnLFxufSApKCAoIHtcblx0c2l6ZSxcblx0aGFzQ3VzdG9tUmVuZGVyUHJvcCxcbn06IHtcblx0c2l6ZTogTm9uTnVsbGFibGU8IEN1c3RvbVNlbGVjdFByb3BzWyAnc2l6ZScgXSA+O1xuXHRoYXNDdXN0b21SZW5kZXJQcm9wOiBib29sZWFuO1xufSApID0+IHtcblx0Y29uc3QgaXNTbWFsbFNpemUgPSBzaXplID09PSAnc21hbGwnICYmICEgaGFzQ3VzdG9tUmVuZGVyUHJvcDtcblx0Y29uc3QgaGVpZ2h0UHJvcGVydHkgPSBoYXNDdXN0b21SZW5kZXJQcm9wID8gJ21pbkhlaWdodCcgOiAnaGVpZ2h0JztcblxuXHRyZXR1cm4ge1xuXHRcdGRpc3BsYXk6ICdmbGV4Jyxcblx0XHRqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuXHRcdGFsaWduSXRlbXM6ICdjZW50ZXInLFxuXHRcdGJhY2tncm91bmRDb2xvcjogQ09MT1JTLndoaXRlLFxuXHRcdGJvcmRlcjogYDFweCBzb2xpZCAkeyBDT0xPUlMuZ3JheVsgNjAwIF0gfWAsXG5cdFx0Ym9yZGVyUmFkaXVzOiBzcGFjZSggMC41ICksXG5cdFx0Y3Vyc29yOiAncG9pbnRlcicsXG5cdFx0d2lkdGg6ICcxMDAlJyxcblx0XHRbIGhlaWdodFByb3BlcnR5IF06IGAkeyBpbnB1dEhlaWdodHNbIHNpemUgXSB9cHhgLFxuXHRcdHBhZGRpbmc6IGlzU21hbGxTaXplID8gc3BhY2UoIDIgKSA6IHNwYWNlKCA0ICksXG5cdFx0Zm9udFNpemU6IGlzU21hbGxTaXplID8gJzExcHgnIDogJzEzcHgnLFxuXHRcdCcmW2RhdGEtZm9jdXMtdmlzaWJsZV0nOiB7XG5cdFx0XHRvdXRsaW5lU3R5bGU6ICdzb2xpZCcsXG5cdFx0fSxcblx0XHQnJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSc6IHtcblx0XHRcdG91dGxpbmVTdHlsZTogYDEuNXB4IHNvbGlkICR7IENPTE9SUy50aGVtZS5hY2NlbnQgfWAsXG5cdFx0fSxcblx0fTtcbn0gKTtcblxuZXhwb3J0IGNvbnN0IEN1c3RvbVNlbGVjdFBvcG92ZXIgPSBzdHlsZWQoIEFyaWFraXQuU2VsZWN0UG9wb3ZlciApYFxuXHRib3JkZXItcmFkaXVzOiAkeyBzcGFjZSggMC41ICkgfTtcblx0YmFja2dyb3VuZDogJHsgQ09MT1JTLndoaXRlIH07XG5cdGJvcmRlcjogMXB4IHNvbGlkICR7IENPTE9SUy5ncmF5WyA5MDAgXSB9O1xuYDtcblxuZXhwb3J0IGNvbnN0IEN1c3RvbVNlbGVjdEl0ZW0gPSBzdHlsZWQoIEFyaWFraXQuU2VsZWN0SXRlbSApYFxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6ICR7IHNwYWNlKCAyICkgfTtcblx0JltkYXRhLWFjdGl2ZS1pdGVtXSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHsgQ09MT1JTLmdyYXlbIDMwMCBdIH07XG5cdH1cbmA7XG4iXX0= */");
|
|
59
|
+
export const CustomSelectPopover = /*#__PURE__*/_styled(Ariakit.SelectPopover, process.env.NODE_ENV === "production" ? {
|
|
60
|
+
target: "e1p3eej71"
|
|
61
|
+
} : {
|
|
62
|
+
target: "e1p3eej71",
|
|
63
|
+
label: "CustomSelectPopover"
|
|
64
|
+
})("border-radius:", space(0.5), ";background:", COLORS.white, ";border:1px solid ", COLORS.gray[900], ";" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvY3VzdG9tLXNlbGVjdC1jb250cm9sLXYyL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUE2RGtFIiwiZmlsZSI6IkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvY3VzdG9tLXNlbGVjdC1jb250cm9sLXYyL3N0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWltcG9ydHNcbmltcG9ydCAqIGFzIEFyaWFraXQgZnJvbSAnQGFyaWFraXQvcmVhY3QnO1xuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBDT0xPUlMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBzcGFjZSB9IGZyb20gJy4uL3V0aWxzL3NwYWNlJztcbmltcG9ydCB0eXBlIHsgQ3VzdG9tU2VsZWN0UHJvcHMgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IEN1c3RvbVNlbGVjdExhYmVsID0gc3R5bGVkKCBBcmlha2l0LlNlbGVjdExhYmVsIClgXG5cdGZvbnQtc2l6ZTogMTFweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bWFyZ2luLWJvdHRvbTogJHsgc3BhY2UoIDIgKSB9O1xuYDtcblxuY29uc3QgaW5wdXRIZWlnaHRzID0ge1xuXHRkZWZhdWx0OiA0MCxcblx0c21hbGw6IDI0LFxufTtcblxuZXhwb3J0IGNvbnN0IEN1c3RvbVNlbGVjdEJ1dHRvbiA9IHN0eWxlZCggQXJpYWtpdC5TZWxlY3QsIHtcblx0Ly8gRG8gbm90IGZvcndhcmQgYGhhc0N1c3RvbVJlbmRlclByb3BgIHRvIHRoZSB1bmRlcmx5aW5nIEFyaWFraXQuU2VsZWN0IGNvbXBvbmVudFxuXHRzaG91bGRGb3J3YXJkUHJvcDogKCBwcm9wICkgPT4gcHJvcCAhPT0gJ2hhc0N1c3RvbVJlbmRlclByb3AnLFxufSApKCAoIHtcblx0c2l6ZSxcblx0aGFzQ3VzdG9tUmVuZGVyUHJvcCxcbn06IHtcblx0c2l6ZTogTm9uTnVsbGFibGU8IEN1c3RvbVNlbGVjdFByb3BzWyAnc2l6ZScgXSA+O1xuXHRoYXNDdXN0b21SZW5kZXJQcm9wOiBib29sZWFuO1xufSApID0+IHtcblx0Y29uc3QgaXNTbWFsbFNpemUgPSBzaXplID09PSAnc21hbGwnICYmICEgaGFzQ3VzdG9tUmVuZGVyUHJvcDtcblx0Y29uc3QgaGVpZ2h0UHJvcGVydHkgPSBoYXNDdXN0b21SZW5kZXJQcm9wID8gJ21pbkhlaWdodCcgOiAnaGVpZ2h0JztcblxuXHRyZXR1cm4ge1xuXHRcdGRpc3BsYXk6ICdmbGV4Jyxcblx0XHRqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuXHRcdGFsaWduSXRlbXM6ICdjZW50ZXInLFxuXHRcdGJhY2tncm91bmRDb2xvcjogQ09MT1JTLndoaXRlLFxuXHRcdGJvcmRlcjogYDFweCBzb2xpZCAkeyBDT0xPUlMuZ3JheVsgNjAwIF0gfWAsXG5cdFx0Ym9yZGVyUmFkaXVzOiBzcGFjZSggMC41ICksXG5cdFx0Y3Vyc29yOiAncG9pbnRlcicsXG5cdFx0d2lkdGg6ICcxMDAlJyxcblx0XHRbIGhlaWdodFByb3BlcnR5IF06IGAkeyBpbnB1dEhlaWdodHNbIHNpemUgXSB9cHhgLFxuXHRcdHBhZGRpbmc6IGlzU21hbGxTaXplID8gc3BhY2UoIDIgKSA6IHNwYWNlKCA0ICksXG5cdFx0Zm9udFNpemU6IGlzU21hbGxTaXplID8gJzExcHgnIDogJzEzcHgnLFxuXHRcdCcmW2RhdGEtZm9jdXMtdmlzaWJsZV0nOiB7XG5cdFx0XHRvdXRsaW5lU3R5bGU6ICdzb2xpZCcsXG5cdFx0fSxcblx0XHQnJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSc6IHtcblx0XHRcdG91dGxpbmVTdHlsZTogYDEuNXB4IHNvbGlkICR7IENPTE9SUy50aGVtZS5hY2NlbnQgfWAsXG5cdFx0fSxcblx0fTtcbn0gKTtcblxuZXhwb3J0IGNvbnN0IEN1c3RvbVNlbGVjdFBvcG92ZXIgPSBzdHlsZWQoIEFyaWFraXQuU2VsZWN0UG9wb3ZlciApYFxuXHRib3JkZXItcmFkaXVzOiAkeyBzcGFjZSggMC41ICkgfTtcblx0YmFja2dyb3VuZDogJHsgQ09MT1JTLndoaXRlIH07XG5cdGJvcmRlcjogMXB4IHNvbGlkICR7IENPTE9SUy5ncmF5WyA5MDAgXSB9O1xuYDtcblxuZXhwb3J0IGNvbnN0IEN1c3RvbVNlbGVjdEl0ZW0gPSBzdHlsZWQoIEFyaWFraXQuU2VsZWN0SXRlbSApYFxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6ICR7IHNwYWNlKCAyICkgfTtcblx0JltkYXRhLWFjdGl2ZS1pdGVtXSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHsgQ09MT1JTLmdyYXlbIDMwMCBdIH07XG5cdH1cbmA7XG4iXX0= */"));
|
|
65
|
+
export const CustomSelectItem = /*#__PURE__*/_styled(Ariakit.SelectItem, process.env.NODE_ENV === "production" ? {
|
|
66
|
+
target: "e1p3eej70"
|
|
67
|
+
} : {
|
|
68
|
+
target: "e1p3eej70",
|
|
69
|
+
label: "CustomSelectItem"
|
|
70
|
+
})("display:flex;align-items:center;justify-content:space-between;padding:", space(2), ";&[data-active-item]{background-color:", COLORS.gray[300], ";}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvY3VzdG9tLXNlbGVjdC1jb250cm9sLXYyL3N0eWxlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFtRTREIiwiZmlsZSI6IkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvY3VzdG9tLXNlbGVjdC1jb250cm9sLXYyL3N0eWxlcy50cyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLWltcG9ydHNcbmltcG9ydCAqIGFzIEFyaWFraXQgZnJvbSAnQGFyaWFraXQvcmVhY3QnO1xuXG4vKipcbiAqIEludGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgeyBDT0xPUlMgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBzcGFjZSB9IGZyb20gJy4uL3V0aWxzL3NwYWNlJztcbmltcG9ydCB0eXBlIHsgQ3VzdG9tU2VsZWN0UHJvcHMgfSBmcm9tICcuL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IEN1c3RvbVNlbGVjdExhYmVsID0gc3R5bGVkKCBBcmlha2l0LlNlbGVjdExhYmVsIClgXG5cdGZvbnQtc2l6ZTogMTFweDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0bGluZS1oZWlnaHQ6IDEuNDtcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblx0bWFyZ2luLWJvdHRvbTogJHsgc3BhY2UoIDIgKSB9O1xuYDtcblxuY29uc3QgaW5wdXRIZWlnaHRzID0ge1xuXHRkZWZhdWx0OiA0MCxcblx0c21hbGw6IDI0LFxufTtcblxuZXhwb3J0IGNvbnN0IEN1c3RvbVNlbGVjdEJ1dHRvbiA9IHN0eWxlZCggQXJpYWtpdC5TZWxlY3QsIHtcblx0Ly8gRG8gbm90IGZvcndhcmQgYGhhc0N1c3RvbVJlbmRlclByb3BgIHRvIHRoZSB1bmRlcmx5aW5nIEFyaWFraXQuU2VsZWN0IGNvbXBvbmVudFxuXHRzaG91bGRGb3J3YXJkUHJvcDogKCBwcm9wICkgPT4gcHJvcCAhPT0gJ2hhc0N1c3RvbVJlbmRlclByb3AnLFxufSApKCAoIHtcblx0c2l6ZSxcblx0aGFzQ3VzdG9tUmVuZGVyUHJvcCxcbn06IHtcblx0c2l6ZTogTm9uTnVsbGFibGU8IEN1c3RvbVNlbGVjdFByb3BzWyAnc2l6ZScgXSA+O1xuXHRoYXNDdXN0b21SZW5kZXJQcm9wOiBib29sZWFuO1xufSApID0+IHtcblx0Y29uc3QgaXNTbWFsbFNpemUgPSBzaXplID09PSAnc21hbGwnICYmICEgaGFzQ3VzdG9tUmVuZGVyUHJvcDtcblx0Y29uc3QgaGVpZ2h0UHJvcGVydHkgPSBoYXNDdXN0b21SZW5kZXJQcm9wID8gJ21pbkhlaWdodCcgOiAnaGVpZ2h0JztcblxuXHRyZXR1cm4ge1xuXHRcdGRpc3BsYXk6ICdmbGV4Jyxcblx0XHRqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuXHRcdGFsaWduSXRlbXM6ICdjZW50ZXInLFxuXHRcdGJhY2tncm91bmRDb2xvcjogQ09MT1JTLndoaXRlLFxuXHRcdGJvcmRlcjogYDFweCBzb2xpZCAkeyBDT0xPUlMuZ3JheVsgNjAwIF0gfWAsXG5cdFx0Ym9yZGVyUmFkaXVzOiBzcGFjZSggMC41ICksXG5cdFx0Y3Vyc29yOiAncG9pbnRlcicsXG5cdFx0d2lkdGg6ICcxMDAlJyxcblx0XHRbIGhlaWdodFByb3BlcnR5IF06IGAkeyBpbnB1dEhlaWdodHNbIHNpemUgXSB9cHhgLFxuXHRcdHBhZGRpbmc6IGlzU21hbGxTaXplID8gc3BhY2UoIDIgKSA6IHNwYWNlKCA0ICksXG5cdFx0Zm9udFNpemU6IGlzU21hbGxTaXplID8gJzExcHgnIDogJzEzcHgnLFxuXHRcdCcmW2RhdGEtZm9jdXMtdmlzaWJsZV0nOiB7XG5cdFx0XHRvdXRsaW5lU3R5bGU6ICdzb2xpZCcsXG5cdFx0fSxcblx0XHQnJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSc6IHtcblx0XHRcdG91dGxpbmVTdHlsZTogYDEuNXB4IHNvbGlkICR7IENPTE9SUy50aGVtZS5hY2NlbnQgfWAsXG5cdFx0fSxcblx0fTtcbn0gKTtcblxuZXhwb3J0IGNvbnN0IEN1c3RvbVNlbGVjdFBvcG92ZXIgPSBzdHlsZWQoIEFyaWFraXQuU2VsZWN0UG9wb3ZlciApYFxuXHRib3JkZXItcmFkaXVzOiAkeyBzcGFjZSggMC41ICkgfTtcblx0YmFja2dyb3VuZDogJHsgQ09MT1JTLndoaXRlIH07XG5cdGJvcmRlcjogMXB4IHNvbGlkICR7IENPTE9SUy5ncmF5WyA5MDAgXSB9O1xuYDtcblxuZXhwb3J0IGNvbnN0IEN1c3RvbVNlbGVjdEl0ZW0gPSBzdHlsZWQoIEFyaWFraXQuU2VsZWN0SXRlbSApYFxuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cdHBhZGRpbmc6ICR7IHNwYWNlKCAyICkgfTtcblx0JltkYXRhLWFjdGl2ZS1pdGVtXSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHsgQ09MT1JTLmdyYXlbIDMwMCBdIH07XG5cdH1cbmA7XG4iXX0= */"));
|
|
71
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Ariakit","COLORS","space","CustomSelectLabel","_styled","SelectLabel","process","env","NODE_ENV","target","label","inputHeights","default","small","CustomSelectButton","Select","shouldForwardProp","prop","size","hasCustomRenderProp","isSmallSize","heightProperty","display","justifyContent","alignItems","backgroundColor","white","border","gray","borderRadius","cursor","width","padding","fontSize","outlineStyle","theme","accent","CustomSelectPopover","SelectPopover","CustomSelectItem","SelectItem"],"sources":["@wordpress/components/src/custom-select-control-v2/styles.ts"],"sourcesContent":["/**\n * External dependencies\n */\nimport styled from '@emotion/styled';\n// eslint-disable-next-line no-restricted-imports\nimport * as Ariakit from '@ariakit/react';\n\n/**\n * Internal dependencies\n */\nimport { COLORS } from '../utils';\nimport { space } from '../utils/space';\nimport type { CustomSelectProps } from './types';\n\nexport const CustomSelectLabel = styled( Ariakit.SelectLabel )`\n\tfont-size: 11px;\n\tfont-weight: 500;\n\tline-height: 1.4;\n\ttext-transform: uppercase;\n\tmargin-bottom: ${ space( 2 ) };\n`;\n\nconst inputHeights = {\n\tdefault: 40,\n\tsmall: 24,\n};\n\nexport const CustomSelectButton = styled( Ariakit.Select, {\n\t// Do not forward `hasCustomRenderProp` to the underlying Ariakit.Select component\n\tshouldForwardProp: ( prop ) => prop !== 'hasCustomRenderProp',\n} )( ( {\n\tsize,\n\thasCustomRenderProp,\n}: {\n\tsize: NonNullable< CustomSelectProps[ 'size' ] >;\n\thasCustomRenderProp: boolean;\n} ) => {\n\tconst isSmallSize = size === 'small' && ! hasCustomRenderProp;\n\tconst heightProperty = hasCustomRenderProp ? 'minHeight' : 'height';\n\n\treturn {\n\t\tdisplay: 'flex',\n\t\tjustifyContent: 'space-between',\n\t\talignItems: 'center',\n\t\tbackgroundColor: COLORS.white,\n\t\tborder: `1px solid ${ COLORS.gray[ 600 ] }`,\n\t\tborderRadius: space( 0.5 ),\n\t\tcursor: 'pointer',\n\t\twidth: '100%',\n\t\t[ heightProperty ]: `${ inputHeights[ size ] }px`,\n\t\tpadding: isSmallSize ? space( 2 ) : space( 4 ),\n\t\tfontSize: isSmallSize ? '11px' : '13px',\n\t\t'&[data-focus-visible]': {\n\t\t\toutlineStyle: 'solid',\n\t\t},\n\t\t'&[aria-expanded=\"true\"]': {\n\t\t\toutlineStyle: `1.5px solid ${ COLORS.theme.accent }`,\n\t\t},\n\t};\n} );\n\nexport const CustomSelectPopover = styled( Ariakit.SelectPopover )`\n\tborder-radius: ${ space( 0.5 ) };\n\tbackground: ${ COLORS.white };\n\tborder: 1px solid ${ COLORS.gray[ 900 ] };\n`;\n\nexport const CustomSelectItem = styled( Ariakit.SelectItem )`\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: space-between;\n\tpadding: ${ space( 2 ) };\n\t&[data-active-item] {\n\t\tbackground-color: ${ COLORS.gray[ 300 ] };\n\t}\n`;\n"],"mappings":";AAAA;AACA;AACA;;AAEA;AACA,OAAO,KAAKA,OAAO,MAAM,gBAAgB;;AAEzC;AACA;AACA;AACA,SAASC,MAAM,QAAQ,UAAU;AACjC,SAASC,KAAK,QAAQ,gBAAgB;AAGtC,OAAO,MAAMC,iBAAiB,GAAG,aAAAC,OAAA,CAAQJ,OAAO,CAACK,WAAW,EAAAC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,CAAC,CAAC,2FAK3CR,KAAK,CAAE,CAAE,CAAC,SAAAI,OAAA,CAAAC,GAAA,CAAAC,QAAA,oqGAC5B;AAED,MAAMG,YAAY,GAAG;EACpBC,OAAO,EAAE,EAAE;EACXC,KAAK,EAAE;AACR,CAAC;AAED,OAAO,MAAMC,kBAAkB,GAAG,aAAAV,OAAA,CAAQJ,OAAO,CAACe,MAAM,EAAAT,OAAA,CAAAC,GAAA,CAAAC,QAAA;EACvD;EACAQ,iBAAiB,EAAIC,IAAI,IAAMA,IAAI,KAAK,qBAAqB;EAAAR,MAAA;AAAA;EAD7D;EACAO,iBAAiB,EAAIC,IAAI,IAAMA,IAAI,KAAK,qBAAqB;EAAAR,MAAA;EAAAC,KAAA;AAAA,CAC5D,CAAC,CAAE,CAAE;EACNQ,IAAI;EACJC;AAID,CAAC,KAAM;EACN,MAAMC,WAAW,GAAGF,IAAI,KAAK,OAAO,IAAI,CAAEC,mBAAmB;EAC7D,MAAME,cAAc,GAAGF,mBAAmB,GAAG,WAAW,GAAG,QAAQ;EAEnE,OAAO;IACNG,OAAO,EAAE,MAAM;IACfC,cAAc,EAAE,eAAe;IAC/BC,UAAU,EAAE,QAAQ;IACpBC,eAAe,EAAExB,MAAM,CAACyB,KAAK;IAC7BC,MAAM,EAAG,aAAa1B,MAAM,CAAC2B,IAAI,CAAE,GAAG,CAAI,EAAC;IAC3CC,YAAY,EAAE3B,KAAK,CAAE,GAAI,CAAC;IAC1B4B,MAAM,EAAE,SAAS;IACjBC,KAAK,EAAE,MAAM;IACb,CAAEV,cAAc,GAAK,GAAGV,YAAY,CAAEO,IAAI,CAAI,IAAG;IACjDc,OAAO,EAAEZ,WAAW,GAAGlB,KAAK,CAAE,CAAE,CAAC,GAAGA,KAAK,CAAE,CAAE,CAAC;IAC9C+B,QAAQ,EAAEb,WAAW,GAAG,MAAM,GAAG,MAAM;IACvC,uBAAuB,EAAE;MACxBc,YAAY,EAAE;IACf,CAAC;IACD,yBAAyB,EAAE;MAC1BA,YAAY,EAAG,eAAejC,MAAM,CAACkC,KAAK,CAACC,MAAQ;IACpD;EACD,CAAC;AACF,CAAC,EAAA9B,OAAA,CAAAC,GAAA,CAAAC,QAAA,kqGAAC,CAAC;AAEH,OAAO,MAAM6B,mBAAmB,GAAG,aAAAjC,OAAA,CAAQJ,OAAO,CAACsC,aAAa,EAAAhC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,CAAC,CAAC,mBAC/CR,KAAK,CAAE,GAAI,CAAC,kBACfD,MAAM,CAACyB,KAAK,wBACNzB,MAAM,CAAC2B,IAAI,CAAE,GAAG,CAAE,SAAAtB,OAAA,CAAAC,GAAA,CAAAC,QAAA,oqGACvC;AAED,OAAO,MAAM+B,gBAAgB,GAAG,aAAAnC,OAAA,CAAQJ,OAAO,CAACwC,UAAU,EAAAlC,OAAA,CAAAC,GAAA,CAAAC,QAAA;EAAAC,MAAA;AAAA;EAAAA,MAAA;EAAAC,KAAA;AAAA,CAAC,CAAC,2EAI/CR,KAAK,CAAE,CAAE,CAAC,4CAEAD,MAAM,CAAC2B,IAAI,CAAE,GAAG,CAAE,UAAAtB,OAAA,CAAAC,GAAA,CAAAC,QAAA,oqGAExC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["@wordpress/components/src/custom-select-control-v2/types.ts"],"sourcesContent":["/**\n * External dependencies\n */\n// eslint-disable-next-line no-restricted-imports\nimport type * as Ariakit from '@ariakit/react';\n\nexport type CustomSelectContext =\n\t| {\n\t\t\t/**\n\t\t\t * The store object returned by Ariakit's `useSelectStore` hook.\n\t\t\t */\n\t\t\tstore: Ariakit.SelectStore;\n\t }\n\t| undefined;\n\nexport type CustomSelectProps = {\n\t/**\n\t * The child elements. This should be composed of CustomSelectItem components.\n\t */\n\tchildren: React.ReactNode;\n\t/**\n\t * An optional default value for the control. If left `undefined`, the first\n\t * non-disabled item will be used.\n\t */\n\tdefaultValue?: string | string[];\n\t/**\n\t * Label for the control.\n\t */\n\tlabel: string;\n\t/**\n\t * A function that receives the new value of the input.\n\t */\n\tonChange?: ( newValue: string | string[] ) => void;\n\t/**\n\t * Can be used to render select UI with custom styled values.\n\t */\n\trenderSelectedValue?: (\n\t\tselectedValue: string | string[]\n\t) => React.ReactNode;\n\t/**\n\t * The size of the control.\n\t *\n\t * @default 'default'\n\t */\n\tsize?: 'default' | 'small';\n\t/**\n\t * Can be used to externally control the value of the control.\n\t */\n\tvalue?: string | string[];\n};\n\nexport type CustomSelectItemProps = {\n\t/**\n\t * The value of the select item. This will be used as the children if\n\t * children are left `undefined`.\n\t */\n\tvalue: string;\n\t/**\n\t * The children to display for each select item. The `value` will be\n\t * used if left `undefined`.\n\t */\n\tchildren?: React.ReactNode;\n};\n"],"mappings":""}
|