UNPKG

@wordpress/block-editor

Version:
8 lines (7 loc) 2.62 kB
{ "version": 3, "sources": ["../../../../src/components/spacing-sizes-control/hooks/use-spacing-sizes.js"], "sourcesContent": ["/**\n * WordPress dependencies\n */\nimport { useMemo } from '@wordpress/element';\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { useSettings } from '../../use-settings';\nimport { RANGE_CONTROL_MAX_SIZE } from '../utils';\n\nconst EMPTY_ARRAY = [];\n\nconst compare = new Intl.Collator( 'und', { numeric: true } ).compare;\n\nexport default function useSpacingSizes() {\n\tconst [\n\t\tcustomSpacingSizes,\n\t\tthemeSpacingSizes,\n\t\tdefaultSpacingSizes,\n\t\tdefaultSpacingSizesEnabled,\n\t] = useSettings(\n\t\t'spacing.spacingSizes.custom',\n\t\t'spacing.spacingSizes.theme',\n\t\t'spacing.spacingSizes.default',\n\t\t'spacing.defaultSpacingSizes'\n\t);\n\n\tconst customSizes = customSpacingSizes ?? EMPTY_ARRAY;\n\n\tconst themeSizes = themeSpacingSizes ?? EMPTY_ARRAY;\n\n\tconst defaultSizes =\n\t\tdefaultSpacingSizes && defaultSpacingSizesEnabled !== false\n\t\t\t? defaultSpacingSizes\n\t\t\t: EMPTY_ARRAY;\n\n\treturn useMemo( () => {\n\t\tconst sizes = [\n\t\t\t{ name: __( 'None' ), slug: '0', size: 0 },\n\t\t\t...customSizes,\n\t\t\t...themeSizes,\n\t\t\t...defaultSizes,\n\t\t];\n\n\t\t// Using numeric slugs opts-in to sorting by slug.\n\t\tif ( sizes.every( ( { slug } ) => /^[0-9]/.test( slug ) ) ) {\n\t\t\tsizes.sort( ( a, b ) => compare( a.slug, b.slug ) );\n\t\t}\n\n\t\treturn sizes.length > RANGE_CONTROL_MAX_SIZE\n\t\t\t? [\n\t\t\t\t\t{\n\t\t\t\t\t\tname: __( 'Default' ),\n\t\t\t\t\t\tslug: 'default',\n\t\t\t\t\t\tsize: undefined,\n\t\t\t\t\t},\n\t\t\t\t\t...sizes,\n\t\t\t ]\n\t\t\t: sizes;\n\t}, [ customSizes, themeSizes, defaultSizes ] );\n}\n"], "mappings": ";AAGA,SAAS,eAAe;AACxB,SAAS,UAAU;AAKnB,SAAS,mBAAmB;AAC5B,SAAS,8BAA8B;AAEvC,IAAM,cAAc,CAAC;AAErB,IAAM,UAAU,IAAI,KAAK,SAAU,OAAO,EAAE,SAAS,KAAK,CAAE,EAAE;AAE/C,SAAR,kBAAmC;AACzC,QAAM;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD,IAAI;AAAA,IACH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAEA,QAAM,cAAc,sBAAsB;AAE1C,QAAM,aAAa,qBAAqB;AAExC,QAAM,eACL,uBAAuB,+BAA+B,QACnD,sBACA;AAEJ,SAAO,QAAS,MAAM;AACrB,UAAM,QAAQ;AAAA,MACb,EAAE,MAAM,GAAI,MAAO,GAAG,MAAM,KAAK,MAAM,EAAE;AAAA,MACzC,GAAG;AAAA,MACH,GAAG;AAAA,MACH,GAAG;AAAA,IACJ;AAGA,QAAK,MAAM,MAAO,CAAE,EAAE,KAAK,MAAO,SAAS,KAAM,IAAK,CAAE,GAAI;AAC3D,YAAM,KAAM,CAAE,GAAG,MAAO,QAAS,EAAE,MAAM,EAAE,IAAK,CAAE;AAAA,IACnD;AAEA,WAAO,MAAM,SAAS,yBACnB;AAAA,MACA;AAAA,QACC,MAAM,GAAI,SAAU;AAAA,QACpB,MAAM;AAAA,QACN,MAAM;AAAA,MACP;AAAA,MACA,GAAG;AAAA,IACH,IACA;AAAA,EACJ,GAAG,CAAE,aAAa,YAAY,YAAa,CAAE;AAC9C;", "names": [] }