smoothly 1.0.0-alpha.21 → 1.0.0-alpha.211
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/dist/cjs/{Listenable-63ea2d90.js → Data-ae713814.js} +523 -6
- package/dist/cjs/Data-ae713814.js.map +1 -0
- package/dist/cjs/Observers-6450f075.js +25 -0
- package/dist/cjs/Observers-6450f075.js.map +1 -0
- package/dist/cjs/TimeZone-016ac7b0.js +6181 -0
- package/dist/cjs/TimeZone-016ac7b0.js.map +1 -0
- package/dist/cjs/getLanguage-49a534df.js +6118 -0
- package/dist/cjs/getLanguage-49a534df.js.map +1 -0
- package/dist/cjs/{index-8adc5c1b.js → index-43af753b.js} +55 -2
- package/dist/cjs/index-43af753b.js.map +1 -0
- package/dist/cjs/index.cjs.js +22 -17
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/loader.cjs.js +4 -3
- package/dist/cjs/loader.cjs.js.map +1 -1
- package/dist/cjs/{Notice-88ba4c70.js → redirect-2e5d4524.js} +11 -2
- package/dist/cjs/redirect-2e5d4524.js.map +1 -0
- package/dist/cjs/smoothly-accordion-item.cjs.entry.js +61 -0
- package/dist/cjs/smoothly-accordion-item.cjs.entry.js.map +1 -0
- package/dist/cjs/smoothly-accordion.cjs.entry.js +58 -0
- package/dist/cjs/smoothly-accordion.cjs.entry.js.map +1 -0
- package/dist/cjs/smoothly-address-display.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-address.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-addresses.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-app_80.cjs.entry.js +10897 -0
- package/dist/cjs/smoothly-app_80.cjs.entry.js.map +1 -0
- package/dist/cjs/smoothly-checkbox.cjs.entry.js +102 -0
- package/dist/cjs/smoothly-checkbox.cjs.entry.js.map +1 -0
- package/dist/cjs/smoothly-color.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-country.cjs.entry.js +56 -55
- package/dist/cjs/smoothly-country.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly-display-date-time.cjs.entry.js +26 -0
- package/dist/cjs/smoothly-display-date-time.cjs.entry.js.map +1 -0
- package/dist/cjs/smoothly-google-font.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-reorder.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-trigger-sink.cjs.entry.js +4 -4
- package/dist/cjs/smoothly-trigger-sink.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly-trigger-source.cjs.entry.js +6 -6
- package/dist/cjs/smoothly-trigger-source.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly.cjs.js +4 -3
- package/dist/cjs/smoothly.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +37 -15
- package/dist/collection/components/Button.js +16 -2
- package/dist/collection/components/Button.js.map +1 -1
- package/dist/collection/components/accordion/index.js +32 -12
- package/dist/collection/components/accordion/index.js.map +1 -1
- package/dist/collection/components/accordion-item/index.js +18 -25
- package/dist/collection/components/accordion-item/index.js.map +1 -1
- package/dist/collection/components/app/index.js +99 -29
- package/dist/collection/components/app/index.js.map +1 -1
- package/dist/collection/components/app/room/index.js +134 -25
- package/dist/collection/components/app/room/index.js.map +1 -1
- package/dist/collection/components/app/room/style.css +39 -10
- package/dist/collection/components/app/style.css +104 -39
- package/dist/collection/components/app-demo/index.js +1 -1
- package/dist/collection/components/app-demo/index.js.map +1 -1
- package/dist/collection/components/backtotop/index.js +3 -3
- package/dist/collection/components/backtotop/index.js.map +1 -1
- package/dist/collection/components/burger/index.js +60 -14
- package/dist/collection/components/burger/index.js.map +1 -1
- package/dist/collection/components/burger/style.css +2 -2
- package/dist/collection/components/button/index.js +10 -23
- package/dist/collection/components/button/index.js.map +1 -1
- package/dist/collection/components/button/style.css +33 -35
- package/dist/collection/components/button-demo/index.js +4 -2
- package/dist/collection/components/button-demo/index.js.map +1 -1
- package/dist/collection/components/button-demo/style.css +1 -0
- package/dist/collection/components/calendar/generate.js +1 -1
- package/dist/collection/components/calendar/generate.js.map +1 -1
- package/dist/collection/components/calendar/index.js +16 -16
- package/dist/collection/components/calendar/index.js.map +1 -1
- package/dist/collection/components/checkbox/index.js +82 -29
- package/dist/collection/components/checkbox/index.js.map +1 -1
- package/dist/collection/components/checkbox/style.css +39 -42
- package/dist/collection/components/confirm/index.js +261 -0
- package/dist/collection/components/confirm/index.js.map +1 -0
- package/dist/collection/components/confirm/style.css +15 -0
- package/dist/collection/components/country/index.js +1 -1
- package/dist/collection/components/display/index.js +6 -3
- package/dist/collection/components/display/index.js.map +1 -1
- package/dist/collection/components/display-amount/index.js +1 -1
- package/dist/collection/components/display-demo/index.js +16 -1
- package/dist/collection/components/display-demo/index.js.map +1 -1
- package/dist/collection/components/filter/Filter.js +17 -0
- package/dist/collection/components/filter/Filter.js.map +1 -0
- package/dist/collection/components/filter/field/index.js +105 -0
- package/dist/collection/components/filter/field/index.js.map +1 -0
- package/dist/collection/components/filter/field/style.css +4 -0
- package/dist/collection/components/filter/index.js +55 -132
- package/dist/collection/components/filter/index.js.map +1 -1
- package/dist/collection/components/filter/input/index.js +64 -302
- package/dist/collection/components/filter/input/index.js.map +1 -1
- package/dist/collection/components/filter/picker/index.js +209 -0
- package/dist/collection/components/filter/picker/index.js.map +1 -0
- package/dist/collection/components/filter/picker/style.css +8 -0
- package/dist/collection/components/filter/style.css +56 -71
- package/dist/collection/components/filter/toggle/index.js +248 -0
- package/dist/collection/components/filter/toggle/index.js.map +1 -0
- package/dist/collection/components/filter/toggle/style.css +8 -0
- package/dist/collection/components/form/index.js +302 -35
- package/dist/collection/components/form/index.js.map +1 -1
- package/dist/collection/components/form/style.css +11 -17
- package/dist/collection/components/icon/index.js +29 -38
- package/dist/collection/components/icon/index.js.map +1 -1
- package/dist/collection/components/icon-demo/index.js +1 -1
- package/dist/collection/components/icon-demo/index.js.map +1 -1
- package/dist/collection/components/icon-demo/style.css +5 -6
- package/dist/collection/components/input/Clearable.js.map +1 -0
- package/dist/collection/components/input/Editable.js +18 -0
- package/dist/collection/components/input/Editable.js.map +1 -0
- package/dist/collection/components/input/Input.js +23 -0
- package/dist/collection/components/input/Input.js.map +1 -0
- package/dist/collection/components/input/Looks.js +8 -0
- package/dist/collection/components/input/Looks.js.map +1 -0
- package/dist/collection/components/input/Submittable.js +8 -0
- package/dist/collection/components/input/Submittable.js.map +1 -0
- package/dist/collection/components/input/checkbox/index.js +235 -0
- package/dist/collection/components/input/checkbox/index.js.map +1 -0
- package/dist/collection/components/input/checkbox/style.css +31 -0
- package/dist/collection/components/input/clear/index.js +242 -0
- package/dist/collection/components/input/clear/index.js.map +1 -0
- package/dist/collection/components/input/clear/style.css +256 -0
- package/dist/collection/components/input/color/index.js +226 -0
- package/dist/collection/components/input/color/index.js.map +1 -0
- package/dist/collection/components/input/color/style.css +15 -0
- package/dist/collection/components/{input-date-range → input/date}/index.js +153 -99
- package/dist/collection/components/input/date/index.js.map +1 -0
- package/dist/collection/components/input/date/range/index.js +443 -0
- package/dist/collection/components/input/date/range/index.js.map +1 -0
- package/dist/collection/components/input/date/range/style.css +94 -0
- package/dist/collection/components/input/date/style.css +83 -0
- package/dist/collection/components/input/demo/index.js +47 -0
- package/dist/collection/components/input/demo/index.js.map +1 -0
- package/dist/collection/components/input/demo/style.css +15 -0
- package/dist/collection/components/input/edit/index.js +231 -0
- package/dist/collection/components/input/edit/index.js.map +1 -0
- package/dist/collection/components/input/edit/style.css +239 -0
- package/dist/collection/components/input/file/index.js +305 -0
- package/dist/collection/components/input/file/index.js.map +1 -0
- package/dist/collection/components/input/file/style.css +107 -0
- package/dist/collection/components/input/index.js +329 -104
- package/dist/collection/components/input/index.js.map +1 -1
- package/dist/collection/components/{input-month → input/month}/index.js +8 -8
- package/dist/collection/components/input/month/index.js.map +1 -0
- package/dist/collection/components/input/radio/Selected.js +11 -0
- package/dist/collection/components/input/radio/Selected.js.map +1 -0
- package/dist/collection/components/input/radio/index.js +404 -0
- package/dist/collection/components/input/radio/index.js.map +1 -0
- package/dist/collection/components/input/radio/item/index.js +150 -0
- package/dist/collection/components/input/radio/item/index.js.map +1 -0
- package/dist/collection/components/input/radio/item/style.css +28 -0
- package/dist/collection/components/input/radio/style.css +66 -0
- package/dist/collection/components/input/range/index.js +305 -0
- package/dist/collection/components/input/range/index.js.map +1 -0
- package/dist/collection/components/input/range/style.css +154 -0
- package/dist/collection/components/input/reset/index.js +241 -0
- package/dist/collection/components/input/reset/index.js.map +1 -0
- package/dist/collection/components/input/reset/style.css +259 -0
- package/dist/collection/components/input/select/index.js +452 -0
- package/dist/collection/components/input/select/index.js.map +1 -0
- package/dist/collection/components/input/select/style.css +104 -0
- package/dist/collection/components/input/style.css +47 -10
- package/dist/collection/components/input/submit/index.js +232 -0
- package/dist/collection/components/input/submit/index.js.map +1 -0
- package/dist/collection/components/input/submit/style.css +236 -0
- package/dist/collection/components/item/index.js +5 -5
- package/dist/collection/components/item/index.js.map +1 -1
- package/dist/collection/components/label/index.js +81 -0
- package/dist/collection/components/label/index.js.map +1 -0
- package/dist/collection/components/label/style.css +15 -0
- package/dist/collection/components/lazy/index.js +73 -0
- package/dist/collection/components/lazy/index.js.map +1 -0
- package/dist/collection/components/{radio → load-more}/index.js +35 -46
- package/dist/collection/components/load-more/index.js.map +1 -0
- package/dist/collection/components/load-more/style.css +5 -0
- package/dist/collection/components/notification/index.js +45 -8
- package/dist/collection/components/notification/index.js.map +1 -1
- package/dist/collection/components/notification/style.css +25 -1
- package/dist/collection/components/notifier/style.css +1 -3
- package/dist/collection/components/picker/demo/index.js +91 -0
- package/dist/collection/components/picker/demo/index.js.map +1 -0
- package/dist/collection/components/picker/demo/style.css +30 -0
- package/dist/collection/components/picker/index.js +197 -396
- package/dist/collection/components/picker/index.js.map +1 -1
- package/dist/collection/components/picker/menu/index.js +429 -0
- package/dist/collection/components/picker/menu/index.js.map +1 -0
- package/dist/collection/components/picker/menu/style.css +44 -0
- package/dist/collection/components/picker/option/index.js +298 -0
- package/dist/collection/components/picker/option/index.js.map +1 -0
- package/dist/collection/components/picker/option/style.css +30 -0
- package/dist/collection/components/picker/slot-elements/index.js +109 -0
- package/dist/collection/components/picker/slot-elements/index.js.map +1 -0
- package/dist/collection/components/picker/slot-elements/style.css +3 -0
- package/dist/collection/components/picker/slotted-elements/index.js +84 -0
- package/dist/collection/components/picker/slotted-elements/index.js.map +1 -0
- package/dist/collection/components/picker/slotted-elements/style.css +3 -0
- package/dist/collection/components/picker/style.css +76 -136
- package/dist/collection/components/popup/index.js +5 -5
- package/dist/collection/components/popup/index.js.map +1 -1
- package/dist/collection/components/popup/style.css +4 -4
- package/dist/collection/components/select-demo/index.js +0 -87
- package/dist/collection/components/select-demo/index.js.map +1 -1
- package/dist/collection/components/spinner/style.css +1 -0
- package/dist/collection/components/submit/index.js +64 -5
- package/dist/collection/components/submit/index.js.map +1 -1
- package/dist/collection/components/submit/style.css +226 -0
- package/dist/collection/components/summary/index.js +46 -4
- package/dist/collection/components/summary/index.js.map +1 -1
- package/dist/collection/components/summary/style.css +25 -16
- package/dist/collection/components/svg/style.css +2 -2
- package/dist/collection/components/table/cell/index.js +1 -1
- package/dist/collection/components/table/cell/index.js.map +1 -1
- package/dist/collection/components/table/cell/style.css +18 -11
- package/dist/collection/components/table/demo/filtered/Root.js.map +1 -1
- package/dist/collection/components/table/demo/filtered/index.js +25 -18
- package/dist/collection/components/table/demo/filtered/index.js.map +1 -1
- package/dist/collection/components/table/demo/filtered/style.css +9 -0
- package/dist/collection/components/table/demo/index.js +2 -9
- package/dist/collection/components/table/demo/index.js.map +1 -1
- package/dist/collection/components/table/demo/style.css +7 -0
- package/dist/collection/components/table/demo/testing/data.js +28 -0
- package/dist/collection/components/table/demo/testing/data.js.map +1 -0
- package/dist/collection/components/table/demo/testing/index.js +28 -0
- package/dist/collection/components/table/demo/testing/index.js.map +1 -0
- package/dist/collection/components/table/demo/testing/style.css +32 -0
- package/dist/collection/components/table/expandable/cell/index.js +14 -33
- package/dist/collection/components/table/expandable/cell/index.js.map +1 -1
- package/dist/collection/components/table/expandable/cell/style.css +32 -25
- package/dist/collection/components/table/expandable/row/index.js +9 -51
- package/dist/collection/components/table/expandable/row/index.js.map +1 -1
- package/dist/collection/components/table/expandable/row/style.css +32 -29
- package/dist/collection/components/table/footer/index.js +19 -0
- package/dist/collection/components/table/footer/index.js.map +1 -0
- package/dist/collection/components/table/footer/style.css +10 -0
- package/dist/collection/components/table/header/style.css +2 -3
- package/dist/collection/components/table/index.js +55 -12
- package/dist/collection/components/table/index.js.map +1 -1
- package/dist/collection/components/table/row/index.js +37 -5
- package/dist/collection/components/table/row/index.js.map +1 -1
- package/dist/collection/components/table/row/style.css +4 -1
- package/dist/collection/components/table/style.css +0 -2
- package/dist/collection/components/theme/color/index.js +48 -0
- package/dist/collection/components/theme/color/index.js.map +1 -0
- package/dist/collection/components/theme/color/style.css +8 -0
- package/dist/collection/components/theme/color/variant/index.js +66 -0
- package/dist/collection/components/theme/color/variant/index.js.map +1 -0
- package/dist/collection/components/theme/color/variant/style.css +18 -0
- package/dist/collection/components/theme/colors/index.js +30 -0
- package/dist/collection/components/theme/colors/index.js.map +1 -0
- package/dist/collection/components/theme/colors/style.css +7 -0
- package/dist/collection/components/theme/picker/index.js +48 -0
- package/dist/collection/components/theme/picker/index.js.map +1 -0
- package/dist/collection/components/theme/picker/style.css +0 -0
- package/dist/collection/components/toggle-switch/index.js +69 -17
- package/dist/collection/components/toggle-switch/index.js.map +1 -1
- package/dist/collection/components/toggle-switch/style.css +19 -12
- package/dist/collection/components/trigger-source/index.js +3 -3
- package/dist/collection/components/trigger-source/index.js.map +1 -1
- package/dist/collection/global/Observers.js +22 -0
- package/dist/collection/global/Observers.js.map +1 -0
- package/dist/collection/global/index.js +5 -0
- package/dist/collection/global/index.js.map +1 -0
- package/dist/collection/index.js +2 -2
- package/dist/collection/index.js.map +1 -1
- package/dist/collection/model/Color.js +18 -1
- package/dist/collection/model/Color.js.map +1 -1
- package/dist/collection/{components/form → model}/Data.js +8 -1
- package/dist/collection/model/Data.js.map +1 -0
- package/dist/collection/model/Icon.js +23 -0
- package/dist/collection/model/Icon.js.map +1 -0
- package/dist/collection/model/Listenable.js +17 -4
- package/dist/collection/model/Listenable.js.map +1 -1
- package/dist/collection/model/Notice.js +1 -1
- package/dist/collection/model/Notice.js.map +1 -1
- package/dist/collection/model/Option.js.map +1 -1
- package/dist/collection/model/index.js +4 -0
- package/dist/collection/model/index.js.map +1 -1
- package/dist/collection/model/redirect.js +8 -0
- package/dist/collection/model/redirect.js.map +1 -0
- package/dist/collection/smoothly.js +3 -0
- package/dist/collection/smoothly.js.map +1 -0
- package/dist/custom-elements/index.d.ts +176 -50
- package/dist/custom-elements/index.js +13394 -29834
- package/dist/custom-elements/index.js.map +1 -1
- package/dist/esm/{Listenable-fb6f4723.js → Data-0390d600.js} +518 -7
- package/dist/esm/Data-0390d600.js.map +1 -0
- package/dist/esm/Observers-5f08e828.js +25 -0
- package/dist/esm/Observers-5f08e828.js.map +1 -0
- package/dist/esm/TimeZone-c8df4905.js +6181 -0
- package/dist/esm/TimeZone-c8df4905.js.map +1 -0
- package/dist/esm/getLanguage-1e9ec036.js +6116 -0
- package/dist/esm/getLanguage-1e9ec036.js.map +1 -0
- package/dist/esm/{index-6ac4212d.js → index-258984d3.js} +55 -2
- package/dist/esm/index-258984d3.js.map +1 -0
- package/dist/esm/index.js +20 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/loader.js +5 -4
- package/dist/esm/loader.js.map +1 -1
- package/dist/esm/{Notice-1fa17794.js → redirect-b0f87e88.js} +11 -3
- package/dist/esm/redirect-b0f87e88.js.map +1 -0
- package/dist/esm/smoothly-accordion-item.entry.js +57 -0
- package/dist/esm/smoothly-accordion-item.entry.js.map +1 -0
- package/dist/esm/smoothly-accordion.entry.js +54 -0
- package/dist/esm/smoothly-accordion.entry.js.map +1 -0
- package/dist/esm/smoothly-address-display.entry.js +1 -1
- package/dist/esm/smoothly-address.entry.js +1 -1
- package/dist/esm/smoothly-addresses.entry.js +1 -1
- package/dist/esm/smoothly-app_80.entry.js +10814 -0
- package/dist/esm/smoothly-app_80.entry.js.map +1 -0
- package/dist/esm/smoothly-checkbox.entry.js +98 -0
- package/dist/esm/smoothly-checkbox.entry.js.map +1 -0
- package/dist/esm/smoothly-color.entry.js +1 -1
- package/dist/esm/smoothly-country.entry.js +10 -9
- package/dist/esm/smoothly-country.entry.js.map +1 -1
- package/dist/esm/smoothly-display-date-time.entry.js +22 -0
- package/dist/esm/smoothly-display-date-time.entry.js.map +1 -0
- package/dist/esm/smoothly-google-font.entry.js +1 -1
- package/dist/esm/smoothly-reorder.entry.js +1 -1
- package/dist/esm/smoothly-trigger-sink.entry.js +2 -2
- package/dist/esm/smoothly-trigger-source.entry.js +4 -4
- package/dist/esm/smoothly-trigger-source.entry.js.map +1 -1
- package/dist/esm/smoothly.js +5 -4
- package/dist/esm/smoothly.js.map +1 -1
- package/dist/smoothly/index.esm.js +1 -1
- package/dist/smoothly/index.esm.js.map +1 -1
- package/dist/smoothly/{p-04fb45e1.entry.js → p-12182a73.entry.js} +2 -2
- package/dist/smoothly/{p-5629e452.entry.js → p-127dcc56.entry.js} +2 -2
- package/dist/smoothly/p-21905b32.entry.js +2 -0
- package/dist/smoothly/p-21905b32.entry.js.map +1 -0
- package/dist/smoothly/p-312ef066.js +2 -0
- package/dist/smoothly/p-312ef066.js.map +1 -0
- package/dist/smoothly/p-47151a53.entry.js +2 -0
- package/dist/smoothly/p-5e387578.js +3 -0
- package/dist/smoothly/p-5e387578.js.map +1 -0
- package/dist/smoothly/{p-0fec28cc.entry.js → p-6aebb818.entry.js} +2 -2
- package/dist/smoothly/p-6e9aca2e.entry.js +2 -0
- package/dist/smoothly/p-6e9aca2e.entry.js.map +1 -0
- package/dist/smoothly/{p-ae467192.entry.js → p-7bf147bf.entry.js} +2 -2
- package/dist/smoothly/p-823e02b0.entry.js +2 -0
- package/dist/smoothly/p-823e02b0.entry.js.map +1 -0
- package/dist/smoothly/p-9b828bde.js +2 -0
- package/dist/smoothly/p-9b828bde.js.map +1 -0
- package/dist/smoothly/p-a0ebd646.entry.js +2 -0
- package/dist/smoothly/p-a0ebd646.entry.js.map +1 -0
- package/dist/smoothly/{p-b3eef141.entry.js → p-b3eac6af.entry.js} +2 -2
- package/dist/smoothly/p-b9165e1d.entry.js +2 -0
- package/dist/smoothly/p-b9165e1d.entry.js.map +1 -0
- package/dist/smoothly/p-c833c402.js +2 -0
- package/dist/smoothly/p-c833c402.js.map +1 -0
- package/dist/smoothly/{p-3a6873ed.entry.js → p-cb493516.entry.js} +2 -2
- package/dist/smoothly/p-ede93d69.js +2 -0
- package/dist/smoothly/p-ede93d69.js.map +1 -0
- package/dist/smoothly/p-eef1c80b.entry.js +2 -0
- package/dist/smoothly/p-eef1c80b.entry.js.map +1 -0
- package/dist/smoothly/p-f125610c.entry.js +2 -0
- package/dist/smoothly/p-f125610c.entry.js.map +1 -0
- package/dist/smoothly/p-fa664317.js +2 -0
- package/dist/smoothly/p-fa664317.js.map +1 -0
- package/dist/smoothly/smoothly.esm.js +1 -1
- package/dist/smoothly/smoothly.esm.js.map +1 -1
- package/dist/types/components/Button.d.ts +1 -2
- package/dist/types/components/accordion/index.d.ts +1 -1
- package/dist/types/components/accordion-item/index.d.ts +5 -4
- package/dist/types/components/app/index.d.ts +23 -10
- package/dist/types/components/app/room/index.d.ts +21 -7
- package/dist/types/components/app-demo/index.d.ts +1 -0
- package/dist/types/components/backtotop/index.d.ts +1 -1
- package/dist/types/components/burger/index.d.ts +7 -2
- package/dist/types/components/button/index.d.ts +2 -2
- package/dist/types/components/calendar/index.d.ts +5 -5
- package/dist/types/components/checkbox/index.d.ts +7 -3
- package/dist/types/components/confirm/index.d.ts +19 -0
- package/dist/types/components/filter/Filter.d.ts +21 -0
- package/dist/types/components/filter/field/index.d.ts +10 -0
- package/dist/types/components/filter/index.d.ts +13 -12
- package/dist/types/components/filter/input/index.d.ts +15 -23
- package/dist/types/components/filter/picker/index.d.ts +24 -0
- package/dist/types/components/filter/toggle/index.d.ts +22 -0
- package/dist/types/components/form/index.d.ts +23 -7
- package/dist/types/components/icon/index.d.ts +3 -9
- package/dist/types/components/input/Editable.d.ts +20 -0
- package/dist/types/components/input/Input.d.ts +22 -0
- package/dist/types/components/input/Looks.d.ts +7 -0
- package/dist/types/components/input/Submittable.d.ts +6 -0
- package/dist/types/components/input/checkbox/index.d.ts +20 -0
- package/dist/types/components/input/clear/index.d.ts +17 -0
- package/dist/types/components/input/color/index.d.ts +24 -0
- package/dist/types/components/input/date/index.d.ts +28 -0
- package/dist/types/components/input/date/range/index.d.ts +33 -0
- package/dist/types/components/input/demo/index.d.ts +6 -0
- package/dist/types/components/input/edit/index.d.ts +17 -0
- package/dist/types/components/input/file/index.d.ts +24 -0
- package/dist/types/components/input/index.d.ts +30 -11
- package/dist/types/components/{input-month → input/month}/index.d.ts +2 -2
- package/dist/types/components/input/radio/Selected.d.ts +10 -0
- package/dist/types/components/input/radio/index.d.ts +35 -0
- package/dist/types/components/input/radio/item/index.d.ts +15 -0
- package/dist/types/components/input/range/index.d.ts +24 -0
- package/dist/types/components/input/reset/index.d.ts +18 -0
- package/dist/types/components/input/select/index.d.ts +36 -0
- package/dist/types/components/input/submit/index.d.ts +17 -0
- package/dist/types/components/item/index.d.ts +1 -1
- package/dist/types/components/label/index.d.ts +6 -0
- package/dist/types/components/lazy/index.d.ts +7 -0
- package/dist/types/components/load-more/index.d.ts +11 -0
- package/dist/types/components/notification/index.d.ts +3 -1
- package/dist/types/components/picker/demo/index.d.ts +22 -0
- package/dist/types/components/picker/index.d.ts +33 -45
- package/dist/types/components/picker/menu/index.d.ts +54 -0
- package/dist/types/components/picker/option/index.d.ts +23 -0
- package/dist/types/components/picker/slot-elements/index.d.ts +15 -0
- package/dist/types/components/picker/slotted-elements/index.d.ts +8 -0
- package/dist/types/components/popup/index.d.ts +1 -1
- package/dist/types/components/select-demo/index.d.ts +0 -9
- package/dist/types/components/submit/index.d.ts +6 -1
- package/dist/types/components/summary/index.d.ts +4 -0
- package/dist/types/components/table/demo/filtered/Root.d.ts +2 -0
- package/dist/types/components/table/demo/filtered/index.d.ts +7 -7
- package/dist/types/components/table/demo/index.d.ts +1 -1
- package/dist/types/components/table/demo/testing/data.d.ts +5 -0
- package/dist/types/components/table/demo/testing/index.d.ts +4 -0
- package/dist/types/components/table/expandable/cell/index.d.ts +4 -5
- package/dist/types/components/table/expandable/row/index.d.ts +3 -8
- package/dist/types/components/table/footer/index.d.ts +3 -0
- package/dist/types/components/table/index.d.ts +6 -3
- package/dist/types/components/table/row/index.d.ts +3 -1
- package/dist/types/components/theme/color/index.d.ts +5 -0
- package/dist/types/components/theme/color/variant/index.d.ts +6 -0
- package/dist/types/components/theme/colors/index.d.ts +3 -0
- package/dist/types/components/theme/picker/index.d.ts +4 -0
- package/dist/types/components/toggle-switch/index.d.ts +7 -2
- package/dist/types/components/trigger-source/index.d.ts +1 -1
- package/dist/types/components.d.ts +914 -347
- package/dist/types/global/Observers.d.ts +8 -0
- package/dist/types/global/index.d.ts +4 -0
- package/dist/types/index.d.ts +1 -3
- package/dist/types/model/Color.d.ts +7 -1
- package/dist/types/{components/form → model}/Data.d.ts +4 -0
- package/dist/types/model/Icon.d.ts +8 -0
- package/dist/types/model/Listenable.d.ts +10 -1
- package/dist/types/model/Notice.d.ts +1 -1
- package/dist/types/model/Option.d.ts +24 -6
- package/dist/types/model/index.d.ts +3 -0
- package/dist/types/model/redirect.d.ts +1 -0
- package/dist/types/smoothly.d.ts +3 -0
- package/package.json +7 -6
- package/dist/cjs/Listenable-63ea2d90.js.map +0 -1
- package/dist/cjs/Notice-88ba4c70.js.map +0 -1
- package/dist/cjs/getLanguage-4f0a45d5.js +0 -12227
- package/dist/cjs/getLanguage-4f0a45d5.js.map +0 -1
- package/dist/cjs/index-8adc5c1b.js.map +0 -1
- package/dist/cjs/index-d16d46f4.js +0 -1224
- package/dist/cjs/index-d16d46f4.js.map +0 -1
- package/dist/cjs/smoothly-accordion_62.cjs.entry.js +0 -28199
- package/dist/cjs/smoothly-accordion_62.cjs.entry.js.map +0 -1
- package/dist/cjs/smoothly-radio-group.cjs.entry.js +0 -22
- package/dist/cjs/smoothly-radio-group.cjs.entry.js.map +0 -1
- package/dist/collection/components/filter/Clearable.js.map +0 -1
- package/dist/collection/components/form/Clearable.js +0 -8
- package/dist/collection/components/form/Clearable.js.map +0 -1
- package/dist/collection/components/form/Data.js.map +0 -1
- package/dist/collection/components/input-date/index.js +0 -206
- package/dist/collection/components/input-date/index.js.map +0 -1
- package/dist/collection/components/input-date/style.css +0 -40
- package/dist/collection/components/input-date-range/index.js.map +0 -1
- package/dist/collection/components/input-date-range/style.css +0 -51
- package/dist/collection/components/input-demo/index.js +0 -45
- package/dist/collection/components/input-demo/index.js.map +0 -1
- package/dist/collection/components/input-demo/style.css +0 -4
- package/dist/collection/components/input-month/index.js.map +0 -1
- package/dist/collection/components/menu-options/index.js +0 -413
- package/dist/collection/components/menu-options/index.js.map +0 -1
- package/dist/collection/components/menu-options/style.css +0 -18
- package/dist/collection/components/option/index.js +0 -270
- package/dist/collection/components/option/index.js.map +0 -1
- package/dist/collection/components/option/style.css +0 -42
- package/dist/collection/components/radio/index.js.map +0 -1
- package/dist/collection/components/radio/style.css +0 -31
- package/dist/collection/components/radio-button/Selected.js +0 -2
- package/dist/collection/components/radio-button/Selected.js.map +0 -1
- package/dist/collection/components/radio-button/index.js +0 -137
- package/dist/collection/components/radio-button/index.js.map +0 -1
- package/dist/collection/components/radio-button/item/index.js +0 -117
- package/dist/collection/components/radio-button/item/index.js.map +0 -1
- package/dist/collection/components/radio-button/item/style.css +0 -85
- package/dist/collection/components/radio-group/index.js +0 -43
- package/dist/collection/components/radio-group/index.js.map +0 -1
- package/dist/collection/components/radio-group/style.css +0 -36
- package/dist/collection/components/select/index.js +0 -108
- package/dist/collection/components/select/index.js.map +0 -1
- package/dist/collection/components/select/style.css +0 -20
- package/dist/collection/components/selector/index.js +0 -234
- package/dist/collection/components/selector/index.js.map +0 -1
- package/dist/collection/components/selector/style.css +0 -46
- package/dist/custom-elements/index2.js +0 -1222
- package/dist/custom-elements/index2.js.map +0 -1
- package/dist/esm/Listenable-fb6f4723.js.map +0 -1
- package/dist/esm/Notice-1fa17794.js.map +0 -1
- package/dist/esm/getLanguage-ffacd7b7.js +0 -12225
- package/dist/esm/getLanguage-ffacd7b7.js.map +0 -1
- package/dist/esm/index-6ac4212d.js.map +0 -1
- package/dist/esm/index-d5330059.js +0 -1222
- package/dist/esm/index-d5330059.js.map +0 -1
- package/dist/esm/smoothly-accordion_62.entry.js +0 -28134
- package/dist/esm/smoothly-accordion_62.entry.js.map +0 -1
- package/dist/esm/smoothly-radio-group.entry.js +0 -18
- package/dist/esm/smoothly-radio-group.entry.js.map +0 -1
- package/dist/smoothly/p-06337b89.js +0 -2
- package/dist/smoothly/p-06337b89.js.map +0 -1
- package/dist/smoothly/p-16cba662.entry.js +0 -2
- package/dist/smoothly/p-16cba662.entry.js.map +0 -1
- package/dist/smoothly/p-3ad51805.entry.js +0 -2
- package/dist/smoothly/p-3ad51805.entry.js.map +0 -1
- package/dist/smoothly/p-5e34795b.js +0 -2
- package/dist/smoothly/p-5e34795b.js.map +0 -1
- package/dist/smoothly/p-75373584.js +0 -2
- package/dist/smoothly/p-75373584.js.map +0 -1
- package/dist/smoothly/p-75452eb8.js +0 -2
- package/dist/smoothly/p-75452eb8.js.map +0 -1
- package/dist/smoothly/p-ae33d7e1.entry.js +0 -2
- package/dist/smoothly/p-ae33d7e1.entry.js.map +0 -1
- package/dist/smoothly/p-b98cd447.js +0 -3
- package/dist/smoothly/p-b98cd447.js.map +0 -1
- package/dist/smoothly/p-c109fc66.entry.js +0 -2
- package/dist/smoothly/p-c109fc66.entry.js.map +0 -1
- package/dist/smoothly/p-f29cc9ff.entry.js +0 -2
- package/dist/types/components/form/Clearable.d.ts +0 -6
- package/dist/types/components/input-date/index.d.ts +0 -14
- package/dist/types/components/input-date-range/index.d.ts +0 -23
- package/dist/types/components/input-demo/index.d.ts +0 -3
- package/dist/types/components/menu-options/index.d.ts +0 -35
- package/dist/types/components/option/index.d.ts +0 -32
- package/dist/types/components/radio/index.d.ts +0 -13
- package/dist/types/components/radio-button/Selected.d.ts +0 -5
- package/dist/types/components/radio-button/index.d.ts +0 -15
- package/dist/types/components/radio-button/item/index.d.ts +0 -12
- package/dist/types/components/radio-group/index.d.ts +0 -4
- package/dist/types/components/select/index.d.ts +0 -14
- package/dist/types/components/selector/index.d.ts +0 -23
- /package/dist/collection/components/{filter → input}/Clearable.js +0 -0
- /package/dist/collection/components/{input-month → input/month}/style.css +0 -0
- /package/dist/collection/components/{radio-button → lazy}/style.css +0 -0
- /package/dist/smoothly/{p-04fb45e1.entry.js.map → p-12182a73.entry.js.map} +0 -0
- /package/dist/smoothly/{p-5629e452.entry.js.map → p-127dcc56.entry.js.map} +0 -0
- /package/dist/smoothly/{p-f29cc9ff.entry.js.map → p-47151a53.entry.js.map} +0 -0
- /package/dist/smoothly/{p-0fec28cc.entry.js.map → p-6aebb818.entry.js.map} +0 -0
- /package/dist/smoothly/{p-ae467192.entry.js.map → p-7bf147bf.entry.js.map} +0 -0
- /package/dist/smoothly/{p-b3eef141.entry.js.map → p-b3eac6af.entry.js.map} +0 -0
- /package/dist/smoothly/{p-3a6873ed.entry.js.map → p-cb493516.entry.js.map} +0 -0
- /package/dist/types/components/{filter → input}/Clearable.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/picker/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Listen, Prop, State, Watch } from \"@stencil/core\"\nimport { Notice, Option } from \"../../model\"\n\n@Component({\n\ttag: \"smoothly-picker\",\n\tstyleUrl: \"style.scss\",\n\tshadow: true,\n})\nexport class SmoothlyPicker {\n\tprivate inputElement: HTMLInputElement\n\tprivate keepFocusOnReRender = false\n\tprivate menuElement: HTMLSmoothlyMenuOptionsElement\n\t@Element() element: HTMLElement\n\t@State() isOpen: boolean\n\t@State() empty: boolean\n\t@Prop({ reflect: true }) disabled = false\n\t@Prop({ reflect: true }) readonly = false\n\t@Prop() maxMenuHeight = \"inherit\"\n\t@Prop() maxHeight: string\n\t@Prop({ mutable: true }) emptyMenuLabel = \"No Options\"\n\t@Prop({ reflect: true }) multiple = false\n\t@Prop() mutable = false\n\t@Prop() optionStyle: any\n\t@Prop({ mutable: true, reflect: true }) options: (Option & { checked?: boolean })[] = []\n\t@Prop({ reflect: true }) labelSetting: \"hide\" | \"default\"\n\t@Prop({ reflect: true }) label: string\n\t@Prop({ mutable: true }) selections: Option[] = []\n\t@Prop({ mutable: true }) selectNoneName = \"Select None\"\n\t@Prop({ mutable: true }) selectAllName = \"Select All\"\n\t@Prop({ mutable: true }) selectionName = \"items selected\"\n\t@Prop({ mutable: true }) newOptionLabel = \"Add:\"\n\t@Prop() valueValidator: (value: any) => [boolean, Notice | undefined] = _ => [true, undefined]\n\t@Event() menuClose: EventEmitter<Option[]>\n\t@Event() notice: EventEmitter<Notice>\n\t@Watch(\"isOpen\")\n\tisOpenChangeHandler() {\n\t\tif (this.isOpen == false) {\n\t\t\tthis.menuClose.emit(this.selections)\n\t\t}\n\t}\n\tcomponentDidRender() {\n\t\tthis.filterOptions()\n\t\tif (this.keepFocusOnReRender) {\n\t\t\tthis.inputElement.focus()\n\t\t\tthis.keepFocusOnReRender = false\n\t\t}\n\t}\n\t@Listen(\"optionSelect\")\n\t@Listen(\"optionUnselect\")\n\toptionSelectHandler(event: CustomEvent<Option>) {\n\t\tthis.toggle(event.detail)\n\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"optionAdd\")\n\toptionAddHandler(event: CustomEvent<{ name: string; value: string }>) {\n\t\tif (this.mutable) {\n\t\t\tconst [status, notice] = this.valueValidator(event.detail.value)\n\t\t\tif (status) {\n\t\t\t\tconst option = { ...event.detail }\n\t\t\t\tthis.options = [...this.options, option]\n\t\t\t\tthis.select(option)\n\t\t\t}\n\t\t\tnotice && this.notice.emit(notice)\n\t\t}\n\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"menuEmpty\")\n\temptyHandler(event: CustomEvent<boolean>) {\n\t\tthis.empty = event.detail\n\t\tevent.stopPropagation()\n\t}\n\ttoggle(option: Option) {\n\t\toption.value == \"select-none\"\n\t\t\t? this.toggleAll()\n\t\t\t: this.selections.map(s => s.value).includes(option.value)\n\t\t\t? this.unselect(option)\n\t\t\t: this.select(option)\n\t}\n\ttoggleAll() {\n\t\tthis.selections = this.selections.length == this.options?.length ? [] : this.options\n\t\tthis.inputElement.focus()\n\t\tthis.keepFocusOnReRender = true\n\t}\n\tunselect(selection: Option) {\n\t\tconst index = this.selections.map(selection => selection.value).indexOf(selection.value)\n\t\tif (index != -1) {\n\t\t\tthis.selections = [\n\t\t\t\t...this.selections.slice(0, index),\n\t\t\t\t...this.selections.slice(index + 1, this.selections.length),\n\t\t\t]\n\t\t\tthis.keepFocusOnReRender = true\n\t\t}\n\t}\n\tselect(selection: Option) {\n\t\tconst isNewSelection = this.selections.reduce((acc, current) => acc && current.value != selection.value, true)\n\t\tif (isNewSelection)\n\t\t\tthis.selections = this.multiple ? [...this.selections, selection] : [selection]\n\t\tthis.inputElement.value = \"\"\n\t\tthis.filterOptions()\n\t\tthis.keepFocusOnReRender = true\n\t\tthis.isOpen = this.multiple\n\t}\n\ttoggleHighlighted() {\n\t\tif (this.mutable && this.empty) {\n\t\t\tconst [status, notice] = this.valueValidator(this.inputElement.value)\n\t\t\tif (status) {\n\t\t\t\tconst option = { name: this.inputElement.value, value: this.inputElement.value }\n\t\t\t\tthis.options = [...this.options, option]\n\t\t\t\tthis.select(option)\n\t\t\t}\n\t\t\tnotice && this.notice.emit(notice)\n\t\t} else\n\t\t\tthis.menuElement?.getHighlighted().then((result: Option | undefined) => {\n\t\t\t\tresult && this.toggle(result)\n\t\t\t})\n\t}\n\thighlightDefault() {\n\t\tthis.filterOptions()\n\t\tthis.menuElement?.setHighlight(this.multiple || this.selections.length == 0 ? 0 : this.selections[0].value)\n\t}\n\tfilterOptions() {\n\t\tthis.menuElement?.filterOptions(this.inputElement.value, [])\n\t}\n\tonInput(event: UIEvent) {\n\t\tthis.isOpen = this.inputElement.value != \"\" ? true : this.isOpen\n\t\tthis.highlightDefault()\n\t}\n\tonKeyDown(event: KeyboardEvent) {\n\t\tif (event.key == \"ArrowUp\" || event.key == \"ArrowDown\") {\n\t\t\tthis.menuElement?.moveHighlight(event.key == \"ArrowUp\" ? -1 : 1)\n\t\t\tevent.preventDefault()\n\t\t} else if (event.key == \"Enter\" && this.isOpen)\n\t\t\tthis.toggleHighlighted()\n\t\telse if (event.key == \"Escape\") {\n\t\t\tthis.inputElement.value = \"\"\n\t\t\tthis.isOpen = false\n\t\t\tthis.filterOptions()\n\t\t} else if (event.key == \" \" && this.inputElement.value == \"\") {\n\t\t\tevent.preventDefault()\n\t\t\tthis.isOpen = true\n\t\t\tthis.filterOptions()\n\t\t}\n\t}\n\tonClick() {\n\t\tif (!(this.readonly || this.disabled)) {\n\t\t\tthis.isOpen = !this.isOpen\n\t\t\tthis.inputElement.focus()\n\t\t\tthis.highlightDefault()\n\t\t\tthis.filterOptions()\n\t\t}\n\t}\n\tonBlur() {\n\t\tthis.inputElement.value = \"\"\n\t\tthis.isOpen = false\n\t\tthis.filterOptions()\n\t}\n\n\trender() {\n\t\tconst cssVariables = {\n\t\t\t\"--max-height\": this.maxHeight ?? \"inherit\",\n\t\t\t\"--label-display\": this.labelSetting == \"hide\" ? \"none\" : \"absolute\",\n\t\t}\n\t\tthis.options?.forEach(o => {\n\t\t\to.checked = this.selections.map(s => s.value).includes(o.value)\n\t\t})\n\t\tconst options = [\n\t\t\t...(this.multiple\n\t\t\t\t? [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvalue: \"select-none\",\n\t\t\t\t\t\t\tname: this.selections.length == this.options.length ? this.selectNoneName : this.selectAllName,\n\t\t\t\t\t\t\tchecked: this.selections.length == this.options.length,\n\t\t\t\t\t\t\tdivider: true,\n\t\t\t\t\t\t},\n\t\t\t\t ]\n\t\t\t\t: []),\n\t\t\t...(this.options ?? []),\n\t\t]\n\t\treturn (\n\t\t\t<Host\n\t\t\t\tstyle={cssVariables}\n\t\t\t\thas-selection={this.selections.length > 0}\n\t\t\t\tis-open={this.isOpen ? \"\" : undefined}\n\t\t\t\tonMouseDown={(e: MouseEvent) => e.preventDefault()}\n\t\t\t\tonClick={() => this.onClick()}>\n\t\t\t\t<div>\n\t\t\t\t\t<smoothly-icon part=\"search\" class=\"search\" name=\"search-outline\" size=\"tiny\"></smoothly-icon>\n\t\t\t\t\t<label part=\"label-element\">{this.label}</label>\n\t\t\t\t\t<input\n\t\t\t\t\t\tpart=\"input\"\n\t\t\t\t\t\tdisabled={this.disabled}\n\t\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\tref={(el: HTMLInputElement) => (this.inputElement = el ? el : this.inputElement)}\n\t\t\t\t\t\tonFocus={() => this.highlightDefault()}\n\t\t\t\t\t\tonBlur={() => this.onBlur()}\n\t\t\t\t\t\tplaceholder={\n\t\t\t\t\t\t\tthis.selections.length > 3\n\t\t\t\t\t\t\t\t? this.selections.length.toString() + \" \" + this.selectionName\n\t\t\t\t\t\t\t\t: this.selections.map(selection => selection.name).join(\", \")\n\t\t\t\t\t\t}\n\t\t\t\t\t\tonKeyDown={e => this.onKeyDown(e)}\n\t\t\t\t\t\tonInput={(e: UIEvent) => this.onInput(e)}></input>\n\t\t\t\t\t<smoothly-icon part=\"chevron\" class=\"down\" name=\"chevron-down\" size=\"tiny\"></smoothly-icon>\n\t\t\t\t\t<smoothly-icon part=\"chevron\" class=\"up\" name=\"chevron-up\" size=\"tiny\"></smoothly-icon>\n\t\t\t\t</div>\n\t\t\t\t<smoothly-menu-options\n\t\t\t\t\tpart=\"menu-options\"\n\t\t\t\t\tstyle={{ width: \"100%\" }}\n\t\t\t\t\ttoggle={true}\n\t\t\t\t\toptionStyle={{ ...this.optionStyle }}\n\t\t\t\t\torder={false}\n\t\t\t\t\temptyMenuLabel={this.emptyMenuLabel}\n\t\t\t\t\tnewOptionLabel={this.newOptionLabel}\n\t\t\t\t\tmax-menu-height={this.maxMenuHeight}\n\t\t\t\t\tmutable={this.mutable}\n\t\t\t\t\tref={(el: HTMLSmoothlyMenuOptionsElement) => (this.menuElement = el ?? this.menuElement)}\n\t\t\t\t\tonClick={e => e.stopPropagation()}\n\t\t\t\t\tresetHighlightOnOptionsChange={false}\n\t\t\t\t\toptions={options}></smoothly-menu-options>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/picker/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { Notice, Option } from \"../../model\"\nimport { Clearable } from \"../input/Clearable\"\nimport { Input } from \"../input/Input\"\nimport { Looks } from \"../input/Looks\"\nimport { Controls } from \"./menu\"\n\n@Component({\n\ttag: \"smoothly-picker\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyPicker implements Clearable, Input {\n\t@Element() element: HTMLSmoothlyPickerElement\n\t@Prop({ reflect: true, mutable: true }) looks: Looks = \"plain\"\n\t@Prop({ reflect: true }) name: string\n\t@Prop({ reflect: true, mutable: true }) open = false\n\t@Prop({ reflect: true }) mutable = false\n\t@Prop({ reflect: true }) multiple = false\n\t@Prop({ reflect: true }) readonly = false\n\t@Prop() validator?: (value: string) => boolean | { result: boolean; notice: Notice }\n\t@State() selected = new Map<any, Option>()\n\t@State() display: Node[]\n\t@Event() smoothlyPickerLoaded: EventEmitter<Controls>\n\t@Event() smoothlyInput: EventEmitter<Record<string, any | any[]>> // multiple -> any[]\n\t@Event() smoothlyChange: EventEmitter<Record<string, any | any[]>> // multiple -> any[]\n\t@Event() smoothlyInputLooks: EventEmitter<(looks: Looks) => void>\n\tprivate controls?: Controls & { synced: () => boolean }\n\n\tcomponentWillLoad() {\n\t\tthis.smoothlyInputLooks.emit(looks => (this.looks = looks))\n\t}\n\n\t@Watch(\"selected\")\n\tselectedChanged() {\n\t\tconst selected = Array.from(this.selected.values(), option => option.value)\n\t\tif (this.controls?.synced()) {\n\t\t\tthis.smoothlyInput.emit({ [this.name]: this.multiple ? selected : selected.at(0) })\n\t\t\tthis.smoothlyChange.emit({ [this.name]: this.multiple ? selected : selected.at(0) })\n\t\t}\n\t\tthis.display = Array.from(this.selected.values(), option => {\n\t\t\tconst span = document.createElement(\"span\")\n\t\t\toption.slotted.forEach(node => span.appendChild(node.cloneNode(true)))\n\t\t\treturn span\n\t\t})\n\t}\n\n\tcomponentDidLoad() {\n\t\tif (this.controls)\n\t\t\tthis.smoothlyPickerLoaded.emit((({ synced, ...controls }) => controls)(this.controls))\n\t}\n\t@Listen(\"smoothlyInputLooks\")\n\tsmoothlyInputLooksHandler(event: CustomEvent<(looks: Looks) => void>) {\n\t\tif (event.target != this.element)\n\t\t\tevent.stopPropagation()\n\t}\n\t@Listen(\"smoothlyPickerMenuLoaded\")\n\tmenuLoadedHandler(event: CustomEvent<Controls & { synced: () => boolean }>) {\n\t\tthis.controls = event.detail\n\t}\n\t@Listen(\"smoothlyPickerOptionLoaded\")\n\toptionLoadedHandler(event: CustomEvent<Option>) {\n\t\tif (event.detail.selected)\n\t\t\tthis.selected = this.multiple\n\t\t\t\t? new Map(this.selected.set(event.detail.value, event.detail).entries())\n\t\t\t\t: new Map().set(event.detail.value, event.detail)\n\t}\n\n\t@Listen(\"smoothlyPickerOptionChange\")\n\toptionChangeHandler(event: CustomEvent<Option>) {\n\t\tif (!this.readonly)\n\t\t\tif (this.multiple)\n\t\t\t\tthis.selected = event.detail.selected\n\t\t\t\t\t? new Map(this.selected.set(event.detail.value, event.detail).entries())\n\t\t\t\t\t: !this.selected.delete(event.detail.value)\n\t\t\t\t\t? this.selected\n\t\t\t\t\t: new Map(this.selected.entries())\n\t\t\telse\n\t\t\t\tthis.selected = !event.detail.selected ? new Map() : new Map().set(event.detail.value, event.detail)\n\t}\n\t@Listen(\"click\", { target: \"window\" })\n\tclickHandler(event: MouseEvent) {\n\t\tthis.open = !event.composedPath().includes(this.element) ? false : !this.open\n\t}\n\t@Listen(\"focusin\", { target: \"window\" })\n\tfocusHandler(event: FocusEvent) {\n\t\tif (!event.composedPath().includes(this.element))\n\t\t\tthis.open = false\n\t}\n\t@Method()\n\tasync clear() {\n\t\tthis.selected.forEach(option => option.selected && option.element.clickHandler())\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host tabindex={0}>\n\t\t\t\t<smoothly-slot-elements class={\"selected\"} nodes={this.display} />\n\t\t\t\t<span class={\"label\"}>\n\t\t\t\t\t<slot name={\"label\"} />\n\t\t\t\t</span>\n\t\t\t\t<button type=\"button\">\n\t\t\t\t\t<smoothly-icon size=\"tiny\" name={this.open ? \"caret-down-outline\" : \"caret-forward-outline\"} />\n\t\t\t\t</button>\n\t\t\t\t<slot name=\"child\" />\n\t\t\t\t<smoothly-picker-menu\n\t\t\t\t\topen={this.open}\n\t\t\t\t\tlooks={this.looks}\n\t\t\t\t\tonClick={e => e.stopPropagation()}\n\t\t\t\t\tmultiple={this.multiple}\n\t\t\t\t\tmutable={this.mutable}\n\t\t\t\t\treadonly={this.readonly}\n\t\t\t\t\tvalidator={this.validator}>\n\t\t\t\t\t<slot name=\"search\" slot=\"search\" />\n\t\t\t\t\t<slot name=\"display\" slot=\"display\" />\n\t\t\t\t\t<slot />\n\t\t\t\t</smoothly-picker-menu>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
|
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
import { h, Host } from "@stencil/core";
|
|
2
|
+
import global from "../../../global/index";
|
|
3
|
+
const Observers = global().Observers;
|
|
4
|
+
function* chain(...iterables) {
|
|
5
|
+
for (const iterable of iterables)
|
|
6
|
+
yield* iterable;
|
|
7
|
+
}
|
|
8
|
+
function restore(target, source) {
|
|
9
|
+
target === null || target === void 0 ? void 0 : target.set.selected((target.selected = source.selected));
|
|
10
|
+
target === null || target === void 0 ? void 0 : target.set.readonly((target.readonly = source.readonly));
|
|
11
|
+
target === null || target === void 0 ? void 0 : target.set.visible((target.visible = source.visible));
|
|
12
|
+
target === null || target === void 0 ? void 0 : target.set.value((target.value = source.value));
|
|
13
|
+
target === null || target === void 0 ? void 0 : target.set.search((target.search = source.search));
|
|
14
|
+
return target;
|
|
15
|
+
}
|
|
16
|
+
function restoreListener(ref, option) {
|
|
17
|
+
ref === null || ref === void 0 ? void 0 : ref.addEventListener("smoothlyPickerOptionLoad", (e) => restore(e.detail, option));
|
|
18
|
+
}
|
|
19
|
+
export class SmoothlyPickerMenu {
|
|
20
|
+
constructor() {
|
|
21
|
+
this.synced = false;
|
|
22
|
+
this.looks = undefined;
|
|
23
|
+
this.open = false;
|
|
24
|
+
this.multiple = false;
|
|
25
|
+
this.mutable = false;
|
|
26
|
+
this.readonly = false;
|
|
27
|
+
this.validator = undefined;
|
|
28
|
+
this.backend = new Map();
|
|
29
|
+
this.options = new Map();
|
|
30
|
+
this.created = new Map();
|
|
31
|
+
this.search = "";
|
|
32
|
+
this.valid = false;
|
|
33
|
+
this.display = undefined;
|
|
34
|
+
this.flip = false;
|
|
35
|
+
this.flipChecked = false;
|
|
36
|
+
}
|
|
37
|
+
componentWillLoad() {
|
|
38
|
+
if (!Observers.has(this.element)) {
|
|
39
|
+
const threshold = 0.4;
|
|
40
|
+
Observers.set(this.element, new IntersectionObserver(entries => {
|
|
41
|
+
var _a, _b;
|
|
42
|
+
return ((_b = (_a = entries.find(entry => entry.target == this.element)) === null || _a === void 0 ? void 0 : _a.intersectionRatio) !== null && _b !== void 0 ? _b : 0) < threshold &&
|
|
43
|
+
!this.flipChecked &&
|
|
44
|
+
((this.flip = !this.flip), (this.flipChecked = true));
|
|
45
|
+
}, { threshold }));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
sync() {
|
|
49
|
+
if (this.backend.size != this.options.size)
|
|
50
|
+
this.synced = false;
|
|
51
|
+
else
|
|
52
|
+
this.synced = true;
|
|
53
|
+
}
|
|
54
|
+
componentDidLoad() {
|
|
55
|
+
this.smoothlyPickerMenuLoaded.emit({
|
|
56
|
+
remember: () => {
|
|
57
|
+
this.memory = {
|
|
58
|
+
backend: new Map(Array.from(this.backend.entries(), ([value, option]) => [value, Object.assign({}, option)])),
|
|
59
|
+
options: new Map(Array.from(this.options.entries(), ([value, option]) => [value, Object.assign({}, option)])),
|
|
60
|
+
};
|
|
61
|
+
},
|
|
62
|
+
restore: () => {
|
|
63
|
+
if (this.memory) {
|
|
64
|
+
for (const option of this.options.values()) {
|
|
65
|
+
const memory = this.memory.options.get(option.value);
|
|
66
|
+
if (memory != undefined)
|
|
67
|
+
restore(option, memory);
|
|
68
|
+
else if (this.created.get(option.value))
|
|
69
|
+
option.set.selected((option.selected = false));
|
|
70
|
+
}
|
|
71
|
+
for (const option of this.backend.values()) {
|
|
72
|
+
const memory = this.memory.backend.get(option.value);
|
|
73
|
+
if (memory != undefined)
|
|
74
|
+
restore(option, memory);
|
|
75
|
+
else if (this.created.get(option.value))
|
|
76
|
+
option.set.selected((option.selected = false));
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
clear: () => {
|
|
81
|
+
const backend = Array.from(this.backend.entries());
|
|
82
|
+
backend.filter(([key]) => this.created.has(key)).forEach(([, option]) => option.set.selected(false));
|
|
83
|
+
this.backend = new Map(backend.filter(([key]) => !this.created.has(key)));
|
|
84
|
+
this.options = new Map(Array.from(this.options.entries()).filter(([key]) => !this.created.has(key)));
|
|
85
|
+
this.created = new Map();
|
|
86
|
+
},
|
|
87
|
+
synced: () => this.synced,
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
disconnectedCallback() {
|
|
91
|
+
var _a;
|
|
92
|
+
if (!this.element.parentElement) {
|
|
93
|
+
(_a = Observers.get(this.element)) === null || _a === void 0 ? void 0 : _a.disconnect();
|
|
94
|
+
Observers.remove(this.element);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
openChange() {
|
|
98
|
+
const observer = Observers.get(this.element);
|
|
99
|
+
if (this.open)
|
|
100
|
+
observer === null || observer === void 0 ? void 0 : observer.observe(this.element);
|
|
101
|
+
else
|
|
102
|
+
observer === null || observer === void 0 ? void 0 : observer.unobserve(this.element);
|
|
103
|
+
}
|
|
104
|
+
readonlyChanged() {
|
|
105
|
+
for (const option of chain(this.options.values(), this.backend.values()))
|
|
106
|
+
option.element, option.set.readonly(this.readonly);
|
|
107
|
+
}
|
|
108
|
+
scrollHandler() {
|
|
109
|
+
this.flipChecked = false;
|
|
110
|
+
}
|
|
111
|
+
optionLoadHandler(event) {
|
|
112
|
+
if (!this.listElement || !event.composedPath().includes(this.listElement)) {
|
|
113
|
+
event.stopPropagation();
|
|
114
|
+
this.sync();
|
|
115
|
+
event.detail.set.readonly(this.readonly);
|
|
116
|
+
const current = this.options.get(event.detail.value);
|
|
117
|
+
if (current)
|
|
118
|
+
event.detail.set.selected(current.element.selected);
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
optionLoadedHandler(event) {
|
|
122
|
+
var _a;
|
|
123
|
+
if (!this.listElement || !event.composedPath().includes(this.listElement)) {
|
|
124
|
+
event.stopPropagation();
|
|
125
|
+
const current = restore(this.backend.get(event.detail.value), event.detail);
|
|
126
|
+
this.backend = new Map(this.backend
|
|
127
|
+
.set(event.detail.value, Object.assign(Object.assign({}, event.detail), { clone: (_a = current === null || current === void 0 ? void 0 : current.clone) !== null && _a !== void 0 ? _a : event.detail.element.cloneNode(true) }))
|
|
128
|
+
.entries());
|
|
129
|
+
}
|
|
130
|
+
else
|
|
131
|
+
this.options.set(event.detail.value, event.detail);
|
|
132
|
+
this.sync();
|
|
133
|
+
}
|
|
134
|
+
optionChangeHandler(event) {
|
|
135
|
+
var _a;
|
|
136
|
+
if (!this.listElement || !event.composedPath().includes(this.listElement)) {
|
|
137
|
+
event.stopPropagation();
|
|
138
|
+
(_a = this.options.get(event.detail.value)) === null || _a === void 0 ? void 0 : _a.set.selected(event.detail.selected);
|
|
139
|
+
}
|
|
140
|
+
else {
|
|
141
|
+
const current = this.backend.get(event.detail.value);
|
|
142
|
+
if (current === null || current === void 0 ? void 0 : current.element.parentElement)
|
|
143
|
+
current === null || current === void 0 ? void 0 : current.set.selected(event.detail.selected);
|
|
144
|
+
}
|
|
145
|
+
if (!this.readonly && !this.multiple && event.detail.selected)
|
|
146
|
+
for (const option of chain(this.options.values(), this.backend.values()))
|
|
147
|
+
if (option.value != event.detail.value)
|
|
148
|
+
option.set.selected(false);
|
|
149
|
+
}
|
|
150
|
+
inputHandler(event) {
|
|
151
|
+
event.stopPropagation();
|
|
152
|
+
this.search = event.detail.search;
|
|
153
|
+
if (!this.search) {
|
|
154
|
+
this.valid = false;
|
|
155
|
+
for (const option of chain(this.options.values(), this.backend.values()))
|
|
156
|
+
option.set.visible(true);
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
this.valid = !Array.from(this.options.values()).find(option => option.value == this.search);
|
|
160
|
+
const search = this.search.toLocaleLowerCase();
|
|
161
|
+
for (const option of chain(this.options.values(), this.backend.values())) {
|
|
162
|
+
const value = option.value.toString().toLocaleLowerCase().includes(search);
|
|
163
|
+
const searches = option.search.some(value => value.includes(search));
|
|
164
|
+
const result = value || searches;
|
|
165
|
+
option.set.visible(result);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
addHandler() {
|
|
170
|
+
var _a;
|
|
171
|
+
const validation = !this.validator ? true : this.validator(this.search);
|
|
172
|
+
if (this.mutable) {
|
|
173
|
+
if (typeof validation == "object" ? validation.result : validation) {
|
|
174
|
+
if (!this.multiple)
|
|
175
|
+
for (const option of chain(this.options.values(), this.backend.values()))
|
|
176
|
+
option.set.selected(false);
|
|
177
|
+
this.created = new Map(this.created.set(this.search, { value: this.search, selected: true }).entries());
|
|
178
|
+
this.search = "";
|
|
179
|
+
(_a = this.searchElement) === null || _a === void 0 ? void 0 : _a.focus();
|
|
180
|
+
this.valid = false;
|
|
181
|
+
}
|
|
182
|
+
if (typeof validation == "object")
|
|
183
|
+
this.notice.emit(validation.notice);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
keyDownHandler(event) {
|
|
187
|
+
if (event.key == "Enter") {
|
|
188
|
+
event.preventDefault();
|
|
189
|
+
this.addHandler();
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
emptyDisplayHandler(event) {
|
|
193
|
+
event.stopPropagation();
|
|
194
|
+
event.detail.set.nodes(this.display);
|
|
195
|
+
}
|
|
196
|
+
render() {
|
|
197
|
+
return (h(Host, { class: { valid: this.valid, flip: this.flip } }, h("smoothly-slotted-elements", { class: "hide", onSmoothlySlottedChange: e => (this.display = e.detail) }, h("slot", { name: "display" })), h("div", { class: "hide" }, h("slot", null), Array.from(this.created.values(), option => (h("smoothly-picker-option", { key: option.value, value: option.value, selected: option.selected }, option.value, h("smoothly-slot-elements", { slot: "display", nodes: this.display }))))), h("div", { class: "controls" }, h("smoothly-input", { ref: e => (this.searchElement = e), name: "search", value: this.search, looks: this.looks, onKeyDown: e => this.keyDownHandler(e), onSmoothlyInput: e => this.inputHandler(e), onSmoothlyChange: e => e.stopPropagation(), onSmoothlyBlur: e => e.stopPropagation() }, h("slot", { name: "search" })), this.mutable && !this.readonly ? (h("button", { onClick: () => this.addHandler(), disabled: !this.valid, type: "button" }, h("smoothly-icon", { name: "add-outline" }))) : null), h("div", { class: "list", ref: e => (this.listElement = e) }, Array.from(this.backend.values())
|
|
198
|
+
.sort((a, b) => a.position - b.position)
|
|
199
|
+
.map(option => (h("smoothly-slot-elements", { ref: e => restoreListener(e, option), clone: false, nodes: option.clone }))))));
|
|
200
|
+
}
|
|
201
|
+
static get is() { return "smoothly-picker-menu"; }
|
|
202
|
+
static get encapsulation() { return "scoped"; }
|
|
203
|
+
static get originalStyleUrls() {
|
|
204
|
+
return {
|
|
205
|
+
"$": ["style.css"]
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
static get styleUrls() {
|
|
209
|
+
return {
|
|
210
|
+
"$": ["style.css"]
|
|
211
|
+
};
|
|
212
|
+
}
|
|
213
|
+
static get properties() {
|
|
214
|
+
return {
|
|
215
|
+
"looks": {
|
|
216
|
+
"type": "string",
|
|
217
|
+
"mutable": false,
|
|
218
|
+
"complexType": {
|
|
219
|
+
"original": "Looks",
|
|
220
|
+
"resolved": "\"border\" | \"grid\" | \"line\" | \"plain\" | \"transparent\"",
|
|
221
|
+
"references": {
|
|
222
|
+
"Looks": {
|
|
223
|
+
"location": "import",
|
|
224
|
+
"path": "../../input/Looks"
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
},
|
|
228
|
+
"required": false,
|
|
229
|
+
"optional": false,
|
|
230
|
+
"docs": {
|
|
231
|
+
"tags": [],
|
|
232
|
+
"text": ""
|
|
233
|
+
},
|
|
234
|
+
"attribute": "looks",
|
|
235
|
+
"reflect": false
|
|
236
|
+
},
|
|
237
|
+
"open": {
|
|
238
|
+
"type": "boolean",
|
|
239
|
+
"mutable": false,
|
|
240
|
+
"complexType": {
|
|
241
|
+
"original": "boolean",
|
|
242
|
+
"resolved": "boolean",
|
|
243
|
+
"references": {}
|
|
244
|
+
},
|
|
245
|
+
"required": false,
|
|
246
|
+
"optional": false,
|
|
247
|
+
"docs": {
|
|
248
|
+
"tags": [],
|
|
249
|
+
"text": ""
|
|
250
|
+
},
|
|
251
|
+
"attribute": "open",
|
|
252
|
+
"reflect": true,
|
|
253
|
+
"defaultValue": "false"
|
|
254
|
+
},
|
|
255
|
+
"multiple": {
|
|
256
|
+
"type": "boolean",
|
|
257
|
+
"mutable": false,
|
|
258
|
+
"complexType": {
|
|
259
|
+
"original": "boolean",
|
|
260
|
+
"resolved": "boolean",
|
|
261
|
+
"references": {}
|
|
262
|
+
},
|
|
263
|
+
"required": false,
|
|
264
|
+
"optional": false,
|
|
265
|
+
"docs": {
|
|
266
|
+
"tags": [],
|
|
267
|
+
"text": ""
|
|
268
|
+
},
|
|
269
|
+
"attribute": "multiple",
|
|
270
|
+
"reflect": true,
|
|
271
|
+
"defaultValue": "false"
|
|
272
|
+
},
|
|
273
|
+
"mutable": {
|
|
274
|
+
"type": "boolean",
|
|
275
|
+
"mutable": false,
|
|
276
|
+
"complexType": {
|
|
277
|
+
"original": "boolean",
|
|
278
|
+
"resolved": "boolean",
|
|
279
|
+
"references": {}
|
|
280
|
+
},
|
|
281
|
+
"required": false,
|
|
282
|
+
"optional": false,
|
|
283
|
+
"docs": {
|
|
284
|
+
"tags": [],
|
|
285
|
+
"text": ""
|
|
286
|
+
},
|
|
287
|
+
"attribute": "mutable",
|
|
288
|
+
"reflect": true,
|
|
289
|
+
"defaultValue": "false"
|
|
290
|
+
},
|
|
291
|
+
"readonly": {
|
|
292
|
+
"type": "boolean",
|
|
293
|
+
"mutable": false,
|
|
294
|
+
"complexType": {
|
|
295
|
+
"original": "boolean",
|
|
296
|
+
"resolved": "boolean",
|
|
297
|
+
"references": {}
|
|
298
|
+
},
|
|
299
|
+
"required": false,
|
|
300
|
+
"optional": false,
|
|
301
|
+
"docs": {
|
|
302
|
+
"tags": [],
|
|
303
|
+
"text": ""
|
|
304
|
+
},
|
|
305
|
+
"attribute": "readonly",
|
|
306
|
+
"reflect": true,
|
|
307
|
+
"defaultValue": "false"
|
|
308
|
+
},
|
|
309
|
+
"validator": {
|
|
310
|
+
"type": "unknown",
|
|
311
|
+
"mutable": false,
|
|
312
|
+
"complexType": {
|
|
313
|
+
"original": "(value: string) => boolean | { result: boolean; notice: Notice }",
|
|
314
|
+
"resolved": "((value: string) => boolean | { result: boolean; notice: Notice; }) | undefined",
|
|
315
|
+
"references": {
|
|
316
|
+
"Notice": {
|
|
317
|
+
"location": "import",
|
|
318
|
+
"path": "../../../model"
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
"required": false,
|
|
323
|
+
"optional": true,
|
|
324
|
+
"docs": {
|
|
325
|
+
"tags": [],
|
|
326
|
+
"text": ""
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
};
|
|
330
|
+
}
|
|
331
|
+
static get states() {
|
|
332
|
+
return {
|
|
333
|
+
"backend": {},
|
|
334
|
+
"options": {},
|
|
335
|
+
"created": {},
|
|
336
|
+
"search": {},
|
|
337
|
+
"valid": {},
|
|
338
|
+
"display": {},
|
|
339
|
+
"flip": {},
|
|
340
|
+
"flipChecked": {}
|
|
341
|
+
};
|
|
342
|
+
}
|
|
343
|
+
static get events() {
|
|
344
|
+
return [{
|
|
345
|
+
"method": "notice",
|
|
346
|
+
"name": "notice",
|
|
347
|
+
"bubbles": true,
|
|
348
|
+
"cancelable": true,
|
|
349
|
+
"composed": true,
|
|
350
|
+
"docs": {
|
|
351
|
+
"tags": [],
|
|
352
|
+
"text": ""
|
|
353
|
+
},
|
|
354
|
+
"complexType": {
|
|
355
|
+
"original": "Notice",
|
|
356
|
+
"resolved": "Notice",
|
|
357
|
+
"references": {
|
|
358
|
+
"Notice": {
|
|
359
|
+
"location": "import",
|
|
360
|
+
"path": "../../../model"
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
}, {
|
|
365
|
+
"method": "smoothlyPickerMenuLoaded",
|
|
366
|
+
"name": "smoothlyPickerMenuLoaded",
|
|
367
|
+
"bubbles": true,
|
|
368
|
+
"cancelable": true,
|
|
369
|
+
"composed": true,
|
|
370
|
+
"docs": {
|
|
371
|
+
"tags": [],
|
|
372
|
+
"text": ""
|
|
373
|
+
},
|
|
374
|
+
"complexType": {
|
|
375
|
+
"original": "Controls & { synced: () => boolean }",
|
|
376
|
+
"resolved": "Controls & { synced: () => boolean; }",
|
|
377
|
+
"references": {
|
|
378
|
+
"Controls": {
|
|
379
|
+
"location": "local"
|
|
380
|
+
}
|
|
381
|
+
}
|
|
382
|
+
}
|
|
383
|
+
}];
|
|
384
|
+
}
|
|
385
|
+
static get elementRef() { return "element"; }
|
|
386
|
+
static get watchers() {
|
|
387
|
+
return [{
|
|
388
|
+
"propName": "open",
|
|
389
|
+
"methodName": "openChange"
|
|
390
|
+
}, {
|
|
391
|
+
"propName": "readonly",
|
|
392
|
+
"methodName": "readonlyChanged"
|
|
393
|
+
}];
|
|
394
|
+
}
|
|
395
|
+
static get listeners() {
|
|
396
|
+
return [{
|
|
397
|
+
"name": "scroll",
|
|
398
|
+
"method": "scrollHandler",
|
|
399
|
+
"target": "window",
|
|
400
|
+
"capture": false,
|
|
401
|
+
"passive": true
|
|
402
|
+
}, {
|
|
403
|
+
"name": "smoothlyPickerOptionLoad",
|
|
404
|
+
"method": "optionLoadHandler",
|
|
405
|
+
"target": undefined,
|
|
406
|
+
"capture": false,
|
|
407
|
+
"passive": false
|
|
408
|
+
}, {
|
|
409
|
+
"name": "smoothlyPickerOptionLoaded",
|
|
410
|
+
"method": "optionLoadedHandler",
|
|
411
|
+
"target": undefined,
|
|
412
|
+
"capture": false,
|
|
413
|
+
"passive": false
|
|
414
|
+
}, {
|
|
415
|
+
"name": "smoothlyPickerOptionChange",
|
|
416
|
+
"method": "optionChangeHandler",
|
|
417
|
+
"target": undefined,
|
|
418
|
+
"capture": false,
|
|
419
|
+
"passive": false
|
|
420
|
+
}, {
|
|
421
|
+
"name": "smoothlySlotEmpty",
|
|
422
|
+
"method": "emptyDisplayHandler",
|
|
423
|
+
"target": undefined,
|
|
424
|
+
"capture": false,
|
|
425
|
+
"passive": false
|
|
426
|
+
}];
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/picker/menu/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Event, EventEmitter, h, Host, Listen, Prop, State, Watch } from \"@stencil/core\"\nimport global from \"../../../global/index\"\nimport { Notice, Option } from \"../../../model\"\nimport { Looks } from \"../../input/Looks\"\nimport { Slot } from \"../slot-elements\"\n\nconst Observers = global().Observers\n\nfunction* chain<T>(...iterables: Iterable<T>[]): Iterable<T> {\n\tfor (const iterable of iterables)\n\t\tyield* iterable\n}\n\nfunction restore<T extends Option>(target: T | undefined, source: Option): T | undefined {\n\ttarget?.set.selected((target.selected = source.selected))\n\ttarget?.set.readonly((target.readonly = source.readonly))\n\ttarget?.set.visible((target.visible = source.visible))\n\ttarget?.set.value((target.value = source.value))\n\ttarget?.set.search((target.search = source.search))\n\treturn target\n}\nfunction restoreListener(ref: HTMLElement | undefined, option: Option) {\n\tref?.addEventListener(\"smoothlyPickerOptionLoad\", (e: CustomEvent<Option>) => restore(e.detail, option))\n}\nexport interface Controls {\n\tremember: () => void\n\trestore: () => void\n\tclear: () => void\n}\n@Component({\n\ttag: \"smoothly-picker-menu\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyPickerMenu {\n\t@Element() element: HTMLSmoothlyPickerMenuElement\n\t@Prop() looks: Looks\n\t@Prop({ reflect: true }) open = false\n\t@Prop({ reflect: true }) multiple = false\n\t@Prop({ reflect: true }) mutable = false\n\t@Prop({ reflect: true }) readonly = false\n\t@Prop() validator?: (value: string) => boolean | { result: boolean; notice: Notice }\n\t@State() backend = new Map<any, Option & { clone: Node }>() // value -> Option\n\t@State() options = new Map<any, Option>() // value -> Option\n\t@State() created = new Map<any, Option.Created>()\n\t@State() search = \"\"\n\t@State() valid = false\n\t@State() display: Node[]\n\t@State() flip = false\n\t@State() flipChecked = false\n\t@Event() notice: EventEmitter<Notice>\n\t@Event() smoothlyPickerMenuLoaded: EventEmitter<Controls & { synced: () => boolean }>\n\tprivate memory?: { backend: SmoothlyPickerMenu[\"backend\"]; options: SmoothlyPickerMenu[\"options\"] }\n\tprivate listElement?: HTMLElement\n\tprivate searchElement?: HTMLElement\n\tprivate synced = false\n\n\tcomponentWillLoad() {\n\t\tif (!Observers.has(this.element)) {\n\t\t\tconst threshold = 0.4\n\t\t\tObservers.set(\n\t\t\t\tthis.element,\n\t\t\t\tnew IntersectionObserver(\n\t\t\t\t\tentries =>\n\t\t\t\t\t\t(entries.find(entry => entry.target == this.element)?.intersectionRatio ?? 0) < threshold &&\n\t\t\t\t\t\t!this.flipChecked &&\n\t\t\t\t\t\t((this.flip = !this.flip), (this.flipChecked = true)),\n\t\t\t\t\t{ threshold }\n\t\t\t\t)\n\t\t\t)\n\t\t}\n\t}\n\tsync() {\n\t\tif (this.backend.size != this.options.size)\n\t\t\tthis.synced = false\n\t\telse\n\t\t\tthis.synced = true\n\t}\n\tcomponentDidLoad() {\n\t\tthis.smoothlyPickerMenuLoaded.emit({\n\t\t\tremember: () => {\n\t\t\t\tthis.memory = {\n\t\t\t\t\tbackend: new Map(Array.from(this.backend.entries(), ([value, option]) => [value, { ...option }])),\n\t\t\t\t\toptions: new Map(Array.from(this.options.entries(), ([value, option]) => [value, { ...option }])),\n\t\t\t\t}\n\t\t\t},\n\t\t\trestore: () => {\n\t\t\t\tif (this.memory) {\n\t\t\t\t\tfor (const option of this.options.values()) {\n\t\t\t\t\t\tconst memory = this.memory.options.get(option.value)\n\t\t\t\t\t\tif (memory != undefined)\n\t\t\t\t\t\t\trestore(option, memory)\n\t\t\t\t\t\telse if (this.created.get(option.value))\n\t\t\t\t\t\t\toption.set.selected((option.selected = false))\n\t\t\t\t\t}\n\t\t\t\t\tfor (const option of this.backend.values()) {\n\t\t\t\t\t\tconst memory = this.memory.backend.get(option.value)\n\t\t\t\t\t\tif (memory != undefined)\n\t\t\t\t\t\t\trestore(option, memory)\n\t\t\t\t\t\telse if (this.created.get(option.value))\n\t\t\t\t\t\t\toption.set.selected((option.selected = false))\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t},\n\t\t\tclear: () => {\n\t\t\t\tconst backend = Array.from(this.backend.entries())\n\t\t\t\tbackend.filter(([key]) => this.created.has(key)).forEach(([, option]) => option.set.selected(false))\n\t\t\t\tthis.backend = new Map(backend.filter(([key]) => !this.created.has(key)))\n\t\t\t\tthis.options = new Map(Array.from(this.options.entries()).filter(([key]) => !this.created.has(key)))\n\t\t\t\tthis.created = new Map()\n\t\t\t},\n\t\t\tsynced: () => this.synced,\n\t\t})\n\t}\n\tdisconnectedCallback() {\n\t\tif (!this.element.parentElement) {\n\t\t\tObservers.get(this.element)?.disconnect()\n\t\t\tObservers.remove(this.element)\n\t\t}\n\t}\n\t@Watch(\"open\")\n\topenChange() {\n\t\tconst observer = Observers.get(this.element)\n\t\tif (this.open)\n\t\t\tobserver?.observe(this.element)\n\t\telse\n\t\t\tobserver?.unobserve(this.element)\n\t}\n\n\t@Watch(\"readonly\")\n\treadonlyChanged() {\n\t\tfor (const option of chain(this.options.values(), this.backend.values()))\n\t\t\toption.element, option.set.readonly(this.readonly)\n\t}\n\t@Listen(\"scroll\", { target: \"window\" })\n\tscrollHandler() {\n\t\tthis.flipChecked = false\n\t}\n\t@Listen(\"smoothlyPickerOptionLoad\")\n\toptionLoadHandler(event: CustomEvent<Option.Load>) {\n\t\tif (!this.listElement || !event.composedPath().includes(this.listElement)) {\n\t\t\tevent.stopPropagation()\n\t\t\tthis.sync()\n\t\t\tevent.detail.set.readonly(this.readonly)\n\n\t\t\tconst current = this.options.get(event.detail.value)\n\t\t\tif (current)\n\t\t\t\tevent.detail.set.selected(current.element.selected)\n\t\t}\n\t}\n\t@Listen(\"smoothlyPickerOptionLoaded\")\n\toptionLoadedHandler(event: CustomEvent<Option>) {\n\t\tif (!this.listElement || !event.composedPath().includes(this.listElement)) {\n\t\t\tevent.stopPropagation()\n\t\t\tconst current = restore(this.backend.get(event.detail.value), event.detail)\n\t\t\tthis.backend = new Map(\n\t\t\t\tthis.backend\n\t\t\t\t\t.set(event.detail.value, {\n\t\t\t\t\t\t...event.detail,\n\t\t\t\t\t\tclone: current?.clone ?? event.detail.element.cloneNode(true),\n\t\t\t\t\t})\n\t\t\t\t\t.entries()\n\t\t\t)\n\t\t} else\n\t\t\tthis.options.set(event.detail.value, event.detail)\n\t\tthis.sync()\n\t}\n\t@Listen(\"smoothlyPickerOptionChange\")\n\toptionChangeHandler(event: CustomEvent<Option>) {\n\t\tif (!this.listElement || !event.composedPath().includes(this.listElement)) {\n\t\t\tevent.stopPropagation()\n\t\t\tthis.options.get(event.detail.value)?.set.selected(event.detail.selected)\n\t\t} else {\n\t\t\tconst current = this.backend.get(event.detail.value)\n\t\t\tif (current?.element.parentElement)\n\t\t\t\tcurrent?.set.selected(event.detail.selected)\n\t\t}\n\n\t\tif (!this.readonly && !this.multiple && event.detail.selected)\n\t\t\tfor (const option of chain(this.options.values(), this.backend.values()))\n\t\t\t\tif (option.value != event.detail.value)\n\t\t\t\t\toption.set.selected(false)\n\t}\n\tinputHandler(event: CustomEvent<Record<string, any>>) {\n\t\tevent.stopPropagation()\n\t\tthis.search = event.detail.search\n\t\tif (!this.search) {\n\t\t\tthis.valid = false\n\t\t\tfor (const option of chain(this.options.values(), this.backend.values()))\n\t\t\t\toption.set.visible(true)\n\t\t} else {\n\t\t\tthis.valid = !Array.from(this.options.values()).find(option => option.value == this.search)\n\t\t\tconst search = this.search.toLocaleLowerCase()\n\t\t\tfor (const option of chain(this.options.values(), this.backend.values())) {\n\t\t\t\tconst value = option.value.toString().toLocaleLowerCase().includes(search)\n\t\t\t\tconst searches = option.search.some(value => value.includes(search))\n\t\t\t\tconst result = value || searches\n\t\t\t\toption.set.visible(result)\n\t\t\t}\n\t\t}\n\t}\n\taddHandler() {\n\t\tconst validation = !this.validator ? true : this.validator(this.search)\n\t\tif (this.mutable) {\n\t\t\tif (typeof validation == \"object\" ? validation.result : validation) {\n\t\t\t\tif (!this.multiple)\n\t\t\t\t\tfor (const option of chain(this.options.values(), this.backend.values()))\n\t\t\t\t\t\toption.set.selected(false)\n\t\t\t\tthis.created = new Map(this.created.set(this.search, { value: this.search, selected: true }).entries())\n\t\t\t\tthis.search = \"\"\n\t\t\t\tthis.searchElement?.focus()\n\t\t\t\tthis.valid = false\n\t\t\t}\n\t\t\tif (typeof validation == \"object\")\n\t\t\t\tthis.notice.emit(validation.notice)\n\t\t}\n\t}\n\tkeyDownHandler(event: KeyboardEvent) {\n\t\tif (event.key == \"Enter\") {\n\t\t\tevent.preventDefault()\n\t\t\tthis.addHandler()\n\t\t}\n\t}\n\t@Listen(\"smoothlySlotEmpty\")\n\temptyDisplayHandler(event: CustomEvent<Slot>) {\n\t\tevent.stopPropagation()\n\t\tevent.detail.set.nodes(this.display)\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host class={{ valid: this.valid, flip: this.flip }}>\n\t\t\t\t<smoothly-slotted-elements class={\"hide\"} onSmoothlySlottedChange={e => (this.display = e.detail)}>\n\t\t\t\t\t<slot name=\"display\" />\n\t\t\t\t</smoothly-slotted-elements>\n\t\t\t\t<div class={\"hide\"}>\n\t\t\t\t\t<slot />\n\t\t\t\t\t{Array.from(this.created.values(), option => (\n\t\t\t\t\t\t<smoothly-picker-option key={option.value} value={option.value} selected={option.selected}>\n\t\t\t\t\t\t\t{option.value}\n\t\t\t\t\t\t\t<smoothly-slot-elements slot=\"display\" nodes={this.display} />\n\t\t\t\t\t\t</smoothly-picker-option>\n\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t\t<div class={\"controls\"}>\n\t\t\t\t\t<smoothly-input\n\t\t\t\t\t\tref={e => (this.searchElement = e)}\n\t\t\t\t\t\tname=\"search\"\n\t\t\t\t\t\tvalue={this.search}\n\t\t\t\t\t\tlooks={this.looks}\n\t\t\t\t\t\tonKeyDown={e => this.keyDownHandler(e)}\n\t\t\t\t\t\tonSmoothlyInput={e => this.inputHandler(e)}\n\t\t\t\t\t\tonSmoothlyChange={e => e.stopPropagation()}\n\t\t\t\t\t\tonSmoothlyBlur={e => e.stopPropagation()}>\n\t\t\t\t\t\t<slot name=\"search\" />\n\t\t\t\t\t</smoothly-input>\n\t\t\t\t\t{this.mutable && !this.readonly ? (\n\t\t\t\t\t\t<button onClick={() => this.addHandler()} disabled={!this.valid} type={\"button\"}>\n\t\t\t\t\t\t\t<smoothly-icon name=\"add-outline\" />\n\t\t\t\t\t\t</button>\n\t\t\t\t\t) : null}\n\t\t\t\t</div>\n\t\t\t\t<div class={\"list\"} ref={e => (this.listElement = e)}>\n\t\t\t\t\t{Array.from(this.backend.values())\n\t\t\t\t\t\t.sort((a, b) => a.position - b.position)\n\t\t\t\t\t\t.map(option => (\n\t\t\t\t\t\t\t<smoothly-slot-elements ref={e => restoreListener(e, option)} clone={false} nodes={option.clone} />\n\t\t\t\t\t\t))}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
:host {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
gap: 0.5rem;
|
|
5
|
+
position: absolute;
|
|
6
|
+
z-index: 4;
|
|
7
|
+
left: -1px;
|
|
8
|
+
right: -1px;
|
|
9
|
+
min-width: max-content;
|
|
10
|
+
background-color: rgb(var(--background-color, var(--smoothly-color-shade)));
|
|
11
|
+
padding: 0.5rem;
|
|
12
|
+
border: rgb(var(--text-color, var(--smoothly-color-contrast))) solid 1px;
|
|
13
|
+
}
|
|
14
|
+
:host:not(.flip) {
|
|
15
|
+
top: 100%;
|
|
16
|
+
}
|
|
17
|
+
:host.flip {
|
|
18
|
+
bottom: 100%;
|
|
19
|
+
}
|
|
20
|
+
:host:not([open]) {
|
|
21
|
+
display: none;
|
|
22
|
+
}
|
|
23
|
+
:host .list {
|
|
24
|
+
display: grid;
|
|
25
|
+
grid-template-columns: auto 1fr auto;
|
|
26
|
+
align-items: center;
|
|
27
|
+
row-gap: 0.5ch;
|
|
28
|
+
overflow-y: auto;
|
|
29
|
+
max-height: calc(1.75rem * 10 + 0.5ch * 9);
|
|
30
|
+
padding-right: 0.5rem;
|
|
31
|
+
padding-bottom: 0.25rem;
|
|
32
|
+
}
|
|
33
|
+
:host .hide {
|
|
34
|
+
display: none;
|
|
35
|
+
}
|
|
36
|
+
:host .controls {
|
|
37
|
+
display: grid;
|
|
38
|
+
grid-template-columns: 1fr auto;
|
|
39
|
+
gap: 0.5rem;
|
|
40
|
+
transition: grid-template-columns 200ms linear;
|
|
41
|
+
}
|
|
42
|
+
:host .controls > button:disabled {
|
|
43
|
+
opacity: 0.3;
|
|
44
|
+
}
|