godown 3.13.0 → 3.13.2
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/alert.d.ts +0 -1
- package/alert.d.ts.map +1 -1
- package/alert.js.map +1 -1
- package/avatar.d.ts +0 -1
- package/avatar.d.ts.map +1 -1
- package/avatar.js.map +1 -1
- package/badge.d.ts +0 -1
- package/badge.d.ts.map +1 -1
- package/badge.js.map +1 -1
- package/breath.d.ts +0 -1
- package/breath.d.ts.map +1 -1
- package/breath.js.map +1 -1
- package/build/godown+lit.iife.js +16 -57
- package/build/godown+lit.iife.js.map +1 -1
- package/build/godown+lit.js +16 -57
- package/build/godown+lit.js.map +1 -1
- package/build/godown+lit.umd.js +16 -57
- package/build/godown+lit.umd.js.map +1 -1
- package/build/godown.iife.js +15 -47
- package/build/godown.iife.js.map +1 -1
- package/build/godown.js +15 -47
- package/build/godown.js.map +1 -1
- package/build/godown.umd.js +15 -47
- package/build/godown.umd.js.map +1 -1
- package/button.d.ts +0 -1
- package/button.d.ts.map +1 -1
- package/button.js.map +1 -1
- package/card.d.ts +0 -1
- package/card.d.ts.map +1 -1
- package/card.js.map +1 -1
- package/carousel.d.ts +0 -1
- package/carousel.d.ts.map +1 -1
- package/carousel.js.map +1 -1
- package/chip.d.ts +0 -1
- package/chip.d.ts.map +1 -1
- package/chip.js.map +1 -1
- package/custom-elements.json +1 -1
- package/details.d.ts +0 -1
- package/details.d.ts.map +1 -1
- package/details.js.map +1 -1
- package/dialog.d.ts +0 -1
- package/dialog.d.ts.map +1 -1
- package/dialog.js.map +1 -1
- package/divider.d.ts +0 -1
- package/divider.d.ts.map +1 -1
- package/divider.js.map +1 -1
- package/dragbox.d.ts +0 -1
- package/dragbox.d.ts.map +1 -1
- package/dragbox.js.map +1 -1
- package/flex.d.ts +0 -1
- package/flex.d.ts.map +1 -1
- package/flex.js.map +1 -1
- package/form.d.ts +0 -1
- package/form.d.ts.map +1 -1
- package/form.js.map +1 -1
- package/grid.d.ts +0 -1
- package/grid.d.ts.map +1 -1
- package/grid.js.map +1 -1
- package/heading.d.ts +0 -1
- package/heading.d.ts.map +1 -1
- package/heading.js.map +1 -1
- package/index.d.ts +0 -1
- package/index.d.ts.map +1 -1
- package/index.js.map +1 -1
- package/input.d.ts +0 -1
- package/input.d.ts.map +1 -1
- package/input.js.map +1 -1
- package/internal/global-style.d.ts +13 -15
- package/internal/global-style.d.ts.map +1 -1
- package/internal/global-style.js +1 -1
- package/internal/global-style.js.map +1 -1
- package/internal/icons/caret-down.d.ts +0 -1
- package/internal/icons/caret-down.d.ts.map +1 -1
- package/internal/icons/caret-down.js +1 -1
- package/internal/icons/caret-down.js.map +1 -1
- package/internal/icons/caret-left.d.ts +0 -1
- package/internal/icons/caret-left.d.ts.map +1 -1
- package/internal/icons/caret-left.js +1 -1
- package/internal/icons/caret-left.js.map +1 -1
- package/internal/icons/caret-right.d.ts +0 -1
- package/internal/icons/caret-right.d.ts.map +1 -1
- package/internal/icons/caret-right.js +1 -1
- package/internal/icons/caret-right.js.map +1 -1
- package/internal/icons/eye-slash.d.ts +0 -1
- package/internal/icons/eye-slash.d.ts.map +1 -1
- package/internal/icons/eye-slash.js +1 -1
- package/internal/icons/eye-slash.js.map +1 -1
- package/internal/popover.d.ts +0 -1
- package/internal/popover.d.ts.map +1 -1
- package/internal/popover.js +1 -1
- package/internal/popover.js.map +1 -1
- package/internal/reset-style.d.ts +0 -1
- package/internal/reset-style.d.ts.map +1 -1
- package/internal/reset-style.js +2 -1
- package/internal/reset-style.js.map +1 -1
- package/internal/ring.d.ts +9 -10
- package/internal/ring.d.ts.map +1 -1
- package/internal/ring.js +1 -1
- package/internal/ring.js.map +1 -1
- package/internal/super-input.d.ts +32 -33
- package/internal/super-input.d.ts.map +1 -1
- package/internal/super-input.js +2 -1
- package/internal/super-input.js.map +1 -1
- package/internal/utils.d.ts +0 -1
- package/internal/utils.d.ts.map +1 -1
- package/internal/utils.js +1 -1
- package/internal/utils.js.map +1 -1
- package/layout.d.ts +0 -1
- package/layout.d.ts.map +1 -1
- package/layout.js.map +1 -1
- package/link.d.ts +0 -1
- package/link.d.ts.map +1 -1
- package/link.js.map +1 -1
- package/package.json +5 -5
- package/popover.d.ts +0 -1
- package/popover.d.ts.map +1 -1
- package/popover.js.map +1 -1
- package/progress.d.ts +0 -1
- package/progress.d.ts.map +1 -1
- package/progress.js.map +1 -1
- package/range.d.ts +0 -1
- package/range.d.ts.map +1 -1
- package/range.js.map +1 -1
- package/rotate.d.ts +0 -1
- package/rotate.d.ts.map +1 -1
- package/rotate.js.map +1 -1
- package/router.d.ts +0 -1
- package/router.d.ts.map +1 -1
- package/router.js.map +1 -1
- package/select.d.ts +0 -1
- package/select.d.ts.map +1 -1
- package/select.js.map +1 -1
- package/skeleton.d.ts +0 -1
- package/skeleton.d.ts.map +1 -1
- package/skeleton.js.map +1 -1
- package/split.d.ts +0 -1
- package/split.d.ts.map +1 -1
- package/split.js.map +1 -1
- package/src/internal/global-style.ts +2 -2
- package/src/internal/popover.ts +9 -9
- package/src/web-components/alert/component.ts +6 -14
- package/src/web-components/breath/component.ts +1 -1
- package/src/web-components/button/component.ts +6 -12
- package/src/web-components/card/component.ts +1 -2
- package/src/web-components/input/component.ts +4 -4
- package/src/web-components/router/component.ts +12 -12
- package/src/web-components/select/component.ts +1 -0
- package/src/web-components/skeleton/component.ts +2 -2
- package/src/web-components/tabs/component.ts +1 -1
- package/src/web-components/time/component.ts +1 -1
- package/switch.d.ts +0 -1
- package/switch.d.ts.map +1 -1
- package/switch.js.map +1 -1
- package/tabs.d.ts +0 -1
- package/tabs.d.ts.map +1 -1
- package/tabs.js.map +1 -1
- package/text.d.ts +0 -1
- package/text.d.ts.map +1 -1
- package/text.js.map +1 -1
- package/time.d.ts +0 -1
- package/time.d.ts.map +1 -1
- package/time.js.map +1 -1
- package/tooltip.d.ts +0 -1
- package/tooltip.d.ts.map +1 -1
- package/tooltip.js.map +1 -1
- package/typewriter.d.ts +0 -1
- package/typewriter.d.ts.map +1 -1
- package/typewriter.js.map +1 -1
- package/web-components/alert/component.d.ts +20 -21
- package/web-components/alert/component.d.ts.map +1 -1
- package/web-components/alert/component.js +1 -1
- package/web-components/alert/component.js.map +1 -1
- package/web-components/alert/definition.d.ts +3 -4
- package/web-components/alert/definition.d.ts.map +1 -1
- package/web-components/alert/definition.js +1 -1
- package/web-components/alert/definition.js.map +1 -1
- package/web-components/avatar/component.d.ts +25 -26
- package/web-components/avatar/component.d.ts.map +1 -1
- package/web-components/avatar/component.js +1 -1
- package/web-components/avatar/component.js.map +1 -1
- package/web-components/avatar/definition.d.ts +3 -4
- package/web-components/avatar/definition.d.ts.map +1 -1
- package/web-components/avatar/definition.js +1 -1
- package/web-components/avatar/definition.js.map +1 -1
- package/web-components/badge/component.d.ts +7 -8
- package/web-components/badge/component.d.ts.map +1 -1
- package/web-components/badge/component.js +2 -1
- package/web-components/badge/component.js.map +1 -1
- package/web-components/badge/definition.d.ts +3 -4
- package/web-components/badge/definition.d.ts.map +1 -1
- package/web-components/badge/definition.js +1 -1
- package/web-components/badge/definition.js.map +1 -1
- package/web-components/breath/component.d.ts +28 -29
- package/web-components/breath/component.d.ts.map +1 -1
- package/web-components/breath/component.js +1 -1
- package/web-components/breath/component.js.map +1 -1
- package/web-components/breath/definition.d.ts +3 -4
- package/web-components/breath/definition.d.ts.map +1 -1
- package/web-components/breath/definition.js +1 -1
- package/web-components/breath/definition.js.map +1 -1
- package/web-components/button/component.d.ts +35 -36
- package/web-components/button/component.d.ts.map +1 -1
- package/web-components/button/component.js +1 -1
- package/web-components/button/component.js.map +1 -1
- package/web-components/button/definition.d.ts +3 -4
- package/web-components/button/definition.d.ts.map +1 -1
- package/web-components/button/definition.js +1 -1
- package/web-components/button/definition.js.map +1 -1
- package/web-components/card/component.d.ts +21 -22
- package/web-components/card/component.d.ts.map +1 -1
- package/web-components/card/component.js +1 -1
- package/web-components/card/component.js.map +1 -1
- package/web-components/card/definition.d.ts +3 -4
- package/web-components/card/definition.d.ts.map +1 -1
- package/web-components/card/definition.js +1 -1
- package/web-components/card/definition.js.map +1 -1
- package/web-components/carousel/component.d.ts +32 -33
- package/web-components/carousel/component.d.ts.map +1 -1
- package/web-components/carousel/component.js +2 -1
- package/web-components/carousel/component.js.map +1 -1
- package/web-components/carousel/definition.d.ts +3 -4
- package/web-components/carousel/definition.d.ts.map +1 -1
- package/web-components/carousel/definition.js +1 -1
- package/web-components/carousel/definition.js.map +1 -1
- package/web-components/chip/component.d.ts +21 -22
- package/web-components/chip/component.d.ts.map +1 -1
- package/web-components/chip/component.js +1 -1
- package/web-components/chip/component.js.map +1 -1
- package/web-components/chip/definition.d.ts +3 -4
- package/web-components/chip/definition.d.ts.map +1 -1
- package/web-components/chip/definition.js +1 -1
- package/web-components/chip/definition.js.map +1 -1
- package/web-components/details/component.d.ts +16 -17
- package/web-components/details/component.d.ts.map +1 -1
- package/web-components/details/component.js +1 -1
- package/web-components/details/component.js.map +1 -1
- package/web-components/details/definition.d.ts +3 -4
- package/web-components/details/definition.d.ts.map +1 -1
- package/web-components/details/definition.js +1 -1
- package/web-components/details/definition.js.map +1 -1
- package/web-components/dialog/component.d.ts +30 -31
- package/web-components/dialog/component.d.ts.map +1 -1
- package/web-components/dialog/component.js +1 -1
- package/web-components/dialog/component.js.map +1 -1
- package/web-components/dialog/definition.d.ts +3 -4
- package/web-components/dialog/definition.d.ts.map +1 -1
- package/web-components/dialog/definition.js +1 -1
- package/web-components/dialog/definition.js.map +1 -1
- package/web-components/divider/component.d.ts +9 -10
- package/web-components/divider/component.d.ts.map +1 -1
- package/web-components/divider/component.js +1 -1
- package/web-components/divider/component.js.map +1 -1
- package/web-components/divider/definition.d.ts +3 -4
- package/web-components/divider/definition.d.ts.map +1 -1
- package/web-components/divider/definition.js +1 -1
- package/web-components/divider/definition.js.map +1 -1
- package/web-components/dragbox/component.d.ts +31 -32
- package/web-components/dragbox/component.d.ts.map +1 -1
- package/web-components/dragbox/component.js +2 -1
- package/web-components/dragbox/component.js.map +1 -1
- package/web-components/dragbox/definition.d.ts +3 -4
- package/web-components/dragbox/definition.d.ts.map +1 -1
- package/web-components/dragbox/definition.js +1 -1
- package/web-components/dragbox/definition.js.map +1 -1
- package/web-components/flex/component.d.ts +26 -27
- package/web-components/flex/component.d.ts.map +1 -1
- package/web-components/flex/component.js +2 -1
- package/web-components/flex/component.js.map +1 -1
- package/web-components/flex/definition.d.ts +3 -4
- package/web-components/flex/definition.d.ts.map +1 -1
- package/web-components/flex/definition.js +1 -1
- package/web-components/flex/definition.js.map +1 -1
- package/web-components/form/component.d.ts +16 -17
- package/web-components/form/component.d.ts.map +1 -1
- package/web-components/form/component.js +2 -1
- package/web-components/form/component.js.map +1 -1
- package/web-components/form/definition.d.ts +3 -4
- package/web-components/form/definition.d.ts.map +1 -1
- package/web-components/form/definition.js +1 -1
- package/web-components/form/definition.js.map +1 -1
- package/web-components/grid/component.d.ts +30 -31
- package/web-components/grid/component.d.ts.map +1 -1
- package/web-components/grid/component.js +2 -1
- package/web-components/grid/component.js.map +1 -1
- package/web-components/grid/definition.d.ts +3 -4
- package/web-components/grid/definition.d.ts.map +1 -1
- package/web-components/grid/definition.js +1 -1
- package/web-components/grid/definition.js.map +1 -1
- package/web-components/heading/component.d.ts +23 -24
- package/web-components/heading/component.d.ts.map +1 -1
- package/web-components/heading/component.js +2 -1
- package/web-components/heading/component.js.map +1 -1
- package/web-components/heading/definition.d.ts +3 -4
- package/web-components/heading/definition.d.ts.map +1 -1
- package/web-components/heading/definition.js +1 -1
- package/web-components/heading/definition.js.map +1 -1
- package/web-components/input/component.d.ts +17 -18
- package/web-components/input/component.d.ts.map +1 -1
- package/web-components/input/component.js +1 -1
- package/web-components/input/component.js.map +1 -1
- package/web-components/input/definition.d.ts +3 -4
- package/web-components/input/definition.d.ts.map +1 -1
- package/web-components/input/definition.js +1 -1
- package/web-components/input/definition.js.map +1 -1
- package/web-components/layout/component.d.ts +18 -19
- package/web-components/layout/component.d.ts.map +1 -1
- package/web-components/layout/component.js +2 -1
- package/web-components/layout/component.js.map +1 -1
- package/web-components/layout/definition.d.ts +3 -4
- package/web-components/layout/definition.d.ts.map +1 -1
- package/web-components/layout/definition.js +1 -1
- package/web-components/layout/definition.js.map +1 -1
- package/web-components/link/component.d.ts +54 -55
- package/web-components/link/component.d.ts.map +1 -1
- package/web-components/link/component.js +2 -1
- package/web-components/link/component.js.map +1 -1
- package/web-components/link/definition.d.ts +3 -4
- package/web-components/link/definition.d.ts.map +1 -1
- package/web-components/link/definition.js +1 -1
- package/web-components/link/definition.js.map +1 -1
- package/web-components/popover/component.d.ts +28 -29
- package/web-components/popover/component.d.ts.map +1 -1
- package/web-components/popover/component.js +2 -1
- package/web-components/popover/component.js.map +1 -1
- package/web-components/popover/definition.d.ts +3 -4
- package/web-components/popover/definition.d.ts.map +1 -1
- package/web-components/popover/definition.js +1 -1
- package/web-components/popover/definition.js.map +1 -1
- package/web-components/progress/component.d.ts +8 -9
- package/web-components/progress/component.d.ts.map +1 -1
- package/web-components/progress/component.js +1 -1
- package/web-components/progress/component.js.map +1 -1
- package/web-components/progress/definition.d.ts +3 -4
- package/web-components/progress/definition.d.ts.map +1 -1
- package/web-components/progress/definition.js +1 -1
- package/web-components/progress/definition.js.map +1 -1
- package/web-components/range/component.d.ts +108 -109
- package/web-components/range/component.d.ts.map +1 -1
- package/web-components/range/component.js +1 -1
- package/web-components/range/component.js.map +1 -1
- package/web-components/range/definition.d.ts +3 -4
- package/web-components/range/definition.d.ts.map +1 -1
- package/web-components/range/definition.js +1 -1
- package/web-components/range/definition.js.map +1 -1
- package/web-components/rotate/component.d.ts +22 -23
- package/web-components/rotate/component.d.ts.map +1 -1
- package/web-components/rotate/component.js +1 -1
- package/web-components/rotate/component.js.map +1 -1
- package/web-components/rotate/definition.d.ts +3 -4
- package/web-components/rotate/definition.d.ts.map +1 -1
- package/web-components/rotate/definition.js +1 -1
- package/web-components/rotate/definition.js.map +1 -1
- package/web-components/router/component.d.ts +99 -100
- package/web-components/router/component.d.ts.map +1 -1
- package/web-components/router/component.js +2 -1
- package/web-components/router/component.js.map +1 -1
- package/web-components/router/definition.d.ts +3 -4
- package/web-components/router/definition.d.ts.map +1 -1
- package/web-components/router/definition.js +1 -1
- package/web-components/router/definition.js.map +1 -1
- package/web-components/select/component.d.ts +30 -31
- package/web-components/select/component.d.ts.map +1 -1
- package/web-components/select/component.js +2 -1
- package/web-components/select/component.js.map +1 -1
- package/web-components/select/definition.d.ts +3 -4
- package/web-components/select/definition.d.ts.map +1 -1
- package/web-components/select/definition.js +1 -1
- package/web-components/select/definition.js.map +1 -1
- package/web-components/skeleton/component.d.ts +11 -12
- package/web-components/skeleton/component.d.ts.map +1 -1
- package/web-components/skeleton/component.js +1 -1
- package/web-components/skeleton/component.js.map +1 -1
- package/web-components/skeleton/definition.d.ts +3 -4
- package/web-components/skeleton/definition.d.ts.map +1 -1
- package/web-components/skeleton/definition.js +1 -1
- package/web-components/skeleton/definition.js.map +1 -1
- package/web-components/split/component.d.ts +48 -49
- package/web-components/split/component.d.ts.map +1 -1
- package/web-components/split/component.js +1 -1
- package/web-components/split/component.js.map +1 -1
- package/web-components/split/definition.d.ts +3 -4
- package/web-components/split/definition.d.ts.map +1 -1
- package/web-components/split/definition.js +1 -1
- package/web-components/split/definition.js.map +1 -1
- package/web-components/switch/component.d.ts +20 -21
- package/web-components/switch/component.d.ts.map +1 -1
- package/web-components/switch/component.js +1 -1
- package/web-components/switch/component.js.map +1 -1
- package/web-components/switch/definition.d.ts +3 -4
- package/web-components/switch/definition.d.ts.map +1 -1
- package/web-components/switch/definition.js +1 -1
- package/web-components/switch/definition.js.map +1 -1
- package/web-components/tabs/component.d.ts +39 -40
- package/web-components/tabs/component.d.ts.map +1 -1
- package/web-components/tabs/component.js +1 -1
- package/web-components/tabs/component.js.map +1 -1
- package/web-components/tabs/definition.d.ts +3 -4
- package/web-components/tabs/definition.d.ts.map +1 -1
- package/web-components/tabs/definition.js +1 -1
- package/web-components/tabs/definition.js.map +1 -1
- package/web-components/text/component.d.ts +10 -11
- package/web-components/text/component.d.ts.map +1 -1
- package/web-components/text/component.js +1 -1
- package/web-components/text/component.js.map +1 -1
- package/web-components/text/definition.d.ts +3 -4
- package/web-components/text/definition.d.ts.map +1 -1
- package/web-components/text/definition.js +1 -1
- package/web-components/text/definition.js.map +1 -1
- package/web-components/time/component.d.ts +28 -29
- package/web-components/time/component.d.ts.map +1 -1
- package/web-components/time/component.js +1 -1
- package/web-components/time/component.js.map +1 -1
- package/web-components/time/definition.d.ts +3 -4
- package/web-components/time/definition.d.ts.map +1 -1
- package/web-components/time/definition.js +1 -1
- package/web-components/time/definition.js.map +1 -1
- package/web-components/tooltip/component.d.ts +19 -20
- package/web-components/tooltip/component.d.ts.map +1 -1
- package/web-components/tooltip/component.js +1 -1
- package/web-components/tooltip/component.js.map +1 -1
- package/web-components/tooltip/definition.d.ts +3 -4
- package/web-components/tooltip/definition.d.ts.map +1 -1
- package/web-components/tooltip/definition.js +1 -1
- package/web-components/tooltip/definition.js.map +1 -1
- package/web-components/typewriter/component.d.ts +43 -44
- package/web-components/typewriter/component.d.ts.map +1 -1
- package/web-components/typewriter/component.js +1 -1
- package/web-components/typewriter/component.js.map +1 -1
- package/web-components/typewriter/definition.d.ts +3 -4
- package/web-components/typewriter/definition.d.ts.map +1 -1
- package/web-components/typewriter/definition.js +1 -1
- package/web-components/typewriter/definition.js.map +1 -1
- package/web-types.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"component.js","sources":["../../src/web-components/router/component.ts"],"sourcesContent":null,"names":["routerTypes","Router","Router_1","GlobalStyle","constructor","this","__fieldRouteTree","RouteTree","__slottedRouteTree","__cacheRecord","Map","component","pathname","location","default","htmlSlot","type","cache","handlePopstate","events","add","window","params","path","parseParams","routes","value","__routes","collectFieldRoutes","clear","render","cached","get","fieldComponent","slottedComponent","connectedCallback","super","routerInstances","observers","MutationObserver","collectSlottedRoutes","attributes","attributeFilter","subtree","disconnectedCallback","delete","useRouter","updated","changedProperties","has","ur","set","dispatchCustomEvent","query","search","pattern","route","find","r","omit","slottedPaths","_slottedNames","s","forEach","slotName","insert","updateAll","i","Set","__decorate","state","prototype","property","Boolean","godown","styles","css"],"mappings":"oRAuBA,MAAMA,EACG,QADHA,EAEK,UAFLA,EAGI,SAmCV,IAAMC,EAAMC,EAAZ,MAAMD,eAAeE,EAArB,WAAAC,uBAGUC,KAAAC,iBAA8B,IAAIC,EAClCF,KAAAG,mBAAgC,IAAID,EACpCF,KAAAI,cAAgB,IAAIC,IAO5BL,KAASM,UAA6B,KAsBtCN,KAAAO,SAAmBC,SAASD,SAM5BP,KAAOS,QAAmBC,IAU1BV,KAAAW,KAAmBhB,EAQnBK,KAAKY,OAAG,EAwJRZ,KAAAa,eAA6Bb,KAAKc,OAAOC,IAAIC,OAAQ,YAAY,KAC/DhB,KAAKO,SAAWC,SAASD,QAAQ,IAlMnC,UAAIU,GACF,OAAKjB,KAAKkB,KAGHhB,EAAUiB,YAAYnB,KAAKO,SAAUP,KAAKkB,MAFxC,CAAE,EA0Cb,UAAIE,CAAOC,GACTrB,KAAKsB,SAAWD,EAChBrB,KAAKuB,mBAAmBF,GAG1B,UAAID,GACF,OAAOpB,KAAKsB,SAGd,KAAAE,GACExB,KAAKI,cAAcoB,QAGX,MAAAC,GACR,IAAIC,EAMJ,GALI1B,KAAKY,QAAUc,EAAS1B,KAAKI,cAAcuB,IAAI3B,KAAKO,aACtDP,KAAKM,UAAYoB,EAAOpB,UACxBN,KAAKkB,KAAOQ,EAAOR,KACnBlB,KAAKO,SAAWmB,EAAOnB,WAEpBmB,EACH,OAAQ1B,KAAKW,MACX,KAAKhB,EACHK,KAAKM,UAAYN,KAAK4B,iBACtB,MACF,KAAKjC,EACHK,KAAKM,UAAYN,KAAK6B,mBACtB,MACF,QACE7B,KAAKM,UAAYN,KAAK4B,kBAAoB5B,KAAK6B,mBAGrD,OAAO7B,KAAKM,WAAaN,KAAKS,QAGhC,iBAAAqB,GACEC,MAAMD,oBACNjC,EAAOmC,gBAAgBjB,IAAIf,MAET,UAAdA,KAAKW,OACPX,KAAKiC,UAAUlB,IAAIf,KAAMkC,iBAAkBlC,KAAKmC,qBAAsB,CACpEC,YAAY,EACZC,gBAAiB,CAAC,QAClBC,SAAS,IAEXtC,KAAKmC,wBAIT,oBAAAI,GACER,MAAMQ,uBACN1C,EAAOmC,gBAAgBQ,OAAOxC,MAGhC,SAAAyC,GACE,MAAO,CACLlC,SAAUP,KAAKO,SACfU,OAAQjB,KAAKiB,OACbC,KAAMlB,KAAKkB,KACXZ,UAAWN,KAAKM,WAIV,OAAAoC,CAAQC,GAEhB,GADuBA,EAAkBC,IAAI,aAAeD,EAAkBC,IAAI,QAC9D,CAClB,MAAMC,EAAK7C,KAAKyC,aACXzC,KAAKI,cAAcwC,IAAI5C,KAAKO,WAAaP,KAAKkB,MACjDlB,KAAKI,cAAc0C,IAAI9C,KAAKO,SAAUsC,GAExC7C,KAAK+C,oBAAoB,SAAUF,IAOvC,cAAAjB,CAAeoB,GAIb,GAHAA,IAAUhD,KAAKC,iBAAiBgD,OAAOjD,KAAKO,WAAW2C,QACvDlD,KAAKkB,KAAO8B,GAEPA,EACH,OAAO,KAGT,MAAMG,EAAQnD,KAAKoB,OAAOgC,MAAMC,GAAMA,EAAEnC,OAAS8B,IACjD,OAAKG,EAID,WAAYA,EACPA,EAAM1B,SAAS6B,EAAKtD,KAAKyC,YAAa,eAAiB,KAGzDU,EAAM7C,UAPJ,KAaX,gBAAAuB,CAAiBmB,GACf,MAAMO,EAAevD,KAAKwD,cAI1B,OAHAR,IAAUhD,KAAKG,mBAAmB8C,OAAOjD,KAAKO,WAAW2C,QACzDlD,KAAKkB,KAAO8B,EAEPA,GAILhD,KAAKkB,KAAOqC,EAAaH,MAAMK,GAAMA,IAAMT,IACtChD,KAAKkB,KAIHR,EAASV,KAAKkB,MAHZ,MALA,KAcX,oBAAAiB,GACEnC,KAAKG,mBAAqB,IAAID,EAC9BF,KAAKwB,QACLxB,KAAKwD,cAAcE,SAASC,IAC1B3D,KAAKG,mBAAmByD,OAAOD,EAAS,IAO5C,kBAAApC,CAAmBF,GACjBrB,KAAKC,iBAAmB,IAAIC,EAC5BF,KAAKwB,QACLH,EAAMqC,SAAQ,EAAGxC,WACflB,KAAKC,iBAAiB2D,OAAO1C,EAAK,IAItC,gBAAO2C,GACL7D,KAAKgC,gBAAgB0B,SAASI,IAC5BA,EAAEjD,gBAAgB,IAItB,MAAAoC,CAAO1C,GACL,OAAOP,KAAKC,iBAAiBgD,OAAO1C,IAAaP,KAAKG,mBAAmB8C,OAAO1C,KA9M3EX,EAAAoC,gBAA+B,IAAI+B,IAW1CC,EAAA,CADCC,KAC0CrE,EAAAsE,UAAA,iBAAA,GAgB3CF,EAAA,CADCC,KACarE,EAAAsE,UAAA,YAAA,GAMdF,EAAA,CADCG,KACoCvE,EAAAsE,UAAA,gBAAA,GAMrCF,EAAA,CADCC,KACoCrE,EAAAsE,UAAA,eAAA,GAUrCF,EAAA,CADCG,KACqCvE,EAAAsE,UAAA,YAAA,GAQtCF,EAAA,CADCG,EAAS,CAAExD,KAAMyD,WACJxE,EAAAsE,UAAA,aAAA,GAGdF,EAAA,CADCC,KAIArE,EAAAsE,UAAA,SAAA,MAhEGtE,EAAMC,EAAAmE,EAAA,CANXK,EAxBiB,UAyBjBC,EAAOC,CAAG"}
|
1
|
+
{"version":3,"file":"component.js","sources":["../../src/web-components/router/component.ts"],"sourcesContent":["import { Router as Mux, godown, htmlSlot, omit, parseParams, styles } from \"@godown/element\";\nimport { type PropertyValueMap, type TemplateResult, css } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\n\nimport { GlobalStyle } from \"../../internal/global-style.js\";\n\ninterface RouteState {\n pathname: string;\n params: Record<string, string>;\n path: string;\n}\n\ninterface RouteResult extends RouteState {\n component: unknown;\n}\n\ninterface RouteItem {\n [key: PropertyKey]: unknown;\n path: string;\n render?: (state?: RouteState) => unknown;\n component?: unknown;\n}\n\nconst routerTypes = {\n field: \"field\",\n slotted: \"slotted\",\n united: \"united\",\n} as const;\n\ntype RouterType = keyof typeof routerTypes;\n\nconst protoName = \"router\";\n\n/**\n * {@linkcode Router} has basic routing control.\n *\n * To switch routes, use `router-link component`.\n *\n * It has two methods to collect routes.\n *\n * 1. From field `routes`, an array, each elements require \"path\".\n * 2. From child elements, which have the slot attribute for matching routes.\n *\n * If only the method 1 is used, set `type` to `\"field\"`.\n *\n * If only the method 2 is used, set `type` to `\"slotted\"`.\n *\n * `type` defaults to `\"united\"`, which will try method 1, then method 2.\n *\n * If no routes are matched, the default value (no named slot) will be rendered.\n *\n * @slot - Display slot when there is no match.\n * @slot * - Matching slot will be displayed.\n * @category navigation\n */\n@godown(protoName)\n@styles(css`\n :host {\n display: contents;\n }\n`)\nclass Router extends GlobalStyle {\n static routerInstances: Set<Router> = new Set<Router>();\n\n private __fieldRoute: Mux = new Mux();\n private __slottedRoute: Mux = new Mux();\n private __cacheRecord = new Map<string, RouteResult>();\n private __routes: RouteItem[];\n\n /**\n * Render result.\n */\n @state()\n component: unknown | TemplateResult = null;\n\n /**\n * Dynamic parameters record.\n */\n get params(): Record<string, string> {\n if (!this.path) {\n return {};\n }\n return parseParams(this.pathname, this.path);\n }\n\n /**\n * Value of matched path in routes.\n */\n @state()\n path?: string;\n\n /**\n * Current pathname (equals to location.pathname).\n */\n @property()\n pathname: string = location.pathname;\n\n /**\n * Rendered content when there is no match.\n */\n @state()\n default: TemplateResult = htmlSlot();\n\n /**\n * The type of routing sources.\n *\n * If field, it won't collect the slot attribute of the child elements.\n *\n * This property should not be changed after the rendering is complete.\n */\n @property()\n type: RouterType = routerTypes.united;\n\n /**\n * Cache accessed records.\n *\n * Emptied at each re-collection.\n */\n @property({ type: Boolean })\n cache = false;\n\n @state()\n set routes(value) {\n this.__routes = value;\n this.collectFieldRoutes(value);\n }\n\n get routes(): RouteItem[] {\n return this.__routes;\n }\n\n clear(): void {\n this.__cacheRecord.clear();\n }\n\n protected render(): unknown {\n let cached: RouteResult | undefined;\n if (this.cache && (cached = this.__cacheRecord.get(this.pathname))) {\n this.component = cached.component;\n this.path = cached.path;\n this.pathname = cached.pathname;\n }\n if (!cached) {\n switch (this.type) {\n case routerTypes.field:\n this.component = this.fieldComponent();\n break;\n case routerTypes.slotted:\n this.component = this.slottedComponent();\n break;\n default:\n this.component = this.fieldComponent() ?? this.slottedComponent();\n }\n }\n return this.component ?? this.default;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n Router.routerInstances.add(this);\n\n if (this.type !== \"field\") {\n this.observers.add(this, MutationObserver, this.collectSlottedRoutes, {\n attributes: true,\n attributeFilter: [\"slot\"],\n subtree: true,\n });\n this.collectSlottedRoutes();\n }\n }\n\n disconnectedCallback(): void {\n super.disconnectedCallback();\n Router.routerInstances.delete(this);\n }\n\n useRouter(): RouteResult {\n return {\n pathname: this.pathname,\n params: this.params,\n path: this.path,\n component: this.component,\n };\n }\n\n protected updated(changedProperties: PropertyValueMap<this>): void {\n const shouldDispatch = changedProperties.has(\"pathname\") || changedProperties.has(\"path\");\n if (shouldDispatch) {\n const ur = this.useRouter();\n if (!this.__cacheRecord.has(this.pathname) && this.path) {\n this.__cacheRecord.set(this.pathname, ur);\n }\n this.dispatchCustomEvent(\"change\", ur);\n }\n }\n\n /**\n * Get component from {@linkcode routes} by query.\n */\n fieldComponent(query?: string): unknown {\n query ||= this.__fieldRoute.search(this.pathname)?.pattern;\n this.path = query;\n\n if (!query) {\n return null;\n }\n\n const route = this.routes.find((r) => r.path === query);\n if (!route) {\n return null;\n }\n\n if (\"render\" in route) {\n return route.render?.(omit(this.useRouter(), \"component\")) || null;\n }\n\n return route.component;\n }\n\n /**\n * Get component from slotted elements by query.\n */\n slottedComponent(query?: string): TemplateResult<1> {\n const slottedPaths = this._slottedNames;\n query ||= this.__slottedRoute.search(this.pathname)?.pattern;\n this.path = query;\n\n if (!query) {\n return null;\n }\n\n this.path = slottedPaths.find((s) => s === query);\n if (!this.path) {\n return null;\n }\n\n return htmlSlot(this.path);\n }\n\n /**\n * Reset the route tree, clear cache, collect routes from child elements.\n */\n collectSlottedRoutes(): void {\n this.__slottedRoute = new Mux();\n this.clear();\n this._slottedNames.forEach((slotName) => {\n this.__slottedRoute.insert(slotName);\n });\n }\n\n /**\n * Reset the route tree, clear cache, collect routes from value.\n */\n collectFieldRoutes(value: typeof this.routes): void {\n this.__fieldRoute = new Mux();\n this.clear();\n value.forEach(({ path }) => {\n this.__fieldRoute.insert(path);\n });\n }\n\n static updateAll(): void {\n this.routerInstances.forEach((i) => {\n i.handlePopstate();\n });\n }\n\n search(pathname: string): Mux {\n return this.__fieldRoute.search(pathname) || this.__slottedRoute.search(pathname);\n }\n\n handlePopstate: () => void = this.events.add(window, \"popstate\", () => {\n this.pathname = location.pathname;\n });\n}\n\nexport default Router;\nexport { Router };\n"],"names":["Router","Mux","value","cached: RouteResult | undefined","cached","changedProperties: PropertyValueMap<this>","shouldDispatch","ur","query?: string","query","route","r","slottedPaths","s","slotName","value: typeof this.routes","path","i","pathname: string","pathname"],"mappings":"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"}
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import Router from "./component.js";
|
2
2
|
export default Router;
|
3
3
|
declare global {
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
interface HTMLElementTagNameMap {
|
5
|
+
"godown-router": Router;
|
6
|
+
}
|
7
7
|
}
|
8
|
-
//# sourceMappingURL=definition.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"
|
1
|
+
{"mappings":"AAAA,OAAO,YAAY,gBAAiB;AAIpC,eAAe;eAEA;WACH,sBAAsB;EAC9B,iBAAiB;CAClB;AACF","names":[],"sources":["../../../src/web-components/router/definition.ts"],"sourcesContent":["import Router from \"./component.js\";\n\nRouter.define();\n\nexport default Router;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"godown-router\": Router;\n }\n}\n"],"version":3,"file":"definition.d.ts"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import
|
1
|
+
import Router from"./component.js";Router.define();export{Router as default};
|
2
2
|
//# sourceMappingURL=definition.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"definition.js","sources":["../../src/web-components/router/definition.ts"],"sourcesContent":
|
1
|
+
{"version":3,"file":"definition.js","sources":["../../src/web-components/router/definition.ts"],"sourcesContent":["import Router from \"./component.js\";\n\nRouter.define();\n\nexport default Router;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"godown-router\": Router;\n }\n}\n"],"names":[],"mappings":"mCAEA,OAAO,QAAQ"}
|
@@ -1,38 +1,37 @@
|
|
1
1
|
import { type TemplateResult } from "lit";
|
2
2
|
import Input from "../input/component.js";
|
3
3
|
/**
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
4
|
+
* {@linkcode Select} is similar to `<select>`.
|
5
|
+
*
|
6
|
+
* @fires input - Fires when the input value changes.
|
7
|
+
* @fires change - Fires when the input value changes.
|
8
|
+
* @fires select - Fires when select an option.
|
9
|
+
* @slot - Options.
|
10
|
+
* @category input
|
11
|
+
*/
|
12
12
|
declare class Select extends Input {
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
13
|
+
text: string;
|
14
|
+
multiple: boolean;
|
15
|
+
noEdit: boolean;
|
16
|
+
values: {
|
17
|
+
value: string;
|
18
|
+
label?: string;
|
19
|
+
}[];
|
20
|
+
_popover: HTMLElement;
|
21
|
+
protected lastChecked: HTMLElement;
|
22
|
+
protected defaultText: string;
|
23
|
+
protected optionsVisible: boolean;
|
24
|
+
protected render(): TemplateResult<1>;
|
25
|
+
protected _renderSuffix(): TemplateResult<1>;
|
26
|
+
protected firstUpdated(): void;
|
27
|
+
protected _connectedInit(): void;
|
28
|
+
reset(): void;
|
29
|
+
select(value: string, label: string): 0 | 1;
|
30
|
+
checkValues(): void;
|
31
|
+
showOptions(): void;
|
32
|
+
hideOptions(): void;
|
33
|
+
focus(options?: FocusOptions): void;
|
34
|
+
blur(): void;
|
35
35
|
}
|
36
36
|
export default Select;
|
37
37
|
export { Select };
|
38
|
-
//# sourceMappingURL=component.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"
|
1
|
+
{"mappings":"AAEA,cAAc,sBAA0C,KAAM;AAG9D,OAAO,WAAW,uBAAwB;;;;;;;;;;AA4B1C,cAiCM,eAAe,MAAM;CACzB,AACA;CAEA,AACA;CAEA,AACA;CAEA,AACA,QAAQ;EACN;EACA;CACD;CAED,AACA,UAAU;CAEV,UAAU,aAAa;CACvB,UAAU;CACV,UAAU;CAEV,UAAU,UAAU,eAAe;CAuCnC,UAAU,iBAAiB,eAAe;CAM1C,UAAU;CAkBV,UAAU;CAMV;CAKA,OAAOA,eAAeC,gBAAgB,IAAI;CAiB1C;CAOA;CAeA;CAQA,MAAMC,UAAU;CAMhB;AAKD;AAED,eAAe;AACf,SAAS","names":["value: string","label: string","options?: FocusOptions"],"sources":["../../../src/web-components/select/component.ts"],"sourcesContent":["import { type HandlerEvent, attr, godown, htmlSlot, queryPart, styles } from \"@godown/element\";\nimport svgCaretDown from \"../../internal/icons/caret-down.js\";\nimport { type TemplateResult, css, html, nothing } from \"lit\";\nimport { property } from \"lit/decorators.js\";\n\nimport Input from \"../input/component.js\";\nimport { hidePopover, showPopover } from \"../../internal/popover.js\";\nimport { memoize } from \"../../internal/utils.js\";\n\nconst supportsPositionArea = memoize(() => CSS.supports(\"position-area:top\"));\n\nfunction updateSelected(element: HTMLElement | null, operation: 0 | 1) {\n if (element) {\n const name = \"selected\";\n if (operation) {\n element.setAttribute(name, \"\");\n } else {\n element.removeAttribute(name);\n }\n }\n}\n\nconst protoName = \"select\";\n\n/**\n * {@linkcode Select} is similar to `<select>`.\n *\n * @fires input - Fires when the input value changes.\n * @fires change - Fires when the input value changes.\n * @fires select - Fires when select an option.\n * @slot - Options.\n * @category input\n */\n@godown(protoName)\n@styles(css`\n [part=\"root\"] {\n position: relative;\n anchor-name: --select;\n }\n\n label {\n display: contents;\n }\n\n [part=\"popover\"] {\n border: 0;\n width: 100%;\n background: none;\n position-anchor: --select;\n position-area: bottom center;\n position-try-fallbacks: flip-block;\n }\n\n [part=\"input\"] {\n text-overflow: ellipsis;\n }\n\n @supports not (position-area: top) {\n [part=\"popover\"] {\n left: 0;\n top: 100%;\n display: none;\n position: absolute;\n }\n }\n`)\nclass Select extends Input {\n @property()\n text: string;\n\n @property({ type: Boolean })\n multiple = false;\n\n @property({ type: Boolean })\n noEdit = false;\n\n @property({ type: Array })\n values: {\n value: string;\n label?: string;\n }[] = [];\n\n @queryPart(\"popover\")\n _popover: HTMLElement;\n\n protected lastChecked: HTMLElement;\n protected defaultText: string;\n protected optionsVisible = false;\n\n protected render(): TemplateResult<1> {\n const inputNoEdit = this.noEdit || this.disabled;\n return html`\n <label\n part=\"root\"\n ${attr(this.observedRecord)}\n >\n ${[\n this._renderPrefix(),\n this.noEdit\n ? html`\n <input style=\"position: absolute;inset: 0;opacity: 0;\" />\n `\n : \"\",\n html`\n <input\n part=\"input\"\n .value=\"${this.text}\"\n ?autofocus=\"${this.autofocus}\"\n ?disabled=\"${inputNoEdit}\"\n autocapitalize=\"${this.autocapitalize || nothing}\"\n autocomplete=\"${this.autocomplete || nothing}\"\n placeholder=\"${this.placeholder || nothing}\"\n @input=\"${inputNoEdit ? null : this._handleInput}\"\n @change=\"${inputNoEdit ? null : this._handleChange}\"\n />\n `,\n this._renderSuffix(),\n ]}\n <div\n part=\"popover\"\n popover=\"${supportsPositionArea() ? \"manual\" : nothing}\"\n >\n ${htmlSlot()}\n </div>\n </label>\n `;\n }\n\n protected _renderSuffix(): TemplateResult<1> {\n return html`\n <i part=\"suffix\">${htmlSlot(\"suffix\", svgCaretDown())}</i>\n `;\n }\n\n protected firstUpdated(): void {\n this.events.add(this._slot, \"click\", (e: HandlerEvent<HTMLOptionElement>) => {\n const { target } = e;\n if (target.tagName !== \"OPTION\") {\n return;\n }\n e.preventDefault();\n const { label, value } = target;\n const operation = this.select(value, label);\n if (!this.multiple) {\n updateSelected(this.lastChecked, 0);\n this.hideOptions();\n }\n updateSelected(target, operation);\n this.lastChecked = target;\n });\n }\n\n protected _connectedInit(): void {\n this.default = this.value ??= \"\";\n this.defaultText = this.text ??= \"\";\n this.events.add(this, \"focus\", this.showOptions);\n }\n\n reset(): void {\n this.value = this.default;\n this.text = this.defaultText;\n }\n\n select(value: string, label: string): 0 | 1 {\n label ||= value;\n let operation: 0 | 1 = 0;\n const i = this.values.findIndex((s) => s.value === value);\n if (i > -1) {\n this.values.splice(i, 1);\n } else {\n this.values.push({ value, label });\n operation = 1;\n }\n this.checkValues();\n this.value = this.values.map((s) => s.value).join(\",\");\n this.text = this.values.map((s) => s.label).join(\", \");\n this.dispatchCustomEvent(\"select\", this.value);\n return operation;\n }\n\n checkValues(): void {\n if (!this.multiple && this.values.length > 1) {\n this.values.splice(0, this.values.length - 1);\n this.requestUpdate();\n }\n }\n\n showOptions(): void {\n if (this.optionsVisible) {\n return;\n }\n showPopover(this._popover);\n const listener = (e) => {\n if (!this.contains(e.target)) {\n this.hideOptions();\n this.events.remove(document, \"click\", listener);\n }\n };\n this.events.add(document, \"click\", listener);\n this.optionsVisible = true;\n }\n\n hideOptions(): void {\n if (!this.optionsVisible) {\n return;\n }\n hidePopover(this._popover);\n this.optionsVisible = false;\n }\n\n focus(options?: FocusOptions): void {\n super.focus();\n this._input.focus(options);\n this.showOptions();\n }\n\n blur(): void {\n super.blur();\n this._input.blur();\n hidePopover(this._popover);\n }\n}\n\nexport default Select;\nexport { Select };\n"],"version":3,"file":"component.d.ts"}
|
@@ -1,2 +1,3 @@
|
|
1
|
-
import{
|
1
|
+
import{queryPart,godown,styles,attr,htmlSlot}from"@godown/element";import _default from"../../internal/icons/caret-down.js";import{css,nothing,html}from"lit";import{property}from"lit/decorators.js";import Input from"../input/component.js";import{showPopover,hidePopover}from"../../internal/popover.js";import{memoize}from"../../internal/utils.js";import _decorate from"@oxc-project/runtime/helpers/decorate";const supportsPositionArea=memoize(()=>CSS.supports(`position-area:top`));function updateSelected(e,g){if(e){let _=`selected`;g?e.setAttribute(_,``):e.removeAttribute(_)}}const protoName=`select`;let Select=class e extends Input{constructor(...e){super(...e),this.multiple=!1,this.noEdit=!1,this.values=[],this.optionsVisible=!1}render(){let e=this.noEdit||this.disabled;return html`<label part="root" ${attr(this.observedRecord)}> ${[this._renderPrefix(),this.noEdit?html`<input style="position: absolute;inset: 0;opacity: 0;"/> `:``,html`<input part="input" .value="${this.text}" ?autofocus="${this.autofocus}" ?disabled="${e}" autocapitalize="${this.autocapitalize||nothing}" autocomplete="${this.autocomplete||nothing}" placeholder="${this.placeholder||nothing}" @input="${e?null:this._handleInput}" @change="${e?null:this._handleChange}"/>`,this._renderSuffix()]} <div part="popover" popover="${supportsPositionArea()?`manual`:nothing}"> ${htmlSlot()} </div> </label>`}_renderSuffix(){return html`<i part="suffix">${htmlSlot(`suffix`,_default())}</i>`}firstUpdated(){this.events.add(this._slot,`click`,e=>{let{target:g}=e;if(g.tagName!==`OPTION`)return;e.preventDefault();let{label:_,value:v}=g,y=this.select(v,_);this.multiple||(updateSelected(this.lastChecked,0),this.hideOptions()),updateSelected(g,y),this.lastChecked=g})}_connectedInit(){this.default=this.value??=``,this.defaultText=this.text??=``,this.events.add(this,`focus`,this.showOptions)}reset(){this.value=this.default,this.text=this.defaultText}select(e,g){g||=e;let _=0,v=this.values.findIndex(g=>g.value===e);return v>-1?this.values.splice(v,1):(this.values.push({value:e,label:g}),_=1),this.checkValues(),this.value=this.values.map(e=>e.value).join(`,`),this.text=this.values.map(e=>e.label).join(`, `),this.dispatchCustomEvent(`select`,this.value),_}checkValues(){!this.multiple&&this.values.length>1&&(this.values.splice(0,this.values.length-1),this.requestUpdate())}showOptions(){if(this.optionsVisible)return;showPopover(this._popover);let e=g=>{this.contains(g.target)||(this.hideOptions(),this.events.remove(document,`click`,e))};this.events.add(document,`click`,e),this.optionsVisible=!0}hideOptions(){this.optionsVisible&&(hidePopover(this._popover),this.optionsVisible=!1)}focus(e){super.focus(),this._input.focus(e),this.showOptions()}blur(){super.blur(),this._input.blur(),hidePopover(this._popover)}};_decorate([property()],Select.prototype,`text`,void 0),_decorate([property({type:Boolean})],Select.prototype,`multiple`,void 0),_decorate([property({type:Boolean})],Select.prototype,`noEdit`,void 0),_decorate([property({type:Array})],Select.prototype,`values`,void 0),_decorate([queryPart(`popover`)],Select.prototype,`_popover`,void 0),Select=_decorate([godown(protoName),styles(css`[part=root]{position:relative;anchor-name:--select}label{display:contents}[part=popover]{border:0;width:100%;background:0 0;position-anchor:--select;position-area:bottom center;position-try-fallbacks:flip-block}[part=input]{text-overflow:ellipsis}@supports not (position-area:top){[part=popover]{left:0;top:100%;display:none;position:absolute}}
|
2
|
+
`)],Select);var Select$1=Select;export{Select,Select$1 as default};
|
2
3
|
//# sourceMappingURL=component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"component.js","sources":["../../src/web-components/select/component.ts"],"sourcesContent":
|
1
|
+
{"version":3,"file":"component.js","sources":["../../src/web-components/select/component.ts"],"sourcesContent":["import { type HandlerEvent, attr, godown, htmlSlot, queryPart, styles } from \"@godown/element\";\nimport svgCaretDown from \"../../internal/icons/caret-down.js\";\nimport { type TemplateResult, css, html, nothing } from \"lit\";\nimport { property } from \"lit/decorators.js\";\n\nimport Input from \"../input/component.js\";\nimport { hidePopover, showPopover } from \"../../internal/popover.js\";\nimport { memoize } from \"../../internal/utils.js\";\n\nconst supportsPositionArea = memoize(() => CSS.supports(\"position-area:top\"));\n\nfunction updateSelected(element: HTMLElement | null, operation: 0 | 1) {\n if (element) {\n const name = \"selected\";\n if (operation) {\n element.setAttribute(name, \"\");\n } else {\n element.removeAttribute(name);\n }\n }\n}\n\nconst protoName = \"select\";\n\n/**\n * {@linkcode Select} is similar to `<select>`.\n *\n * @fires input - Fires when the input value changes.\n * @fires change - Fires when the input value changes.\n * @fires select - Fires when select an option.\n * @slot - Options.\n * @category input\n */\n@godown(protoName)\n@styles(css`\n [part=\"root\"] {\n position: relative;\n anchor-name: --select;\n }\n\n label {\n display: contents;\n }\n\n [part=\"popover\"] {\n border: 0;\n width: 100%;\n background: none;\n position-anchor: --select;\n position-area: bottom center;\n position-try-fallbacks: flip-block;\n }\n\n [part=\"input\"] {\n text-overflow: ellipsis;\n }\n\n @supports not (position-area: top) {\n [part=\"popover\"] {\n left: 0;\n top: 100%;\n display: none;\n position: absolute;\n }\n }\n`)\nclass Select extends Input {\n @property()\n text: string;\n\n @property({ type: Boolean })\n multiple = false;\n\n @property({ type: Boolean })\n noEdit = false;\n\n @property({ type: Array })\n values: {\n value: string;\n label?: string;\n }[] = [];\n\n @queryPart(\"popover\")\n _popover: HTMLElement;\n\n protected lastChecked: HTMLElement;\n protected defaultText: string;\n protected optionsVisible = false;\n\n protected render(): TemplateResult<1> {\n const inputNoEdit = this.noEdit || this.disabled;\n return html`\n <label\n part=\"root\"\n ${attr(this.observedRecord)}\n >\n ${[\n this._renderPrefix(),\n this.noEdit\n ? html`\n <input style=\"position: absolute;inset: 0;opacity: 0;\" />\n `\n : \"\",\n html`\n <input\n part=\"input\"\n .value=\"${this.text}\"\n ?autofocus=\"${this.autofocus}\"\n ?disabled=\"${inputNoEdit}\"\n autocapitalize=\"${this.autocapitalize || nothing}\"\n autocomplete=\"${this.autocomplete || nothing}\"\n placeholder=\"${this.placeholder || nothing}\"\n @input=\"${inputNoEdit ? null : this._handleInput}\"\n @change=\"${inputNoEdit ? null : this._handleChange}\"\n />\n `,\n this._renderSuffix(),\n ]}\n <div\n part=\"popover\"\n popover=\"${supportsPositionArea() ? \"manual\" : nothing}\"\n >\n ${htmlSlot()}\n </div>\n </label>\n `;\n }\n\n protected _renderSuffix(): TemplateResult<1> {\n return html`\n <i part=\"suffix\">${htmlSlot(\"suffix\", svgCaretDown())}</i>\n `;\n }\n\n protected firstUpdated(): void {\n this.events.add(this._slot, \"click\", (e: HandlerEvent<HTMLOptionElement>) => {\n const { target } = e;\n if (target.tagName !== \"OPTION\") {\n return;\n }\n e.preventDefault();\n const { label, value } = target;\n const operation = this.select(value, label);\n if (!this.multiple) {\n updateSelected(this.lastChecked, 0);\n this.hideOptions();\n }\n updateSelected(target, operation);\n this.lastChecked = target;\n });\n }\n\n protected _connectedInit(): void {\n this.default = this.value ??= \"\";\n this.defaultText = this.text ??= \"\";\n this.events.add(this, \"focus\", this.showOptions);\n }\n\n reset(): void {\n this.value = this.default;\n this.text = this.defaultText;\n }\n\n select(value: string, label: string): 0 | 1 {\n label ||= value;\n let operation: 0 | 1 = 0;\n const i = this.values.findIndex((s) => s.value === value);\n if (i > -1) {\n this.values.splice(i, 1);\n } else {\n this.values.push({ value, label });\n operation = 1;\n }\n this.checkValues();\n this.value = this.values.map((s) => s.value).join(\",\");\n this.text = this.values.map((s) => s.label).join(\", \");\n this.dispatchCustomEvent(\"select\", this.value);\n return operation;\n }\n\n checkValues(): void {\n if (!this.multiple && this.values.length > 1) {\n this.values.splice(0, this.values.length - 1);\n this.requestUpdate();\n }\n }\n\n showOptions(): void {\n if (this.optionsVisible) {\n return;\n }\n showPopover(this._popover);\n const listener = (e) => {\n if (!this.contains(e.target)) {\n this.hideOptions();\n this.events.remove(document, \"click\", listener);\n }\n };\n this.events.add(document, \"click\", listener);\n this.optionsVisible = true;\n }\n\n hideOptions(): void {\n if (!this.optionsVisible) {\n return;\n }\n hidePopover(this._popover);\n this.optionsVisible = false;\n }\n\n focus(options?: FocusOptions): void {\n super.focus();\n this._input.focus(options);\n this.showOptions();\n }\n\n blur(): void {\n super.blur();\n this._input.blur();\n hidePopover(this._popover);\n }\n}\n\nexport default Select;\nexport { Select };\n"],"names":["element: HTMLElement | null","operation: 0 | 1","element","name","operation","Select","inputNoEdit","svgCaretDown","e: HandlerEvent<HTMLOptionElement>","target","value","label","value: string","label: string","i","s","listener","e","options?: FocusOptions","options"],"mappings":"wZASA,MAAM,qBAAuB,QAAQ,IAAM,IAAI,SAAS,oBAAoB,CAAC,CAE7E,SAAS,eAAeA,EAA6BC,EAAkB,CACrE,GAAIC,EAAS,CACX,IAAMC,EAAO,WACb,AAAIC,EACF,EAAQ,aAAaD,EAAM,GAAG,CAE9B,EAAQ,gBAAgBA,EAAK,AAEhC,CACF,CAED,MAAM,UAAY,SAWlB,IAAA,OAAA,MAiCME,UAAe,KAAM,oCAKzB,UAAW,OAGX,QAAS,EAGT,KAAA,OAGM,CAAE,OAOE,gBAAiB,EAEjB,QAA4B,CACpC,IAAMC,EAAc,KAAK,QAAU,KAAK,SACxC,MAAO,KAAI,CAAA,mBAGP,EAAE,KAAK,KAAK,eAAe,CAAA,EAE3B,EAAE,CACA,KAAK,eAAe,CACpB,KAAK,OACD,IAAI,CAAA,yDAEJ,CAAC,CACD,GACJ,IAAI,CAAA,4BAGQ,EAAE,KAAK,KAAK,cACR,EAAE,KAAK,UAAU,aAClB,EAAEA,EAAY,kBACT,EAAE,KAAK,gBAAkB,QAAQ,gBACnC,EAAE,KAAK,cAAgB,QAAQ,eAChC,EAAE,KAAK,aAAe,QAAQ,UACnC,EAAEA,EAAc,KAAO,KAAK,aAAa,WACxC,EAAEA,EAAc,KAAO,KAAK,cAAc,GAEvD,CAAC,CACD,KAAK,eAAA,AACN,EAAA,8BAGU,EAAE,sBAAsB,CAAG,SAAW,QAAQ,GAEvD,EAAE,UAAU,CAAA,gBAGlB,CAAC,AACF,CAES,eAAmC,CAC3C,MAAO,KAAI,CAAA,iBACQ,EAAE,SAAS,SAAUC,UAAc,CAAC,CAAC,IACxD,CAAC,AACF,CAES,cAAqB,CAC7B,KAAK,OAAO,IAAI,KAAK,MAAO,QAAS,AAACC,GAAuC,CAC3E,GAAM,CAAE,SAAQ,CAAG,EACnB,GAAIC,EAAO,UAAY,SACrB,OAEF,EAAE,gBAAgB,CAClB,GAAM,CAAE,QAAO,QAAO,CAAGA,EACnBL,EAAY,KAAK,OAAOM,EAAOC,EAAM,CAM3C,AALK,KAAK,WACR,eAAe,KAAK,YAAa,EAAE,CACnC,KAAK,aAAa,EAEpB,eAAeF,EAAQL,EAAU,CACjC,KAAK,YAAcK,CACpB,EAAC,AACH,CAES,gBAAuB,CAG/B,AAFA,KAAK,QAAU,KAAK,QAAU,GAC9B,KAAK,YAAc,KAAK,OAAS,GACjC,KAAK,OAAO,IAAI,KAAM,QAAS,KAAK,YAAY,AACjD,CAED,OAAc,CAEZ,AADA,KAAK,MAAQ,KAAK,QAClB,KAAK,KAAO,KAAK,WAClB,CAED,OAAOG,EAAeC,EAAsB,CAC1C,IAAUH,EACV,IAAIT,EAAmB,EACjBa,EAAI,KAAK,OAAO,UAAU,AAACC,GAAMA,EAAE,QAAUL,EAAM,CAWzD,OAVII,KACF,KAAK,OAAO,OAAOA,EAAG,EAAE,EAExB,KAAK,OAAO,KAAK,CAAE,QAAO,OAAO,EAAC,CAClCV,EAAY,GAEd,KAAK,aAAa,CAClB,KAAK,MAAQ,KAAK,OAAO,IAAI,AAACW,GAAMA,EAAE,MAAM,CAAC,KAAK,IAAI,CACtD,KAAK,KAAO,KAAK,OAAO,IAAI,AAACA,GAAMA,EAAE,MAAM,CAAC,KAAK,KAAK,CACtD,KAAK,oBAAoB,SAAU,KAAK,MAAM,CACvCX,CACR,CAED,aAAoB,CAClB,CAAK,KAAK,UAAY,KAAK,OAAO,OAAS,IACzC,KAAK,OAAO,OAAO,EAAG,KAAK,OAAO,OAAS,EAAE,CAC7C,KAAK,eAAe,CAEvB,CAED,aAAoB,CAClB,GAAI,KAAK,eACP,OAEF,YAAY,KAAK,SAAS,CAC1B,IAAMY,EAAW,AAACC,GAAM,CACtB,AAAK,KAAK,SAASA,EAAE,OAAO,GAC1B,KAAK,aAAa,CAClB,KAAK,OAAO,OAAO,SAAU,QAASD,EAAS,CAElD,EAED,AADA,KAAK,OAAO,IAAI,SAAU,QAASA,EAAS,CAC5C,KAAK,gBAAiB,CACvB,CAED,aAAoB,CACb,KAAK,iBAGV,YAAY,KAAK,SAAS,CAC1B,KAAK,gBAAiB,EACvB,CAED,MAAME,EAA8B,CAGlC,AAFA,MAAM,OAAO,CACb,KAAK,OAAO,MAAMC,EAAQ,CAC1B,KAAK,aAAa,AACnB,CAED,MAAa,CAGX,AAFA,MAAM,MAAM,CACZ,KAAK,OAAO,MAAM,CAClB,YAAY,KAAK,SAAS,AAC3B,CACF,EA5LA,WAkCE,UAAU,AAAA,EAAA,OAAA,UAAA,cAAA,YAGV,SAAS,CAAE,KAAM,OAAS,EAAC,AAAA,EAAA,OAAA,UAAA,kBAAA,YAG3B,SAAS,CAAE,KAAM,OAAS,EAAC,AAAA,EAAA,OAAA,UAAA,gBAAA,YAG3B,SAAS,CAAE,KAAM,KAAO,EAAC,AAAA,EAAA,OAAA,UAAA,gBAAA,CAMzB,UAAA,CAAA,UAAU,UAAU,AAAA,EAAA,OAAA,UAAA,kBAAA,CAjDtB,OAAA,UAAA,CAAA,OAAO,UAAU,CACjB,OAAO,GAAG,CAAC;AA+BZ,CAAC,CAAC,AAAA,EAAA,OAAA,CA8JF,IAAA,SAAe"}
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import Select from "./component.js";
|
2
2
|
export default Select;
|
3
3
|
declare global {
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
interface HTMLElementTagNameMap {
|
5
|
+
"godown-select": Select;
|
6
|
+
}
|
7
7
|
}
|
8
|
-
//# sourceMappingURL=definition.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"
|
1
|
+
{"mappings":"AAAA,OAAO,YAAY,gBAAiB;AAIpC,eAAe;eAEA;WACH,sBAAsB;EAC9B,iBAAiB;CAClB;AACF","names":[],"sources":["../../../src/web-components/select/definition.ts"],"sourcesContent":["import Select from \"./component.js\";\n\nSelect.define();\n\nexport default Select;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"godown-select\": Select;\n }\n}\n"],"version":3,"file":"definition.d.ts"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import
|
1
|
+
import Select from"./component.js";Select.define();export{Select as default};
|
2
2
|
//# sourceMappingURL=definition.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"definition.js","sources":["../../src/web-components/select/definition.ts"],"sourcesContent":
|
1
|
+
{"version":3,"file":"definition.js","sources":["../../src/web-components/select/definition.ts"],"sourcesContent":["import Select from \"./component.js\";\n\nSelect.define();\n\nexport default Select;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"godown-select\": Select;\n }\n}\n"],"names":[],"mappings":"mCAEA,OAAO,QAAQ"}
|
@@ -1,19 +1,18 @@
|
|
1
1
|
import { type TemplateResult } from "lit";
|
2
2
|
import { GlobalStyle } from "../../internal/global-style.js";
|
3
3
|
/**
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
4
|
+
* {@linkcode Skeleton} renders a skeleton screen.
|
5
|
+
*
|
6
|
+
* @slot loading - The content if loading is true.
|
7
|
+
* @slot - The content if loading is false.
|
8
|
+
* @category feedback
|
9
|
+
*/
|
10
10
|
declare class Skeleton extends GlobalStyle {
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
11
|
+
/**
|
12
|
+
* If false, render slot only.
|
13
|
+
*/
|
14
|
+
loading: boolean;
|
15
|
+
protected render(): TemplateResult<1>;
|
16
16
|
}
|
17
17
|
export default Skeleton;
|
18
18
|
export { Skeleton };
|
19
|
-
//# sourceMappingURL=component.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"
|
1
|
+
{"mappings":"AACA,cAAc,sBAAiC,KAAM;AAGrD,SAAS,mBAA+C,gCAAiC;;;;;;;;AAYzF,cAwCM,iBAAiB,YAAY;;;;CAIjC,AACA;CAEA,UAAU,UAAU,eAAe;AAQpC;AAED,eAAe;AACf,SAAS","names":[],"sources":["../../../src/web-components/skeleton/component.ts"],"sourcesContent":["import { godown, htmlSlot, styles } from \"@godown/element\";\nimport { type TemplateResult, css, html } from \"lit\";\nimport { state } from \"lit/decorators.js\";\n\nimport { GlobalStyle, cssGlobalVars, scopePrefix } from \"../../internal/global-style.js\";\n\nconst protoName = \"skeleton\";\nconst cssScope = scopePrefix(protoName);\n\n/**\n * {@linkcode Skeleton} renders a skeleton screen.\n *\n * @slot loading - The content if loading is true.\n * @slot - The content if loading is false.\n * @category feedback\n */\n@godown(protoName)\n@styles(css`\n :host {\n ${cssScope}--from: var(${cssGlobalVars.background});\n ${cssScope}--to: var(${cssGlobalVars.passive});\n ${cssScope}--deg: 95deg;\n ${cssScope}--duration: 2s;\n height: 2em;\n width: 100%;\n flex-shrink: 0;\n overflow: hidden;\n background-color: transparent;\n background-size: 200% 100%;\n background-image: linear-gradient(\n var(${cssScope}--deg),\n var(${cssScope}--from) 36%,\n var(${cssScope}--to) 50%,\n var(${cssScope}--from) 64%\n );\n animation: _ var(${cssScope}--duration) ease-in-out infinite none running;\n }\n\n @keyframes _ {\n from {\n background-position: 150% center;\n }\n to {\n background-position: -50% center;\n }\n }\n\n [part=\"root\"] {\n display: contents;\n }\n\n :host,\n :host([contents]) [part=\"root\"] {\n display: block;\n }\n`)\nclass Skeleton extends GlobalStyle {\n /**\n * If false, render slot only.\n */\n @state()\n loading = true;\n\n protected render(): TemplateResult<1> {\n if (!this.loading) {\n return htmlSlot();\n }\n return html`\n <div part=\"root\">${htmlSlot(\"loading\")}</div>\n `;\n }\n}\n\nexport default Skeleton;\nexport { Skeleton };\n"],"version":3,"file":"component.d.ts"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{
|
1
|
+
import{godown,styles,htmlSlot}from"@godown/element";import{css,html}from"lit";import{state}from"lit/decorators.js";import{scopePrefix,cssGlobalVars,GlobalStyle}from"../../internal/global-style.js";import _decorate from"@oxc-project/runtime/helpers/decorate";const protoName=`skeleton`,cssScope=scopePrefix(protoName);let Skeleton=class e extends GlobalStyle{constructor(...e){super(...e),this.loading=!0}render(){return this.loading?html`<div part="root">${htmlSlot(`loading`)}</div>`:htmlSlot()}};_decorate([state()],Skeleton.prototype,`loading`,void 0),Skeleton=_decorate([godown(protoName),styles(css`:host{${cssScope}--from:var(${cssGlobalVars.background});${cssScope}--to:var(${cssGlobalVars.passive});${cssScope}--deg:95deg;${cssScope}--duration:2s;height:2em;width:100%;flex-shrink:0;overflow:hidden;background-color:transparent;background-size:200% 100%;background-image:linear-gradient(var(${cssScope}--deg),var(${cssScope}--from) 36%,var(${cssScope}--to) 50%,var(${cssScope}--from) 64%);animation:_ var(${cssScope}--duration) ease-in-out infinite none running}@keyframes _{0%{background-position:150%center}to{background-position:-50%center}}[part=root]{display:contents}:host,:host([contents]) [part=root]{display:block}`)],Skeleton);var Skeleton$1=Skeleton;export{Skeleton,Skeleton$1 as default};
|
2
2
|
//# sourceMappingURL=component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"component.js","sources":["../../src/web-components/skeleton/component.ts"],"sourcesContent":
|
1
|
+
{"version":3,"file":"component.js","sources":["../../src/web-components/skeleton/component.ts"],"sourcesContent":["import { godown, htmlSlot, styles } from \"@godown/element\";\nimport { type TemplateResult, css, html } from \"lit\";\nimport { state } from \"lit/decorators.js\";\n\nimport { GlobalStyle, cssGlobalVars, scopePrefix } from \"../../internal/global-style.js\";\n\nconst protoName = \"skeleton\";\nconst cssScope = scopePrefix(protoName);\n\n/**\n * {@linkcode Skeleton} renders a skeleton screen.\n *\n * @slot loading - The content if loading is true.\n * @slot - The content if loading is false.\n * @category feedback\n */\n@godown(protoName)\n@styles(css`\n :host {\n ${cssScope}--from: var(${cssGlobalVars.background});\n ${cssScope}--to: var(${cssGlobalVars.passive});\n ${cssScope}--deg: 95deg;\n ${cssScope}--duration: 2s;\n height: 2em;\n width: 100%;\n flex-shrink: 0;\n overflow: hidden;\n background-color: transparent;\n background-size: 200% 100%;\n background-image: linear-gradient(\n var(${cssScope}--deg),\n var(${cssScope}--from) 36%,\n var(${cssScope}--to) 50%,\n var(${cssScope}--from) 64%\n );\n animation: _ var(${cssScope}--duration) ease-in-out infinite none running;\n }\n\n @keyframes _ {\n from {\n background-position: 150% center;\n }\n to {\n background-position: -50% center;\n }\n }\n\n [part=\"root\"] {\n display: contents;\n }\n\n :host,\n :host([contents]) [part=\"root\"] {\n display: block;\n }\n`)\nclass Skeleton extends GlobalStyle {\n /**\n * If false, render slot only.\n */\n @state()\n loading = true;\n\n protected render(): TemplateResult<1> {\n if (!this.loading) {\n return htmlSlot();\n }\n return html`\n <div part=\"root\">${htmlSlot(\"loading\")}</div>\n `;\n }\n}\n\nexport default Skeleton;\nexport { Skeleton };\n"],"names":["Skeleton"],"mappings":"kQAMA,MAAM,UAAY,WACZ,SAAW,YAAY,UAAU,CASvC,IAAA,SAAA,MAwCMA,UAAiB,WAAY,oCAKjC,SAAU,EAEA,QAA4B,CAIpC,OAHK,KAAK,QAGH,IAAI,CAAA,iBACQ,EAAE,SAAS,UAAU,CAAC,MACzC,CAAC,CAJQ,UAAU,AAKpB,CACF,EAvDA,WA4CE,OAAO,AAAA,EAAA,SAAA,UAAA,iBAAA,CA5CT,SAAA,UAAA,CAAA,OAAO,UAAU,CACjB,OAAO,GAAG,CAAC,MAER,EAAE,SAAS,WAAY,EAAE,cAAc,WAAW,EAClD,EAAE,SAAS,SAAU,EAAE,cAAc,QAAQ,EAC7C,EAAE,SAAS,YACX,EAAE,SAAS,8JAQL,EAAE,SAAS,WACX,EAAE,SAAS,gBACX,EAAE,SAAS,cACX,EAAE,SAAS,6BAEA,EAAE,SAAS,+MAoBhC,CAAC,CAAC,AAAA,EAAA,SAAA,CAkBF,IAAA,WAAe"}
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import Skeleton from "./component.js";
|
2
2
|
export default Skeleton;
|
3
3
|
declare global {
|
4
|
-
|
5
|
-
|
6
|
-
|
4
|
+
interface HTMLElementTagNameMap {
|
5
|
+
"godown-skeleton": Skeleton;
|
6
|
+
}
|
7
7
|
}
|
8
|
-
//# sourceMappingURL=definition.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"
|
1
|
+
{"mappings":"AAAA,OAAO,cAAc,gBAAiB;AAItC,eAAe;eAEA;WACH,sBAAsB;EAC9B,mBAAmB;CACpB;AACF","names":[],"sources":["../../../src/web-components/skeleton/definition.ts"],"sourcesContent":["import Skeleton from \"./component.js\";\n\nSkeleton.define();\n\nexport default Skeleton;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"godown-skeleton\": Skeleton;\n }\n}\n"],"version":3,"file":"definition.d.ts"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import
|
1
|
+
import Skeleton from"./component.js";Skeleton.define();export{Skeleton as default};
|
2
2
|
//# sourceMappingURL=definition.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"definition.js","sources":["../../src/web-components/skeleton/definition.ts"],"sourcesContent":
|
1
|
+
{"version":3,"file":"definition.js","sources":["../../src/web-components/skeleton/definition.ts"],"sourcesContent":["import Skeleton from \"./component.js\";\n\nSkeleton.define();\n\nexport default Skeleton;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"godown-skeleton\": Skeleton;\n }\n}\n"],"names":[],"mappings":"qCAEA,SAAS,QAAQ"}
|
@@ -2,56 +2,55 @@ import { type HandlerEvent } from "@godown/element";
|
|
2
2
|
import { type TemplateResult } from "lit";
|
3
3
|
import { SuperInput } from "../../internal/super-input.js";
|
4
4
|
/**
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
5
|
+
* {@linkcode Split} renders multiple input boxes.
|
6
|
+
*
|
7
|
+
* Input: will move the focus box backward until the complete input from start to end.
|
8
|
+
*
|
9
|
+
* Delete: will move the focus box forward until the first and no inputs for each.
|
10
|
+
*
|
11
|
+
* @fires input - Fires when the input value changes.
|
12
|
+
* @fires change - Fires when the input value changes.
|
13
|
+
* @fires focus - Fires when the input is focused.
|
14
|
+
* @fires blur - Fires when the input is blurred.
|
15
|
+
* @category input
|
16
|
+
*/
|
17
17
|
declare class Split extends SuperInput {
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
18
|
+
/**
|
19
|
+
* The number of input boxes.
|
20
|
+
*/
|
21
|
+
len: number;
|
22
|
+
/**
|
23
|
+
* Focus index.
|
24
|
+
*/
|
25
|
+
index: number;
|
26
|
+
current: number;
|
27
|
+
currentValue: (string | void)[];
|
28
|
+
constructor();
|
29
|
+
get observedRecord(): Record<string, any>;
|
30
|
+
protected render(): TemplateResult<1>;
|
31
|
+
connectedCallback(): void;
|
32
|
+
protected _handleInput(e: HandlerEvent<HTMLInputElement, InputEvent>): void;
|
33
|
+
/**
|
34
|
+
* Fill input with data.
|
35
|
+
*
|
36
|
+
* If data is null
|
37
|
+
* - If current value is null, move to before.
|
38
|
+
* - If current value is not null, delete it.
|
39
|
+
*
|
40
|
+
* If data is not null
|
41
|
+
* - If current value is null, input data.
|
42
|
+
* - If current value is not null, input data and move to after.
|
43
|
+
*
|
44
|
+
* If data is multiple characters,
|
45
|
+
* Fill input with data[0] and call fillInput with data.slice(1).
|
46
|
+
*
|
47
|
+
* @param data Input event data.
|
48
|
+
*/
|
49
|
+
protected fillInput(data: string | null): void;
|
50
|
+
focus(): void;
|
51
|
+
focusAt(i: number): void;
|
52
|
+
blur(): void;
|
53
|
+
reset(): void;
|
54
54
|
}
|
55
55
|
export default Split;
|
56
56
|
export { Split };
|
57
|
-
//# sourceMappingURL=component.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"
|
1
|
+
{"mappings":"AAAA,cAAc,oBAAkF,iBAAkB;AAClH,cAAc,sBAAiC,KAAM;AAIrD,SAAS,kBAAkB,+BAAgC;;;;;;;;;;;;;;AAmB3D,cA2CM,cAAc,WAAW;;;;CAI7B,AACA;;;;CAKA,AACA;CAEA,AACA;CAEA,AACA;CAEA;CAYA,IAAI,kBAAkB;CAItB,UAAU,UAAU,eAAe;CAiCnC;CAKA,UAAU,aAAaA,GAAG,aAAa,kBAAkB;;;;;;;;;;;;;;;;;CA4BzD,UAAU,UAAUC;CA2CpB;CAKA,QAAQC;CAKR;CAMA;AAQD;AAED,eAAe;AACf,SAAS","names":["e: HandlerEvent<HTMLInputElement, InputEvent>","data: string | null","i: number"],"sources":["../../../src/web-components/split/component.ts"],"sourcesContent":["import { type HandlerEvent, attr, tokenList, godown, styles, loop, omit, StyleController } from \"@godown/element\";\nimport { type TemplateResult, css, html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\n\nimport { cssGlobalVars, scopePrefix } from \"../../internal/global-style.js\";\nimport { SuperInput } from \"../../internal/super-input.js\";\nimport { RingBuilder, ringTypeAttribute } from \"../../internal/ring.js\";\n\nconst protoName = \"split\";\nconst cssScope = scopePrefix(protoName);\n\n/**\n * {@linkcode Split} renders multiple input boxes.\n *\n * Input: will move the focus box backward until the complete input from start to end.\n *\n * Delete: will move the focus box forward until the first and no inputs for each.\n *\n * @fires input - Fires when the input value changes.\n * @fires change - Fires when the input value changes.\n * @fires focus - Fires when the input is focused.\n * @fires blur - Fires when the input is blurred.\n * @category input\n */\n@godown(protoName)\n@styles(css`\n :host {\n display: block;\n border-radius: 0.1em;\n width: fit-content;\n ${cssScope}--size: 2em;\n ${cssScope}--gap: .25em;\n }\n\n [part=\"root\"] {\n gap: var(${cssScope}--gap);\n position: relative;\n vertical-align: top;\n display: flex;\n justify-content: space-between;\n border-radius: inherit;\n }\n\n [part=\"input-box\"] {\n width: var(${cssScope}--size);\n height: var(${cssScope}--size);\n vertical-align: top;\n border-radius: inherit;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n [part=\"input\"] {\n width: 100%;\n height: 100%;\n opacity: 0;\n background: none;\n position: absolute;\n z-index: -1;\n }\n\n .focus,\n [part=\"input-box\"]:active {\n ${cssGlobalVars.ringColor}: var(${cssGlobalVars.active});\n }\n`)\nclass Split extends SuperInput {\n /**\n * The number of input boxes.\n */\n @property({ type: Number })\n len = 6;\n\n /**\n * Focus index.\n */\n @property({ type: Number })\n index = -1;\n\n @state()\n current = -1;\n\n @state()\n currentValue: (string | void)[] = [];\n\n constructor() {\n super();\n new StyleController(\n this,\n () =>\n new RingBuilder({\n selector: \"[part=input-box]\",\n type: this.ringType,\n }).css,\n );\n }\n\n get observedRecord(): Record<string, any> {\n return omit(super.observedRecord, ringTypeAttribute);\n }\n\n protected render(): TemplateResult<1> {\n return html`\n <div\n part=\"root\"\n ${attr(this.observedRecord)}\n >\n ${loop(\n this.len,\n (index: number) => html`\n <span\n part=\"input-box\"\n ring-type=\"${this.ringType}\"\n class=\"${tokenList({ focus: this.current === index })}\"\n @click=\"${this.disabled ? null : () => this.focusAt(index)}\"\n >\n ${this.currentValue[index]}\n </span>\n `,\n )}\n <input\n part=\"input\"\n @blur=${this.blur}\n @input=\"${this._handleInput}\"\n @change=\"${this._handleChange}\"\n .value=\"${\n /* Ensure that input always has a value of length this.len */\n this.value.padStart(this.len, \" \")\n }\"\n />\n </div>\n `;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.reset();\n }\n\n protected _handleInput(e: HandlerEvent<HTMLInputElement, InputEvent>): void {\n e.stopPropagation();\n if (this.compositing) {\n return;\n }\n\n this.fillInput(e.data);\n this.value = this.currentValue.join(\"\");\n\n this.dispatchCustomEvent(\"input\", this.value, { bubbles: true });\n }\n\n /**\n * Fill input with data.\n *\n * If data is null\n * - If current value is null, move to before.\n * - If current value is not null, delete it.\n *\n * If data is not null\n * - If current value is null, input data.\n * - If current value is not null, input data and move to after.\n *\n * If data is multiple characters,\n * Fill input with data[0] and call fillInput with data.slice(1).\n *\n * @param data Input event data.\n */\n protected fillInput(data: string | null): void {\n if (data === null) {\n // delete\n\n if (this.currentValue[this.current] !== null) {\n // delete exist value\n\n this.currentValue[this.current] = null;\n } else {\n // go to before\n\n this.currentValue[this.current - 1] = null;\n const lastNotNull = this.currentValue.findLastIndex((a) => a !== null);\n this.current = this.current - 1 < 0 ? (lastNotNull < 0 ? 0 : lastNotNull) : this.current - 1;\n }\n return;\n }\n\n const multiple = data.length > 1;\n\n // input\n this.currentValue[this.current] = data[0];\n if (this.current + 1 >= this.len) {\n // index overflow\n\n this.current = this.currentValue.indexOf(null);\n if (this.current === -1) {\n this.blur();\n }\n } else {\n // go to after\n\n this.current += 1;\n }\n\n if (multiple) {\n const after = data.slice(1);\n if (after) {\n this.fillInput(after);\n }\n }\n }\n\n focus(): void {\n this.focusAt(this.current);\n super.focus();\n }\n\n focusAt(i: number): void {\n this.current = i;\n this._input.focus();\n }\n\n blur(): void {\n this._input.blur();\n this.current = -1;\n super.blur();\n }\n\n reset(): void {\n this.current = -1;\n this.value = this.default;\n this.currentValue = this.value.split(\"\").concat(Array(this.len - this.value.length).fill(null));\n if (this.index > -1) {\n this.current = this.index;\n }\n }\n}\n\nexport default Split;\nexport { Split };\n"],"version":3,"file":"component.d.ts"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
import{
|
1
|
+
import{godown,styles,StyleController,omit,attr,loop,tokenList}from"@godown/element";import{css,html}from"lit";import{property,state}from"lit/decorators.js";import{scopePrefix,cssGlobalVars}from"../../internal/global-style.js";import{SuperInput}from"../../internal/super-input.js";import{RingBuilder,ringTypeAttribute}from"../../internal/ring.js";import _decorate from"@oxc-project/runtime/helpers/decorate";const protoName=`split`,cssScope=scopePrefix(protoName);let Split=class e extends SuperInput{constructor(){super(),this.len=6,this.index=-1,this.current=-1,this.currentValue=[],new StyleController(this,()=>new RingBuilder({selector:`[part=input-box]`,type:this.ringType}).css)}get observedRecord(){return omit(super.observedRecord,ringTypeAttribute)}render(){return html`<div part="root" ${attr(this.observedRecord)}> ${loop(this.len,e=>html`<span part="input-box" ring-type="${this.ringType}" class="${tokenList({focus:this.current===e})}" @click="${this.disabled?null:()=>this.focusAt(e)}"> ${this.currentValue[e]} </span>`)} <input part="input" @blur=${this.blur} @input="${this._handleInput}" @change="${this._handleChange}" .value="${this.value.padStart(this.len,` `)}"/> </div>`}connectedCallback(){super.connectedCallback(),this.reset()}_handleInput(e){e.stopPropagation(),!this.compositing&&(this.fillInput(e.data),this.value=this.currentValue.join(``),this.dispatchCustomEvent(`input`,this.value,{bubbles:!0}))}fillInput(e){if(e===null){if(this.currentValue[this.current]!==null)this.currentValue[this.current]=null;else{this.currentValue[this.current-1]=null;let e=this.currentValue.findLastIndex(e=>e!==null);this.current=this.current-1<0?e<0?0:e:this.current-1}return}let b=e.length>1;if(this.currentValue[this.current]=e[0],this.current+1>=this.len?(this.current=this.currentValue.indexOf(null),this.current===-1&&this.blur()):this.current+=1,b){let b=e.slice(1);b&&this.fillInput(b)}}focus(){this.focusAt(this.current),super.focus()}focusAt(e){this.current=e,this._input.focus()}blur(){this._input.blur(),this.current=-1,super.blur()}reset(){this.current=-1,this.value=this.default,this.currentValue=this.value.split(``).concat(Array(this.len-this.value.length).fill(null)),this.index>-1&&(this.current=this.index)}};_decorate([property({type:Number})],Split.prototype,`len`,void 0),_decorate([property({type:Number})],Split.prototype,`index`,void 0),_decorate([state()],Split.prototype,`current`,void 0),_decorate([state()],Split.prototype,`currentValue`,void 0),Split=_decorate([godown(protoName),styles(css`:host{display:block;border-radius:.1em;width:-moz-fit-content;width:fit-content;${cssScope}--size:2em;${cssScope}--gap:.25em}[part=root]{gap:var(${cssScope}--gap);position:relative;vertical-align:top;display:flex;justify-content:space-between;border-radius:inherit}[part=input-box]{width:var(${cssScope}--size);height:var(${cssScope}--size);vertical-align:top;border-radius:inherit;display:inline-flex;align-items:center;justify-content:center}[part=input]{width:100%;height:100%;opacity:0;background:0 0;position:absolute;z-index:-1}.focus,[part=input-box]:active{${cssGlobalVars.ringColor}:var(${cssGlobalVars.active})}`)],Split);var Split$1=Split;export{Split,Split$1 as default};
|
2
2
|
//# sourceMappingURL=component.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"component.js","sources":["../../src/web-components/split/component.ts"],"sourcesContent":
|
1
|
+
{"version":3,"file":"component.js","sources":["../../src/web-components/split/component.ts"],"sourcesContent":["import { type HandlerEvent, attr, tokenList, godown, styles, loop, omit, StyleController } from \"@godown/element\";\nimport { type TemplateResult, css, html } from \"lit\";\nimport { property, state } from \"lit/decorators.js\";\n\nimport { cssGlobalVars, scopePrefix } from \"../../internal/global-style.js\";\nimport { SuperInput } from \"../../internal/super-input.js\";\nimport { RingBuilder, ringTypeAttribute } from \"../../internal/ring.js\";\n\nconst protoName = \"split\";\nconst cssScope = scopePrefix(protoName);\n\n/**\n * {@linkcode Split} renders multiple input boxes.\n *\n * Input: will move the focus box backward until the complete input from start to end.\n *\n * Delete: will move the focus box forward until the first and no inputs for each.\n *\n * @fires input - Fires when the input value changes.\n * @fires change - Fires when the input value changes.\n * @fires focus - Fires when the input is focused.\n * @fires blur - Fires when the input is blurred.\n * @category input\n */\n@godown(protoName)\n@styles(css`\n :host {\n display: block;\n border-radius: 0.1em;\n width: fit-content;\n ${cssScope}--size: 2em;\n ${cssScope}--gap: .25em;\n }\n\n [part=\"root\"] {\n gap: var(${cssScope}--gap);\n position: relative;\n vertical-align: top;\n display: flex;\n justify-content: space-between;\n border-radius: inherit;\n }\n\n [part=\"input-box\"] {\n width: var(${cssScope}--size);\n height: var(${cssScope}--size);\n vertical-align: top;\n border-radius: inherit;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n }\n\n [part=\"input\"] {\n width: 100%;\n height: 100%;\n opacity: 0;\n background: none;\n position: absolute;\n z-index: -1;\n }\n\n .focus,\n [part=\"input-box\"]:active {\n ${cssGlobalVars.ringColor}: var(${cssGlobalVars.active});\n }\n`)\nclass Split extends SuperInput {\n /**\n * The number of input boxes.\n */\n @property({ type: Number })\n len = 6;\n\n /**\n * Focus index.\n */\n @property({ type: Number })\n index = -1;\n\n @state()\n current = -1;\n\n @state()\n currentValue: (string | void)[] = [];\n\n constructor() {\n super();\n new StyleController(\n this,\n () =>\n new RingBuilder({\n selector: \"[part=input-box]\",\n type: this.ringType,\n }).css,\n );\n }\n\n get observedRecord(): Record<string, any> {\n return omit(super.observedRecord, ringTypeAttribute);\n }\n\n protected render(): TemplateResult<1> {\n return html`\n <div\n part=\"root\"\n ${attr(this.observedRecord)}\n >\n ${loop(\n this.len,\n (index: number) => html`\n <span\n part=\"input-box\"\n ring-type=\"${this.ringType}\"\n class=\"${tokenList({ focus: this.current === index })}\"\n @click=\"${this.disabled ? null : () => this.focusAt(index)}\"\n >\n ${this.currentValue[index]}\n </span>\n `,\n )}\n <input\n part=\"input\"\n @blur=${this.blur}\n @input=\"${this._handleInput}\"\n @change=\"${this._handleChange}\"\n .value=\"${\n /* Ensure that input always has a value of length this.len */\n this.value.padStart(this.len, \" \")\n }\"\n />\n </div>\n `;\n }\n\n connectedCallback(): void {\n super.connectedCallback();\n this.reset();\n }\n\n protected _handleInput(e: HandlerEvent<HTMLInputElement, InputEvent>): void {\n e.stopPropagation();\n if (this.compositing) {\n return;\n }\n\n this.fillInput(e.data);\n this.value = this.currentValue.join(\"\");\n\n this.dispatchCustomEvent(\"input\", this.value, { bubbles: true });\n }\n\n /**\n * Fill input with data.\n *\n * If data is null\n * - If current value is null, move to before.\n * - If current value is not null, delete it.\n *\n * If data is not null\n * - If current value is null, input data.\n * - If current value is not null, input data and move to after.\n *\n * If data is multiple characters,\n * Fill input with data[0] and call fillInput with data.slice(1).\n *\n * @param data Input event data.\n */\n protected fillInput(data: string | null): void {\n if (data === null) {\n // delete\n\n if (this.currentValue[this.current] !== null) {\n // delete exist value\n\n this.currentValue[this.current] = null;\n } else {\n // go to before\n\n this.currentValue[this.current - 1] = null;\n const lastNotNull = this.currentValue.findLastIndex((a) => a !== null);\n this.current = this.current - 1 < 0 ? (lastNotNull < 0 ? 0 : lastNotNull) : this.current - 1;\n }\n return;\n }\n\n const multiple = data.length > 1;\n\n // input\n this.currentValue[this.current] = data[0];\n if (this.current + 1 >= this.len) {\n // index overflow\n\n this.current = this.currentValue.indexOf(null);\n if (this.current === -1) {\n this.blur();\n }\n } else {\n // go to after\n\n this.current += 1;\n }\n\n if (multiple) {\n const after = data.slice(1);\n if (after) {\n this.fillInput(after);\n }\n }\n }\n\n focus(): void {\n this.focusAt(this.current);\n super.focus();\n }\n\n focusAt(i: number): void {\n this.current = i;\n this._input.focus();\n }\n\n blur(): void {\n this._input.blur();\n this.current = -1;\n super.blur();\n }\n\n reset(): void {\n this.current = -1;\n this.value = this.default;\n this.currentValue = this.value.split(\"\").concat(Array(this.len - this.value.length).fill(null));\n if (this.index > -1) {\n this.current = this.index;\n }\n }\n}\n\nexport default Split;\nexport { Split };\n"],"names":["Split","index: number","index","e: HandlerEvent<HTMLInputElement, InputEvent>","data: string | null","data","lastNotNull","a","multiple","after","i: number","i"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"
|
1
|
+
{"mappings":"AAAA,OAAO,WAAW,gBAAiB;AAInC,eAAe;eAEA;WACH,sBAAsB;EAC9B,gBAAgB;CACjB;AACF","names":[],"sources":["../../../src/web-components/split/definition.ts"],"sourcesContent":["import Split from \"./component.js\";\n\nSplit.define();\n\nexport default Split;\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"godown-split\": Split;\n }\n}\n"],"version":3,"file":"definition.d.ts"}
|