smoothly 1.0.0-alpha.99 → 1.0.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/dist/cjs/Data-50d47740.js +589 -0
- package/dist/cjs/Data-50d47740.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-7e53766b.js → getLanguage-49a534df.js} +1 -5993
- package/dist/cjs/getLanguage-49a534df.js.map +1 -0
- package/dist/cjs/{index-6ae370b4.js → index-43af753b.js} +1 -4
- package/dist/cjs/index-43af753b.js.map +1 -0
- package/dist/cjs/index.cjs.js +3 -14
- 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/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 +11148 -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 +1 -1
- package/dist/cjs/smoothly-google-font.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-reorder.cjs.entry.js +4 -4
- package/dist/cjs/smoothly-reorder.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly-trigger-sink.cjs.entry.js +2 -2
- package/dist/cjs/smoothly-trigger-source.cjs.entry.js +2 -2
- package/dist/cjs/smoothly.cjs.js +4 -3
- package/dist/cjs/smoothly.cjs.js.map +1 -1
- package/dist/collection/collection-manifest.json +24 -7
- package/dist/collection/components/Button.js +16 -2
- package/dist/collection/components/Button.js.map +1 -1
- package/dist/collection/components/app/index.js +53 -1
- package/dist/collection/components/app/index.js.map +1 -1
- package/dist/collection/components/app/room/index.js +45 -2
- package/dist/collection/components/app/room/index.js.map +1 -1
- package/dist/collection/components/app/room/style.css +23 -9
- package/dist/collection/components/app/style.css +57 -32
- package/dist/collection/components/app-demo/index.js +1 -2
- package/dist/collection/components/app-demo/index.js.map +1 -1
- package/dist/collection/components/burger/index.js +9 -9
- package/dist/collection/components/burger/index.js.map +1 -1
- package/dist/collection/components/button/index.js +9 -22
- package/dist/collection/components/button/index.js.map +1 -1
- package/dist/collection/components/button/style.css +23 -20
- package/dist/collection/components/button-demo/index.js +3 -1
- 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 +60 -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/display/index.js +4 -1
- package/dist/collection/components/display/index.js.map +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 +84 -301
- package/dist/collection/components/filter/input/index.js.map +1 -1
- package/dist/collection/components/filter/picker/index.js +229 -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 +234 -66
- package/dist/collection/components/form/index.js.map +1 -1
- package/dist/collection/components/form/style.css +3 -1
- package/dist/collection/components/icon/index.js +60 -32
- package/dist/collection/components/icon/index.js.map +1 -1
- package/dist/collection/components/icon/style.css +15 -0
- package/dist/collection/components/icon-demo/index.js +3 -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/Editable.js +19 -0
- package/dist/collection/components/input/Editable.js.map +1 -0
- package/dist/collection/components/input/Input.js +22 -1
- package/dist/collection/components/input/Input.js.map +1 -1
- package/dist/collection/components/input/Looks.js +7 -1
- package/dist/collection/components/input/Looks.js.map +1 -1
- package/dist/collection/components/input/Submittable.js.map +1 -1
- package/dist/collection/components/input/checkbox/index.js +382 -0
- package/dist/collection/components/input/checkbox/index.js.map +1 -0
- package/dist/collection/components/input/checkbox/style.css +75 -0
- package/dist/collection/components/input/clear/index.js +12 -7
- package/dist/collection/components/input/clear/index.js.map +1 -1
- package/dist/collection/components/input/clear/style.css +23 -20
- 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/index.js +8 -8
- package/dist/collection/components/input/date/index.js.map +1 -1
- package/dist/collection/components/input/date/range/index.js +13 -17
- package/dist/collection/components/input/date/range/index.js.map +1 -1
- package/dist/collection/components/input/date/range/style.css +25 -0
- package/dist/collection/components/input/date/style.css +25 -0
- package/dist/collection/components/input/demo/index.js +28 -72
- package/dist/collection/components/input/demo/index.js.map +1 -1
- package/dist/collection/components/input/demo/style.css +15 -0
- package/dist/collection/components/input/edit/index.js +249 -0
- package/dist/collection/components/input/edit/index.js.map +1 -0
- package/dist/collection/components/input/edit/style.css +238 -0
- package/dist/collection/components/input/file/index.js +3 -3
- package/dist/collection/components/input/file/index.js.map +1 -1
- package/dist/collection/components/input/file/style.css +22 -0
- package/dist/collection/components/input/index.js +245 -110
- package/dist/collection/components/input/index.js.map +1 -1
- package/dist/collection/components/input/month/index.js +5 -5
- package/dist/collection/components/input/month/index.js.map +1 -1
- 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 +426 -0
- package/dist/collection/components/input/radio/index.js.map +1 -0
- package/dist/collection/components/{radio-button → input/radio/item}/index.js +60 -72
- 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 +440 -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 +260 -0
- package/dist/collection/components/input/reset/index.js.map +1 -0
- package/dist/collection/components/input/reset/style.css +255 -0
- package/dist/collection/components/input/select/index.js +443 -95
- package/dist/collection/components/input/select/index.js.map +1 -1
- package/dist/collection/components/input/select/style.css +111 -23
- package/dist/collection/components/input/style.css +24 -2
- package/dist/collection/components/input/submit/index.js +269 -0
- package/dist/collection/components/input/submit/index.js.map +1 -0
- package/dist/collection/components/input/submit/style.css +11 -0
- package/dist/collection/components/item/Item.js +11 -0
- package/dist/collection/components/item/Item.js.map +1 -0
- package/dist/collection/components/item/index.js +69 -29
- package/dist/collection/components/item/index.js.map +1 -1
- package/dist/collection/components/item/style.css +1 -3
- 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.map +1 -1
- package/dist/collection/components/picker/demo/index.js +17 -15
- package/dist/collection/components/picker/demo/index.js.map +1 -1
- package/dist/collection/components/picker/demo/style.css +24 -1
- package/dist/collection/components/picker/index.js +172 -7
- package/dist/collection/components/picker/index.js.map +1 -1
- package/dist/collection/components/picker/menu/index.js +74 -3
- package/dist/collection/components/picker/menu/index.js.map +1 -1
- package/dist/collection/components/picker/menu/style.css +16 -6
- package/dist/collection/components/picker/option/index.js +51 -3
- package/dist/collection/components/picker/option/index.js.map +1 -1
- package/dist/collection/components/picker/option/style.css +9 -4
- package/dist/collection/components/picker/style.css +28 -3
- 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/submit/index.js +0 -15
- package/dist/collection/components/submit/index.js.map +1 -1
- package/dist/collection/components/submit/style.css +23 -20
- package/dist/collection/components/summary/index.js +2 -3
- package/dist/collection/components/summary/index.js.map +1 -1
- package/dist/collection/components/summary/style.css +25 -16
- package/dist/collection/components/table/cell/style.css +3 -3
- package/dist/collection/components/table/demo/filtered/Root.js.map +1 -1
- package/dist/collection/components/table/demo/filtered/index.js +30 -15
- 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 -14
- package/dist/collection/components/table/demo/index.js.map +1 -1
- package/dist/collection/components/table/demo/style.css +5 -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 +1 -20
- package/dist/collection/components/table/expandable/cell/index.js.map +1 -1
- package/dist/collection/components/table/expandable/cell/style.css +13 -13
- package/dist/collection/components/table/expandable/row/index.js +1 -20
- package/dist/collection/components/table/expandable/row/index.js.map +1 -1
- package/dist/collection/components/table/expandable/row/style.css +11 -11
- 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 +24 -1
- package/dist/collection/components/table/index.js.map +1 -1
- 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/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/model/Color.js +18 -1
- package/dist/collection/model/Color.js.map +1 -1
- package/dist/collection/model/Data.js +8 -1
- package/dist/collection/model/Data.js.map +1 -1
- package/dist/collection/model/Icon.js +23 -0
- package/dist/collection/model/Icon.js.map +1 -0
- package/dist/collection/model/Listenable.js +16 -3
- package/dist/collection/model/Listenable.js.map +1 -1
- package/dist/collection/model/Option.js.map +1 -1
- package/dist/collection/model/index.js +2 -1
- package/dist/collection/model/index.js.map +1 -1
- package/dist/collection/smoothly.js +1 -1
- package/dist/collection/smoothly.js.map +1 -1
- package/dist/custom-elements/index.d.ts +120 -24
- package/dist/custom-elements/index.js +15445 -33845
- package/dist/custom-elements/index.js.map +1 -1
- package/dist/esm/Data-c8093b5a.js +579 -0
- package/dist/esm/Data-c8093b5a.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-9c833eef.js → getLanguage-1e9ec036.js} +2 -5994
- package/dist/esm/getLanguage-1e9ec036.js.map +1 -0
- package/dist/esm/{index-c196715a.js → index-258984d3.js} +2 -4
- package/dist/esm/index-258984d3.js.map +1 -0
- package/dist/esm/index.js +3 -14
- 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/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 +11065 -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 +1 -1
- package/dist/esm/smoothly-google-font.entry.js +1 -1
- package/dist/esm/smoothly-reorder.entry.js +2 -2
- package/dist/esm/smoothly-reorder.entry.js.map +1 -1
- package/dist/esm/smoothly-trigger-sink.entry.js +2 -2
- package/dist/esm/smoothly-trigger-source.entry.js +2 -2
- 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-663ccbd0.entry.js → p-12182a73.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-2e986022.js +2 -0
- package/dist/smoothly/p-2e986022.js.map +1 -0
- package/dist/smoothly/p-303520d1.entry.js +2 -0
- package/dist/smoothly/p-303520d1.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-9992c8c4.entry.js → p-47151a53.entry.js} +2 -2
- package/dist/smoothly/{p-d0b8061e.js → p-5e387578.js} +3 -3
- package/dist/smoothly/p-5e387578.js.map +1 -0
- package/dist/smoothly/{p-b82ef190.entry.js → p-635c813e.entry.js} +2 -2
- package/dist/smoothly/{p-dbd1afa9.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-c4ffc15d.entry.js → p-7a69b43f.entry.js} +2 -2
- package/dist/smoothly/{p-4d743f07.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-b3eac6af.entry.js +2 -0
- package/dist/smoothly/{p-4ff439dd.entry.js.map → p-b3eac6af.entry.js.map} +1 -1
- package/dist/smoothly/{p-f96e41aa.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-ce4e6f44.entry.js → p-eef1c80b.entry.js} +2 -2
- 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/app/index.d.ts +3 -0
- package/dist/types/components/app/room/index.d.ts +4 -2
- package/dist/types/components/app-demo/index.d.ts +1 -0
- package/dist/types/components/burger/index.d.ts +2 -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 +4 -2
- 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 +17 -23
- package/dist/types/components/filter/picker/index.d.ts +25 -0
- package/dist/types/components/filter/toggle/index.d.ts +22 -0
- package/dist/types/components/form/index.d.ts +22 -15
- package/dist/types/components/icon/index.d.ts +4 -6
- package/dist/types/components/input/Editable.d.ts +21 -0
- package/dist/types/components/input/Input.d.ts +19 -7
- package/dist/types/components/input/Looks.d.ts +7 -1
- package/dist/types/components/input/Submittable.d.ts +1 -1
- package/dist/types/components/input/checkbox/index.d.ts +30 -0
- package/dist/types/components/input/color/index.d.ts +24 -0
- package/dist/types/components/input/date/index.d.ts +1 -1
- package/dist/types/components/input/date/range/index.d.ts +2 -2
- package/dist/types/components/input/demo/index.d.ts +3 -6
- package/dist/types/components/input/edit/index.d.ts +18 -0
- package/dist/types/components/input/index.d.ts +30 -21
- package/dist/types/components/input/month/index.d.ts +1 -1
- package/dist/types/components/input/radio/Selected.d.ts +10 -0
- package/dist/types/components/input/radio/index.d.ts +36 -0
- package/dist/types/components/input/radio/item/index.d.ts +15 -0
- package/dist/types/components/input/range/index.d.ts +33 -0
- package/dist/types/components/input/reset/index.d.ts +19 -0
- package/dist/types/components/input/select/index.d.ts +41 -18
- package/dist/types/components/input/submit/index.d.ts +19 -0
- package/dist/types/components/item/Item.d.ts +10 -0
- package/dist/types/components/item/index.d.ts +8 -5
- 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/picker/demo/index.d.ts +7 -2
- package/dist/types/components/picker/index.d.ts +20 -6
- package/dist/types/components/picker/menu/index.d.ts +8 -0
- package/dist/types/components/picker/option/index.d.ts +2 -0
- package/dist/types/components/popup/index.d.ts +1 -1
- package/dist/types/components/submit/index.d.ts +0 -1
- package/dist/types/components/table/demo/filtered/Root.d.ts +2 -0
- package/dist/types/components/table/demo/filtered/index.d.ts +6 -6
- package/dist/types/components/table/demo/index.d.ts +1 -1
- package/dist/types/components/table/expandable/cell/index.d.ts +0 -1
- package/dist/types/components/table/expandable/row/index.d.ts +0 -1
- package/dist/types/components/table/footer/index.d.ts +3 -0
- package/dist/types/components/table/index.d.ts +2 -0
- 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.d.ts +658 -182
- package/dist/types/global/Observers.d.ts +8 -0
- package/dist/types/global/index.d.ts +4 -0
- package/dist/types/model/Color.d.ts +7 -1
- package/dist/types/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/Option.d.ts +2 -0
- package/dist/types/model/index.d.ts +1 -1
- package/dist/types/smoothly.d.ts +1 -1
- package/package.json +7 -11
- package/dist/cjs/Data-afbe461d.js +0 -807
- package/dist/cjs/Data-afbe461d.js.map +0 -1
- package/dist/cjs/getLanguage-7e53766b.js.map +0 -1
- package/dist/cjs/index-6ae370b4.js.map +0 -1
- package/dist/cjs/smoothly-accordion_66.cjs.entry.js +0 -29732
- package/dist/cjs/smoothly-accordion_66.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 +0 -8
- package/dist/collection/components/filter/Clearable.js.map +0 -1
- package/dist/collection/components/icon/Icon.js +0 -2
- package/dist/collection/components/icon/Icon.js.map +0 -1
- package/dist/collection/components/input/Changeable.js +0 -8
- package/dist/collection/components/input/Changeable.js.map +0 -1
- 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.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/table/testing/data.js.map +0 -1
- package/dist/collection/components/table/testing/index.js +0 -28
- package/dist/collection/components/table/testing/index.js.map +0 -1
- package/dist/collection/components/table/testing/style.css +0 -8
- package/dist/collection/model/ClientIdentifier.js +0 -13
- package/dist/collection/model/ClientIdentifier.js.map +0 -1
- package/dist/esm/Data-77d2bdbe.js +0 -803
- package/dist/esm/Data-77d2bdbe.js.map +0 -1
- package/dist/esm/getLanguage-9c833eef.js.map +0 -1
- package/dist/esm/index-c196715a.js.map +0 -1
- package/dist/esm/smoothly-accordion_66.entry.js +0 -29663
- package/dist/esm/smoothly-accordion_66.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-1b714a63.js +0 -2
- package/dist/smoothly/p-1b714a63.js.map +0 -1
- package/dist/smoothly/p-1efa3261.entry.js +0 -2
- package/dist/smoothly/p-1efa3261.entry.js.map +0 -1
- package/dist/smoothly/p-4ff439dd.entry.js +0 -2
- package/dist/smoothly/p-74a3586c.js +0 -2
- package/dist/smoothly/p-74a3586c.js.map +0 -1
- package/dist/smoothly/p-8a45ae84.entry.js +0 -2
- package/dist/smoothly/p-8a45ae84.entry.js.map +0 -1
- package/dist/smoothly/p-90b340b4.entry.js +0 -2
- package/dist/smoothly/p-90b340b4.entry.js.map +0 -1
- package/dist/smoothly/p-d0b8061e.js.map +0 -1
- package/dist/types/components/filter/Clearable.d.ts +0 -6
- package/dist/types/components/icon/Icon.d.ts +0 -4
- package/dist/types/components/input/Changeable.d.ts +0 -7
- 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 -13
- 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/model/ClientIdentifier.d.ts +0 -5
- /package/dist/collection/components/{radio-button → lazy}/style.css +0 -0
- /package/dist/collection/components/table/{testing → demo/testing}/data.js +0 -0
- /package/dist/smoothly/{p-663ccbd0.entry.js.map → p-12182a73.entry.js.map} +0 -0
- /package/dist/smoothly/{p-9992c8c4.entry.js.map → p-47151a53.entry.js.map} +0 -0
- /package/dist/smoothly/{p-b82ef190.entry.js.map → p-635c813e.entry.js.map} +0 -0
- /package/dist/smoothly/{p-dbd1afa9.entry.js.map → p-6aebb818.entry.js.map} +0 -0
- /package/dist/smoothly/{p-c4ffc15d.entry.js.map → p-7a69b43f.entry.js.map} +0 -0
- /package/dist/smoothly/{p-4d743f07.entry.js.map → p-7bf147bf.entry.js.map} +0 -0
- /package/dist/smoothly/{p-f96e41aa.entry.js.map → p-cb493516.entry.js.map} +0 -0
- /package/dist/smoothly/{p-ce4e6f44.entry.js.map → p-eef1c80b.entry.js.map} +0 -0
- /package/dist/types/components/table/{testing → demo/testing}/data.d.ts +0 -0
- /package/dist/types/components/table/{testing → demo/testing}/index.d.ts +0 -0
|
@@ -1,24 +1,26 @@
|
|
|
1
1
|
import { h, Host } from "@stencil/core";
|
|
2
2
|
import { http } from "cloudly-http";
|
|
3
|
-
import { Data } from "../../model
|
|
4
|
-
import { Notice } from "../../model/Notice";
|
|
3
|
+
import { Data, Notice } from "../../model";
|
|
5
4
|
import { Clearable } from "../input/Clearable";
|
|
5
|
+
import { Editable } from "../input/Editable";
|
|
6
|
+
import { Input } from "../input/Input";
|
|
6
7
|
export class SmoothlyForm {
|
|
7
8
|
constructor() {
|
|
8
|
-
this.
|
|
9
|
+
this.inputs = new Map();
|
|
10
|
+
this.readonlyAtLoad = this.readonly;
|
|
9
11
|
this.listeners = {};
|
|
10
12
|
this.color = undefined;
|
|
11
13
|
this.value = {};
|
|
14
|
+
this.type = "create";
|
|
15
|
+
this.readonly = false;
|
|
12
16
|
this.looks = "plain";
|
|
13
17
|
this.name = undefined;
|
|
14
|
-
this.method = undefined;
|
|
15
18
|
this.action = undefined;
|
|
16
19
|
this.processing = undefined;
|
|
17
20
|
this.prevent = true;
|
|
18
|
-
this.notice = undefined;
|
|
19
21
|
this.changed = false;
|
|
20
22
|
}
|
|
21
|
-
listen(property, listener) {
|
|
23
|
+
async listen(property, listener) {
|
|
22
24
|
var _a;
|
|
23
25
|
var _b;
|
|
24
26
|
;
|
|
@@ -27,7 +29,11 @@ export class SmoothlyForm {
|
|
|
27
29
|
}
|
|
28
30
|
watchValue() {
|
|
29
31
|
var _a;
|
|
30
|
-
this.changed =
|
|
32
|
+
this.changed = [...this.inputs.values()].some(input => (Editable.type.is(input) ? input.changed : true));
|
|
33
|
+
(_a = this.listeners.changed) === null || _a === void 0 ? void 0 : _a.forEach(l => l(this));
|
|
34
|
+
}
|
|
35
|
+
watchReadonly() {
|
|
36
|
+
var _a;
|
|
31
37
|
(_a = this.listeners.changed) === null || _a === void 0 ? void 0 : _a.forEach(l => l(this));
|
|
32
38
|
}
|
|
33
39
|
smoothlyInputLooksHandler(event) {
|
|
@@ -35,40 +41,80 @@ export class SmoothlyForm {
|
|
|
35
41
|
event.detail(this.looks, this.color);
|
|
36
42
|
}
|
|
37
43
|
async smoothlyInputHandler(event) {
|
|
38
|
-
this.
|
|
39
|
-
this.smoothlyFormInput.emit((this.value = Object.entries(event.detail).reduce((r, [name, value]) => Data.set(r, name.split("."), value), this.value)));
|
|
40
|
-
if (Clearable.is(event.target)) {
|
|
41
|
-
const clearable = event.target;
|
|
42
|
-
Object.keys(event.detail).forEach(key => this.clearables.set(key, clearable));
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
async smoothlySubmitHandler(event) {
|
|
46
|
-
this.processing = true;
|
|
47
|
-
this.submit();
|
|
48
|
-
this.processing = false;
|
|
44
|
+
this.smoothlyFormInput.emit((this.value = Data.merge(this.value, event.detail)));
|
|
49
45
|
}
|
|
50
|
-
async
|
|
46
|
+
async smoothlyInputLoadHandler(event) {
|
|
47
|
+
event.stopPropagation();
|
|
51
48
|
event.detail(this);
|
|
49
|
+
if (Input.Element.is(event.target)) {
|
|
50
|
+
this.value = Data.merge(this.value, { [event.target.name]: event.target.value });
|
|
51
|
+
this.inputs.set(event.target.name, event.target);
|
|
52
|
+
}
|
|
52
53
|
}
|
|
53
|
-
async
|
|
54
|
-
|
|
54
|
+
async smoothlyFormDisableHandler(event) {
|
|
55
|
+
event.stopPropagation();
|
|
56
|
+
event.detail(this.readonly);
|
|
57
|
+
}
|
|
58
|
+
async submit(remove) {
|
|
59
|
+
var _a;
|
|
60
|
+
this.smoothlyFormSubmit.emit({ value: this.value, type: remove == true ? "remove" : this.type });
|
|
55
61
|
if (this.action) {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
62
|
+
this.processing = true;
|
|
63
|
+
const action = this.action;
|
|
64
|
+
(_a = this.notice) === null || _a === void 0 ? void 0 : _a.emit(Notice.execute("Submitting form", async () => {
|
|
65
|
+
const response = await http
|
|
66
|
+
.fetch(http.Request.create(remove == true
|
|
67
|
+
? { method: "DELETE", url: action, header: { contentType: "application/json" }, body: this.value }
|
|
68
|
+
: this.type == "fetch"
|
|
69
|
+
? {
|
|
70
|
+
method: "GET",
|
|
71
|
+
url: `${action}?${http.Search.stringify(this.value)}`,
|
|
72
|
+
}
|
|
73
|
+
: {
|
|
74
|
+
method: this.type == "change" ? "PUT" : this.type == "update" ? "PATCH" : "POST",
|
|
75
|
+
url: action,
|
|
76
|
+
header: { contentType: "application/json" },
|
|
77
|
+
body: this.value,
|
|
78
|
+
}))
|
|
79
|
+
.catch(() => undefined);
|
|
80
|
+
let result;
|
|
81
|
+
if (!response || (response === null || response === void 0 ? void 0 : response.status) < 200 || response.status >= 300)
|
|
82
|
+
result = [false, "Failed to submit form."];
|
|
83
|
+
else {
|
|
84
|
+
result = [true, "Form successfully submitted."];
|
|
85
|
+
this.type == "create" && (await this.clear());
|
|
86
|
+
this.setInitialValue();
|
|
87
|
+
this.readonlyAtLoad && this.edit(!this.readonlyAtLoad);
|
|
88
|
+
}
|
|
89
|
+
this.processing = false;
|
|
90
|
+
return result;
|
|
91
|
+
}));
|
|
65
92
|
}
|
|
66
93
|
}
|
|
67
94
|
async clear() {
|
|
68
|
-
|
|
95
|
+
this.inputs.forEach(input => {
|
|
96
|
+
Clearable.is(input) && input.clear();
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
async edit(editable) {
|
|
100
|
+
this.inputs.forEach(input => {
|
|
101
|
+
Editable.Element.type.is(input) && input.edit(editable);
|
|
102
|
+
});
|
|
103
|
+
this.readonly = !editable;
|
|
104
|
+
}
|
|
105
|
+
async reset() {
|
|
106
|
+
this.inputs.forEach(input => {
|
|
107
|
+
Editable.Element.type.is(input) && input.reset();
|
|
108
|
+
});
|
|
109
|
+
this.changed = [...this.inputs.values()].some(input => (Editable.type.is(input) ? input.changed : true));
|
|
110
|
+
}
|
|
111
|
+
async setInitialValue() {
|
|
112
|
+
this.inputs.forEach(input => {
|
|
113
|
+
Editable.Element.type.is(input) && input.setInitialValue();
|
|
114
|
+
});
|
|
69
115
|
}
|
|
70
116
|
render() {
|
|
71
|
-
return (h(Host, null,
|
|
117
|
+
return (h(Host, null, h("smoothly-spinner", { active: this.processing }), h("form", { onSubmit: !this.prevent ? undefined : e => e.preventDefault(), name: this.name }, h("fieldset", null, h("slot", null)), h("div", null, h("slot", { name: "edit" }), h("slot", { name: "reset" }), h("slot", { name: "clear" }), h("slot", { name: "submit" })))));
|
|
72
118
|
}
|
|
73
119
|
static get is() { return "smoothly-form"; }
|
|
74
120
|
static get originalStyleUrls() {
|
|
@@ -117,7 +163,7 @@ export class SmoothlyForm {
|
|
|
117
163
|
},
|
|
118
164
|
"Data": {
|
|
119
165
|
"location": "import",
|
|
120
|
-
"path": "../../model
|
|
166
|
+
"path": "../../model"
|
|
121
167
|
}
|
|
122
168
|
}
|
|
123
169
|
},
|
|
@@ -129,12 +175,12 @@ export class SmoothlyForm {
|
|
|
129
175
|
},
|
|
130
176
|
"defaultValue": "{}"
|
|
131
177
|
},
|
|
132
|
-
"
|
|
178
|
+
"type": {
|
|
133
179
|
"type": "string",
|
|
134
180
|
"mutable": false,
|
|
135
181
|
"complexType": {
|
|
136
|
-
"original": "\"
|
|
137
|
-
"resolved": "\"
|
|
182
|
+
"original": "\"update\" | \"change\" | \"fetch\" | \"create\"",
|
|
183
|
+
"resolved": "\"change\" | \"create\" | \"fetch\" | \"update\"",
|
|
138
184
|
"references": {}
|
|
139
185
|
},
|
|
140
186
|
"required": false,
|
|
@@ -143,33 +189,57 @@ export class SmoothlyForm {
|
|
|
143
189
|
"tags": [],
|
|
144
190
|
"text": ""
|
|
145
191
|
},
|
|
146
|
-
"attribute": "
|
|
147
|
-
"reflect":
|
|
148
|
-
"defaultValue": "\"
|
|
192
|
+
"attribute": "type",
|
|
193
|
+
"reflect": false,
|
|
194
|
+
"defaultValue": "\"create\""
|
|
149
195
|
},
|
|
150
|
-
"
|
|
196
|
+
"readonly": {
|
|
197
|
+
"type": "boolean",
|
|
198
|
+
"mutable": true,
|
|
199
|
+
"complexType": {
|
|
200
|
+
"original": "boolean",
|
|
201
|
+
"resolved": "boolean",
|
|
202
|
+
"references": {}
|
|
203
|
+
},
|
|
204
|
+
"required": false,
|
|
205
|
+
"optional": false,
|
|
206
|
+
"docs": {
|
|
207
|
+
"tags": [],
|
|
208
|
+
"text": ""
|
|
209
|
+
},
|
|
210
|
+
"attribute": "readonly",
|
|
211
|
+
"reflect": false,
|
|
212
|
+
"defaultValue": "false"
|
|
213
|
+
},
|
|
214
|
+
"looks": {
|
|
151
215
|
"type": "string",
|
|
152
216
|
"mutable": false,
|
|
153
217
|
"complexType": {
|
|
154
|
-
"original": "
|
|
155
|
-
"resolved": "
|
|
156
|
-
"references": {
|
|
218
|
+
"original": "Looks",
|
|
219
|
+
"resolved": "\"border\" | \"grid\" | \"line\" | \"plain\" | \"transparent\"",
|
|
220
|
+
"references": {
|
|
221
|
+
"Looks": {
|
|
222
|
+
"location": "import",
|
|
223
|
+
"path": "../input/Looks"
|
|
224
|
+
}
|
|
225
|
+
}
|
|
157
226
|
},
|
|
158
227
|
"required": false,
|
|
159
|
-
"optional":
|
|
228
|
+
"optional": false,
|
|
160
229
|
"docs": {
|
|
161
230
|
"tags": [],
|
|
162
231
|
"text": ""
|
|
163
232
|
},
|
|
164
|
-
"attribute": "
|
|
165
|
-
"reflect":
|
|
233
|
+
"attribute": "looks",
|
|
234
|
+
"reflect": true,
|
|
235
|
+
"defaultValue": "\"plain\""
|
|
166
236
|
},
|
|
167
|
-
"
|
|
237
|
+
"name": {
|
|
168
238
|
"type": "string",
|
|
169
239
|
"mutable": false,
|
|
170
240
|
"complexType": {
|
|
171
|
-
"original": "
|
|
172
|
-
"resolved": "
|
|
241
|
+
"original": "string",
|
|
242
|
+
"resolved": "string | undefined",
|
|
173
243
|
"references": {}
|
|
174
244
|
},
|
|
175
245
|
"required": false,
|
|
@@ -178,7 +248,7 @@ export class SmoothlyForm {
|
|
|
178
248
|
"tags": [],
|
|
179
249
|
"text": ""
|
|
180
250
|
},
|
|
181
|
-
"attribute": "
|
|
251
|
+
"attribute": "name",
|
|
182
252
|
"reflect": false
|
|
183
253
|
},
|
|
184
254
|
"action": {
|
|
@@ -213,7 +283,7 @@ export class SmoothlyForm {
|
|
|
213
283
|
"text": ""
|
|
214
284
|
},
|
|
215
285
|
"attribute": "processing",
|
|
216
|
-
"reflect":
|
|
286
|
+
"reflect": false
|
|
217
287
|
},
|
|
218
288
|
"prevent": {
|
|
219
289
|
"type": "boolean",
|
|
@@ -248,16 +318,11 @@ export class SmoothlyForm {
|
|
|
248
318
|
"text": ""
|
|
249
319
|
},
|
|
250
320
|
"attribute": "changed",
|
|
251
|
-
"reflect":
|
|
321
|
+
"reflect": false,
|
|
252
322
|
"defaultValue": "false"
|
|
253
323
|
}
|
|
254
324
|
};
|
|
255
325
|
}
|
|
256
|
-
static get states() {
|
|
257
|
-
return {
|
|
258
|
-
"notice": {}
|
|
259
|
-
};
|
|
260
|
-
}
|
|
261
326
|
static get events() {
|
|
262
327
|
return [{
|
|
263
328
|
"method": "smoothlyFormInput",
|
|
@@ -275,7 +340,7 @@ export class SmoothlyForm {
|
|
|
275
340
|
"references": {
|
|
276
341
|
"Data": {
|
|
277
342
|
"location": "import",
|
|
278
|
-
"path": "../../model
|
|
343
|
+
"path": "../../model"
|
|
279
344
|
}
|
|
280
345
|
}
|
|
281
346
|
}
|
|
@@ -290,12 +355,32 @@ export class SmoothlyForm {
|
|
|
290
355
|
"text": ""
|
|
291
356
|
},
|
|
292
357
|
"complexType": {
|
|
293
|
-
"original": "Data",
|
|
294
|
-
"resolved": "{
|
|
358
|
+
"original": "{ value: Data; type: \"update\" | \"change\" | \"fetch\" | \"create\" | \"remove\" }",
|
|
359
|
+
"resolved": "{ value: Data; type: \"fetch\" | \"remove\" | \"create\" | \"change\" | \"update\"; }",
|
|
295
360
|
"references": {
|
|
296
361
|
"Data": {
|
|
297
362
|
"location": "import",
|
|
298
|
-
"path": "../../model
|
|
363
|
+
"path": "../../model"
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
}
|
|
367
|
+
}, {
|
|
368
|
+
"method": "notice",
|
|
369
|
+
"name": "notice",
|
|
370
|
+
"bubbles": true,
|
|
371
|
+
"cancelable": true,
|
|
372
|
+
"composed": true,
|
|
373
|
+
"docs": {
|
|
374
|
+
"tags": [],
|
|
375
|
+
"text": ""
|
|
376
|
+
},
|
|
377
|
+
"complexType": {
|
|
378
|
+
"original": "Notice",
|
|
379
|
+
"resolved": "Notice",
|
|
380
|
+
"references": {
|
|
381
|
+
"Notice": {
|
|
382
|
+
"location": "import",
|
|
383
|
+
"path": "../../model"
|
|
299
384
|
}
|
|
300
385
|
}
|
|
301
386
|
}
|
|
@@ -303,7 +388,52 @@ export class SmoothlyForm {
|
|
|
303
388
|
}
|
|
304
389
|
static get methods() {
|
|
305
390
|
return {
|
|
391
|
+
"listen": {
|
|
392
|
+
"complexType": {
|
|
393
|
+
"signature": "(property: \"changed\", listener: (parent: Editable) => Promise<void>) => Promise<void>",
|
|
394
|
+
"parameters": [{
|
|
395
|
+
"tags": [],
|
|
396
|
+
"text": ""
|
|
397
|
+
}, {
|
|
398
|
+
"tags": [],
|
|
399
|
+
"text": ""
|
|
400
|
+
}],
|
|
401
|
+
"references": {
|
|
402
|
+
"Promise": {
|
|
403
|
+
"location": "global"
|
|
404
|
+
},
|
|
405
|
+
"Editable": {
|
|
406
|
+
"location": "import",
|
|
407
|
+
"path": "../input/Editable"
|
|
408
|
+
}
|
|
409
|
+
},
|
|
410
|
+
"return": "Promise<void>"
|
|
411
|
+
},
|
|
412
|
+
"docs": {
|
|
413
|
+
"text": "",
|
|
414
|
+
"tags": []
|
|
415
|
+
}
|
|
416
|
+
},
|
|
306
417
|
"submit": {
|
|
418
|
+
"complexType": {
|
|
419
|
+
"signature": "(remove?: boolean) => Promise<void>",
|
|
420
|
+
"parameters": [{
|
|
421
|
+
"tags": [],
|
|
422
|
+
"text": ""
|
|
423
|
+
}],
|
|
424
|
+
"references": {
|
|
425
|
+
"Promise": {
|
|
426
|
+
"location": "global"
|
|
427
|
+
}
|
|
428
|
+
},
|
|
429
|
+
"return": "Promise<void>"
|
|
430
|
+
},
|
|
431
|
+
"docs": {
|
|
432
|
+
"text": "",
|
|
433
|
+
"tags": []
|
|
434
|
+
}
|
|
435
|
+
},
|
|
436
|
+
"clear": {
|
|
307
437
|
"complexType": {
|
|
308
438
|
"signature": "() => Promise<void>",
|
|
309
439
|
"parameters": [],
|
|
@@ -319,7 +449,42 @@ export class SmoothlyForm {
|
|
|
319
449
|
"tags": []
|
|
320
450
|
}
|
|
321
451
|
},
|
|
322
|
-
"
|
|
452
|
+
"edit": {
|
|
453
|
+
"complexType": {
|
|
454
|
+
"signature": "(editable: boolean) => Promise<void>",
|
|
455
|
+
"parameters": [{
|
|
456
|
+
"tags": [],
|
|
457
|
+
"text": ""
|
|
458
|
+
}],
|
|
459
|
+
"references": {
|
|
460
|
+
"Promise": {
|
|
461
|
+
"location": "global"
|
|
462
|
+
}
|
|
463
|
+
},
|
|
464
|
+
"return": "Promise<void>"
|
|
465
|
+
},
|
|
466
|
+
"docs": {
|
|
467
|
+
"text": "",
|
|
468
|
+
"tags": []
|
|
469
|
+
}
|
|
470
|
+
},
|
|
471
|
+
"reset": {
|
|
472
|
+
"complexType": {
|
|
473
|
+
"signature": "() => Promise<void>",
|
|
474
|
+
"parameters": [],
|
|
475
|
+
"references": {
|
|
476
|
+
"Promise": {
|
|
477
|
+
"location": "global"
|
|
478
|
+
}
|
|
479
|
+
},
|
|
480
|
+
"return": "Promise<void>"
|
|
481
|
+
},
|
|
482
|
+
"docs": {
|
|
483
|
+
"text": "",
|
|
484
|
+
"tags": []
|
|
485
|
+
}
|
|
486
|
+
},
|
|
487
|
+
"setInitialValue": {
|
|
323
488
|
"complexType": {
|
|
324
489
|
"signature": "() => Promise<void>",
|
|
325
490
|
"parameters": [],
|
|
@@ -341,6 +506,9 @@ export class SmoothlyForm {
|
|
|
341
506
|
return [{
|
|
342
507
|
"propName": "value",
|
|
343
508
|
"methodName": "watchValue"
|
|
509
|
+
}, {
|
|
510
|
+
"propName": "readonly",
|
|
511
|
+
"methodName": "watchReadonly"
|
|
344
512
|
}];
|
|
345
513
|
}
|
|
346
514
|
static get listeners() {
|
|
@@ -357,14 +525,14 @@ export class SmoothlyForm {
|
|
|
357
525
|
"capture": false,
|
|
358
526
|
"passive": false
|
|
359
527
|
}, {
|
|
360
|
-
"name": "
|
|
361
|
-
"method": "
|
|
528
|
+
"name": "smoothlyInputLoad",
|
|
529
|
+
"method": "smoothlyInputLoadHandler",
|
|
362
530
|
"target": undefined,
|
|
363
531
|
"capture": false,
|
|
364
532
|
"passive": false
|
|
365
533
|
}, {
|
|
366
|
-
"name": "
|
|
367
|
-
"method": "
|
|
534
|
+
"name": "smoothlyFormDisable",
|
|
535
|
+
"method": "smoothlyFormDisableHandler",
|
|
368
536
|
"target": undefined,
|
|
369
537
|
"capture": false,
|
|
370
538
|
"passive": false
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/form/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, h, Host, Listen, Method, Prop, State, Watch } from \"@stencil/core\"\nimport { http } from \"cloudly-http\"\nimport { Color } from \"../../model\"\nimport { Data } from \"../../model/Data\"\nimport { Notice } from \"../../model/Notice\"\nimport { Changeable } from \"../input/Changeable\"\nimport { Clearable } from \"../input/Clearable\"\nimport { Looks } from \"../input/Looks\"\nimport { Submittable } from \"../input/Submittable\"\n\n@Component({\n\ttag: \"smoothly-form\",\n\tstyleUrl: \"style.css\",\n})\nexport class SmoothlyForm implements Changeable, Clearable, Submittable {\n\tprivate clearables = new Map<string, Clearable>()\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ mutable: true }) value: Readonly<Data> = {}\n\t@Prop({ reflect: true, attribute: \"looks\" }) looks: \"plain\" | \"grid\" | \"border\" | \"line\" = \"plain\"\n\t@Prop() name?: string\n\t@Prop() method?: \"GET\" | \"POST\"\n\t@Prop() action?: string\n\t@Prop({ mutable: true, reflect: true }) processing: boolean\n\t@Prop() prevent = true\n\t@Event() smoothlyFormInput: EventEmitter<Data>\n\t@Event() smoothlyFormSubmit: EventEmitter<Data>\n\t@State() notice?: Notice\n\t@Prop({ mutable: true, reflect: true }) changed = false\n\tprivate listeners: { changed?: ((parent: Changeable) => Promise<void>)[] } = {}\n\n\tlisten(property: \"changed\", listener: (parent: Changeable) => Promise<void>): void {\n\t\t;(this.listeners[property] ??= []).push(listener)\n\t\tlistener(this)\n\t}\n\t@Watch(\"value\")\n\twatchValue() {\n\t\tthis.changed = Object.values(this.value).filter(value => Boolean(value)).length > 0\n\t\tthis.listeners.changed?.forEach(l => l(this))\n\t}\n\t@Listen(\"smoothlyInputLooks\")\n\tsmoothlyInputLooksHandler(event: CustomEvent<(looks: Looks, color: Color | undefined) => void>) {\n\t\tevent.stopPropagation()\n\t\tevent.detail(this.looks, this.color)\n\t}\n\t@Listen(\"smoothlyInput\")\n\tasync smoothlyInputHandler(event: CustomEvent<Record<string, any>>): Promise<void> {\n\t\tthis.notice = undefined\n\t\tthis.smoothlyFormInput.emit(\n\t\t\t(this.value = Object.entries(event.detail).reduce(\n\t\t\t\t(r, [name, value]) => Data.set(r, name.split(\".\"), value),\n\t\t\t\tthis.value\n\t\t\t))\n\t\t)\n\t\tif (Clearable.is(event.target)) {\n\t\t\tconst clearable = event.target\n\t\t\tObject.keys(event.detail).forEach(key => this.clearables.set(key, clearable))\n\t\t}\n\t}\n\t@Listen(\"smoothlySubmit\")\n\tasync smoothlySubmitHandler(event: CustomEvent): Promise<void> {\n\t\tthis.processing = true\n\t\tthis.submit()\n\t\tthis.processing = false\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tasync SmoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyForm) => void>): Promise<void> {\n\t\tevent.detail(this)\n\t}\n\t@Method()\n\tasync submit(): Promise<void> {\n\t\tthis.smoothlyFormSubmit.emit(this.value)\n\t\tif (this.action) {\n\t\t\tconst response = await http.fetch(\n\t\t\t\tthis.method == \"POST\"\n\t\t\t\t\t? { method: \"POST\", url: this.action, body: this.value }\n\t\t\t\t\t: { url: `${this.action}?${http.Search.stringify(this.value)}` }\n\t\t\t)\n\t\t\tif (response.status >= 200 && response.status < 300) {\n\t\t\t\tthis.notice = Notice.succeeded(\"Form sucessfully submitted.\")\n\t\t\t\tawait this.clear()\n\t\t\t} else\n\t\t\t\tthis.notice = Notice.failed(\"Failed to submit form.\")\n\t\t}\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tnew Set(this.clearables.values()).forEach(clearable => clearable.clear())\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t{this.notice ? <smoothly-notification notice={this.notice}></smoothly-notification> : []}\n\t\t\t\t<smoothly-spinner active={this.processing}></smoothly-spinner>\n\t\t\t\t<form onSubmit={!this.prevent ? undefined : e => e.preventDefault()} name={this.name}>\n\t\t\t\t\t<fieldset>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</fieldset>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<slot name=\"clear\"></slot>\n\t\t\t\t\t\t<slot name=\"submit\"></slot>\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/form/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Event, EventEmitter, h, Host, Listen, Method, Prop, Watch } from \"@stencil/core\"\nimport { http } from \"cloudly-http\"\nimport { Color, Data, Notice } from \"../../model\"\nimport { Clearable } from \"../input/Clearable\"\nimport { Editable } from \"../input/Editable\"\nimport { Input } from \"../input/Input\"\nimport { Looks } from \"../input/Looks\"\nimport { Submittable } from \"../input/Submittable\"\n\n@Component({\n\ttag: \"smoothly-form\",\n\tstyleUrl: \"style.css\",\n})\nexport class SmoothlyForm implements Clearable, Submittable, Editable {\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ mutable: true }) value: Readonly<Data> = {}\n\t@Prop() type: \"update\" | \"change\" | \"fetch\" | \"create\" = \"create\"\n\t@Prop({ mutable: true }) readonly = false\n\t@Prop({ reflect: true, attribute: \"looks\" }) looks: Looks = \"plain\"\n\t@Prop() name?: string\n\t@Prop() action?: string\n\t@Prop({ mutable: true }) processing: boolean\n\t@Prop() prevent = true\n\t@Prop({ mutable: true }) changed = false\n\t@Event() smoothlyFormInput: EventEmitter<Data>\n\t@Event() smoothlyFormSubmit: EventEmitter<{ value: Data; type: \"update\" | \"change\" | \"fetch\" | \"create\" | \"remove\" }>\n\t@Event() notice: EventEmitter<Notice>\n\tprivate inputs = new Map<string, Input.Element>()\n\tprivate readonlyAtLoad = this.readonly\n\tprivate listeners: {\n\t\tchanged?: ((parent: Editable) => Promise<void>)[]\n\t} = {}\n\n\t@Method()\n\tasync listen(property: \"changed\", listener: (parent: Editable) => Promise<void>): Promise<void> {\n\t\t;(this.listeners[property] ??= []).push(listener)\n\t\tlistener(this)\n\t}\n\t@Watch(\"value\")\n\twatchValue() {\n\t\tthis.changed = [...this.inputs.values()].some(input => (Editable.type.is(input) ? input.changed : true))\n\t\tthis.listeners.changed?.forEach(l => l(this))\n\t}\n\t@Watch(\"readonly\")\n\twatchReadonly() {\n\t\tthis.listeners.changed?.forEach(l => l(this))\n\t}\n\t@Listen(\"smoothlyInputLooks\")\n\tsmoothlyInputLooksHandler(event: CustomEvent<(looks: Looks, color: Color | undefined) => void>) {\n\t\tevent.stopPropagation()\n\t\tevent.detail(this.looks, this.color)\n\t}\n\t@Listen(\"smoothlyInput\")\n\tasync smoothlyInputHandler(event: CustomEvent<Record<string, any>>): Promise<void> {\n\t\tthis.smoothlyFormInput.emit((this.value = Data.merge(this.value, event.detail)))\n\t}\n\n\t@Listen(\"smoothlyInputLoad\")\n\tasync smoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyForm) => void>): Promise<void> {\n\t\tevent.stopPropagation()\n\t\tevent.detail(this)\n\t\tif (Input.Element.is(event.target)) {\n\t\t\tthis.value = Data.merge(this.value, { [event.target.name]: event.target.value })\n\t\t\tthis.inputs.set(event.target.name, event.target)\n\t\t}\n\t}\n\t@Listen(\"smoothlyFormDisable\")\n\tasync smoothlyFormDisableHandler(event: CustomEvent): Promise<void> {\n\t\tevent.stopPropagation()\n\t\tevent.detail(this.readonly)\n\t}\n\t@Method()\n\tasync submit(remove?: boolean): Promise<void> {\n\t\tthis.smoothlyFormSubmit.emit({ value: this.value, type: remove == true ? \"remove\" : this.type })\n\t\tif (this.action) {\n\t\t\tthis.processing = true\n\t\t\tconst action = this.action\n\t\t\tthis.notice?.emit(\n\t\t\t\tNotice.execute(\"Submitting form\", async () => {\n\t\t\t\t\tconst response = await http\n\t\t\t\t\t\t.fetch(\n\t\t\t\t\t\t\thttp.Request.create(\n\t\t\t\t\t\t\t\tremove == true\n\t\t\t\t\t\t\t\t\t? { method: \"DELETE\", url: action, header: { contentType: \"application/json\" }, body: this.value }\n\t\t\t\t\t\t\t\t\t: this.type == \"fetch\"\n\t\t\t\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\t\t\t\tmethod: \"GET\",\n\t\t\t\t\t\t\t\t\t\t\turl: `${action}?${http.Search.stringify(this.value)}`,\n\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\t\t\t\tmethod: this.type == \"change\" ? \"PUT\" : this.type == \"update\" ? \"PATCH\" : \"POST\",\n\t\t\t\t\t\t\t\t\t\t\turl: action,\n\t\t\t\t\t\t\t\t\t\t\theader: { contentType: \"application/json\" },\n\t\t\t\t\t\t\t\t\t\t\tbody: this.value,\n\t\t\t\t\t\t\t\t\t }\n\t\t\t\t\t\t\t)\n\t\t\t\t\t\t)\n\t\t\t\t\t\t.catch(() => undefined)\n\t\t\t\t\tlet result: [boolean, string]\n\t\t\t\t\tif (!response || response?.status < 200 || response.status >= 300)\n\t\t\t\t\t\tresult = [false, \"Failed to submit form.\"]\n\t\t\t\t\telse {\n\t\t\t\t\t\tresult = [true, \"Form successfully submitted.\"]\n\t\t\t\t\t\tthis.type == \"create\" && (await this.clear())\n\t\t\t\t\t\tthis.setInitialValue()\n\t\t\t\t\t\tthis.readonlyAtLoad && this.edit(!this.readonlyAtLoad)\n\t\t\t\t\t}\n\n\t\t\t\t\tthis.processing = false\n\t\t\t\t\treturn result\n\t\t\t\t})\n\t\t\t)\n\t\t}\n\t}\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tthis.inputs.forEach(input => {\n\t\t\tClearable.is(input) && input.clear()\n\t\t})\n\t}\n\t@Method()\n\tasync edit(editable: boolean): Promise<void> {\n\t\tthis.inputs.forEach(input => {\n\t\t\tEditable.Element.type.is(input) && input.edit(editable)\n\t\t})\n\t\tthis.readonly = !editable\n\t}\n\t@Method()\n\tasync reset(): Promise<void> {\n\t\tthis.inputs.forEach(input => {\n\t\t\tEditable.Element.type.is(input) && input.reset()\n\t\t})\n\t\tthis.changed = [...this.inputs.values()].some(input => (Editable.type.is(input) ? input.changed : true))\n\t}\n\t@Method()\n\tasync setInitialValue(): Promise<void> {\n\t\tthis.inputs.forEach(input => {\n\t\t\tEditable.Element.type.is(input) && input.setInitialValue()\n\t\t})\n\t}\n\trender() {\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<smoothly-spinner active={this.processing}></smoothly-spinner>\n\t\t\t\t<form onSubmit={!this.prevent ? undefined : e => e.preventDefault()} name={this.name}>\n\t\t\t\t\t<fieldset>\n\t\t\t\t\t\t<slot></slot>\n\t\t\t\t\t</fieldset>\n\t\t\t\t\t<div>\n\t\t\t\t\t\t<slot name=\"edit\" />\n\t\t\t\t\t\t<slot name=\"reset\" />\n\t\t\t\t\t\t<slot name=\"clear\" />\n\t\t\t\t\t\t<slot name=\"submit\" />\n\t\t\t\t\t</div>\n\t\t\t\t</form>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"]}
|
|
@@ -32,7 +32,8 @@ smoothly-form[looks="grid"] > form > fieldset {
|
|
|
32
32
|
border: rgba(var(--text-color), .5) solid .5px;
|
|
33
33
|
}
|
|
34
34
|
smoothly-form[looks="line"] > form > fieldset,
|
|
35
|
-
smoothly-form[looks="border"] > form > fieldset
|
|
35
|
+
smoothly-form[looks="border"] > form > fieldset,
|
|
36
|
+
smoothly-form[looks="transparent"] > form > fieldset {
|
|
36
37
|
gap: 2em
|
|
37
38
|
}
|
|
38
39
|
|
|
@@ -40,4 +41,5 @@ smoothly-form > form > div {
|
|
|
40
41
|
display: flex;
|
|
41
42
|
justify-content: end;
|
|
42
43
|
gap: 1em;
|
|
44
|
+
margin-top: 0.5rem;
|
|
43
45
|
}
|
|
@@ -1,42 +1,36 @@
|
|
|
1
1
|
import { h, Host } from "@stencil/core";
|
|
2
|
+
import { Icon } from "../../model";
|
|
2
3
|
export class SmoothlyIcon {
|
|
3
4
|
constructor() {
|
|
4
5
|
this.color = undefined;
|
|
5
6
|
this.fill = "solid";
|
|
6
|
-
this.name =
|
|
7
|
+
this.name = "empty";
|
|
7
8
|
this.size = "medium";
|
|
9
|
+
this.rotate = undefined;
|
|
10
|
+
this.flip = undefined;
|
|
8
11
|
this.toolTip = undefined;
|
|
9
12
|
this.document = undefined;
|
|
10
13
|
}
|
|
11
|
-
async loadDocument() {
|
|
12
|
-
var _a;
|
|
13
|
-
if (this.name)
|
|
14
|
-
this.document =
|
|
15
|
-
this.name != "empty"
|
|
16
|
-
? (_a = (await SmoothlyIcon.load(this.name))) === null || _a === void 0 ? void 0 : _a.replace(/(?<=^<svg\s?)/, `$& role="img"`)
|
|
17
|
-
: `<svg xmlns="http://www.w3.org/2000/svg" class="ionicon" viewBox="0 0 512 512">
|
|
18
|
-
<title>Empty</title>
|
|
19
|
-
</svg>`;
|
|
20
|
-
}
|
|
21
14
|
async componentWillLoad() {
|
|
22
|
-
|
|
15
|
+
let result;
|
|
16
|
+
if (this.name != "empty") {
|
|
17
|
+
result = await Icon.load(this.name);
|
|
18
|
+
result = result === null || result === void 0 ? void 0 : result.replace(/(?<=^<svg\s?)/, `$& role="img"`).replace(` width="512" height="512"`, "").replace(/stroke:#000;/gi, "");
|
|
19
|
+
if (!this.toolTip)
|
|
20
|
+
result = result === null || result === void 0 ? void 0 : result.replace(/<title>.*<\/title>/, "");
|
|
21
|
+
else if (result === null || result === void 0 ? void 0 : result.includes("<title>"))
|
|
22
|
+
result = result.replace(/(<title>).*(<\/title>)/, `<title>${this.toolTip}</title>`);
|
|
23
|
+
else
|
|
24
|
+
result = result === null || result === void 0 ? void 0 : result.replace(/(.*>)(<\/svg>$)/, `$1<title>${this.toolTip}</title>$2`);
|
|
25
|
+
}
|
|
26
|
+
this.document =
|
|
27
|
+
result !== null && result !== void 0 ? result : `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">
|
|
28
|
+
<title>Empty</title>
|
|
29
|
+
</svg>`;
|
|
23
30
|
}
|
|
24
31
|
render() {
|
|
25
|
-
return (h(Host, { innerHTML: this.document
|
|
26
|
-
? this.document
|
|
27
|
-
.replace(` width="512" height="512"`, "")
|
|
28
|
-
.replace(/(<title>)[\w\d\s-]*(<\/title>)/, `<title>${this.toolTip || ""}</title>`)
|
|
29
|
-
.replace(/stroke:#000;/gi, "")
|
|
30
|
-
: undefined }));
|
|
31
|
-
}
|
|
32
|
-
static async fetch(url) {
|
|
33
|
-
const response = await fetch(url);
|
|
34
|
-
return response.ok ? response.text() : undefined;
|
|
35
|
-
}
|
|
36
|
-
static async load(name) {
|
|
37
32
|
var _a;
|
|
38
|
-
|
|
39
|
-
return (_a = SmoothlyIcon.cache[url]) !== null && _a !== void 0 ? _a : (SmoothlyIcon.cache[url] = SmoothlyIcon.fetch(url));
|
|
33
|
+
return h(Host, { innerHTML: this.document, style: { ["--rotation"]: `${(_a = this.rotate) !== null && _a !== void 0 ? _a : 0}deg` } });
|
|
40
34
|
}
|
|
41
35
|
static get is() { return "smoothly-icon"; }
|
|
42
36
|
static get encapsulation() { return "scoped"; }
|
|
@@ -102,22 +96,23 @@ export class SmoothlyIcon {
|
|
|
102
96
|
"mutable": false,
|
|
103
97
|
"complexType": {
|
|
104
98
|
"original": "Icon | \"empty\"",
|
|
105
|
-
"resolved": "Icon | \"empty\"
|
|
99
|
+
"resolved": "Icon | \"empty\"",
|
|
106
100
|
"references": {
|
|
107
101
|
"Icon": {
|
|
108
102
|
"location": "import",
|
|
109
|
-
"path": "
|
|
103
|
+
"path": "../../model"
|
|
110
104
|
}
|
|
111
105
|
}
|
|
112
106
|
},
|
|
113
107
|
"required": false,
|
|
114
|
-
"optional":
|
|
108
|
+
"optional": false,
|
|
115
109
|
"docs": {
|
|
116
110
|
"tags": [],
|
|
117
111
|
"text": ""
|
|
118
112
|
},
|
|
119
113
|
"attribute": "name",
|
|
120
|
-
"reflect": true
|
|
114
|
+
"reflect": true,
|
|
115
|
+
"defaultValue": "\"empty\""
|
|
121
116
|
},
|
|
122
117
|
"size": {
|
|
123
118
|
"type": "string",
|
|
@@ -137,6 +132,40 @@ export class SmoothlyIcon {
|
|
|
137
132
|
"reflect": true,
|
|
138
133
|
"defaultValue": "\"medium\""
|
|
139
134
|
},
|
|
135
|
+
"rotate": {
|
|
136
|
+
"type": "number",
|
|
137
|
+
"mutable": false,
|
|
138
|
+
"complexType": {
|
|
139
|
+
"original": "number",
|
|
140
|
+
"resolved": "number | undefined",
|
|
141
|
+
"references": {}
|
|
142
|
+
},
|
|
143
|
+
"required": false,
|
|
144
|
+
"optional": true,
|
|
145
|
+
"docs": {
|
|
146
|
+
"tags": [],
|
|
147
|
+
"text": ""
|
|
148
|
+
},
|
|
149
|
+
"attribute": "rotate",
|
|
150
|
+
"reflect": true
|
|
151
|
+
},
|
|
152
|
+
"flip": {
|
|
153
|
+
"type": "string",
|
|
154
|
+
"mutable": false,
|
|
155
|
+
"complexType": {
|
|
156
|
+
"original": "\"x\" | \"y\"",
|
|
157
|
+
"resolved": "\"x\" | \"y\" | undefined",
|
|
158
|
+
"references": {}
|
|
159
|
+
},
|
|
160
|
+
"required": false,
|
|
161
|
+
"optional": true,
|
|
162
|
+
"docs": {
|
|
163
|
+
"tags": [],
|
|
164
|
+
"text": ""
|
|
165
|
+
},
|
|
166
|
+
"attribute": "flip",
|
|
167
|
+
"reflect": true
|
|
168
|
+
},
|
|
140
169
|
"toolTip": {
|
|
141
170
|
"type": "string",
|
|
142
171
|
"mutable": false,
|
|
@@ -164,9 +193,8 @@ export class SmoothlyIcon {
|
|
|
164
193
|
static get watchers() {
|
|
165
194
|
return [{
|
|
166
195
|
"propName": "name",
|
|
167
|
-
"methodName": "
|
|
196
|
+
"methodName": "componentWillLoad"
|
|
168
197
|
}];
|
|
169
198
|
}
|
|
170
199
|
}
|
|
171
|
-
SmoothlyIcon.cache = {};
|
|
172
200
|
//# sourceMappingURL=index.js.map
|