@wordpress/components 29.8.0 → 29.10.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/.stylelintrc.js +1 -1
- package/CHANGELOG.md +31 -1
- package/build/color-picker/color-copy-button.js +3 -2
- package/build/color-picker/color-copy-button.js.map +1 -1
- package/build/guide/index.js +4 -2
- package/build/guide/index.js.map +1 -1
- package/build/guide/types.js.map +1 -1
- package/build/item-group/styles.js +10 -10
- package/build/item-group/styles.js.map +1 -1
- package/build/notice/types.js.map +1 -1
- package/build/popover/index.js +9 -1
- package/build/popover/index.js.map +1 -1
- package/build/popover/types.js.map +1 -1
- package/build/snackbar/index.js +16 -11
- package/build/snackbar/index.js.map +1 -1
- package/build/snackbar/types.js.map +1 -1
- package/build/spinner/index.js +5 -5
- package/build/spinner/index.js.map +1 -1
- package/build/textarea-control/styles/textarea-control-styles.js +3 -3
- package/build/textarea-control/styles/textarea-control-styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js +1 -1
- package/build/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build/unit-control/utils.js +9 -8
- package/build/unit-control/utils.js.map +1 -1
- package/build/utils/with-ignore-ime-events.js +5 -5
- package/build/utils/with-ignore-ime-events.js.map +1 -1
- package/build-module/color-picker/color-copy-button.js +4 -3
- package/build-module/color-picker/color-copy-button.js.map +1 -1
- package/build-module/guide/index.js +4 -2
- package/build-module/guide/index.js.map +1 -1
- package/build-module/guide/types.js.map +1 -1
- package/build-module/item-group/styles.js +10 -10
- package/build-module/item-group/styles.js.map +1 -1
- package/build-module/notice/types.js.map +1 -1
- package/build-module/popover/index.js +9 -1
- package/build-module/popover/index.js.map +1 -1
- package/build-module/popover/types.js.map +1 -1
- package/build-module/snackbar/index.js +16 -11
- package/build-module/snackbar/index.js.map +1 -1
- package/build-module/snackbar/types.js.map +1 -1
- package/build-module/spinner/index.js +5 -5
- package/build-module/spinner/index.js.map +1 -1
- package/build-module/textarea-control/styles/textarea-control-styles.js +3 -3
- package/build-module/textarea-control/styles/textarea-control-styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js +1 -1
- package/build-module/toggle-group-control/toggle-group-control/component.js.map +1 -1
- package/build-module/unit-control/utils.js +9 -8
- package/build-module/unit-control/utils.js.map +1 -1
- package/build-module/utils/with-ignore-ime-events.js +5 -5
- package/build-module/utils/with-ignore-ime-events.js.map +1 -1
- package/build-style/style-rtl.css +78 -64
- package/build-style/style.css +78 -64
- package/build-types/guide/index.d.ts +1 -1
- package/build-types/guide/index.d.ts.map +1 -1
- package/build-types/guide/stories/index.story.d.ts.map +1 -1
- package/build-types/guide/types.d.ts +12 -0
- package/build-types/guide/types.d.ts.map +1 -1
- package/build-types/notice/types.d.ts +3 -1
- package/build-types/notice/types.d.ts.map +1 -1
- package/build-types/popover/index.d.ts.map +1 -1
- package/build-types/popover/types.d.ts +4 -0
- package/build-types/popover/types.d.ts.map +1 -1
- package/build-types/snackbar/index.d.ts +1 -1
- package/build-types/snackbar/index.d.ts.map +1 -1
- package/build-types/snackbar/types.d.ts +1 -1
- package/build-types/snackbar/types.d.ts.map +1 -1
- package/build-types/spinner/index.d.ts +5 -5
- package/build-types/textarea-control/styles/textarea-control-styles.d.ts.map +1 -1
- package/build-types/unit-control/utils.d.ts.map +1 -1
- package/build-types/utils/with-ignore-ime-events.d.ts +4 -4
- package/build-types/utils/with-ignore-ime-events.d.ts.map +1 -1
- package/package.json +19 -19
- package/src/color-picker/color-copy-button.tsx +4 -4
- package/src/color-picker/test/index.tsx +103 -26
- package/src/duotone-picker/style.scss +4 -0
- package/src/guide/README.md +16 -0
- package/src/guide/index.tsx +4 -2
- package/src/guide/stories/index.story.tsx +2 -0
- package/src/guide/types.ts +12 -0
- package/src/item-group/styles.ts +1 -1
- package/src/item-group/test/__snapshots__/index.js.snap +1 -1
- package/src/notice/README.md +3 -2
- package/src/notice/types.ts +3 -1
- package/src/popover/README.md +11 -0
- package/src/popover/index.tsx +12 -1
- package/src/popover/types.ts +4 -0
- package/src/snackbar/index.tsx +30 -17
- package/src/snackbar/style.scss +2 -1
- package/src/snackbar/types.ts +4 -1
- package/src/spinner/index.tsx +5 -5
- package/src/text-control/style.scss +3 -1
- package/src/textarea-control/styles/textarea-control-styles.ts +2 -0
- package/src/toggle-group-control/toggle-group-control/component.tsx +1 -1
- package/src/unit-control/test/utils.ts +36 -0
- package/src/unit-control/utils.ts +8 -11
- package/src/utils/with-ignore-ime-events.ts +5 -5
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -358,15 +358,16 @@ export const useCustomUnits = ({
|
|
|
358
358
|
defaultValues
|
|
359
359
|
}) => {
|
|
360
360
|
const customUnitsToReturn = filterUnitsWithSettings(availableUnits, units);
|
|
361
|
-
if (defaultValues) {
|
|
362
|
-
customUnitsToReturn
|
|
363
|
-
if (defaultValues[unit.value]) {
|
|
364
|
-
const [parsedDefaultValue] = parseQuantityAndUnitFromRawValue(defaultValues[unit.value]);
|
|
365
|
-
customUnitsToReturn[i].default = parsedDefaultValue;
|
|
366
|
-
}
|
|
367
|
-
});
|
|
361
|
+
if (!defaultValues) {
|
|
362
|
+
return customUnitsToReturn;
|
|
368
363
|
}
|
|
369
|
-
return customUnitsToReturn
|
|
364
|
+
return customUnitsToReturn.map(unit => {
|
|
365
|
+
const [defaultValue] = defaultValues[unit.value] ? parseQuantityAndUnitFromRawValue(defaultValues[unit.value]) : [];
|
|
366
|
+
return {
|
|
367
|
+
...unit,
|
|
368
|
+
default: defaultValue
|
|
369
|
+
};
|
|
370
|
+
});
|
|
370
371
|
};
|
|
371
372
|
|
|
372
373
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["__","_x","Platform","isWeb","OS","allUnits","px","value","label","a11yLabel","step","em","rem","vw","vh","vmin","vmax","ch","ex","cm","mm","in","pc","pt","svw","svh","svi","svb","svmin","lvw","lvh","lvi","lvb","lvmin","dvw","dvh","dvi","dvb","dvmin","dvmax","svmax","lvmax","ALL_CSS_UNITS","Object","values","CSS_UNITS","DEFAULT_UNIT","getParsedQuantityAndUnit","rawValue","fallbackUnit","allowedUnits","initialValue","parseQuantityAndUnitFromRawValue","hasUnits","units","Array","isArray","length","trimmedValue","quantityToReturn","trim","parsedQuantity","parseFloat","isFinite","undefined","unitMatch","match","matchedUnit","toLowerCase","unitToReturn","find","item","getValidParsedQuantityAndUnit","fallbackQuantity","parsedUnit","getAccessibleLabelForUnit","unit","filterUnitsWithSettings","allowedUnitValues","availableUnits","filter","includes","useCustomUnits","defaultValues","customUnitsToReturn","forEach","i","parsedDefaultValue","default","getUnitsWithCurrentUnit","legacyUnit","unitsToReturn","currentUnit","some","unshift"],"sources":["@wordpress/components/src/unit-control/utils.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WPUnitControlUnit } from './types';\n\nconst isWeb = Platform.OS === 'web';\n\nconst allUnits: Record< string, WPUnitControlUnit > = {\n\tpx: {\n\t\tvalue: 'px',\n\t\tlabel: isWeb ? 'px' : __( 'Pixels (px)' ),\n\t\ta11yLabel: __( 'Pixels (px)' ),\n\t\tstep: 1,\n\t},\n\t'%': {\n\t\tvalue: '%',\n\t\tlabel: isWeb ? '%' : __( 'Percentage (%)' ),\n\t\ta11yLabel: __( 'Percent (%)' ),\n\t\tstep: 0.1,\n\t},\n\tem: {\n\t\tvalue: 'em',\n\t\tlabel: isWeb ? 'em' : __( 'Relative to parent font size (em)' ),\n\t\ta11yLabel: _x( 'ems', 'Relative to parent font size (em)' ),\n\t\tstep: 0.01,\n\t},\n\trem: {\n\t\tvalue: 'rem',\n\t\tlabel: isWeb ? 'rem' : __( 'Relative to root font size (rem)' ),\n\t\ta11yLabel: _x( 'rems', 'Relative to root font size (rem)' ),\n\t\tstep: 0.01,\n\t},\n\tvw: {\n\t\tvalue: 'vw',\n\t\tlabel: isWeb ? 'vw' : __( 'Viewport width (vw)' ),\n\t\ta11yLabel: __( 'Viewport width (vw)' ),\n\t\tstep: 0.1,\n\t},\n\tvh: {\n\t\tvalue: 'vh',\n\t\tlabel: isWeb ? 'vh' : __( 'Viewport height (vh)' ),\n\t\ta11yLabel: __( 'Viewport height (vh)' ),\n\t\tstep: 0.1,\n\t},\n\tvmin: {\n\t\tvalue: 'vmin',\n\t\tlabel: isWeb ? 'vmin' : __( 'Viewport smallest dimension (vmin)' ),\n\t\ta11yLabel: __( 'Viewport smallest dimension (vmin)' ),\n\t\tstep: 0.1,\n\t},\n\tvmax: {\n\t\tvalue: 'vmax',\n\t\tlabel: isWeb ? 'vmax' : __( 'Viewport largest dimension (vmax)' ),\n\t\ta11yLabel: __( 'Viewport largest dimension (vmax)' ),\n\t\tstep: 0.1,\n\t},\n\tch: {\n\t\tvalue: 'ch',\n\t\tlabel: isWeb ? 'ch' : __( 'Width of the zero (0) character (ch)' ),\n\t\ta11yLabel: __( 'Width of the zero (0) character (ch)' ),\n\t\tstep: 0.01,\n\t},\n\tex: {\n\t\tvalue: 'ex',\n\t\tlabel: isWeb ? 'ex' : __( 'x-height of the font (ex)' ),\n\t\ta11yLabel: __( 'x-height of the font (ex)' ),\n\t\tstep: 0.01,\n\t},\n\tcm: {\n\t\tvalue: 'cm',\n\t\tlabel: isWeb ? 'cm' : __( 'Centimeters (cm)' ),\n\t\ta11yLabel: __( 'Centimeters (cm)' ),\n\t\tstep: 0.001,\n\t},\n\tmm: {\n\t\tvalue: 'mm',\n\t\tlabel: isWeb ? 'mm' : __( 'Millimeters (mm)' ),\n\t\ta11yLabel: __( 'Millimeters (mm)' ),\n\t\tstep: 0.1,\n\t},\n\tin: {\n\t\tvalue: 'in',\n\t\tlabel: isWeb ? 'in' : __( 'Inches (in)' ),\n\t\ta11yLabel: __( 'Inches (in)' ),\n\t\tstep: 0.001,\n\t},\n\tpc: {\n\t\tvalue: 'pc',\n\t\tlabel: isWeb ? 'pc' : __( 'Picas (pc)' ),\n\t\ta11yLabel: __( 'Picas (pc)' ),\n\t\tstep: 1,\n\t},\n\tpt: {\n\t\tvalue: 'pt',\n\t\tlabel: isWeb ? 'pt' : __( 'Points (pt)' ),\n\t\ta11yLabel: __( 'Points (pt)' ),\n\t\tstep: 1,\n\t},\n\tsvw: {\n\t\tvalue: 'svw',\n\t\tlabel: isWeb ? 'svw' : __( 'Small viewport width (svw)' ),\n\t\ta11yLabel: __( 'Small viewport width (svw)' ),\n\t\tstep: 0.1,\n\t},\n\tsvh: {\n\t\tvalue: 'svh',\n\t\tlabel: isWeb ? 'svh' : __( 'Small viewport height (svh)' ),\n\t\ta11yLabel: __( 'Small viewport height (svh)' ),\n\t\tstep: 0.1,\n\t},\n\tsvi: {\n\t\tvalue: 'svi',\n\t\tlabel: isWeb\n\t\t\t? 'svi'\n\t\t\t: __( 'Viewport smallest size in the inline direction (svi)' ),\n\t\ta11yLabel: __( 'Small viewport width or height (svi)' ),\n\t\tstep: 0.1,\n\t},\n\tsvb: {\n\t\tvalue: 'svb',\n\t\tlabel: isWeb\n\t\t\t? 'svb'\n\t\t\t: __( 'Viewport smallest size in the block direction (svb)' ),\n\t\ta11yLabel: __( 'Small viewport width or height (svb)' ),\n\t\tstep: 0.1,\n\t},\n\tsvmin: {\n\t\tvalue: 'svmin',\n\t\tlabel: isWeb\n\t\t\t? 'svmin'\n\t\t\t: __( 'Small viewport smallest dimension (svmin)' ),\n\t\ta11yLabel: __( 'Small viewport smallest dimension (svmin)' ),\n\t\tstep: 0.1,\n\t},\n\tlvw: {\n\t\tvalue: 'lvw',\n\t\tlabel: isWeb ? 'lvw' : __( 'Large viewport width (lvw)' ),\n\t\ta11yLabel: __( 'Large viewport width (lvw)' ),\n\t\tstep: 0.1,\n\t},\n\tlvh: {\n\t\tvalue: 'lvh',\n\t\tlabel: isWeb ? 'lvh' : __( 'Large viewport height (lvh)' ),\n\t\ta11yLabel: __( 'Large viewport height (lvh)' ),\n\t\tstep: 0.1,\n\t},\n\tlvi: {\n\t\tvalue: 'lvi',\n\t\tlabel: isWeb ? 'lvi' : __( 'Large viewport width or height (lvi)' ),\n\t\ta11yLabel: __( 'Large viewport width or height (lvi)' ),\n\t\tstep: 0.1,\n\t},\n\tlvb: {\n\t\tvalue: 'lvb',\n\t\tlabel: isWeb ? 'lvb' : __( 'Large viewport width or height (lvb)' ),\n\t\ta11yLabel: __( 'Large viewport width or height (lvb)' ),\n\t\tstep: 0.1,\n\t},\n\tlvmin: {\n\t\tvalue: 'lvmin',\n\t\tlabel: isWeb\n\t\t\t? 'lvmin'\n\t\t\t: __( 'Large viewport smallest dimension (lvmin)' ),\n\t\ta11yLabel: __( 'Large viewport smallest dimension (lvmin)' ),\n\t\tstep: 0.1,\n\t},\n\tdvw: {\n\t\tvalue: 'dvw',\n\t\tlabel: isWeb ? 'dvw' : __( 'Dynamic viewport width (dvw)' ),\n\t\ta11yLabel: __( 'Dynamic viewport width (dvw)' ),\n\t\tstep: 0.1,\n\t},\n\tdvh: {\n\t\tvalue: 'dvh',\n\t\tlabel: isWeb ? 'dvh' : __( 'Dynamic viewport height (dvh)' ),\n\t\ta11yLabel: __( 'Dynamic viewport height (dvh)' ),\n\t\tstep: 0.1,\n\t},\n\tdvi: {\n\t\tvalue: 'dvi',\n\t\tlabel: isWeb ? 'dvi' : __( 'Dynamic viewport width or height (dvi)' ),\n\t\ta11yLabel: __( 'Dynamic viewport width or height (dvi)' ),\n\t\tstep: 0.1,\n\t},\n\tdvb: {\n\t\tvalue: 'dvb',\n\t\tlabel: isWeb ? 'dvb' : __( 'Dynamic viewport width or height (dvb)' ),\n\t\ta11yLabel: __( 'Dynamic viewport width or height (dvb)' ),\n\t\tstep: 0.1,\n\t},\n\tdvmin: {\n\t\tvalue: 'dvmin',\n\t\tlabel: isWeb\n\t\t\t? 'dvmin'\n\t\t\t: __( 'Dynamic viewport smallest dimension (dvmin)' ),\n\t\ta11yLabel: __( 'Dynamic viewport smallest dimension (dvmin)' ),\n\t\tstep: 0.1,\n\t},\n\tdvmax: {\n\t\tvalue: 'dvmax',\n\t\tlabel: isWeb\n\t\t\t? 'dvmax'\n\t\t\t: __( 'Dynamic viewport largest dimension (dvmax)' ),\n\t\ta11yLabel: __( 'Dynamic viewport largest dimension (dvmax)' ),\n\t\tstep: 0.1,\n\t},\n\tsvmax: {\n\t\tvalue: 'svmax',\n\t\tlabel: isWeb\n\t\t\t? 'svmax'\n\t\t\t: __( 'Small viewport largest dimension (svmax)' ),\n\t\ta11yLabel: __( 'Small viewport largest dimension (svmax)' ),\n\t\tstep: 0.1,\n\t},\n\tlvmax: {\n\t\tvalue: 'lvmax',\n\t\tlabel: isWeb\n\t\t\t? 'lvmax'\n\t\t\t: __( 'Large viewport largest dimension (lvmax)' ),\n\t\ta11yLabel: __( 'Large viewport largest dimension (lvmax)' ),\n\t\tstep: 0.1,\n\t},\n};\n\n/**\n * An array of all available CSS length units.\n */\nexport const ALL_CSS_UNITS = Object.values( allUnits );\n\n/**\n * Units of measurements. `a11yLabel` is used by screenreaders.\n */\nexport const CSS_UNITS = [\n\tallUnits.px,\n\tallUnits[ '%' ],\n\tallUnits.em,\n\tallUnits.rem,\n\tallUnits.vw,\n\tallUnits.vh,\n];\n\nexport const DEFAULT_UNIT = allUnits.px;\n\n/**\n * Handles legacy value + unit handling.\n * This component use to manage both incoming value and units separately.\n *\n * Moving forward, ideally the value should be a string that contains both\n * the value and unit, example: '10px'\n *\n * @param rawValue The raw value as a string (may or may not contain the unit)\n * @param fallbackUnit The unit used as a fallback, if not unit is detected in the `value`\n * @param allowedUnits Units to derive from.\n * @return The extracted quantity and unit. The quantity can be `undefined` in case the raw value\n * could not be parsed to a number correctly. The unit can be `undefined` in case the unit parse\n * from the raw value could not be matched against the list of allowed units.\n */\nexport function getParsedQuantityAndUnit(\n\trawValue?: string | number,\n\tfallbackUnit?: string,\n\tallowedUnits?: WPUnitControlUnit[]\n): [ number | undefined, string | undefined ] {\n\tconst initialValue = fallbackUnit\n\t\t? `${ rawValue ?? '' }${ fallbackUnit }`\n\t\t: rawValue;\n\n\treturn parseQuantityAndUnitFromRawValue( initialValue, allowedUnits );\n}\n\n/**\n * Checks if units are defined.\n *\n * @param units List of units.\n * @return Whether the list actually contains any units.\n */\nexport function hasUnits(\n\tunits?: WPUnitControlUnit[]\n): units is WPUnitControlUnit[] {\n\t// Although the `isArray` check shouldn't be necessary (given the signature of\n\t// this typed function), it's better to stay on the side of caution, since\n\t// this function may be called from un-typed environments.\n\treturn Array.isArray( units ) && !! units.length;\n}\n\n/**\n * Parses a quantity and unit from a raw string value, given a list of allowed\n * units and otherwise falling back to the default unit.\n *\n * @param rawValue The raw value as a string (may or may not contain the unit)\n * @param allowedUnits Units to derive from.\n * @return The extracted quantity and unit. The quantity can be `undefined` in case the raw value\n * could not be parsed to a number correctly. The unit can be `undefined` in case the unit parsed\n * from the raw value could not be matched against the list of allowed units.\n */\nexport function parseQuantityAndUnitFromRawValue(\n\trawValue?: string | number,\n\tallowedUnits: WPUnitControlUnit[] = ALL_CSS_UNITS\n): [ number | undefined, string | undefined ] {\n\tlet trimmedValue;\n\tlet quantityToReturn;\n\n\tif ( typeof rawValue !== 'undefined' || rawValue === null ) {\n\t\ttrimmedValue = `${ rawValue }`.trim();\n\t\tconst parsedQuantity = parseFloat( trimmedValue );\n\t\tquantityToReturn = ! isFinite( parsedQuantity )\n\t\t\t? undefined\n\t\t\t: parsedQuantity;\n\t}\n\n\tconst unitMatch = trimmedValue?.match( /[\\d.\\-\\+]*\\s*(.*)/ );\n\tconst matchedUnit = unitMatch?.[ 1 ]?.toLowerCase();\n\tlet unitToReturn: string | undefined;\n\tif ( hasUnits( allowedUnits ) ) {\n\t\tconst match = allowedUnits.find(\n\t\t\t( item ) => item.value === matchedUnit\n\t\t);\n\t\tunitToReturn = match?.value;\n\t} else {\n\t\tunitToReturn = DEFAULT_UNIT.value;\n\t}\n\n\treturn [ quantityToReturn, unitToReturn ];\n}\n\n/**\n * Parses quantity and unit from a raw value. Validates parsed value, using fallback\n * value if invalid.\n *\n * @param rawValue The next value.\n * @param allowedUnits Units to derive from.\n * @param fallbackQuantity The fallback quantity, used in case it's not possible to parse a valid quantity from the raw value.\n * @param fallbackUnit The fallback unit, used in case it's not possible to parse a valid unit from the raw value.\n * @return The extracted quantity and unit. The quantity can be `undefined` in case the raw value\n * could not be parsed to a number correctly, and the `fallbackQuantity` was also `undefined`. The\n * unit can be `undefined` only if the unit parsed from the raw value could not be matched against\n * the list of allowed units, the `fallbackQuantity` is also `undefined` and the list of\n * `allowedUnits` is passed empty.\n */\nexport function getValidParsedQuantityAndUnit(\n\trawValue: string | number,\n\tallowedUnits?: WPUnitControlUnit[],\n\tfallbackQuantity?: number,\n\tfallbackUnit?: string\n): [ number | undefined, string | undefined ] {\n\tconst [ parsedQuantity, parsedUnit ] = parseQuantityAndUnitFromRawValue(\n\t\trawValue,\n\t\tallowedUnits\n\t);\n\n\t// The parsed value from `parseQuantityAndUnitFromRawValue` should now be\n\t// either a real number or undefined. If undefined, use the fallback value.\n\tconst quantityToReturn = parsedQuantity ?? fallbackQuantity;\n\n\t// If no unit is parsed from the raw value, or if the fallback unit is not\n\t// defined, use the first value from the list of allowed units as fallback.\n\tlet unitToReturn = parsedUnit || fallbackUnit;\n\n\tif ( ! unitToReturn && hasUnits( allowedUnits ) ) {\n\t\tunitToReturn = allowedUnits[ 0 ].value;\n\t}\n\n\treturn [ quantityToReturn, unitToReturn ];\n}\n\n/**\n * Takes a unit value and finds the matching accessibility label for the\n * unit abbreviation.\n *\n * @param unit Unit value (example: `px`)\n * @return a11y label for the unit abbreviation\n */\nexport function getAccessibleLabelForUnit( unit: string ): string | undefined {\n\tconst match = ALL_CSS_UNITS.find( ( item ) => item.value === unit );\n\treturn match?.a11yLabel ? match?.a11yLabel : match?.value;\n}\n\n/**\n * Filters available units based on values defined a list of allowed unit values.\n *\n * @param allowedUnitValues Collection of allowed unit value strings.\n * @param availableUnits Collection of available unit objects.\n * @return Filtered units.\n */\nexport function filterUnitsWithSettings(\n\tallowedUnitValues: string[] = [],\n\tavailableUnits: WPUnitControlUnit[]\n): WPUnitControlUnit[] {\n\t// Although the `isArray` check shouldn't be necessary (given the signature of\n\t// this typed function), it's better to stay on the side of caution, since\n\t// this function may be called from un-typed environments.\n\treturn Array.isArray( availableUnits )\n\t\t? availableUnits.filter( ( unit ) =>\n\t\t\t\tallowedUnitValues.includes( unit.value )\n\t\t )\n\t\t: [];\n}\n\n/**\n * Custom hook to retrieve and consolidate units setting from add_theme_support().\n * TODO: ideally this hook shouldn't be needed\n * https://github.com/WordPress/gutenberg/pull/31822#discussion_r633280823\n *\n * @param args An object containing units, settingPath & defaultUnits.\n * @param args.units Collection of all potentially available units.\n * @param args.availableUnits Collection of unit value strings for filtering available units.\n * @param args.defaultValues Collection of default values for defined units. Example: `{ px: 350, em: 15 }`.\n *\n * @return Filtered list of units, with their default values updated following the `defaultValues`\n * argument's property.\n */\nexport const useCustomUnits = ( {\n\tunits = ALL_CSS_UNITS,\n\tavailableUnits = [],\n\tdefaultValues,\n}: {\n\tunits?: WPUnitControlUnit[];\n\tavailableUnits?: string[];\n\tdefaultValues?: Record< string, number >;\n} ): WPUnitControlUnit[] => {\n\tconst customUnitsToReturn = filterUnitsWithSettings(\n\t\tavailableUnits,\n\t\tunits\n\t);\n\n\tif ( defaultValues ) {\n\t\tcustomUnitsToReturn.forEach( ( unit, i ) => {\n\t\t\tif ( defaultValues[ unit.value ] ) {\n\t\t\t\tconst [ parsedDefaultValue ] = parseQuantityAndUnitFromRawValue(\n\t\t\t\t\tdefaultValues[ unit.value ]\n\t\t\t\t);\n\n\t\t\t\tcustomUnitsToReturn[ i ].default = parsedDefaultValue;\n\t\t\t}\n\t\t} );\n\t}\n\n\treturn customUnitsToReturn;\n};\n\n/**\n * Get available units with the unit for the currently selected value\n * prepended if it is not available in the list of units.\n *\n * This is useful to ensure that the current value's unit is always\n * accurately displayed in the UI, even if the intention is to hide\n * the availability of that unit.\n *\n * @param rawValue Selected value to parse.\n * @param legacyUnit Legacy unit value, if rawValue needs it appended.\n * @param units List of available units.\n *\n * @return A collection of units containing the unit for the current value.\n */\nexport function getUnitsWithCurrentUnit(\n\trawValue?: string | number,\n\tlegacyUnit?: string,\n\tunits: WPUnitControlUnit[] = ALL_CSS_UNITS\n): WPUnitControlUnit[] {\n\tconst unitsToReturn = Array.isArray( units ) ? [ ...units ] : [];\n\tconst [ , currentUnit ] = getParsedQuantityAndUnit(\n\t\trawValue,\n\t\tlegacyUnit,\n\t\tALL_CSS_UNITS\n\t);\n\n\tif (\n\t\tcurrentUnit &&\n\t\t! unitsToReturn.some( ( unit ) => unit.value === currentUnit )\n\t) {\n\t\tif ( allUnits[ currentUnit ] ) {\n\t\t\tunitsToReturn.unshift( allUnits[ currentUnit ] );\n\t\t}\n\t}\n\n\treturn unitsToReturn;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["__","_x","Platform","isWeb","OS","allUnits","px","value","label","a11yLabel","step","em","rem","vw","vh","vmin","vmax","ch","ex","cm","mm","in","pc","pt","svw","svh","svi","svb","svmin","lvw","lvh","lvi","lvb","lvmin","dvw","dvh","dvi","dvb","dvmin","dvmax","svmax","lvmax","ALL_CSS_UNITS","Object","values","CSS_UNITS","DEFAULT_UNIT","getParsedQuantityAndUnit","rawValue","fallbackUnit","allowedUnits","initialValue","parseQuantityAndUnitFromRawValue","hasUnits","units","Array","isArray","length","trimmedValue","quantityToReturn","trim","parsedQuantity","parseFloat","isFinite","undefined","unitMatch","match","matchedUnit","toLowerCase","unitToReturn","find","item","getValidParsedQuantityAndUnit","fallbackQuantity","parsedUnit","getAccessibleLabelForUnit","unit","filterUnitsWithSettings","allowedUnitValues","availableUnits","filter","includes","useCustomUnits","defaultValues","customUnitsToReturn","map","defaultValue","default","getUnitsWithCurrentUnit","legacyUnit","unitsToReturn","currentUnit","some","unshift"],"sources":["@wordpress/components/src/unit-control/utils.ts"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport { __, _x } from '@wordpress/i18n';\nimport { Platform } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { WPUnitControlUnit } from './types';\n\nconst isWeb = Platform.OS === 'web';\n\nconst allUnits: Record< string, WPUnitControlUnit > = {\n\tpx: {\n\t\tvalue: 'px',\n\t\tlabel: isWeb ? 'px' : __( 'Pixels (px)' ),\n\t\ta11yLabel: __( 'Pixels (px)' ),\n\t\tstep: 1,\n\t},\n\t'%': {\n\t\tvalue: '%',\n\t\tlabel: isWeb ? '%' : __( 'Percentage (%)' ),\n\t\ta11yLabel: __( 'Percent (%)' ),\n\t\tstep: 0.1,\n\t},\n\tem: {\n\t\tvalue: 'em',\n\t\tlabel: isWeb ? 'em' : __( 'Relative to parent font size (em)' ),\n\t\ta11yLabel: _x( 'ems', 'Relative to parent font size (em)' ),\n\t\tstep: 0.01,\n\t},\n\trem: {\n\t\tvalue: 'rem',\n\t\tlabel: isWeb ? 'rem' : __( 'Relative to root font size (rem)' ),\n\t\ta11yLabel: _x( 'rems', 'Relative to root font size (rem)' ),\n\t\tstep: 0.01,\n\t},\n\tvw: {\n\t\tvalue: 'vw',\n\t\tlabel: isWeb ? 'vw' : __( 'Viewport width (vw)' ),\n\t\ta11yLabel: __( 'Viewport width (vw)' ),\n\t\tstep: 0.1,\n\t},\n\tvh: {\n\t\tvalue: 'vh',\n\t\tlabel: isWeb ? 'vh' : __( 'Viewport height (vh)' ),\n\t\ta11yLabel: __( 'Viewport height (vh)' ),\n\t\tstep: 0.1,\n\t},\n\tvmin: {\n\t\tvalue: 'vmin',\n\t\tlabel: isWeb ? 'vmin' : __( 'Viewport smallest dimension (vmin)' ),\n\t\ta11yLabel: __( 'Viewport smallest dimension (vmin)' ),\n\t\tstep: 0.1,\n\t},\n\tvmax: {\n\t\tvalue: 'vmax',\n\t\tlabel: isWeb ? 'vmax' : __( 'Viewport largest dimension (vmax)' ),\n\t\ta11yLabel: __( 'Viewport largest dimension (vmax)' ),\n\t\tstep: 0.1,\n\t},\n\tch: {\n\t\tvalue: 'ch',\n\t\tlabel: isWeb ? 'ch' : __( 'Width of the zero (0) character (ch)' ),\n\t\ta11yLabel: __( 'Width of the zero (0) character (ch)' ),\n\t\tstep: 0.01,\n\t},\n\tex: {\n\t\tvalue: 'ex',\n\t\tlabel: isWeb ? 'ex' : __( 'x-height of the font (ex)' ),\n\t\ta11yLabel: __( 'x-height of the font (ex)' ),\n\t\tstep: 0.01,\n\t},\n\tcm: {\n\t\tvalue: 'cm',\n\t\tlabel: isWeb ? 'cm' : __( 'Centimeters (cm)' ),\n\t\ta11yLabel: __( 'Centimeters (cm)' ),\n\t\tstep: 0.001,\n\t},\n\tmm: {\n\t\tvalue: 'mm',\n\t\tlabel: isWeb ? 'mm' : __( 'Millimeters (mm)' ),\n\t\ta11yLabel: __( 'Millimeters (mm)' ),\n\t\tstep: 0.1,\n\t},\n\tin: {\n\t\tvalue: 'in',\n\t\tlabel: isWeb ? 'in' : __( 'Inches (in)' ),\n\t\ta11yLabel: __( 'Inches (in)' ),\n\t\tstep: 0.001,\n\t},\n\tpc: {\n\t\tvalue: 'pc',\n\t\tlabel: isWeb ? 'pc' : __( 'Picas (pc)' ),\n\t\ta11yLabel: __( 'Picas (pc)' ),\n\t\tstep: 1,\n\t},\n\tpt: {\n\t\tvalue: 'pt',\n\t\tlabel: isWeb ? 'pt' : __( 'Points (pt)' ),\n\t\ta11yLabel: __( 'Points (pt)' ),\n\t\tstep: 1,\n\t},\n\tsvw: {\n\t\tvalue: 'svw',\n\t\tlabel: isWeb ? 'svw' : __( 'Small viewport width (svw)' ),\n\t\ta11yLabel: __( 'Small viewport width (svw)' ),\n\t\tstep: 0.1,\n\t},\n\tsvh: {\n\t\tvalue: 'svh',\n\t\tlabel: isWeb ? 'svh' : __( 'Small viewport height (svh)' ),\n\t\ta11yLabel: __( 'Small viewport height (svh)' ),\n\t\tstep: 0.1,\n\t},\n\tsvi: {\n\t\tvalue: 'svi',\n\t\tlabel: isWeb\n\t\t\t? 'svi'\n\t\t\t: __( 'Viewport smallest size in the inline direction (svi)' ),\n\t\ta11yLabel: __( 'Small viewport width or height (svi)' ),\n\t\tstep: 0.1,\n\t},\n\tsvb: {\n\t\tvalue: 'svb',\n\t\tlabel: isWeb\n\t\t\t? 'svb'\n\t\t\t: __( 'Viewport smallest size in the block direction (svb)' ),\n\t\ta11yLabel: __( 'Small viewport width or height (svb)' ),\n\t\tstep: 0.1,\n\t},\n\tsvmin: {\n\t\tvalue: 'svmin',\n\t\tlabel: isWeb\n\t\t\t? 'svmin'\n\t\t\t: __( 'Small viewport smallest dimension (svmin)' ),\n\t\ta11yLabel: __( 'Small viewport smallest dimension (svmin)' ),\n\t\tstep: 0.1,\n\t},\n\tlvw: {\n\t\tvalue: 'lvw',\n\t\tlabel: isWeb ? 'lvw' : __( 'Large viewport width (lvw)' ),\n\t\ta11yLabel: __( 'Large viewport width (lvw)' ),\n\t\tstep: 0.1,\n\t},\n\tlvh: {\n\t\tvalue: 'lvh',\n\t\tlabel: isWeb ? 'lvh' : __( 'Large viewport height (lvh)' ),\n\t\ta11yLabel: __( 'Large viewport height (lvh)' ),\n\t\tstep: 0.1,\n\t},\n\tlvi: {\n\t\tvalue: 'lvi',\n\t\tlabel: isWeb ? 'lvi' : __( 'Large viewport width or height (lvi)' ),\n\t\ta11yLabel: __( 'Large viewport width or height (lvi)' ),\n\t\tstep: 0.1,\n\t},\n\tlvb: {\n\t\tvalue: 'lvb',\n\t\tlabel: isWeb ? 'lvb' : __( 'Large viewport width or height (lvb)' ),\n\t\ta11yLabel: __( 'Large viewport width or height (lvb)' ),\n\t\tstep: 0.1,\n\t},\n\tlvmin: {\n\t\tvalue: 'lvmin',\n\t\tlabel: isWeb\n\t\t\t? 'lvmin'\n\t\t\t: __( 'Large viewport smallest dimension (lvmin)' ),\n\t\ta11yLabel: __( 'Large viewport smallest dimension (lvmin)' ),\n\t\tstep: 0.1,\n\t},\n\tdvw: {\n\t\tvalue: 'dvw',\n\t\tlabel: isWeb ? 'dvw' : __( 'Dynamic viewport width (dvw)' ),\n\t\ta11yLabel: __( 'Dynamic viewport width (dvw)' ),\n\t\tstep: 0.1,\n\t},\n\tdvh: {\n\t\tvalue: 'dvh',\n\t\tlabel: isWeb ? 'dvh' : __( 'Dynamic viewport height (dvh)' ),\n\t\ta11yLabel: __( 'Dynamic viewport height (dvh)' ),\n\t\tstep: 0.1,\n\t},\n\tdvi: {\n\t\tvalue: 'dvi',\n\t\tlabel: isWeb ? 'dvi' : __( 'Dynamic viewport width or height (dvi)' ),\n\t\ta11yLabel: __( 'Dynamic viewport width or height (dvi)' ),\n\t\tstep: 0.1,\n\t},\n\tdvb: {\n\t\tvalue: 'dvb',\n\t\tlabel: isWeb ? 'dvb' : __( 'Dynamic viewport width or height (dvb)' ),\n\t\ta11yLabel: __( 'Dynamic viewport width or height (dvb)' ),\n\t\tstep: 0.1,\n\t},\n\tdvmin: {\n\t\tvalue: 'dvmin',\n\t\tlabel: isWeb\n\t\t\t? 'dvmin'\n\t\t\t: __( 'Dynamic viewport smallest dimension (dvmin)' ),\n\t\ta11yLabel: __( 'Dynamic viewport smallest dimension (dvmin)' ),\n\t\tstep: 0.1,\n\t},\n\tdvmax: {\n\t\tvalue: 'dvmax',\n\t\tlabel: isWeb\n\t\t\t? 'dvmax'\n\t\t\t: __( 'Dynamic viewport largest dimension (dvmax)' ),\n\t\ta11yLabel: __( 'Dynamic viewport largest dimension (dvmax)' ),\n\t\tstep: 0.1,\n\t},\n\tsvmax: {\n\t\tvalue: 'svmax',\n\t\tlabel: isWeb\n\t\t\t? 'svmax'\n\t\t\t: __( 'Small viewport largest dimension (svmax)' ),\n\t\ta11yLabel: __( 'Small viewport largest dimension (svmax)' ),\n\t\tstep: 0.1,\n\t},\n\tlvmax: {\n\t\tvalue: 'lvmax',\n\t\tlabel: isWeb\n\t\t\t? 'lvmax'\n\t\t\t: __( 'Large viewport largest dimension (lvmax)' ),\n\t\ta11yLabel: __( 'Large viewport largest dimension (lvmax)' ),\n\t\tstep: 0.1,\n\t},\n};\n\n/**\n * An array of all available CSS length units.\n */\nexport const ALL_CSS_UNITS = Object.values( allUnits );\n\n/**\n * Units of measurements. `a11yLabel` is used by screenreaders.\n */\nexport const CSS_UNITS = [\n\tallUnits.px,\n\tallUnits[ '%' ],\n\tallUnits.em,\n\tallUnits.rem,\n\tallUnits.vw,\n\tallUnits.vh,\n];\n\nexport const DEFAULT_UNIT = allUnits.px;\n\n/**\n * Handles legacy value + unit handling.\n * This component use to manage both incoming value and units separately.\n *\n * Moving forward, ideally the value should be a string that contains both\n * the value and unit, example: '10px'\n *\n * @param rawValue The raw value as a string (may or may not contain the unit)\n * @param fallbackUnit The unit used as a fallback, if not unit is detected in the `value`\n * @param allowedUnits Units to derive from.\n * @return The extracted quantity and unit. The quantity can be `undefined` in case the raw value\n * could not be parsed to a number correctly. The unit can be `undefined` in case the unit parse\n * from the raw value could not be matched against the list of allowed units.\n */\nexport function getParsedQuantityAndUnit(\n\trawValue?: string | number,\n\tfallbackUnit?: string,\n\tallowedUnits?: WPUnitControlUnit[]\n): [ number | undefined, string | undefined ] {\n\tconst initialValue = fallbackUnit\n\t\t? `${ rawValue ?? '' }${ fallbackUnit }`\n\t\t: rawValue;\n\n\treturn parseQuantityAndUnitFromRawValue( initialValue, allowedUnits );\n}\n\n/**\n * Checks if units are defined.\n *\n * @param units List of units.\n * @return Whether the list actually contains any units.\n */\nexport function hasUnits(\n\tunits?: WPUnitControlUnit[]\n): units is WPUnitControlUnit[] {\n\t// Although the `isArray` check shouldn't be necessary (given the signature of\n\t// this typed function), it's better to stay on the side of caution, since\n\t// this function may be called from un-typed environments.\n\treturn Array.isArray( units ) && !! units.length;\n}\n\n/**\n * Parses a quantity and unit from a raw string value, given a list of allowed\n * units and otherwise falling back to the default unit.\n *\n * @param rawValue The raw value as a string (may or may not contain the unit)\n * @param allowedUnits Units to derive from.\n * @return The extracted quantity and unit. The quantity can be `undefined` in case the raw value\n * could not be parsed to a number correctly. The unit can be `undefined` in case the unit parsed\n * from the raw value could not be matched against the list of allowed units.\n */\nexport function parseQuantityAndUnitFromRawValue(\n\trawValue?: string | number,\n\tallowedUnits: WPUnitControlUnit[] = ALL_CSS_UNITS\n): [ number | undefined, string | undefined ] {\n\tlet trimmedValue;\n\tlet quantityToReturn;\n\n\tif ( typeof rawValue !== 'undefined' || rawValue === null ) {\n\t\ttrimmedValue = `${ rawValue }`.trim();\n\t\tconst parsedQuantity = parseFloat( trimmedValue );\n\t\tquantityToReturn = ! isFinite( parsedQuantity )\n\t\t\t? undefined\n\t\t\t: parsedQuantity;\n\t}\n\n\tconst unitMatch = trimmedValue?.match( /[\\d.\\-\\+]*\\s*(.*)/ );\n\tconst matchedUnit = unitMatch?.[ 1 ]?.toLowerCase();\n\tlet unitToReturn: string | undefined;\n\tif ( hasUnits( allowedUnits ) ) {\n\t\tconst match = allowedUnits.find(\n\t\t\t( item ) => item.value === matchedUnit\n\t\t);\n\t\tunitToReturn = match?.value;\n\t} else {\n\t\tunitToReturn = DEFAULT_UNIT.value;\n\t}\n\n\treturn [ quantityToReturn, unitToReturn ];\n}\n\n/**\n * Parses quantity and unit from a raw value. Validates parsed value, using fallback\n * value if invalid.\n *\n * @param rawValue The next value.\n * @param allowedUnits Units to derive from.\n * @param fallbackQuantity The fallback quantity, used in case it's not possible to parse a valid quantity from the raw value.\n * @param fallbackUnit The fallback unit, used in case it's not possible to parse a valid unit from the raw value.\n * @return The extracted quantity and unit. The quantity can be `undefined` in case the raw value\n * could not be parsed to a number correctly, and the `fallbackQuantity` was also `undefined`. The\n * unit can be `undefined` only if the unit parsed from the raw value could not be matched against\n * the list of allowed units, the `fallbackQuantity` is also `undefined` and the list of\n * `allowedUnits` is passed empty.\n */\nexport function getValidParsedQuantityAndUnit(\n\trawValue: string | number,\n\tallowedUnits?: WPUnitControlUnit[],\n\tfallbackQuantity?: number,\n\tfallbackUnit?: string\n): [ number | undefined, string | undefined ] {\n\tconst [ parsedQuantity, parsedUnit ] = parseQuantityAndUnitFromRawValue(\n\t\trawValue,\n\t\tallowedUnits\n\t);\n\n\t// The parsed value from `parseQuantityAndUnitFromRawValue` should now be\n\t// either a real number or undefined. If undefined, use the fallback value.\n\tconst quantityToReturn = parsedQuantity ?? fallbackQuantity;\n\n\t// If no unit is parsed from the raw value, or if the fallback unit is not\n\t// defined, use the first value from the list of allowed units as fallback.\n\tlet unitToReturn = parsedUnit || fallbackUnit;\n\n\tif ( ! unitToReturn && hasUnits( allowedUnits ) ) {\n\t\tunitToReturn = allowedUnits[ 0 ].value;\n\t}\n\n\treturn [ quantityToReturn, unitToReturn ];\n}\n\n/**\n * Takes a unit value and finds the matching accessibility label for the\n * unit abbreviation.\n *\n * @param unit Unit value (example: `px`)\n * @return a11y label for the unit abbreviation\n */\nexport function getAccessibleLabelForUnit( unit: string ): string | undefined {\n\tconst match = ALL_CSS_UNITS.find( ( item ) => item.value === unit );\n\treturn match?.a11yLabel ? match?.a11yLabel : match?.value;\n}\n\n/**\n * Filters available units based on values defined a list of allowed unit values.\n *\n * @param allowedUnitValues Collection of allowed unit value strings.\n * @param availableUnits Collection of available unit objects.\n * @return Filtered units.\n */\nexport function filterUnitsWithSettings(\n\tallowedUnitValues: string[] = [],\n\tavailableUnits: WPUnitControlUnit[]\n): WPUnitControlUnit[] {\n\t// Although the `isArray` check shouldn't be necessary (given the signature of\n\t// this typed function), it's better to stay on the side of caution, since\n\t// this function may be called from un-typed environments.\n\treturn Array.isArray( availableUnits )\n\t\t? availableUnits.filter( ( unit ) =>\n\t\t\t\tallowedUnitValues.includes( unit.value )\n\t\t )\n\t\t: [];\n}\n\n/**\n * Custom hook to retrieve and consolidate units setting from add_theme_support().\n * TODO: ideally this hook shouldn't be needed\n * https://github.com/WordPress/gutenberg/pull/31822#discussion_r633280823\n *\n * @param args An object containing units, settingPath & defaultUnits.\n * @param args.units Collection of all potentially available units.\n * @param args.availableUnits Collection of unit value strings for filtering available units.\n * @param args.defaultValues Collection of default values for defined units. Example: `{ px: 350, em: 15 }`.\n *\n * @return Filtered list of units, with their default values updated following the `defaultValues`\n * argument's property.\n */\nexport const useCustomUnits = ( {\n\tunits = ALL_CSS_UNITS,\n\tavailableUnits = [],\n\tdefaultValues,\n}: {\n\tunits?: WPUnitControlUnit[];\n\tavailableUnits?: string[];\n\tdefaultValues?: Record< string, number >;\n} ): WPUnitControlUnit[] => {\n\tconst customUnitsToReturn = filterUnitsWithSettings(\n\t\tavailableUnits,\n\t\tunits\n\t);\n\n\tif ( ! defaultValues ) {\n\t\treturn customUnitsToReturn;\n\t}\n\n\treturn customUnitsToReturn.map( ( unit ) => {\n\t\tconst [ defaultValue ] = defaultValues[ unit.value ]\n\t\t\t? parseQuantityAndUnitFromRawValue( defaultValues[ unit.value ] )\n\t\t\t: [];\n\t\treturn { ...unit, default: defaultValue };\n\t} );\n};\n\n/**\n * Get available units with the unit for the currently selected value\n * prepended if it is not available in the list of units.\n *\n * This is useful to ensure that the current value's unit is always\n * accurately displayed in the UI, even if the intention is to hide\n * the availability of that unit.\n *\n * @param rawValue Selected value to parse.\n * @param legacyUnit Legacy unit value, if rawValue needs it appended.\n * @param units List of available units.\n *\n * @return A collection of units containing the unit for the current value.\n */\nexport function getUnitsWithCurrentUnit(\n\trawValue?: string | number,\n\tlegacyUnit?: string,\n\tunits: WPUnitControlUnit[] = ALL_CSS_UNITS\n): WPUnitControlUnit[] {\n\tconst unitsToReturn = Array.isArray( units ) ? [ ...units ] : [];\n\tconst [ , currentUnit ] = getParsedQuantityAndUnit(\n\t\trawValue,\n\t\tlegacyUnit,\n\t\tALL_CSS_UNITS\n\t);\n\n\tif (\n\t\tcurrentUnit &&\n\t\t! unitsToReturn.some( ( unit ) => unit.value === currentUnit )\n\t) {\n\t\tif ( allUnits[ currentUnit ] ) {\n\t\t\tunitsToReturn.unshift( allUnits[ currentUnit ] );\n\t\t}\n\t}\n\n\treturn unitsToReturn;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* A higher-order function that wraps a
|
|
2
|
+
* A higher-order function that wraps a keyboard event handler to ensure it is not an IME event.
|
|
3
3
|
*
|
|
4
4
|
* In CJK languages, an IME (Input Method Editor) is used to input complex characters.
|
|
5
|
-
* During an IME composition,
|
|
5
|
+
* During an IME composition, keyboard events (e.g. Enter or Escape) can be fired
|
|
6
6
|
* which are intended to control the IME and not the application.
|
|
7
7
|
* These events should be ignored by any application logic.
|
|
8
8
|
*
|
|
9
|
-
* @param
|
|
9
|
+
* @param handler The keyboard event handler to execute after ensuring it was not an IME event.
|
|
10
10
|
*
|
|
11
11
|
* @return A wrapped version of the given event handler that ignores IME events.
|
|
12
12
|
*/
|
|
13
|
-
export function withIgnoreIMEEvents(
|
|
13
|
+
export function withIgnoreIMEEvents(handler) {
|
|
14
14
|
return event => {
|
|
15
15
|
const {
|
|
16
16
|
isComposing
|
|
@@ -22,7 +22,7 @@ export function withIgnoreIMEEvents(keydownHandler) {
|
|
|
22
22
|
event.keyCode === 229) {
|
|
23
23
|
return;
|
|
24
24
|
}
|
|
25
|
-
|
|
25
|
+
handler(event);
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
//# sourceMappingURL=with-ignore-ime-events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["withIgnoreIMEEvents","
|
|
1
|
+
{"version":3,"names":["withIgnoreIMEEvents","handler","event","isComposing","nativeEvent","keyCode"],"sources":["@wordpress/components/src/utils/with-ignore-ime-events.ts"],"sourcesContent":["/**\n * A higher-order function that wraps a keyboard event handler to ensure it is not an IME event.\n *\n * In CJK languages, an IME (Input Method Editor) is used to input complex characters.\n * During an IME composition, keyboard events (e.g. Enter or Escape) can be fired\n * which are intended to control the IME and not the application.\n * These events should be ignored by any application logic.\n *\n * @param handler The keyboard event handler to execute after ensuring it was not an IME event.\n *\n * @return A wrapped version of the given event handler that ignores IME events.\n */\nexport function withIgnoreIMEEvents<\n\tE extends React.KeyboardEvent | KeyboardEvent,\n>( handler: ( event: E ) => void ) {\n\treturn ( event: E ) => {\n\t\tconst { isComposing } =\n\t\t\t'nativeEvent' in event ? event.nativeEvent : event;\n\n\t\tif (\n\t\t\tisComposing ||\n\t\t\t// Workaround for Mac Safari where the final Enter/Backspace of an IME composition\n\t\t\t// is `isComposing=false`, even though it's technically still part of the composition.\n\t\t\t// These can only be detected by keyCode.\n\t\t\tevent.keyCode === 229\n\t\t) {\n\t\t\treturn;\n\t\t}\n\n\t\thandler( event );\n\t};\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASA,mBAAmBA,CAEhCC,OAA6B,EAAG;EAClC,OAASC,KAAQ,IAAM;IACtB,MAAM;MAAEC;IAAY,CAAC,GACpB,aAAa,IAAID,KAAK,GAAGA,KAAK,CAACE,WAAW,GAAGF,KAAK;IAEnD,IACCC,WAAW;IACX;IACA;IACA;IACAD,KAAK,CAACG,OAAO,KAAK,GAAG,EACpB;MACD;IACD;IAEAJ,OAAO,CAAEC,KAAM,CAAC;EACjB,CAAC;AACF","ignoreList":[]}
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
@charset "UTF-8";
|
|
2
|
-
/**
|
|
3
|
-
* Converts a hex value into the rgb equivalent.
|
|
4
|
-
*
|
|
5
|
-
* @param {string} hex - the hexadecimal value to convert
|
|
6
|
-
* @return {string} comma separated rgb values
|
|
7
|
-
*/
|
|
8
2
|
/**
|
|
9
3
|
* Colors
|
|
10
4
|
*/
|
|
11
5
|
/**
|
|
12
6
|
* Breakpoints & Media Queries
|
|
13
7
|
*/
|
|
8
|
+
/**
|
|
9
|
+
* Colors
|
|
10
|
+
*/
|
|
14
11
|
/**
|
|
15
12
|
* SCSS Variables.
|
|
16
13
|
*
|
|
@@ -19,14 +16,50 @@
|
|
|
19
16
|
* For example, don't add rules to this sheet that affect block visuals. It's purely for UI.
|
|
20
17
|
*/
|
|
21
18
|
/**
|
|
22
|
-
*
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
*
|
|
26
|
-
*/
|
|
19
|
+
* Fonts & basic variables.
|
|
20
|
+
*/
|
|
21
|
+
/**
|
|
22
|
+
* Typography
|
|
23
|
+
*/
|
|
24
|
+
/**
|
|
25
|
+
* Grid System.
|
|
26
|
+
* https://make.wordpress.org/design/2019/10/31/proposal-a-consistent-spacing-system-for-wordpress/
|
|
27
|
+
*/
|
|
28
|
+
/**
|
|
29
|
+
* Radius scale.
|
|
30
|
+
*/
|
|
31
|
+
/**
|
|
32
|
+
* Elevation scale.
|
|
33
|
+
*/
|
|
34
|
+
/**
|
|
35
|
+
* Dimensions.
|
|
36
|
+
*/
|
|
37
|
+
/**
|
|
38
|
+
* Mobile specific styles
|
|
39
|
+
*/
|
|
40
|
+
/**
|
|
41
|
+
* Editor styles.
|
|
42
|
+
*/
|
|
43
|
+
/**
|
|
44
|
+
* Block & Editor UI.
|
|
45
|
+
*/
|
|
46
|
+
/**
|
|
47
|
+
* Block paddings.
|
|
48
|
+
*/
|
|
49
|
+
/**
|
|
50
|
+
* React Native specific.
|
|
51
|
+
* These variables do not appear to be used anywhere else.
|
|
52
|
+
*/
|
|
27
53
|
/**
|
|
28
54
|
* Colors
|
|
29
55
|
*/
|
|
56
|
+
/**
|
|
57
|
+
* SCSS Variables.
|
|
58
|
+
*
|
|
59
|
+
* Please use variables from this sheet to ensure consistency across the UI.
|
|
60
|
+
* Don't add to this sheet unless you're pretty sure the value will be reused in many places.
|
|
61
|
+
* For example, don't add rules to this sheet that affect block visuals. It's purely for UI.
|
|
62
|
+
*/
|
|
30
63
|
/**
|
|
31
64
|
* Fonts & basic variables.
|
|
32
65
|
*/
|
|
@@ -62,6 +95,9 @@
|
|
|
62
95
|
* React Native specific.
|
|
63
96
|
* These variables do not appear to be used anywhere else.
|
|
64
97
|
*/
|
|
98
|
+
/**
|
|
99
|
+
* Breakpoints & Media Queries
|
|
100
|
+
*/
|
|
65
101
|
/**
|
|
66
102
|
* Converts a hex value into the rgb equivalent.
|
|
67
103
|
*
|
|
@@ -569,19 +605,19 @@ p + .components-button.is-tertiary {
|
|
|
569
605
|
}
|
|
570
606
|
|
|
571
607
|
.components-checkbox-control__input[type=checkbox] {
|
|
608
|
+
border: 1px solid #1e1e1e;
|
|
609
|
+
margin-left: 12px;
|
|
610
|
+
transition: none;
|
|
611
|
+
border-radius: 2px;
|
|
572
612
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
|
573
613
|
padding: 6px 8px;
|
|
574
|
-
box-shadow: 0 0 0 transparent;
|
|
575
|
-
border-radius: 2px;
|
|
576
|
-
border: 1px solid #949494;
|
|
577
614
|
/* Fonts smaller than 16px causes mobile safari to zoom. */
|
|
578
615
|
font-size: 16px;
|
|
579
616
|
/* Override core line-height. To be reviewed. */
|
|
580
617
|
line-height: normal;
|
|
581
|
-
|
|
582
|
-
margin-left: 12px;
|
|
583
|
-
transition: none;
|
|
618
|
+
box-shadow: 0 0 0 transparent;
|
|
584
619
|
border-radius: 2px;
|
|
620
|
+
border: 1px solid #949494;
|
|
585
621
|
background: #fff;
|
|
586
622
|
color: #1e1e1e;
|
|
587
623
|
clear: none;
|
|
@@ -910,13 +946,13 @@ input.components-combobox-control__input[type=text]:focus {
|
|
|
910
946
|
.components-combobox-control__suggestions-container {
|
|
911
947
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
|
912
948
|
padding: 6px 8px;
|
|
913
|
-
box-shadow: 0 0 0 transparent;
|
|
914
|
-
border-radius: 2px;
|
|
915
|
-
border: 1px solid #949494;
|
|
916
949
|
/* Fonts smaller than 16px causes mobile safari to zoom. */
|
|
917
950
|
font-size: 16px;
|
|
918
951
|
/* Override core line-height. To be reviewed. */
|
|
919
952
|
line-height: normal;
|
|
953
|
+
box-shadow: 0 0 0 transparent;
|
|
954
|
+
border-radius: 2px;
|
|
955
|
+
border: 1px solid #949494;
|
|
920
956
|
display: flex;
|
|
921
957
|
flex-wrap: wrap;
|
|
922
958
|
align-items: flex-start;
|
|
@@ -1298,6 +1334,9 @@ body.is-dragging-components-draggable {
|
|
|
1298
1334
|
background: linear-gradient(45deg, transparent 48%, #ddd 48%, #ddd 52%, transparent 52%);
|
|
1299
1335
|
color: transparent;
|
|
1300
1336
|
}
|
|
1337
|
+
.components-duotone-picker__color-indicator > .components-button:hover:not(:disabled):not([aria-disabled=true]) {
|
|
1338
|
+
color: transparent;
|
|
1339
|
+
}
|
|
1301
1340
|
.components-duotone-picker__color-indicator > .components-button:not([aria-disabled=true]):active {
|
|
1302
1341
|
color: transparent;
|
|
1303
1342
|
}
|
|
@@ -1428,13 +1467,13 @@ body.is-dragging-components-draggable {
|
|
|
1428
1467
|
.components-form-token-field__input-container {
|
|
1429
1468
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
|
1430
1469
|
padding: 6px 8px;
|
|
1431
|
-
box-shadow: 0 0 0 transparent;
|
|
1432
|
-
border-radius: 2px;
|
|
1433
|
-
border: 1px solid #949494;
|
|
1434
1470
|
/* Fonts smaller than 16px causes mobile safari to zoom. */
|
|
1435
1471
|
font-size: 16px;
|
|
1436
1472
|
/* Override core line-height. To be reviewed. */
|
|
1437
1473
|
line-height: normal;
|
|
1474
|
+
box-shadow: 0 0 0 transparent;
|
|
1475
|
+
border-radius: 2px;
|
|
1476
|
+
border: 1px solid #949494;
|
|
1438
1477
|
width: 100%;
|
|
1439
1478
|
padding: 0;
|
|
1440
1479
|
cursor: text;
|
|
@@ -2379,13 +2418,13 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right
|
|
|
2379
2418
|
.components-placeholder__input[type=url] {
|
|
2380
2419
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
|
2381
2420
|
padding: 6px 8px;
|
|
2382
|
-
box-shadow: 0 0 0 transparent;
|
|
2383
|
-
border-radius: 2px;
|
|
2384
|
-
border: 1px solid #949494;
|
|
2385
2421
|
/* Fonts smaller than 16px causes mobile safari to zoom. */
|
|
2386
2422
|
font-size: 16px;
|
|
2387
2423
|
/* Override core line-height. To be reviewed. */
|
|
2388
2424
|
line-height: normal;
|
|
2425
|
+
box-shadow: 0 0 0 transparent;
|
|
2426
|
+
border-radius: 2px;
|
|
2427
|
+
border: 1px solid #949494;
|
|
2389
2428
|
flex: 1 1 auto;
|
|
2390
2429
|
}
|
|
2391
2430
|
@media not (prefers-reduced-motion) {
|
|
@@ -2659,15 +2698,6 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right
|
|
|
2659
2698
|
.components-radio-control__input[type=radio] {
|
|
2660
2699
|
grid-column: 1;
|
|
2661
2700
|
grid-row: 1;
|
|
2662
|
-
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
|
2663
|
-
padding: 6px 8px;
|
|
2664
|
-
box-shadow: 0 0 0 transparent;
|
|
2665
|
-
border-radius: 2px;
|
|
2666
|
-
border: 1px solid #949494;
|
|
2667
|
-
/* Fonts smaller than 16px causes mobile safari to zoom. */
|
|
2668
|
-
font-size: 16px;
|
|
2669
|
-
/* Override core line-height. To be reviewed. */
|
|
2670
|
-
line-height: normal;
|
|
2671
2701
|
border: 1px solid #1e1e1e;
|
|
2672
2702
|
margin-left: 12px;
|
|
2673
2703
|
transition: none;
|
|
@@ -2688,27 +2718,6 @@ body.rtl .components-panel__body-toggle.components-button .dashicons-arrow-right
|
|
|
2688
2718
|
transition: box-shadow 0.1s linear;
|
|
2689
2719
|
}
|
|
2690
2720
|
}
|
|
2691
|
-
@media (min-width: 600px) {
|
|
2692
|
-
.components-radio-control__input[type=radio] {
|
|
2693
|
-
font-size: 13px;
|
|
2694
|
-
/* Override core line-height. To be reviewed. */
|
|
2695
|
-
line-height: normal;
|
|
2696
|
-
}
|
|
2697
|
-
}
|
|
2698
|
-
.components-radio-control__input[type=radio]:focus {
|
|
2699
|
-
border-color: var(--wp-admin-theme-color);
|
|
2700
|
-
box-shadow: 0 0 0 0.5px var(--wp-admin-theme-color);
|
|
2701
|
-
outline: 2px solid transparent;
|
|
2702
|
-
}
|
|
2703
|
-
.components-radio-control__input[type=radio]::-webkit-input-placeholder {
|
|
2704
|
-
color: rgba(30, 30, 30, 0.62);
|
|
2705
|
-
}
|
|
2706
|
-
.components-radio-control__input[type=radio]::-moz-placeholder {
|
|
2707
|
-
color: rgba(30, 30, 30, 0.62);
|
|
2708
|
-
}
|
|
2709
|
-
.components-radio-control__input[type=radio]:-ms-input-placeholder {
|
|
2710
|
-
color: rgba(30, 30, 30, 0.62);
|
|
2711
|
-
}
|
|
2712
2721
|
@media (min-width: 600px) {
|
|
2713
2722
|
.components-radio-control__input[type=radio] {
|
|
2714
2723
|
height: 16px;
|
|
@@ -3013,16 +3022,19 @@ body.lockscroll {
|
|
|
3013
3022
|
cursor: pointer;
|
|
3014
3023
|
}
|
|
3015
3024
|
|
|
3016
|
-
.components-snackbar__action.components-button
|
|
3025
|
+
.components-snackbar__action.components-button,
|
|
3026
|
+
.components-snackbar__action.components-external-link {
|
|
3017
3027
|
margin-right: 32px;
|
|
3018
3028
|
color: #fff;
|
|
3019
3029
|
flex-shrink: 0;
|
|
3020
3030
|
}
|
|
3021
|
-
.components-snackbar__action.components-button:focus
|
|
3031
|
+
.components-snackbar__action.components-button:focus,
|
|
3032
|
+
.components-snackbar__action.components-external-link:focus {
|
|
3022
3033
|
box-shadow: none;
|
|
3023
3034
|
outline: 1px dotted #fff;
|
|
3024
3035
|
}
|
|
3025
|
-
.components-snackbar__action.components-button:hover
|
|
3036
|
+
.components-snackbar__action.components-button:hover,
|
|
3037
|
+
.components-snackbar__action.components-external-link:hover {
|
|
3026
3038
|
text-decoration: none;
|
|
3027
3039
|
color: currentColor;
|
|
3028
3040
|
}
|
|
@@ -3142,15 +3154,17 @@ body.lockscroll {
|
|
|
3142
3154
|
width: 100%;
|
|
3143
3155
|
height: 32px;
|
|
3144
3156
|
margin: 0;
|
|
3157
|
+
background: var(--wp-components-color-background, #fff);
|
|
3158
|
+
color: var(--wp-components-color-foreground, #1e1e1e);
|
|
3145
3159
|
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
|
|
3146
3160
|
padding: 6px 8px;
|
|
3147
|
-
box-shadow: 0 0 0 transparent;
|
|
3148
|
-
border-radius: 2px;
|
|
3149
|
-
border: 1px solid #949494;
|
|
3150
3161
|
/* Fonts smaller than 16px causes mobile safari to zoom. */
|
|
3151
3162
|
font-size: 16px;
|
|
3152
3163
|
/* Override core line-height. To be reviewed. */
|
|
3153
3164
|
line-height: normal;
|
|
3165
|
+
box-shadow: 0 0 0 transparent;
|
|
3166
|
+
border-radius: 2px;
|
|
3167
|
+
border: 1px solid #949494;
|
|
3154
3168
|
}
|
|
3155
3169
|
@media not (prefers-reduced-motion) {
|
|
3156
3170
|
.components-text-control__input,
|
|
@@ -3204,8 +3218,8 @@ body.lockscroll {
|
|
|
3204
3218
|
.components-text-control__input[type=email]:focus,
|
|
3205
3219
|
.components-text-control__input[type=month]:focus,
|
|
3206
3220
|
.components-text-control__input[type=number]:focus {
|
|
3207
|
-
border-color: var(--wp-admin-theme-color);
|
|
3208
|
-
box-shadow: 0 0 0 0.5px var(--wp-admin-theme-color);
|
|
3221
|
+
border-color: var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
|
|
3222
|
+
box-shadow: 0 0 0 0.5px var(--wp-components-color-accent, var(--wp-admin-theme-color, #3858e9));
|
|
3209
3223
|
outline: 2px solid transparent;
|
|
3210
3224
|
}
|
|
3211
3225
|
.components-text-control__input::-webkit-input-placeholder,
|