smoothly 1.1.1-alpha.140 → 1.1.1-alpha.142
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/{Scrollable-c33a8acd.js → Scrollable-bec3d4eb.js} +101 -78
- package/dist/cjs/Scrollable-bec3d4eb.js.map +1 -0
- package/dist/cjs/index.cjs.js +1 -1
- package/dist/cjs/smoothly-app_104.cjs.entry.js +15 -14
- package/dist/cjs/smoothly-app_104.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly-picker-demo.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-picker.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-picker.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly-trigger-sink.cjs.entry.js +1 -1
- package/dist/cjs/smoothly-trigger-source.cjs.entry.js +1 -1
- package/dist/collection/components/input/checkbox/style.css +2 -0
- package/dist/collection/components/input/color/style.css +2 -0
- package/dist/collection/components/input/date/range/style.css +2 -0
- package/dist/collection/components/input/date/style.css +2 -0
- package/dist/collection/components/input/file/style.css +2 -0
- package/dist/collection/components/input/radio/style.css +2 -0
- package/dist/collection/components/input/range/style.css +2 -0
- package/dist/collection/components/input/select/style.css +2 -0
- package/dist/collection/components/input/style.css +2 -0
- package/dist/collection/components/picker/style.css +2 -0
- package/dist/components/index.js +1 -1
- package/dist/components/{p-58376a5d.js → p-07b55a46.js} +4 -4
- package/dist/components/{p-58376a5d.js.map → p-07b55a46.js.map} +1 -1
- package/dist/components/{p-303d1170.js → p-08ea78fb.js} +4 -4
- package/dist/components/{p-303d1170.js.map → p-08ea78fb.js.map} +1 -1
- package/dist/components/{p-c673c34a.js → p-140a0a49.js} +6 -6
- package/dist/components/{p-c673c34a.js.map → p-140a0a49.js.map} +1 -1
- package/dist/components/{p-5880cbde.js → p-15b0ea21.js} +7 -7
- package/dist/components/{p-5880cbde.js.map → p-15b0ea21.js.map} +1 -1
- package/dist/components/{p-eab4b429.js → p-17dc6165.js} +4 -4
- package/dist/components/{p-eab4b429.js.map → p-17dc6165.js.map} +1 -1
- package/dist/components/{p-6e644b53.js → p-1998245a.js} +3 -3
- package/dist/components/{p-6e644b53.js.map → p-1998245a.js.map} +1 -1
- package/dist/components/{p-4efd162b.js → p-21a234c7.js} +3 -3
- package/dist/components/{p-4efd162b.js.map → p-21a234c7.js.map} +1 -1
- package/dist/components/{p-cb0cb501.js → p-2b9ac2d6.js} +2 -2
- package/dist/components/{p-cb0cb501.js.map → p-2b9ac2d6.js.map} +1 -1
- package/dist/components/{p-bdd6b324.js → p-2c3b0fe1.js} +2 -2
- package/dist/components/{p-bdd6b324.js.map → p-2c3b0fe1.js.map} +1 -1
- package/dist/components/{p-433a3520.js → p-3068d567.js} +2 -2
- package/dist/components/{p-433a3520.js.map → p-3068d567.js.map} +1 -1
- package/dist/components/{p-9a808432.js → p-3489de45.js} +3 -3
- package/dist/components/{p-9a808432.js.map → p-3489de45.js.map} +1 -1
- package/dist/components/{p-ae2e1044.js → p-34ac0aec.js} +2 -2
- package/dist/components/{p-ae2e1044.js.map → p-34ac0aec.js.map} +1 -1
- package/dist/components/{p-27a64958.js → p-361b3bec.js} +3 -3
- package/dist/components/{p-27a64958.js.map → p-361b3bec.js.map} +1 -1
- package/dist/components/{p-b24ec102.js → p-38f13929.js} +9 -9
- package/dist/components/{p-b24ec102.js.map → p-38f13929.js.map} +1 -1
- package/dist/components/{p-5385cc82.js → p-400daf40.js} +7 -7
- package/dist/components/{p-5385cc82.js.map → p-400daf40.js.map} +1 -1
- package/dist/components/{p-b86bd0b9.js → p-435d7306.js} +2 -2
- package/dist/components/{p-b86bd0b9.js.map → p-435d7306.js.map} +1 -1
- package/dist/components/{p-4e588f4d.js → p-4435e140.js} +4 -4
- package/dist/components/{p-4e588f4d.js.map → p-4435e140.js.map} +1 -1
- package/dist/components/{p-1e9daea9.js → p-446188ca.js} +5 -5
- package/dist/components/{p-1e9daea9.js.map → p-446188ca.js.map} +1 -1
- package/dist/components/{p-967e7c5c.js → p-489c7199.js} +9 -9
- package/dist/components/{p-967e7c5c.js.map → p-489c7199.js.map} +1 -1
- package/dist/components/{p-1b22fc38.js → p-51120c1a.js} +3 -3
- package/dist/components/{p-1b22fc38.js.map → p-51120c1a.js.map} +1 -1
- package/dist/components/{p-9294473c.js → p-52a84f1f.js} +2 -2
- package/dist/components/{p-9294473c.js.map → p-52a84f1f.js.map} +1 -1
- package/dist/components/{p-f9f80d27.js → p-53393af8.js} +32 -32
- package/dist/components/{p-f9f80d27.js.map → p-53393af8.js.map} +1 -1
- package/dist/components/{p-630740c2.js → p-53f8e124.js} +3 -3
- package/dist/components/{p-630740c2.js.map → p-53f8e124.js.map} +1 -1
- package/dist/components/{p-23b0bbfb.js → p-548895f3.js} +2 -2
- package/dist/components/{p-23b0bbfb.js.map → p-548895f3.js.map} +1 -1
- package/dist/components/{p-43b65e60.js → p-5766161d.js} +4 -4
- package/dist/components/{p-43b65e60.js.map → p-5766161d.js.map} +1 -1
- package/dist/components/{p-f9b4123c.js → p-5b5989bf.js} +4 -4
- package/dist/components/{p-f9b4123c.js.map → p-5b5989bf.js.map} +1 -1
- package/dist/components/{p-6903b8be.js → p-616693dd.js} +2 -2
- package/dist/components/{p-6903b8be.js.map → p-616693dd.js.map} +1 -1
- package/dist/components/{p-dee05705.js → p-63abba34.js} +2 -2
- package/dist/components/{p-dee05705.js.map → p-63abba34.js.map} +1 -1
- package/dist/components/{p-df6d9cb0.js → p-63c6b0a2.js} +4 -4
- package/dist/components/{p-df6d9cb0.js.map → p-63c6b0a2.js.map} +1 -1
- package/dist/components/{p-79f56875.js → p-65534671.js} +2 -2
- package/dist/components/{p-79f56875.js.map → p-65534671.js.map} +1 -1
- package/dist/components/{p-37affcda.js → p-69883433.js} +2 -2
- package/dist/components/{p-37affcda.js.map → p-69883433.js.map} +1 -1
- package/dist/components/{p-2d32ff85.js → p-6b5ea247.js} +12 -12
- package/dist/components/{p-2d32ff85.js.map → p-6b5ea247.js.map} +1 -1
- package/dist/components/{p-0c4b74b5.js → p-6d6caa9c.js} +22 -22
- package/dist/components/{p-0c4b74b5.js.map → p-6d6caa9c.js.map} +1 -1
- package/dist/components/{p-18dfba5a.js → p-6e248e6d.js} +10 -10
- package/dist/components/{p-18dfba5a.js.map → p-6e248e6d.js.map} +1 -1
- package/dist/components/{p-70f5a418.js → p-6e9f7417.js} +2 -2
- package/dist/components/{p-70f5a418.js.map → p-6e9f7417.js.map} +1 -1
- package/dist/components/{p-cafdc019.js → p-79a9a3bd.js} +2 -2
- package/dist/components/{p-cafdc019.js.map → p-79a9a3bd.js.map} +1 -1
- package/dist/components/{p-686d6456.js → p-7afca48f.js} +13 -13
- package/dist/components/{p-686d6456.js.map → p-7afca48f.js.map} +1 -1
- package/dist/components/{p-84dd8964.js → p-7f078818.js} +7 -7
- package/dist/components/{p-84dd8964.js.map → p-7f078818.js.map} +1 -1
- package/dist/components/{p-c79e23f5.js → p-7f884d00.js} +10 -10
- package/dist/components/{p-c79e23f5.js.map → p-7f884d00.js.map} +1 -1
- package/dist/components/{p-8d31c011.js → p-7fe84703.js} +3 -3
- package/dist/components/{p-8d31c011.js.map → p-7fe84703.js.map} +1 -1
- package/dist/components/{p-3c883164.js → p-82c01297.js} +60 -43
- package/dist/components/p-82c01297.js.map +1 -0
- package/dist/components/{p-9432ab71.js → p-85fc86b7.js} +2 -2
- package/dist/components/{p-9432ab71.js.map → p-85fc86b7.js.map} +1 -1
- package/dist/components/{p-00eb4ab1.js → p-87e03772.js} +18 -18
- package/dist/components/{p-00eb4ab1.js.map → p-87e03772.js.map} +1 -1
- package/dist/components/{p-ff643a72.js → p-8862d7fe.js} +18 -18
- package/dist/components/{p-ff643a72.js.map → p-8862d7fe.js.map} +1 -1
- package/dist/components/{p-8453e414.js → p-8ce7bdec.js} +3 -3
- package/dist/components/{p-8453e414.js.map → p-8ce7bdec.js.map} +1 -1
- package/dist/components/{p-b0b49900.js → p-93869d69.js} +7 -6
- package/dist/components/p-93869d69.js.map +1 -0
- package/dist/components/{p-f4eb6d8a.js → p-9a2fa970.js} +11 -11
- package/dist/components/{p-f4eb6d8a.js.map → p-9a2fa970.js.map} +1 -1
- package/dist/components/{p-66ad6b47.js → p-a08041e3.js} +2 -2
- package/dist/components/{p-66ad6b47.js.map → p-a08041e3.js.map} +1 -1
- package/dist/components/{p-90234c09.js → p-a33d7aa3.js} +3 -3
- package/dist/components/{p-90234c09.js.map → p-a33d7aa3.js.map} +1 -1
- package/dist/components/{p-1734cfa3.js → p-a5eff3f8.js} +3 -3
- package/dist/components/{p-1734cfa3.js.map → p-a5eff3f8.js.map} +1 -1
- package/dist/components/{p-97f1395e.js → p-a6a9c33d.js} +4 -4
- package/dist/components/{p-97f1395e.js.map → p-a6a9c33d.js.map} +1 -1
- package/dist/components/{p-0a0ae127.js → p-a70b0acb.js} +7 -7
- package/dist/components/{p-0a0ae127.js.map → p-a70b0acb.js.map} +1 -1
- package/dist/components/{p-0f120328.js → p-a73ed657.js} +6 -6
- package/dist/components/{p-0f120328.js.map → p-a73ed657.js.map} +1 -1
- package/dist/components/{p-e30ea78d.js → p-b2af9ed4.js} +2 -2
- package/dist/components/{p-e30ea78d.js.map → p-b2af9ed4.js.map} +1 -1
- package/dist/components/{p-27736bc3.js → p-b3ba3373.js} +2 -2
- package/dist/components/{p-27736bc3.js.map → p-b3ba3373.js.map} +1 -1
- package/dist/components/{p-b1c501db.js → p-b7908e62.js} +9 -9
- package/dist/components/{p-b1c501db.js.map → p-b7908e62.js.map} +1 -1
- package/dist/components/{p-42296f64.js → p-bf328fdb.js} +6 -6
- package/dist/components/{p-42296f64.js.map → p-bf328fdb.js.map} +1 -1
- package/dist/components/{p-0aaf9357.js → p-c15936c3.js} +13 -13
- package/dist/components/{p-0aaf9357.js.map → p-c15936c3.js.map} +1 -1
- package/dist/components/{p-8f0522bb.js → p-c2c9444b.js} +4 -4
- package/dist/components/{p-8f0522bb.js.map → p-c2c9444b.js.map} +1 -1
- package/dist/components/{p-091c661f.js → p-c48e02d9.js} +3 -3
- package/dist/components/{p-091c661f.js.map → p-c48e02d9.js.map} +1 -1
- package/dist/components/{p-7416aeba.js → p-c9157e96.js} +4 -4
- package/dist/components/{p-7416aeba.js.map → p-c9157e96.js.map} +1 -1
- package/dist/components/{p-50bd89b6.js → p-cb880e45.js} +4 -4
- package/dist/components/{p-50bd89b6.js.map → p-cb880e45.js.map} +1 -1
- package/dist/components/{p-6dd9955f.js → p-d35569aa.js} +2 -2
- package/dist/components/{p-6dd9955f.js.map → p-d35569aa.js.map} +1 -1
- package/dist/components/{p-69cb8dd2.js → p-d3db1eaa.js} +15 -15
- package/dist/components/{p-69cb8dd2.js.map → p-d3db1eaa.js.map} +1 -1
- package/dist/components/{p-2d55e0c2.js → p-d551e3f2.js} +5 -5
- package/dist/components/{p-2d55e0c2.js.map → p-d551e3f2.js.map} +1 -1
- package/dist/components/{p-a4f46490.js → p-d8f5b56a.js} +7 -7
- package/dist/components/{p-a4f46490.js.map → p-d8f5b56a.js.map} +1 -1
- package/dist/components/{p-97a46124.js → p-deb3fa47.js} +5 -5
- package/dist/components/{p-97a46124.js.map → p-deb3fa47.js.map} +1 -1
- package/dist/components/{p-966b3d70.js → p-dec85bfc.js} +6 -6
- package/dist/components/{p-966b3d70.js.map → p-dec85bfc.js.map} +1 -1
- package/dist/components/{p-b8586380.js → p-e184e937.js} +43 -37
- package/dist/components/p-e184e937.js.map +1 -0
- package/dist/components/{p-11e3493d.js → p-e5626c82.js} +5 -5
- package/dist/components/{p-11e3493d.js.map → p-e5626c82.js.map} +1 -1
- package/dist/components/{p-14938bea.js → p-e7523469.js} +3 -3
- package/dist/components/{p-14938bea.js.map → p-e7523469.js.map} +1 -1
- package/dist/components/{p-128050a7.js → p-e7bbf77c.js} +29 -29
- package/dist/components/{p-128050a7.js.map → p-e7bbf77c.js.map} +1 -1
- package/dist/components/{p-c851d243.js → p-ee4d11b8.js} +8 -8
- package/dist/components/{p-c851d243.js.map → p-ee4d11b8.js.map} +1 -1
- package/dist/components/{p-02a3edb0.js → p-f01ea468.js} +9 -9
- package/dist/components/{p-02a3edb0.js.map → p-f01ea468.js.map} +1 -1
- package/dist/components/{p-86e36b30.js → p-f588dda6.js} +4 -4
- package/dist/components/{p-86e36b30.js.map → p-f588dda6.js.map} +1 -1
- package/dist/components/{p-0537fb6f.js → p-f90db7ec.js} +8 -8
- package/dist/components/{p-0537fb6f.js.map → p-f90db7ec.js.map} +1 -1
- package/dist/components/{p-1843b6b0.js → p-fc57ee91.js} +4 -4
- package/dist/components/{p-1843b6b0.js.map → p-fc57ee91.js.map} +1 -1
- package/dist/components/{p-dd8543e5.js → p-fd3f1663.js} +14 -14
- package/dist/components/{p-dd8543e5.js.map → p-fd3f1663.js.map} +1 -1
- package/dist/components/{p-ef588519.js → p-fd7820b5.js} +21 -21
- package/dist/components/{p-ef588519.js.map → p-fd7820b5.js.map} +1 -1
- package/dist/components/{p-f0aa2cd4.js → p-ff7c5fbe.js} +2 -2
- package/dist/components/{p-f0aa2cd4.js.map → p-ff7c5fbe.js.map} +1 -1
- package/dist/components/smoothly-app-demo.js +72 -72
- package/dist/components/smoothly-app-room.js +1 -1
- package/dist/components/smoothly-app.js +1 -1
- package/dist/components/smoothly-back-to-top.js +1 -1
- package/dist/components/smoothly-burger.js +1 -1
- package/dist/components/smoothly-button-confirm.js +1 -1
- package/dist/components/smoothly-button-demo.js +1 -1
- package/dist/components/smoothly-button.js +1 -1
- package/dist/components/smoothly-calendar.js +1 -1
- package/dist/components/smoothly-checkbox.js +1 -1
- package/dist/components/smoothly-dialog-demo.js +1 -1
- package/dist/components/smoothly-dialog.js +1 -1
- package/dist/components/smoothly-display-demo-json.js +1 -1
- package/dist/components/smoothly-display-demo.js +1 -1
- package/dist/components/smoothly-display-json-object.js +1 -1
- package/dist/components/smoothly-display-json.js +1 -1
- package/dist/components/smoothly-display.js +1 -1
- package/dist/components/smoothly-filter-field.js +1 -1
- package/dist/components/smoothly-filter-input.js +1 -1
- package/dist/components/smoothly-filter-select.js +1 -1
- package/dist/components/smoothly-filter-toggle.js +1 -1
- package/dist/components/smoothly-filter.js +1 -1
- package/dist/components/smoothly-form-demo-all.js +1 -1
- package/dist/components/smoothly-form-demo-card.js +1 -1
- package/dist/components/smoothly-form-demo-controlled.js +1 -1
- package/dist/components/smoothly-form-demo-login.js +1 -1
- package/dist/components/smoothly-form-demo-prices.js +1 -1
- package/dist/components/smoothly-form-demo-transparent.js +1 -1
- package/dist/components/smoothly-form-demo-typed.js +1 -1
- package/dist/components/smoothly-form-demo.js +1 -1
- package/dist/components/smoothly-form.js +1 -1
- package/dist/components/smoothly-frame.js +1 -1
- package/dist/components/smoothly-icon-demo.js +1 -1
- package/dist/components/smoothly-icon.js +1 -1
- package/dist/components/smoothly-input-checkbox-demo.js +24 -24
- package/dist/components/smoothly-input-checkbox.js +1 -1
- package/dist/components/smoothly-input-clear.js +1 -1
- package/dist/components/smoothly-input-color-demo.js +1 -1
- package/dist/components/smoothly-input-color.js +1 -1
- package/dist/components/smoothly-input-date-range.js +1 -1
- package/dist/components/smoothly-input-date.js +1 -1
- package/dist/components/smoothly-input-demo-standard.js +1 -1
- package/dist/components/smoothly-input-demo.js +1 -1
- package/dist/components/smoothly-input-edit.js +1 -1
- package/dist/components/smoothly-input-file.js +1 -1
- package/dist/components/smoothly-input-month.js +1 -1
- package/dist/components/smoothly-input-price-demo.js +1 -1
- package/dist/components/smoothly-input-radio-item.js +1 -1
- package/dist/components/smoothly-input-radio.js +1 -1
- package/dist/components/smoothly-input-range-demo.js +1 -1
- package/dist/components/smoothly-input-range.js +1 -1
- package/dist/components/smoothly-input-reset.js +1 -1
- package/dist/components/smoothly-input-select.js +1 -1
- package/dist/components/smoothly-input-submit.js +1 -1
- package/dist/components/smoothly-input.js +1 -1
- package/dist/components/smoothly-next-demo-colspan.js +1 -1
- package/dist/components/smoothly-next-demo-group.js +1 -1
- package/dist/components/smoothly-next-demo-nested.js +1 -1
- package/dist/components/smoothly-next-demo-simple.js +1 -1
- package/dist/components/smoothly-next-demo.js +1 -1
- package/dist/components/smoothly-next-table-demo-filtered.js +1 -1
- package/dist/components/smoothly-notification.js +1 -1
- package/dist/components/smoothly-notifier.js +1 -1
- package/dist/components/smoothly-picker-demo.js +10 -10
- package/dist/components/smoothly-picker-menu.js +1 -1
- package/dist/components/smoothly-picker-option.js +1 -1
- package/dist/components/smoothly-picker.js +1 -1
- package/dist/components/smoothly-submit.js +1 -1
- package/dist/components/smoothly-summary.js +1 -1
- package/dist/components/smoothly-table-cell.js +1 -1
- package/dist/components/smoothly-table-demo-filtered.js +1 -1
- package/dist/components/smoothly-table-demo.js +1 -1
- package/dist/components/smoothly-table-expandable-cell.js +1 -1
- package/dist/components/smoothly-table-testing.js +1 -1
- package/dist/components/smoothly-theme-demo.js +1 -1
- package/dist/components/smoothly-theme-guide.js +1 -1
- package/dist/components/smoothly-theme-picker.js +1 -1
- package/dist/components/smoothly-toggle-switch-demo.js +1 -1
- package/dist/components/smoothly-toggle-switch.js +1 -1
- package/dist/components/smoothly-trigger-sink.js +1 -1
- package/dist/components/smoothly-trigger-source.js +1 -1
- package/dist/esm/{Scrollable-2eae1d58.js → Scrollable-dcbc5bcc.js} +101 -78
- package/dist/esm/Scrollable-dcbc5bcc.js.map +1 -0
- package/dist/esm/index.js +1 -1
- package/dist/esm/smoothly-app_104.entry.js +15 -14
- package/dist/esm/smoothly-app_104.entry.js.map +1 -1
- package/dist/esm/smoothly-picker-demo.entry.js +1 -1
- package/dist/esm/smoothly-picker.entry.js +1 -1
- package/dist/esm/smoothly-picker.entry.js.map +1 -1
- package/dist/esm/smoothly-trigger-sink.entry.js +1 -1
- package/dist/esm/smoothly-trigger-source.entry.js +1 -1
- package/dist/smoothly/index.esm.js +1 -1
- package/dist/smoothly/p-1226cd3f.entry.js +2 -0
- package/dist/smoothly/p-1226cd3f.entry.js.map +1 -0
- package/dist/smoothly/{p-cb63a0f6.entry.js → p-14990691.entry.js} +2 -2
- package/dist/smoothly/{p-c1f5e6b8.entry.js → p-402c08ca.entry.js} +2 -2
- package/dist/smoothly/{p-a268feb2.entry.js → p-54d1503e.entry.js} +2 -2
- package/dist/smoothly/p-aa870543.entry.js +2 -0
- package/dist/smoothly/{p-64ac77cc.entry.js.map → p-aa870543.entry.js.map} +1 -1
- package/dist/smoothly/p-fb40234c.js +2 -0
- package/dist/smoothly/p-fb40234c.js.map +1 -0
- package/dist/smoothly/smoothly.esm.js +1 -1
- package/dist/types/components/filter/Filter.d.ts +3 -4
- package/dist/types/components/form/demo/typed/Contact.d.ts +1 -2
- package/dist/types/components/input/Editable.d.ts +4 -5
- package/dist/types/components/input/Input.d.ts +4 -5
- package/dist/types/components/input/Looks.d.ts +1 -1
- package/dist/types/components/input/radio/Selected.d.ts +2 -3
- package/dist/types/components/item/Item.d.ts +4 -5
- package/dist/types/model/Color/HSL.d.ts +1 -2
- package/dist/types/model/Color/RGB.d.ts +1 -2
- package/dist/types/model/Color/index.d.ts +1 -1
- package/dist/types/model/Submit.d.ts +3 -3
- package/package.json +2 -2
- package/dist/cjs/Scrollable-c33a8acd.js.map +0 -1
- package/dist/components/p-3c883164.js.map +0 -1
- package/dist/components/p-b0b49900.js.map +0 -1
- package/dist/components/p-b8586380.js.map +0 -1
- package/dist/esm/Scrollable-2eae1d58.js.map +0 -1
- package/dist/smoothly/p-58c9d1cd.js +0 -2
- package/dist/smoothly/p-58c9d1cd.js.map +0 -1
- package/dist/smoothly/p-64ac77cc.entry.js +0 -2
- package/dist/smoothly/p-6cf8949d.entry.js +0 -2
- package/dist/smoothly/p-6cf8949d.entry.js.map +0 -1
- /package/dist/smoothly/{p-cb63a0f6.entry.js.map → p-14990691.entry.js.map} +0 -0
- /package/dist/smoothly/{p-c1f5e6b8.entry.js.map → p-402c08ca.entry.js.map} +0 -0
- /package/dist/smoothly/{p-a268feb2.entry.js.map → p-54d1503e.entry.js.map} +0 -0
|
@@ -19,13 +19,6 @@ class Type {
|
|
|
19
19
|
constructor(_name, _condition) {
|
|
20
20
|
this._name = _name;
|
|
21
21
|
this._condition = _condition;
|
|
22
|
-
/**
|
|
23
|
-
* Return the value if the value is valid for the type, otherwise undefined.
|
|
24
|
-
* For objects, unknown properties are filtered.
|
|
25
|
-
*
|
|
26
|
-
* Eg: isly.number().value(NaN) returns undefined
|
|
27
|
-
*/
|
|
28
|
-
this.get = value => (this.is(value) ? this.getValue(value) : undefined);
|
|
29
22
|
/**
|
|
30
23
|
* Return a flaw object, describing the flaws of the value compared to expected type.
|
|
31
24
|
*
|
|
@@ -33,7 +26,7 @@ class Type {
|
|
|
33
26
|
*
|
|
34
27
|
* Implemented as a closure.
|
|
35
28
|
*/
|
|
36
|
-
this.flaw = value => {
|
|
29
|
+
this.flaw = (value) => {
|
|
37
30
|
return this.is(value)
|
|
38
31
|
? {
|
|
39
32
|
type: this.name,
|
|
@@ -48,6 +41,15 @@ class Type {
|
|
|
48
41
|
};
|
|
49
42
|
};
|
|
50
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* Return the value if the value is valid for the type, otherwise undefined.
|
|
46
|
+
* For objects, unknown properties are filtered.
|
|
47
|
+
*
|
|
48
|
+
* Eg: isly.number().value(NaN) returns undefined
|
|
49
|
+
*/
|
|
50
|
+
get(value) {
|
|
51
|
+
return this.is(value) ? this.getValue(value) : undefined;
|
|
52
|
+
}
|
|
51
53
|
getValue(value) {
|
|
52
54
|
return value;
|
|
53
55
|
}
|
|
@@ -71,7 +73,8 @@ class IslyOptional extends Type {
|
|
|
71
73
|
constructor(backend) {
|
|
72
74
|
super(() => backend.name + " | undefined", backend.condition);
|
|
73
75
|
this.backend = backend;
|
|
74
|
-
this.
|
|
76
|
+
this.class = "optional";
|
|
77
|
+
this.is = (value) => value == undefined || this.backend.is(value);
|
|
75
78
|
}
|
|
76
79
|
createFlaw(value) {
|
|
77
80
|
return this.createFlawFromType(this.backend, value);
|
|
@@ -81,7 +84,8 @@ class IslyReadonly extends Type {
|
|
|
81
84
|
constructor(backend) {
|
|
82
85
|
super(() => `Readonly<${backend.name}>`, backend.condition);
|
|
83
86
|
this.backend = backend;
|
|
84
|
-
this.
|
|
87
|
+
this.class = "readonly";
|
|
88
|
+
this.is = (value) => value == undefined || this.backend.is(value);
|
|
85
89
|
}
|
|
86
90
|
createFlaw(value) {
|
|
87
91
|
return this.createFlawFromType(this.backend, value);
|
|
@@ -109,9 +113,10 @@ class IslyArray extends Type {
|
|
|
109
113
|
super(() => this.baseName() + "[]", options.length > 0 ? options.map(c => criteriaFunctions$1[c.criteria].condition(c.value)).join(" & ") : undefined);
|
|
110
114
|
this.itemType = itemType;
|
|
111
115
|
this.options = options;
|
|
112
|
-
this.
|
|
116
|
+
this.class = "array";
|
|
117
|
+
this.is = (value) => globalThis.Array.isArray(value) &&
|
|
113
118
|
this.options.every(option => criteriaFunctions$1[option.criteria].is(value, option.value)) &&
|
|
114
|
-
value.every(item => this.itemType.is(item))
|
|
119
|
+
value.every(item => this.itemType.is(item));
|
|
115
120
|
}
|
|
116
121
|
baseName() {
|
|
117
122
|
return this.itemType.name.includes(" ") ? `(${this.itemType.name})` : this.itemType.name;
|
|
@@ -135,28 +140,18 @@ class IslyArray extends Type {
|
|
|
135
140
|
}
|
|
136
141
|
}
|
|
137
142
|
|
|
143
|
+
function boolean(booleanValue) {
|
|
144
|
+
return new IslyBoolean(booleanValue);
|
|
145
|
+
}
|
|
138
146
|
class IslyBoolean extends Type {
|
|
139
147
|
constructor(booleanValue) {
|
|
140
148
|
super(booleanValue == undefined ? "boolean" : booleanValue ? "true" : "false");
|
|
141
149
|
this.booleanValue = booleanValue;
|
|
142
|
-
this.
|
|
150
|
+
this.class = "boolean";
|
|
151
|
+
this.is = (value) => typeof value == "boolean" && (this.booleanValue == undefined || value == this.booleanValue);
|
|
143
152
|
}
|
|
144
153
|
}
|
|
145
|
-
function boolean(booleanValue) {
|
|
146
|
-
return new IslyBoolean(booleanValue);
|
|
147
|
-
}
|
|
148
154
|
|
|
149
|
-
class IslyLazy extends Type {
|
|
150
|
-
constructor(factory, name) {
|
|
151
|
-
super(name ?? (() => (this.backend ??= factory()).name), () => (this.backend ??= factory()).condition);
|
|
152
|
-
this.factory = factory;
|
|
153
|
-
this.is = (value => (this.backend ??= this.factory()).is(value));
|
|
154
|
-
this.get = value => this.backend.get(value);
|
|
155
|
-
}
|
|
156
|
-
createFlaw(value) {
|
|
157
|
-
return this.createFlawFromType((this.backend ??= this.factory()), value);
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
155
|
/**
|
|
161
156
|
* Late evaluation of a type
|
|
162
157
|
* Can be used for for recursive types.
|
|
@@ -168,30 +163,51 @@ class IslyLazy extends Type {
|
|
|
168
163
|
function lazy(factory, name) {
|
|
169
164
|
return new IslyLazy(factory, name);
|
|
170
165
|
}
|
|
166
|
+
class IslyLazy extends Type {
|
|
167
|
+
constructor(factory, name) {
|
|
168
|
+
super(name ?? (() => (this.backend ??= factory()).name), () => (this.backend ??= factory()).condition);
|
|
169
|
+
this.factory = factory;
|
|
170
|
+
this.class = "lazy";
|
|
171
|
+
this.is = (value) => (this.backend ??= this.factory()).is(value);
|
|
172
|
+
}
|
|
173
|
+
createFlaw(value) {
|
|
174
|
+
return this.createFlawFromType((this.backend ??= this.factory()), value);
|
|
175
|
+
}
|
|
176
|
+
getBackend() {
|
|
177
|
+
return this.backend;
|
|
178
|
+
}
|
|
179
|
+
get(value) {
|
|
180
|
+
return this.backend.get(value);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
171
183
|
|
|
184
|
+
function object(properties, name) {
|
|
185
|
+
return new IslyObject(properties ?? {}, name);
|
|
186
|
+
}
|
|
172
187
|
class IslyObject extends Type {
|
|
173
|
-
constructor(
|
|
188
|
+
constructor(properties, name, baseType) {
|
|
174
189
|
super(() => name ??
|
|
175
190
|
(this.baseType ? `${this.baseType.name} & ` : "") +
|
|
176
191
|
`{${globalThis.Object.entries(this.properties)
|
|
177
192
|
.map(([property, type]) => `${property}: ${type.name}`)
|
|
178
193
|
.join(", ")}}`);
|
|
179
|
-
this.baseType = baseType;
|
|
180
194
|
this.properties = properties;
|
|
181
|
-
this.
|
|
195
|
+
this.baseType = baseType;
|
|
196
|
+
this.class = "object";
|
|
197
|
+
this.is = (value) => !!(value &&
|
|
182
198
|
(this.baseType == undefined || this.baseType.is(value)) &&
|
|
183
199
|
typeof value == "object" &&
|
|
184
200
|
!globalThis.Array.isArray(value) &&
|
|
185
|
-
globalThis.Object.entries(this.properties).every(([property, type]) => type.is(value[property])))
|
|
201
|
+
globalThis.Object.entries(this.properties).every(([property, type]) => type.is(value[property])));
|
|
186
202
|
}
|
|
187
203
|
extend(properties, name) {
|
|
188
|
-
return new IslyObject(
|
|
204
|
+
return new IslyObject(properties, name, this);
|
|
189
205
|
}
|
|
190
206
|
omit(omits, name) {
|
|
191
|
-
return new IslyObject(
|
|
207
|
+
return new IslyObject(globalThis.Object.fromEntries(globalThis.Object.entries(this.properties).filter(([key]) => !omits.includes(key))), name ?? `Omit<${this.name}, ${omits.map(key => `"${String(key)}"`).join(" | ")}>`, this.baseType?.omit(omits));
|
|
192
208
|
}
|
|
193
209
|
pick(picks, name) {
|
|
194
|
-
return new IslyObject(
|
|
210
|
+
return new IslyObject(globalThis.Object.fromEntries(globalThis.Object.entries(this.properties).filter(([key]) => picks.includes(key))), name ?? `Pick<${this.name}, ${picks.map(key => `"${String(key)}"`).join(" | ")}>`, this.baseType?.pick(picks));
|
|
195
211
|
}
|
|
196
212
|
createFlaw(value) {
|
|
197
213
|
return {
|
|
@@ -217,11 +233,14 @@ class IslyObject extends Type {
|
|
|
217
233
|
result[key] = type.get(value[key]);
|
|
218
234
|
return result;
|
|
219
235
|
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
236
|
+
getProperties() {
|
|
237
|
+
return { ...this.baseType?.getProperties(), ...this.properties };
|
|
238
|
+
}
|
|
223
239
|
}
|
|
224
240
|
|
|
241
|
+
function string(condition) {
|
|
242
|
+
return new IslyString(condition);
|
|
243
|
+
}
|
|
225
244
|
class IslyString extends Type {
|
|
226
245
|
constructor(stringCondition) {
|
|
227
246
|
super(typeof stringCondition == "string" ? `"${stringCondition}"` : "string", () => {
|
|
@@ -233,7 +252,8 @@ class IslyString extends Type {
|
|
|
233
252
|
.join(" | ");
|
|
234
253
|
});
|
|
235
254
|
this.stringCondition = stringCondition;
|
|
236
|
-
this.
|
|
255
|
+
this.class = "string";
|
|
256
|
+
this.is = (value) => {
|
|
237
257
|
const conditionObject = this.getConditionObject();
|
|
238
258
|
return (typeof value == "string" &&
|
|
239
259
|
(conditionObject instanceof RegExp
|
|
@@ -241,7 +261,7 @@ class IslyString extends Type {
|
|
|
241
261
|
: typeof conditionObject == "object"
|
|
242
262
|
? value in conditionObject //TODO, avoid "hasOwnProperty toString etc."
|
|
243
263
|
: conditionObject));
|
|
244
|
-
}
|
|
264
|
+
};
|
|
245
265
|
}
|
|
246
266
|
getConditionObject() {
|
|
247
267
|
return (this.conditionObject ??= Array.isArray(this.stringCondition)
|
|
@@ -256,9 +276,6 @@ class IslyString extends Type {
|
|
|
256
276
|
: true);
|
|
257
277
|
}
|
|
258
278
|
}
|
|
259
|
-
function string(condition) {
|
|
260
|
-
return new IslyString(condition);
|
|
261
|
-
}
|
|
262
279
|
|
|
263
280
|
var Flaw;
|
|
264
281
|
(function (Flaw) {
|
|
@@ -274,28 +291,30 @@ var Flaw;
|
|
|
274
291
|
Flaw.flaw = Flaw.type.flaw;
|
|
275
292
|
})(Flaw || (Flaw = {}));
|
|
276
293
|
|
|
294
|
+
function fromIs(name, is) {
|
|
295
|
+
return new IslyFromIs(name, is);
|
|
296
|
+
}
|
|
277
297
|
class IslyFromIs extends Type {
|
|
278
298
|
constructor(name, isFunction) {
|
|
279
299
|
super(name);
|
|
280
300
|
this.isFunction = isFunction;
|
|
281
|
-
this.
|
|
301
|
+
this.class = "fromIs";
|
|
302
|
+
this.is = (value) => this.isFunction(value);
|
|
282
303
|
}
|
|
283
304
|
}
|
|
284
|
-
function fromIs(name, is) {
|
|
285
|
-
return new IslyFromIs(name, is);
|
|
286
|
-
}
|
|
287
305
|
|
|
306
|
+
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
307
|
+
function islyFunction() {
|
|
308
|
+
return new IslyFunction();
|
|
309
|
+
}
|
|
288
310
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
289
311
|
class IslyFunction extends Type {
|
|
290
312
|
constructor() {
|
|
291
313
|
super("function");
|
|
292
|
-
this.
|
|
314
|
+
this.class = "function";
|
|
315
|
+
this.is = (value) => !!(value && typeof value == "function");
|
|
293
316
|
}
|
|
294
317
|
}
|
|
295
|
-
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
296
|
-
function islyFunction() {
|
|
297
|
-
return new IslyFunction();
|
|
298
|
-
}
|
|
299
318
|
|
|
300
319
|
const criteriaFunctions = {
|
|
301
320
|
positive: {
|
|
@@ -311,6 +330,17 @@ const criteriaFunctions = {
|
|
|
311
330
|
condition: "Number.isInteger",
|
|
312
331
|
},
|
|
313
332
|
};
|
|
333
|
+
/**
|
|
334
|
+
* NaN, Infinite and -Infinite is not considered to be numbers by this type,
|
|
335
|
+
* since that it is hardly ever desirable when validating input data.
|
|
336
|
+
*
|
|
337
|
+
* @param criteria
|
|
338
|
+
* @returns
|
|
339
|
+
*/
|
|
340
|
+
function number(criteria) {
|
|
341
|
+
const [isFunction, condition] = criteria == undefined ? [undefined, undefined] : fromCriteria(criteria);
|
|
342
|
+
return new IslyNumber(isFunction, condition);
|
|
343
|
+
}
|
|
314
344
|
function fromCriteria(criteria) {
|
|
315
345
|
return /* Eg: criteria == 42 */ typeof criteria == "number"
|
|
316
346
|
? [value => value == criteria, " == " + criteria.toString()]
|
|
@@ -339,32 +369,26 @@ class IslyNumber extends Type {
|
|
|
339
369
|
constructor(isFunction, condition) {
|
|
340
370
|
super("number", condition);
|
|
341
371
|
this.isFunction = isFunction;
|
|
342
|
-
this.
|
|
372
|
+
this.class = "number";
|
|
373
|
+
this.is = (value) => typeof value == "number" &&
|
|
343
374
|
!Number.isNaN(value - value) && // NaN-NaN==NaN && Infinity-Infinity==NaN && (-Infinity)-(-Infinity)==NaN
|
|
344
|
-
(!this.isFunction || this.isFunction(value))
|
|
375
|
+
(!this.isFunction || this.isFunction(value));
|
|
345
376
|
}
|
|
346
377
|
}
|
|
347
|
-
/**
|
|
348
|
-
* NaN, Infinite and -Infinite is not considered to be numbers by this type,
|
|
349
|
-
* since that it is hardly ever desirable when validating input data.
|
|
350
|
-
*
|
|
351
|
-
* @param criteria
|
|
352
|
-
* @returns
|
|
353
|
-
*/
|
|
354
|
-
function number(criteria) {
|
|
355
|
-
const [isFunction, condition] = criteria == undefined ? [undefined, undefined] : fromCriteria(criteria);
|
|
356
|
-
return new IslyNumber(isFunction, condition);
|
|
357
|
-
}
|
|
358
378
|
|
|
379
|
+
function record(keyType, valueType) {
|
|
380
|
+
return new IslyRecord(keyType, valueType);
|
|
381
|
+
}
|
|
359
382
|
class IslyRecord extends Type {
|
|
360
383
|
constructor(keyType, valueType) {
|
|
361
384
|
super(() => `Record<${keyType.name}, ${valueType.name}>`);
|
|
362
385
|
this.keyType = keyType;
|
|
363
386
|
this.valueType = valueType;
|
|
364
|
-
this.
|
|
387
|
+
this.class = "record";
|
|
388
|
+
this.is = (value) => !!(value &&
|
|
365
389
|
typeof value == "object" &&
|
|
366
390
|
!globalThis.Array.isArray(value) &&
|
|
367
|
-
globalThis.Object.entries(value).every(([key, value]) => this.keyType.is(this.keyType.name == "number" && `${+key}` == key ? +key : key) && this.valueType.is(value)))
|
|
391
|
+
globalThis.Object.entries(value).every(([key, value]) => this.keyType.is(this.keyType.name == "number" && `${+key}` == key ? +key : key) && this.valueType.is(value)));
|
|
368
392
|
}
|
|
369
393
|
createFlaw(value) {
|
|
370
394
|
return {
|
|
@@ -383,14 +407,15 @@ class IslyRecord extends Type {
|
|
|
383
407
|
return globalThis.Object.fromEntries(globalThis.Object.entries(value).map(([key, value]) => [key, this.valueType.get(value)]));
|
|
384
408
|
}
|
|
385
409
|
}
|
|
386
|
-
function record(keyType, valueType) {
|
|
387
|
-
return new IslyRecord(keyType, valueType);
|
|
388
|
-
}
|
|
389
410
|
|
|
411
|
+
function union(...types) {
|
|
412
|
+
return new IslyUnion(...types);
|
|
413
|
+
}
|
|
390
414
|
class IslyUnion extends Type {
|
|
391
415
|
constructor(...types) {
|
|
392
416
|
super(() => types.map(type => type.name).join(" | "));
|
|
393
|
-
this.
|
|
417
|
+
this.class = "union";
|
|
418
|
+
this.is = (value) => this.types.some(type => type.is(value));
|
|
394
419
|
this.types = types;
|
|
395
420
|
}
|
|
396
421
|
createFlaw(value) {
|
|
@@ -402,19 +427,17 @@ class IslyUnion extends Type {
|
|
|
402
427
|
return this.types.find(type => type.is(value))?.get(value);
|
|
403
428
|
}
|
|
404
429
|
}
|
|
405
|
-
function union(...types) {
|
|
406
|
-
return new IslyUnion(...types);
|
|
407
|
-
}
|
|
408
430
|
|
|
431
|
+
function islyUndefined(name) {
|
|
432
|
+
return new IslyUndefined(name ?? "undefined");
|
|
433
|
+
}
|
|
409
434
|
class IslyUndefined extends Type {
|
|
410
435
|
constructor() {
|
|
411
436
|
super(...arguments);
|
|
412
|
-
this.
|
|
437
|
+
this.class = "undefined";
|
|
438
|
+
this.is = (value) => value === undefined;
|
|
413
439
|
}
|
|
414
440
|
}
|
|
415
|
-
function islyUndefined(name) {
|
|
416
|
-
return new IslyUndefined(name ?? "undefined");
|
|
417
|
-
}
|
|
418
441
|
|
|
419
442
|
var Hex;
|
|
420
443
|
(function (Hex) {
|
|
@@ -1297,4 +1320,4 @@ exports.record = record;
|
|
|
1297
1320
|
exports.string = string;
|
|
1298
1321
|
exports.union = union;
|
|
1299
1322
|
|
|
1300
|
-
//# sourceMappingURL=Scrollable-
|
|
1323
|
+
//# sourceMappingURL=Scrollable-bec3d4eb.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"Scrollable-bec3d4eb.js","mappings":"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","names":["criteriaFunctions","isly.string","isly.object","isly.number","Color","ColorHex","ColorHSL","ColorRGB","Icon","Message","Trigger","Data","isly.union","isly.boolean","isly.fromIs","isly.undefined","isly.record","isly.lazy","Submit","isly.function","Scrollable"],"sources":["node_modules/isly/dist/mjs/Type.js","node_modules/isly/dist/mjs/boolean.js","node_modules/isly/dist/mjs/lazy.js","node_modules/isly/dist/mjs/object.js","node_modules/isly/dist/mjs/string.js","node_modules/isly/dist/mjs/Flaw.js","node_modules/isly/dist/mjs/fromIs.js","node_modules/isly/dist/mjs/function.js","node_modules/isly/dist/mjs/number.js","node_modules/isly/dist/mjs/record.js","node_modules/isly/dist/mjs/union.js","node_modules/isly/dist/mjs/undefined.js","src/model/Color/Hex.ts","src/model/Color/HSL.ts","src/model/Color/RGB.ts","src/model/Color/index.ts","src/model/Icon.ts","src/model/Message.ts","src/model/Trigger.ts","src/model/Listenable.ts","src/model/Data.ts","src/model/Submit.ts","src/model/Scrollable.ts"],"sourcesContent":["export class Type {\n get name() {\n return typeof this._name == \"function\" ? this._name() : this._name;\n }\n get condition() {\n return typeof this._condition == \"function\" ? this._condition() : this._condition;\n }\n optional() {\n return new IslyOptional(this);\n }\n readonly() {\n return new IslyReadonly(this);\n }\n array(...options) {\n return array(this, ...options);\n }\n constructor(_name, _condition) {\n this._name = _name;\n this._condition = _condition;\n /**\n * Return a flaw object, describing the flaws of the value compared to expected type.\n *\n * If it is a correct value, according to the type, it returns a Flaw with the message `{message:\"This type is correct.\", isFlaw: false, ... }`\n *\n * Implemented as a closure.\n */\n this.flaw = (value) => {\n return this.is(value)\n ? {\n type: this.name,\n ...(this.condition ? { condition: this.condition } : undefined),\n isFlaw: false,\n message: \"This type is correct.\",\n }\n : {\n ...(this.condition ? { condition: this.condition } : undefined),\n ...this.createFlaw(value),\n type: this.name,\n };\n };\n }\n /**\n * Return the value if the value is valid for the type, otherwise undefined.\n * For objects, unknown properties are filtered.\n *\n * Eg: isly.number().value(NaN) returns undefined\n */\n get(value) {\n return this.is(value) ? this.getValue(value) : undefined;\n }\n getValue(value) {\n return value;\n }\n /**\n * Override this to create custom Flaws.\n * Not necessary for simple types.\n */\n createFlaw(value) {\n return {};\n }\n /**\n * Used by types that use a backend type.\n */\n createFlawFromType(backend, value) {\n return \"createFlaw\" in backend && typeof backend.createFlaw == \"function\"\n ? backend.createFlaw(value)\n : backend.flaw(value);\n }\n}\nexport class IslyOptional extends Type {\n constructor(backend) {\n super(() => backend.name + \" | undefined\", backend.condition);\n this.backend = backend;\n this.class = \"optional\";\n this.is = (value) => value == undefined || this.backend.is(value);\n }\n createFlaw(value) {\n return this.createFlawFromType(this.backend, value);\n }\n}\nexport class IslyReadonly extends Type {\n constructor(backend) {\n super(() => `Readonly<${backend.name}>`, backend.condition);\n this.backend = backend;\n this.class = \"readonly\";\n this.is = (value) => value == undefined || this.backend.is(value);\n }\n createFlaw(value) {\n return this.createFlawFromType(this.backend, value);\n }\n}\nexport function array(itemType, ...options) {\n return new IslyArray(itemType, options);\n}\nconst criteriaFunctions = {\n length: {\n is: (value, optionValue) => value.length == optionValue,\n condition: optionValue => `length == ${optionValue}`,\n },\n minLength: {\n is: (value, optionValue) => value.length >= optionValue,\n condition: optionValue => `minLength == ${optionValue}`,\n },\n maxLength: {\n is: (value, optionValue) => value.length <= optionValue,\n condition: optionValue => `maxLength == ${optionValue}`,\n },\n};\nexport class IslyArray extends Type {\n constructor(itemType, options) {\n super(() => this.baseName() + \"[]\", options.length > 0 ? options.map(c => criteriaFunctions[c.criteria].condition(c.value)).join(\" & \") : undefined);\n this.itemType = itemType;\n this.options = options;\n this.class = \"array\";\n this.is = (value) => globalThis.Array.isArray(value) &&\n this.options.every(option => criteriaFunctions[option.criteria].is(value, option.value)) &&\n value.every(item => this.itemType.is(item));\n }\n baseName() {\n return this.itemType.name.includes(\" \") ? `(${this.itemType.name})` : this.itemType.name;\n }\n itemName(index) {\n return `${this.baseName()}[${index}]`;\n }\n createFlaw(value) {\n const flaws = (globalThis.Array.isArray(value) &&\n value.flatMap((item, index) => {\n const subFlaw = this.itemType.flaw(item);\n return subFlaw.isFlaw ?? true ? [{ ...subFlaw, type: this.itemName(index) }] : [];\n })) ||\n [];\n return {\n ...(flaws.length > 0 ? { flaws } : undefined),\n };\n }\n getValue(value) {\n return value.map(item => this.itemType.get(item));\n }\n}\n//# sourceMappingURL=Type.js.map","import { Type } from \"./Type\";\nexport function boolean(booleanValue) {\n return new IslyBoolean(booleanValue);\n}\nexport class IslyBoolean extends Type {\n constructor(booleanValue) {\n super(booleanValue == undefined ? \"boolean\" : booleanValue ? \"true\" : \"false\");\n this.booleanValue = booleanValue;\n this.class = \"boolean\";\n this.is = (value) => typeof value == \"boolean\" && (this.booleanValue == undefined || value == this.booleanValue);\n }\n}\n//# sourceMappingURL=boolean.js.map","import { Type } from \"./Type\";\n/**\n * Late evaluation of a type\n * Can be used for for recursive types.\n *\n * @param factory\n * @param name Provide a name, to avoid infinite loop if the type i recursive\n * @returns\n */\nexport function lazy(factory, name) {\n return new IslyLazy(factory, name);\n}\nexport class IslyLazy extends Type {\n constructor(factory, name) {\n super(name ?? (() => (this.backend ??= factory()).name), () => (this.backend ??= factory()).condition);\n this.factory = factory;\n this.class = \"lazy\";\n this.is = (value) => (this.backend ??= this.factory()).is(value);\n }\n createFlaw(value) {\n return this.createFlawFromType((this.backend ??= this.factory()), value);\n }\n getBackend() {\n return this.backend;\n }\n get(value) {\n return this.backend.get(value);\n }\n}\n//# sourceMappingURL=lazy.js.map","import { Type } from \"./Type\";\nexport function object(properties, name) {\n return new IslyObject(properties ?? {}, name);\n}\nexport class IslyObject extends Type {\n constructor(properties, name, baseType) {\n super(() => name ??\n (this.baseType ? `${this.baseType.name} & ` : \"\") +\n `{${globalThis.Object.entries(this.properties)\n .map(([property, type]) => `${property}: ${type.name}`)\n .join(\", \")}}`);\n this.properties = properties;\n this.baseType = baseType;\n this.class = \"object\";\n this.is = (value) => !!(value &&\n (this.baseType == undefined || this.baseType.is(value)) &&\n typeof value == \"object\" &&\n !globalThis.Array.isArray(value) &&\n globalThis.Object.entries(this.properties).every(([property, type]) => type.is(value[property])));\n }\n extend(properties, name) {\n return new IslyObject(properties, name, this);\n }\n omit(omits, name) {\n return new IslyObject(globalThis.Object.fromEntries(globalThis.Object.entries(this.properties).filter(([key]) => !omits.includes(key))), name ?? `Omit<${this.name}, ${omits.map(key => `\"${String(key)}\"`).join(\" | \")}>`, this.baseType?.omit(omits));\n }\n pick(picks, name) {\n return new IslyObject(globalThis.Object.fromEntries(globalThis.Object.entries(this.properties).filter(([key]) => picks.includes(key))), name ?? `Pick<${this.name}, ${picks.map(key => `\"${String(key)}\"`).join(\" | \")}>`, this.baseType?.pick(picks));\n }\n createFlaw(value) {\n return {\n flaws: [\n this.baseType ? this.baseType.flaw(value)?.flaws ?? [] : [],\n globalThis.Object.entries(this.properties)\n .map(([property, type]) => [property, type.flaw(value?.[property])])\n .map(([property, flaw]) => (flaw?.isFlaw ?? true) && { property, ...flaw })\n .filter(flaw => flaw),\n ]\n .flat()\n .filter(flaw => flaw?.isFlaw ?? true),\n };\n }\n /**\n * get-function on a object returns a object with only specified properties\n */\n getValue(value) {\n const result = this.baseType ? this.baseType.getValue(value) : {};\n if (result)\n for (const [key, type] of globalThis.Object.entries(this.properties))\n if (key in value)\n result[key] = type.get(value[key]);\n return result;\n }\n getProperties() {\n return { ...this.baseType?.getProperties(), ...this.properties };\n }\n}\n//# sourceMappingURL=object.js.map","import { Type } from \"./Type\";\nexport function string(condition) {\n return new IslyString(condition);\n}\nexport class IslyString extends Type {\n constructor(stringCondition) {\n super(typeof stringCondition == \"string\" ? `\"${stringCondition}\"` : \"string\", () => {\n const conditionObject = this.getConditionObject();\n return conditionObject instanceof RegExp\n ? `/${conditionObject.source}/${conditionObject.flags}`\n : globalThis.Object.keys(conditionObject)\n .map(key => `\"${key}\"`)\n .join(\" | \");\n });\n this.stringCondition = stringCondition;\n this.class = \"string\";\n this.is = (value) => {\n const conditionObject = this.getConditionObject();\n return (typeof value == \"string\" &&\n (conditionObject instanceof RegExp\n ? conditionObject.test(value)\n : typeof conditionObject == \"object\"\n ? value in conditionObject //TODO, avoid \"hasOwnProperty toString etc.\"\n : conditionObject));\n };\n }\n getConditionObject() {\n return (this.conditionObject ??= Array.isArray(this.stringCondition)\n ? this.stringCondition.reduce((result, current) => {\n result[current] = true;\n return result;\n }, globalThis.Object.create(null))\n : typeof this.stringCondition == \"string\"\n ? { [this.stringCondition]: true }\n : typeof this.stringCondition == \"object\" // Record or RegExp!\n ? this.stringCondition\n : true);\n }\n}\n//# sourceMappingURL=string.js.map","import { boolean } from \"./boolean\";\nimport { lazy } from \"./lazy\";\nimport { object } from \"./object\";\nimport { string } from \"./string\";\nimport { array } from \"./Type\";\nexport var Flaw;\n(function (Flaw) {\n Flaw.type = object({\n message: string().optional(),\n isFlaw: boolean().optional(),\n property: string().optional(),\n type: string(),\n flaws: array(lazy(() => Flaw.type)).optional(),\n condition: string().optional(),\n }, \"Flaw\");\n Flaw.is = Flaw.type.is;\n Flaw.flaw = Flaw.type.flaw;\n})(Flaw || (Flaw = {}));\n//# sourceMappingURL=Flaw.js.map","import { Type } from \"./Type\";\nexport function fromIs(name, is) {\n return new IslyFromIs(name, is);\n}\nexport class IslyFromIs extends Type {\n constructor(name, isFunction) {\n super(name);\n this.isFunction = isFunction;\n this.class = \"fromIs\";\n this.is = (value) => this.isFunction(value);\n }\n}\n//# sourceMappingURL=fromIs.js.map","import { Type } from \"./Type\";\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport function islyFunction() {\n return new IslyFunction();\n}\n// eslint-disable-next-line @typescript-eslint/ban-types\nexport class IslyFunction extends Type {\n constructor() {\n super(\"function\");\n this.class = \"function\";\n this.is = (value) => !!(value && typeof value == \"function\");\n }\n}\n//# sourceMappingURL=function.js.map","import { Type } from \"./Type\";\nconst criteriaFunctions = {\n positive: {\n is: (value) => value > 0,\n condition: \"> 0\",\n },\n negative: {\n is: (value) => value < 0,\n condition: \"< 0\",\n },\n integer: {\n is: (value) => Number.isInteger(value),\n condition: \"Number.isInteger\",\n },\n};\n/**\n * NaN, Infinite and -Infinite is not considered to be numbers by this type,\n * since that it is hardly ever desirable when validating input data.\n *\n * @param criteria\n * @returns\n */\nexport function number(criteria) {\n const [isFunction, condition] = criteria == undefined ? [undefined, undefined] : fromCriteria(criteria);\n return new IslyNumber(isFunction, condition);\n}\nfunction fromCriteria(criteria) {\n return /* Eg: criteria == 42 */ typeof criteria == \"number\"\n ? [value => value == criteria, \" == \" + criteria.toString()]\n : // Eg: criteria == [0,1,2]\n ((c) => Array.isArray(c) && c.every(c => typeof c == \"number\"))(criteria)\n ? [value => criteria.map(fromCriteria).some(c => c[0](value)), criteria.join(\" | \")]\n : // Eg: criteria == [\"positive\", \"negative\"]\n ((c) => Array.isArray(c) && c.every(c => typeof c == \"string\" && c in criteriaFunctions))(criteria)\n ? [\n value => criteria.map(fromCriteria).every(c => c[0](value)),\n criteria\n .map(fromCriteria)\n .map(c => c[1])\n .join(\" & \"),\n ]\n : // Eg: criteria == () => true\n typeof criteria === \"function\"\n ? [criteria, \"custom\"]\n : // Eg: criteria == \"positive\"\n criteria in criteriaFunctions\n ? [criteriaFunctions[criteria].is, criteriaFunctions[criteria].condition]\n : // Eg: criteria is unknown\n [() => false, \"Unknown criteria\"];\n}\nexport class IslyNumber extends Type {\n constructor(isFunction, condition) {\n super(\"number\", condition);\n this.isFunction = isFunction;\n this.class = \"number\";\n this.is = (value) => typeof value == \"number\" &&\n !Number.isNaN(value - value) && // NaN-NaN==NaN && Infinity-Infinity==NaN && (-Infinity)-(-Infinity)==NaN\n (!this.isFunction || this.isFunction(value));\n }\n}\n//# sourceMappingURL=number.js.map","import { Type } from \"./Type\";\nexport function record(keyType, valueType) {\n return new IslyRecord(keyType, valueType);\n}\nexport class IslyRecord extends Type {\n constructor(keyType, valueType) {\n super(() => `Record<${keyType.name}, ${valueType.name}>`);\n this.keyType = keyType;\n this.valueType = valueType;\n this.class = \"record\";\n this.is = (value) => !!(value &&\n typeof value == \"object\" &&\n !globalThis.Array.isArray(value) &&\n globalThis.Object.entries(value).every(([key, value]) => this.keyType.is(this.keyType.name == \"number\" && `${+key}` == key ? +key : key) && this.valueType.is(value)));\n }\n createFlaw(value) {\n return {\n flaws: value &&\n typeof value == \"object\" &&\n !globalThis.Array.isArray(value) &&\n globalThis.Object.entries(value).flatMap(([key, propertyValue]) => [\n this.keyType.flaw(this.keyType.name == \"number\" && `${+key}` == key ? +key : key),\n this.valueType.flaw(propertyValue),\n ]\n .map((flaw, index) => (flaw.isFlaw ?? true) && { property: key + ` (${[\"key\", \"value\"][index]})`, ...flaw })\n .filter(Boolean)),\n };\n }\n getValue(value) {\n return globalThis.Object.fromEntries(globalThis.Object.entries(value).map(([key, value]) => [key, this.valueType.get(value)]));\n }\n}\n//# sourceMappingURL=record.js.map","import { Type } from \"./Type\";\nexport function union(...types) {\n return new IslyUnion(...types);\n}\nexport class IslyUnion extends Type {\n constructor(...types) {\n super(() => types.map(type => type.name).join(\" | \"));\n this.class = \"union\";\n this.is = (value) => this.types.some(type => type.is(value));\n this.types = types;\n }\n createFlaw(value) {\n return {\n flaws: this.types.map(type => type.flaw(value)).filter(flaw => flaw),\n };\n }\n getValue(value) {\n return this.types.find(type => type.is(value))?.get(value);\n }\n}\n//# sourceMappingURL=union.js.map","import { Type } from \"./Type\";\nexport function islyUndefined(name) {\n return new IslyUndefined(name ?? \"undefined\");\n}\nexport class IslyUndefined extends Type {\n constructor() {\n super(...arguments);\n this.class = \"undefined\";\n this.is = (value) => value === undefined;\n }\n}\n//# sourceMappingURL=undefined.js.map","import { isly } from \"isly\"\nimport type { RGB } from \"./RGB\"\n\nexport type Hex = string\nexport namespace Hex {\n\texport const type = isly.string(new RegExp(/^#([0-9a-f]{3}|[0-9a-f]{6})$/i))\n\texport function toRGB(hex: string): RGB {\n\t\thex = hex.replace(/^#/, \"\")\n\t\tif (hex.length === 3) {\n\t\t\thex = hex\n\t\t\t\t.split(\"\")\n\t\t\t\t.map(char => char + char)\n\t\t\t\t.join(\"\")\n\t\t}\n\t\tconst bigint = parseInt(hex, 16)\n\t\tconst r = (bigint >> 16) & 255\n\t\tconst g = (bigint >> 8) & 255\n\t\tconst b = bigint & 255\n\t\treturn { r, g, b }\n\t}\n}\n","import { isly } from \"isly\"\nimport type { RGB } from \"./RGB\"\n\nexport type HSL = {\n\th: number | undefined\n\ts: number | undefined\n\tl: number | undefined\n}\nexport namespace HSL {\n\texport const type = isly.object<HSL>({\n\t\th: isly.number().optional(),\n\t\ts: isly.number().optional(),\n\t\tl: isly.number().optional(),\n\t})\n\texport function toRGB({ h, s, l }: HSL): RGB {\n\t\tlet r = 0\n\t\tlet g = 0\n\t\tlet b = 0\n\t\tif (h !== undefined && s !== undefined && l !== undefined) {\n\t\t\ts /= 100\n\t\t\tl /= 100\n\t\t\tconst c = (1 - Math.abs(2 * l - 1)) * s\n\t\t\tconst x = c * (1 - Math.abs(((h / 60) % 2) - 1))\n\t\t\tconst m = l - c / 2\n\t\t\tif (0 <= h && h < 60) {\n\t\t\t\tr = c\n\t\t\t\tg = x\n\t\t\t\tb = 0\n\t\t\t} else if (60 <= h && h < 120) {\n\t\t\t\tr = x\n\t\t\t\tg = c\n\t\t\t\tb = 0\n\t\t\t} else if (120 <= h && h < 180) {\n\t\t\t\tr = 0\n\t\t\t\tg = c\n\t\t\t\tb = x\n\t\t\t} else if (180 <= h && h < 240) {\n\t\t\t\tr = 0\n\t\t\t\tg = x\n\t\t\t\tb = c\n\t\t\t} else if (240 <= h && h < 300) {\n\t\t\t\tr = x\n\t\t\t\tg = 0\n\t\t\t\tb = c\n\t\t\t} else if (300 <= h && h < 360) {\n\t\t\t\tr = c\n\t\t\t\tg = 0\n\t\t\t\tb = x\n\t\t\t}\n\t\t\tr = (r + m) * 255\n\t\t\tg = (g + m) * 255\n\t\t\tb = (b + m) * 255\n\t\t}\n\t\treturn { r, g, b }\n\t}\n}\n","import { isly } from \"isly\"\nimport type { Hex } from \"./Hex\"\nimport type { HSL } from \"./HSL\"\n\nexport type RGB = {\n\tr: number | undefined\n\tg: number | undefined\n\tb: number | undefined\n}\nexport namespace RGB {\n\texport const type = isly.object<RGB>({\n\t\tr: isly.number().optional(),\n\t\tg: isly.number().optional(),\n\t\tb: isly.number().optional(),\n\t})\n\texport function toHex(rgb: RGB): Hex {\n\t\tlet hex = \"\"\n\t\tfor (const component of Object.values(rgb)) {\n\t\t\tif (component === 0) {\n\t\t\t\thex += \"00\"\n\t\t\t} else if (component && component >= 0 && component <= 255) {\n\t\t\t\tconst temp = Math.round(component).toString(16)\n\t\t\t\thex += temp.length === 1 ? \"0\" + temp : temp\n\t\t\t}\n\t\t}\n\t\tconst hexPairs = [hex.slice(0, 2), hex.slice(2, 4), hex.slice(4, 6)]\n\t\thexPairs.every(pair => pair[0] === pair[1]) && (hex = hexPairs.map(pair => pair[0]).join(\"\"))\n\t\treturn \"#\" + hex\n\t}\n\texport function toHSL({ r, g, b }: RGB): HSL {\n\t\tlet h: number | undefined, s: number | undefined, l: number | undefined\n\t\tif (r !== undefined && g !== undefined && b !== undefined) {\n\t\t\tr /= 255\n\t\t\tg /= 255\n\t\t\tb /= 255\n\t\t\tconst max = Math.max(r, g, b)\n\t\t\tconst min = Math.min(r, g, b)\n\t\t\tl = (max + min) / 2\n\t\t\tif (max === min) {\n\t\t\t\th = s = 0\n\t\t\t} else {\n\t\t\t\tconst d = max - min\n\t\t\t\ts = l > 0.5 ? d / (2 - max - min) : d / (max + min)\n\t\t\t\tswitch (max) {\n\t\t\t\t\tcase r:\n\t\t\t\t\t\th = (g - b) / d + (g < b ? 6 : 0)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase g:\n\t\t\t\t\t\th = (b - r) / d + 2\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase b:\n\t\t\t\t\t\th = (r - g) / d + 4\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\th = 0\n\t\t\t\t}\n\t\t\t\th /= 6\n\t\t\t}\n\t\t\th = h * 360\n\t\t\ts = s * 100\n\t\t\tl = l * 100\n\t\t}\n\t\treturn { h, s, l }\n\t}\n}\n","import { isly } from \"isly\"\nimport { Hex as ColorHex } from \"./Hex\"\nimport { HSL as ColorHSL } from \"./HSL\"\nimport { RGB as ColorRGB } from \"./RGB\"\n\nexport type Color = typeof Color.types[number]\n\nexport namespace Color {\n\texport import Hex = ColorHex\n\texport import HSL = ColorHSL\n\texport import RGB = ColorRGB\n\texport const types = [\n\t\t\"default\",\n\t\t\"primary\",\n\t\t\"secondary\",\n\t\t\"tertiary\",\n\t\t\"success\",\n\t\t\"warning\",\n\t\t\"danger\",\n\t\t\"light\",\n\t\t\"medium\",\n\t\t\"dark\",\n\t] as const\n\texport const type = isly.string(types)\n\texport const is = type.is\n}\n","type Variants = \"outline\" | \"sharp\"\nexport type Icon = Icon.Name | `${Icon.Name}-${Variants}` | Icon.Logo\n\nexport namespace Icon {\n\tconst names: Record<string, string | undefined> & { \"*\": string } = {\n\t\t\"*\": \"https://ionicons.pages.dev/svg/${name}.svg\",\n\t}\n\tconst cache: { [url: string]: Promise<string | undefined> | undefined } = {}\n\tasync function fetch(url: string): Promise<string | undefined> {\n\t\tconst response = await globalThis.fetch(url)\n\t\treturn response.ok ? response.text() : undefined\n\t}\n\texport async function load(name: string): Promise<string | undefined> {\n\t\tconst url = (names[name] ?? names[\"*\"]).replace(\"${name}\", name)\n\t\treturn cache[url] ?? (cache[url] = fetch(url))\n\t}\n\texport function add(url: string, ...name: string[]): void {\n\t\tfor (const n of name)\n\t\t\tnames[n] = url\n\t}\n\n\texport type Name = typeof Name.values[number]\n\texport namespace Name {\n\t\texport const values = [\n\t\t\t\"accessibility\",\n\t\t\t\"add-circle\",\n\t\t\t\"add\",\n\t\t\t\"airplane\",\n\t\t\t\"alarm\",\n\t\t\t\"albums\",\n\t\t\t\"alert-circle\",\n\t\t\t\"alert\",\n\t\t\t\"american-football\",\n\t\t\t\"analytics\",\n\t\t\t\"aperture\",\n\t\t\t\"apps\",\n\t\t\t\"archive\",\n\t\t\t\"arrow-back-circle\",\n\t\t\t\"arrow-back\",\n\t\t\t\"arrow-down-circle\",\n\t\t\t\"arrow-down\",\n\t\t\t\"arrow-forward-circle\",\n\t\t\t\"arrow-forward\",\n\t\t\t\"arrow-redo-circle\",\n\t\t\t\"arrow-redo\",\n\t\t\t\"arrow-undo-circle\",\n\t\t\t\"arrow-undo\",\n\t\t\t\"arrow-up-circle\",\n\t\t\t\"arrow-up\",\n\t\t\t\"at-circle\",\n\t\t\t\"at\",\n\t\t\t\"attach\",\n\t\t\t\"backspace\",\n\t\t\t\"bag\",\n\t\t\t\"bag-add\",\n\t\t\t\"bag-check\",\n\t\t\t\"bag-handle\",\n\t\t\t\"balloon\",\n\t\t\t\"ban\",\n\t\t\t\"bandage\",\n\t\t\t\"barbell\",\n\t\t\t\"bar-chart\",\n\t\t\t\"barcode\",\n\t\t\t\"baseball\",\n\t\t\t\"basketball\",\n\t\t\t\"basket\",\n\t\t\t\"battery-charging\",\n\t\t\t\"battery-dead\",\n\t\t\t\"battery-full\",\n\t\t\t\"battery-half\",\n\t\t\t\"beaker\",\n\t\t\t\"bed\",\n\t\t\t\"beer\",\n\t\t\t\"bicycle\",\n\t\t\t\"bluetooth\",\n\t\t\t\"boat\",\n\t\t\t\"body\",\n\t\t\t\"bonfire\",\n\t\t\t\"bowling-ball\",\n\t\t\t\"bookmarks\",\n\t\t\t\"bookmark\",\n\t\t\t\"book\",\n\t\t\t\"briefcase\",\n\t\t\t\"browsers\",\n\t\t\t\"brush\",\n\t\t\t\"bug\",\n\t\t\t\"build\",\n\t\t\t\"bulb\",\n\t\t\t\"business\",\n\t\t\t\"bus\",\n\t\t\t\"cafe\",\n\t\t\t\"calculator\",\n\t\t\t\"calendar\",\n\t\t\t\"calendar-clear\",\n\t\t\t\"calendar-number\",\n\t\t\t\"call\",\n\t\t\t\"camera-reverse\",\n\t\t\t\"camera\",\n\t\t\t\"card\",\n\t\t\t\"caret-back-circle\",\n\t\t\t\"caret-back\",\n\t\t\t\"caret-down-circle\",\n\t\t\t\"caret-down\",\n\t\t\t\"caret-forward-circle\",\n\t\t\t\"caret-forward\",\n\t\t\t\"caret-up-circle\",\n\t\t\t\"caret-up\",\n\t\t\t\"car-sport\",\n\t\t\t\"car\",\n\t\t\t\"cart\",\n\t\t\t\"cash\",\n\t\t\t\"cellular\",\n\t\t\t\"chatbox-ellipses\",\n\t\t\t\"chatbox\",\n\t\t\t\"chatbubble-ellipses\",\n\t\t\t\"chatbubbles\",\n\t\t\t\"chatbubble\",\n\t\t\t\"checkbox\",\n\t\t\t\"checkmark-circle\",\n\t\t\t\"checkmark-done-circle\",\n\t\t\t\"checkmark-done\",\n\t\t\t\"checkmark\",\n\t\t\t\"chevron-back-circle\",\n\t\t\t\"chevron-back\",\n\t\t\t\"chevron-down-circle\",\n\t\t\t\"chevron-down\",\n\t\t\t\"chevron-forward-circle\",\n\t\t\t\"chevron-forward\",\n\t\t\t\"chevron-up-circle\",\n\t\t\t\"chevron-up\",\n\t\t\t\"clipboard\",\n\t\t\t\"close-circle\",\n\t\t\t\"close\",\n\t\t\t\"cloud-circle\",\n\t\t\t\"cloud-done\",\n\t\t\t\"cloud-download\",\n\t\t\t\"cloud-offline\",\n\t\t\t\"cloud\",\n\t\t\t\"cloud-upload\",\n\t\t\t\"cloudy-night\",\n\t\t\t\"cloudy\",\n\t\t\t\"code-download\",\n\t\t\t\"code-slash\",\n\t\t\t\"code\",\n\t\t\t\"code-working\",\n\t\t\t\"cog\",\n\t\t\t\"color-fill\",\n\t\t\t\"color-filter\",\n\t\t\t\"color-palette\",\n\t\t\t\"color-wand\",\n\t\t\t\"compass\",\n\t\t\t\"construct\",\n\t\t\t\"contract\",\n\t\t\t\"contrast\",\n\t\t\t\"copy\",\n\t\t\t\"create\",\n\t\t\t\"crop\",\n\t\t\t\"cube\",\n\t\t\t\"cut\",\n\t\t\t\"desktop\",\n\t\t\t\"diamond\",\n\t\t\t\"dice\",\n\t\t\t\"disc\",\n\t\t\t\"document-attach\",\n\t\t\t\"document-lock\",\n\t\t\t\"documents\",\n\t\t\t\"document\",\n\t\t\t\"document-text\",\n\t\t\t\"download\",\n\t\t\t\"duplicate\",\n\t\t\t\"ear\",\n\t\t\t\"earth\",\n\t\t\t\"easel\",\n\t\t\t\"egg\",\n\t\t\t\"ellipse\",\n\t\t\t\"ellipsis-horizontal-circle\",\n\t\t\t\"ellipsis-horizontal\",\n\t\t\t\"ellipsis-vertical-circle\",\n\t\t\t\"ellipsis-vertical\",\n\t\t\t\"enter\",\n\t\t\t\"exit\",\n\t\t\t\"expand\",\n\t\t\t\"eyedrop\",\n\t\t\t\"eye-off\",\n\t\t\t\"eye\",\n\t\t\t\"fast-food\",\n\t\t\t\"female\",\n\t\t\t\"file-tray-full\",\n\t\t\t\"file-tray-stacked\",\n\t\t\t\"file-tray\",\n\t\t\t\"film\",\n\t\t\t\"filter\",\n\t\t\t\"filter-circle\",\n\t\t\t\"finger-print\",\n\t\t\t\"fish\",\n\t\t\t\"fitness\",\n\t\t\t\"flag\",\n\t\t\t\"flame\",\n\t\t\t\"flashlight\",\n\t\t\t\"flash-off\",\n\t\t\t\"flash\",\n\t\t\t\"flask\",\n\t\t\t\"flower\",\n\t\t\t\"folder-open\",\n\t\t\t\"folder\",\n\t\t\t\"football\",\n\t\t\t\"footsteps\",\n\t\t\t\"funnel\",\n\t\t\t\"game-controller\",\n\t\t\t\"gift\",\n\t\t\t\"git-branch\",\n\t\t\t\"git-commit\",\n\t\t\t\"git-compare\",\n\t\t\t\"git-merge\",\n\t\t\t\"git-network\",\n\t\t\t\"git-pull-request\",\n\t\t\t\"glasses\",\n\t\t\t\"globe\",\n\t\t\t\"golf\",\n\t\t\t\"grid\",\n\t\t\t\"hammer\",\n\t\t\t\"hand-left\",\n\t\t\t\"hand-right\",\n\t\t\t\"happy\",\n\t\t\t\"hardware-chip\",\n\t\t\t\"headset\",\n\t\t\t\"heart-circle\",\n\t\t\t\"heart-dislike-circle\",\n\t\t\t\"heart-dislike\",\n\t\t\t\"heart-half\",\n\t\t\t\"heart\",\n\t\t\t\"help-buoy\",\n\t\t\t\"help-circle\",\n\t\t\t\"help\",\n\t\t\t\"home\",\n\t\t\t\"hourglass\",\n\t\t\t\"ice-cream\",\n\t\t\t\"id-card\",\n\t\t\t\"images\",\n\t\t\t\"image\",\n\t\t\t\"infinite\",\n\t\t\t\"information-circle\",\n\t\t\t\"information\",\n\t\t\t\"journal\",\n\t\t\t\"invert-mode\",\n\t\t\t\"keypad\",\n\t\t\t\"key\",\n\t\t\t\"language\",\n\t\t\t\"laptop\",\n\t\t\t\"layers\",\n\t\t\t\"leaf\",\n\t\t\t\"library\",\n\t\t\t\"link\",\n\t\t\t\"list-circle\",\n\t\t\t\"list\",\n\t\t\t\"locate\",\n\t\t\t\"location\",\n\t\t\t\"lock-closed\",\n\t\t\t\"lock-open\",\n\t\t\t\"log-in\",\n\t\t\t\"log-out\",\n\t\t\t\"magnet\",\n\t\t\t\"mail-open\",\n\t\t\t\"mail\",\n\t\t\t\"mail-unread\",\n\t\t\t\"male-female\",\n\t\t\t\"male\",\n\t\t\t\"man\",\n\t\t\t\"map\",\n\t\t\t\"medal\",\n\t\t\t\"medical\",\n\t\t\t\"medkit\",\n\t\t\t\"megaphone\",\n\t\t\t\"menu\",\n\t\t\t\"mic-circle\",\n\t\t\t\"mic-off-circle\",\n\t\t\t\"mic-off\",\n\t\t\t\"mic\",\n\t\t\t\"moon\",\n\t\t\t\"move\",\n\t\t\t\"musical-notes\",\n\t\t\t\"musical-note\",\n\t\t\t\"navigate-circle\",\n\t\t\t\"navigate\",\n\t\t\t\"newspaper\",\n\t\t\t\"notifications-circle\",\n\t\t\t\"notifications-off-circle\",\n\t\t\t\"notifications-off\",\n\t\t\t\"notifications\",\n\t\t\t\"nuclear\",\n\t\t\t\"nutrition\",\n\t\t\t\"open\",\n\t\t\t\"options\",\n\t\t\t\"paper-plane\",\n\t\t\t\"partly-sunny\",\n\t\t\t\"pause-circle\",\n\t\t\t\"pause\",\n\t\t\t\"paw\",\n\t\t\t\"pencil\",\n\t\t\t\"people-circle\",\n\t\t\t\"people\",\n\t\t\t\"person-add\",\n\t\t\t\"person-circle\",\n\t\t\t\"person-remove\",\n\t\t\t\"person\",\n\t\t\t\"phone-landscape\",\n\t\t\t\"phone-portrait\",\n\t\t\t\"pie-chart\",\n\t\t\t\"pin\",\n\t\t\t\"pint\",\n\t\t\t\"pizza\",\n\t\t\t\"planet\",\n\t\t\t\"play-back-circle\",\n\t\t\t\"play-back\",\n\t\t\t\"play-circle\",\n\t\t\t\"play-forward-circle\",\n\t\t\t\"play-forward\",\n\t\t\t\"play-skip-back-circle\",\n\t\t\t\"play-skip-back\",\n\t\t\t\"play-skip-forward-circle\",\n\t\t\t\"play-skip-forward\",\n\t\t\t\"play\",\n\t\t\t\"podium\",\n\t\t\t\"power\",\n\t\t\t\"pricetags\",\n\t\t\t\"prism\",\n\t\t\t\"pricetag\",\n\t\t\t\"print\",\n\t\t\t\"pulse\",\n\t\t\t\"push\",\n\t\t\t\"qr-code\",\n\t\t\t\"radio-button-off\",\n\t\t\t\"radio-button-on\",\n\t\t\t\"radio\",\n\t\t\t\"rainy\",\n\t\t\t\"reader\",\n\t\t\t\"receipt\",\n\t\t\t\"recording\",\n\t\t\t\"refresh-circle\",\n\t\t\t\"refresh\",\n\t\t\t\"reload-circle\",\n\t\t\t\"reload\",\n\t\t\t\"remove-circle\",\n\t\t\t\"remove\",\n\t\t\t\"reorder-four\",\n\t\t\t\"reorder-three\",\n\t\t\t\"reorder-two\",\n\t\t\t\"repeat\",\n\t\t\t\"resize\",\n\t\t\t\"restaurant\",\n\t\t\t\"return-down-back\",\n\t\t\t\"return-down-forward\",\n\t\t\t\"return-up-back\",\n\t\t\t\"return-up-forward\",\n\t\t\t\"ribbon\",\n\t\t\t\"rocket\",\n\t\t\t\"rose\",\n\t\t\t\"sad\",\n\t\t\t\"save\",\n\t\t\t\"scan-circle\",\n\t\t\t\"scale\",\n\t\t\t\"scan\",\n\t\t\t\"school\",\n\t\t\t\"search-circle\",\n\t\t\t\"search\",\n\t\t\t\"send\",\n\t\t\t\"server\",\n\t\t\t\"settings\",\n\t\t\t\"shapes\",\n\t\t\t\"share-social\",\n\t\t\t\"share\",\n\t\t\t\"shield-checkmark\",\n\t\t\t\"shield-half\",\n\t\t\t\"shield\",\n\t\t\t\"shirt\",\n\t\t\t\"shuffle\",\n\t\t\t\"skull\",\n\t\t\t\"snow\",\n\t\t\t\"sparkles\",\n\t\t\t\"speedometer\",\n\t\t\t\"square\",\n\t\t\t\"star-half\",\n\t\t\t\"star\",\n\t\t\t\"stats-chart\",\n\t\t\t\"stop-circle\",\n\t\t\t\"stop\",\n\t\t\t\"stopwatch\",\n\t\t\t\"storefront\",\n\t\t\t\"subway\",\n\t\t\t\"sunny\",\n\t\t\t\"swap-horizontal\",\n\t\t\t\"swap-vertical\",\n\t\t\t\"sync-circle\",\n\t\t\t\"sync\",\n\t\t\t\"tablet-landscape\",\n\t\t\t\"tablet-portrait\",\n\t\t\t\"telescope\",\n\t\t\t\"tennisball\",\n\t\t\t\"terminal\",\n\t\t\t\"text\",\n\t\t\t\"thermometer\",\n\t\t\t\"thumbs-down\",\n\t\t\t\"thumbs-up\",\n\t\t\t\"thunderstorm\",\n\t\t\t\"ticket\",\n\t\t\t\"timer\",\n\t\t\t\"time\",\n\t\t\t\"today\",\n\t\t\t\"toggle\",\n\t\t\t\"trail-sign\",\n\t\t\t\"train\",\n\t\t\t\"transgender\",\n\t\t\t\"trash-bin\",\n\t\t\t\"trash\",\n\t\t\t\"trending-down\",\n\t\t\t\"trending-up\",\n\t\t\t\"triangle\",\n\t\t\t\"trophy\",\n\t\t\t\"tv\",\n\t\t\t\"umbrella\",\n\t\t\t\"unlink\",\n\t\t\t\"videocam-off\",\n\t\t\t\"walk\",\n\t\t\t\"wallet\",\n\t\t\t\"warning\",\n\t\t\t\"watch\",\n\t\t\t\"water\",\n\t\t\t\"videocam\",\n\t\t\t\"wifi\",\n\t\t\t\"wine\",\n\t\t\t\"volume-high\",\n\t\t\t\"volume-low\",\n\t\t\t\"volume-medium\",\n\t\t\t\"volume-mute\",\n\t\t\t\"volume-off\",\n\t\t\t\"woman\",\n\t\t] as const\n\t}\n\texport type Logo = typeof Logo.values[number]\n\texport namespace Logo {\n\t\texport const values = [\n\t\t\t\"logo-alipay\",\n\t\t\t\"logo-amazon\",\n\t\t\t\"logo-amplify\",\n\t\t\t\"logo-android\",\n\t\t\t\"logo-angular\",\n\t\t\t\"logo-apple-appstore\",\n\t\t\t\"logo-apple\",\n\t\t\t\"logo-apple-ar\",\n\t\t\t\"logo-behance\",\n\t\t\t\"logo-bitbucket\",\n\t\t\t\"logo-bitcoin\",\n\t\t\t\"logo-buffer\",\n\t\t\t\"logo-capacitor\",\n\t\t\t\"logo-chrome\",\n\t\t\t\"logo-closed-captioning\",\n\t\t\t\"logo-codepen\",\n\t\t\t\"logo-css3\",\n\t\t\t\"logo-designernews\",\n\t\t\t\"logo-deviantart\",\n\t\t\t\"logo-discord\",\n\t\t\t\"logo-docker\",\n\t\t\t\"logo-dribbble\",\n\t\t\t\"logo-dropbox\",\n\t\t\t\"logo-edge\",\n\t\t\t\"logo-electron\",\n\t\t\t\"logo-euro\",\n\t\t\t\"logo-facebook\",\n\t\t\t\"logo-firebase\",\n\t\t\t\"logo-firefox\",\n\t\t\t\"logo-flickr\",\n\t\t\t\"logo-foursquare\",\n\t\t\t\"logo-github\",\n\t\t\t\"logo-gitlab\",\n\t\t\t\"logo-google-playstore\",\n\t\t\t\"logo-google\",\n\t\t\t\"logo-hackernews\",\n\t\t\t\"logo-html5\",\n\t\t\t\"logo-instagram\",\n\t\t\t\"logo-ionic\",\n\t\t\t\"logo-ionitron\",\n\t\t\t\"logo-javascript\",\n\t\t\t\"logo-laravel\",\n\t\t\t\"logo-linkedin\",\n\t\t\t\"logo-markdown\",\n\t\t\t\"logo-mastodon\",\n\t\t\t\"logo-medium\",\n\t\t\t\"logo-microsoft\",\n\t\t\t\"logo-nodejs\",\n\t\t\t\"logo-no-smoking\",\n\t\t\t\"logo-npm\",\n\t\t\t\"logo-octocat\",\n\t\t\t\"logo-paypal\",\n\t\t\t\"logo-pinterest\",\n\t\t\t\"logo-playstation\",\n\t\t\t\"logo-pwa\",\n\t\t\t\"logo-python\",\n\t\t\t\"logo-react\",\n\t\t\t\"logo-reddit\",\n\t\t\t\"logo-rss\",\n\t\t\t\"logo-sass\",\n\t\t\t\"logo-skype\",\n\t\t\t\"logo-slack\",\n\t\t\t\"logo-snapchat\",\n\t\t\t\"logo-soundcloud\",\n\t\t\t\"logo-stackoverflow\",\n\t\t\t\"logo-steam\",\n\t\t\t\"logo-stencil\",\n\t\t\t\"logo-tableau\",\n\t\t\t\"logo-tiktok\",\n\t\t\t\"logo-tumblr\",\n\t\t\t\"logo-tux\",\n\t\t\t\"logo-twitch\",\n\t\t\t\"logo-twitter\",\n\t\t\t\"logo-usd\",\n\t\t\t\"logo-web-component\",\n\t\t\t\"logo-venmo\",\n\t\t\t\"logo-whatsapp\",\n\t\t\t\"logo-vercel\",\n\t\t\t\"logo-vimeo\",\n\t\t\t\"logo-windows\",\n\t\t\t\"logo-vk\",\n\t\t\t\"logo-wordpress\",\n\t\t\t\"logo-vue\",\n\t\t\t\"logo-xbox\",\n\t\t\t\"logo-xing\",\n\t\t\t\"logo-yahoo\",\n\t\t\t\"logo-yen\",\n\t\t\t\"logo-youtube\",\n\t\t] as const\n\t}\n}\n","export interface Message<T> {\n\tdestination: string\n\tcontent: T\n}\n\nexport namespace Message {\n\texport function is(value: Message<any> | any): value is Message<any> {\n\t\treturn typeof value == \"object\" && typeof value.destination == \"string\" && value.content != undefined\n\t}\n\texport function send(message: Message<any>, context?: Window): void\n\texport function send(destination: string, content: any, context?: Window): void\n\texport function send(message: string | Message<any>, content?: any | Window, context?: Window): void {\n\t\tif (Message.is(message) && context == undefined) {\n\t\t\tcontext = content as Window\n\t\t\tif (!context)\n\t\t\t\tcontext = window\n\t\t\tconst destination = message.destination.split(\"#\", 2)\n\t\t\tmessage = { destination: destination[1], content: message.content }\n\t\t\tcontext.postMessage(message, destination[0])\n\t\t} else if (typeof context != \"string\") {\n\t\t\tif (!context)\n\t\t\t\tcontext = window\n\t\t\tif (typeof message == \"string\")\n\t\t\t\tMessage.send({ destination: message, content }, context)\n\t\t}\n\t}\n\texport function listen(origin: string, handle: (destination: string, content: any) => void, context?: Window): void {\n\t\tconst splitted = origin.split(\"#\", 2)\n\t\tlet destination = \"\"\n\t\tif (splitted.length == 2) {\n\t\t\torigin = splitted[0]\n\t\t\tdestination = splitted[1]\n\t\t}\n\t\t;(context || window).addEventListener(\"message\", (e: MessageEvent) => {\n\t\t\tconst message = e.data\n\t\t\tif (\n\t\t\t\tMessage.is(message) &&\n\t\t\t\t(origin == \"*\" || e.origin == origin) &&\n\t\t\t\t(destination == \"\" || message.destination == destination)\n\t\t\t)\n\t\t\t\thandle(message.destination, message.content)\n\t\t})\n\t}\n}\n","export interface Trigger {\n\tname: string\n\tvalue?: any\n}\nexport namespace Trigger {\n\texport function is(value: Trigger | any): value is Trigger {\n\t\treturn typeof value == \"object\" && typeof value.name == \"string\"\n\t}\n}\n","export type WithListenable<T extends Record<string, any>> = T & Listenable<T>\n\nexport type CanBeListenable = Record<string, any>\n\nexport interface HasListenable<T extends CanBeListenable> {\n\treadonly listenable: WithListenable<T>\n}\n\nexport class Listenable<T extends CanBeListenable> {\n\t#listeners: Listeners<ListenableProperties<T>> = {}\n\tlisten<K extends keyof ListenableProperties<T>>(\n\t\tthis: T & Listenable<T>,\n\t\tproperty: K,\n\t\tlistener: Listener<T[K]>,\n\t\toptions?: { lazy?: boolean }\n\t): void {\n\t\tthis.#listeners[property]?.push(listener) ?? (this.#listeners[property] = [listener])\n\t\tif (!options?.lazy)\n\t\t\tlistener(this[property])\n\t}\n\tunlisten<K extends keyof ListenableProperties<T>>(property: K, listener: Listener<T[K]>): void {\n\t\tconst index = this.#listeners[property]?.indexOf(listener)\n\t\tindex != undefined && index >= 0 && this.#listeners[property]?.splice(index, 1)\n\t}\n\tbatchListen(this: T & Listenable<T>, listeners: ListenerBatch<T>, options?: { lazy?: boolean }) {\n\t\tfor (const key in listeners) {\n\t\t\tconst listener = listeners[key]\n\t\t\tlistener && this.listen(key, listener, options)\n\t\t}\n\t}\n\tbatchUnlisten(listeners: ListenerBatch<T>) {\n\t\tfor (const key in listeners) {\n\t\t\tconst listener = listeners[key]\n\t\t\tlistener && this.unlisten(key, listener)\n\t\t}\n\t}\n\n\tstatic load<T extends HasListenable<CanBeListenable>>(backend: T): WithListenable<T> {\n\t\tconst result = backend.listenable\n\n\t\treturn Object.defineProperties(result, getProperties(backend)) as WithListenable<T>\n\n\t\tfunction getProperties(backend: any) {\n\t\t\treturn Object.fromEntries(\n\t\t\t\t(\n\t\t\t\t\tObject.entries({\n\t\t\t\t\t\t...Object.getOwnPropertyDescriptors(backend),\n\t\t\t\t\t\t...Object.getOwnPropertyDescriptors(Object.getPrototypeOf(backend)),\n\t\t\t\t\t}) as [keyof T, PropertyDescriptor][]\n\t\t\t\t).map(([name, descriptor]) => [\n\t\t\t\t\tname,\n\t\t\t\t\ttypeof descriptor.value == \"function\"\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tget() {\n\t\t\t\t\t\t\t\t\treturn backend[name].bind(backend)\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: descriptor.writable || descriptor.set\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tget() {\n\t\t\t\t\t\t\t\t\treturn backend[name]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t\t\tset(value: any) {\n\t\t\t\t\t\t\t\t\tbackend[name] = value\n\t\t\t\t\t\t\t\t\tresult.#listeners[name]?.forEach(listener => listener(backend[name]))\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t }\n\t\t\t\t\t\t: {\n\t\t\t\t\t\t\t\tget() {\n\t\t\t\t\t\t\t\t\treturn backend[name]\n\t\t\t\t\t\t\t\t},\n\t\t\t\t\t\t },\n\t\t\t\t])\n\t\t\t)\n\t\t}\n\t}\n}\ntype ListenableProperties<T> = {\n\t// eslint-disable-next-line @typescript-eslint/ban-types\n\t[P in keyof T as T[P] extends Function ? never : P]: T[P]\n}\n\nexport type Listener<V> = (value: V) => void\nexport type Listeners<T> = {\n\t[K in keyof T]?: Listener<T[K]>[]\n}\n\nexport type ListenerBatch<T> = { [K in keyof ListenableProperties<T>]?: Listener<T[K]> }\n","import { isly } from \"isly\"\n\ntype Value = string | number | boolean | Blob | undefined\nexport type Data = { [name: string]: Data | Value | Value[] }\nexport namespace Data {\n\texport const valueType = isly.union<Value, string, number, boolean, Blob, undefined>(\n\t\tisly.string(),\n\t\tisly.number(),\n\t\tisly.boolean(),\n\t\tisly.fromIs(\"Blob\", value => value instanceof Blob),\n\t\tisly.undefined()\n\t)\n\texport const type: isly.Type<Data> = isly.record<Data>(\n\t\tisly.string(),\n\t\tisly.union(\n\t\t\tisly.lazy(() => type, \"Data\"),\n\t\t\tvalueType\n\t\t)\n\t)\n\n\texport function set(data: Data, [head, ...tail]: string[], value: Value): Data {\n\t\tconst current = data[head ?? \"\"]\n\t\treturn {\n\t\t\t...data,\n\t\t\t[head ?? \"\"]: !tail.length\n\t\t\t\t? value\n\t\t\t\t: set(\n\t\t\t\t\t\ttypeof current == \"object\" && !Array.isArray(current) && !(current instanceof Blob) ? current : {},\n\t\t\t\t\t\ttail,\n\t\t\t\t\t\tvalue\n\t\t\t\t ),\n\t\t}\n\t}\n\texport function deepen(data: Record<string, Value>): Data {\n\t\treturn merge({}, data)\n\t}\n\tfunction isArrayRecord(d: any): d is Record<`${number}`, any> {\n\t\treturn (\n\t\t\tisly.object().is(d) && (keys => !!keys.length && keys.every(k => parseInt(k).toString() == k))(Object.keys(d))\n\t\t)\n\t}\n\texport function convertArrays(data: any): Data {\n\t\treturn isArrayRecord(data)\n\t\t\t? Object.entries(data).reduce((arr: Data[], [k, v]: [`${number}`, any]) => {\n\t\t\t\t\tarr[k] = convertArrays(v)\n\t\t\t\t\treturn arr\n\t\t\t }, [])\n\t\t\t: isly.object().is(data) && !(data instanceof Blob || data instanceof File)\n\t\t\t? Object.fromEntries(Object.entries(data).map(([k, v]) => [k, convertArrays(v)]))\n\t\t\t: data\n\t}\n\texport function merge(data: Data, changes: Record<string, any>): Data {\n\t\treturn Object.entries(changes).reduce((r, [name, value]) => set(r, name.split(\".\"), value), data)\n\t}\n}\n","import { isly } from \"isly\"\nimport { Data } from \"./Data\"\n\nexport interface Submit {\n\ttype?: typeof Submit.types[number]\n\tresult: (result: boolean) => void\n\tvalue: Data\n}\nexport namespace Submit {\n\texport const types = [\"update\", \"change\", \"fetch\", \"create\", \"remove\"] as const\n\texport const type = isly.object<Submit>({\n\t\ttype: isly.string(types).optional(),\n\t\tresult: isly.function(),\n\t\tvalue: Data.type,\n\t})\n\texport const is = type.is\n\texport const flaw = type.flaw\n}\n","export namespace Scrollable {\n\texport function is(element: HTMLElement): boolean {\n\t\tconst overflow = window.getComputedStyle(element).overflowY\n\t\treturn (\n\t\t\toverflow == \"scroll\" ||\n\t\t\t((overflow == \"auto\" || document.documentElement == element) && element.scrollHeight > element.clientHeight)\n\t\t)\n\t}\n\texport function findParent(element: HTMLElement): HTMLElement | undefined {\n\t\tlet parent: HTMLElement | null = element.parentElement\n\t\twhile (parent && !is(parent))\n\t\t\tparent = parent.parentElement\n\t\treturn parent && is(parent) ? parent : undefined\n\t}\n}\n"],"version":3}
|
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
-
const Scrollable = require('./Scrollable-
|
|
5
|
+
const Scrollable = require('./Scrollable-bec3d4eb.js');
|
|
6
6
|
const Notice = require('./Notice-43957905.js');
|
|
7
7
|
const redirect = require('./redirect-ae1fa359.js');
|
|
8
8
|
|