smoothly 1.2.1-alpha.22 → 1.2.1-alpha.24
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-a60d6091.js → Scrollable-20426515.js} +36 -412
- package/dist/cjs/Scrollable-20426515.js.map +1 -0
- package/dist/cjs/{TimeZone-45bcd855.js → TimeZone-c7477083.js} +2940 -1728
- package/dist/cjs/TimeZone-c7477083.js.map +1 -0
- package/dist/cjs/{en-56378cc9.js → en-f4546147.js} +2 -2
- package/dist/cjs/{en-56378cc9.js.map → en-f4546147.js.map} +1 -1
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/cjs/smoothly-app_107.cjs.entry.js +78 -91
- package/dist/cjs/smoothly-app_107.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly-checkbox.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly-country.cjs.entry.js +3 -3
- package/dist/cjs/smoothly-country.cjs.entry.js.map +1 -1
- package/dist/cjs/smoothly-input-checkbox-demo.cjs.entry.js +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/collection/components/calendar/generate.js +1 -1
- package/dist/collection/components/calendar/generate.js.map +1 -1
- package/dist/collection/components/calendar/index.js +28 -27
- package/dist/collection/components/calendar/index.js.map +1 -1
- package/dist/collection/components/checkbox/translation/index.js +1 -1
- package/dist/collection/components/checkbox/translation/index.js.map +1 -1
- package/dist/collection/components/country/index.js +5 -5
- package/dist/collection/components/country/index.js.map +1 -1
- package/dist/collection/components/display/index.js +21 -21
- package/dist/collection/components/display/index.js.map +1 -1
- package/dist/collection/components/filter/select/index.js +1 -1
- package/dist/collection/components/filter/toggle/index.js +1 -1
- package/dist/collection/components/form/demo/typed/index.js +1 -1
- package/dist/collection/components/form/demo/typed/index.js.map +1 -1
- package/dist/collection/components/input/checkbox/index.js +1 -1
- package/dist/collection/components/input/color/index.js +1 -1
- package/dist/collection/components/input/date/index.js +14 -14
- package/dist/collection/components/input/date/index.js.map +1 -1
- package/dist/collection/components/input/date/range/index.js +1 -1
- package/dist/collection/components/input/file/index.js +1 -1
- package/dist/collection/components/input/index.js +3 -3
- package/dist/collection/components/input/month/index.js +1 -1
- package/dist/collection/components/input/radio/index.js +1 -1
- package/dist/collection/components/input/range/index.js +1 -1
- package/dist/collection/components/input/select/index.js +1 -1
- package/dist/collection/model/Data.spec.js.map +1 -1
- package/dist/components/index.js +2 -2
- package/dist/components/{p-750bac7d.js → p-00028058.js} +6 -6
- package/dist/components/{p-750bac7d.js.map → p-00028058.js.map} +1 -1
- package/dist/components/{p-6b2c0f3e.js → p-0012d70e.js} +2 -2
- package/dist/components/{p-6b2c0f3e.js.map → p-0012d70e.js.map} +1 -1
- package/dist/components/{p-137b3421.js → p-0210b94d.js} +7 -7
- package/dist/components/{p-137b3421.js.map → p-0210b94d.js.map} +1 -1
- package/dist/components/{p-7ad3376d.js → p-0210db4b.js} +5 -5
- package/dist/components/{p-7ad3376d.js.map → p-0210db4b.js.map} +1 -1
- package/dist/components/{p-4833b43b.js → p-0c9b11f0.js} +2 -2
- package/dist/components/{p-4833b43b.js.map → p-0c9b11f0.js.map} +1 -1
- package/dist/components/{p-eccb82fa.js → p-114fa5c2.js} +3 -3
- package/dist/components/{p-eccb82fa.js.map → p-114fa5c2.js.map} +1 -1
- package/dist/components/{p-dffea279.js → p-153f8d1a.js} +12 -12
- package/dist/components/{p-dffea279.js.map → p-153f8d1a.js.map} +1 -1
- package/dist/components/{p-8362e6ea.js → p-174e1154.js} +3 -3
- package/dist/components/{p-8362e6ea.js.map → p-174e1154.js.map} +1 -1
- package/dist/components/{p-3851d6af.js → p-17575bc3.js} +5 -5
- package/dist/components/{p-3851d6af.js.map → p-17575bc3.js.map} +1 -1
- package/dist/components/{p-28e6aa24.js → p-17f423b8.js} +2 -2
- package/dist/components/{p-28e6aa24.js.map → p-17f423b8.js.map} +1 -1
- package/dist/components/{p-f8b6cc8e.js → p-1ccb9b5d.js} +3 -3
- package/dist/components/{p-f8b6cc8e.js.map → p-1ccb9b5d.js.map} +1 -1
- package/dist/components/{p-b5b689d9.js → p-1efc7982.js} +3 -3
- package/dist/components/{p-b5b689d9.js.map → p-1efc7982.js.map} +1 -1
- package/dist/components/{p-fc98f7be.js → p-23fbd92e.js} +6 -6
- package/dist/components/{p-fc98f7be.js.map → p-23fbd92e.js.map} +1 -1
- package/dist/components/{p-fccef2cd.js → p-269f59bb.js} +23 -23
- package/dist/components/{p-fccef2cd.js.map → p-269f59bb.js.map} +1 -1
- package/dist/components/{p-d7ba5dde.js → p-28d37bcb.js} +7 -7
- package/dist/components/{p-d7ba5dde.js.map → p-28d37bcb.js.map} +1 -1
- package/dist/components/{p-a1af56e3.js → p-2d60ab95.js} +3 -3
- package/dist/components/{p-a1af56e3.js.map → p-2d60ab95.js.map} +1 -1
- package/dist/components/{p-4d285afc.js → p-3442e053.js} +2 -2
- package/dist/components/{p-4d285afc.js.map → p-3442e053.js.map} +1 -1
- package/dist/components/{p-089f64c2.js → p-35124e90.js} +2 -2
- package/dist/components/{p-089f64c2.js.map → p-35124e90.js.map} +1 -1
- package/dist/components/{p-0ffdc60e.js → p-3749e7c2.js} +2 -2
- package/dist/components/{p-0ffdc60e.js.map → p-3749e7c2.js.map} +1 -1
- package/dist/components/{p-c5beaa82.js → p-383f1e16.js} +5 -5
- package/dist/components/{p-c5beaa82.js.map → p-383f1e16.js.map} +1 -1
- package/dist/components/{p-6f488a68.js → p-3851c98c.js} +5 -5
- package/dist/components/{p-6f488a68.js.map → p-3851c98c.js.map} +1 -1
- package/dist/{esm/TimeZone-7b25e3f9.js → components/p-390767c7.js} +2806 -1883
- package/dist/components/p-390767c7.js.map +1 -0
- package/dist/components/{p-97848f3d.js → p-3eef0252.js} +21 -21
- package/dist/components/{p-97848f3d.js.map → p-3eef0252.js.map} +1 -1
- package/dist/components/{p-5a3098ce.js → p-3f588352.js} +4 -4
- package/dist/components/{p-5a3098ce.js.map → p-3f588352.js.map} +1 -1
- package/dist/components/{p-acdb7891.js → p-3fc2b239.js} +4 -4
- package/dist/components/{p-acdb7891.js.map → p-3fc2b239.js.map} +1 -1
- package/dist/components/{p-4d4b4a0a.js → p-43c910c5.js} +2 -2
- package/dist/components/{p-4d4b4a0a.js.map → p-43c910c5.js.map} +1 -1
- package/dist/components/{p-72730ae3.js → p-44d5ec3b.js} +10 -10
- package/dist/components/{p-72730ae3.js.map → p-44d5ec3b.js.map} +1 -1
- package/dist/components/{p-918ddb21.js → p-46912f14.js} +10 -10
- package/dist/components/p-46912f14.js.map +1 -0
- package/dist/components/{p-ce03e4d0.js → p-4ed54d65.js} +3 -3
- package/dist/components/{p-ce03e4d0.js.map → p-4ed54d65.js.map} +1 -1
- package/dist/components/{p-58a11f85.js → p-53671a89.js} +3 -3
- package/dist/components/{p-58a11f85.js.map → p-53671a89.js.map} +1 -1
- package/dist/components/{p-938c06a2.js → p-5666c538.js} +2 -2
- package/dist/components/{p-938c06a2.js.map → p-5666c538.js.map} +1 -1
- package/dist/components/{p-ac285959.js → p-5a3bdf21.js} +25 -25
- package/dist/components/{p-ac285959.js.map → p-5a3bdf21.js.map} +1 -1
- package/dist/components/{p-eb3d2060.js → p-5f8480af.js} +2 -2
- package/dist/components/{p-eb3d2060.js.map → p-5f8480af.js.map} +1 -1
- package/dist/components/{p-d3edfccf.js → p-61a1fd24.js} +8 -8
- package/dist/components/{p-d3edfccf.js.map → p-61a1fd24.js.map} +1 -1
- package/dist/components/{p-a08bf822.js → p-6b3ea12e.js} +2 -2
- package/dist/components/{p-a08bf822.js.map → p-6b3ea12e.js.map} +1 -1
- package/dist/components/{p-8edc879e.js → p-6c5bd721.js} +20 -20
- package/dist/components/{p-8edc879e.js.map → p-6c5bd721.js.map} +1 -1
- package/dist/components/{p-5d3caa35.js → p-73862f4b.js} +17 -17
- package/dist/components/{p-5d3caa35.js.map → p-73862f4b.js.map} +1 -1
- package/dist/components/{p-fbd4a12b.js → p-78a3eb0a.js} +9 -9
- package/dist/components/{p-fbd4a12b.js.map → p-78a3eb0a.js.map} +1 -1
- package/dist/components/{p-e451a0b5.js → p-7902ae4f.js} +3 -3
- package/dist/components/{p-e451a0b5.js.map → p-7902ae4f.js.map} +1 -1
- package/dist/components/{p-6eb46ce4.js → p-79729668.js} +37 -37
- package/dist/components/{p-6eb46ce4.js.map → p-79729668.js.map} +1 -1
- package/dist/components/{p-4716165d.js → p-79b2dd05.js} +4 -4
- package/dist/components/{p-4716165d.js.map → p-79b2dd05.js.map} +1 -1
- package/dist/components/{p-264f51a5.js → p-7b1e9421.js} +9 -9
- package/dist/components/{p-264f51a5.js.map → p-7b1e9421.js.map} +1 -1
- package/dist/components/{p-43b0c35c.js → p-7cf8c0f7.js} +5 -5
- package/dist/components/p-7cf8c0f7.js.map +1 -0
- package/dist/components/{p-f8b21fed.js → p-7f853189.js} +9 -9
- package/dist/components/{p-f8b21fed.js.map → p-7f853189.js.map} +1 -1
- package/dist/components/{p-c5519ec1.js → p-80b231e3.js} +5 -5
- package/dist/components/{p-c5519ec1.js.map → p-80b231e3.js.map} +1 -1
- package/dist/components/{p-292bffec.js → p-89505ec7.js} +3 -3
- package/dist/components/{p-292bffec.js.map → p-89505ec7.js.map} +1 -1
- package/dist/components/{p-ca19ed60.js → p-8e1e509d.js} +18 -99
- package/dist/components/p-8e1e509d.js.map +1 -0
- package/dist/components/{p-5325f725.js → p-8e3e6e7c.js} +9 -9
- package/dist/components/{p-5325f725.js.map → p-8e3e6e7c.js.map} +1 -1
- package/dist/components/{p-283f43bb.js → p-904e4b38.js} +11 -11
- package/dist/components/{p-283f43bb.js.map → p-904e4b38.js.map} +1 -1
- package/dist/components/{p-d062ac7b.js → p-957188b3.js} +3 -3
- package/dist/components/{p-d062ac7b.js.map → p-957188b3.js.map} +1 -1
- package/dist/components/{p-c7c1ceaa.js → p-96ca540b.js} +3 -3
- package/dist/components/{p-c7c1ceaa.js.map → p-96ca540b.js.map} +1 -1
- package/dist/components/{p-c025f250.js → p-9780bea7.js} +8 -8
- package/dist/components/{p-c025f250.js.map → p-9780bea7.js.map} +1 -1
- package/dist/components/{p-50f303f3.js → p-97c0e862.js} +3 -3
- package/dist/components/{p-50f303f3.js.map → p-97c0e862.js.map} +1 -1
- package/dist/components/{p-58c24d57.js → p-98279044.js} +9 -9
- package/dist/components/p-98279044.js.map +1 -0
- package/dist/components/{p-e5ac7847.js → p-98cb1594.js} +6 -6
- package/dist/components/{p-e5ac7847.js.map → p-98cb1594.js.map} +1 -1
- package/dist/components/{p-34b2eda8.js → p-9c8ff26d.js} +4 -4
- package/dist/components/{p-34b2eda8.js.map → p-9c8ff26d.js.map} +1 -1
- package/dist/components/{p-666dab06.js → p-9e5e6e83.js} +6 -6
- package/dist/components/{p-666dab06.js.map → p-9e5e6e83.js.map} +1 -1
- package/dist/components/{p-aa3e9c0f.js → p-aa4ee979.js} +5 -5
- package/dist/components/{p-aa3e9c0f.js.map → p-aa4ee979.js.map} +1 -1
- package/dist/components/{p-2efadf3c.js → p-ad1af123.js} +2 -2
- package/dist/components/{p-2efadf3c.js.map → p-ad1af123.js.map} +1 -1
- package/dist/components/{p-96469335.js → p-b0d7a2e6.js} +5 -8
- package/dist/components/p-b0d7a2e6.js.map +1 -0
- package/dist/components/{p-8ad720fa.js → p-b18e0a8b.js} +4 -4
- package/dist/components/{p-8ad720fa.js.map → p-b18e0a8b.js.map} +1 -1
- package/dist/components/{p-fa39a723.js → p-b354198d.js} +2 -2
- package/dist/components/{p-fa39a723.js.map → p-b354198d.js.map} +1 -1
- package/dist/components/{p-6da87c78.js → p-be6d380e.js} +2 -2
- package/dist/components/{p-6da87c78.js.map → p-be6d380e.js.map} +1 -1
- package/dist/components/{p-a74bdd1f.js → p-c05a03ab.js} +2 -2
- package/dist/components/{p-a74bdd1f.js.map → p-c05a03ab.js.map} +1 -1
- package/dist/components/{p-f7691a04.js → p-c4395e67.js} +4 -4
- package/dist/components/{p-f7691a04.js.map → p-c4395e67.js.map} +1 -1
- package/dist/components/{p-2fb54a15.js → p-c44bb76a.js} +7 -7
- package/dist/components/{p-2fb54a15.js.map → p-c44bb76a.js.map} +1 -1
- package/dist/components/{p-730c6db2.js → p-c9b93eb4.js} +10 -10
- package/dist/components/{p-730c6db2.js.map → p-c9b93eb4.js.map} +1 -1
- package/dist/components/{p-0a1466e3.js → p-cc608e51.js} +9 -8
- package/dist/components/p-cc608e51.js.map +1 -0
- package/dist/components/{p-092b23d2.js → p-d2471133.js} +6 -6
- package/dist/components/{p-092b23d2.js.map → p-d2471133.js.map} +1 -1
- package/dist/components/{p-399bba68.js → p-d2ea52c8.js} +15 -15
- package/dist/components/{p-399bba68.js.map → p-d2ea52c8.js.map} +1 -1
- package/dist/components/{p-82c01297.js → p-d471066b.js} +107 -115
- package/dist/components/p-d471066b.js.map +1 -0
- package/dist/components/{p-cfe2cdab.js → p-d5eb1c4b.js} +13 -13
- package/dist/components/{p-cfe2cdab.js.map → p-d5eb1c4b.js.map} +1 -1
- package/dist/components/{p-0bed7501.js → p-df119a54.js} +5 -5
- package/dist/components/{p-0bed7501.js.map → p-df119a54.js.map} +1 -1
- package/dist/components/{p-876d64b3.js → p-e057cdb7.js} +2 -2
- package/dist/components/{p-876d64b3.js.map → p-e057cdb7.js.map} +1 -1
- package/dist/components/{p-96e2307f.js → p-e40f6d2b.js} +14 -14
- package/dist/components/{p-96e2307f.js.map → p-e40f6d2b.js.map} +1 -1
- package/dist/components/{p-5d416ccf.js → p-e51b6e5f.js} +14 -14
- package/dist/components/{p-5d416ccf.js.map → p-e51b6e5f.js.map} +1 -1
- package/dist/components/{p-e92eb120.js → p-ebf469aa.js} +38 -49
- package/dist/components/p-ebf469aa.js.map +1 -0
- package/dist/components/{p-005e85db.js → p-eccf7b48.js} +14 -14
- package/dist/components/{p-005e85db.js.map → p-eccf7b48.js.map} +1 -1
- package/dist/components/{p-dfc5f0b7.js → p-ecf6da6a.js} +2 -2
- package/dist/components/{p-dfc5f0b7.js.map → p-ecf6da6a.js.map} +1 -1
- package/dist/components/{p-26b64015.js → p-ee8127cd.js} +6 -6
- package/dist/components/{p-26b64015.js.map → p-ee8127cd.js.map} +1 -1
- package/dist/components/{p-62833e92.js → p-eed0cef2.js} +13 -13
- package/dist/components/{p-62833e92.js.map → p-eed0cef2.js.map} +1 -1
- package/dist/components/{p-f40a3efd.js → p-f1979b62.js} +2 -2
- package/dist/components/{p-f40a3efd.js.map → p-f1979b62.js.map} +1 -1
- package/dist/components/{p-e572ff39.js → p-f54bc7fc.js} +2 -2
- package/dist/components/{p-e572ff39.js.map → p-f54bc7fc.js.map} +1 -1
- package/dist/components/{p-531fa770.js → p-fa34f451.js} +3 -3
- package/dist/components/{p-531fa770.js.map → p-fa34f451.js.map} +1 -1
- package/dist/components/{p-d9b2d6c1.js → p-fa4fbcc0.js} +19 -19
- package/dist/components/{p-d9b2d6c1.js.map → p-fa4fbcc0.js.map} +1 -1
- package/dist/components/{p-76076037.js → p-fe1bc9d5.js} +2 -2
- package/dist/components/{p-76076037.js.map → p-fe1bc9d5.js.map} +1 -1
- package/dist/components/{p-31873e1c.js → p-fe67f064.js} +30 -30
- package/dist/components/{p-31873e1c.js.map → p-fe67f064.js.map} +1 -1
- package/dist/components/smoothly-app-demo.js +80 -80
- 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-checkbox.js.map +1 -1
- package/dist/components/smoothly-country.js +3 -3
- package/dist/components/smoothly-country.js.map +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-date-range.js +1 -1
- package/dist/components/smoothly-form-demo-date.js +1 -1
- package/dist/components/smoothly-form-demo-login.js +1 -1
- package/dist/components/smoothly-form-demo-pet.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 +25 -25
- 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-modal.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-inner.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-next-table-head.js +1 -1
- package/dist/components/smoothly-notification.js +1 -1
- package/dist/components/smoothly-notifier.js +1 -1
- package/dist/components/smoothly-submit.js +1 -1
- package/dist/components/smoothly-summary.js +1 -1
- package/dist/components/smoothly-tab.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-tabs-demo.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 +2 -2
- package/dist/components/smoothly-trigger-source.js +2 -2
- package/dist/esm/{Scrollable-94b2c80b.js → Scrollable-93e46f30.js} +17 -388
- package/dist/esm/Scrollable-93e46f30.js.map +1 -0
- package/dist/{components/p-99f89f10.js → esm/TimeZone-52285537.js} +2933 -1729
- package/dist/esm/TimeZone-52285537.js.map +1 -0
- package/dist/esm/{en-bacb390d.js → en-6e8712b5.js} +2 -2
- package/dist/esm/{en-bacb390d.js.map → en-6e8712b5.js.map} +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/smoothly-app_107.entry.js +52 -65
- package/dist/esm/smoothly-app_107.entry.js.map +1 -1
- package/dist/esm/smoothly-checkbox.entry.js.map +1 -1
- package/dist/esm/smoothly-country.entry.js +3 -3
- package/dist/esm/smoothly-country.entry.js.map +1 -1
- package/dist/esm/smoothly-input-checkbox-demo.entry.js +1 -1
- package/dist/esm/smoothly-trigger-sink.entry.js +2 -2
- package/dist/esm/smoothly-trigger-source.entry.js +2 -2
- package/dist/smoothly/index.esm.js +1 -1
- package/dist/smoothly/p-152fd0d7.entry.js.map +1 -1
- package/dist/smoothly/{p-cf245e8a.js → p-2257be8c.js} +2 -2
- package/dist/smoothly/{p-9bfe8aba.entry.js → p-2512c689.entry.js} +2 -2
- package/dist/smoothly/p-34d144e8.js +2 -0
- package/dist/smoothly/p-34d144e8.js.map +1 -0
- package/dist/smoothly/{p-e9cd0cd0.entry.js → p-3ede8604.entry.js} +2 -2
- package/dist/smoothly/p-3ede8604.entry.js.map +1 -0
- package/dist/smoothly/p-6d7ee489.js +2 -0
- package/dist/smoothly/p-6d7ee489.js.map +1 -0
- package/dist/smoothly/{p-5ff5fc57.entry.js → p-87ae07b2.entry.js} +2 -2
- package/dist/smoothly/{p-83ce9999.entry.js → p-ac6fb4e4.entry.js} +2 -2
- package/dist/smoothly/p-e0bfc64f.entry.js +2 -0
- package/dist/smoothly/p-e0bfc64f.entry.js.map +1 -0
- package/dist/smoothly/smoothly.esm.js +1 -1
- package/dist/types/components/calendar/generate.d.ts +1 -1
- package/dist/types/components/calendar/index.d.ts +14 -14
- package/dist/types/components/checkbox/translation/index.d.ts +2 -2
- package/dist/types/components/country/index.d.ts +3 -3
- package/dist/types/components/display/index.d.ts +6 -6
- package/dist/types/components/filter/Filter.d.ts +3 -3
- package/dist/types/components/form/demo/typed/Contact.d.ts +1 -1
- package/dist/types/components/input/Editable.d.ts +2 -2
- package/dist/types/components/input/Input.d.ts +2 -2
- package/dist/types/components/input/Looks.d.ts +2 -2
- package/dist/types/components/input/date/index.d.ts +8 -8
- package/dist/types/components/input/radio/Selected.d.ts +1 -1
- package/dist/types/components/item/Item.d.ts +2 -2
- package/dist/types/components.d.ts +45 -45
- package/dist/types/model/Color/HSL.d.ts +1 -1
- package/dist/types/model/Color/RGB.d.ts +1 -1
- package/dist/types/model/Color/index.d.ts +2 -2
- package/dist/types/model/Submit.d.ts +1 -1
- package/package.json +20 -46
- package/dist/cjs/Scrollable-a60d6091.js.map +0 -1
- package/dist/cjs/TimeZone-45bcd855.js.map +0 -1
- package/dist/collection/components/input/index.e2e.js +0 -52
- package/dist/collection/components/input/index.e2e.js.map +0 -1
- package/dist/components/p-0a1466e3.js.map +0 -1
- package/dist/components/p-43b0c35c.js.map +0 -1
- package/dist/components/p-58c24d57.js.map +0 -1
- package/dist/components/p-82c01297.js.map +0 -1
- package/dist/components/p-918ddb21.js.map +0 -1
- package/dist/components/p-96469335.js.map +0 -1
- package/dist/components/p-99f89f10.js.map +0 -1
- package/dist/components/p-ca19ed60.js.map +0 -1
- package/dist/components/p-e92eb120.js.map +0 -1
- package/dist/esm/Scrollable-94b2c80b.js.map +0 -1
- package/dist/esm/TimeZone-7b25e3f9.js.map +0 -1
- package/dist/smoothly/p-05e38ae2.js +0 -2
- package/dist/smoothly/p-05e38ae2.js.map +0 -1
- package/dist/smoothly/p-32d55e4c.entry.js +0 -2
- package/dist/smoothly/p-32d55e4c.entry.js.map +0 -1
- package/dist/smoothly/p-99846f9b.js +0 -2
- package/dist/smoothly/p-99846f9b.js.map +0 -1
- package/dist/smoothly/p-e9cd0cd0.entry.js.map +0 -1
- /package/dist/smoothly/{p-cf245e8a.js.map → p-2257be8c.js.map} +0 -0
- /package/dist/smoothly/{p-9bfe8aba.entry.js.map → p-2512c689.entry.js.map} +0 -0
- /package/dist/smoothly/{p-5ff5fc57.entry.js.map → p-87ae07b2.entry.js.map} +0 -0
- /package/dist/smoothly/{p-83ce9999.entry.js.map → p-ac6fb4e4.entry.js.map} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, d as Host } from './p-f765921a.js';
|
|
2
|
-
import { a as any } from './p-
|
|
3
|
-
import { o as object, b as boolean } from './p-
|
|
4
|
-
import { i as islyFunction } from './p-
|
|
5
|
-
import { I as Input } from './p-
|
|
6
|
-
import { d as defineCustomElement$2 } from './p-
|
|
2
|
+
import { a as any } from './p-b0d7a2e6.js';
|
|
3
|
+
import { o as object, b as boolean } from './p-d471066b.js';
|
|
4
|
+
import { i as islyFunction } from './p-8e1e509d.js';
|
|
5
|
+
import { I as Input } from './p-80b231e3.js';
|
|
6
|
+
import { d as defineCustomElement$2 } from './p-1ccb9b5d.js';
|
|
7
7
|
import { d as defineCustomElement$1 } from './p-88442020.js';
|
|
8
8
|
|
|
9
9
|
var Item;
|
|
@@ -395,4 +395,4 @@ defineCustomElement();
|
|
|
395
395
|
|
|
396
396
|
export { SmoothlyInputSelect as S, defineCustomElement as d };
|
|
397
397
|
|
|
398
|
-
//# sourceMappingURL=p-
|
|
398
|
+
//# sourceMappingURL=p-d2471133.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-092b23d2.js","mappings":"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","names":["isly.object","isly.any","isly.boolean","isly.function"],"sources":["src/components/item/Item.ts","src/components/input/select/style.css?tag=smoothly-input-select&encapsulation=scoped","src/components/input/select/index.tsx"],"sourcesContent":["import { isly } from \"isly\"\n\nexport interface Item extends Item.Element {}\n\nexport namespace Item {\n\texport interface Element {\n\t\tvalue: any\n\t\tselected?: boolean\n\t\tdeselectable: boolean\n\t\tfilter: (filter: string) => Promise<void>\n\t}\n\texport namespace Element {\n\t\texport const type = isly.object<Element>({\n\t\t\tvalue: isly.any(),\n\t\t\tdeselectable: isly.boolean(),\n\t\t\tselected: isly.boolean().optional(),\n\t\t\tfilter: isly.function(),\n\t\t})\n\t\texport const is = type.is\n\t}\n\texport const type = Element.type.extend<Item>({})\n\texport const is = type.is\n}\n","@import \"../shared.css\";\n\n:host {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tflex-direction: row;\n\tposition: relative;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tcolor: rgb(var(--smoothly-input-foreground));\n\tfill: rgb(var(--smoothly-input-foreground));\n\tstroke: rgb(var(--smoothly-input-foreground));\n\tpadding: 0 var(--input-padding-side);\n}\n\n:host.open {\n\tborder-radius: var(--smoothly-input-border-radius) var(--smoothly-input-border-radius) 0 0;\n}\n\n:host.icon {\n\twidth: fit-content;\n\tflex-direction: column;\n}\n\n:host>div.select-display {\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tcursor: pointer;\n\tpadding: var(--input-value-padding-top) 0 var(--input-value-padding-bottom) 0;\n\toverflow: hidden;\n\twidth: 100%;\n\twhite-space: nowrap;\n\tgap: 1rem;\n\ttext-overflow: ellipsis;\n}\n\n:host:not(:has([slot=label]))>div.select-display,\n:host:not([show-label])>div.select-display {\n\tpadding: .6em 0;\n\talign-items: center;\n}\n\n:host[readonly]>div.select-display {\n\tcursor: not-allowed;\n}\n\n:host>div.select-display smoothly-icon {\n\tcolor: rgb(var(--smoothly-input-foreground));\n\tfill: rgb(var(--smoothly-input-foreground));\n\tstroke: rgb(var(--smoothly-input-foreground));\n}\n\n:host>div.icons {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tmargin-right: .2em;\n}\n\n:host>div.icons::slotted(smoothly-icon):not(\"color\") {\n\tcolor: rgb(var(--smoothly-input-foreground));\n\tfill: rgb(var(--smoothly-input-foreground));\n\tstroke: rgb(var(--smoothly-input-foreground));\n\tfilter: opacity(60%);\n\n}\n\n:host:hover>div.icons::slotted(smoothly-icon) {\n\tfilter: opacity(100%);\n}\n\n:host>div.icons>smoothly-icon[name=caret-down-outline],\n:host>div.icons>smoothly-icon[name=caret-forward-outline] {\n\topacity: .7;\n\tcursor: pointer;\n}\n\n:host.invalid>div>smoothly-icon.invalid {\n\tdisplay: block;\n}\n\n:host>div>smoothly-icon.invalid {\n\tdisplay: none\n}\n\n:host>div.icons::slotted(smoothly-input-reset) {\n\tpadding-right: .2em;\n}\n\n:host .label {\n\tleft: .5rem;\n}\n\n:host.has-value:has([slot=label]:not(:empty))>div.select-display,\n:host:not(.has-value)[placeholder]>div.select-display {\n\toverflow: hidden;\n\twidth: 100%;\n}\n\n:host>.options {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: absolute;\n\ttop: var(--element-height);\n\tz-index: 10;\n\tmax-height: var(--menu-height, unset);\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tleft: 0;\n\tright: 0;\n\tborder-radius: 0 0 var(--smoothly-input-border-radius) var(--smoothly-input-border-radius);\n\tmin-width: fit-content;\n\tborder: rgb(var(--smoothly-input-border, var(--smoothly-color-contrast))) solid 1px;\n\tborder-top: rgba(var(--smoothly-input-border, var(--smoothly-color-contrast)), .4) solid 1px;\n}\n:host[looks=\"grid\"]>div.options,\n:host[looks=border]>div.options,\n:host[looks=\"transparent\"]>div.options {\n\tleft: -1px;\n\tright: -1px;\n}\n\n:host>div.options::slotted(smoothly-item) {\n\tpadding: .7em .7em .7em .25em;\n}\n\n:host>div.options::slotted(smoothly-item:not([selectable])) {\n\tdisplay: flex;\n\tgap: 1em;\n\tbackground-color: rgba(var(--smoothly-primary-tint), .5);\n\tcolor: var(--smoothly-color-contrast)\n}\n\n:host>div.options>smoothly-item:not([selectable])>smoothly-icon[name=\"backspace-outline\"] {\n\tmargin-left: auto;\n\tmargin-right: 0;\n}\n\n:host>div.options.hidden {\n\tdisplay: none;\n}\n\n:host.invalid>div>smoothly-icon {\n\tdisplay: block;\n}\n","import {\n\tComponent,\n\tComponentWillLoad,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tMethod,\n\tProp,\n\tState,\n\tVNode,\n\tWatch,\n} from \"@stencil/core\"\nimport { Color, Data } from \"../../../model\"\nimport { Item } from \"../../item/Item\"\nimport { Clearable } from \"../Clearable\"\nimport { Editable } from \"../Editable\"\nimport { Input } from \"../Input\"\nimport { Looks } from \"../Looks\"\n\n@Component({\n\ttag: \"smoothly-input-select\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputSelect implements Input, Editable, Clearable, ComponentWillLoad {\n\tparent: Editable | undefined\n\tprivate initialValue: HTMLSmoothlyItemElement[] = []\n\tprivate initialValueHandled = false\n\tprivate listener: { changed?: (parent: Editable) => Promise<void> } = {}\n\tprivate displaySelectedElement?: HTMLElement\n\tprivate iconsDiv?: HTMLElement\n\tprivate toggle?: HTMLElement\n\tprivate optionsDiv?: HTMLDivElement\n\tprivate items: HTMLSmoothlyItemElement[] = []\n\tprivate itemHeight: number | undefined\n\t@Element() element: HTMLSmoothlyInputSelectElement\n\t@Prop() invalid?: boolean = false\n\t@Prop({ reflect: true }) name = \"selected\"\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks?: Looks\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop({ reflect: true, mutable: true }) showSelected?: boolean = true\n\t@Prop({ reflect: true, mutable: true }) readonly = false\n\t@Prop({ reflect: true }) inCalendar = false\n\t@Prop({ reflect: true }) ordered?: boolean\n\t@Prop() multiple = false\n\t@Prop() clearable = true\n\t@Prop({ mutable: true }) changed = false\n\t@Prop({ mutable: true }) defined = false\n\t@Prop({ reflect: true }) placeholder?: string | any\n\t@Prop() menuHeight?: `${number}${\"items\" | \"rem\" | \"px\" | \"vh\"}`\n\t@Prop() required = false\n\t@Prop() searchDisabled = false\n\t@Prop() mutable = false\n\tprivate lastOpen = false\n\t@State() open = false\n\t@State() selected: HTMLSmoothlyItemElement[] = []\n\t@State() filter = \"\"\n\t@State() addedItems: HTMLSmoothlyItemElement[] = []\n\t@Event() smoothlyInput: EventEmitter<Data>\n\t@Event() smoothlyInputLooks: EventEmitter<(looks?: Looks, color?: Color) => void>\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: Editable) => void>\n\t@Event() smoothlyFormDisable: EventEmitter<(disabled: boolean) => void>\n\t@Event() smoothlyItemSelect: EventEmitter<HTMLSmoothlyItemElement>\n\n\tcomponentWillLoad(): void | Promise<void> {\n\t\tthis.smoothlyInputLooks.emit(\n\t\t\t(looks, color) => ((this.looks = this.looks ?? looks), !this.color && (this.color = color))\n\t\t)\n\t\tthis.smoothlyInputLoad.emit(parent => (this.parent = parent))\n\t\t!this.readonly && this.smoothlyFormDisable.emit(readonly => (this.readonly = readonly))\n\t\tthis.listener.changed?.(this)\n\t}\n\tcomponentDidLoad(): void | Promise<void> {\n\t\tthis.selected && !this.initialValueHandled && (this.initialValue = [...this.selected])\n\t\tthis.initialValueHandled = true\n\t\tthis.onSelectedChange()\n\t}\n\tcomponentDidRender(): void | Promise<void> {\n\t\tthis.itemHeight === undefined && (this.itemHeight = this.items.find(item => item.clientHeight > 0)?.clientHeight)\n\t\tif (this.menuHeight && this.itemHeight) {\n\t\t\tthis.element?.style.setProperty(\n\t\t\t\t\"--menu-height\",\n\t\t\t\t!this.menuHeight.endsWith(\"items\") || this.items.length == 0\n\t\t\t\t\t? this.menuHeight\n\t\t\t\t\t: `${this.itemHeight * +(this.menuHeight.match(/^(\\d+(\\.\\d+)?|\\.\\d+)/g)?.[0] ?? \"10\")}px`\n\t\t\t)\n\t\t}\n\t\tthis.element?.style.setProperty(\"--element-height\", `${this.element.clientHeight}px`)\n\n\t\tif (this.ordered && !this.multiple && this.open && !this.lastOpen) {\n\t\t\tthis.scrollToSelected()\n\t\t}\n\t}\n\tasync disconnectedCallback() {\n\t\tif (!this.element.isConnected)\n\t\t\tawait this.unregister()\n\t}\n\t@Method()\n\tasync register() {\n\t\tInput.formAdd(this)\n\t}\n\t@Method()\n\tasync unregister() {\n\t\tInput.formRemove(this)\n\t}\n\t@Method()\n\tasync getValue(): Promise<any | any[] | undefined> {\n\t\treturn !this.multiple && this.selected[0]\n\t\t\t? this.selected[0].value\n\t\t\t: this.multiple && this.selected.length > 0\n\t\t\t? this.selected.map(item => item.value)\n\t\t\t: undefined\n\t}\n\t@Method()\n\tasync getItems(): Promise<HTMLSmoothlyItemElement[]> {\n\t\treturn this.items\n\t}\n\t@Method()\n\tasync listen(property: \"changed\", listener: (parent: Editable) => Promise<void>): Promise<void> {\n\t\tthis.listener[property] = listener\n\t\tlistener(this)\n\t}\n\t@Method()\n\tasync reset(): Promise<void> {\n\t\tthis.selected.forEach(item => (item.selected = item.hidden = false))\n\t\tthis.initialValue.forEach(item => (item.selected = true))\n\t\tthis.selected = [...this.initialValue]\n\t\tthis.displaySelected()\n\t\tthis.changed = false\n\t\tthis.open && this.handleShowOptions()\n\t}\n\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tif (this.clearable) {\n\t\t\tthis.selected.forEach(item => (item.selected = item.hidden = false))\n\t\t\tthis.selected = []\n\t\t\tif (this.displaySelectedElement) {\n\t\t\t\tthis.displaySelectedElement.innerHTML = this.placeholder ?? \"\"\n\t\t\t}\n\t\t}\n\t}\n\t@Method()\n\tasync edit(editable: boolean): Promise<void> {\n\t\tthis.readonly = !editable\n\t}\n\t@Method()\n\tasync setInitialValue(): Promise<void> {\n\t\tthis.changed = false\n\t\tthis.initialValue = [...this.selected]\n\t}\n\t@Watch(\"selected\")\n\tasync onSelectedChange() {\n\t\tthis.initialValueHandled && (this.changed = !this.areValuesEqual(this.selected, this.initialValue))\n\t\tthis.defined = this.selected.length > 0\n\t\tthis.smoothlyInput.emit({ [this.name]: await this.getValue() })\n\t\tthis.listener.changed?.(this)\n\t}\n\t@Watch(\"required\")\n\tonRequiredChange(): void {\n\t\tthis.items.forEach(item => (item.deselectable = !this.required))\n\t}\n\t@Watch(\"filter\")\n\tasync onFilterChange(value: string): Promise<void> {\n\t\tvalue = value.toLowerCase()\n\t\tawait Promise.all(this.items.map(item => item.filter(value)))\n\t}\n\t@Watch(\"readonly\")\n\twatchingReadonly(): void {\n\t\tthis.listener.changed?.(this)\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tasync smoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyInputSelect) => void>): Promise<void> {\n\t\tif (\n\t\t\tevent.target &&\n\t\t\t((\"name\" in event.target && event.target.name !== this.name) ||\n\t\t\t\t(event.composedPath().some(e => e == this.iconsDiv) && !event.composedPath().some(e => e == this.toggle)))\n\t\t) {\n\t\t\tevent.stopPropagation()\n\t\t} else if (Item.Element.is(event.target)) {\n\t\t\tevent.stopPropagation()\n\t\t\tevent.target.deselectable = !this.required\n\t\t\tthis.items.push(event.target as HTMLSmoothlyItemElement)\n\t\t}\n\t\tevent.detail(this)\n\t}\n\t@Listen(\"click\", { target: \"window\" })\n\tonWindowClick(event: Event): void {\n\t\t!event.composedPath().includes(this.element) && this.open && this.handleShowOptions()\n\t}\n\t@Listen(\"smoothlyItemSelect\")\n\tonItemSelect(event: CustomEvent<HTMLSmoothlyItemElement>): void {\n\t\tevent.stopPropagation()\n\t\tif (this.multiple) {\n\t\t\tthis.selected = event.detail.selected\n\t\t\t\t? [...this.selected, event.detail]\n\t\t\t\t: this.selected.filter(item => item.selected)\n\t\t} else if (event.detail.selected || !this.items.some(e => e.selected)) {\n\t\t\tthis.selected[0] && (this.selected[0].hidden = this.selected[0].selected = false)\n\t\t\tthis.selected = !event.detail.selected ? this.selected.filter(item => item.selected) : [event.detail]\n\t\t\t!this.showSelected && event.detail.selected && (event.detail.hidden = true)\n\t\t}\n\t\tthis.displaySelected()\n\t}\n\t@Watch(\"open\")\n\tonClosed(open: boolean, before: boolean): void {\n\t\tthis.lastOpen = before\n\t\tif (!open) {\n\t\t\tconst markedItem = this.items.find(item => item.marked)\n\t\t\tif (markedItem) {\n\t\t\t\tmarkedItem.marked = false\n\t\t\t}\n\t\t}\n\t}\n\thandleShowOptions(event?: Event): void {\n\t\tconst wasButtonClicked =\n\t\t\tevent?.composedPath().some(e => e == this.iconsDiv) && !event.composedPath().some(e => e == this.toggle)\n\t\tconst clickedItem = event\n\t\t\t?.composedPath()\n\t\t\t.find((el): el is HTMLSmoothlyItemElement => \"tagName\" in el && el.tagName == \"SMOOTHLY-ITEM\")\n\t\t!this.readonly &&\n\t\t\t!(clickedItem && this.items.includes(clickedItem) && this.multiple) &&\n\t\t\t!wasButtonClicked &&\n\t\t\t(this.open = !this.open)\n\t\tthis.filter = \"\"\n\t}\n\tareValuesEqual(selected: HTMLSmoothlyItemElement[], initialValue: HTMLSmoothlyItemElement[]): boolean {\n\t\treturn selected.length === initialValue.length && initialValue.every(value => selected.includes(value))\n\t}\n\tdisplaySelected(): void {\n\t\tconst displayString: string = \"<div>\" + this.selected.map(option => option.innerHTML).join(\"</div><div>\") + \"</div>\"\n\t\tthis.displaySelectedElement &&\n\t\t\t(this.displaySelectedElement.innerHTML =\n\t\t\t\tthis.selected.length > 0 ? displayString : this.placeholder ? this.placeholder : \"\")\n\t}\n\t@Listen(\"keydown\")\n\tonKeyDown(event: KeyboardEvent) {\n\t\tif (!this.searchDisabled) {\n\t\t\tevent.stopPropagation()\n\t\t\tconst visibleItems = this.items.some(item => item.getAttribute(\"hidden\") === null)\n\t\t\tif (event.key != \"Tab\" && !event.ctrlKey && !event.metaKey)\n\t\t\t\tevent.preventDefault()\n\t\t\tif (this.open) {\n\t\t\t\tswitch (event.key) {\n\t\t\t\t\tcase \"ArrowUp\":\n\t\t\t\t\t\tvisibleItems && this.move(-1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"ArrowDown\":\n\t\t\t\t\t\tvisibleItems && this.move(1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"Escape\":\n\t\t\t\t\t\tif (this.filter == \"\")\n\t\t\t\t\t\t\tthis.open = false\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"Backspace\":\n\t\t\t\t\t\tthis.filter = this.filter.slice(0, -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"Enter\":\n\t\t\t\t\t\tconst result = this.items.find(item => item.marked)\n\t\t\t\t\t\tif (result?.value)\n\t\t\t\t\t\t\tresult.selected = !result.selected\n\t\t\t\t\t\tif (!this.multiple) {\n\t\t\t\t\t\t\tthis.open = false\n\t\t\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"Tab\":\n\t\t\t\t\t\tthis.open = false\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif (event.key.length == 1)\n\t\t\t\t\t\t\tthis.filter += event.key\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (event.key) {\n\t\t\t\t\tcase \"Enter\":\n\t\t\t\t\tcase \" \":\n\t\t\t\t\t\tthis.handleShowOptions()\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"ArrowDown\":\n\t\t\t\t\t\tthis.handleShowOptions()\n\t\t\t\t\t\tthis.move(1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"ArrowUp\":\n\t\t\t\t\t\tthis.handleShowOptions()\n\t\t\t\t\t\tthis.move(-1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"Tab\":\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthis.handleShowOptions()\n\t\t\t\t\t\tif (event.key.length == 1)\n\t\t\t\t\t\t\tthis.filter += event.key\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tprivate scrollToSelected() {\n\t\tconst selectedItem = this.items.find(item => item.selected)\n\t\tif (selectedItem) {\n\t\t\tthis.items.map(item => (item.marked = false))\n\t\t\tselectedItem.marked = true\n\t\t\tthis.scrollTo(selectedItem, \"instant\")\n\t\t}\n\t}\n\tprivate move(direction: -1 | 1): void {\n\t\tlet markedIndex = this.items.findIndex(item => item.marked)\n\t\tif (markedIndex == -1)\n\t\t\tmarkedIndex = 0\n\t\telse {\n\t\t\tthis.items[markedIndex].marked = false\n\t\t\tmarkedIndex = (markedIndex + direction + this.items.length) % this.items.length\n\t\t}\n\t\tif (this.items.some(item => !item.hidden))\n\t\t\twhile (this.items[markedIndex].hidden) {\n\t\t\t\tmarkedIndex = (markedIndex + direction + this.items.length) % this.items.length\n\t\t\t}\n\t\tthis.items[markedIndex].marked = true\n\t\tthis.scrollTo(this.items[markedIndex], \"smooth\")\n\t}\n\tprivate scrollTo(item: HTMLSmoothlyItemElement, behavior?: \"instant\" | \"smooth\") {\n\t\tthis.optionsDiv?.scrollTo({\n\t\t\ttop: item.offsetTop + item.offsetHeight / 2 - (this.optionsDiv?.clientHeight ?? 0) / 2,\n\t\t\tbehavior,\n\t\t})\n\t}\n\tprivate addItem() {\n\t\tthis.addedItems = this.addedItems.concat(\n\t\t\t<smoothly-item value={this.filter} selected>\n\t\t\t\t{this.filter}\n\t\t\t</smoothly-item>\n\t\t)\n\t}\n\n\trender(): VNode | VNode[] {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\ttabIndex={0}\n\t\t\t\tclass={{ \"has-value\": this.selected.length !== 0, open: this.open, invalid: !!this.invalid }}\n\t\t\t\tonClick={(event: Event) => this.handleShowOptions(event)}>\n\t\t\t\t<div class=\"select-display\" ref={element => (this.displaySelectedElement = element)}>\n\t\t\t\t\t{this.placeholder}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"icons\" ref={element => (this.iconsDiv = element)}>\n\t\t\t\t\t<slot name=\"end\" />\n\t\t\t\t\t{this.looks == \"border\" && !this.readonly && (\n\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\tref={element => (this.toggle = element)}\n\t\t\t\t\t\t\tsize=\"tiny\"\n\t\t\t\t\t\t\tname={this.open ? \"caret-down-outline\" : \"caret-forward-outline\"}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<smoothly-icon class=\"invalid\" name=\"alert-circle\" color=\"danger\" fill=\"clear\" size=\"small\" />\n\t\t\t\t</div>\n\t\t\t\t<slot name=\"label\" />\n\t\t\t\t<div class={{ hidden: !this.open, options: true }} ref={(el: HTMLDivElement) => (this.optionsDiv = el)}>\n\t\t\t\t\t{this.filter.length > 0 && (\n\t\t\t\t\t\t<smoothly-item selectable={false}>\n\t\t\t\t\t\t\t<smoothly-icon name=\"search-outline\" size=\"small\" />\n\t\t\t\t\t\t\t{this.filter}\n\t\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\t\tname=\"backspace-outline\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tonClick={e => {\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\t\t\t\t\tthis.element.focus()\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{this.mutable && (\n\t\t\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\t\t\tname=\"add\"\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={e => {\n\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\tthis.addItem()\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t)}\n\t\t\t\t\t<slot />\n\t\t\t\t\t{this.addedItems}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-d2471133.js","mappings":"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","names":["isly.object","isly.any","isly.boolean","isly.function"],"sources":["src/components/item/Item.ts","src/components/input/select/style.css?tag=smoothly-input-select&encapsulation=scoped","src/components/input/select/index.tsx"],"sourcesContent":["import { isly } from \"isly\"\n\nexport interface Item extends Item.Element {}\n\nexport namespace Item {\n\texport interface Element {\n\t\tvalue: any\n\t\tselected?: boolean\n\t\tdeselectable: boolean\n\t\tfilter: (filter: string) => Promise<void>\n\t}\n\texport namespace Element {\n\t\texport const type = isly.object<Element>({\n\t\t\tvalue: isly.any(),\n\t\t\tdeselectable: isly.boolean(),\n\t\t\tselected: isly.boolean().optional(),\n\t\t\tfilter: isly.function(),\n\t\t})\n\t\texport const is = type.is\n\t}\n\texport const type = Element.type.extend<Item>({})\n\texport const is = type.is\n}\n","@import \"../shared.css\";\n\n:host {\n\tdisplay: flex;\n\tjustify-content: space-between;\n\tflex-direction: row;\n\tposition: relative;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tcolor: rgb(var(--smoothly-input-foreground));\n\tfill: rgb(var(--smoothly-input-foreground));\n\tstroke: rgb(var(--smoothly-input-foreground));\n\tpadding: 0 var(--input-padding-side);\n}\n\n:host.open {\n\tborder-radius: var(--smoothly-input-border-radius) var(--smoothly-input-border-radius) 0 0;\n}\n\n:host.icon {\n\twidth: fit-content;\n\tflex-direction: column;\n}\n\n:host>div.select-display {\n\tbox-sizing: border-box;\n\tdisplay: flex;\n\tcursor: pointer;\n\tpadding: var(--input-value-padding-top) 0 var(--input-value-padding-bottom) 0;\n\toverflow: hidden;\n\twidth: 100%;\n\twhite-space: nowrap;\n\tgap: 1rem;\n\ttext-overflow: ellipsis;\n}\n\n:host:not(:has([slot=label]))>div.select-display,\n:host:not([show-label])>div.select-display {\n\tpadding: .6em 0;\n\talign-items: center;\n}\n\n:host[readonly]>div.select-display {\n\tcursor: not-allowed;\n}\n\n:host>div.select-display smoothly-icon {\n\tcolor: rgb(var(--smoothly-input-foreground));\n\tfill: rgb(var(--smoothly-input-foreground));\n\tstroke: rgb(var(--smoothly-input-foreground));\n}\n\n:host>div.icons {\n\tdisplay: flex;\n\tflex-direction: row;\n\talign-items: center;\n\tmargin-right: .2em;\n}\n\n:host>div.icons::slotted(smoothly-icon):not(\"color\") {\n\tcolor: rgb(var(--smoothly-input-foreground));\n\tfill: rgb(var(--smoothly-input-foreground));\n\tstroke: rgb(var(--smoothly-input-foreground));\n\tfilter: opacity(60%);\n\n}\n\n:host:hover>div.icons::slotted(smoothly-icon) {\n\tfilter: opacity(100%);\n}\n\n:host>div.icons>smoothly-icon[name=caret-down-outline],\n:host>div.icons>smoothly-icon[name=caret-forward-outline] {\n\topacity: .7;\n\tcursor: pointer;\n}\n\n:host.invalid>div>smoothly-icon.invalid {\n\tdisplay: block;\n}\n\n:host>div>smoothly-icon.invalid {\n\tdisplay: none\n}\n\n:host>div.icons::slotted(smoothly-input-reset) {\n\tpadding-right: .2em;\n}\n\n:host .label {\n\tleft: .5rem;\n}\n\n:host.has-value:has([slot=label]:not(:empty))>div.select-display,\n:host:not(.has-value)[placeholder]>div.select-display {\n\toverflow: hidden;\n\twidth: 100%;\n}\n\n:host>.options {\n\tdisplay: flex;\n\tflex-direction: column;\n\tposition: absolute;\n\ttop: var(--element-height);\n\tz-index: 10;\n\tmax-height: var(--menu-height, unset);\n\toverflow-x: hidden;\n\toverflow-y: auto;\n\tbackground-color: rgb(var(--smoothly-input-background));\n\tleft: 0;\n\tright: 0;\n\tborder-radius: 0 0 var(--smoothly-input-border-radius) var(--smoothly-input-border-radius);\n\tmin-width: fit-content;\n\tborder: rgb(var(--smoothly-input-border, var(--smoothly-color-contrast))) solid 1px;\n\tborder-top: rgba(var(--smoothly-input-border, var(--smoothly-color-contrast)), .4) solid 1px;\n}\n:host[looks=\"grid\"]>div.options,\n:host[looks=border]>div.options,\n:host[looks=\"transparent\"]>div.options {\n\tleft: -1px;\n\tright: -1px;\n}\n\n:host>div.options::slotted(smoothly-item) {\n\tpadding: .7em .7em .7em .25em;\n}\n\n:host>div.options::slotted(smoothly-item:not([selectable])) {\n\tdisplay: flex;\n\tgap: 1em;\n\tbackground-color: rgba(var(--smoothly-primary-tint), .5);\n\tcolor: var(--smoothly-color-contrast)\n}\n\n:host>div.options>smoothly-item:not([selectable])>smoothly-icon[name=\"backspace-outline\"] {\n\tmargin-left: auto;\n\tmargin-right: 0;\n}\n\n:host>div.options.hidden {\n\tdisplay: none;\n}\n\n:host.invalid>div>smoothly-icon {\n\tdisplay: block;\n}\n","import {\n\tComponent,\n\tComponentWillLoad,\n\tElement,\n\tEvent,\n\tEventEmitter,\n\th,\n\tHost,\n\tListen,\n\tMethod,\n\tProp,\n\tState,\n\tVNode,\n\tWatch,\n} from \"@stencil/core\"\nimport { Color, Data } from \"../../../model\"\nimport { Item } from \"../../item/Item\"\nimport { Clearable } from \"../Clearable\"\nimport { Editable } from \"../Editable\"\nimport { Input } from \"../Input\"\nimport { Looks } from \"../Looks\"\n\n@Component({\n\ttag: \"smoothly-input-select\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class SmoothlyInputSelect implements Input, Editable, Clearable, ComponentWillLoad {\n\tparent: Editable | undefined\n\tprivate initialValue: HTMLSmoothlyItemElement[] = []\n\tprivate initialValueHandled = false\n\tprivate listener: { changed?: (parent: Editable) => Promise<void> } = {}\n\tprivate displaySelectedElement?: HTMLElement\n\tprivate iconsDiv?: HTMLElement\n\tprivate toggle?: HTMLElement\n\tprivate optionsDiv?: HTMLDivElement\n\tprivate items: HTMLSmoothlyItemElement[] = []\n\tprivate itemHeight: number | undefined\n\t@Element() element: HTMLSmoothlyInputSelectElement\n\t@Prop() invalid?: boolean = false\n\t@Prop({ reflect: true }) name = \"selected\"\n\t@Prop({ reflect: true, mutable: true }) color?: Color\n\t@Prop({ reflect: true, mutable: true }) looks?: Looks\n\t@Prop({ reflect: true }) showLabel = true\n\t@Prop({ reflect: true, mutable: true }) showSelected?: boolean = true\n\t@Prop({ reflect: true, mutable: true }) readonly = false\n\t@Prop({ reflect: true }) inCalendar = false\n\t@Prop({ reflect: true }) ordered?: boolean\n\t@Prop() multiple = false\n\t@Prop() clearable = true\n\t@Prop({ mutable: true }) changed = false\n\t@Prop({ mutable: true }) defined = false\n\t@Prop({ reflect: true }) placeholder?: string | any\n\t@Prop() menuHeight?: `${number}${\"items\" | \"rem\" | \"px\" | \"vh\"}`\n\t@Prop() required = false\n\t@Prop() searchDisabled = false\n\t@Prop() mutable = false\n\tprivate lastOpen = false\n\t@State() open = false\n\t@State() selected: HTMLSmoothlyItemElement[] = []\n\t@State() filter = \"\"\n\t@State() addedItems: HTMLSmoothlyItemElement[] = []\n\t@Event() smoothlyInput: EventEmitter<Data>\n\t@Event() smoothlyInputLooks: EventEmitter<(looks?: Looks, color?: Color) => void>\n\t@Event() smoothlyInputLoad: EventEmitter<(parent: Editable) => void>\n\t@Event() smoothlyFormDisable: EventEmitter<(disabled: boolean) => void>\n\t@Event() smoothlyItemSelect: EventEmitter<HTMLSmoothlyItemElement>\n\n\tcomponentWillLoad(): void | Promise<void> {\n\t\tthis.smoothlyInputLooks.emit(\n\t\t\t(looks, color) => ((this.looks = this.looks ?? looks), !this.color && (this.color = color))\n\t\t)\n\t\tthis.smoothlyInputLoad.emit(parent => (this.parent = parent))\n\t\t!this.readonly && this.smoothlyFormDisable.emit(readonly => (this.readonly = readonly))\n\t\tthis.listener.changed?.(this)\n\t}\n\tcomponentDidLoad(): void | Promise<void> {\n\t\tthis.selected && !this.initialValueHandled && (this.initialValue = [...this.selected])\n\t\tthis.initialValueHandled = true\n\t\tthis.onSelectedChange()\n\t}\n\tcomponentDidRender(): void | Promise<void> {\n\t\tthis.itemHeight === undefined && (this.itemHeight = this.items.find(item => item.clientHeight > 0)?.clientHeight)\n\t\tif (this.menuHeight && this.itemHeight) {\n\t\t\tthis.element?.style.setProperty(\n\t\t\t\t\"--menu-height\",\n\t\t\t\t!this.menuHeight.endsWith(\"items\") || this.items.length == 0\n\t\t\t\t\t? this.menuHeight\n\t\t\t\t\t: `${this.itemHeight * +(this.menuHeight.match(/^(\\d+(\\.\\d+)?|\\.\\d+)/g)?.[0] ?? \"10\")}px`\n\t\t\t)\n\t\t}\n\t\tthis.element?.style.setProperty(\"--element-height\", `${this.element.clientHeight}px`)\n\n\t\tif (this.ordered && !this.multiple && this.open && !this.lastOpen) {\n\t\t\tthis.scrollToSelected()\n\t\t}\n\t}\n\tasync disconnectedCallback() {\n\t\tif (!this.element.isConnected)\n\t\t\tawait this.unregister()\n\t}\n\t@Method()\n\tasync register() {\n\t\tInput.formAdd(this)\n\t}\n\t@Method()\n\tasync unregister() {\n\t\tInput.formRemove(this)\n\t}\n\t@Method()\n\tasync getValue(): Promise<any | any[] | undefined> {\n\t\treturn !this.multiple && this.selected[0]\n\t\t\t? this.selected[0].value\n\t\t\t: this.multiple && this.selected.length > 0\n\t\t\t? this.selected.map(item => item.value)\n\t\t\t: undefined\n\t}\n\t@Method()\n\tasync getItems(): Promise<HTMLSmoothlyItemElement[]> {\n\t\treturn this.items\n\t}\n\t@Method()\n\tasync listen(property: \"changed\", listener: (parent: Editable) => Promise<void>): Promise<void> {\n\t\tthis.listener[property] = listener\n\t\tlistener(this)\n\t}\n\t@Method()\n\tasync reset(): Promise<void> {\n\t\tthis.selected.forEach(item => (item.selected = item.hidden = false))\n\t\tthis.initialValue.forEach(item => (item.selected = true))\n\t\tthis.selected = [...this.initialValue]\n\t\tthis.displaySelected()\n\t\tthis.changed = false\n\t\tthis.open && this.handleShowOptions()\n\t}\n\n\t@Method()\n\tasync clear(): Promise<void> {\n\t\tif (this.clearable) {\n\t\t\tthis.selected.forEach(item => (item.selected = item.hidden = false))\n\t\t\tthis.selected = []\n\t\t\tif (this.displaySelectedElement) {\n\t\t\t\tthis.displaySelectedElement.innerHTML = this.placeholder ?? \"\"\n\t\t\t}\n\t\t}\n\t}\n\t@Method()\n\tasync edit(editable: boolean): Promise<void> {\n\t\tthis.readonly = !editable\n\t}\n\t@Method()\n\tasync setInitialValue(): Promise<void> {\n\t\tthis.changed = false\n\t\tthis.initialValue = [...this.selected]\n\t}\n\t@Watch(\"selected\")\n\tasync onSelectedChange() {\n\t\tthis.initialValueHandled && (this.changed = !this.areValuesEqual(this.selected, this.initialValue))\n\t\tthis.defined = this.selected.length > 0\n\t\tthis.smoothlyInput.emit({ [this.name]: await this.getValue() })\n\t\tthis.listener.changed?.(this)\n\t}\n\t@Watch(\"required\")\n\tonRequiredChange(): void {\n\t\tthis.items.forEach(item => (item.deselectable = !this.required))\n\t}\n\t@Watch(\"filter\")\n\tasync onFilterChange(value: string): Promise<void> {\n\t\tvalue = value.toLowerCase()\n\t\tawait Promise.all(this.items.map(item => item.filter(value)))\n\t}\n\t@Watch(\"readonly\")\n\twatchingReadonly(): void {\n\t\tthis.listener.changed?.(this)\n\t}\n\t@Listen(\"smoothlyInputLoad\")\n\tasync smoothlyInputLoadHandler(event: CustomEvent<(parent: SmoothlyInputSelect) => void>): Promise<void> {\n\t\tif (\n\t\t\tevent.target &&\n\t\t\t((\"name\" in event.target && event.target.name !== this.name) ||\n\t\t\t\t(event.composedPath().some(e => e == this.iconsDiv) && !event.composedPath().some(e => e == this.toggle)))\n\t\t) {\n\t\t\tevent.stopPropagation()\n\t\t} else if (Item.Element.is(event.target)) {\n\t\t\tevent.stopPropagation()\n\t\t\tevent.target.deselectable = !this.required\n\t\t\tthis.items.push(event.target as HTMLSmoothlyItemElement)\n\t\t}\n\t\tevent.detail(this)\n\t}\n\t@Listen(\"click\", { target: \"window\" })\n\tonWindowClick(event: Event): void {\n\t\t!event.composedPath().includes(this.element) && this.open && this.handleShowOptions()\n\t}\n\t@Listen(\"smoothlyItemSelect\")\n\tonItemSelect(event: CustomEvent<HTMLSmoothlyItemElement>): void {\n\t\tevent.stopPropagation()\n\t\tif (this.multiple) {\n\t\t\tthis.selected = event.detail.selected\n\t\t\t\t? [...this.selected, event.detail]\n\t\t\t\t: this.selected.filter(item => item.selected)\n\t\t} else if (event.detail.selected || !this.items.some(e => e.selected)) {\n\t\t\tthis.selected[0] && (this.selected[0].hidden = this.selected[0].selected = false)\n\t\t\tthis.selected = !event.detail.selected ? this.selected.filter(item => item.selected) : [event.detail]\n\t\t\t!this.showSelected && event.detail.selected && (event.detail.hidden = true)\n\t\t}\n\t\tthis.displaySelected()\n\t}\n\t@Watch(\"open\")\n\tonClosed(open: boolean, before: boolean): void {\n\t\tthis.lastOpen = before\n\t\tif (!open) {\n\t\t\tconst markedItem = this.items.find(item => item.marked)\n\t\t\tif (markedItem) {\n\t\t\t\tmarkedItem.marked = false\n\t\t\t}\n\t\t}\n\t}\n\thandleShowOptions(event?: Event): void {\n\t\tconst wasButtonClicked =\n\t\t\tevent?.composedPath().some(e => e == this.iconsDiv) && !event.composedPath().some(e => e == this.toggle)\n\t\tconst clickedItem = event\n\t\t\t?.composedPath()\n\t\t\t.find((el): el is HTMLSmoothlyItemElement => \"tagName\" in el && el.tagName == \"SMOOTHLY-ITEM\")\n\t\t!this.readonly &&\n\t\t\t!(clickedItem && this.items.includes(clickedItem) && this.multiple) &&\n\t\t\t!wasButtonClicked &&\n\t\t\t(this.open = !this.open)\n\t\tthis.filter = \"\"\n\t}\n\tareValuesEqual(selected: HTMLSmoothlyItemElement[], initialValue: HTMLSmoothlyItemElement[]): boolean {\n\t\treturn selected.length === initialValue.length && initialValue.every(value => selected.includes(value))\n\t}\n\tdisplaySelected(): void {\n\t\tconst displayString: string = \"<div>\" + this.selected.map(option => option.innerHTML).join(\"</div><div>\") + \"</div>\"\n\t\tthis.displaySelectedElement &&\n\t\t\t(this.displaySelectedElement.innerHTML =\n\t\t\t\tthis.selected.length > 0 ? displayString : this.placeholder ? this.placeholder : \"\")\n\t}\n\t@Listen(\"keydown\")\n\tonKeyDown(event: KeyboardEvent) {\n\t\tif (!this.searchDisabled) {\n\t\t\tevent.stopPropagation()\n\t\t\tconst visibleItems = this.items.some(item => item.getAttribute(\"hidden\") === null)\n\t\t\tif (event.key != \"Tab\" && !event.ctrlKey && !event.metaKey)\n\t\t\t\tevent.preventDefault()\n\t\t\tif (this.open) {\n\t\t\t\tswitch (event.key) {\n\t\t\t\t\tcase \"ArrowUp\":\n\t\t\t\t\t\tvisibleItems && this.move(-1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"ArrowDown\":\n\t\t\t\t\t\tvisibleItems && this.move(1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"Escape\":\n\t\t\t\t\t\tif (this.filter == \"\")\n\t\t\t\t\t\t\tthis.open = false\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"Backspace\":\n\t\t\t\t\t\tthis.filter = this.filter.slice(0, -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"Enter\":\n\t\t\t\t\t\tconst result = this.items.find(item => item.marked)\n\t\t\t\t\t\tif (result?.value)\n\t\t\t\t\t\t\tresult.selected = !result.selected\n\t\t\t\t\t\tif (!this.multiple) {\n\t\t\t\t\t\t\tthis.open = false\n\t\t\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\t\t}\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"Tab\":\n\t\t\t\t\t\tthis.open = false\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tif (event.key.length == 1)\n\t\t\t\t\t\t\tthis.filter += event.key\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tswitch (event.key) {\n\t\t\t\t\tcase \"Enter\":\n\t\t\t\t\tcase \" \":\n\t\t\t\t\t\tthis.handleShowOptions()\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"ArrowDown\":\n\t\t\t\t\t\tthis.handleShowOptions()\n\t\t\t\t\t\tthis.move(1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"ArrowUp\":\n\t\t\t\t\t\tthis.handleShowOptions()\n\t\t\t\t\t\tthis.move(-1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tcase \"Tab\":\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tthis.handleShowOptions()\n\t\t\t\t\t\tif (event.key.length == 1)\n\t\t\t\t\t\t\tthis.filter += event.key\n\t\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\tprivate scrollToSelected() {\n\t\tconst selectedItem = this.items.find(item => item.selected)\n\t\tif (selectedItem) {\n\t\t\tthis.items.map(item => (item.marked = false))\n\t\t\tselectedItem.marked = true\n\t\t\tthis.scrollTo(selectedItem, \"instant\")\n\t\t}\n\t}\n\tprivate move(direction: -1 | 1): void {\n\t\tlet markedIndex = this.items.findIndex(item => item.marked)\n\t\tif (markedIndex == -1)\n\t\t\tmarkedIndex = 0\n\t\telse {\n\t\t\tthis.items[markedIndex].marked = false\n\t\t\tmarkedIndex = (markedIndex + direction + this.items.length) % this.items.length\n\t\t}\n\t\tif (this.items.some(item => !item.hidden))\n\t\t\twhile (this.items[markedIndex].hidden) {\n\t\t\t\tmarkedIndex = (markedIndex + direction + this.items.length) % this.items.length\n\t\t\t}\n\t\tthis.items[markedIndex].marked = true\n\t\tthis.scrollTo(this.items[markedIndex], \"smooth\")\n\t}\n\tprivate scrollTo(item: HTMLSmoothlyItemElement, behavior?: \"instant\" | \"smooth\") {\n\t\tthis.optionsDiv?.scrollTo({\n\t\t\ttop: item.offsetTop + item.offsetHeight / 2 - (this.optionsDiv?.clientHeight ?? 0) / 2,\n\t\t\tbehavior,\n\t\t})\n\t}\n\tprivate addItem() {\n\t\tthis.addedItems = this.addedItems.concat(\n\t\t\t<smoothly-item value={this.filter} selected>\n\t\t\t\t{this.filter}\n\t\t\t</smoothly-item>\n\t\t)\n\t}\n\n\trender(): VNode | VNode[] {\n\t\treturn (\n\t\t\t<Host\n\t\t\t\ttabIndex={0}\n\t\t\t\tclass={{ \"has-value\": this.selected.length !== 0, open: this.open, invalid: !!this.invalid }}\n\t\t\t\tonClick={(event: Event) => this.handleShowOptions(event)}>\n\t\t\t\t<div class=\"select-display\" ref={element => (this.displaySelectedElement = element)}>\n\t\t\t\t\t{this.placeholder}\n\t\t\t\t</div>\n\t\t\t\t<div class=\"icons\" ref={element => (this.iconsDiv = element)}>\n\t\t\t\t\t<slot name=\"end\" />\n\t\t\t\t\t{this.looks == \"border\" && !this.readonly && (\n\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\tref={element => (this.toggle = element)}\n\t\t\t\t\t\t\tsize=\"tiny\"\n\t\t\t\t\t\t\tname={this.open ? \"caret-down-outline\" : \"caret-forward-outline\"}\n\t\t\t\t\t\t/>\n\t\t\t\t\t)}\n\t\t\t\t\t<smoothly-icon class=\"invalid\" name=\"alert-circle\" color=\"danger\" fill=\"clear\" size=\"small\" />\n\t\t\t\t</div>\n\t\t\t\t<slot name=\"label\" />\n\t\t\t\t<div class={{ hidden: !this.open, options: true }} ref={(el: HTMLDivElement) => (this.optionsDiv = el)}>\n\t\t\t\t\t{this.filter.length > 0 && (\n\t\t\t\t\t\t<smoothly-item selectable={false}>\n\t\t\t\t\t\t\t<smoothly-icon name=\"search-outline\" size=\"small\" />\n\t\t\t\t\t\t\t{this.filter}\n\t\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\t\tname=\"backspace-outline\"\n\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\tonClick={e => {\n\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\tthis.filter = \"\"\n\t\t\t\t\t\t\t\t\tthis.element.focus()\n\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t{this.mutable && (\n\t\t\t\t\t\t\t\t<smoothly-icon\n\t\t\t\t\t\t\t\t\tname=\"add\"\n\t\t\t\t\t\t\t\t\tsize=\"small\"\n\t\t\t\t\t\t\t\t\tonClick={e => {\n\t\t\t\t\t\t\t\t\t\te.stopPropagation()\n\t\t\t\t\t\t\t\t\t\tthis.addItem()\n\t\t\t\t\t\t\t\t\t}}\n\t\t\t\t\t\t\t\t/>\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t)}\n\t\t\t\t\t<slot />\n\t\t\t\t\t{this.addedItems}\n\t\t\t\t</div>\n\t\t\t</Host>\n\t\t)\n\t}\n}\n"],"version":3}
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, h, d as Host } from './p-f765921a.js';
|
|
2
2
|
import './p-caf09da9.js';
|
|
3
3
|
import { f as filter } from './p-5ae9e20e.js';
|
|
4
|
-
import { f as fetch, d as defineCustomElement$c } from './p-
|
|
4
|
+
import { f as fetch, d as defineCustomElement$c } from './p-80b231e3.js';
|
|
5
5
|
import { S as Selector } from './p-80ad9aac.js';
|
|
6
|
-
import { d as defineCustomElement$m } from './p-
|
|
7
|
-
import { d as defineCustomElement$l } from './p-
|
|
8
|
-
import { d as defineCustomElement$k } from './p-
|
|
6
|
+
import { d as defineCustomElement$m } from './p-98279044.js';
|
|
7
|
+
import { d as defineCustomElement$l } from './p-5666c538.js';
|
|
8
|
+
import { d as defineCustomElement$k } from './p-fe1bc9d5.js';
|
|
9
9
|
import { d as defineCustomElement$j } from './p-1826dd84.js';
|
|
10
10
|
import { d as defineCustomElement$i } from './p-349fa13f.js';
|
|
11
|
-
import { d as defineCustomElement$h } from './p-
|
|
12
|
-
import { d as defineCustomElement$g } from './p-
|
|
13
|
-
import { d as defineCustomElement$f } from './p-
|
|
14
|
-
import { d as defineCustomElement$e } from './p-
|
|
15
|
-
import { d as defineCustomElement$d } from './p-
|
|
16
|
-
import { d as defineCustomElement$b } from './p-
|
|
17
|
-
import { d as defineCustomElement$a } from './p-
|
|
18
|
-
import { d as defineCustomElement$9 } from './p-
|
|
11
|
+
import { d as defineCustomElement$h } from './p-ee8127cd.js';
|
|
12
|
+
import { d as defineCustomElement$g } from './p-89505ec7.js';
|
|
13
|
+
import { d as defineCustomElement$f } from './p-174e1154.js';
|
|
14
|
+
import { d as defineCustomElement$e } from './p-c4395e67.js';
|
|
15
|
+
import { d as defineCustomElement$d } from './p-c05a03ab.js';
|
|
16
|
+
import { d as defineCustomElement$b } from './p-1ccb9b5d.js';
|
|
17
|
+
import { d as defineCustomElement$a } from './p-9c8ff26d.js';
|
|
18
|
+
import { d as defineCustomElement$9 } from './p-d2471133.js';
|
|
19
19
|
import { d as defineCustomElement$8 } from './p-88442020.js';
|
|
20
20
|
import { d as defineCustomElement$7 } from './p-e32f8664.js';
|
|
21
21
|
import { d as defineCustomElement$6 } from './p-cdd3d9d4.js';
|
|
22
|
-
import { d as defineCustomElement$5 } from './p-
|
|
23
|
-
import { d as defineCustomElement$4 } from './p-
|
|
22
|
+
import { d as defineCustomElement$5 } from './p-b354198d.js';
|
|
23
|
+
import { d as defineCustomElement$4 } from './p-6b3ea12e.js';
|
|
24
24
|
import { d as defineCustomElement$3 } from './p-2f1fce2c.js';
|
|
25
25
|
import { d as defineCustomElement$2 } from './p-98425f42.js';
|
|
26
26
|
import { d as defineCustomElement$1 } from './p-bc36484d.js';
|
|
@@ -207,4 +207,4 @@ defineCustomElement();
|
|
|
207
207
|
|
|
208
208
|
export { TableDemoFiltered as T, defineCustomElement as d };
|
|
209
209
|
|
|
210
|
-
//# sourceMappingURL=p-
|
|
210
|
+
//# sourceMappingURL=p-d2ea52c8.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-399bba68.js","mappings":"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","names":["http.fetch","selectively.filter"],"sources":["src/components/table/demo/filtered/style.css?tag=smoothly-table-demo-filtered&encapsulation=scoped","src/components/table/demo/filtered/index.tsx"],"sourcesContent":[":host {\n\tdisplay: block;\n\twidth: 80%;\n}\n\nsmoothly-table-cell:nth-of-type(2) {\n\ttext-align: right;\n}\n\ntd {\n\tpadding-left: 1.5em;\n}\n","import { Component, ComponentWillLoad, h, Host, Listen, State } from \"@stencil/core\"\nimport { selectively } from \"selectively\"\nimport { http } from \"cloudly-http\"\nimport { Selector } from \"../../Selector\"\nimport { Cat } from \"./Root\"\n\n@Component({\n\ttag: \"smoothly-table-demo-filtered\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class TableDemoFiltered implements ComponentWillLoad {\n\t@State() criteria: selectively.Criteria = {}\n\t@State() cats?: Cat[] | false\n\t@State() selector: Selector<Cat> = Selector.create(\"breed\")\n\t@Listen(\"smoothlyFilter\")\n\tonFilterUpdate(event: CustomEvent<selectively.Criteria>) {\n\t\tevent.stopPropagation()\n\t\tthis.criteria = event.detail\n\t}\n\t@Listen(\"smoothlyInput\")\n\tsmoothlyInputHandler(event: CustomEvent<Record<string, any>>) {\n\t\tevent.stopPropagation()\n\t\tthis.selector = this.selector.handle(event.detail)\n\t}\n\n\tasync componentWillLoad(): Promise<void> {\n\t\tconst response = await http.fetch(\"https://catfact.ninja/breeds?limit=15\")\n\t\tthis.cats =\n\t\t\tresponse.status == 200 &&\n\t\t\t(await response.body).data.map((cat: any) => ({\n\t\t\t\t...cat,\n\t\t\t\tprice: [...cat.breed].reduce((r, c) => r + c.charCodeAt(0), 0),\n\t\t\t\tnested: { ...cat, names: names[cat.country] ?? [] },\n\t\t\t\tnames: names[cat.country] ?? [],\n\t\t\t}))\n\t}\n\n\trender() {\n\t\tconst cats = this.cats && selectively.filter(this.criteria, this.cats)\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<smoothly-filter>\n\t\t\t\t\t<smoothly-filter-toggle\n\t\t\t\t\t\tproperties={{ [\"nested.pattern\"]: \"Ticked\", breed: \"\" }}\n\t\t\t\t\t\ticon=\"add\"\n\t\t\t\t\t\ttoolTip=\"Nested Ticked\"\n\t\t\t\t\t\tslot=\"bar\"\n\t\t\t\t\t/>\n\t\t\t\t\t<smoothly-filter-toggle\n\t\t\t\t\t\tproperties={{ pattern: \"Ticked\", breed: \"\" }}\n\t\t\t\t\t\ticon=\"paw\"\n\t\t\t\t\t\ttoolTip=\"Ticked cats\"\n\t\t\t\t\t\tslot=\"bar\"\n\t\t\t\t\t/>\n\t\t\t\t\t<smoothly-filter-toggle\n\t\t\t\t\t\tproperties={{ breed: \"Bombay\", pattern: \"Solid\" }}\n\t\t\t\t\t\ticon=\"radio-button-on\"\n\t\t\t\t\t\ttoolTip=\"Solid bombay cats\"\n\t\t\t\t\t\tslot=\"bar\"\n\t\t\t\t\t/>\n\t\t\t\t\t<smoothly-filter-toggle\n\t\t\t\t\t\tproperties={{ pattern: \"Colorpoint\" }}\n\t\t\t\t\t\tnot\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon=\"alert\"\n\t\t\t\t\t\ttoolTip=\"Colored cats\"\n\t\t\t\t\t\tslot=\"bar\"\n\t\t\t\t\t/>\n\t\t\t\t\t<smoothly-filter-select label=\"coat\" property=\"nested.coat\" slot=\"bar\" multiple={false}>\n\t\t\t\t\t\t{this.cats &&\n\t\t\t\t\t\t\tObject.values(\n\t\t\t\t\t\t\t\tthis.cats.reduce<Record<string, Cat>>(\n\t\t\t\t\t\t\t\t\t(r, cat) => (cat.nested ? { ...r, [cat.nested.coat]: cat } : r),\n\t\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t).map(\n\t\t\t\t\t\t\t\tcat =>\n\t\t\t\t\t\t\t\t\tcat.nested?.coat && (\n\t\t\t\t\t\t\t\t\t\t<smoothly-item slot=\"items\" value={cat.nested.coat}>\n\t\t\t\t\t\t\t\t\t\t\t{cat.nested.coat}\n\t\t\t\t\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t</smoothly-filter-select>\n\t\t\t\t\t<div slot=\"detail\">\n\t\t\t\t\t\t<smoothly-form looks=\"border\">\n\t\t\t\t\t\t\t<smoothly-filter-select label=\"coat\" property=\"nested.coat\" multiple>\n\t\t\t\t\t\t\t\t{this.cats &&\n\t\t\t\t\t\t\t\t\tObject.values(\n\t\t\t\t\t\t\t\t\t\tthis.cats.reduce<Record<string, Cat>>(\n\t\t\t\t\t\t\t\t\t\t\t(r, cat) => (cat.nested ? { ...r, [cat.nested.coat]: cat } : r),\n\t\t\t\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t).map(\n\t\t\t\t\t\t\t\t\t\tcat =>\n\t\t\t\t\t\t\t\t\t\t\tcat.nested?.coat && (\n\t\t\t\t\t\t\t\t\t\t\t\t<smoothly-item slot=\"items\" value={cat.nested.coat}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{cat.nested.coat}\n\t\t\t\t\t\t\t\t\t\t\t\t</smoothly-item>\n\t\t\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</smoothly-filter-select>\n\t\t\t\t\t\t\t<smoothly-filter-select label=\"breed\" property=\"breed\" multiple={false}>\n\t\t\t\t\t\t\t\t{this.cats &&\n\t\t\t\t\t\t\t\t\tObject.values(\n\t\t\t\t\t\t\t\t\t\tthis.cats.reduce<Record<string, Cat>>((r, cat) => (cat.breed ? { ...r, [cat.breed]: cat } : r), {})\n\t\t\t\t\t\t\t\t\t).map(\n\t\t\t\t\t\t\t\t\t\tcat =>\n\t\t\t\t\t\t\t\t\t\t\tcat.breed && (\n\t\t\t\t\t\t\t\t\t\t\t\t<smoothly-item slot=\"items\" value={cat.breed}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{cat.breed}\n\t\t\t\t\t\t\t\t\t\t\t\t</smoothly-item>\n\t\t\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</smoothly-filter-select>\n\t\t\t\t\t\t\t<smoothly-filter-select label=\"names\" property=\"nested.names\" multiple={true} type=\"array\">\n\t\t\t\t\t\t\t\t{Object.keys(\n\t\t\t\t\t\t\t\t\tObject.values(names)\n\t\t\t\t\t\t\t\t\t\t.flat()\n\t\t\t\t\t\t\t\t\t\t.reduce((r, name) => ({ ...r, [name]: true }), {})\n\t\t\t\t\t\t\t\t).flatMap(name => (\n\t\t\t\t\t\t\t\t\t<smoothly-item slot=\"items\" value={name}>\n\t\t\t\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</smoothly-filter-select>\n\t\t\t\t\t\t\t<smoothly-filter-input label=\"Coat\" property=\"coat\" />\n\t\t\t\t\t\t\t<smoothly-filter-input label=\"Nested Coat\" property=\"nested.coat\" />\n\t\t\t\t\t\t</smoothly-form>\n\t\t\t\t\t</div>\n\t\t\t\t</smoothly-filter>\n\t\t\t\t{!cats ? (\n\t\t\t\t\t\"Failed to load data.\"\n\t\t\t\t) : (\n\t\t\t\t\t<smoothly-table>\n\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t<smoothly-table-header>{this.selector.render(cats)}</smoothly-table-header>\n\t\t\t\t\t\t\t<smoothly-table-header>Breed</smoothly-table-header>\n\t\t\t\t\t\t\t<smoothly-table-header>Coat</smoothly-table-header>\n\t\t\t\t\t\t\t<smoothly-table-header>Price</smoothly-table-header>\n\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t{cats.map(cat => (\n\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>{this.selector.render(cat)}</smoothly-table-cell>\n\t\t\t\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t{cat.breed}\n\t\t\t\t\t\t\t\t\t<div slot=\"detail\">Country: {cat.country}</div>\n\t\t\t\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t{cat.coat}\n\t\t\t\t\t\t\t\t\t<div slot=\"detail\">Pattern: {cat.pattern}</div>\n\t\t\t\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>\n\t\t\t\t\t\t\t\t\t<smoothly-display type=\"price\" value={cat.price} currency=\"SEK\"></smoothly-display>\n\t\t\t\t\t\t\t\t</smoothly-table-cell>\n\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t<smoothly-table-footer>\n\t\t\t\t\t\t\t<td colSpan={5}>\n\t\t\t\t\t\t\t\t<smoothly-display\n\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\tvalue={`Selected: ${\n\t\t\t\t\t\t\t\t\t\tthis.selector.selected.length != 0 ? this.selector.selected.length : cats ? cats.length : \"?\"\n\t\t\t\t\t\t\t\t\t}`}></smoothly-display>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</smoothly-table-footer>\n\t\t\t\t\t</smoothly-table>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n}\nconst names: Record<string, string[]> = {\n\t\"United States\": [\"bill\", \"bob\", \"brad\", \"joe\", \"molly\"],\n\tAustralia: [\"nigel\", \"bruce\", \"sheila\", \"brad\", \"shane\"],\n\t\"United Kingdom\": [\"nigel\", \"james\", \"molly\", \"shane\", \"bob\"],\n\tGreece: [\"dionysius\", \"demetrius\", \"polikarpos\"],\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-d2ea52c8.js","mappings":"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","names":["http.fetch","selectively.filter"],"sources":["src/components/table/demo/filtered/style.css?tag=smoothly-table-demo-filtered&encapsulation=scoped","src/components/table/demo/filtered/index.tsx"],"sourcesContent":[":host {\n\tdisplay: block;\n\twidth: 80%;\n}\n\nsmoothly-table-cell:nth-of-type(2) {\n\ttext-align: right;\n}\n\ntd {\n\tpadding-left: 1.5em;\n}\n","import { Component, ComponentWillLoad, h, Host, Listen, State } from \"@stencil/core\"\nimport { selectively } from \"selectively\"\nimport { http } from \"cloudly-http\"\nimport { Selector } from \"../../Selector\"\nimport { Cat } from \"./Root\"\n\n@Component({\n\ttag: \"smoothly-table-demo-filtered\",\n\tstyleUrl: \"style.css\",\n\tscoped: true,\n})\nexport class TableDemoFiltered implements ComponentWillLoad {\n\t@State() criteria: selectively.Criteria = {}\n\t@State() cats?: Cat[] | false\n\t@State() selector: Selector<Cat> = Selector.create(\"breed\")\n\t@Listen(\"smoothlyFilter\")\n\tonFilterUpdate(event: CustomEvent<selectively.Criteria>) {\n\t\tevent.stopPropagation()\n\t\tthis.criteria = event.detail\n\t}\n\t@Listen(\"smoothlyInput\")\n\tsmoothlyInputHandler(event: CustomEvent<Record<string, any>>) {\n\t\tevent.stopPropagation()\n\t\tthis.selector = this.selector.handle(event.detail)\n\t}\n\n\tasync componentWillLoad(): Promise<void> {\n\t\tconst response = await http.fetch(\"https://catfact.ninja/breeds?limit=15\")\n\t\tthis.cats =\n\t\t\tresponse.status == 200 &&\n\t\t\t(await response.body).data.map((cat: any) => ({\n\t\t\t\t...cat,\n\t\t\t\tprice: [...cat.breed].reduce((r, c) => r + c.charCodeAt(0), 0),\n\t\t\t\tnested: { ...cat, names: names[cat.country] ?? [] },\n\t\t\t\tnames: names[cat.country] ?? [],\n\t\t\t}))\n\t}\n\n\trender() {\n\t\tconst cats = this.cats && selectively.filter(this.criteria, this.cats)\n\t\treturn (\n\t\t\t<Host>\n\t\t\t\t<smoothly-filter>\n\t\t\t\t\t<smoothly-filter-toggle\n\t\t\t\t\t\tproperties={{ [\"nested.pattern\"]: \"Ticked\", breed: \"\" }}\n\t\t\t\t\t\ticon=\"add\"\n\t\t\t\t\t\ttoolTip=\"Nested Ticked\"\n\t\t\t\t\t\tslot=\"bar\"\n\t\t\t\t\t/>\n\t\t\t\t\t<smoothly-filter-toggle\n\t\t\t\t\t\tproperties={{ pattern: \"Ticked\", breed: \"\" }}\n\t\t\t\t\t\ticon=\"paw\"\n\t\t\t\t\t\ttoolTip=\"Ticked cats\"\n\t\t\t\t\t\tslot=\"bar\"\n\t\t\t\t\t/>\n\t\t\t\t\t<smoothly-filter-toggle\n\t\t\t\t\t\tproperties={{ breed: \"Bombay\", pattern: \"Solid\" }}\n\t\t\t\t\t\ticon=\"radio-button-on\"\n\t\t\t\t\t\ttoolTip=\"Solid bombay cats\"\n\t\t\t\t\t\tslot=\"bar\"\n\t\t\t\t\t/>\n\t\t\t\t\t<smoothly-filter-toggle\n\t\t\t\t\t\tproperties={{ pattern: \"Colorpoint\" }}\n\t\t\t\t\t\tnot\n\t\t\t\t\t\tactive\n\t\t\t\t\t\ticon=\"alert\"\n\t\t\t\t\t\ttoolTip=\"Colored cats\"\n\t\t\t\t\t\tslot=\"bar\"\n\t\t\t\t\t/>\n\t\t\t\t\t<smoothly-filter-select label=\"coat\" property=\"nested.coat\" slot=\"bar\" multiple={false}>\n\t\t\t\t\t\t{this.cats &&\n\t\t\t\t\t\t\tObject.values(\n\t\t\t\t\t\t\t\tthis.cats.reduce<Record<string, Cat>>(\n\t\t\t\t\t\t\t\t\t(r, cat) => (cat.nested ? { ...r, [cat.nested.coat]: cat } : r),\n\t\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t).map(\n\t\t\t\t\t\t\t\tcat =>\n\t\t\t\t\t\t\t\t\tcat.nested?.coat && (\n\t\t\t\t\t\t\t\t\t\t<smoothly-item slot=\"items\" value={cat.nested.coat}>\n\t\t\t\t\t\t\t\t\t\t\t{cat.nested.coat}\n\t\t\t\t\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t)}\n\t\t\t\t\t</smoothly-filter-select>\n\t\t\t\t\t<div slot=\"detail\">\n\t\t\t\t\t\t<smoothly-form looks=\"border\">\n\t\t\t\t\t\t\t<smoothly-filter-select label=\"coat\" property=\"nested.coat\" multiple>\n\t\t\t\t\t\t\t\t{this.cats &&\n\t\t\t\t\t\t\t\t\tObject.values(\n\t\t\t\t\t\t\t\t\t\tthis.cats.reduce<Record<string, Cat>>(\n\t\t\t\t\t\t\t\t\t\t\t(r, cat) => (cat.nested ? { ...r, [cat.nested.coat]: cat } : r),\n\t\t\t\t\t\t\t\t\t\t\t{}\n\t\t\t\t\t\t\t\t\t\t)\n\t\t\t\t\t\t\t\t\t).map(\n\t\t\t\t\t\t\t\t\t\tcat =>\n\t\t\t\t\t\t\t\t\t\t\tcat.nested?.coat && (\n\t\t\t\t\t\t\t\t\t\t\t\t<smoothly-item slot=\"items\" value={cat.nested.coat}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{cat.nested.coat}\n\t\t\t\t\t\t\t\t\t\t\t\t</smoothly-item>\n\t\t\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</smoothly-filter-select>\n\t\t\t\t\t\t\t<smoothly-filter-select label=\"breed\" property=\"breed\" multiple={false}>\n\t\t\t\t\t\t\t\t{this.cats &&\n\t\t\t\t\t\t\t\t\tObject.values(\n\t\t\t\t\t\t\t\t\t\tthis.cats.reduce<Record<string, Cat>>((r, cat) => (cat.breed ? { ...r, [cat.breed]: cat } : r), {})\n\t\t\t\t\t\t\t\t\t).map(\n\t\t\t\t\t\t\t\t\t\tcat =>\n\t\t\t\t\t\t\t\t\t\t\tcat.breed && (\n\t\t\t\t\t\t\t\t\t\t\t\t<smoothly-item slot=\"items\" value={cat.breed}>\n\t\t\t\t\t\t\t\t\t\t\t\t\t{cat.breed}\n\t\t\t\t\t\t\t\t\t\t\t\t</smoothly-item>\n\t\t\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</smoothly-filter-select>\n\t\t\t\t\t\t\t<smoothly-filter-select label=\"names\" property=\"nested.names\" multiple={true} type=\"array\">\n\t\t\t\t\t\t\t\t{Object.keys(\n\t\t\t\t\t\t\t\t\tObject.values(names)\n\t\t\t\t\t\t\t\t\t\t.flat()\n\t\t\t\t\t\t\t\t\t\t.reduce((r, name) => ({ ...r, [name]: true }), {})\n\t\t\t\t\t\t\t\t).flatMap(name => (\n\t\t\t\t\t\t\t\t\t<smoothly-item slot=\"items\" value={name}>\n\t\t\t\t\t\t\t\t\t\t{name}\n\t\t\t\t\t\t\t\t\t</smoothly-item>\n\t\t\t\t\t\t\t\t))}\n\t\t\t\t\t\t\t</smoothly-filter-select>\n\t\t\t\t\t\t\t<smoothly-filter-input label=\"Coat\" property=\"coat\" />\n\t\t\t\t\t\t\t<smoothly-filter-input label=\"Nested Coat\" property=\"nested.coat\" />\n\t\t\t\t\t\t</smoothly-form>\n\t\t\t\t\t</div>\n\t\t\t\t</smoothly-filter>\n\t\t\t\t{!cats ? (\n\t\t\t\t\t\"Failed to load data.\"\n\t\t\t\t) : (\n\t\t\t\t\t<smoothly-table>\n\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t<smoothly-table-header>{this.selector.render(cats)}</smoothly-table-header>\n\t\t\t\t\t\t\t<smoothly-table-header>Breed</smoothly-table-header>\n\t\t\t\t\t\t\t<smoothly-table-header>Coat</smoothly-table-header>\n\t\t\t\t\t\t\t<smoothly-table-header>Price</smoothly-table-header>\n\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t{cats.map(cat => (\n\t\t\t\t\t\t\t<smoothly-table-row>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>{this.selector.render(cat)}</smoothly-table-cell>\n\t\t\t\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t{cat.breed}\n\t\t\t\t\t\t\t\t\t<div slot=\"detail\">Country: {cat.country}</div>\n\t\t\t\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t<smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t\t{cat.coat}\n\t\t\t\t\t\t\t\t\t<div slot=\"detail\">Pattern: {cat.pattern}</div>\n\t\t\t\t\t\t\t\t</smoothly-table-expandable-cell>\n\t\t\t\t\t\t\t\t<smoothly-table-cell>\n\t\t\t\t\t\t\t\t\t<smoothly-display type=\"price\" value={cat.price} currency=\"SEK\"></smoothly-display>\n\t\t\t\t\t\t\t\t</smoothly-table-cell>\n\t\t\t\t\t\t\t</smoothly-table-row>\n\t\t\t\t\t\t))}\n\t\t\t\t\t\t<smoothly-table-footer>\n\t\t\t\t\t\t\t<td colSpan={5}>\n\t\t\t\t\t\t\t\t<smoothly-display\n\t\t\t\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t\t\t\tvalue={`Selected: ${\n\t\t\t\t\t\t\t\t\t\tthis.selector.selected.length != 0 ? this.selector.selected.length : cats ? cats.length : \"?\"\n\t\t\t\t\t\t\t\t\t}`}></smoothly-display>\n\t\t\t\t\t\t\t</td>\n\t\t\t\t\t\t</smoothly-table-footer>\n\t\t\t\t\t</smoothly-table>\n\t\t\t\t)}\n\t\t\t</Host>\n\t\t)\n\t}\n}\nconst names: Record<string, string[]> = {\n\t\"United States\": [\"bill\", \"bob\", \"brad\", \"joe\", \"molly\"],\n\tAustralia: [\"nigel\", \"bruce\", \"sheila\", \"brad\", \"shane\"],\n\t\"United Kingdom\": [\"nigel\", \"james\", \"molly\", \"shane\", \"bob\"],\n\tGreece: [\"dionysius\", \"demetrius\", \"polikarpos\"],\n}\n"],"version":3}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
class Type {
|
|
2
|
+
_name;
|
|
3
|
+
_condition;
|
|
2
4
|
get name() {
|
|
3
5
|
return typeof this._name == "function" ? this._name() : this._name;
|
|
4
6
|
}
|
|
@@ -17,50 +19,30 @@ class Type {
|
|
|
17
19
|
constructor(_name, _condition) {
|
|
18
20
|
this._name = _name;
|
|
19
21
|
this._condition = _condition;
|
|
20
|
-
/**
|
|
21
|
-
* Return a flaw object, describing the flaws of the value compared to expected type.
|
|
22
|
-
*
|
|
23
|
-
* If it is a correct value, according to the type, it returns a Flaw with the message `{message:"This type is correct.", isFlaw: false, ... }`
|
|
24
|
-
*
|
|
25
|
-
* Implemented as a closure.
|
|
26
|
-
*/
|
|
27
|
-
this.flaw = (value) => {
|
|
28
|
-
return this.is(value)
|
|
29
|
-
? {
|
|
30
|
-
type: this.name,
|
|
31
|
-
...(this.condition ? { condition: this.condition } : undefined),
|
|
32
|
-
isFlaw: false,
|
|
33
|
-
message: "This type is correct.",
|
|
34
|
-
}
|
|
35
|
-
: {
|
|
36
|
-
...(this.condition ? { condition: this.condition } : undefined),
|
|
37
|
-
...this.createFlaw(value),
|
|
38
|
-
type: this.name,
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
22
|
}
|
|
42
|
-
/**
|
|
43
|
-
* Return the value if the value is valid for the type, otherwise undefined.
|
|
44
|
-
* For objects, unknown properties are filtered.
|
|
45
|
-
*
|
|
46
|
-
* Eg: isly.number().value(NaN) returns undefined
|
|
47
|
-
*/
|
|
48
23
|
get(value) {
|
|
49
24
|
return this.is(value) ? this.getValue(value) : undefined;
|
|
50
25
|
}
|
|
51
26
|
getValue(value) {
|
|
52
27
|
return value;
|
|
53
28
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
29
|
+
flaw = (value) => {
|
|
30
|
+
return this.is(value)
|
|
31
|
+
? {
|
|
32
|
+
type: this.name,
|
|
33
|
+
...(this.condition ? { condition: this.condition } : undefined),
|
|
34
|
+
isFlaw: false,
|
|
35
|
+
message: "This type is correct.",
|
|
36
|
+
}
|
|
37
|
+
: {
|
|
38
|
+
...(this.condition ? { condition: this.condition } : undefined),
|
|
39
|
+
...this.createFlaw(value),
|
|
40
|
+
type: this.name,
|
|
41
|
+
};
|
|
42
|
+
};
|
|
58
43
|
createFlaw(value) {
|
|
59
44
|
return {};
|
|
60
45
|
}
|
|
61
|
-
/**
|
|
62
|
-
* Used by types that use a backend type.
|
|
63
|
-
*/
|
|
64
46
|
createFlawFromType(backend, value) {
|
|
65
47
|
return "createFlaw" in backend && typeof backend.createFlaw == "function"
|
|
66
48
|
? backend.createFlaw(value)
|
|
@@ -68,23 +50,25 @@ class Type {
|
|
|
68
50
|
}
|
|
69
51
|
}
|
|
70
52
|
class IslyOptional extends Type {
|
|
53
|
+
backend;
|
|
54
|
+
class = "optional";
|
|
71
55
|
constructor(backend) {
|
|
72
56
|
super(() => backend.name + " | undefined", backend.condition);
|
|
73
57
|
this.backend = backend;
|
|
74
|
-
this.class = "optional";
|
|
75
|
-
this.is = (value) => value == undefined || this.backend.is(value);
|
|
76
58
|
}
|
|
59
|
+
is = (value) => value == undefined || this.backend.is(value);
|
|
77
60
|
createFlaw(value) {
|
|
78
61
|
return this.createFlawFromType(this.backend, value);
|
|
79
62
|
}
|
|
80
63
|
}
|
|
81
64
|
class IslyReadonly extends Type {
|
|
65
|
+
backend;
|
|
66
|
+
class = "readonly";
|
|
82
67
|
constructor(backend) {
|
|
83
68
|
super(() => `Readonly<${backend.name}>`, backend.condition);
|
|
84
69
|
this.backend = backend;
|
|
85
|
-
this.class = "readonly";
|
|
86
|
-
this.is = (value) => value == undefined || this.backend.is(value);
|
|
87
70
|
}
|
|
71
|
+
is = (value) => value == undefined || this.backend.is(value);
|
|
88
72
|
createFlaw(value) {
|
|
89
73
|
return this.createFlawFromType(this.backend, value);
|
|
90
74
|
}
|
|
@@ -107,14 +91,13 @@ const criteriaFunctions = {
|
|
|
107
91
|
},
|
|
108
92
|
};
|
|
109
93
|
class IslyArray extends Type {
|
|
94
|
+
itemType;
|
|
95
|
+
options;
|
|
96
|
+
class = "array";
|
|
110
97
|
constructor(itemType, options) {
|
|
111
98
|
super(() => this.baseName() + "[]", options.length > 0 ? options.map(c => criteriaFunctions[c.criteria].condition(c.value)).join(" & ") : undefined);
|
|
112
99
|
this.itemType = itemType;
|
|
113
100
|
this.options = options;
|
|
114
|
-
this.class = "array";
|
|
115
|
-
this.is = (value) => globalThis.Array.isArray(value) &&
|
|
116
|
-
this.options.every(option => criteriaFunctions[option.criteria].is(value, option.value)) &&
|
|
117
|
-
value.every(item => this.itemType.is(item));
|
|
118
101
|
}
|
|
119
102
|
baseName() {
|
|
120
103
|
return this.itemType.name.includes(" ") ? `(${this.itemType.name})` : this.itemType.name;
|
|
@@ -122,6 +105,9 @@ class IslyArray extends Type {
|
|
|
122
105
|
itemName(index) {
|
|
123
106
|
return `${this.baseName()}[${index}]`;
|
|
124
107
|
}
|
|
108
|
+
is = (value) => globalThis.Array.isArray(value) &&
|
|
109
|
+
this.options.every(option => criteriaFunctions[option.criteria].is(value, option.value)) &&
|
|
110
|
+
value.every(item => this.itemType.is(item));
|
|
125
111
|
createFlaw(value) {
|
|
126
112
|
const flaws = (globalThis.Array.isArray(value) &&
|
|
127
113
|
value.flatMap((item, index) => {
|
|
@@ -138,51 +124,13 @@ class IslyArray extends Type {
|
|
|
138
124
|
}
|
|
139
125
|
}
|
|
140
126
|
|
|
141
|
-
function boolean(booleanValue) {
|
|
142
|
-
return new IslyBoolean(booleanValue);
|
|
143
|
-
}
|
|
144
|
-
class IslyBoolean extends Type {
|
|
145
|
-
constructor(booleanValue) {
|
|
146
|
-
super(booleanValue == undefined ? "boolean" : booleanValue ? "true" : "false");
|
|
147
|
-
this.booleanValue = booleanValue;
|
|
148
|
-
this.class = "boolean";
|
|
149
|
-
this.is = (value) => typeof value == "boolean" && (this.booleanValue == undefined || value == this.booleanValue);
|
|
150
|
-
}
|
|
151
|
-
}
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Late evaluation of a type
|
|
155
|
-
* Can be used for for recursive types.
|
|
156
|
-
*
|
|
157
|
-
* @param factory
|
|
158
|
-
* @param name Provide a name, to avoid infinite loop if the type i recursive
|
|
159
|
-
* @returns
|
|
160
|
-
*/
|
|
161
|
-
function lazy(factory, name) {
|
|
162
|
-
return new IslyLazy(factory, name);
|
|
163
|
-
}
|
|
164
|
-
class IslyLazy extends Type {
|
|
165
|
-
constructor(factory, name) {
|
|
166
|
-
super(name ?? (() => (this.backend ??= factory()).name), () => (this.backend ??= factory()).condition);
|
|
167
|
-
this.factory = factory;
|
|
168
|
-
this.class = "lazy";
|
|
169
|
-
this.is = (value) => (this.backend ??= this.factory()).is(value);
|
|
170
|
-
}
|
|
171
|
-
createFlaw(value) {
|
|
172
|
-
return this.createFlawFromType((this.backend ??= this.factory()), value);
|
|
173
|
-
}
|
|
174
|
-
getBackend() {
|
|
175
|
-
return this.backend;
|
|
176
|
-
}
|
|
177
|
-
get(value) {
|
|
178
|
-
return this.backend.get(value);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
|
|
182
127
|
function object(properties, name) {
|
|
183
128
|
return new IslyObject(properties ?? {}, name);
|
|
184
129
|
}
|
|
185
130
|
class IslyObject extends Type {
|
|
131
|
+
properties;
|
|
132
|
+
baseType;
|
|
133
|
+
class = "object";
|
|
186
134
|
constructor(properties, name, baseType) {
|
|
187
135
|
super(() => name ??
|
|
188
136
|
(this.baseType ? `${this.baseType.name} & ` : "") +
|
|
@@ -191,12 +139,6 @@ class IslyObject extends Type {
|
|
|
191
139
|
.join(", ")}}`);
|
|
192
140
|
this.properties = properties;
|
|
193
141
|
this.baseType = baseType;
|
|
194
|
-
this.class = "object";
|
|
195
|
-
this.is = (value) => !!(value &&
|
|
196
|
-
(this.baseType == undefined || this.baseType.is(value)) &&
|
|
197
|
-
typeof value == "object" &&
|
|
198
|
-
!globalThis.Array.isArray(value) &&
|
|
199
|
-
globalThis.Object.entries(this.properties).every(([property, type]) => type.is(value[property])));
|
|
200
142
|
}
|
|
201
143
|
extend(properties, name) {
|
|
202
144
|
return new IslyObject(properties, name, this);
|
|
@@ -207,6 +149,11 @@ class IslyObject extends Type {
|
|
|
207
149
|
pick(picks, name) {
|
|
208
150
|
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));
|
|
209
151
|
}
|
|
152
|
+
is = (value) => !!(value &&
|
|
153
|
+
(this.baseType == undefined || this.baseType.is(value)) &&
|
|
154
|
+
typeof value == "object" &&
|
|
155
|
+
!globalThis.Array.isArray(value) &&
|
|
156
|
+
globalThis.Object.entries(this.properties).every(([property, type]) => type.is(value[property])));
|
|
210
157
|
createFlaw(value) {
|
|
211
158
|
return {
|
|
212
159
|
flaws: [
|
|
@@ -220,9 +167,6 @@ class IslyObject extends Type {
|
|
|
220
167
|
.filter(flaw => flaw?.isFlaw ?? true),
|
|
221
168
|
};
|
|
222
169
|
}
|
|
223
|
-
/**
|
|
224
|
-
* get-function on a object returns a object with only specified properties
|
|
225
|
-
*/
|
|
226
170
|
getValue(value) {
|
|
227
171
|
const result = this.baseType ? this.baseType.getValue(value) : {};
|
|
228
172
|
if (result)
|
|
@@ -236,31 +180,77 @@ class IslyObject extends Type {
|
|
|
236
180
|
}
|
|
237
181
|
}
|
|
238
182
|
|
|
239
|
-
function
|
|
240
|
-
return new
|
|
183
|
+
function boolean(booleanValue) {
|
|
184
|
+
return new IslyBoolean(booleanValue);
|
|
185
|
+
}
|
|
186
|
+
class IslyBoolean extends Type {
|
|
187
|
+
booleanValue;
|
|
188
|
+
class = "boolean";
|
|
189
|
+
constructor(booleanValue) {
|
|
190
|
+
super(booleanValue == undefined ? "boolean" : booleanValue ? "true" : "false");
|
|
191
|
+
this.booleanValue = booleanValue;
|
|
192
|
+
}
|
|
193
|
+
is = (value) => typeof value == "boolean" && (this.booleanValue == undefined || value == this.booleanValue);
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
function lazy(factory, name) {
|
|
197
|
+
return new IslyLazy(factory, name);
|
|
198
|
+
}
|
|
199
|
+
class IslyLazy extends Type {
|
|
200
|
+
factory;
|
|
201
|
+
class = "lazy";
|
|
202
|
+
#backend;
|
|
203
|
+
get backend() {
|
|
204
|
+
return (this.#backend ??= this.factory());
|
|
205
|
+
}
|
|
206
|
+
constructor(factory, name) {
|
|
207
|
+
super(name ?? (() => this.backend.name), () => this.backend.condition);
|
|
208
|
+
this.factory = factory;
|
|
209
|
+
}
|
|
210
|
+
is = (value) => (this.#backend ??= this.factory()).is(value);
|
|
211
|
+
createFlaw(value) {
|
|
212
|
+
return this.createFlawFromType(this.backend, value);
|
|
213
|
+
}
|
|
214
|
+
get(value) {
|
|
215
|
+
return this.backend.get(value);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
function string(condition, descriptor) {
|
|
220
|
+
return new IslyString(condition, descriptor);
|
|
241
221
|
}
|
|
242
222
|
class IslyString extends Type {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
223
|
+
stringCondition;
|
|
224
|
+
descriptor;
|
|
225
|
+
class = "string";
|
|
226
|
+
conditionObject;
|
|
227
|
+
constructor(stringCondition, descriptor) {
|
|
228
|
+
super(typeof stringCondition == "string" ? `"${stringCondition}"` : "string", descriptor
|
|
229
|
+
? descriptor
|
|
230
|
+
: () => {
|
|
231
|
+
const conditionObject = this.getConditionObject();
|
|
232
|
+
return conditionObject instanceof RegExp
|
|
233
|
+
? `/${conditionObject.source}/${conditionObject.flags}`
|
|
234
|
+
: conditionObject instanceof Function
|
|
235
|
+
? "custom-predicate"
|
|
236
|
+
: globalThis.Object.keys(conditionObject)
|
|
237
|
+
.map(key => `"${key}"`)
|
|
238
|
+
.join(" | ");
|
|
239
|
+
});
|
|
252
240
|
this.stringCondition = stringCondition;
|
|
253
|
-
this.
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
241
|
+
this.descriptor = descriptor;
|
|
242
|
+
}
|
|
243
|
+
is = (value) => {
|
|
244
|
+
const conditionObject = this.getConditionObject();
|
|
245
|
+
return (typeof value == "string" &&
|
|
246
|
+
(conditionObject instanceof RegExp
|
|
247
|
+
? conditionObject.test(value)
|
|
248
|
+
: conditionObject instanceof Function
|
|
249
|
+
? conditionObject(value)
|
|
259
250
|
: typeof conditionObject == "object"
|
|
260
|
-
? value in conditionObject
|
|
251
|
+
? value in conditionObject
|
|
261
252
|
: conditionObject));
|
|
262
|
-
|
|
263
|
-
}
|
|
253
|
+
};
|
|
264
254
|
getConditionObject() {
|
|
265
255
|
return (this.conditionObject ??= Array.isArray(this.stringCondition)
|
|
266
256
|
? this.stringCondition.reduce((result, current) => {
|
|
@@ -269,9 +259,11 @@ class IslyString extends Type {
|
|
|
269
259
|
}, globalThis.Object.create(null))
|
|
270
260
|
: typeof this.stringCondition == "string"
|
|
271
261
|
? { [this.stringCondition]: true }
|
|
272
|
-
: typeof this.stringCondition == "
|
|
262
|
+
: typeof this.stringCondition == "function"
|
|
273
263
|
? this.stringCondition
|
|
274
|
-
:
|
|
264
|
+
: typeof this.stringCondition == "object"
|
|
265
|
+
? this.stringCondition
|
|
266
|
+
: true);
|
|
275
267
|
}
|
|
276
268
|
}
|
|
277
269
|
|
|
@@ -291,4 +283,4 @@ var Flaw;
|
|
|
291
283
|
|
|
292
284
|
export { Type as T, boolean as b, lazy as l, object as o, string as s };
|
|
293
285
|
|
|
294
|
-
//# sourceMappingURL=p-
|
|
286
|
+
//# sourceMappingURL=p-d471066b.js.map
|