@wordpress/components 19.6.1-next.a55ed9455a.0 → 19.7.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 +31 -1
- package/build/base-control/index.js +19 -14
- package/build/base-control/index.js.map +1 -1
- package/build/base-control/styles/base-control-styles.js +33 -12
- package/build/base-control/styles/base-control-styles.js.map +1 -1
- package/build/box-control/all-input-control.js +3 -7
- package/build/box-control/all-input-control.js.map +1 -1
- package/build/box-control/axial-input-controls.js +20 -15
- package/build/box-control/axial-input-controls.js.map +1 -1
- package/build/box-control/input-controls.js +21 -16
- package/build/box-control/input-controls.js.map +1 -1
- package/build/box-control/utils.js +25 -11
- package/build/box-control/utils.js.map +1 -1
- package/build/checkbox-control/index.js +21 -1
- package/build/checkbox-control/index.js.map +1 -1
- package/build/color-palette/index.js +53 -4
- package/build/color-palette/index.js.map +1 -1
- package/build/custom-select-control/index.js +8 -3
- package/build/custom-select-control/index.js.map +1 -1
- package/build/divider/styles.js +28 -16
- package/build/divider/styles.js.map +1 -1
- package/build/focal-point-picker/controls.js +2 -3
- package/build/focal-point-picker/controls.js.map +1 -1
- package/build/form-file-upload/index.js +4 -1
- package/build/form-file-upload/index.js.map +1 -1
- package/build/input-control/input-field.js +21 -14
- package/build/input-control/input-field.js.map +1 -1
- package/build/input-control/reducer/actions.js +1 -3
- package/build/input-control/reducer/actions.js.map +1 -1
- package/build/input-control/reducer/reducer.js +1 -43
- package/build/input-control/reducer/reducer.js.map +1 -1
- package/build/number-control/index.js +15 -10
- package/build/number-control/index.js.map +1 -1
- package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
- package/build/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option/component.js +1 -4
- package/build/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
- package/build/toggle-group-control/toggle-group-control-option/styles.js +12 -19
- package/build/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
- package/build/tree-grid/index.js +4 -1
- package/build/tree-grid/index.js.map +1 -1
- package/build/unit-control/index.js +49 -27
- package/build/unit-control/index.js.map +1 -1
- package/build/unit-control/unit-select-control.js +2 -4
- package/build/unit-control/unit-select-control.js.map +1 -1
- package/build-module/base-control/index.js +19 -14
- package/build-module/base-control/index.js.map +1 -1
- package/build-module/base-control/styles/base-control-styles.js +34 -6
- package/build-module/base-control/styles/base-control-styles.js.map +1 -1
- package/build-module/box-control/all-input-control.js +4 -8
- package/build-module/box-control/all-input-control.js.map +1 -1
- package/build-module/box-control/axial-input-controls.js +18 -14
- package/build-module/box-control/axial-input-controls.js.map +1 -1
- package/build-module/box-control/input-controls.js +18 -14
- package/build-module/box-control/input-controls.js.map +1 -1
- package/build-module/box-control/utils.js +25 -11
- package/build-module/box-control/utils.js.map +1 -1
- package/build-module/checkbox-control/index.js +24 -3
- package/build-module/checkbox-control/index.js.map +1 -1
- package/build-module/color-palette/index.js +52 -4
- package/build-module/color-palette/index.js.map +1 -1
- package/build-module/custom-select-control/index.js +8 -3
- package/build-module/custom-select-control/index.js.map +1 -1
- package/build-module/divider/styles.js +29 -10
- package/build-module/divider/styles.js.map +1 -1
- package/build-module/focal-point-picker/controls.js +2 -3
- package/build-module/focal-point-picker/controls.js.map +1 -1
- package/build-module/form-file-upload/index.js +4 -1
- package/build-module/form-file-upload/index.js.map +1 -1
- package/build-module/input-control/input-field.js +21 -13
- package/build-module/input-control/input-field.js.map +1 -1
- package/build-module/input-control/reducer/actions.js +0 -1
- package/build-module/input-control/reducer/actions.js.map +1 -1
- package/build-module/input-control/reducer/reducer.js +2 -39
- package/build-module/input-control/reducer/reducer.js.map +1 -1
- package/build-module/number-control/index.js +15 -9
- package/build-module/number-control/index.js.map +1 -1
- package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +4 -4
- package/build-module/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option/component.js +1 -4
- package/build-module/toggle-group-control/toggle-group-control-option/component.js.map +1 -1
- package/build-module/toggle-group-control/toggle-group-control-option/styles.js +11 -17
- package/build-module/toggle-group-control/toggle-group-control-option/styles.js.map +1 -1
- package/build-module/tree-grid/index.js +4 -1
- package/build-module/tree-grid/index.js.map +1 -1
- package/build-module/unit-control/index.js +47 -25
- package/build-module/unit-control/index.js.map +1 -1
- package/build-module/unit-control/unit-select-control.js +2 -3
- package/build-module/unit-control/unit-select-control.js.map +1 -1
- package/build-style/style-rtl.css +29 -181
- package/build-style/style.css +29 -181
- package/build-types/base-control/index.d.ts +23 -18
- package/build-types/base-control/index.d.ts.map +1 -1
- package/build-types/base-control/styles/base-control-styles.d.ts +4 -0
- package/build-types/base-control/styles/base-control-styles.d.ts.map +1 -1
- package/build-types/card/card-divider/hook.d.ts +1 -1
- package/build-types/color-palette/index.d.ts.map +1 -1
- package/build-types/color-picker/styles.d.ts +1 -1
- package/build-types/divider/stories/index.d.ts +1 -0
- package/build-types/divider/stories/index.d.ts.map +1 -1
- package/build-types/divider/styles.d.ts.map +1 -1
- package/build-types/divider/types.d.ts +8 -1
- package/build-types/divider/types.d.ts.map +1 -1
- package/build-types/input-control/input-field.d.ts.map +1 -1
- package/build-types/input-control/reducer/actions.d.ts +1 -3
- package/build-types/input-control/reducer/actions.d.ts.map +1 -1
- package/build-types/input-control/reducer/reducer.d.ts +3 -9
- package/build-types/input-control/reducer/reducer.d.ts.map +1 -1
- package/build-types/input-control/types.d.ts +2 -2
- package/build-types/input-control/types.d.ts.map +1 -1
- package/build-types/number-control/index.d.ts +3 -3
- package/build-types/number-control/index.d.ts.map +1 -1
- package/build-types/range-control/styles/range-control-styles.d.ts +1 -1
- package/build-types/resizable-box/resize-tooltip/styles/resize-tooltip.styles.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option/component.d.ts.map +1 -1
- package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts +0 -4
- package/build-types/toggle-group-control/toggle-group-control-option/styles.d.ts.map +1 -1
- package/build-types/unit-control/index.d.ts +7 -4
- package/build-types/unit-control/index.d.ts.map +1 -1
- package/build-types/unit-control/stories/index.d.ts +33 -0
- package/build-types/unit-control/stories/index.d.ts.map +1 -0
- package/build-types/unit-control/styles/unit-control-styles.d.ts +1 -1
- package/build-types/unit-control/types.d.ts +23 -6
- package/build-types/unit-control/types.d.ts.map +1 -1
- package/build-types/unit-control/unit-select-control.d.ts.map +1 -1
- package/package.json +17 -17
- package/src/base-control/README.md +9 -1
- package/src/base-control/index.js +20 -13
- package/src/base-control/stories/index.js +2 -2
- package/src/base-control/styles/base-control-styles.js +23 -1
- package/src/box-control/all-input-control.js +2 -10
- package/src/box-control/axial-input-controls.js +32 -21
- package/src/box-control/input-controls.js +30 -19
- package/src/box-control/utils.js +29 -12
- package/src/checkbox-control/index.js +34 -3
- package/src/checkbox-control/stories/index.js +44 -0
- package/src/checkbox-control/style.scss +4 -2
- package/src/color-palette/index.js +73 -8
- package/src/color-palette/stories/index.js +62 -26
- package/src/color-palette/style.scss +11 -3
- package/src/color-palette/test/__snapshots__/index.js.snap +662 -12
- package/src/color-palette/test/index.js +1 -1
- package/src/custom-select-control/index.js +8 -2
- package/src/custom-select-control/stories/index.js +77 -74
- package/src/custom-select-control/style.scss +18 -3
- package/src/divider/stories/index.tsx +26 -23
- package/src/divider/styles.ts +9 -0
- package/src/divider/types.ts +11 -1
- package/src/focal-point-picker/controls.js +2 -3
- package/src/font-size-picker/test/index.js +0 -2
- package/src/form-file-upload/README.md +18 -0
- package/src/form-file-upload/index.js +3 -0
- package/src/form-file-upload/test/index.js +73 -11
- package/src/input-control/input-field.tsx +23 -12
- package/src/input-control/reducer/actions.ts +1 -7
- package/src/input-control/reducer/reducer.ts +0 -29
- package/src/input-control/types.ts +2 -1
- package/src/mobile/image/style.native.scss +1 -0
- package/src/number-control/README.md +14 -0
- package/src/number-control/index.js +13 -12
- package/src/number-control/stories/index.js +14 -7
- package/src/number-control/test/index.js +79 -1
- package/src/range-control/stories/index.js +91 -119
- package/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js +1 -0
- package/src/toggle-group-control/test/__snapshots__/index.js.snap +0 -27
- package/src/toggle-group-control/toggle-group-control-option/component.tsx +1 -4
- package/src/toggle-group-control/toggle-group-control-option/styles.ts +0 -12
- package/src/toolbar-group/style.scss +0 -73
- package/src/tree-grid/README.md +1 -1
- package/src/tree-grid/index.js +4 -0
- package/src/tree-grid/test/index.js +61 -17
- package/src/unit-control/README.md +1 -3
- package/src/unit-control/index.tsx +59 -30
- package/src/unit-control/stories/index.tsx +170 -0
- package/src/unit-control/test/index.js +143 -100
- package/src/unit-control/types.ts +60 -41
- package/src/unit-control/unit-select-control.tsx +2 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/src/unit-control/stories/index.js +0 -127
|
@@ -58,12 +58,12 @@ function FocalPointPickerControls(_ref) {
|
|
|
58
58
|
className: "focal-point-picker__controls"
|
|
59
59
|
}, (0, _element.createElement)(UnitControl, {
|
|
60
60
|
label: (0, _i18n.__)('Left'),
|
|
61
|
-
value: valueX,
|
|
61
|
+
value: [valueX, '%'].join(''),
|
|
62
62
|
onChange: next => handleChange(next, 'x'),
|
|
63
63
|
dragDirection: "e"
|
|
64
64
|
}), (0, _element.createElement)(UnitControl, {
|
|
65
65
|
label: (0, _i18n.__)('Top'),
|
|
66
|
-
value: valueY,
|
|
66
|
+
value: [valueY, '%'].join(''),
|
|
67
67
|
onChange: next => handleChange(next, 'y'),
|
|
68
68
|
dragDirection: "s"
|
|
69
69
|
}));
|
|
@@ -75,7 +75,6 @@ function UnitControl(props) {
|
|
|
75
75
|
labelPosition: "top",
|
|
76
76
|
max: TEXTCONTROL_MAX,
|
|
77
77
|
min: TEXTCONTROL_MIN,
|
|
78
|
-
unit: "%",
|
|
79
78
|
units: [{
|
|
80
79
|
value: '%',
|
|
81
80
|
label: '%'
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/focal-point-picker/controls.js"],"names":["TEXTCONTROL_MIN","TEXTCONTROL_MAX","FocalPointPickerControls","onChange","noop","percentages","x","y","valueX","valueY","handleChange","value","axis","num","parseInt","isNaN","next","UnitControl","props","label"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AAKA;;AAIA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AAOA,MAAMA,eAAe,GAAG,CAAxB;AACA,MAAMC,eAAe,GAAG,GAAxB;;AAEe,SAASC,wBAAT,OAMX;AAAA,MAN8C;AACjDC,IAAAA,QAAQ,GAAGC,YADsC;AAEjDC,IAAAA,WAAW,GAAG;AACbC,MAAAA,CAAC,EAAE,GADU;AAEbC,MAAAA,CAAC,EAAE;AAFU;AAFmC,GAM9C;AACH,QAAMC,MAAM,GAAG,iCAAsBH,WAAW,CAACC,CAAlC,CAAf;AACA,QAAMG,MAAM,GAAG,iCAAsBJ,WAAW,CAACE,CAAlC,CAAf;;AAEA,QAAMG,YAAY,GAAG,CAAEC,KAAF,EAASC,IAAT,KAAmB;AACvC,UAAMC,GAAG,GAAGC,QAAQ,CAAEH,KAAF,EAAS,EAAT,CAApB;;AAEA,QAAK,CAAEI,KAAK,CAAEF,GAAF,CAAZ,EAAsB;AACrBV,MAAAA,QAAQ,CAAE,EAAE,GAAGE,WAAL;AAAkB,SAAEO,IAAF,GAAUC,GAAG,GAAG;AAAlC,OAAF,CAAR;AACA;AACD,GAND;;AAQA,SACC,4BAAC,qCAAD;AAAgB,IAAA,SAAS,EAAC;AAA1B,KACC,4BAAC,WAAD;AACC,IAAA,KAAK,EAAG,cAAI,MAAJ,CADT;AAEC,IAAA,KAAK,
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/focal-point-picker/controls.js"],"names":["TEXTCONTROL_MIN","TEXTCONTROL_MAX","FocalPointPickerControls","onChange","noop","percentages","x","y","valueX","valueY","handleChange","value","axis","num","parseInt","isNaN","join","next","UnitControl","props","label"],"mappings":";;;;;;;;;;;;;AAGA;;AAKA;;AAKA;;AAIA;;AAjBA;AACA;AACA;;AAGA;AACA;AACA;;AAGA;AACA;AACA;AAOA,MAAMA,eAAe,GAAG,CAAxB;AACA,MAAMC,eAAe,GAAG,GAAxB;;AAEe,SAASC,wBAAT,OAMX;AAAA,MAN8C;AACjDC,IAAAA,QAAQ,GAAGC,YADsC;AAEjDC,IAAAA,WAAW,GAAG;AACbC,MAAAA,CAAC,EAAE,GADU;AAEbC,MAAAA,CAAC,EAAE;AAFU;AAFmC,GAM9C;AACH,QAAMC,MAAM,GAAG,iCAAsBH,WAAW,CAACC,CAAlC,CAAf;AACA,QAAMG,MAAM,GAAG,iCAAsBJ,WAAW,CAACE,CAAlC,CAAf;;AAEA,QAAMG,YAAY,GAAG,CAAEC,KAAF,EAASC,IAAT,KAAmB;AACvC,UAAMC,GAAG,GAAGC,QAAQ,CAAEH,KAAF,EAAS,EAAT,CAApB;;AAEA,QAAK,CAAEI,KAAK,CAAEF,GAAF,CAAZ,EAAsB;AACrBV,MAAAA,QAAQ,CAAE,EAAE,GAAGE,WAAL;AAAkB,SAAEO,IAAF,GAAUC,GAAG,GAAG;AAAlC,OAAF,CAAR;AACA;AACD,GAND;;AAQA,SACC,4BAAC,qCAAD;AAAgB,IAAA,SAAS,EAAC;AAA1B,KACC,4BAAC,WAAD;AACC,IAAA,KAAK,EAAG,cAAI,MAAJ,CADT;AAEC,IAAA,KAAK,EAAG,CAAEL,MAAF,EAAU,GAAV,EAAgBQ,IAAhB,CAAsB,EAAtB,CAFT;AAGC,IAAA,QAAQ,EAAKC,IAAF,IAAYP,YAAY,CAAEO,IAAF,EAAQ,GAAR,CAHpC;AAIC,IAAA,aAAa,EAAC;AAJf,IADD,EAOC,4BAAC,WAAD;AACC,IAAA,KAAK,EAAG,cAAI,KAAJ,CADT;AAEC,IAAA,KAAK,EAAG,CAAER,MAAF,EAAU,GAAV,EAAgBO,IAAhB,CAAsB,EAAtB,CAFT;AAGC,IAAA,QAAQ,EAAKC,IAAF,IAAYP,YAAY,CAAEO,IAAF,EAAQ,GAAR,CAHpC;AAIC,IAAA,aAAa,EAAC;AAJf,IAPD,CADD;AAgBA;;AAED,SAASC,WAAT,CAAsBC,KAAtB,EAA8B;AAC7B,SACC,4BAAC,kCAAD;AACC,IAAA,SAAS,EAAC,oDADX;AAEC,IAAA,aAAa,EAAC,KAFf;AAGC,IAAA,GAAG,EAAGlB,eAHP;AAIC,IAAA,GAAG,EAAGD,eAJP;AAKC,IAAA,KAAK,EAAG,CAAE;AAAEW,MAAAA,KAAK,EAAE,GAAT;AAAcS,MAAAA,KAAK,EAAE;AAArB,KAAF;AALT,KAMMD,KANN,EADD;AAUA","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\n\n/**\n * WordPress dependencies\n */\nimport { __ } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport {\n\tUnitControl as BaseUnitControl,\n\tControlWrapper,\n} from './styles/focal-point-picker-style';\nimport { fractionToPercentage } from './utils';\n\nconst TEXTCONTROL_MIN = 0;\nconst TEXTCONTROL_MAX = 100;\n\nexport default function FocalPointPickerControls( {\n\tonChange = noop,\n\tpercentages = {\n\t\tx: 0.5,\n\t\ty: 0.5,\n\t},\n} ) {\n\tconst valueX = fractionToPercentage( percentages.x );\n\tconst valueY = fractionToPercentage( percentages.y );\n\n\tconst handleChange = ( value, axis ) => {\n\t\tconst num = parseInt( value, 10 );\n\n\t\tif ( ! isNaN( num ) ) {\n\t\t\tonChange( { ...percentages, [ axis ]: num / 100 } );\n\t\t}\n\t};\n\n\treturn (\n\t\t<ControlWrapper className=\"focal-point-picker__controls\">\n\t\t\t<UnitControl\n\t\t\t\tlabel={ __( 'Left' ) }\n\t\t\t\tvalue={ [ valueX, '%' ].join( '' ) }\n\t\t\t\tonChange={ ( next ) => handleChange( next, 'x' ) }\n\t\t\t\tdragDirection=\"e\"\n\t\t\t/>\n\t\t\t<UnitControl\n\t\t\t\tlabel={ __( 'Top' ) }\n\t\t\t\tvalue={ [ valueY, '%' ].join( '' ) }\n\t\t\t\tonChange={ ( next ) => handleChange( next, 'y' ) }\n\t\t\t\tdragDirection=\"s\"\n\t\t\t/>\n\t\t</ControlWrapper>\n\t);\n}\n\nfunction UnitControl( props ) {\n\treturn (\n\t\t<BaseUnitControl\n\t\t\tclassName=\"focal-point-picker__controls-position-unit-control\"\n\t\t\tlabelPosition=\"top\"\n\t\t\tmax={ TEXTCONTROL_MAX }\n\t\t\tmin={ TEXTCONTROL_MIN }\n\t\t\tunits={ [ { value: '%', label: '%' } ] }\n\t\t\t{ ...props }\n\t\t/>\n\t);\n}\n"]}
|
|
@@ -26,6 +26,7 @@ function FormFileUpload(_ref) {
|
|
|
26
26
|
children,
|
|
27
27
|
multiple = false,
|
|
28
28
|
onChange,
|
|
29
|
+
onClick,
|
|
29
30
|
render,
|
|
30
31
|
...props
|
|
31
32
|
} = _ref;
|
|
@@ -50,7 +51,9 @@ function FormFileUpload(_ref) {
|
|
|
50
51
|
display: 'none'
|
|
51
52
|
},
|
|
52
53
|
accept: accept,
|
|
53
|
-
onChange: onChange
|
|
54
|
+
onChange: onChange,
|
|
55
|
+
onClick: onClick,
|
|
56
|
+
"data-testid": "form-file-upload-input"
|
|
54
57
|
}));
|
|
55
58
|
}
|
|
56
59
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/form-file-upload/index.js"],"names":["FormFileUpload","accept","children","multiple","onChange","render","props","ref","openFileDialog","current","click","ui","display"],"mappings":";;;;;;;;;AAGA;;;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGA,SAASA,cAAT,
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/form-file-upload/index.js"],"names":["FormFileUpload","accept","children","multiple","onChange","onClick","render","props","ref","openFileDialog","current","click","ui","display"],"mappings":";;;;;;;;;AAGA;;;;AAKA;;AARA;AACA;AACA;;AAGA;AACA;AACA;AAGA,SAASA,cAAT,OAQI;AAAA,MARqB;AACxBC,IAAAA,MADwB;AAExBC,IAAAA,QAFwB;AAGxBC,IAAAA,QAAQ,GAAG,KAHa;AAIxBC,IAAAA,QAJwB;AAKxBC,IAAAA,OALwB;AAMxBC,IAAAA,MANwB;AAOxB,OAAGC;AAPqB,GAQrB;AACH,QAAMC,GAAG,GAAG,sBAAZ;;AACA,QAAMC,cAAc,GAAG,MAAM;AAC5BD,IAAAA,GAAG,CAACE,OAAJ,CAAYC,KAAZ;AACA,GAFD;;AAIA,QAAMC,EAAE,GAAGN,MAAM,GAChBA,MAAM,CAAE;AAAEG,IAAAA;AAAF,GAAF,CADU,GAGhB,4BAAC,eAAD;AAAQ,IAAA,OAAO,EAAGA;AAAlB,KAAwCF,KAAxC,GACGL,QADH,CAHD;AAOA,SACC;AAAK,IAAA,SAAS,EAAC;AAAf,KACGU,EADH,EAEC;AACC,IAAA,IAAI,EAAC,MADN;AAEC,IAAA,GAAG,EAAGJ,GAFP;AAGC,IAAA,QAAQ,EAAGL,QAHZ;AAIC,IAAA,KAAK,EAAG;AAAEU,MAAAA,OAAO,EAAE;AAAX,KAJT;AAKC,IAAA,MAAM,EAAGZ,MALV;AAMC,IAAA,QAAQ,EAAGG,QANZ;AAOC,IAAA,OAAO,EAAGC,OAPX;AAQC,mBAAY;AARb,IAFD,CADD;AAeA;;eAEcL,c","sourcesContent":["/**\n * WordPress dependencies\n */\nimport { useRef } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport Button from '../button';\n\nfunction FormFileUpload( {\n\taccept,\n\tchildren,\n\tmultiple = false,\n\tonChange,\n\tonClick,\n\trender,\n\t...props\n} ) {\n\tconst ref = useRef();\n\tconst openFileDialog = () => {\n\t\tref.current.click();\n\t};\n\n\tconst ui = render ? (\n\t\trender( { openFileDialog } )\n\t) : (\n\t\t<Button onClick={ openFileDialog } { ...props }>\n\t\t\t{ children }\n\t\t</Button>\n\t);\n\treturn (\n\t\t<div className=\"components-form-file-upload\">\n\t\t\t{ ui }\n\t\t\t<input\n\t\t\t\ttype=\"file\"\n\t\t\t\tref={ ref }\n\t\t\t\tmultiple={ multiple }\n\t\t\t\tstyle={ { display: 'none' } }\n\t\t\t\taccept={ accept }\n\t\t\t\tonChange={ onChange }\n\t\t\t\tonClick={ onClick }\n\t\t\t\tdata-testid=\"form-file-upload-input\"\n\t\t\t/>\n\t\t</div>\n\t);\n}\n\nexport default FormFileUpload;\n"]}
|
|
@@ -15,8 +15,6 @@ var _lodash = require("lodash");
|
|
|
15
15
|
|
|
16
16
|
var _react = require("@use-gesture/react");
|
|
17
17
|
|
|
18
|
-
var _keycodes = require("@wordpress/keycodes");
|
|
19
|
-
|
|
20
18
|
var _utils = require("./utils");
|
|
21
19
|
|
|
22
20
|
var _inputControlStyles = require("./styles/input-control-styles");
|
|
@@ -69,8 +67,7 @@ function InputField(_ref, ref) {
|
|
|
69
67
|
pressDown,
|
|
70
68
|
pressEnter,
|
|
71
69
|
pressUp,
|
|
72
|
-
reset
|
|
73
|
-
update
|
|
70
|
+
reset
|
|
74
71
|
} = (0, _reducer.useInputControlStateReducer)(stateReducer, {
|
|
75
72
|
isDragEnabled,
|
|
76
73
|
value: valueProp,
|
|
@@ -98,7 +95,7 @@ function InputField(_ref, ref) {
|
|
|
98
95
|
}
|
|
99
96
|
|
|
100
97
|
if (!isFocused && !wasDirtyOnBlur.current) {
|
|
101
|
-
|
|
98
|
+
commit(valueProp, _event);
|
|
102
99
|
} else if (!isDirty) {
|
|
103
100
|
onChange(value, {
|
|
104
101
|
event: _event
|
|
@@ -115,7 +112,7 @@ function InputField(_ref, ref) {
|
|
|
115
112
|
* the onChange callback.
|
|
116
113
|
*/
|
|
117
114
|
|
|
118
|
-
if (
|
|
115
|
+
if (isDirty || !event.target.validity.valid) {
|
|
119
116
|
wasDirtyOnBlur.current = true;
|
|
120
117
|
handleOnCommit(event);
|
|
121
118
|
}
|
|
@@ -144,20 +141,20 @@ function InputField(_ref, ref) {
|
|
|
144
141
|
|
|
145
142
|
const handleOnKeyDown = event => {
|
|
146
143
|
const {
|
|
147
|
-
|
|
144
|
+
key
|
|
148
145
|
} = event;
|
|
149
146
|
onKeyDown(event);
|
|
150
147
|
|
|
151
|
-
switch (
|
|
152
|
-
case
|
|
148
|
+
switch (key) {
|
|
149
|
+
case 'ArrowUp':
|
|
153
150
|
pressUp(event);
|
|
154
151
|
break;
|
|
155
152
|
|
|
156
|
-
case
|
|
153
|
+
case 'ArrowDown':
|
|
157
154
|
pressDown(event);
|
|
158
155
|
break;
|
|
159
156
|
|
|
160
|
-
case
|
|
157
|
+
case 'Enter':
|
|
161
158
|
pressEnter(event);
|
|
162
159
|
|
|
163
160
|
if (isPressEnterToChange) {
|
|
@@ -167,7 +164,7 @@ function InputField(_ref, ref) {
|
|
|
167
164
|
|
|
168
165
|
break;
|
|
169
166
|
|
|
170
|
-
case
|
|
167
|
+
case 'Escape':
|
|
171
168
|
if (isPressEnterToChange && isDirty) {
|
|
172
169
|
event.preventDefault();
|
|
173
170
|
reset(valueProp, event);
|
|
@@ -181,8 +178,18 @@ function InputField(_ref, ref) {
|
|
|
181
178
|
const {
|
|
182
179
|
distance,
|
|
183
180
|
dragging,
|
|
184
|
-
event
|
|
185
|
-
|
|
181
|
+
event,
|
|
182
|
+
target
|
|
183
|
+
} = dragProps; // The `target` prop always references the `input` element while, by
|
|
184
|
+
// default, the `dragProps.event.target` property would reference the real
|
|
185
|
+
// event target (i.e. any DOM element that the pointer is hovering while
|
|
186
|
+
// dragging). Ensuring that the `target` is always the `input` element
|
|
187
|
+
// allows consumers of `InputControl` (or any higher-level control) to
|
|
188
|
+
// check the input's validity by accessing `event.target.validity.valid`.
|
|
189
|
+
|
|
190
|
+
dragProps.event = { ...dragProps.event,
|
|
191
|
+
target
|
|
192
|
+
};
|
|
186
193
|
if (!distance) return;
|
|
187
194
|
event.stopPropagation();
|
|
188
195
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/input-control/input-field.tsx"],"names":["InputField","ref","disabled","dragDirection","dragThreshold","id","isDragEnabled","isFocused","isPressEnterToChange","onBlur","noop","onChange","onDrag","onDragEnd","onDragStart","onFocus","onKeyDown","onValidate","size","setIsFocused","stateReducer","state","value","valueProp","type","props","change","commit","drag","dragEnd","dragStart","invalidate","pressDown","pressEnter","pressUp","reset","update","_event","isDragging","isDirty","wasDirtyOnBlur","dragCursor","current","event","handleOnBlur","handleOnCommit","handleOnFocus","handleOnChange","nextValue","target","currentTarget","err","handleOnKeyDown","keyCode","UP","DOWN","ENTER","preventDefault","ESCAPE","dragGestureProps","dragProps","distance","dragging","stopPropagation","axis","threshold","enabled","pointer","capture","handleOnMouseDown","onMouseDown","ownerDocument","activeElement","focus","ForwardedComponent"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\nimport { useDrag } from '@use-gesture/react';\nimport type {\n\tSyntheticEvent,\n\tChangeEvent,\n\tKeyboardEvent,\n\tPointerEvent,\n\tFocusEvent,\n\tForwardedRef,\n\tMouseEvent,\n} from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef, useRef } from '@wordpress/element';\nimport { UP, DOWN, ENTER, ESCAPE } from '@wordpress/keycodes';\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../ui/context';\nimport { useDragCursor } from './utils';\nimport { Input } from './styles/input-control-styles';\nimport { useInputControlStateReducer } from './reducer/reducer';\nimport { useUpdateEffect } from '../utils';\nimport type { InputFieldProps } from './types';\n\nfunction InputField(\n\t{\n\t\tdisabled = false,\n\t\tdragDirection = 'n',\n\t\tdragThreshold = 10,\n\t\tid,\n\t\tisDragEnabled = false,\n\t\tisFocused,\n\t\tisPressEnterToChange = false,\n\t\tonBlur = noop,\n\t\tonChange = noop,\n\t\tonDrag = noop,\n\t\tonDragEnd = noop,\n\t\tonDragStart = noop,\n\t\tonFocus = noop,\n\t\tonKeyDown = noop,\n\t\tonValidate = noop,\n\t\tsize = 'default',\n\t\tsetIsFocused,\n\t\tstateReducer = ( state: any ) => state,\n\t\tvalue: valueProp,\n\t\ttype,\n\t\t...props\n\t}: WordPressComponentProps< InputFieldProps, 'input', false >,\n\tref: ForwardedRef< HTMLInputElement >\n) {\n\tconst {\n\t\t// State.\n\t\tstate,\n\t\t// Actions.\n\t\tchange,\n\t\tcommit,\n\t\tdrag,\n\t\tdragEnd,\n\t\tdragStart,\n\t\tinvalidate,\n\t\tpressDown,\n\t\tpressEnter,\n\t\tpressUp,\n\t\treset,\n\t\tupdate,\n\t} = useInputControlStateReducer( stateReducer, {\n\t\tisDragEnabled,\n\t\tvalue: valueProp,\n\t\tisPressEnterToChange,\n\t} );\n\n\tconst { _event, value, isDragging, isDirty } = state;\n\tconst wasDirtyOnBlur = useRef( false );\n\n\tconst dragCursor = useDragCursor( isDragging, dragDirection );\n\n\t/*\n\t * Handles synchronization of external and internal value state.\n\t * If not focused and did not hold a dirty value[1] on blur\n\t * updates the value from the props. Otherwise if not holding\n\t * a dirty value[1] propagates the value and event through onChange.\n\t * [1] value is only made dirty if isPressEnterToChange is true\n\t */\n\tuseUpdateEffect( () => {\n\t\tif ( valueProp === value ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( ! isFocused && ! wasDirtyOnBlur.current ) {\n\t\t\tupdate( valueProp, _event as SyntheticEvent );\n\t\t} else if ( ! isDirty ) {\n\t\t\tonChange( value, {\n\t\t\t\tevent: _event as ChangeEvent< HTMLInputElement >,\n\t\t\t} );\n\t\t\twasDirtyOnBlur.current = false;\n\t\t}\n\t}, [ value, isDirty, isFocused, valueProp ] );\n\n\tconst handleOnBlur = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonBlur( event );\n\t\tsetIsFocused?.( false );\n\n\t\t/**\n\t\t * If isPressEnterToChange is set, this commits the value to\n\t\t * the onChange callback.\n\t\t */\n\t\tif ( isPressEnterToChange && isDirty ) {\n\t\t\twasDirtyOnBlur.current = true;\n\t\t\thandleOnCommit( event );\n\t\t}\n\t};\n\n\tconst handleOnFocus = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonFocus( event );\n\t\tsetIsFocused?.( true );\n\t};\n\n\tconst handleOnChange = ( event: ChangeEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = event.target.value;\n\t\tchange( nextValue, event );\n\t};\n\n\tconst handleOnCommit = ( event: SyntheticEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = event.currentTarget.value;\n\n\t\ttry {\n\t\t\tonValidate( nextValue );\n\t\t\tcommit( nextValue, event );\n\t\t} catch ( err ) {\n\t\t\tinvalidate( err, event );\n\t\t}\n\t};\n\n\tconst handleOnKeyDown = ( event: KeyboardEvent< HTMLInputElement > ) => {\n\t\tconst { keyCode } = event;\n\t\tonKeyDown( event );\n\n\t\tswitch ( keyCode ) {\n\t\t\tcase UP:\n\t\t\t\tpressUp( event );\n\t\t\t\tbreak;\n\n\t\t\tcase DOWN:\n\t\t\t\tpressDown( event );\n\t\t\t\tbreak;\n\n\t\t\tcase ENTER:\n\t\t\t\tpressEnter( event );\n\n\t\t\t\tif ( isPressEnterToChange ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\thandleOnCommit( event );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase ESCAPE:\n\t\t\t\tif ( isPressEnterToChange && isDirty ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treset( valueProp, event );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tconst dragGestureProps = useDrag< PointerEvent< HTMLInputElement > >(\n\t\t( dragProps ) => {\n\t\t\tconst { distance, dragging, event } = dragProps;\n\n\t\t\tif ( ! distance ) return;\n\t\t\tevent.stopPropagation();\n\n\t\t\t/**\n\t\t\t * Quick return if no longer dragging.\n\t\t\t * This prevents unnecessary value calculations.\n\t\t\t */\n\t\t\tif ( ! dragging ) {\n\t\t\t\tonDragEnd( dragProps );\n\t\t\t\tdragEnd( dragProps );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonDrag( dragProps );\n\t\t\tdrag( dragProps );\n\n\t\t\tif ( ! isDragging ) {\n\t\t\t\tonDragStart( dragProps );\n\t\t\t\tdragStart( dragProps );\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\taxis: dragDirection === 'e' || dragDirection === 'w' ? 'x' : 'y',\n\t\t\tthreshold: dragThreshold,\n\t\t\tenabled: isDragEnabled,\n\t\t\tpointer: { capture: false },\n\t\t}\n\t);\n\n\tconst dragProps = isDragEnabled ? dragGestureProps() : {};\n\t/*\n\t * Works around the odd UA (e.g. Firefox) that does not focus inputs of\n\t * type=number when their spinner arrows are pressed.\n\t */\n\tlet handleOnMouseDown;\n\tif ( type === 'number' ) {\n\t\thandleOnMouseDown = ( event: MouseEvent< HTMLInputElement > ) => {\n\t\t\tprops.onMouseDown?.( event );\n\t\t\tif (\n\t\t\t\tevent.currentTarget !==\n\t\t\t\tevent.currentTarget.ownerDocument.activeElement\n\t\t\t) {\n\t\t\t\tevent.currentTarget.focus();\n\t\t\t}\n\t\t};\n\t}\n\n\treturn (\n\t\t<Input\n\t\t\t{ ...props }\n\t\t\t{ ...dragProps }\n\t\t\tclassName=\"components-input-control__input\"\n\t\t\tdisabled={ disabled }\n\t\t\tdragCursor={ dragCursor }\n\t\t\tisDragging={ isDragging }\n\t\t\tid={ id }\n\t\t\tonBlur={ handleOnBlur }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonFocus={ handleOnFocus }\n\t\t\tonKeyDown={ handleOnKeyDown }\n\t\t\tonMouseDown={ handleOnMouseDown }\n\t\t\tref={ ref }\n\t\t\tinputSize={ size }\n\t\t\tvalue={ value }\n\t\t\ttype={ type }\n\t\t/>\n\t);\n}\n\nconst ForwardedComponent = forwardRef( InputField );\n\nexport default ForwardedComponent;\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/input-control/input-field.tsx"],"names":["InputField","ref","disabled","dragDirection","dragThreshold","id","isDragEnabled","isFocused","isPressEnterToChange","onBlur","noop","onChange","onDrag","onDragEnd","onDragStart","onFocus","onKeyDown","onValidate","size","setIsFocused","stateReducer","state","value","valueProp","type","props","change","commit","drag","dragEnd","dragStart","invalidate","pressDown","pressEnter","pressUp","reset","_event","isDragging","isDirty","wasDirtyOnBlur","dragCursor","current","event","handleOnBlur","target","validity","valid","handleOnCommit","handleOnFocus","handleOnChange","nextValue","currentTarget","err","handleOnKeyDown","key","preventDefault","dragGestureProps","dragProps","distance","dragging","stopPropagation","axis","threshold","enabled","pointer","capture","handleOnMouseDown","onMouseDown","ownerDocument","activeElement","focus","ForwardedComponent"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { noop } from 'lodash';\nimport { useDrag } from '@use-gesture/react';\nimport type {\n\tSyntheticEvent,\n\tChangeEvent,\n\tKeyboardEvent,\n\tPointerEvent,\n\tFocusEvent,\n\tForwardedRef,\n\tMouseEvent,\n} from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef, useRef } from '@wordpress/element';\n/**\n * Internal dependencies\n */\nimport type { WordPressComponentProps } from '../ui/context';\nimport { useDragCursor } from './utils';\nimport { Input } from './styles/input-control-styles';\nimport { useInputControlStateReducer } from './reducer/reducer';\nimport { useUpdateEffect } from '../utils';\nimport type { InputFieldProps } from './types';\n\nfunction InputField(\n\t{\n\t\tdisabled = false,\n\t\tdragDirection = 'n',\n\t\tdragThreshold = 10,\n\t\tid,\n\t\tisDragEnabled = false,\n\t\tisFocused,\n\t\tisPressEnterToChange = false,\n\t\tonBlur = noop,\n\t\tonChange = noop,\n\t\tonDrag = noop,\n\t\tonDragEnd = noop,\n\t\tonDragStart = noop,\n\t\tonFocus = noop,\n\t\tonKeyDown = noop,\n\t\tonValidate = noop,\n\t\tsize = 'default',\n\t\tsetIsFocused,\n\t\tstateReducer = ( state: any ) => state,\n\t\tvalue: valueProp,\n\t\ttype,\n\t\t...props\n\t}: WordPressComponentProps< InputFieldProps, 'input', false >,\n\tref: ForwardedRef< HTMLInputElement >\n) {\n\tconst {\n\t\t// State.\n\t\tstate,\n\t\t// Actions.\n\t\tchange,\n\t\tcommit,\n\t\tdrag,\n\t\tdragEnd,\n\t\tdragStart,\n\t\tinvalidate,\n\t\tpressDown,\n\t\tpressEnter,\n\t\tpressUp,\n\t\treset,\n\t} = useInputControlStateReducer( stateReducer, {\n\t\tisDragEnabled,\n\t\tvalue: valueProp,\n\t\tisPressEnterToChange,\n\t} );\n\n\tconst { _event, value, isDragging, isDirty } = state;\n\tconst wasDirtyOnBlur = useRef( false );\n\n\tconst dragCursor = useDragCursor( isDragging, dragDirection );\n\n\t/*\n\t * Handles synchronization of external and internal value state.\n\t * If not focused and did not hold a dirty value[1] on blur\n\t * updates the value from the props. Otherwise if not holding\n\t * a dirty value[1] propagates the value and event through onChange.\n\t * [1] value is only made dirty if isPressEnterToChange is true\n\t */\n\tuseUpdateEffect( () => {\n\t\tif ( valueProp === value ) {\n\t\t\treturn;\n\t\t}\n\t\tif ( ! isFocused && ! wasDirtyOnBlur.current ) {\n\t\t\tcommit( valueProp, _event as SyntheticEvent );\n\t\t} else if ( ! isDirty ) {\n\t\t\tonChange( value, {\n\t\t\t\tevent: _event as\n\t\t\t\t\t| ChangeEvent< HTMLInputElement >\n\t\t\t\t\t| PointerEvent< HTMLInputElement >,\n\t\t\t} );\n\t\t\twasDirtyOnBlur.current = false;\n\t\t}\n\t}, [ value, isDirty, isFocused, valueProp ] );\n\n\tconst handleOnBlur = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonBlur( event );\n\t\tsetIsFocused?.( false );\n\n\t\t/**\n\t\t * If isPressEnterToChange is set, this commits the value to\n\t\t * the onChange callback.\n\t\t */\n\t\tif ( isDirty || ! event.target.validity.valid ) {\n\t\t\twasDirtyOnBlur.current = true;\n\t\t\thandleOnCommit( event );\n\t\t}\n\t};\n\n\tconst handleOnFocus = ( event: FocusEvent< HTMLInputElement > ) => {\n\t\tonFocus( event );\n\t\tsetIsFocused?.( true );\n\t};\n\n\tconst handleOnChange = ( event: ChangeEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = event.target.value;\n\t\tchange( nextValue, event );\n\t};\n\n\tconst handleOnCommit = ( event: SyntheticEvent< HTMLInputElement > ) => {\n\t\tconst nextValue = event.currentTarget.value;\n\n\t\ttry {\n\t\t\tonValidate( nextValue );\n\t\t\tcommit( nextValue, event );\n\t\t} catch ( err ) {\n\t\t\tinvalidate( err, event );\n\t\t}\n\t};\n\n\tconst handleOnKeyDown = ( event: KeyboardEvent< HTMLInputElement > ) => {\n\t\tconst { key } = event;\n\t\tonKeyDown( event );\n\n\t\tswitch ( key ) {\n\t\t\tcase 'ArrowUp':\n\t\t\t\tpressUp( event );\n\t\t\t\tbreak;\n\n\t\t\tcase 'ArrowDown':\n\t\t\t\tpressDown( event );\n\t\t\t\tbreak;\n\n\t\t\tcase 'Enter':\n\t\t\t\tpressEnter( event );\n\n\t\t\t\tif ( isPressEnterToChange ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\thandleOnCommit( event );\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase 'Escape':\n\t\t\t\tif ( isPressEnterToChange && isDirty ) {\n\t\t\t\t\tevent.preventDefault();\n\t\t\t\t\treset( valueProp, event );\n\t\t\t\t}\n\t\t\t\tbreak;\n\t\t}\n\t};\n\n\tconst dragGestureProps = useDrag< PointerEvent< HTMLInputElement > >(\n\t\t( dragProps ) => {\n\t\t\tconst { distance, dragging, event, target } = dragProps;\n\n\t\t\t// The `target` prop always references the `input` element while, by\n\t\t\t// default, the `dragProps.event.target` property would reference the real\n\t\t\t// event target (i.e. any DOM element that the pointer is hovering while\n\t\t\t// dragging). Ensuring that the `target` is always the `input` element\n\t\t\t// allows consumers of `InputControl` (or any higher-level control) to\n\t\t\t// check the input's validity by accessing `event.target.validity.valid`.\n\t\t\tdragProps.event = {\n\t\t\t\t...dragProps.event,\n\t\t\t\ttarget,\n\t\t\t};\n\n\t\t\tif ( ! distance ) return;\n\t\t\tevent.stopPropagation();\n\n\t\t\t/**\n\t\t\t * Quick return if no longer dragging.\n\t\t\t * This prevents unnecessary value calculations.\n\t\t\t */\n\t\t\tif ( ! dragging ) {\n\t\t\t\tonDragEnd( dragProps );\n\t\t\t\tdragEnd( dragProps );\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tonDrag( dragProps );\n\t\t\tdrag( dragProps );\n\n\t\t\tif ( ! isDragging ) {\n\t\t\t\tonDragStart( dragProps );\n\t\t\t\tdragStart( dragProps );\n\t\t\t}\n\t\t},\n\t\t{\n\t\t\taxis: dragDirection === 'e' || dragDirection === 'w' ? 'x' : 'y',\n\t\t\tthreshold: dragThreshold,\n\t\t\tenabled: isDragEnabled,\n\t\t\tpointer: { capture: false },\n\t\t}\n\t);\n\n\tconst dragProps = isDragEnabled ? dragGestureProps() : {};\n\t/*\n\t * Works around the odd UA (e.g. Firefox) that does not focus inputs of\n\t * type=number when their spinner arrows are pressed.\n\t */\n\tlet handleOnMouseDown;\n\tif ( type === 'number' ) {\n\t\thandleOnMouseDown = ( event: MouseEvent< HTMLInputElement > ) => {\n\t\t\tprops.onMouseDown?.( event );\n\t\t\tif (\n\t\t\t\tevent.currentTarget !==\n\t\t\t\tevent.currentTarget.ownerDocument.activeElement\n\t\t\t) {\n\t\t\t\tevent.currentTarget.focus();\n\t\t\t}\n\t\t};\n\t}\n\n\treturn (\n\t\t<Input\n\t\t\t{ ...props }\n\t\t\t{ ...dragProps }\n\t\t\tclassName=\"components-input-control__input\"\n\t\t\tdisabled={ disabled }\n\t\t\tdragCursor={ dragCursor }\n\t\t\tisDragging={ isDragging }\n\t\t\tid={ id }\n\t\t\tonBlur={ handleOnBlur }\n\t\t\tonChange={ handleOnChange }\n\t\t\tonFocus={ handleOnFocus }\n\t\t\tonKeyDown={ handleOnKeyDown }\n\t\t\tonMouseDown={ handleOnMouseDown }\n\t\t\tref={ ref }\n\t\t\tinputSize={ size }\n\t\t\tvalue={ value }\n\t\t\ttype={ type }\n\t\t/>\n\t);\n}\n\nconst ForwardedComponent = forwardRef( InputField );\n\nexport default ForwardedComponent;\n"]}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.
|
|
6
|
+
exports.RESET = exports.PRESS_UP = exports.PRESS_ENTER = exports.PRESS_DOWN = exports.INVALIDATE = exports.DRAG_START = exports.DRAG_END = exports.DRAG = exports.COMMIT = exports.CHANGE = void 0;
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
9
|
* External dependencies
|
|
@@ -32,6 +32,4 @@ const PRESS_UP = 'PRESS_UP';
|
|
|
32
32
|
exports.PRESS_UP = PRESS_UP;
|
|
33
33
|
const RESET = 'RESET';
|
|
34
34
|
exports.RESET = RESET;
|
|
35
|
-
const UPDATE = 'UPDATE';
|
|
36
|
-
exports.UPDATE = UPDATE;
|
|
37
35
|
//# sourceMappingURL=actions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/input-control/reducer/actions.ts"],"names":["CHANGE","COMMIT","DRAG_END","DRAG_START","DRAG","INVALIDATE","PRESS_DOWN","PRESS_ENTER","PRESS_UP","RESET"
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/input-control/reducer/actions.ts"],"names":["CHANGE","COMMIT","DRAG_END","DRAG_START","DRAG","INVALIDATE","PRESS_DOWN","PRESS_ENTER","PRESS_UP","RESET"],"mappings":";;;;;;;AAAA;AACA;AACA;;AAGA;AACA;AACA;AAGO,MAAMA,MAAM,GAAG,QAAf;;AACA,MAAMC,MAAM,GAAG,QAAf;;AACA,MAAMC,QAAQ,GAAG,UAAjB;;AACA,MAAMC,UAAU,GAAG,YAAnB;;AACA,MAAMC,IAAI,GAAG,MAAb;;AACA,MAAMC,UAAU,GAAG,YAAnB;;AACA,MAAMC,UAAU,GAAG,YAAnB;;AACA,MAAMC,WAAW,GAAG,aAApB;;AACA,MAAMC,QAAQ,GAAG,UAAjB;;AACA,MAAMC,KAAK,GAAG,OAAd","sourcesContent":["/**\n * External dependencies\n */\nimport type { SyntheticEvent } from 'react';\n\n/**\n * Internal dependencies\n */\nimport type { DragProps } from '../types';\n\nexport const CHANGE = 'CHANGE';\nexport const COMMIT = 'COMMIT';\nexport const DRAG_END = 'DRAG_END';\nexport const DRAG_START = 'DRAG_START';\nexport const DRAG = 'DRAG';\nexport const INVALIDATE = 'INVALIDATE';\nexport const PRESS_DOWN = 'PRESS_DOWN';\nexport const PRESS_ENTER = 'PRESS_ENTER';\nexport const PRESS_UP = 'PRESS_UP';\nexport const RESET = 'RESET';\n\ninterface EventPayload {\n\tevent?: SyntheticEvent;\n}\n\ninterface Action< Type, ExtraPayload = {} > {\n\ttype: Type;\n\tpayload: EventPayload & ExtraPayload;\n}\n\ninterface ValuePayload {\n\tvalue: string;\n}\n\nexport type ChangeAction = Action< typeof CHANGE, ValuePayload >;\nexport type CommitAction = Action< typeof COMMIT, ValuePayload >;\nexport type PressUpAction = Action< typeof PRESS_UP >;\nexport type PressDownAction = Action< typeof PRESS_DOWN >;\nexport type PressEnterAction = Action< typeof PRESS_ENTER >;\nexport type DragStartAction = Action< typeof DRAG_START, DragProps >;\nexport type DragEndAction = Action< typeof DRAG_END, DragProps >;\nexport type DragAction = Action< typeof DRAG, DragProps >;\nexport type ResetAction = Action< typeof RESET, Partial< ValuePayload > >;\nexport type InvalidateAction = Action< typeof INVALIDATE, { error: unknown } >;\n\nexport type ChangeEventAction = ChangeAction | ResetAction | CommitAction;\n\nexport type DragEventAction = DragStartAction | DragEndAction | DragAction;\n\nexport type KeyEventAction = PressDownAction | PressUpAction | PressEnterAction;\n\nexport type InputAction =\n\t| ChangeEventAction\n\t| KeyEventAction\n\t| DragEventAction\n\t| InvalidateAction;\n"]}
|
|
@@ -3,11 +3,8 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.composeStateReducers = void 0;
|
|
7
6
|
exports.useInputControlStateReducer = useInputControlStateReducer;
|
|
8
7
|
|
|
9
|
-
var _lodash = require("lodash");
|
|
10
|
-
|
|
11
8
|
var _element = require("@wordpress/element");
|
|
12
9
|
|
|
13
10
|
var _state = require("./state");
|
|
@@ -46,36 +43,6 @@ function mergeInitialState() {
|
|
|
46
43
|
initialValue: value
|
|
47
44
|
};
|
|
48
45
|
}
|
|
49
|
-
/**
|
|
50
|
-
* Composes multiple stateReducers into a single stateReducer, building
|
|
51
|
-
* the pipeline to control the flow for state and actions.
|
|
52
|
-
*
|
|
53
|
-
* @param fns State reducers.
|
|
54
|
-
* @return The single composed stateReducer.
|
|
55
|
-
*/
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
const composeStateReducers = function () {
|
|
59
|
-
for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
60
|
-
fns[_key] = arguments[_key];
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
return function () {
|
|
64
|
-
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
65
|
-
args[_key2] = arguments[_key2];
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
return fns.reduceRight((state, fn) => {
|
|
69
|
-
// TODO: Assess whether this can be replaced with a more standard `compose` implementation
|
|
70
|
-
// like wp.data.compose() (aka lodash flowRight) or Redux compose().
|
|
71
|
-
// The current implementation only works by functions mutating the original state object.
|
|
72
|
-
const fnState = fn(...args);
|
|
73
|
-
return (0, _lodash.isEmpty)(fnState) ? state : { ...state,
|
|
74
|
-
...fnState
|
|
75
|
-
};
|
|
76
|
-
}, {});
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
46
|
/**
|
|
80
47
|
* Creates a reducer that opens the channel for external state subscription
|
|
81
48
|
* and modification.
|
|
@@ -88,8 +55,6 @@ const composeStateReducers = function () {
|
|
|
88
55
|
*/
|
|
89
56
|
|
|
90
57
|
|
|
91
|
-
exports.composeStateReducers = composeStateReducers;
|
|
92
|
-
|
|
93
58
|
function inputControlStateReducer(composedStateReducers) {
|
|
94
59
|
return (state, action) => {
|
|
95
60
|
const nextState = { ...state
|
|
@@ -144,11 +109,6 @@ function inputControlStateReducer(composedStateReducers) {
|
|
|
144
109
|
nextState.value = action.payload.value || state.initialValue;
|
|
145
110
|
break;
|
|
146
111
|
|
|
147
|
-
case actions.UPDATE:
|
|
148
|
-
nextState.value = action.payload.value;
|
|
149
|
-
nextState.isDirty = false;
|
|
150
|
-
break;
|
|
151
|
-
|
|
152
112
|
/**
|
|
153
113
|
* Validation
|
|
154
114
|
*/
|
|
@@ -252,7 +212,6 @@ function useInputControlStateReducer() {
|
|
|
252
212
|
|
|
253
213
|
const reset = createChangeEvent(actions.RESET);
|
|
254
214
|
const commit = createChangeEvent(actions.COMMIT);
|
|
255
|
-
const update = createChangeEvent(actions.UPDATE);
|
|
256
215
|
const dragStart = createDragEvent(actions.DRAG_START);
|
|
257
216
|
const drag = createDragEvent(actions.DRAG);
|
|
258
217
|
const dragEnd = createDragEvent(actions.DRAG_END);
|
|
@@ -271,8 +230,7 @@ function useInputControlStateReducer() {
|
|
|
271
230
|
pressEnter,
|
|
272
231
|
pressUp,
|
|
273
232
|
reset,
|
|
274
|
-
state
|
|
275
|
-
update
|
|
233
|
+
state
|
|
276
234
|
};
|
|
277
235
|
}
|
|
278
236
|
//# sourceMappingURL=reducer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/input-control/reducer/reducer.ts"],"names":["mergeInitialState","initialState","initialInputControlState","value","initialValue","composeStateReducers","fns","args","reduceRight","state","fn","fnState","inputControlStateReducer","composedStateReducers","action","nextState","type","actions","PRESS_UP","isDirty","PRESS_DOWN","DRAG_START","isDragging","DRAG_END","CHANGE","error","payload","isPressEnterToChange","COMMIT","RESET","UPDATE","INVALIDATE","event","_event","useInputControlStateReducer","stateReducer","initialStateReducer","dispatch","createChangeEvent","nextValue","persist","createKeyEvent","createDragEvent","change","invalidate","reset","commit","update","dragStart","drag","DRAG","dragEnd","pressUp","pressDown","pressEnter","PRESS_ENTER"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport { isEmpty } from 'lodash';\nimport type { SyntheticEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useReducer } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tInputState,\n\tStateReducer,\n\tinitialInputControlState,\n\tinitialStateReducer,\n} from './state';\nimport * as actions from './actions';\n\n/**\n * Prepares initialState for the reducer.\n *\n * @param initialState The initial state.\n * @return Prepared initialState for the reducer\n */\nfunction mergeInitialState(\n\tinitialState: Partial< InputState > = initialInputControlState\n): InputState {\n\tconst { value } = initialState;\n\n\treturn {\n\t\t...initialInputControlState,\n\t\t...initialState,\n\t\tinitialValue: value,\n\t} as InputState;\n}\n\n/**\n * Composes multiple stateReducers into a single stateReducer, building\n * the pipeline to control the flow for state and actions.\n *\n * @param fns State reducers.\n * @return The single composed stateReducer.\n */\nexport const composeStateReducers = (\n\t...fns: StateReducer[]\n): StateReducer => {\n\treturn ( ...args ) => {\n\t\treturn fns.reduceRight( ( state, fn ) => {\n\t\t\t// TODO: Assess whether this can be replaced with a more standard `compose` implementation\n\t\t\t// like wp.data.compose() (aka lodash flowRight) or Redux compose().\n\t\t\t// The current implementation only works by functions mutating the original state object.\n\t\t\tconst fnState = fn( ...args );\n\t\t\treturn isEmpty( fnState ) ? state : { ...state, ...fnState };\n\t\t}, {} as InputState );\n\t};\n};\n\n/**\n * Creates a reducer that opens the channel for external state subscription\n * and modification.\n *\n * This technique uses the \"stateReducer\" design pattern:\n * https://kentcdodds.com/blog/the-state-reducer-pattern/\n *\n * @param composedStateReducers A custom reducer that can subscribe and modify state.\n * @return The reducer.\n */\nfunction inputControlStateReducer(\n\tcomposedStateReducers: StateReducer\n): StateReducer {\n\treturn ( state, action ) => {\n\t\tconst nextState = { ...state };\n\n\t\tswitch ( action.type ) {\n\t\t\t/**\n\t\t\t * Keyboard events\n\t\t\t */\n\t\t\tcase actions.PRESS_UP:\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.PRESS_DOWN:\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Drag events\n\t\t\t */\n\t\t\tcase actions.DRAG_START:\n\t\t\t\tnextState.isDragging = true;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.DRAG_END:\n\t\t\t\tnextState.isDragging = false;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Input events\n\t\t\t */\n\t\t\tcase actions.CHANGE:\n\t\t\t\tnextState.error = null;\n\t\t\t\tnextState.value = action.payload.value;\n\n\t\t\t\tif ( state.isPressEnterToChange ) {\n\t\t\t\t\tnextState.isDirty = true;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase actions.COMMIT:\n\t\t\t\tnextState.value = action.payload.value;\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.RESET:\n\t\t\t\tnextState.error = null;\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tnextState.value = action.payload.value || state.initialValue;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.UPDATE:\n\t\t\t\tnextState.value = action.payload.value;\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Validation\n\t\t\t */\n\t\t\tcase actions.INVALIDATE:\n\t\t\t\tnextState.error = action.payload.error;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( action.payload.event ) {\n\t\t\tnextState._event = action.payload.event;\n\t\t}\n\n\t\t/**\n\t\t * Send the nextState + action to the composedReducers via\n\t\t * this \"bridge\" mechanism. This allows external stateReducers\n\t\t * to hook into actions, and modify state if needed.\n\t\t */\n\t\treturn composedStateReducers( nextState, action );\n\t};\n}\n\n/**\n * A custom hook that connects and external stateReducer with an internal\n * reducer. This hook manages the internal state of InputControl.\n * However, by connecting an external stateReducer function, other\n * components can react to actions as well as modify state before it is\n * applied.\n *\n * This technique uses the \"stateReducer\" design pattern:\n * https://kentcdodds.com/blog/the-state-reducer-pattern/\n *\n * @param stateReducer An external state reducer.\n * @param initialState The initial state for the reducer.\n * @return State, dispatch, and a collection of actions.\n */\nexport function useInputControlStateReducer(\n\tstateReducer: StateReducer = initialStateReducer,\n\tinitialState: Partial< InputState > = initialInputControlState\n) {\n\tconst [ state, dispatch ] = useReducer< StateReducer >(\n\t\tinputControlStateReducer( stateReducer ),\n\t\tmergeInitialState( initialState )\n\t);\n\n\tconst createChangeEvent = ( type: actions.ChangeEventAction[ 'type' ] ) => (\n\t\tnextValue: actions.ChangeEventAction[ 'payload' ][ 'value' ],\n\t\tevent: actions.ChangeEventAction[ 'payload' ][ 'event' ]\n\t) => {\n\t\t/**\n\t\t * Persist allows for the (Synthetic) event to be used outside of\n\t\t * this function call.\n\t\t * https://reactjs.org/docs/events.html#event-pooling\n\t\t */\n\t\tif ( event && event.persist ) {\n\t\t\tevent.persist();\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype,\n\t\t\tpayload: { value: nextValue, event },\n\t\t} as actions.InputAction );\n\t};\n\n\tconst createKeyEvent = ( type: actions.KeyEventAction[ 'type' ] ) => (\n\t\tevent: actions.KeyEventAction[ 'payload' ][ 'event' ]\n\t) => {\n\t\t/**\n\t\t * Persist allows for the (Synthetic) event to be used outside of\n\t\t * this function call.\n\t\t * https://reactjs.org/docs/events.html#event-pooling\n\t\t */\n\t\tif ( event && event.persist ) {\n\t\t\tevent.persist();\n\t\t}\n\n\t\tdispatch( { type, payload: { event } } );\n\t};\n\n\tconst createDragEvent = ( type: actions.DragEventAction[ 'type' ] ) => (\n\t\tpayload: actions.DragEventAction[ 'payload' ]\n\t) => {\n\t\tdispatch( { type, payload } );\n\t};\n\n\t/**\n\t * Actions for the reducer\n\t */\n\tconst change = createChangeEvent( actions.CHANGE );\n\tconst invalidate = ( error: unknown, event: SyntheticEvent ) =>\n\t\tdispatch( { type: actions.INVALIDATE, payload: { error, event } } );\n\tconst reset = createChangeEvent( actions.RESET );\n\tconst commit = createChangeEvent( actions.COMMIT );\n\tconst update = createChangeEvent( actions.UPDATE );\n\n\tconst dragStart = createDragEvent( actions.DRAG_START );\n\tconst drag = createDragEvent( actions.DRAG );\n\tconst dragEnd = createDragEvent( actions.DRAG_END );\n\n\tconst pressUp = createKeyEvent( actions.PRESS_UP );\n\tconst pressDown = createKeyEvent( actions.PRESS_DOWN );\n\tconst pressEnter = createKeyEvent( actions.PRESS_ENTER );\n\n\treturn {\n\t\tchange,\n\t\tcommit,\n\t\tdispatch,\n\t\tdrag,\n\t\tdragEnd,\n\t\tdragStart,\n\t\tinvalidate,\n\t\tpressDown,\n\t\tpressEnter,\n\t\tpressUp,\n\t\treset,\n\t\tstate,\n\t\tupdate,\n\t} as const;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/input-control/reducer/reducer.ts"],"names":["mergeInitialState","initialState","initialInputControlState","value","initialValue","inputControlStateReducer","composedStateReducers","state","action","nextState","type","actions","PRESS_UP","isDirty","PRESS_DOWN","DRAG_START","isDragging","DRAG_END","CHANGE","error","payload","isPressEnterToChange","COMMIT","RESET","INVALIDATE","event","_event","useInputControlStateReducer","stateReducer","initialStateReducer","dispatch","createChangeEvent","nextValue","persist","createKeyEvent","createDragEvent","change","invalidate","reset","commit","dragStart","drag","DRAG","dragEnd","pressUp","pressDown","pressEnter","PRESS_ENTER"],"mappings":"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","sourcesContent":["/**\n * External dependencies\n */\nimport type { SyntheticEvent } from 'react';\n\n/**\n * WordPress dependencies\n */\nimport { useReducer } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport {\n\tInputState,\n\tStateReducer,\n\tinitialInputControlState,\n\tinitialStateReducer,\n} from './state';\nimport * as actions from './actions';\n\n/**\n * Prepares initialState for the reducer.\n *\n * @param initialState The initial state.\n * @return Prepared initialState for the reducer\n */\nfunction mergeInitialState(\n\tinitialState: Partial< InputState > = initialInputControlState\n): InputState {\n\tconst { value } = initialState;\n\n\treturn {\n\t\t...initialInputControlState,\n\t\t...initialState,\n\t\tinitialValue: value,\n\t} as InputState;\n}\n\n/**\n * Creates a reducer that opens the channel for external state subscription\n * and modification.\n *\n * This technique uses the \"stateReducer\" design pattern:\n * https://kentcdodds.com/blog/the-state-reducer-pattern/\n *\n * @param composedStateReducers A custom reducer that can subscribe and modify state.\n * @return The reducer.\n */\nfunction inputControlStateReducer(\n\tcomposedStateReducers: StateReducer\n): StateReducer {\n\treturn ( state, action ) => {\n\t\tconst nextState = { ...state };\n\n\t\tswitch ( action.type ) {\n\t\t\t/**\n\t\t\t * Keyboard events\n\t\t\t */\n\t\t\tcase actions.PRESS_UP:\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.PRESS_DOWN:\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Drag events\n\t\t\t */\n\t\t\tcase actions.DRAG_START:\n\t\t\t\tnextState.isDragging = true;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.DRAG_END:\n\t\t\t\tnextState.isDragging = false;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Input events\n\t\t\t */\n\t\t\tcase actions.CHANGE:\n\t\t\t\tnextState.error = null;\n\t\t\t\tnextState.value = action.payload.value;\n\n\t\t\t\tif ( state.isPressEnterToChange ) {\n\t\t\t\t\tnextState.isDirty = true;\n\t\t\t\t}\n\n\t\t\t\tbreak;\n\n\t\t\tcase actions.COMMIT:\n\t\t\t\tnextState.value = action.payload.value;\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tbreak;\n\n\t\t\tcase actions.RESET:\n\t\t\t\tnextState.error = null;\n\t\t\t\tnextState.isDirty = false;\n\t\t\t\tnextState.value = action.payload.value || state.initialValue;\n\t\t\t\tbreak;\n\n\t\t\t/**\n\t\t\t * Validation\n\t\t\t */\n\t\t\tcase actions.INVALIDATE:\n\t\t\t\tnextState.error = action.payload.error;\n\t\t\t\tbreak;\n\t\t}\n\n\t\tif ( action.payload.event ) {\n\t\t\tnextState._event = action.payload.event;\n\t\t}\n\n\t\t/**\n\t\t * Send the nextState + action to the composedReducers via\n\t\t * this \"bridge\" mechanism. This allows external stateReducers\n\t\t * to hook into actions, and modify state if needed.\n\t\t */\n\t\treturn composedStateReducers( nextState, action );\n\t};\n}\n\n/**\n * A custom hook that connects and external stateReducer with an internal\n * reducer. This hook manages the internal state of InputControl.\n * However, by connecting an external stateReducer function, other\n * components can react to actions as well as modify state before it is\n * applied.\n *\n * This technique uses the \"stateReducer\" design pattern:\n * https://kentcdodds.com/blog/the-state-reducer-pattern/\n *\n * @param stateReducer An external state reducer.\n * @param initialState The initial state for the reducer.\n * @return State, dispatch, and a collection of actions.\n */\nexport function useInputControlStateReducer(\n\tstateReducer: StateReducer = initialStateReducer,\n\tinitialState: Partial< InputState > = initialInputControlState\n) {\n\tconst [ state, dispatch ] = useReducer< StateReducer >(\n\t\tinputControlStateReducer( stateReducer ),\n\t\tmergeInitialState( initialState )\n\t);\n\n\tconst createChangeEvent = ( type: actions.ChangeEventAction[ 'type' ] ) => (\n\t\tnextValue: actions.ChangeEventAction[ 'payload' ][ 'value' ],\n\t\tevent: actions.ChangeEventAction[ 'payload' ][ 'event' ]\n\t) => {\n\t\t/**\n\t\t * Persist allows for the (Synthetic) event to be used outside of\n\t\t * this function call.\n\t\t * https://reactjs.org/docs/events.html#event-pooling\n\t\t */\n\t\tif ( event && event.persist ) {\n\t\t\tevent.persist();\n\t\t}\n\n\t\tdispatch( {\n\t\t\ttype,\n\t\t\tpayload: { value: nextValue, event },\n\t\t} as actions.InputAction );\n\t};\n\n\tconst createKeyEvent = ( type: actions.KeyEventAction[ 'type' ] ) => (\n\t\tevent: actions.KeyEventAction[ 'payload' ][ 'event' ]\n\t) => {\n\t\t/**\n\t\t * Persist allows for the (Synthetic) event to be used outside of\n\t\t * this function call.\n\t\t * https://reactjs.org/docs/events.html#event-pooling\n\t\t */\n\t\tif ( event && event.persist ) {\n\t\t\tevent.persist();\n\t\t}\n\n\t\tdispatch( { type, payload: { event } } );\n\t};\n\n\tconst createDragEvent = ( type: actions.DragEventAction[ 'type' ] ) => (\n\t\tpayload: actions.DragEventAction[ 'payload' ]\n\t) => {\n\t\tdispatch( { type, payload } );\n\t};\n\n\t/**\n\t * Actions for the reducer\n\t */\n\tconst change = createChangeEvent( actions.CHANGE );\n\tconst invalidate = ( error: unknown, event: SyntheticEvent ) =>\n\t\tdispatch( { type: actions.INVALIDATE, payload: { error, event } } );\n\tconst reset = createChangeEvent( actions.RESET );\n\tconst commit = createChangeEvent( actions.COMMIT );\n\n\tconst dragStart = createDragEvent( actions.DRAG_START );\n\tconst drag = createDragEvent( actions.DRAG );\n\tconst dragEnd = createDragEvent( actions.DRAG_END );\n\n\tconst pressUp = createKeyEvent( actions.PRESS_UP );\n\tconst pressDown = createKeyEvent( actions.PRESS_DOWN );\n\tconst pressEnter = createKeyEvent( actions.PRESS_ENTER );\n\n\treturn {\n\t\tchange,\n\t\tcommit,\n\t\tdispatch,\n\t\tdrag,\n\t\tdragEnd,\n\t\tdragStart,\n\t\tinvalidate,\n\t\tpressDown,\n\t\tpressEnter,\n\t\tpressUp,\n\t\treset,\n\t\tstate,\n\t} as const;\n}\n"]}
|
|
@@ -20,8 +20,6 @@ var _numberControlStyles = require("./styles/number-control-styles");
|
|
|
20
20
|
|
|
21
21
|
var inputControlActionTypes = _interopRequireWildcard(require("../input-control/reducer/actions"));
|
|
22
22
|
|
|
23
|
-
var _reducer = require("../input-control/reducer/reducer");
|
|
24
|
-
|
|
25
23
|
var _math = require("../utils/math");
|
|
26
24
|
|
|
27
25
|
var _values = require("../utils/values");
|
|
@@ -45,7 +43,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
45
43
|
*/
|
|
46
44
|
function NumberControl(_ref, ref) {
|
|
47
45
|
let {
|
|
48
|
-
__unstableStateReducer:
|
|
46
|
+
__unstableStateReducer: stateReducerProp,
|
|
49
47
|
className,
|
|
50
48
|
dragDirection = 'n',
|
|
51
49
|
hideHTMLArrows = false,
|
|
@@ -83,12 +81,14 @@ function NumberControl(_ref, ref) {
|
|
|
83
81
|
*/
|
|
84
82
|
|
|
85
83
|
const numberControlStateReducer = (state, action) => {
|
|
84
|
+
const nextState = { ...state
|
|
85
|
+
};
|
|
86
86
|
const {
|
|
87
87
|
type,
|
|
88
88
|
payload
|
|
89
89
|
} = action;
|
|
90
90
|
const event = payload === null || payload === void 0 ? void 0 : payload.event;
|
|
91
|
-
const currentValue =
|
|
91
|
+
const currentValue = nextState.value;
|
|
92
92
|
/**
|
|
93
93
|
* Handles custom UP and DOWN Keyboard events
|
|
94
94
|
*/
|
|
@@ -110,7 +110,7 @@ function NumberControl(_ref, ref) {
|
|
|
110
110
|
nextValue = (0, _math.subtract)(nextValue, incrementalValue);
|
|
111
111
|
}
|
|
112
112
|
|
|
113
|
-
|
|
113
|
+
nextState.value = constrainValue(nextValue, enableShift ? incrementalValue : null);
|
|
114
114
|
}
|
|
115
115
|
/**
|
|
116
116
|
* Handles drag to update events
|
|
@@ -149,20 +149,20 @@ function NumberControl(_ref, ref) {
|
|
|
149
149
|
if (delta !== 0) {
|
|
150
150
|
delta = Math.ceil(Math.abs(delta)) * Math.sign(delta);
|
|
151
151
|
const distance = delta * modifier * directionModifier;
|
|
152
|
-
|
|
152
|
+
nextState.value = constrainValue((0, _math.add)(currentValue, distance), enableShift ? modifier : null);
|
|
153
153
|
}
|
|
154
154
|
}
|
|
155
155
|
/**
|
|
156
|
-
* Handles commit (ENTER key press or
|
|
156
|
+
* Handles commit (ENTER key press or blur)
|
|
157
157
|
*/
|
|
158
158
|
|
|
159
159
|
|
|
160
160
|
if (type === inputControlActionTypes.PRESS_ENTER || type === inputControlActionTypes.COMMIT) {
|
|
161
161
|
const applyEmptyValue = required === false && currentValue === '';
|
|
162
|
-
|
|
162
|
+
nextState.value = applyEmptyValue ? currentValue : constrainValue(currentValue);
|
|
163
163
|
}
|
|
164
164
|
|
|
165
|
-
return
|
|
165
|
+
return nextState;
|
|
166
166
|
};
|
|
167
167
|
|
|
168
168
|
return (0, _element.createElement)(_numberControlStyles.Input, (0, _extends2.default)({
|
|
@@ -181,7 +181,12 @@ function NumberControl(_ref, ref) {
|
|
|
181
181
|
step: step,
|
|
182
182
|
type: typeProp,
|
|
183
183
|
value: valueProp,
|
|
184
|
-
__unstableStateReducer: (
|
|
184
|
+
__unstableStateReducer: (state, action) => {
|
|
185
|
+
var _stateReducerProp;
|
|
186
|
+
|
|
187
|
+
const baseState = numberControlStateReducer(state, action);
|
|
188
|
+
return (_stateReducerProp = stateReducerProp === null || stateReducerProp === void 0 ? void 0 : stateReducerProp(baseState, action)) !== null && _stateReducerProp !== void 0 ? _stateReducerProp : baseState;
|
|
189
|
+
}
|
|
185
190
|
}));
|
|
186
191
|
}
|
|
187
192
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/number-control/index.js"],"names":["NumberControl","ref","__unstableStateReducer","stateReducer","state","className","dragDirection","hideHTMLArrows","isDragEnabled","isShiftStepEnabled","label","max","Infinity","min","required","shiftStep","step","type","typeProp","value","valueProp","props","isStepAny","baseStep","parseFloat","baseValue","constrainValue","stepOverride","Math","autoComplete","classes","numberControlStateReducer","action","payload","event","currentValue","inputControlActionTypes","PRESS_UP","PRESS_DOWN","enableShift","shiftKey","incrementalValue","nextValue","preventDefault","DRAG","x","y","delta","modifier","directionModifier","ceil","abs","sign","distance","PRESS_ENTER","COMMIT","applyEmptyValue"],"mappings":"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","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { Input } from './styles/number-control-styles';\nimport * as inputControlActionTypes from '../input-control/reducer/actions';\nimport { composeStateReducers } from '../input-control/reducer/reducer';\nimport { add, subtract, roundClamp } from '../utils/math';\nimport { isValueEmpty } from '../utils/values';\n\nexport function NumberControl(\n\t{\n\t\t__unstableStateReducer: stateReducer = ( state ) => state,\n\t\tclassName,\n\t\tdragDirection = 'n',\n\t\thideHTMLArrows = false,\n\t\tisDragEnabled = true,\n\t\tisShiftStepEnabled = true,\n\t\tlabel,\n\t\tmax = Infinity,\n\t\tmin = -Infinity,\n\t\trequired = false,\n\t\tshiftStep = 10,\n\t\tstep = 1,\n\t\ttype: typeProp = 'number',\n\t\tvalue: valueProp,\n\t\t...props\n\t},\n\tref\n) {\n\tconst isStepAny = step === 'any';\n\tconst baseStep = isStepAny ? 1 : parseFloat( step );\n\tconst baseValue = roundClamp( 0, min, max, baseStep );\n\tconst constrainValue = ( value, stepOverride ) => {\n\t\t// When step is \"any\" clamp the value, otherwise round and clamp it.\n\t\treturn isStepAny\n\t\t\t? Math.min( max, Math.max( min, value ) )\n\t\t\t: roundClamp( value, min, max, stepOverride ?? baseStep );\n\t};\n\n\tconst autoComplete = typeProp === 'number' ? 'off' : null;\n\tconst classes = classNames( 'components-number-control', className );\n\n\t/**\n\t * \"Middleware\" function that intercepts updates from InputControl.\n\t * This allows us to tap into actions to transform the (next) state for\n\t * InputControl.\n\t *\n\t * @param {Object} state State from InputControl\n\t * @param {Object} action Action triggering state change\n\t * @return {Object} The updated state to apply to InputControl\n\t */\n\tconst numberControlStateReducer = ( state, action ) => {\n\t\tconst { type, payload } = action;\n\t\tconst event = payload?.event;\n\t\tconst currentValue = state.value;\n\n\t\t/**\n\t\t * Handles custom UP and DOWN Keyboard events\n\t\t */\n\t\tif (\n\t\t\ttype === inputControlActionTypes.PRESS_UP ||\n\t\t\ttype === inputControlActionTypes.PRESS_DOWN\n\t\t) {\n\t\t\tconst enableShift = event.shiftKey && isShiftStepEnabled;\n\n\t\t\tconst incrementalValue = enableShift\n\t\t\t\t? parseFloat( shiftStep ) * baseStep\n\t\t\t\t: baseStep;\n\t\t\tlet nextValue = isValueEmpty( currentValue )\n\t\t\t\t? baseValue\n\t\t\t\t: currentValue;\n\n\t\t\tif ( event?.preventDefault ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\n\t\t\tif ( type === inputControlActionTypes.PRESS_UP ) {\n\t\t\t\tnextValue = add( nextValue, incrementalValue );\n\t\t\t}\n\n\t\t\tif ( type === inputControlActionTypes.PRESS_DOWN ) {\n\t\t\t\tnextValue = subtract( nextValue, incrementalValue );\n\t\t\t}\n\n\t\t\tstate.value = constrainValue(\n\t\t\t\tnextValue,\n\t\t\t\tenableShift ? incrementalValue : null\n\t\t\t);\n\t\t}\n\n\t\t/**\n\t\t * Handles drag to update events\n\t\t */\n\t\tif ( type === inputControlActionTypes.DRAG && isDragEnabled ) {\n\t\t\tconst [ x, y ] = payload.delta;\n\t\t\tconst enableShift = payload.shiftKey && isShiftStepEnabled;\n\t\t\tconst modifier = enableShift\n\t\t\t\t? parseFloat( shiftStep ) * baseStep\n\t\t\t\t: baseStep;\n\n\t\t\tlet directionModifier;\n\t\t\tlet delta;\n\n\t\t\tswitch ( dragDirection ) {\n\t\t\t\tcase 'n':\n\t\t\t\t\tdelta = y;\n\t\t\t\t\tdirectionModifier = -1;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'e':\n\t\t\t\t\tdelta = x;\n\t\t\t\t\tdirectionModifier = isRTL() ? -1 : 1;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 's':\n\t\t\t\t\tdelta = y;\n\t\t\t\t\tdirectionModifier = 1;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'w':\n\t\t\t\t\tdelta = x;\n\t\t\t\t\tdirectionModifier = isRTL() ? 1 : -1;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif ( delta !== 0 ) {\n\t\t\t\tdelta = Math.ceil( Math.abs( delta ) ) * Math.sign( delta );\n\t\t\t\tconst distance = delta * modifier * directionModifier;\n\n\t\t\t\tstate.value = constrainValue(\n\t\t\t\t\tadd( currentValue, distance ),\n\t\t\t\t\tenableShift ? modifier : null\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Handles commit (ENTER key press or on blur if isPressEnterToChange)\n\t\t */\n\t\tif (\n\t\t\ttype === inputControlActionTypes.PRESS_ENTER ||\n\t\t\ttype === inputControlActionTypes.COMMIT\n\t\t) {\n\t\t\tconst applyEmptyValue = required === false && currentValue === '';\n\n\t\t\tstate.value = applyEmptyValue\n\t\t\t\t? currentValue\n\t\t\t\t: constrainValue( currentValue );\n\t\t}\n\n\t\treturn state;\n\t};\n\n\treturn (\n\t\t<Input\n\t\t\tautoComplete={ autoComplete }\n\t\t\tinputMode=\"numeric\"\n\t\t\t{ ...props }\n\t\t\tclassName={ classes }\n\t\t\tdragDirection={ dragDirection }\n\t\t\thideHTMLArrows={ hideHTMLArrows }\n\t\t\tisDragEnabled={ isDragEnabled }\n\t\t\tlabel={ label }\n\t\t\tmax={ max }\n\t\t\tmin={ min }\n\t\t\tref={ ref }\n\t\t\trequired={ required }\n\t\t\tstep={ step }\n\t\t\ttype={ typeProp }\n\t\t\tvalue={ valueProp }\n\t\t\t__unstableStateReducer={ composeStateReducers(\n\t\t\t\tnumberControlStateReducer,\n\t\t\t\tstateReducer\n\t\t\t) }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( NumberControl );\n"]}
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/number-control/index.js"],"names":["NumberControl","ref","__unstableStateReducer","stateReducerProp","className","dragDirection","hideHTMLArrows","isDragEnabled","isShiftStepEnabled","label","max","Infinity","min","required","shiftStep","step","type","typeProp","value","valueProp","props","isStepAny","baseStep","parseFloat","baseValue","constrainValue","stepOverride","Math","autoComplete","classes","numberControlStateReducer","state","action","nextState","payload","event","currentValue","inputControlActionTypes","PRESS_UP","PRESS_DOWN","enableShift","shiftKey","incrementalValue","nextValue","preventDefault","DRAG","x","y","delta","modifier","directionModifier","ceil","abs","sign","distance","PRESS_ENTER","COMMIT","applyEmptyValue","baseState"],"mappings":";;;;;;;;;;AASA;;;;AALA;;AAMA;;AAKA;;AACA;;AACA;;AACA;;;;;;AAlBA;;AACA;AACA;AACA;;AAGA;AACA;AACA;;AAIA;AACA;AACA;AAMO,SAASA,aAAT,OAkBNC,GAlBM,EAmBL;AAAA,MAlBD;AACCC,IAAAA,sBAAsB,EAAEC,gBADzB;AAECC,IAAAA,SAFD;AAGCC,IAAAA,aAAa,GAAG,GAHjB;AAICC,IAAAA,cAAc,GAAG,KAJlB;AAKCC,IAAAA,aAAa,GAAG,IALjB;AAMCC,IAAAA,kBAAkB,GAAG,IANtB;AAOCC,IAAAA,KAPD;AAQCC,IAAAA,GAAG,GAAGC,QARP;AASCC,IAAAA,GAAG,GAAG,CAACD,QATR;AAUCE,IAAAA,QAAQ,GAAG,KAVZ;AAWCC,IAAAA,SAAS,GAAG,EAXb;AAYCC,IAAAA,IAAI,GAAG,CAZR;AAaCC,IAAAA,IAAI,EAAEC,QAAQ,GAAG,QAblB;AAcCC,IAAAA,KAAK,EAAEC,SAdR;AAeC,OAAGC;AAfJ,GAkBC;AACD,QAAMC,SAAS,GAAGN,IAAI,KAAK,KAA3B;AACA,QAAMO,QAAQ,GAAGD,SAAS,GAAG,CAAH,GAAOE,UAAU,CAAER,IAAF,CAA3C;AACA,QAAMS,SAAS,GAAG,sBAAY,CAAZ,EAAeZ,GAAf,EAAoBF,GAApB,EAAyBY,QAAzB,CAAlB;;AACA,QAAMG,cAAc,GAAG,CAAEP,KAAF,EAASQ,YAAT,KAA2B;AACjD;AACA,WAAOL,SAAS,GACbM,IAAI,CAACf,GAAL,CAAUF,GAAV,EAAeiB,IAAI,CAACjB,GAAL,CAAUE,GAAV,EAAeM,KAAf,CAAf,CADa,GAEb,sBAAYA,KAAZ,EAAmBN,GAAnB,EAAwBF,GAAxB,EAA6BgB,YAA7B,aAA6BA,YAA7B,cAA6BA,YAA7B,GAA6CJ,QAA7C,CAFH;AAGA,GALD;;AAOA,QAAMM,YAAY,GAAGX,QAAQ,KAAK,QAAb,GAAwB,KAAxB,GAAgC,IAArD;AACA,QAAMY,OAAO,GAAG,yBAAY,2BAAZ,EAAyCzB,SAAzC,CAAhB;AAEA;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AACC,QAAM0B,yBAAyB,GAAG,CAAEC,KAAF,EAASC,MAAT,KAAqB;AACtD,UAAMC,SAAS,GAAG,EAAE,GAAGF;AAAL,KAAlB;AAEA,UAAM;AAAEf,MAAAA,IAAF;AAAQkB,MAAAA;AAAR,QAAoBF,MAA1B;AACA,UAAMG,KAAK,GAAGD,OAAH,aAAGA,OAAH,uBAAGA,OAAO,CAAEC,KAAvB;AACA,UAAMC,YAAY,GAAGH,SAAS,CAACf,KAA/B;AAEA;AACF;AACA;;AACE,QACCF,IAAI,KAAKqB,uBAAuB,CAACC,QAAjC,IACAtB,IAAI,KAAKqB,uBAAuB,CAACE,UAFlC,EAGE;AACD,YAAMC,WAAW,GAAGL,KAAK,CAACM,QAAN,IAAkBjC,kBAAtC;AAEA,YAAMkC,gBAAgB,GAAGF,WAAW,GACjCjB,UAAU,CAAET,SAAF,CAAV,GAA0BQ,QADO,GAEjCA,QAFH;AAGA,UAAIqB,SAAS,GAAG,0BAAcP,YAAd,IACbZ,SADa,GAEbY,YAFH;;AAIA,UAAKD,KAAL,aAAKA,KAAL,eAAKA,KAAK,CAAES,cAAZ,EAA6B;AAC5BT,QAAAA,KAAK,CAACS,cAAN;AACA;;AAED,UAAK5B,IAAI,KAAKqB,uBAAuB,CAACC,QAAtC,EAAiD;AAChDK,QAAAA,SAAS,GAAG,eAAKA,SAAL,EAAgBD,gBAAhB,CAAZ;AACA;;AAED,UAAK1B,IAAI,KAAKqB,uBAAuB,CAACE,UAAtC,EAAmD;AAClDI,QAAAA,SAAS,GAAG,oBAAUA,SAAV,EAAqBD,gBAArB,CAAZ;AACA;;AAEDT,MAAAA,SAAS,CAACf,KAAV,GAAkBO,cAAc,CAC/BkB,SAD+B,EAE/BH,WAAW,GAAGE,gBAAH,GAAsB,IAFF,CAAhC;AAIA;AAED;AACF;AACA;;;AACE,QAAK1B,IAAI,KAAKqB,uBAAuB,CAACQ,IAAjC,IAAyCtC,aAA9C,EAA8D;AAC7D,YAAM,CAAEuC,CAAF,EAAKC,CAAL,IAAWb,OAAO,CAACc,KAAzB;AACA,YAAMR,WAAW,GAAGN,OAAO,CAACO,QAAR,IAAoBjC,kBAAxC;AACA,YAAMyC,QAAQ,GAAGT,WAAW,GACzBjB,UAAU,CAAET,SAAF,CAAV,GAA0BQ,QADD,GAEzBA,QAFH;AAIA,UAAI4B,iBAAJ;AACA,UAAIF,KAAJ;;AAEA,cAAS3C,aAAT;AACC,aAAK,GAAL;AACC2C,UAAAA,KAAK,GAAGD,CAAR;AACAG,UAAAA,iBAAiB,GAAG,CAAC,CAArB;AACA;;AAED,aAAK,GAAL;AACCF,UAAAA,KAAK,GAAGF,CAAR;AACAI,UAAAA,iBAAiB,GAAG,qBAAU,CAAC,CAAX,GAAe,CAAnC;AACA;;AAED,aAAK,GAAL;AACCF,UAAAA,KAAK,GAAGD,CAAR;AACAG,UAAAA,iBAAiB,GAAG,CAApB;AACA;;AAED,aAAK,GAAL;AACCF,UAAAA,KAAK,GAAGF,CAAR;AACAI,UAAAA,iBAAiB,GAAG,qBAAU,CAAV,GAAc,CAAC,CAAnC;AACA;AAnBF;;AAsBA,UAAKF,KAAK,KAAK,CAAf,EAAmB;AAClBA,QAAAA,KAAK,GAAGrB,IAAI,CAACwB,IAAL,CAAWxB,IAAI,CAACyB,GAAL,CAAUJ,KAAV,CAAX,IAAiCrB,IAAI,CAAC0B,IAAL,CAAWL,KAAX,CAAzC;AACA,cAAMM,QAAQ,GAAGN,KAAK,GAAGC,QAAR,GAAmBC,iBAApC;AAEAjB,QAAAA,SAAS,CAACf,KAAV,GAAkBO,cAAc,CAC/B,eAAKW,YAAL,EAAmBkB,QAAnB,CAD+B,EAE/Bd,WAAW,GAAGS,QAAH,GAAc,IAFM,CAAhC;AAIA;AACD;AAED;AACF;AACA;;;AACE,QACCjC,IAAI,KAAKqB,uBAAuB,CAACkB,WAAjC,IACAvC,IAAI,KAAKqB,uBAAuB,CAACmB,MAFlC,EAGE;AACD,YAAMC,eAAe,GAAG5C,QAAQ,KAAK,KAAb,IAAsBuB,YAAY,KAAK,EAA/D;AAEAH,MAAAA,SAAS,CAACf,KAAV,GAAkBuC,eAAe,GAC9BrB,YAD8B,GAE9BX,cAAc,CAAEW,YAAF,CAFjB;AAGA;;AAED,WAAOH,SAAP;AACA,GAtGD;;AAwGA,SACC,4BAAC,0BAAD;AACC,IAAA,YAAY,EAAGL,YADhB;AAEC,IAAA,SAAS,EAAC;AAFX,KAGMR,KAHN;AAIC,IAAA,SAAS,EAAGS,OAJb;AAKC,IAAA,aAAa,EAAGxB,aALjB;AAMC,IAAA,cAAc,EAAGC,cANlB;AAOC,IAAA,aAAa,EAAGC,aAPjB;AAQC,IAAA,KAAK,EAAGE,KART;AASC,IAAA,GAAG,EAAGC,GATP;AAUC,IAAA,GAAG,EAAGE,GAVP;AAWC,IAAA,GAAG,EAAGX,GAXP;AAYC,IAAA,QAAQ,EAAGY,QAZZ;AAaC,IAAA,IAAI,EAAGE,IAbR;AAcC,IAAA,IAAI,EAAGE,QAdR;AAeC,IAAA,KAAK,EAAGE,SAfT;AAgBC,IAAA,sBAAsB,EAAG,CAAEY,KAAF,EAASC,MAAT,KAAqB;AAAA;;AAC7C,YAAM0B,SAAS,GAAG5B,yBAAyB,CAAEC,KAAF,EAASC,MAAT,CAA3C;AACA,kCAAO7B,gBAAP,aAAOA,gBAAP,uBAAOA,gBAAgB,CAAIuD,SAAJ,EAAe1B,MAAf,CAAvB,iEAAkD0B,SAAlD;AACA;AAnBF,KADD;AAuBA;;eAEc,yBAAY1D,aAAZ,C","sourcesContent":["// @ts-nocheck\n/**\n * External dependencies\n */\nimport classNames from 'classnames';\n\n/**\n * WordPress dependencies\n */\nimport { forwardRef } from '@wordpress/element';\nimport { isRTL } from '@wordpress/i18n';\n\n/**\n * Internal dependencies\n */\nimport { Input } from './styles/number-control-styles';\nimport * as inputControlActionTypes from '../input-control/reducer/actions';\nimport { add, subtract, roundClamp } from '../utils/math';\nimport { isValueEmpty } from '../utils/values';\n\nexport function NumberControl(\n\t{\n\t\t__unstableStateReducer: stateReducerProp,\n\t\tclassName,\n\t\tdragDirection = 'n',\n\t\thideHTMLArrows = false,\n\t\tisDragEnabled = true,\n\t\tisShiftStepEnabled = true,\n\t\tlabel,\n\t\tmax = Infinity,\n\t\tmin = -Infinity,\n\t\trequired = false,\n\t\tshiftStep = 10,\n\t\tstep = 1,\n\t\ttype: typeProp = 'number',\n\t\tvalue: valueProp,\n\t\t...props\n\t},\n\tref\n) {\n\tconst isStepAny = step === 'any';\n\tconst baseStep = isStepAny ? 1 : parseFloat( step );\n\tconst baseValue = roundClamp( 0, min, max, baseStep );\n\tconst constrainValue = ( value, stepOverride ) => {\n\t\t// When step is \"any\" clamp the value, otherwise round and clamp it.\n\t\treturn isStepAny\n\t\t\t? Math.min( max, Math.max( min, value ) )\n\t\t\t: roundClamp( value, min, max, stepOverride ?? baseStep );\n\t};\n\n\tconst autoComplete = typeProp === 'number' ? 'off' : null;\n\tconst classes = classNames( 'components-number-control', className );\n\n\t/**\n\t * \"Middleware\" function that intercepts updates from InputControl.\n\t * This allows us to tap into actions to transform the (next) state for\n\t * InputControl.\n\t *\n\t * @param {Object} state State from InputControl\n\t * @param {Object} action Action triggering state change\n\t * @return {Object} The updated state to apply to InputControl\n\t */\n\tconst numberControlStateReducer = ( state, action ) => {\n\t\tconst nextState = { ...state };\n\n\t\tconst { type, payload } = action;\n\t\tconst event = payload?.event;\n\t\tconst currentValue = nextState.value;\n\n\t\t/**\n\t\t * Handles custom UP and DOWN Keyboard events\n\t\t */\n\t\tif (\n\t\t\ttype === inputControlActionTypes.PRESS_UP ||\n\t\t\ttype === inputControlActionTypes.PRESS_DOWN\n\t\t) {\n\t\t\tconst enableShift = event.shiftKey && isShiftStepEnabled;\n\n\t\t\tconst incrementalValue = enableShift\n\t\t\t\t? parseFloat( shiftStep ) * baseStep\n\t\t\t\t: baseStep;\n\t\t\tlet nextValue = isValueEmpty( currentValue )\n\t\t\t\t? baseValue\n\t\t\t\t: currentValue;\n\n\t\t\tif ( event?.preventDefault ) {\n\t\t\t\tevent.preventDefault();\n\t\t\t}\n\n\t\t\tif ( type === inputControlActionTypes.PRESS_UP ) {\n\t\t\t\tnextValue = add( nextValue, incrementalValue );\n\t\t\t}\n\n\t\t\tif ( type === inputControlActionTypes.PRESS_DOWN ) {\n\t\t\t\tnextValue = subtract( nextValue, incrementalValue );\n\t\t\t}\n\n\t\t\tnextState.value = constrainValue(\n\t\t\t\tnextValue,\n\t\t\t\tenableShift ? incrementalValue : null\n\t\t\t);\n\t\t}\n\n\t\t/**\n\t\t * Handles drag to update events\n\t\t */\n\t\tif ( type === inputControlActionTypes.DRAG && isDragEnabled ) {\n\t\t\tconst [ x, y ] = payload.delta;\n\t\t\tconst enableShift = payload.shiftKey && isShiftStepEnabled;\n\t\t\tconst modifier = enableShift\n\t\t\t\t? parseFloat( shiftStep ) * baseStep\n\t\t\t\t: baseStep;\n\n\t\t\tlet directionModifier;\n\t\t\tlet delta;\n\n\t\t\tswitch ( dragDirection ) {\n\t\t\t\tcase 'n':\n\t\t\t\t\tdelta = y;\n\t\t\t\t\tdirectionModifier = -1;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'e':\n\t\t\t\t\tdelta = x;\n\t\t\t\t\tdirectionModifier = isRTL() ? -1 : 1;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 's':\n\t\t\t\t\tdelta = y;\n\t\t\t\t\tdirectionModifier = 1;\n\t\t\t\t\tbreak;\n\n\t\t\t\tcase 'w':\n\t\t\t\t\tdelta = x;\n\t\t\t\t\tdirectionModifier = isRTL() ? 1 : -1;\n\t\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tif ( delta !== 0 ) {\n\t\t\t\tdelta = Math.ceil( Math.abs( delta ) ) * Math.sign( delta );\n\t\t\t\tconst distance = delta * modifier * directionModifier;\n\n\t\t\t\tnextState.value = constrainValue(\n\t\t\t\t\tadd( currentValue, distance ),\n\t\t\t\t\tenableShift ? modifier : null\n\t\t\t\t);\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Handles commit (ENTER key press or blur)\n\t\t */\n\t\tif (\n\t\t\ttype === inputControlActionTypes.PRESS_ENTER ||\n\t\t\ttype === inputControlActionTypes.COMMIT\n\t\t) {\n\t\t\tconst applyEmptyValue = required === false && currentValue === '';\n\n\t\t\tnextState.value = applyEmptyValue\n\t\t\t\t? currentValue\n\t\t\t\t: constrainValue( currentValue );\n\t\t}\n\n\t\treturn nextState;\n\t};\n\n\treturn (\n\t\t<Input\n\t\t\tautoComplete={ autoComplete }\n\t\t\tinputMode=\"numeric\"\n\t\t\t{ ...props }\n\t\t\tclassName={ classes }\n\t\t\tdragDirection={ dragDirection }\n\t\t\thideHTMLArrows={ hideHTMLArrows }\n\t\t\tisDragEnabled={ isDragEnabled }\n\t\t\tlabel={ label }\n\t\t\tmax={ max }\n\t\t\tmin={ min }\n\t\t\tref={ ref }\n\t\t\trequired={ required }\n\t\t\tstep={ step }\n\t\t\ttype={ typeProp }\n\t\t\tvalue={ valueProp }\n\t\t\t__unstableStateReducer={ ( state, action ) => {\n\t\t\t\tconst baseState = numberControlStateReducer( state, action );\n\t\t\t\treturn stateReducerProp?.( baseState, action ) ?? baseState;\n\t\t\t} }\n\t\t/>\n\t);\n}\n\nexport default forwardRef( NumberControl );\n"]}
|
|
@@ -26,7 +26,7 @@ const Root = (0, _base.default)("div", process.env.NODE_ENV === "production" ? {
|
|
|
26
26
|
} : {
|
|
27
27
|
name: "1cd7zoc",
|
|
28
28
|
styles: "bottom:0;box-sizing:border-box;left:0;pointer-events:none;position:absolute;right:0;top:0",
|
|
29
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
29
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvcmVzaXphYmxlLWJveC9yZXNpemUtdG9vbHRpcC9zdHlsZXMvcmVzaXplLXRvb2x0aXAuc3R5bGVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVc4QiIsImZpbGUiOiJAd29yZHByZXNzL2NvbXBvbmVudHMvc3JjL3Jlc2l6YWJsZS1ib3gvcmVzaXplLXRvb2x0aXAvc3R5bGVzL3Jlc2l6ZS10b29sdGlwLnN0eWxlcy5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogRXh0ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCBzdHlsZWQgZnJvbSAnQGVtb3Rpb24vc3R5bGVkJztcblxuLyoqXG4gKiBJbnRlcm5hbCBkZXBlbmRlbmNpZXNcbiAqL1xuaW1wb3J0IHsgVGV4dCB9IGZyb20gJy4uLy4uLy4uL3RleHQnO1xuaW1wb3J0IHsgQ09MT1JTIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMnO1xuXG5leHBvcnQgY29uc3QgUm9vdCA9IHN0eWxlZC5kaXZgXG5cdGJvdHRvbTogMDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0bGVmdDogMDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0cmlnaHQ6IDA7XG5cdHRvcDogMDtcbmA7XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwV3JhcHBlciA9IHN0eWxlZC5kaXZgXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0b3BhY2l0eTogMDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHRyYW5zaXRpb246IG9wYWNpdHkgMTIwbXMgbGluZWFyO1xuYDtcblxuZXhwb3J0IGNvbnN0IFRvb2x0aXAgPSBzdHlsZWQuZGl2YFxuXHRiYWNrZ3JvdW5kOiAkeyBDT0xPUlMudWkuYm9yZGVyIH07XG5cdGJvcmRlci1yYWRpdXM6IDJweDtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRjb2xvcjogJHsgQ09MT1JTLnVpLnRleHREYXJrIH07XG5cdHBhZGRpbmc6IDRweCA4cHg7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbmA7XG5cbi8vIFRPRE86IFJlc29sdmUgbmVlZCB0byB1c2UgJiYmIHRvIGluY3JlYXNlIHNwZWNpZmljaXR5XG4vLyBodHRwczovL2dpdGh1Yi5jb20vV29yZFByZXNzL2d1dGVuYmVyZy9pc3N1ZXMvMTg0ODNcblxuZXhwb3J0IGNvbnN0IExhYmVsVGV4dCA9IHN0eWxlZCggVGV4dCApYFxuXHQmJiYge1xuXHRcdGNvbG9yOiAkeyBDT0xPUlMudWkudGV4dERhcmsgfTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRmb250LXNpemU6IDEzcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNDtcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHR9XG5gO1xuIl19 */",
|
|
30
30
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
31
31
|
});
|
|
32
32
|
exports.Root = Root;
|
|
@@ -41,7 +41,7 @@ const TooltipWrapper = (0, _base.default)("div", process.env.NODE_ENV === "produ
|
|
|
41
41
|
} : {
|
|
42
42
|
name: "ajymcs",
|
|
43
43
|
styles: "align-items:center;box-sizing:border-box;display:inline-flex;justify-content:center;opacity:0;pointer-events:none;transition:opacity 120ms linear",
|
|
44
|
-
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
44
|
+
map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvcmVzaXphYmxlLWJveC9yZXNpemUtdG9vbHRpcC9zdHlsZXMvcmVzaXplLXRvb2x0aXAuc3R5bGVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXFCd0MiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy9yZXNpemFibGUtYm94L3Jlc2l6ZS10b29sdGlwL3N0eWxlcy9yZXNpemUtdG9vbHRpcC5zdHlsZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV4dGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi8uLi8uLi90ZXh0JztcbmltcG9ydCB7IENPTE9SUyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFJvb3QgPSBzdHlsZWQuZGl2YFxuXHRib3R0b206IDA7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGxlZnQ6IDA7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDA7XG5gO1xuXG5leHBvcnQgY29uc3QgVG9vbHRpcFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG9wYWNpdHk6IDA7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIGxpbmVhcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwID0gc3R5bGVkLmRpdmBcblx0YmFja2dyb3VuZDogJHsgQ09MT1JTLnVpLmJvcmRlciB9O1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6ICR7IENPTE9SUy51aS50ZXh0RGFyayB9O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG4vLyBUT0RPOiBSZXNvbHZlIG5lZWQgdG8gdXNlICYmJiB0byBpbmNyZWFzZSBzcGVjaWZpY2l0eVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL1dvcmRQcmVzcy9ndXRlbmJlcmcvaXNzdWVzLzE4NDgzXG5cbmV4cG9ydCBjb25zdCBMYWJlbFRleHQgPSBzdHlsZWQoIFRleHQgKWBcblx0JiYmIHtcblx0XHRjb2xvcjogJHsgQ09MT1JTLnVpLnRleHREYXJrIH07XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0fVxuYDtcbiJdfQ== */",
|
|
45
45
|
toString: _EMOTION_STRINGIFIED_CSS_ERROR__
|
|
46
46
|
});
|
|
47
47
|
exports.TooltipWrapper = TooltipWrapper;
|
|
@@ -50,7 +50,7 @@ const Tooltip = (0, _base.default)("div", process.env.NODE_ENV === "production"
|
|
|
50
50
|
} : {
|
|
51
51
|
target: "ekdag501",
|
|
52
52
|
label: "Tooltip"
|
|
53
|
-
})("background:", _utils.COLORS.ui.border, ";border-radius:2px;box-sizing:border-box;font-size:12px;color:", _utils.COLORS.ui.textDark, ";padding:4px 8px;position:relative;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
53
|
+
})("background:", _utils.COLORS.ui.border, ";border-radius:2px;box-sizing:border-box;font-size:12px;color:", _utils.COLORS.ui.textDark, ";padding:4px 8px;position:relative;" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvcmVzaXphYmxlLWJveC9yZXNpemUtdG9vbHRpcC9zdHlsZXMvcmVzaXplLXRvb2x0aXAuc3R5bGVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQStCaUMiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy9yZXNpemFibGUtYm94L3Jlc2l6ZS10b29sdGlwL3N0eWxlcy9yZXNpemUtdG9vbHRpcC5zdHlsZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV4dGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi8uLi8uLi90ZXh0JztcbmltcG9ydCB7IENPTE9SUyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFJvb3QgPSBzdHlsZWQuZGl2YFxuXHRib3R0b206IDA7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGxlZnQ6IDA7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDA7XG5gO1xuXG5leHBvcnQgY29uc3QgVG9vbHRpcFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG9wYWNpdHk6IDA7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIGxpbmVhcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwID0gc3R5bGVkLmRpdmBcblx0YmFja2dyb3VuZDogJHsgQ09MT1JTLnVpLmJvcmRlciB9O1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6ICR7IENPTE9SUy51aS50ZXh0RGFyayB9O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG4vLyBUT0RPOiBSZXNvbHZlIG5lZWQgdG8gdXNlICYmJiB0byBpbmNyZWFzZSBzcGVjaWZpY2l0eVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL1dvcmRQcmVzcy9ndXRlbmJlcmcvaXNzdWVzLzE4NDgzXG5cbmV4cG9ydCBjb25zdCBMYWJlbFRleHQgPSBzdHlsZWQoIFRleHQgKWBcblx0JiYmIHtcblx0XHRjb2xvcjogJHsgQ09MT1JTLnVpLnRleHREYXJrIH07XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0fVxuYDtcbiJdfQ== */")); // TODO: Resolve need to use &&& to increase specificity
|
|
54
54
|
// https://github.com/WordPress/gutenberg/issues/18483
|
|
55
55
|
|
|
56
56
|
exports.Tooltip = Tooltip;
|
|
@@ -59,6 +59,6 @@ const LabelText = ( /*#__PURE__*/0, _base.default)(_text.Text, process.env.NODE_
|
|
|
59
59
|
} : {
|
|
60
60
|
target: "ekdag500",
|
|
61
61
|
label: "LabelText"
|
|
62
|
-
})("&&&{color:", _utils.COLORS.ui.textDark, ";display:block;font-size:13px;line-height:1.4;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
62
|
+
})("&&&{color:", _utils.COLORS.ui.textDark, ";display:block;font-size:13px;line-height:1.4;white-space:nowrap;}" + (process.env.NODE_ENV === "production" ? "" : "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIkB3b3JkcHJlc3MvY29tcG9uZW50cy9zcmMvcmVzaXphYmxlLWJveC9yZXNpemUtdG9vbHRpcC9zdHlsZXMvcmVzaXplLXRvb2x0aXAuc3R5bGVzLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTRDdUMiLCJmaWxlIjoiQHdvcmRwcmVzcy9jb21wb25lbnRzL3NyYy9yZXNpemFibGUtYm94L3Jlc2l6ZS10b29sdGlwL3N0eWxlcy9yZXNpemUtdG9vbHRpcC5zdHlsZXMuanMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEV4dGVybmFsIGRlcGVuZGVuY2llc1xuICovXG5pbXBvcnQgc3R5bGVkIGZyb20gJ0BlbW90aW9uL3N0eWxlZCc7XG5cbi8qKlxuICogSW50ZXJuYWwgZGVwZW5kZW5jaWVzXG4gKi9cbmltcG9ydCB7IFRleHQgfSBmcm9tICcuLi8uLi8uLi90ZXh0JztcbmltcG9ydCB7IENPTE9SUyB9IGZyb20gJy4uLy4uLy4uL3V0aWxzJztcblxuZXhwb3J0IGNvbnN0IFJvb3QgPSBzdHlsZWQuZGl2YFxuXHRib3R0b206IDA7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGxlZnQ6IDA7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHJpZ2h0OiAwO1xuXHR0b3A6IDA7XG5gO1xuXG5leHBvcnQgY29uc3QgVG9vbHRpcFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cdG9wYWNpdHk6IDA7XG5cdHBvaW50ZXItZXZlbnRzOiBub25lO1xuXHR0cmFuc2l0aW9uOiBvcGFjaXR5IDEyMG1zIGxpbmVhcjtcbmA7XG5cbmV4cG9ydCBjb25zdCBUb29sdGlwID0gc3R5bGVkLmRpdmBcblx0YmFja2dyb3VuZDogJHsgQ09MT1JTLnVpLmJvcmRlciB9O1xuXHRib3JkZXItcmFkaXVzOiAycHg7XG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0Y29sb3I6ICR7IENPTE9SUy51aS50ZXh0RGFyayB9O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5gO1xuXG4vLyBUT0RPOiBSZXNvbHZlIG5lZWQgdG8gdXNlICYmJiB0byBpbmNyZWFzZSBzcGVjaWZpY2l0eVxuLy8gaHR0cHM6Ly9naXRodWIuY29tL1dvcmRQcmVzcy9ndXRlbmJlcmcvaXNzdWVzLzE4NDgzXG5cbmV4cG9ydCBjb25zdCBMYWJlbFRleHQgPSBzdHlsZWQoIFRleHQgKWBcblx0JiYmIHtcblx0XHRjb2xvcjogJHsgQ09MT1JTLnVpLnRleHREYXJrIH07XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjQ7XG5cdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcblx0fVxuYDtcbiJdfQ== */"));
|
|
63
63
|
exports.LabelText = LabelText;
|
|
64
64
|
//# sourceMappingURL=resize-tooltip.styles.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["@wordpress/components/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js"],"names":["Root","TooltipWrapper","Tooltip","COLORS","ui","border","textDark","LabelText","Text"],"mappings":";;;;;;;;;;;AAQA;;AACA;;;;AAEO,MAAMA,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAV;;AAUA,MAAMC,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAApB;;AAUA,MAAMC,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,kBACJC,cAAOC,EAAP,CAAUC,MADN,oEAKTF,cAAOC,EAAP,CAAUE,QALD,
|
|
1
|
+
{"version":3,"sources":["@wordpress/components/src/resizable-box/resize-tooltip/styles/resize-tooltip.styles.js"],"names":["Root","TooltipWrapper","Tooltip","COLORS","ui","border","textDark","LabelText","Text"],"mappings":";;;;;;;;;;;AAQA;;AACA;;;;AAEO,MAAMA,IAAI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAV;;AAUA,MAAMC,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAApB;;AAUA,MAAMC,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA,kBACJC,cAAOC,EAAP,CAAUC,MADN,oEAKTF,cAAOC,EAAP,CAAUE,QALD,29DAAb,C,CAUP;AACA;;;AAEO,MAAMC,SAAS,GAAG,iCAAQC,UAAR;AAAA;AAAA;AAAA;AAAA;AAAA,EAAH,eAEVL,cAAOC,EAAP,CAAUE,QAFA,0/DAAf","sourcesContent":["/**\n * External dependencies\n */\nimport styled from '@emotion/styled';\n\n/**\n * Internal dependencies\n */\nimport { Text } from '../../../text';\nimport { COLORS } from '../../../utils';\n\nexport const Root = styled.div`\n\tbottom: 0;\n\tbox-sizing: border-box;\n\tleft: 0;\n\tpointer-events: none;\n\tposition: absolute;\n\tright: 0;\n\ttop: 0;\n`;\n\nexport const TooltipWrapper = styled.div`\n\talign-items: center;\n\tbox-sizing: border-box;\n\tdisplay: inline-flex;\n\tjustify-content: center;\n\topacity: 0;\n\tpointer-events: none;\n\ttransition: opacity 120ms linear;\n`;\n\nexport const Tooltip = styled.div`\n\tbackground: ${ COLORS.ui.border };\n\tborder-radius: 2px;\n\tbox-sizing: border-box;\n\tfont-size: 12px;\n\tcolor: ${ COLORS.ui.textDark };\n\tpadding: 4px 8px;\n\tposition: relative;\n`;\n\n// TODO: Resolve need to use &&& to increase specificity\n// https://github.com/WordPress/gutenberg/issues/18483\n\nexport const LabelText = styled( Text )`\n\t&&& {\n\t\tcolor: ${ COLORS.ui.textDark };\n\t\tdisplay: block;\n\t\tfont-size: 13px;\n\t\tline-height: 1.4;\n\t\twhite-space: nowrap;\n\t}\n`;\n"]}
|