@wordpress/dataviews 9.0.1-next.6870dfe5b.0 → 9.0.1-next.a730c9c8c.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 +17 -1
- package/README.md +107 -12
- package/build/components/dataviews-filters/input-widget.js +48 -4
- package/build/components/dataviews-filters/input-widget.js.map +1 -1
- package/build/components/dataviews-layout/index.js +3 -1
- package/build/components/dataviews-layout/index.js.map +1 -1
- package/build/dataform-controls/array.js +9 -7
- package/build/dataform-controls/array.js.map +1 -1
- package/build/dataform-controls/checkbox.js +31 -20
- package/build/dataform-controls/checkbox.js.map +1 -1
- package/build/dataform-controls/color.js +29 -24
- package/build/dataform-controls/color.js.map +1 -1
- package/build/dataform-controls/date.js +32 -24
- package/build/dataform-controls/date.js.map +1 -1
- package/build/dataform-controls/datetime.js +133 -19
- package/build/dataform-controls/datetime.js.map +1 -1
- package/build/dataform-controls/email.js +9 -3
- package/build/dataform-controls/email.js.map +1 -1
- package/build/dataform-controls/index.js +27 -0
- package/build/dataform-controls/index.js.map +1 -1
- package/build/dataform-controls/integer.js +47 -34
- package/build/dataform-controls/integer.js.map +1 -1
- package/build/dataform-controls/password.js +47 -0
- package/build/dataform-controls/password.js.map +1 -0
- package/build/dataform-controls/radio.js +42 -9
- package/build/dataform-controls/radio.js.map +1 -1
- package/build/dataform-controls/relative-date-control.js +6 -10
- package/build/dataform-controls/relative-date-control.js.map +1 -1
- package/build/dataform-controls/select.js +41 -10
- package/build/dataform-controls/select.js.map +1 -1
- package/build/dataform-controls/telephone.js +9 -3
- package/build/dataform-controls/telephone.js.map +1 -1
- package/build/dataform-controls/text.js +16 -4
- package/build/dataform-controls/text.js.map +1 -1
- package/build/dataform-controls/textarea.js +81 -0
- package/build/dataform-controls/textarea.js.map +1 -0
- package/build/dataform-controls/toggle-group.js +36 -6
- package/build/dataform-controls/toggle-group.js.map +1 -1
- package/build/dataform-controls/toggle.js +33 -22
- package/build/dataform-controls/toggle.js.map +1 -1
- package/build/dataform-controls/url.js +9 -3
- package/build/dataform-controls/url.js.map +1 -1
- package/build/dataform-controls/utils/{validated-text.js → validated-input.js} +36 -29
- package/build/dataform-controls/utils/validated-input.js.map +1 -0
- package/build/dataforms-layouts/panel/dropdown.js +10 -14
- package/build/dataforms-layouts/panel/dropdown.js.map +1 -1
- package/build/dataforms-layouts/panel/index.js +24 -11
- package/build/dataforms-layouts/panel/index.js.map +1 -1
- package/build/dataforms-layouts/panel/modal.js +22 -27
- package/build/dataforms-layouts/panel/modal.js.map +1 -1
- package/build/dataforms-layouts/panel/summary-button.js +67 -0
- package/build/dataforms-layouts/panel/summary-button.js.map +1 -0
- package/build/dataforms-layouts/regular/index.js +7 -9
- package/build/dataforms-layouts/regular/index.js.map +1 -1
- package/build/dataviews-layouts/grid/index.js +5 -15
- package/build/dataviews-layouts/grid/index.js.map +1 -1
- package/build/dataviews-layouts/list/index.js +47 -2
- package/build/dataviews-layouts/list/index.js.map +1 -1
- package/build/dataviews-layouts/picker-grid/index.js +5 -15
- package/build/dataviews-layouts/picker-grid/index.js.map +1 -1
- package/build/dataviews-layouts/table/index.js +5 -17
- package/build/dataviews-layouts/table/index.js.map +1 -1
- package/build/dataviews-layouts/utils/get-data-by-group.js +23 -0
- package/build/dataviews-layouts/utils/get-data-by-group.js.map +1 -0
- package/build/field-types/index.js +4 -0
- package/build/field-types/index.js.map +1 -1
- package/build/field-types/password.js +51 -0
- package/build/field-types/password.js.map +1 -0
- package/build/normalize-fields.js +17 -0
- package/build/normalize-fields.js.map +1 -1
- package/build/types.js.map +1 -1
- package/build/validation.js +1 -1
- package/build/validation.js.map +1 -1
- package/build-module/components/dataviews-filters/input-widget.js +48 -4
- package/build-module/components/dataviews-filters/input-widget.js.map +1 -1
- package/build-module/components/dataviews-layout/index.js +3 -1
- package/build-module/components/dataviews-layout/index.js.map +1 -1
- package/build-module/dataform-controls/array.js +9 -7
- package/build-module/dataform-controls/array.js.map +1 -1
- package/build-module/dataform-controls/checkbox.js +31 -21
- package/build-module/dataform-controls/checkbox.js.map +1 -1
- package/build-module/dataform-controls/color.js +28 -24
- package/build-module/dataform-controls/color.js.map +1 -1
- package/build-module/dataform-controls/date.js +32 -24
- package/build-module/dataform-controls/date.js.map +1 -1
- package/build-module/dataform-controls/datetime.js +135 -21
- package/build-module/dataform-controls/datetime.js.map +1 -1
- package/build-module/dataform-controls/email.js +8 -2
- package/build-module/dataform-controls/email.js.map +1 -1
- package/build-module/dataform-controls/index.js +27 -0
- package/build-module/dataform-controls/index.js.map +1 -1
- package/build-module/dataform-controls/integer.js +46 -34
- package/build-module/dataform-controls/integer.js.map +1 -1
- package/build-module/dataform-controls/password.js +38 -0
- package/build-module/dataform-controls/password.js.map +1 -0
- package/build-module/dataform-controls/radio.js +44 -11
- package/build-module/dataform-controls/radio.js.map +1 -1
- package/build-module/dataform-controls/relative-date-control.js +6 -10
- package/build-module/dataform-controls/relative-date-control.js.map +1 -1
- package/build-module/dataform-controls/select.js +43 -12
- package/build-module/dataform-controls/select.js.map +1 -1
- package/build-module/dataform-controls/telephone.js +8 -2
- package/build-module/dataform-controls/telephone.js.map +1 -1
- package/build-module/dataform-controls/text.js +15 -3
- package/build-module/dataform-controls/text.js.map +1 -1
- package/build-module/dataform-controls/textarea.js +74 -0
- package/build-module/dataform-controls/textarea.js.map +1 -0
- package/build-module/dataform-controls/toggle-group.js +38 -8
- package/build-module/dataform-controls/toggle-group.js.map +1 -1
- package/build-module/dataform-controls/toggle.js +33 -23
- package/build-module/dataform-controls/toggle.js.map +1 -1
- package/build-module/dataform-controls/url.js +8 -2
- package/build-module/dataform-controls/url.js.map +1 -1
- package/build-module/dataform-controls/utils/validated-input.js +76 -0
- package/build-module/dataform-controls/utils/validated-input.js.map +1 -0
- package/build-module/dataforms-layouts/panel/dropdown.js +10 -15
- package/build-module/dataforms-layouts/panel/dropdown.js.map +1 -1
- package/build-module/dataforms-layouts/panel/index.js +24 -11
- package/build-module/dataforms-layouts/panel/index.js.map +1 -1
- package/build-module/dataforms-layouts/panel/modal.js +22 -28
- package/build-module/dataforms-layouts/panel/modal.js.map +1 -1
- package/build-module/dataforms-layouts/panel/summary-button.js +60 -0
- package/build-module/dataforms-layouts/panel/summary-button.js.map +1 -0
- package/build-module/dataforms-layouts/regular/index.js +8 -10
- package/build-module/dataforms-layouts/regular/index.js.map +1 -1
- package/build-module/dataviews-layouts/grid/index.js +6 -16
- package/build-module/dataviews-layouts/grid/index.js.map +1 -1
- package/build-module/dataviews-layouts/list/index.js +48 -3
- package/build-module/dataviews-layouts/list/index.js.map +1 -1
- package/build-module/dataviews-layouts/picker-grid/index.js +6 -16
- package/build-module/dataviews-layouts/picker-grid/index.js.map +1 -1
- package/build-module/dataviews-layouts/table/index.js +5 -17
- package/build-module/dataviews-layouts/table/index.js.map +1 -1
- package/build-module/dataviews-layouts/utils/get-data-by-group.js +17 -0
- package/build-module/dataviews-layouts/utils/get-data-by-group.js.map +1 -0
- package/build-module/field-types/index.js +4 -0
- package/build-module/field-types/index.js.map +1 -1
- package/build-module/field-types/password.js +46 -0
- package/build-module/field-types/password.js.map +1 -0
- package/build-module/normalize-fields.js +15 -0
- package/build-module/normalize-fields.js.map +1 -1
- package/build-module/types.js.map +1 -1
- package/build-module/validation.js +1 -1
- package/build-module/validation.js.map +1 -1
- package/build-style/style-rtl.css +9 -6
- package/build-style/style.css +9 -6
- package/build-types/components/dataform/stories/index.story.d.ts +3 -14
- package/build-types/components/dataform/stories/index.story.d.ts.map +1 -1
- package/build-types/components/dataviews/stories/fixtures.d.ts +4 -2
- package/build-types/components/dataviews/stories/fixtures.d.ts.map +1 -1
- package/build-types/components/dataviews-filters/input-widget.d.ts.map +1 -1
- package/build-types/dataform-controls/array.d.ts.map +1 -1
- package/build-types/dataform-controls/checkbox.d.ts.map +1 -1
- package/build-types/dataform-controls/color.d.ts.map +1 -1
- package/build-types/dataform-controls/date.d.ts.map +1 -1
- package/build-types/dataform-controls/datetime.d.ts.map +1 -1
- package/build-types/dataform-controls/email.d.ts.map +1 -1
- package/build-types/dataform-controls/index.d.ts +1 -1
- package/build-types/dataform-controls/index.d.ts.map +1 -1
- package/build-types/dataform-controls/integer.d.ts.map +1 -1
- package/build-types/dataform-controls/password.d.ts +3 -0
- package/build-types/dataform-controls/password.d.ts.map +1 -0
- package/build-types/dataform-controls/radio.d.ts.map +1 -1
- package/build-types/dataform-controls/relative-date-control.d.ts +6 -5
- package/build-types/dataform-controls/relative-date-control.d.ts.map +1 -1
- package/build-types/dataform-controls/select.d.ts.map +1 -1
- package/build-types/dataform-controls/telephone.d.ts.map +1 -1
- package/build-types/dataform-controls/text.d.ts +1 -1
- package/build-types/dataform-controls/text.d.ts.map +1 -1
- package/build-types/dataform-controls/textarea.d.ts +6 -0
- package/build-types/dataform-controls/textarea.d.ts.map +1 -0
- package/build-types/dataform-controls/toggle-group.d.ts.map +1 -1
- package/build-types/dataform-controls/toggle.d.ts.map +1 -1
- package/build-types/dataform-controls/url.d.ts.map +1 -1
- package/build-types/dataform-controls/utils/validated-input.d.ts +20 -0
- package/build-types/dataform-controls/utils/validated-input.d.ts.map +1 -0
- package/build-types/dataforms-layouts/panel/dropdown.d.ts +2 -1
- package/build-types/dataforms-layouts/panel/dropdown.d.ts.map +1 -1
- package/build-types/dataforms-layouts/panel/index.d.ts.map +1 -1
- package/build-types/dataforms-layouts/panel/modal.d.ts +2 -1
- package/build-types/dataforms-layouts/panel/modal.d.ts.map +1 -1
- package/build-types/dataforms-layouts/panel/summary-button.d.ts +15 -0
- package/build-types/dataforms-layouts/panel/summary-button.d.ts.map +1 -0
- package/build-types/dataforms-layouts/regular/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/grid/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/list/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/picker-grid/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/table/index.d.ts.map +1 -1
- package/build-types/dataviews-layouts/utils/get-data-by-group.d.ts +6 -0
- package/build-types/dataviews-layouts/utils/get-data-by-group.d.ts.map +1 -0
- package/build-types/field-types/index.d.ts.map +1 -1
- package/build-types/field-types/password.d.ts +17 -0
- package/build-types/field-types/password.d.ts.map +1 -0
- package/build-types/field-types/stories/index.story.d.ts +5 -1
- package/build-types/field-types/stories/index.story.d.ts.map +1 -1
- package/build-types/normalize-fields.d.ts +3 -0
- package/build-types/normalize-fields.d.ts.map +1 -1
- package/build-types/types.d.ts +67 -4
- package/build-types/types.d.ts.map +1 -1
- package/build-types/validation.d.ts.map +1 -1
- package/build-wp/index.js +1670 -1350
- package/package.json +16 -15
- package/src/components/dataform/stories/index.story.tsx +489 -17
- package/src/components/dataviews/stories/fixtures.tsx +99 -41
- package/src/components/dataviews/stories/index.story.tsx +2 -2
- package/src/components/dataviews-filters/input-widget.tsx +44 -5
- package/src/components/dataviews-layout/index.tsx +1 -1
- package/src/components/dataviews-picker/stories/index.story.tsx +1 -1
- package/src/dataform-controls/array.tsx +4 -6
- package/src/dataform-controls/checkbox.tsx +41 -24
- package/src/dataform-controls/color.tsx +33 -24
- package/src/dataform-controls/date.tsx +47 -21
- package/src/dataform-controls/datetime.tsx +171 -23
- package/src/dataform-controls/email.tsx +10 -2
- package/src/dataform-controls/index.tsx +30 -0
- package/src/dataform-controls/integer.tsx +82 -49
- package/src/dataform-controls/password.tsx +50 -0
- package/src/dataform-controls/radio.tsx +53 -11
- package/src/dataform-controls/relative-date-control.tsx +11 -10
- package/src/dataform-controls/select.tsx +53 -10
- package/src/dataform-controls/telephone.tsx +10 -2
- package/src/dataform-controls/text.tsx +19 -2
- package/src/dataform-controls/textarea.tsx +85 -0
- package/src/dataform-controls/toggle-group.tsx +50 -10
- package/src/dataform-controls/toggle.tsx +41 -24
- package/src/dataform-controls/url.tsx +10 -2
- package/src/dataform-controls/utils/validated-input.tsx +109 -0
- package/src/dataforms-layouts/panel/dropdown.tsx +12 -23
- package/src/dataforms-layouts/panel/index.tsx +39 -16
- package/src/dataforms-layouts/panel/modal.tsx +24 -30
- package/src/dataforms-layouts/panel/summary-button.tsx +92 -0
- package/src/dataforms-layouts/regular/index.tsx +9 -7
- package/src/dataforms-layouts/regular/style.scss +0 -6
- package/src/dataviews-layouts/grid/index.tsx +9 -14
- package/src/dataviews-layouts/grid/style.scss +1 -0
- package/src/dataviews-layouts/list/index.tsx +74 -2
- package/src/dataviews-layouts/list/style.scss +8 -0
- package/src/dataviews-layouts/picker-grid/index.tsx +9 -13
- package/src/dataviews-layouts/table/index.tsx +10 -14
- package/src/dataviews-layouts/utils/get-data-by-group.ts +18 -0
- package/src/field-types/index.tsx +5 -0
- package/src/field-types/password.tsx +46 -0
- package/src/field-types/stories/index.story.tsx +138 -1
- package/src/normalize-fields.ts +18 -0
- package/src/test/filter-and-sort-data-view.js +148 -138
- package/src/test/normalize-fields.ts +114 -0
- package/src/types.ts +74 -3
- package/src/validation.ts +2 -0
- package/tsconfig.tsbuildinfo +1 -1
- package/build/dataform-controls/utils/validated-text.js.map +0 -1
- package/build-module/dataform-controls/utils/validated-text.js +0 -70
- package/build-module/dataform-controls/utils/validated-text.js.map +0 -1
- package/build-types/dataform-controls/utils/validated-text.d.ts +0 -16
- package/build-types/dataform-controls/utils/validated-text.d.ts.map +0 -1
- package/src/dataform-controls/utils/validated-text.tsx +0 -96
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_components","require","_element","_lockUnlock","_jsxRuntime","ValidatedInputControl","unlock","privateApis","ValidatedText","data","field","onChange","hideLabelFromVision","type","icon","id","label","placeholder","description","value","getValue","item","customValidity","setCustomValidity","useState","undefined","onChangeControl","useCallback","newValue","jsx","required","isValid","onValidate","message","custom","help","prefix","__experimentalInputControlPrefixWrapper","variant","children","Icon","__next40pxDefaultSize"],"sources":["@wordpress/dataviews/src/dataform-controls/utils/validated-text.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\tprivateApis,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n} from '@wordpress/components';\nimport { useCallback, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { DataFormControlProps } from '../../types';\nimport { unlock } from '../../lock-unlock';\n\nconst { ValidatedInputControl } = unlock( privateApis );\n\nexport type DataFormValidatedTextControlProps< Item > =\n\tDataFormControlProps< Item > & {\n\t\t/**\n\t\t * The input type of the control.\n\t\t */\n\t\ttype?: 'text' | 'email' | 'tel' | 'url';\n\t\t/**\n\t\t * Optional icon to display as prefix.\n\t\t */\n\t\ticon?: React.ComponentType | React.ReactElement;\n\t};\n\nexport default function ValidatedText< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n\thideLabelFromVision,\n\ttype,\n\ticon,\n}: DataFormValidatedTextControlProps< Item > ) {\n\tconst { id, label, placeholder, description } = field;\n\tconst value = field.getValue( { item: data } );\n\tconst [ customValidity, setCustomValidity ] =\n\t\tuseState<\n\t\t\tReact.ComponentProps<\n\t\t\t\ttypeof ValidatedInputControl\n\t\t\t>[ 'customValidity' ]\n\t\t>( undefined );\n\n\tconst onChangeControl = useCallback(\n\t\t( newValue: string ) =>\n\t\t\tonChange( {\n\t\t\t\t[ id ]: newValue,\n\t\t\t} ),\n\t\t[ id, onChange ]\n\t);\n\n\treturn (\n\t\t<ValidatedInputControl\n\t\t\trequired={ !! field.isValid?.required }\n\t\t\tonValidate={ ( newValue: any ) => {\n\t\t\t\tconst message = field.isValid?.custom?.(\n\t\t\t\t\t{\n\t\t\t\t\t\t...data,\n\t\t\t\t\t\t[ id ]: newValue,\n\t\t\t\t\t},\n\t\t\t\t\tfield\n\t\t\t\t);\n\n\t\t\t\tif ( message ) {\n\t\t\t\t\tsetCustomValidity( {\n\t\t\t\t\t\ttype: 'invalid',\n\t\t\t\t\t\tmessage,\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetCustomValidity( undefined );\n\t\t\t} }\n\t\t\tcustomValidity={ customValidity }\n\t\t\tlabel={ label }\n\t\t\tplaceholder={ placeholder }\n\t\t\tvalue={ value ?? '' }\n\t\t\thelp={ description }\n\t\t\tonChange={ onChangeControl }\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\ttype={ type }\n\t\t\tprefix={\n\t\t\t\ticon ? (\n\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t) : undefined\n\t\t\t}\n\t\t\t__next40pxDefaultSize\n\t\t/>\n\t);\n}\n"],"mappings":";;;;;;AAGA,IAAAA,WAAA,GAAAC,OAAA;AAKA,IAAAC,QAAA,GAAAD,OAAA;AAMA,IAAAE,WAAA,GAAAF,OAAA;AAA2C,IAAAG,WAAA,GAAAH,OAAA;AAd3C;AACA;AACA;;AAQA;AACA;AACA;;AAIA,MAAM;EAAEI;AAAsB,CAAC,GAAG,IAAAC,kBAAM,EAAEC,uBAAY,CAAC;AAcxC,SAASC,aAAaA,CAAU;EAC9CC,IAAI;EACJC,KAAK;EACLC,QAAQ;EACRC,mBAAmB;EACnBC,IAAI;EACJC;AAC0C,CAAC,EAAG;EAC9C,MAAM;IAAEC,EAAE;IAAEC,KAAK;IAAEC,WAAW;IAAEC;EAAY,CAAC,GAAGR,KAAK;EACrD,MAAMS,KAAK,GAAGT,KAAK,CAACU,QAAQ,CAAE;IAAEC,IAAI,EAAEZ;EAAK,CAAE,CAAC;EAC9C,MAAM,CAAEa,cAAc,EAAEC,iBAAiB,CAAE,GAC1C,IAAAC,iBAAQ,EAILC,SAAU,CAAC;EAEf,MAAMC,eAAe,GAAG,IAAAC,oBAAW,EAChCC,QAAgB,IACjBjB,QAAQ,CAAE;IACT,CAAEI,EAAE,GAAIa;EACT,CAAE,CAAC,EACJ,CAAEb,EAAE,EAAEJ,QAAQ,CACf,CAAC;EAED,oBACC,IAAAP,WAAA,CAAAyB,GAAA,EAACxB,qBAAqB;IACrByB,QAAQ,EAAG,CAAC,CAAEpB,KAAK,CAACqB,OAAO,EAAED,QAAU;IACvCE,UAAU,EAAKJ,QAAa,IAAM;MACjC,MAAMK,OAAO,GAAGvB,KAAK,CAACqB,OAAO,EAAEG,MAAM,GACpC;QACC,GAAGzB,IAAI;QACP,CAAEM,EAAE,GAAIa;MACT,CAAC,EACDlB,KACD,CAAC;MAED,IAAKuB,OAAO,EAAG;QACdV,iBAAiB,CAAE;UAClBV,IAAI,EAAE,SAAS;UACfoB;QACD,CAAE,CAAC;QACH;MACD;MAEAV,iBAAiB,CAAEE,SAAU,CAAC;IAC/B,CAAG;IACHH,cAAc,EAAGA,cAAgB;IACjCN,KAAK,EAAGA,KAAO;IACfC,WAAW,EAAGA,WAAa;IAC3BE,KAAK,EAAGA,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAI;IACrBgB,IAAI,EAAGjB,WAAa;IACpBP,QAAQ,EAAGe,eAAiB;IAC5Bd,mBAAmB,EAAGA,mBAAqB;IAC3CC,IAAI,EAAGA,IAAM;IACbuB,MAAM,EACLtB,IAAI,gBACH,IAAAV,WAAA,CAAAyB,GAAA,EAAC7B,WAAA,CAAAqC,uCAAyB;MAACC,OAAO,EAAC,MAAM;MAAAC,QAAA,eACxC,IAAAnC,WAAA,CAAAyB,GAAA,EAAC7B,WAAA,CAAAwC,IAAI;QAAC1B,IAAI,EAAGA;MAAM,CAAE;IAAC,CACI,CAAC,GACzBW,SACJ;IACDgB,qBAAqB;EAAA,CACrB,CAAC;AAEJ","ignoreList":[]}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
|
-
import { Icon, privateApis, __experimentalInputControlPrefixWrapper as InputControlPrefixWrapper } from '@wordpress/components';
|
|
5
|
-
import { useCallback, useState } from '@wordpress/element';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Internal dependencies
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
import { unlock } from '../../lock-unlock';
|
|
12
|
-
import { jsx as _jsx } from "react/jsx-runtime";
|
|
13
|
-
const {
|
|
14
|
-
ValidatedInputControl
|
|
15
|
-
} = unlock(privateApis);
|
|
16
|
-
export default function ValidatedText({
|
|
17
|
-
data,
|
|
18
|
-
field,
|
|
19
|
-
onChange,
|
|
20
|
-
hideLabelFromVision,
|
|
21
|
-
type,
|
|
22
|
-
icon
|
|
23
|
-
}) {
|
|
24
|
-
const {
|
|
25
|
-
id,
|
|
26
|
-
label,
|
|
27
|
-
placeholder,
|
|
28
|
-
description
|
|
29
|
-
} = field;
|
|
30
|
-
const value = field.getValue({
|
|
31
|
-
item: data
|
|
32
|
-
});
|
|
33
|
-
const [customValidity, setCustomValidity] = useState(undefined);
|
|
34
|
-
const onChangeControl = useCallback(newValue => onChange({
|
|
35
|
-
[id]: newValue
|
|
36
|
-
}), [id, onChange]);
|
|
37
|
-
return /*#__PURE__*/_jsx(ValidatedInputControl, {
|
|
38
|
-
required: !!field.isValid?.required,
|
|
39
|
-
onValidate: newValue => {
|
|
40
|
-
const message = field.isValid?.custom?.({
|
|
41
|
-
...data,
|
|
42
|
-
[id]: newValue
|
|
43
|
-
}, field);
|
|
44
|
-
if (message) {
|
|
45
|
-
setCustomValidity({
|
|
46
|
-
type: 'invalid',
|
|
47
|
-
message
|
|
48
|
-
});
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
setCustomValidity(undefined);
|
|
52
|
-
},
|
|
53
|
-
customValidity: customValidity,
|
|
54
|
-
label: label,
|
|
55
|
-
placeholder: placeholder,
|
|
56
|
-
value: value !== null && value !== void 0 ? value : '',
|
|
57
|
-
help: description,
|
|
58
|
-
onChange: onChangeControl,
|
|
59
|
-
hideLabelFromVision: hideLabelFromVision,
|
|
60
|
-
type: type,
|
|
61
|
-
prefix: icon ? /*#__PURE__*/_jsx(InputControlPrefixWrapper, {
|
|
62
|
-
variant: "icon",
|
|
63
|
-
children: /*#__PURE__*/_jsx(Icon, {
|
|
64
|
-
icon: icon
|
|
65
|
-
})
|
|
66
|
-
}) : undefined,
|
|
67
|
-
__next40pxDefaultSize: true
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
//# sourceMappingURL=validated-text.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Icon","privateApis","__experimentalInputControlPrefixWrapper","InputControlPrefixWrapper","useCallback","useState","unlock","jsx","_jsx","ValidatedInputControl","ValidatedText","data","field","onChange","hideLabelFromVision","type","icon","id","label","placeholder","description","value","getValue","item","customValidity","setCustomValidity","undefined","onChangeControl","newValue","required","isValid","onValidate","message","custom","help","prefix","variant","children","__next40pxDefaultSize"],"sources":["@wordpress/dataviews/src/dataform-controls/utils/validated-text.tsx"],"sourcesContent":["/**\n * WordPress dependencies\n */\nimport {\n\tIcon,\n\tprivateApis,\n\t__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,\n} from '@wordpress/components';\nimport { useCallback, useState } from '@wordpress/element';\n\n/**\n * Internal dependencies\n */\nimport type { DataFormControlProps } from '../../types';\nimport { unlock } from '../../lock-unlock';\n\nconst { ValidatedInputControl } = unlock( privateApis );\n\nexport type DataFormValidatedTextControlProps< Item > =\n\tDataFormControlProps< Item > & {\n\t\t/**\n\t\t * The input type of the control.\n\t\t */\n\t\ttype?: 'text' | 'email' | 'tel' | 'url';\n\t\t/**\n\t\t * Optional icon to display as prefix.\n\t\t */\n\t\ticon?: React.ComponentType | React.ReactElement;\n\t};\n\nexport default function ValidatedText< Item >( {\n\tdata,\n\tfield,\n\tonChange,\n\thideLabelFromVision,\n\ttype,\n\ticon,\n}: DataFormValidatedTextControlProps< Item > ) {\n\tconst { id, label, placeholder, description } = field;\n\tconst value = field.getValue( { item: data } );\n\tconst [ customValidity, setCustomValidity ] =\n\t\tuseState<\n\t\t\tReact.ComponentProps<\n\t\t\t\ttypeof ValidatedInputControl\n\t\t\t>[ 'customValidity' ]\n\t\t>( undefined );\n\n\tconst onChangeControl = useCallback(\n\t\t( newValue: string ) =>\n\t\t\tonChange( {\n\t\t\t\t[ id ]: newValue,\n\t\t\t} ),\n\t\t[ id, onChange ]\n\t);\n\n\treturn (\n\t\t<ValidatedInputControl\n\t\t\trequired={ !! field.isValid?.required }\n\t\t\tonValidate={ ( newValue: any ) => {\n\t\t\t\tconst message = field.isValid?.custom?.(\n\t\t\t\t\t{\n\t\t\t\t\t\t...data,\n\t\t\t\t\t\t[ id ]: newValue,\n\t\t\t\t\t},\n\t\t\t\t\tfield\n\t\t\t\t);\n\n\t\t\t\tif ( message ) {\n\t\t\t\t\tsetCustomValidity( {\n\t\t\t\t\t\ttype: 'invalid',\n\t\t\t\t\t\tmessage,\n\t\t\t\t\t} );\n\t\t\t\t\treturn;\n\t\t\t\t}\n\n\t\t\t\tsetCustomValidity( undefined );\n\t\t\t} }\n\t\t\tcustomValidity={ customValidity }\n\t\t\tlabel={ label }\n\t\t\tplaceholder={ placeholder }\n\t\t\tvalue={ value ?? '' }\n\t\t\thelp={ description }\n\t\t\tonChange={ onChangeControl }\n\t\t\thideLabelFromVision={ hideLabelFromVision }\n\t\t\ttype={ type }\n\t\t\tprefix={\n\t\t\t\ticon ? (\n\t\t\t\t\t<InputControlPrefixWrapper variant=\"icon\">\n\t\t\t\t\t\t<Icon icon={ icon } />\n\t\t\t\t\t</InputControlPrefixWrapper>\n\t\t\t\t) : undefined\n\t\t\t}\n\t\t\t__next40pxDefaultSize\n\t\t/>\n\t);\n}\n"],"mappings":"AAAA;AACA;AACA;AACA,SACCA,IAAI,EACJC,WAAW,EACXC,uCAAuC,IAAIC,yBAAyB,QAC9D,uBAAuB;AAC9B,SAASC,WAAW,EAAEC,QAAQ,QAAQ,oBAAoB;;AAE1D;AACA;AACA;;AAEA,SAASC,MAAM,QAAQ,mBAAmB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE3C,MAAM;EAAEC;AAAsB,CAAC,GAAGH,MAAM,CAAEL,WAAY,CAAC;AAcvD,eAAe,SAASS,aAAaA,CAAU;EAC9CC,IAAI;EACJC,KAAK;EACLC,QAAQ;EACRC,mBAAmB;EACnBC,IAAI;EACJC;AAC0C,CAAC,EAAG;EAC9C,MAAM;IAAEC,EAAE;IAAEC,KAAK;IAAEC,WAAW;IAAEC;EAAY,CAAC,GAAGR,KAAK;EACrD,MAAMS,KAAK,GAAGT,KAAK,CAACU,QAAQ,CAAE;IAAEC,IAAI,EAAEZ;EAAK,CAAE,CAAC;EAC9C,MAAM,CAAEa,cAAc,EAAEC,iBAAiB,CAAE,GAC1CpB,QAAQ,CAILqB,SAAU,CAAC;EAEf,MAAMC,eAAe,GAAGvB,WAAW,CAChCwB,QAAgB,IACjBf,QAAQ,CAAE;IACT,CAAEI,EAAE,GAAIW;EACT,CAAE,CAAC,EACJ,CAAEX,EAAE,EAAEJ,QAAQ,CACf,CAAC;EAED,oBACCL,IAAA,CAACC,qBAAqB;IACrBoB,QAAQ,EAAG,CAAC,CAAEjB,KAAK,CAACkB,OAAO,EAAED,QAAU;IACvCE,UAAU,EAAKH,QAAa,IAAM;MACjC,MAAMI,OAAO,GAAGpB,KAAK,CAACkB,OAAO,EAAEG,MAAM,GACpC;QACC,GAAGtB,IAAI;QACP,CAAEM,EAAE,GAAIW;MACT,CAAC,EACDhB,KACD,CAAC;MAED,IAAKoB,OAAO,EAAG;QACdP,iBAAiB,CAAE;UAClBV,IAAI,EAAE,SAAS;UACfiB;QACD,CAAE,CAAC;QACH;MACD;MAEAP,iBAAiB,CAAEC,SAAU,CAAC;IAC/B,CAAG;IACHF,cAAc,EAAGA,cAAgB;IACjCN,KAAK,EAAGA,KAAO;IACfC,WAAW,EAAGA,WAAa;IAC3BE,KAAK,EAAGA,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAI;IACrBa,IAAI,EAAGd,WAAa;IACpBP,QAAQ,EAAGc,eAAiB;IAC5Bb,mBAAmB,EAAGA,mBAAqB;IAC3CC,IAAI,EAAGA,IAAM;IACboB,MAAM,EACLnB,IAAI,gBACHR,IAAA,CAACL,yBAAyB;MAACiC,OAAO,EAAC,MAAM;MAAAC,QAAA,eACxC7B,IAAA,CAACR,IAAI;QAACgB,IAAI,EAAGA;MAAM,CAAE;IAAC,CACI,CAAC,GACzBU,SACJ;IACDY,qBAAqB;EAAA,CACrB,CAAC;AAEJ","ignoreList":[]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Internal dependencies
|
|
3
|
-
*/
|
|
4
|
-
import type { DataFormControlProps } from '../../types';
|
|
5
|
-
export type DataFormValidatedTextControlProps<Item> = DataFormControlProps<Item> & {
|
|
6
|
-
/**
|
|
7
|
-
* The input type of the control.
|
|
8
|
-
*/
|
|
9
|
-
type?: 'text' | 'email' | 'tel' | 'url';
|
|
10
|
-
/**
|
|
11
|
-
* Optional icon to display as prefix.
|
|
12
|
-
*/
|
|
13
|
-
icon?: React.ComponentType | React.ReactElement;
|
|
14
|
-
};
|
|
15
|
-
export default function ValidatedText<Item>({ data, field, onChange, hideLabelFromVision, type, icon, }: DataFormValidatedTextControlProps<Item>): import("react").JSX.Element;
|
|
16
|
-
//# sourceMappingURL=validated-text.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validated-text.d.ts","sourceRoot":"","sources":["../../../src/dataform-controls/utils/validated-text.tsx"],"names":[],"mappings":"AAUA;;GAEG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAKxD,MAAM,MAAM,iCAAiC,CAAE,IAAI,IAClD,oBAAoB,CAAE,IAAI,CAAE,GAAG;IAC9B;;OAEG;IACH,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,KAAK,CAAC;IACxC;;OAEG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,YAAY,CAAC;CAChD,CAAC;AAEH,MAAM,CAAC,OAAO,UAAU,aAAa,CAAE,IAAI,EAAI,EAC9C,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,mBAAmB,EACnB,IAAI,EACJ,IAAI,GACJ,EAAE,iCAAiC,CAAE,IAAI,CAAE,+BA0D3C"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* WordPress dependencies
|
|
3
|
-
*/
|
|
4
|
-
import {
|
|
5
|
-
Icon,
|
|
6
|
-
privateApis,
|
|
7
|
-
__experimentalInputControlPrefixWrapper as InputControlPrefixWrapper,
|
|
8
|
-
} from '@wordpress/components';
|
|
9
|
-
import { useCallback, useState } from '@wordpress/element';
|
|
10
|
-
|
|
11
|
-
/**
|
|
12
|
-
* Internal dependencies
|
|
13
|
-
*/
|
|
14
|
-
import type { DataFormControlProps } from '../../types';
|
|
15
|
-
import { unlock } from '../../lock-unlock';
|
|
16
|
-
|
|
17
|
-
const { ValidatedInputControl } = unlock( privateApis );
|
|
18
|
-
|
|
19
|
-
export type DataFormValidatedTextControlProps< Item > =
|
|
20
|
-
DataFormControlProps< Item > & {
|
|
21
|
-
/**
|
|
22
|
-
* The input type of the control.
|
|
23
|
-
*/
|
|
24
|
-
type?: 'text' | 'email' | 'tel' | 'url';
|
|
25
|
-
/**
|
|
26
|
-
* Optional icon to display as prefix.
|
|
27
|
-
*/
|
|
28
|
-
icon?: React.ComponentType | React.ReactElement;
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
export default function ValidatedText< Item >( {
|
|
32
|
-
data,
|
|
33
|
-
field,
|
|
34
|
-
onChange,
|
|
35
|
-
hideLabelFromVision,
|
|
36
|
-
type,
|
|
37
|
-
icon,
|
|
38
|
-
}: DataFormValidatedTextControlProps< Item > ) {
|
|
39
|
-
const { id, label, placeholder, description } = field;
|
|
40
|
-
const value = field.getValue( { item: data } );
|
|
41
|
-
const [ customValidity, setCustomValidity ] =
|
|
42
|
-
useState<
|
|
43
|
-
React.ComponentProps<
|
|
44
|
-
typeof ValidatedInputControl
|
|
45
|
-
>[ 'customValidity' ]
|
|
46
|
-
>( undefined );
|
|
47
|
-
|
|
48
|
-
const onChangeControl = useCallback(
|
|
49
|
-
( newValue: string ) =>
|
|
50
|
-
onChange( {
|
|
51
|
-
[ id ]: newValue,
|
|
52
|
-
} ),
|
|
53
|
-
[ id, onChange ]
|
|
54
|
-
);
|
|
55
|
-
|
|
56
|
-
return (
|
|
57
|
-
<ValidatedInputControl
|
|
58
|
-
required={ !! field.isValid?.required }
|
|
59
|
-
onValidate={ ( newValue: any ) => {
|
|
60
|
-
const message = field.isValid?.custom?.(
|
|
61
|
-
{
|
|
62
|
-
...data,
|
|
63
|
-
[ id ]: newValue,
|
|
64
|
-
},
|
|
65
|
-
field
|
|
66
|
-
);
|
|
67
|
-
|
|
68
|
-
if ( message ) {
|
|
69
|
-
setCustomValidity( {
|
|
70
|
-
type: 'invalid',
|
|
71
|
-
message,
|
|
72
|
-
} );
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
setCustomValidity( undefined );
|
|
77
|
-
} }
|
|
78
|
-
customValidity={ customValidity }
|
|
79
|
-
label={ label }
|
|
80
|
-
placeholder={ placeholder }
|
|
81
|
-
value={ value ?? '' }
|
|
82
|
-
help={ description }
|
|
83
|
-
onChange={ onChangeControl }
|
|
84
|
-
hideLabelFromVision={ hideLabelFromVision }
|
|
85
|
-
type={ type }
|
|
86
|
-
prefix={
|
|
87
|
-
icon ? (
|
|
88
|
-
<InputControlPrefixWrapper variant="icon">
|
|
89
|
-
<Icon icon={ icon } />
|
|
90
|
-
</InputControlPrefixWrapper>
|
|
91
|
-
) : undefined
|
|
92
|
-
}
|
|
93
|
-
__next40pxDefaultSize
|
|
94
|
-
/>
|
|
95
|
-
);
|
|
96
|
-
}
|