godown 3.0.0-canary.8 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +38 -9
- package/alert.d.ts +1 -0
- package/alert.d.ts.map +1 -1
- package/alert.js +1 -5
- package/alert.js.map +1 -1
- package/avatar.d.ts +1 -0
- package/avatar.d.ts.map +1 -1
- package/avatar.js +1 -5
- package/avatar.js.map +1 -1
- package/badge.d.ts +9 -0
- package/badge.d.ts.map +1 -0
- package/badge.js +2 -0
- package/badge.js.map +1 -0
- package/breath.js +1 -5
- package/breath.js.map +1 -1
- package/build/godown+lit.iife.js +59 -0
- package/build/godown+lit.iife.js.map +1 -0
- package/build/godown+lit.js +59 -0
- package/build/godown+lit.js.map +1 -0
- package/build/godown+lit.umd.js +59 -0
- package/build/godown+lit.umd.js.map +1 -0
- package/build/godown.iife.js +47 -0
- package/build/godown.js +48 -0
- package/build/godown.js.map +1 -0
- package/build/godown.umd.js +48 -0
- package/build/godown.umd.js.map +1 -0
- package/button.d.ts +1 -0
- package/button.d.ts.map +1 -1
- package/button.js +1 -5
- package/button.js.map +1 -1
- package/card.d.ts +1 -0
- package/card.d.ts.map +1 -1
- package/card.js +1 -5
- package/card.js.map +1 -1
- package/carousel.d.ts +1 -0
- package/carousel.d.ts.map +1 -1
- package/carousel.js +1 -5
- package/carousel.js.map +1 -1
- package/components/alert.d.ts +4 -1
- package/components/alert.d.ts.map +1 -1
- package/components/alert.js +1 -176
- package/components/alert.js.map +1 -1
- package/components/avatar.d.ts +8 -2
- package/components/avatar.d.ts.map +1 -1
- package/components/avatar.js +1 -61
- package/components/avatar.js.map +1 -1
- package/components/badge.d.ts +23 -0
- package/components/badge.d.ts.map +1 -0
- package/components/badge.js +2 -0
- package/components/badge.js.map +1 -0
- package/components/breath.d.ts +7 -4
- package/components/breath.d.ts.map +1 -1
- package/components/breath.js +1 -79
- package/components/breath.js.map +1 -1
- package/components/button.d.ts +19 -10
- package/components/button.d.ts.map +1 -1
- package/components/button.js +1 -165
- package/components/button.js.map +1 -1
- package/components/card.d.ts +3 -2
- package/components/card.d.ts.map +1 -1
- package/components/card.js +1 -53
- package/components/card.js.map +1 -1
- package/components/carousel.d.ts +10 -5
- package/components/carousel.d.ts.map +1 -1
- package/components/carousel.js +1 -112
- package/components/carousel.js.map +1 -1
- package/components/details.d.ts +6 -2
- package/components/details.d.ts.map +1 -1
- package/components/details.js +1 -49
- package/components/details.js.map +1 -1
- package/components/dialog.d.ts +8 -3
- package/components/dialog.d.ts.map +1 -1
- package/components/dialog.js +1 -93
- package/components/dialog.js.map +1 -1
- package/components/divider.d.ts +3 -3
- package/components/divider.d.ts.map +1 -1
- package/components/divider.js +1 -36
- package/components/divider.js.map +1 -1
- package/components/dragbox.d.ts +11 -9
- package/components/dragbox.d.ts.map +1 -1
- package/components/dragbox.js +1 -109
- package/components/dragbox.js.map +1 -1
- package/components/flex.d.ts +4 -1
- package/components/flex.d.ts.map +1 -1
- package/components/flex.js +1 -54
- package/components/flex.js.map +1 -1
- package/components/form.d.ts +3 -3
- package/components/form.d.ts.map +1 -1
- package/components/form.js +1 -77
- package/components/form.js.map +1 -1
- package/components/grid.d.ts +10 -3
- package/components/grid.d.ts.map +1 -1
- package/components/grid.js +1 -55
- package/components/grid.js.map +1 -1
- package/components/heading.d.ts +29 -0
- package/components/heading.d.ts.map +1 -0
- package/components/heading.js +2 -0
- package/components/heading.js.map +1 -0
- package/components/input.d.ts +7 -3
- package/components/input.d.ts.map +1 -1
- package/components/input.js +1 -50
- package/components/input.js.map +1 -1
- package/components/layout.d.ts +8 -9
- package/components/layout.d.ts.map +1 -1
- package/components/layout.js +1 -46
- package/components/layout.js.map +1 -1
- package/components/link.d.ts +8 -1
- package/components/link.d.ts.map +1 -1
- package/components/link.js +1 -42
- package/components/link.js.map +1 -1
- package/components/progress.d.ts +4 -11
- package/components/progress.d.ts.map +1 -1
- package/components/progress.js +1 -67
- package/components/progress.js.map +1 -1
- package/components/range.d.ts +22 -15
- package/components/range.d.ts.map +1 -1
- package/components/range.js +1 -273
- package/components/range.js.map +1 -1
- package/components/rotate.d.ts +4 -2
- package/components/rotate.d.ts.map +1 -1
- package/components/rotate.js +1 -56
- package/components/rotate.js.map +1 -1
- package/components/router.d.ts +20 -24
- package/components/router.d.ts.map +1 -1
- package/components/router.js +1 -250
- package/components/router.js.map +1 -1
- package/components/select.d.ts +8 -4
- package/components/select.d.ts.map +1 -1
- package/components/select.js +1 -212
- package/components/select.js.map +1 -1
- package/components/skeleton.d.ts +3 -1
- package/components/skeleton.d.ts.map +1 -1
- package/components/skeleton.js +1 -54
- package/components/skeleton.js.map +1 -1
- package/components/split.d.ts +25 -2
- package/components/split.d.ts.map +1 -1
- package/components/split.js +1 -128
- package/components/split.js.map +1 -1
- package/components/switch.d.ts +8 -5
- package/components/switch.d.ts.map +1 -1
- package/components/switch.js +1 -92
- package/components/switch.js.map +1 -1
- package/components/text.d.ts +3 -1
- package/components/text.d.ts.map +1 -1
- package/components/text.js +1 -43
- package/components/text.js.map +1 -1
- package/components/time.d.ts +8 -6
- package/components/time.d.ts.map +1 -1
- package/components/time.js +1 -85
- package/components/time.js.map +1 -1
- package/components/tooltip.d.ts +14 -2
- package/components/tooltip.d.ts.map +1 -1
- package/components/tooltip.js +1 -66
- package/components/tooltip.js.map +1 -1
- package/components/typewriter.d.ts +8 -14
- package/components/typewriter.d.ts.map +1 -1
- package/components/typewriter.js +1 -129
- package/components/typewriter.js.map +1 -1
- package/core/global-style.d.ts +2 -2
- package/core/global-style.d.ts.map +1 -1
- package/core/global-style.js +1 -45
- package/core/global-style.js.map +1 -1
- package/core/super-anchor.d.ts +2 -1
- package/core/super-anchor.d.ts.map +1 -1
- package/core/super-anchor.js +1 -38
- package/core/super-anchor.js.map +1 -1
- package/core/super-input.d.ts +6 -5
- package/core/super-input.d.ts.map +1 -1
- package/core/super-input.js +1 -111
- package/core/super-input.js.map +1 -1
- package/core/super-openable.d.ts +1 -1
- package/core/super-openable.d.ts.map +1 -1
- package/core/super-openable.js +1 -37
- package/core/super-openable.js.map +1 -1
- package/custom-elements.json +1 -1
- package/details.d.ts +1 -0
- package/details.d.ts.map +1 -1
- package/details.js +1 -5
- package/details.js.map +1 -1
- package/dev/alert.d.ts +1 -0
- package/dev/alert.d.ts.map +1 -1
- package/dev/alert.js +1 -0
- package/dev/alert.js.map +1 -1
- package/dev/avatar.d.ts +1 -0
- package/dev/avatar.d.ts.map +1 -1
- package/dev/avatar.js +1 -0
- package/dev/avatar.js.map +1 -1
- package/dev/badge.d.ts +9 -0
- package/dev/badge.d.ts.map +1 -0
- package/dev/badge.js +5 -0
- package/dev/badge.js.map +1 -0
- package/dev/button.d.ts +1 -0
- package/dev/button.d.ts.map +1 -1
- package/dev/button.js +1 -0
- package/dev/button.js.map +1 -1
- package/dev/card.d.ts +1 -0
- package/dev/card.d.ts.map +1 -1
- package/dev/card.js +1 -0
- package/dev/card.js.map +1 -1
- package/dev/carousel.d.ts +1 -0
- package/dev/carousel.d.ts.map +1 -1
- package/dev/carousel.js +1 -0
- package/dev/carousel.js.map +1 -1
- package/dev/components/alert.d.ts +4 -1
- package/dev/components/alert.d.ts.map +1 -1
- package/dev/components/alert.js +20 -23
- package/dev/components/alert.js.map +1 -1
- package/dev/components/avatar.d.ts +8 -2
- package/dev/components/avatar.d.ts.map +1 -1
- package/dev/components/avatar.js +23 -13
- package/dev/components/avatar.js.map +1 -1
- package/dev/components/badge.d.ts +23 -0
- package/dev/components/badge.d.ts.map +1 -0
- package/dev/components/badge.js +107 -0
- package/dev/components/badge.js.map +1 -0
- package/dev/components/breath.d.ts +7 -4
- package/dev/components/breath.d.ts.map +1 -1
- package/dev/components/breath.js +30 -26
- package/dev/components/breath.js.map +1 -1
- package/dev/components/button.d.ts +19 -10
- package/dev/components/button.d.ts.map +1 -1
- package/dev/components/button.js +47 -28
- package/dev/components/button.js.map +1 -1
- package/dev/components/card.d.ts +3 -2
- package/dev/components/card.d.ts.map +1 -1
- package/dev/components/card.js +23 -33
- package/dev/components/card.js.map +1 -1
- package/dev/components/carousel.d.ts +10 -5
- package/dev/components/carousel.d.ts.map +1 -1
- package/dev/components/carousel.js +33 -26
- package/dev/components/carousel.js.map +1 -1
- package/dev/components/details.d.ts +6 -2
- package/dev/components/details.d.ts.map +1 -1
- package/dev/components/details.js +24 -26
- package/dev/components/details.js.map +1 -1
- package/dev/components/dialog.d.ts +8 -3
- package/dev/components/dialog.d.ts.map +1 -1
- package/dev/components/dialog.js +21 -17
- package/dev/components/dialog.js.map +1 -1
- package/dev/components/divider.d.ts +3 -3
- package/dev/components/divider.d.ts.map +1 -1
- package/dev/components/divider.js +29 -17
- package/dev/components/divider.js.map +1 -1
- package/dev/components/dragbox.d.ts +11 -9
- package/dev/components/dragbox.d.ts.map +1 -1
- package/dev/components/dragbox.js +11 -4
- package/dev/components/dragbox.js.map +1 -1
- package/dev/components/flex.d.ts +4 -1
- package/dev/components/flex.d.ts.map +1 -1
- package/dev/components/flex.js +25 -9
- package/dev/components/flex.js.map +1 -1
- package/dev/components/form.d.ts +3 -3
- package/dev/components/form.d.ts.map +1 -1
- package/dev/components/form.js +2 -5
- package/dev/components/form.js.map +1 -1
- package/dev/components/grid.d.ts +10 -3
- package/dev/components/grid.d.ts.map +1 -1
- package/dev/components/grid.js +18 -10
- package/dev/components/grid.js.map +1 -1
- package/dev/components/heading.d.ts +29 -0
- package/dev/components/heading.d.ts.map +1 -0
- package/dev/components/heading.js +103 -0
- package/dev/components/heading.js.map +1 -0
- package/dev/components/input.d.ts +7 -3
- package/dev/components/input.d.ts.map +1 -1
- package/dev/components/input.js +18 -18
- package/dev/components/input.js.map +1 -1
- package/dev/components/layout.d.ts +8 -9
- package/dev/components/layout.d.ts.map +1 -1
- package/dev/components/layout.js +38 -25
- package/dev/components/layout.js.map +1 -1
- package/dev/components/link.d.ts +8 -1
- package/dev/components/link.d.ts.map +1 -1
- package/dev/components/link.js +15 -3
- package/dev/components/link.js.map +1 -1
- package/dev/components/progress.d.ts +4 -11
- package/dev/components/progress.d.ts.map +1 -1
- package/dev/components/progress.js +43 -49
- package/dev/components/progress.js.map +1 -1
- package/dev/components/range.d.ts +22 -15
- package/dev/components/range.d.ts.map +1 -1
- package/dev/components/range.js +56 -61
- package/dev/components/range.js.map +1 -1
- package/dev/components/rotate.d.ts +4 -2
- package/dev/components/rotate.d.ts.map +1 -1
- package/dev/components/rotate.js +3 -5
- package/dev/components/rotate.js.map +1 -1
- package/dev/components/router.d.ts +20 -24
- package/dev/components/router.d.ts.map +1 -1
- package/dev/components/router.js +23 -36
- package/dev/components/router.js.map +1 -1
- package/dev/components/select.d.ts +8 -4
- package/dev/components/select.d.ts.map +1 -1
- package/dev/components/select.js +44 -32
- package/dev/components/select.js.map +1 -1
- package/dev/components/skeleton.d.ts +3 -1
- package/dev/components/skeleton.d.ts.map +1 -1
- package/dev/components/skeleton.js +9 -9
- package/dev/components/skeleton.js.map +1 -1
- package/dev/components/split.d.ts +25 -2
- package/dev/components/split.d.ts.map +1 -1
- package/dev/components/split.js +71 -38
- package/dev/components/split.js.map +1 -1
- package/dev/components/switch.d.ts +8 -5
- package/dev/components/switch.d.ts.map +1 -1
- package/dev/components/switch.js +28 -31
- package/dev/components/switch.js.map +1 -1
- package/dev/components/text.d.ts +3 -1
- package/dev/components/text.d.ts.map +1 -1
- package/dev/components/text.js +12 -15
- package/dev/components/text.js.map +1 -1
- package/dev/components/time.d.ts +8 -6
- package/dev/components/time.d.ts.map +1 -1
- package/dev/components/time.js +8 -14
- package/dev/components/time.js.map +1 -1
- package/dev/components/tooltip.d.ts +14 -2
- package/dev/components/tooltip.d.ts.map +1 -1
- package/dev/components/tooltip.js +54 -24
- package/dev/components/tooltip.js.map +1 -1
- package/dev/components/typewriter.d.ts +8 -14
- package/dev/components/typewriter.d.ts.map +1 -1
- package/dev/components/typewriter.js +22 -37
- package/dev/components/typewriter.js.map +1 -1
- package/dev/core/global-style.d.ts +2 -2
- package/dev/core/global-style.d.ts.map +1 -1
- package/dev/core/global-style.js +18 -14
- package/dev/core/global-style.js.map +1 -1
- package/dev/core/super-anchor.d.ts +2 -1
- package/dev/core/super-anchor.d.ts.map +1 -1
- package/dev/core/super-anchor.js +25 -23
- package/dev/core/super-anchor.js.map +1 -1
- package/dev/core/super-input.d.ts +6 -5
- package/dev/core/super-input.d.ts.map +1 -1
- package/dev/core/super-input.js +43 -36
- package/dev/core/super-input.js.map +1 -1
- package/dev/core/super-openable.d.ts +1 -1
- package/dev/core/super-openable.d.ts.map +1 -1
- package/dev/core/super-openable.js +2 -2
- package/dev/core/super-openable.js.map +1 -1
- package/dev/details.d.ts +1 -0
- package/dev/details.d.ts.map +1 -1
- package/dev/details.js +1 -0
- package/dev/details.js.map +1 -1
- package/dev/dialog.d.ts +1 -0
- package/dev/dialog.d.ts.map +1 -1
- package/dev/dialog.js +1 -0
- package/dev/dialog.js.map +1 -1
- package/dev/divider.d.ts +1 -0
- package/dev/divider.d.ts.map +1 -1
- package/dev/divider.js +1 -0
- package/dev/divider.js.map +1 -1
- package/dev/dragbox.d.ts +1 -0
- package/dev/dragbox.d.ts.map +1 -1
- package/dev/dragbox.js +1 -0
- package/dev/dragbox.js.map +1 -1
- package/dev/flex.d.ts +1 -0
- package/dev/flex.d.ts.map +1 -1
- package/dev/flex.js +1 -0
- package/dev/flex.js.map +1 -1
- package/dev/form.d.ts +1 -0
- package/dev/form.d.ts.map +1 -1
- package/dev/form.js +1 -0
- package/dev/form.js.map +1 -1
- package/dev/grid.d.ts +1 -0
- package/dev/grid.d.ts.map +1 -1
- package/dev/grid.js +1 -0
- package/dev/grid.js.map +1 -1
- package/dev/heading.d.ts +9 -0
- package/dev/heading.d.ts.map +1 -0
- package/dev/heading.js +5 -0
- package/dev/heading.js.map +1 -0
- package/dev/index.d.ts +2 -0
- package/dev/index.d.ts.map +1 -1
- package/dev/index.js +2 -0
- package/dev/index.js.map +1 -1
- package/dev/layout.d.ts.map +1 -1
- package/dev/progress.d.ts.map +1 -1
- package/dev/router.d.ts.map +1 -1
- package/dev/split.d.ts +1 -1
- package/dev/split.d.ts.map +1 -1
- package/dev/typewriter.d.ts +1 -0
- package/dev/typewriter.d.ts.map +1 -1
- package/dev/typewriter.js +1 -0
- package/dev/typewriter.js.map +1 -1
- package/dialog.d.ts +1 -0
- package/dialog.d.ts.map +1 -1
- package/dialog.js +1 -5
- package/dialog.js.map +1 -1
- package/divider.d.ts +1 -0
- package/divider.d.ts.map +1 -1
- package/divider.js +1 -5
- package/divider.js.map +1 -1
- package/dragbox.d.ts +1 -0
- package/dragbox.d.ts.map +1 -1
- package/dragbox.js +1 -5
- package/dragbox.js.map +1 -1
- package/flex.d.ts +1 -0
- package/flex.d.ts.map +1 -1
- package/flex.js +1 -5
- package/flex.js.map +1 -1
- package/form.d.ts +1 -0
- package/form.d.ts.map +1 -1
- package/form.js +1 -5
- package/form.js.map +1 -1
- package/grid.d.ts +1 -0
- package/grid.d.ts.map +1 -1
- package/grid.js +1 -5
- package/grid.js.map +1 -1
- package/heading.d.ts +9 -0
- package/heading.d.ts.map +1 -0
- package/heading.js +2 -0
- package/heading.js.map +1 -0
- package/index.d.ts +2 -0
- package/index.d.ts.map +1 -1
- package/index.js +1 -56
- package/index.js.map +1 -1
- package/input.js +1 -5
- package/input.js.map +1 -1
- package/layout.d.ts.map +1 -1
- package/layout.js +1 -5
- package/layout.js.map +1 -1
- package/link.js +1 -5
- package/link.js.map +1 -1
- package/package.json +11 -6
- package/progress.d.ts.map +1 -1
- package/progress.js +1 -5
- package/progress.js.map +1 -1
- package/range.js +1 -5
- package/range.js.map +1 -1
- package/rotate.js +1 -5
- package/rotate.js.map +1 -1
- package/router.d.ts.map +1 -1
- package/router.js +1 -5
- package/router.js.map +1 -1
- package/select.js +1 -5
- package/select.js.map +1 -1
- package/skeleton.js +1 -5
- package/skeleton.js.map +1 -1
- package/split.d.ts +1 -1
- package/split.d.ts.map +1 -1
- package/split.js +1 -5
- package/split.js.map +1 -1
- package/src/alert.ts +2 -0
- package/src/avatar.ts +2 -0
- package/src/badge.ts +13 -0
- package/src/button.ts +2 -0
- package/src/card.ts +2 -0
- package/src/carousel.ts +2 -0
- package/src/components/alert.ts +26 -29
- package/src/components/avatar.ts +28 -17
- package/src/components/badge.ts +107 -0
- package/src/components/breath.ts +38 -31
- package/src/components/button.ts +55 -46
- package/src/components/card.ts +26 -34
- package/src/components/carousel.ts +48 -38
- package/src/components/details.ts +27 -28
- package/src/components/dialog.ts +30 -26
- package/src/components/divider.ts +29 -17
- package/src/components/dragbox.ts +25 -19
- package/src/components/flex.ts +26 -11
- package/src/components/form.ts +7 -9
- package/src/components/grid.ts +31 -13
- package/src/components/heading.ts +105 -0
- package/src/components/input.ts +23 -22
- package/src/components/layout.ts +26 -31
- package/src/components/link.ts +15 -4
- package/src/components/progress.ts +51 -52
- package/src/components/range.ts +82 -94
- package/src/components/rotate.ts +12 -11
- package/src/components/router.ts +59 -48
- package/src/components/select.ts +59 -47
- package/src/components/skeleton.ts +13 -11
- package/src/components/split.ts +90 -49
- package/src/components/switch.ts +38 -37
- package/src/components/text.ts +14 -21
- package/src/components/time.ts +20 -14
- package/src/components/tooltip.ts +54 -29
- package/src/components/typewriter.ts +41 -47
- package/src/core/global-style.ts +33 -19
- package/src/core/super-anchor.ts +30 -26
- package/src/core/super-input.ts +54 -54
- package/src/core/super-openable.ts +7 -7
- package/src/details.ts +2 -0
- package/src/dialog.ts +2 -0
- package/src/divider.ts +2 -0
- package/src/dragbox.ts +2 -0
- package/src/flex.ts +2 -0
- package/src/form.ts +2 -0
- package/src/grid.ts +2 -0
- package/src/heading.ts +13 -0
- package/src/index.ts +2 -0
- package/src/layout.ts +1 -0
- package/src/progress.ts +1 -0
- package/src/router.ts +1 -0
- package/src/split.ts +1 -1
- package/src/typewriter.ts +2 -0
- package/switch.js +1 -5
- package/switch.js.map +1 -1
- package/text.js +1 -5
- package/text.js.map +1 -1
- package/time.js +1 -5
- package/time.js.map +1 -1
- package/tooltip.js +1 -5
- package/tooltip.js.map +1 -1
- package/typewriter.d.ts +1 -0
- package/typewriter.d.ts.map +1 -1
- package/typewriter.js +1 -5
- package/typewriter.js.map +1 -1
- package/vscode.html-custom-data.json +1 -1
- package/web-types.json +1 -1
package/src/components/range.ts
CHANGED
@@ -1,10 +1,5 @@
|
|
1
|
-
import { godown } from "@godown/element
|
2
|
-
import {
|
3
|
-
import { styles } from "@godown/element/decorators/styles.js";
|
4
|
-
import { classList } from "@godown/element/directives/class-list.js";
|
5
|
-
import { joinProperties } from "@godown/element/tools/css.js";
|
6
|
-
import { isNil } from "@godown/element/tools/lib.js";
|
7
|
-
import { css, html } from "lit";
|
1
|
+
import { attr, classList, godown, isNil, joinProperties, part, styles } from "@godown/element";
|
2
|
+
import { css, html, type TemplateResult } from "lit";
|
8
3
|
import { property, queryAll, state } from "lit/decorators.js";
|
9
4
|
|
10
5
|
import { cssGlobalVars, scopePrefix } from "../core/global-style.js";
|
@@ -20,42 +15,50 @@ const cssScope = scopePrefix(protoName);
|
|
20
15
|
*
|
21
16
|
* Number has 1 handle, the array has the number of its elements and the minimum is 2.
|
22
17
|
*
|
18
|
+
* @fires input - Fires when the input value changes.
|
19
|
+
* @fires change - Fires when the input value changes.
|
20
|
+
* @fires range - Fires when the value changes.
|
21
|
+
* @fires focus - Fires when the handle is focused.
|
22
|
+
* @fires blur - Fires when the handle is blurred.
|
23
23
|
* @category input
|
24
24
|
*/
|
25
25
|
@godown(protoName)
|
26
26
|
@styles(
|
27
27
|
css`
|
28
28
|
:host {
|
29
|
-
${cssScope}
|
30
|
-
${cssScope}
|
29
|
+
${cssScope}--handle-active: var(${cssGlobalVars.active});
|
30
|
+
${cssScope}--track-width: .5em;
|
31
|
+
${cssScope}--length: var(${cssGlobalVars.input}-width);
|
31
32
|
background: var(${cssGlobalVars.input}-background);
|
32
|
-
width: var(${
|
33
|
-
display:
|
34
|
-
|
33
|
+
width: var(${cssScope}--length);
|
34
|
+
display: block;
|
35
|
+
}
|
36
|
+
|
37
|
+
:host([contents]) [part=root] {
|
38
|
+
width: inherit;
|
35
39
|
}
|
36
40
|
|
37
41
|
:host([vertical]) {
|
38
|
-
height: var(${
|
42
|
+
height: var(${cssScope}--length);
|
39
43
|
width: fit-content;
|
40
44
|
}
|
41
45
|
|
42
46
|
:host(:not([disabled])) .last-focus {
|
43
|
-
|
44
|
-
${cssScope}
|
45
|
-
background: var(${cssScope}-handle-active);
|
47
|
+
${cssScope}--handle-scale: 1.05;
|
48
|
+
background: var(${cssScope}--handle-active);
|
46
49
|
}
|
47
50
|
|
48
|
-
[part=
|
49
|
-
min-height:inherit;
|
51
|
+
[part=root] {
|
52
|
+
min-height: inherit;
|
50
53
|
position: relative;
|
51
54
|
border-radius: inherit;
|
52
55
|
width: 100%;
|
53
56
|
--from: 0%;
|
54
57
|
--to: 50%;
|
55
|
-
height: var(${cssScope}
|
58
|
+
height: var(${cssScope}--track-width);
|
56
59
|
}
|
57
60
|
|
58
|
-
[part=
|
61
|
+
[part=track] {
|
59
62
|
height: 100%;
|
60
63
|
min-height:inherit;
|
61
64
|
display: flex;
|
@@ -68,7 +71,7 @@ const cssScope = scopePrefix(protoName);
|
|
68
71
|
width: max(calc(var(--to) - var(--from)), calc(var(--from) - var(--to)));
|
69
72
|
}
|
70
73
|
|
71
|
-
[part=
|
74
|
+
[part=handle] {
|
72
75
|
width: 1em;
|
73
76
|
height: 1em;
|
74
77
|
display: flex;
|
@@ -79,22 +82,22 @@ const cssScope = scopePrefix(protoName);
|
|
79
82
|
border: 0.1em solid;
|
80
83
|
border-radius: 50%;
|
81
84
|
transform-origin: 0% 25%;
|
82
|
-
transform: scale(var(${cssScope}
|
85
|
+
transform: scale(var(${cssScope}--handle-scale, 1)) translate(-50%, -25%);
|
83
86
|
background: var(${cssGlobalVars.active});
|
84
87
|
border-color: var(${cssGlobalVars.input}-control);
|
85
88
|
}
|
86
89
|
`,
|
87
90
|
css`
|
88
|
-
|
89
|
-
height:
|
90
|
-
width: var(${cssScope}
|
91
|
+
[vertical] {
|
92
|
+
height: inherit;
|
93
|
+
width: var(${cssScope}--track-width);
|
91
94
|
}
|
92
95
|
|
93
|
-
|
96
|
+
[vertical] i {
|
94
97
|
transform: translate(-25%, -50%);
|
95
98
|
}
|
96
99
|
|
97
|
-
|
100
|
+
[vertical] [part=track] {
|
98
101
|
width: 100%;
|
99
102
|
height: max(calc(var(--to) - var(--from)), calc(var(--from) - var(--to)));
|
100
103
|
top: min(var(--from), var(--to));
|
@@ -102,12 +105,12 @@ const cssScope = scopePrefix(protoName);
|
|
102
105
|
}
|
103
106
|
`,
|
104
107
|
css`
|
105
|
-
[part=
|
108
|
+
[part=handle] {
|
106
109
|
left: var(--handle);
|
107
110
|
top: 0;
|
108
111
|
}
|
109
112
|
|
110
|
-
|
113
|
+
[vertical] [part=handle] {
|
111
114
|
top: var(--handle);
|
112
115
|
left: 0;
|
113
116
|
}
|
@@ -133,35 +136,40 @@ class Range extends SuperInput {
|
|
133
136
|
step: number;
|
134
137
|
|
135
138
|
/**
|
136
|
-
* Display vertically
|
139
|
+
* Display vertically.
|
137
140
|
*/
|
138
141
|
@property({ type: Boolean, reflect: true })
|
139
|
-
vertical
|
142
|
+
vertical = false;
|
140
143
|
|
141
144
|
/**
|
142
|
-
*
|
145
|
+
* Value, or each of values, will render a handle.
|
146
|
+
*
|
147
|
+
* Accepts number or array of numbers.
|
143
148
|
*/
|
144
149
|
@property({ type: Array })
|
145
150
|
value: number | number[];
|
151
|
+
|
146
152
|
/**
|
147
|
-
* The default of `this.value`.
|
153
|
+
* The default of `{@linkcode this.value}`.
|
148
154
|
*/
|
149
155
|
@property({ type: Array })
|
150
156
|
default: typeof this.value;
|
151
157
|
|
152
158
|
@part("root")
|
153
|
-
_root: HTMLElement;
|
159
|
+
protected _root: HTMLElement;
|
154
160
|
|
155
161
|
@queryAll("[part=handle]")
|
156
|
-
_handles: NodeListOf<HTMLElement>;
|
162
|
+
protected _handles: NodeListOf<HTMLElement>;
|
157
163
|
|
158
164
|
@state()
|
159
165
|
lastFocus?: number;
|
160
166
|
|
167
|
+
protected _focusStack: number[] = [];
|
168
|
+
|
161
169
|
/**
|
162
|
-
* Returns true when the second number is greater than the first number
|
170
|
+
* Returns true when the second number is greater than the first number.
|
163
171
|
*/
|
164
|
-
get reverse() {
|
172
|
+
get reverse(): boolean {
|
165
173
|
return this.range ? this.value[0] > this.value[1] : false;
|
166
174
|
}
|
167
175
|
|
@@ -193,7 +201,7 @@ class Range extends SuperInput {
|
|
193
201
|
return rangeValue;
|
194
202
|
}
|
195
203
|
|
196
|
-
protected render() {
|
204
|
+
protected render(): TemplateResult<1> {
|
197
205
|
const rangeValue = this.padValue(2);
|
198
206
|
const from = Math.min(...rangeValue);
|
199
207
|
const to = Math.max(...rangeValue);
|
@@ -201,13 +209,7 @@ class Range extends SuperInput {
|
|
201
209
|
|
202
210
|
return html`<div
|
203
211
|
part="root"
|
204
|
-
|
205
|
-
classList({
|
206
|
-
vertical: this.vertical,
|
207
|
-
range: this.range,
|
208
|
-
reverse: this.reverse,
|
209
|
-
})
|
210
|
-
}"
|
212
|
+
${attr(this.observedRecord)}
|
211
213
|
@mousedown="${this.disabled ? null : this._handleMousedownRoot}"
|
212
214
|
style="${
|
213
215
|
joinProperties({
|
@@ -215,23 +217,18 @@ class Range extends SuperInput {
|
|
215
217
|
"--to": `${((to - this.min) / gap) * 100}%`,
|
216
218
|
...(this.range
|
217
219
|
? Object.fromEntries(
|
218
|
-
rangeValue.map((value, index) => [
|
219
|
-
`--handle-${index}`,
|
220
|
-
`${((value - this.min) / gap) * 100}%`,
|
221
|
-
]),
|
220
|
+
rangeValue.map((value, index) => [`--handle-${index}`, `${((value - this.min) / gap) * 100}%`]),
|
222
221
|
)
|
223
222
|
: {}),
|
224
223
|
})
|
225
|
-
}"
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
: this.renderHandle(0)
|
230
|
-
}
|
224
|
+
}"
|
225
|
+
>
|
226
|
+
<div part="track"></div>
|
227
|
+
${this.range ? (this.value as number[]).map((_, index) => this.renderHandle(index)) : this.renderHandle(0)}
|
231
228
|
</div>`;
|
232
229
|
}
|
233
230
|
|
234
|
-
protected renderHandle(index: number) {
|
231
|
+
protected renderHandle(index: number): TemplateResult<1> {
|
235
232
|
const { range } = this;
|
236
233
|
const end = !range || index === (this.value as number[]).length - 1;
|
237
234
|
return html`<i
|
@@ -241,34 +238,41 @@ class Range extends SuperInput {
|
|
241
238
|
@mousedown="${this.disabled ? null : this.createMouseDown(index)}"
|
242
239
|
@focus="${this.disabled ? null : () => this.focusHandle(index)}"
|
243
240
|
@blur="${this.disabled ? null : this.blurHandle}"
|
244
|
-
style="
|
241
|
+
style="z-index:${this._focusStack.indexOf(index) + 1};--handle:var(--${
|
245
242
|
/* In single-handle mod or end, it is max value */
|
246
|
-
(!range && end) ?
|
243
|
+
(!range && end) ? "to" : `handle-${index}`})"
|
247
244
|
></i>
|
248
245
|
`;
|
249
246
|
}
|
250
247
|
|
251
248
|
private _keydownEvent: EventListenerOrEventListenerObject;
|
252
249
|
|
253
|
-
focusHandle(index: number) {
|
250
|
+
focusHandle(index: number): void {
|
254
251
|
this.lastFocus = index;
|
252
|
+
const indexOfFocusStack = this._focusStack.indexOf(index);
|
253
|
+
if (indexOfFocusStack !== -1) {
|
254
|
+
this._focusStack.splice(indexOfFocusStack, 1);
|
255
|
+
}
|
256
|
+
this._focusStack.push(index);
|
255
257
|
const handleItem = this._handles.item(index);
|
256
258
|
handleItem?.focus();
|
257
259
|
if (!this._keydownEvent) {
|
258
260
|
this._keydownEvent = this.events.add(document, "keydown", this.createKeydownEvent(index));
|
259
261
|
}
|
262
|
+
this.dispatchEvent(new CustomEvent("focus", { detail: index }));
|
260
263
|
}
|
261
264
|
|
262
|
-
blurHandle() {
|
265
|
+
blurHandle(): void {
|
263
266
|
this.lastFocus = undefined;
|
264
267
|
this._keydownEvent = this.events.remove(document, "keydown", this._keydownEvent);
|
268
|
+
this.dispatchEvent(new CustomEvent("blur"));
|
265
269
|
}
|
266
270
|
|
267
271
|
protected createKeydownEvent(index: number) {
|
268
272
|
if (!this.range) {
|
269
273
|
index = 0;
|
270
274
|
}
|
271
|
-
return (e: KeyboardEvent) => {
|
275
|
+
return (e: KeyboardEvent): void => {
|
272
276
|
if (e.key === "ArrowLeft" || e.key === "ArrowDown") {
|
273
277
|
e.preventDefault();
|
274
278
|
this.createSetValue(index)(old => old - this.step);
|
@@ -279,21 +283,15 @@ class Range extends SuperInput {
|
|
279
283
|
};
|
280
284
|
}
|
281
285
|
|
282
|
-
createMouseDown(index) {
|
283
|
-
return (e) => {
|
286
|
+
createMouseDown(index: number) {
|
287
|
+
return (e: MouseEvent): void => {
|
284
288
|
this.focusHandle(index);
|
285
289
|
this.createMousedownListener(this.createSetValue(index))(e);
|
286
290
|
};
|
287
291
|
}
|
288
292
|
|
289
|
-
|
290
|
-
|
291
|
-
this.createMousedownListener(this.setEnd)(e);
|
292
|
-
this.focusHandle(0);
|
293
|
-
}
|
294
|
-
|
295
|
-
createSetValue(index?: number) {
|
296
|
-
return (numberOrModifier: number | ((value: number) => number)) => {
|
293
|
+
createSetValue(index: number) {
|
294
|
+
return (numberOrModifier: number | ((value: number) => number)): void => {
|
297
295
|
const number = typeof numberOrModifier === "number"
|
298
296
|
? this.normalizeValue(numberOrModifier)
|
299
297
|
: numberOrModifier(this.rangeValue[index]);
|
@@ -303,17 +301,14 @@ class Range extends SuperInput {
|
|
303
301
|
newValue[index] = number;
|
304
302
|
}
|
305
303
|
this.value = newValue;
|
304
|
+
this.dispatchEvent(new CustomEvent("range", { detail: this.value }));
|
306
305
|
};
|
307
306
|
}
|
308
307
|
|
309
|
-
setEnd(value: number) {
|
310
|
-
this.createSetValue((this.value as any)?.length - 1 || 0)(value);
|
311
|
-
}
|
312
|
-
|
313
308
|
/**
|
314
309
|
* Compute value from event.
|
315
310
|
*/
|
316
|
-
protected _computeValue(e: MouseEvent) {
|
311
|
+
protected _computeValue(e: MouseEvent): number {
|
317
312
|
const rect = this._root.getBoundingClientRect();
|
318
313
|
const div = this.vertical ? (e.clientY - rect.top) / rect.height : (e.clientX - rect.left) / rect.width;
|
319
314
|
const value = Math.round((div * (this.max - this.min)) / this.step) * this.step;
|
@@ -323,13 +318,13 @@ class Range extends SuperInput {
|
|
323
318
|
/**
|
324
319
|
* Ensure that the values do not exceed the range of max and min.
|
325
320
|
*/
|
326
|
-
protected normalizeValue(value: number) {
|
321
|
+
protected normalizeValue(value: number): number {
|
327
322
|
if (value > this.max) { value -= this.step; }
|
328
323
|
else if (value < this.min) { value += this.step; }
|
329
324
|
return value;
|
330
325
|
}
|
331
326
|
|
332
|
-
protected _handleMousedownRoot(e: MouseEvent) {
|
327
|
+
protected _handleMousedownRoot(e: MouseEvent): void {
|
333
328
|
const value = this._computeValue(e);
|
334
329
|
const index = this.range
|
335
330
|
? this.rangeValue.reduce((acc, item, index) => {
|
@@ -346,7 +341,7 @@ class Range extends SuperInput {
|
|
346
341
|
}
|
347
342
|
|
348
343
|
protected createMousedownListener(mouseMoveCallback: (arg0: number) => void) {
|
349
|
-
return (e: MouseEvent) => {
|
344
|
+
return (e: MouseEvent): void => {
|
350
345
|
e.preventDefault();
|
351
346
|
e.stopPropagation();
|
352
347
|
const move = this.createMousemoveListener(mouseMoveCallback);
|
@@ -360,7 +355,7 @@ class Range extends SuperInput {
|
|
360
355
|
}
|
361
356
|
|
362
357
|
protected createMousemoveListener(callback: (arg0: number) => void) {
|
363
|
-
return (e: MouseEvent) => {
|
358
|
+
return (e: MouseEvent): void => {
|
364
359
|
const value = this._computeValue(e);
|
365
360
|
if (value > this.max || value < this.min) {
|
366
361
|
return;
|
@@ -369,7 +364,7 @@ class Range extends SuperInput {
|
|
369
364
|
};
|
370
365
|
}
|
371
366
|
|
372
|
-
protected _connectedInit() {
|
367
|
+
protected _connectedInit(): void {
|
373
368
|
const gap = this.max - this.min;
|
374
369
|
this.step ||= gap / 100;
|
375
370
|
if (isNil(this.value)) {
|
@@ -382,28 +377,21 @@ class Range extends SuperInput {
|
|
382
377
|
this.default ??= this.value;
|
383
378
|
}
|
384
379
|
|
385
|
-
reset() {
|
380
|
+
reset(): void {
|
386
381
|
this.value = this.default;
|
387
382
|
}
|
388
383
|
|
389
|
-
|
390
|
-
|
391
|
-
const [a, b] = this.value as [number, number];
|
392
|
-
this.value = [b, a];
|
393
|
-
}
|
394
|
-
}
|
395
|
-
|
396
|
-
sort() {
|
397
|
-
this.value = this.toSorted();
|
384
|
+
sort(): number | number[] {
|
385
|
+
return this.value = this.toSorted();
|
398
386
|
}
|
399
387
|
|
400
|
-
toSorted():
|
388
|
+
toSorted(): number | number[] {
|
401
389
|
if (this.range) {
|
402
|
-
|
403
|
-
return a > b ? [b, a] : [a, b];
|
390
|
+
return [...this.value as number[]].sort((a, b) => a - b);
|
404
391
|
}
|
405
392
|
return this.value;
|
406
393
|
}
|
407
394
|
}
|
408
395
|
|
409
396
|
export default Range;
|
397
|
+
export { Range };
|
package/src/components/rotate.ts
CHANGED
@@ -1,8 +1,5 @@
|
|
1
|
-
import { godown } from "@godown/element
|
2
|
-
import {
|
3
|
-
import { styles } from "@godown/element/decorators/styles.js";
|
4
|
-
import { htmlSlot } from "@godown/element/directives/html-slot.js";
|
5
|
-
import { css, html } from "lit";
|
1
|
+
import { godown, htmlSlot, part, styles } from "@godown/element";
|
2
|
+
import { css, html, type TemplateResult } from "lit";
|
6
3
|
|
7
4
|
import { GlobalStyle, scopePrefix } from "../core/global-style.js";
|
8
5
|
|
@@ -42,28 +39,28 @@ const cssScope = scopePrefix(protoName);
|
|
42
39
|
margin: calc(-1 * var(${cssScope}--offset));
|
43
40
|
}
|
44
41
|
|
45
|
-
[part=
|
42
|
+
[part=slot] {
|
46
43
|
z-index: 2;
|
47
44
|
}
|
48
45
|
`,
|
49
46
|
)
|
50
47
|
class Rotate extends GlobalStyle {
|
51
48
|
@part("root")
|
52
|
-
_root: HTMLElement;
|
49
|
+
protected _root: HTMLElement;
|
53
50
|
|
54
|
-
protected render() {
|
51
|
+
protected render(): TemplateResult<1> {
|
55
52
|
return html`<div part="root">
|
56
53
|
<div part="slot" @mousemove="${this._handleRotate}">${htmlSlot()}</div>
|
57
54
|
<i @mouseleave="${this.reset}"></i>
|
58
55
|
</div>`;
|
59
56
|
}
|
60
57
|
|
61
|
-
reset() {
|
58
|
+
reset(): void {
|
62
59
|
this._root.style.removeProperty("transform");
|
63
60
|
this._root.style.removeProperty("transition");
|
64
61
|
}
|
65
62
|
|
66
|
-
protected _handleRotate(e: MouseEvent) {
|
63
|
+
protected _handleRotate(e: MouseEvent): void {
|
67
64
|
const { rotateX, rotateY } = this._computeOffset(e);
|
68
65
|
this._root.style.setProperty("transform", `rotateX(${rotateX}rad) rotateY(${rotateY}rad)`);
|
69
66
|
this._root.style.setProperty("transition", "0s");
|
@@ -77,7 +74,10 @@ class Rotate extends GlobalStyle {
|
|
77
74
|
* @param e Mouse move event.
|
78
75
|
* @returns rotateX, rotateY
|
79
76
|
*/
|
80
|
-
_computeOffset(e: MouseEvent) {
|
77
|
+
_computeOffset(e: MouseEvent): {
|
78
|
+
rotateX: number;
|
79
|
+
rotateY: number;
|
80
|
+
} {
|
81
81
|
const { left, top, width, height } = this._root.getBoundingClientRect();
|
82
82
|
const { clientX, clientY } = e;
|
83
83
|
const offsetX = clientX - left;
|
@@ -90,3 +90,4 @@ class Rotate extends GlobalStyle {
|
|
90
90
|
}
|
91
91
|
|
92
92
|
export default Rotate;
|
93
|
+
export { Rotate };
|