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/components/rotate.js
CHANGED
@@ -1,57 +1,2 @@
|
|
1
|
-
import {
|
2
|
-
import { godown } from '@godown/element/decorators/godown.js';
|
3
|
-
import { part } from '@godown/element/decorators/part.js';
|
4
|
-
import { styles } from '@godown/element/decorators/styles.js';
|
5
|
-
import { htmlSlot } from '@godown/element/directives/html-slot.js';
|
6
|
-
import { css, html } from 'lit';
|
7
|
-
import { scopePrefix, GlobalStyle } from '../core/global-style.js';
|
8
|
-
|
9
|
-
const protoName = "rotate";
|
10
|
-
const cssScope = scopePrefix(protoName);
|
11
|
-
/**
|
12
|
-
* {@linkcode Rotate} Make child elements rotate.
|
13
|
-
*
|
14
|
-
* @category wrapper
|
15
|
-
*/
|
16
|
-
let Rotate = class Rotate extends GlobalStyle {
|
17
|
-
render() {
|
18
|
-
return html `<div part="root"><div part="slot" @mousemove="${this._handleRotate}">${htmlSlot()}</div><i @mouseleave="${this.reset}"></i></div>`;
|
19
|
-
}
|
20
|
-
reset() {
|
21
|
-
this._root.style.removeProperty("transform");
|
22
|
-
this._root.style.removeProperty("transition");
|
23
|
-
}
|
24
|
-
_handleRotate(e) {
|
25
|
-
const { rotateX, rotateY } = this._computeOffset(e);
|
26
|
-
this._root.style.setProperty("transform", `rotateX(${rotateX}rad) rotateY(${rotateY}rad)`);
|
27
|
-
this._root.style.setProperty("transition", "0s");
|
28
|
-
}
|
29
|
-
/**
|
30
|
-
* Compute offset.
|
31
|
-
* ```
|
32
|
-
* `rotateX(${rotateX}rad) rotateY(${rotateY}rad)`
|
33
|
-
* ```
|
34
|
-
* @param e Mouse move event.
|
35
|
-
* @returns rotateX, rotateY
|
36
|
-
*/
|
37
|
-
_computeOffset(e) {
|
38
|
-
const { left, top, width, height } = this._root.getBoundingClientRect();
|
39
|
-
const { clientX, clientY } = e;
|
40
|
-
const offsetX = clientX - left;
|
41
|
-
const offsetY = clientY - top;
|
42
|
-
const rotateX = -(offsetY - height / 2) / height / 2;
|
43
|
-
const rotateY = (offsetX - width / 2) / width / 2;
|
44
|
-
return { rotateX, rotateY };
|
45
|
-
}
|
46
|
-
};
|
47
|
-
__decorate([
|
48
|
-
part("root")
|
49
|
-
], Rotate.prototype, "_root", void 0);
|
50
|
-
Rotate = __decorate([
|
51
|
-
godown(protoName),
|
52
|
-
styles(css `:host{display:block;width:-moz-fit-content;width:fit-content;transition:all .5s ease-in-out;${cssScope}--padding:.75em;${cssScope}--offset:.5em}div{position:relative;transition:inherit;transition-property:transform}i{width:100%;height:100%;position:absolute;top:0;box-sizing:content-box;padding:var(${cssScope}--offset);margin:calc(-1 * var(${cssScope}--offset))}[part=slot]{z-index:2}`)
|
53
|
-
], Rotate);
|
54
|
-
var Rotate$1 = Rotate;
|
55
|
-
|
56
|
-
export { Rotate$1 as default };
|
1
|
+
import{__decorate as t}from"tslib";import{part as o,godown as e,styles as r,htmlSlot as i}from"@godown/element";import{css as s,html as n}from"lit";import{scopePrefix as a,GlobalStyle as l}from"../core/global-style.js";const d="rotate",p=a(d);let m=class Rotate extends l{render(){return n`<div part="root"><div part="slot" @mousemove="${this._handleRotate}">${i()}</div><i @mouseleave="${this.reset}"></i></div>`}reset(){this._root.style.removeProperty("transform"),this._root.style.removeProperty("transition")}_handleRotate(t){const{rotateX:o,rotateY:e}=this._computeOffset(t);this._root.style.setProperty("transform",`rotateX(${o}rad) rotateY(${e}rad)`),this._root.style.setProperty("transition","0s")}_computeOffset(t){const{left:o,top:e,width:r,height:i}=this._root.getBoundingClientRect(),{clientX:s,clientY:n}=t;return{rotateX:-(n-e-i/2)/i/2,rotateY:(s-o-r/2)/r/2}}};t([o("root")],m.prototype,"_root",void 0),m=t([e(d),r(s`:host{display:block;width:-moz-fit-content;width:fit-content;transition:all .5s ease-in-out;${p}--padding:.75em;${p}--offset:.5em}div{position:relative;transition:inherit;transition-property:transform}i{width:100%;height:100%;position:absolute;top:0;box-sizing:content-box;padding:var(${p}--offset);margin:calc(-1 * var(${p}--offset))}[part=slot]{z-index:2}`)],m);var f=m;export{m as Rotate,f as default};
|
57
2
|
//# sourceMappingURL=rotate.js.map
|
package/components/rotate.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"rotate.js","sources":["../src/components/rotate.ts"],"sourcesContent":null,"names":[
|
1
|
+
{"version":3,"file":"rotate.js","sources":["../src/components/rotate.ts"],"sourcesContent":null,"names":["protoName","cssScope","scopePrefix","Rotate","GlobalStyle","render","html","this","_handleRotate","htmlSlot","reset","_root","style","removeProperty","e","rotateX","rotateY","_computeOffset","setProperty","left","top","width","height","getBoundingClientRect","clientX","clientY","__decorate","part","prototype","godown","styles","css","Rotate$1"],"mappings":"2NAKA,MAAMA,EAAY,SACZC,EAAWC,EAAYF,GAW7B,IAAMG,EAAN,MAAMA,eAAeC,EAIT,MAAAC,GACR,OAAOC,CAAI,iDACsBC,KAAKC,kBAAkBC,4BACpCF,KAAKG,oBAI3B,KAAAA,GACEH,KAAKI,MAAMC,MAAMC,eAAe,aAChCN,KAAKI,MAAMC,MAAMC,eAAe,cAGxB,aAAAL,CAAcM,GACtB,MAAMC,QAAEA,EAAOC,QAAEA,GAAYT,KAAKU,eAAeH,GACjDP,KAAKI,MAAMC,MAAMM,YAAY,YAAa,WAAWH,iBAAuBC,SAC5ET,KAAKI,MAAMC,MAAMM,YAAY,aAAc,MAW7C,cAAAD,CAAeH,GAIb,MAAMK,KAAEA,EAAIC,IAAEA,EAAGC,MAAEA,EAAKC,OAAEA,GAAWf,KAAKI,MAAMY,yBAC1CC,QAAEA,EAAOC,QAAEA,GAAYX,EAM7B,MAAO,CAAEC,UAJOU,EAAUL,EAEEE,EAAS,GAAKA,EAAS,EAEjCN,SALFQ,EAAUL,EAICE,EAAQ,GAAKA,EAAQ,KAtCxCK,EAAA,CADTC,EAAK,SACsBxB,EAAAyB,UAAA,aAAA,GAFxBzB,EAAMuB,EAAA,CAJXG,EAAO7B,GACP8B,EACCC,CAAG,+FAAgG9B,oBAA2BA,6KAAoLA,mCAA0CA,uCAExVE,GA6CN,IAAA6B,EAAe7B"}
|
package/components/router.d.ts
CHANGED
@@ -18,10 +18,12 @@ import { GlobalStyle } from "../core/global-style.js";
|
|
18
18
|
*
|
19
19
|
* If no routes are matched, the default value (no named slot) will be rendered.
|
20
20
|
*
|
21
|
+
* @slot - Display slot when there is no match.
|
22
|
+
* @slot * - Matching slot will be displayed.
|
21
23
|
* @category navigation
|
22
24
|
*/
|
23
|
-
declare class Router
|
24
|
-
static routerInstances: Set<Router
|
25
|
+
declare class Router extends GlobalStyle {
|
26
|
+
static routerInstances: Set<Router>;
|
25
27
|
private __fieldRouteTree;
|
26
28
|
private __slottedRouteTree;
|
27
29
|
private __cacheRecord;
|
@@ -29,7 +31,7 @@ declare class Router<C = unknown> extends GlobalStyle {
|
|
29
31
|
/**
|
30
32
|
* Render result.
|
31
33
|
*/
|
32
|
-
component:
|
34
|
+
component: unknown | TemplateResult;
|
33
35
|
/**
|
34
36
|
* Dynamic parameters record.
|
35
37
|
*/
|
@@ -42,10 +44,6 @@ declare class Router<C = unknown> extends GlobalStyle {
|
|
42
44
|
* Current pathname (equals to location.pathname).
|
43
45
|
*/
|
44
46
|
pathname: string;
|
45
|
-
/**
|
46
|
-
* Path prefix.
|
47
|
-
*/
|
48
|
-
baseURL: string;
|
49
47
|
/**
|
50
48
|
* Rendered content when there is no match.
|
51
49
|
*/
|
@@ -66,45 +64,42 @@ declare class Router<C = unknown> extends GlobalStyle {
|
|
66
64
|
cache: boolean;
|
67
65
|
set routes(value: (Record<string, any> & {
|
68
66
|
path: string;
|
69
|
-
|
67
|
+
render?: (ur: ReturnType<Router["useRouter"]>) => unknown;
|
68
|
+
component?: unknown;
|
70
69
|
})[]);
|
71
70
|
get routes(): (Record<string, any> & {
|
72
71
|
path: string;
|
73
|
-
|
72
|
+
render?: (ur: ReturnType<Router["useRouter"]>) => unknown;
|
73
|
+
component?: unknown;
|
74
74
|
})[];
|
75
75
|
clear(): void;
|
76
|
-
protected render():
|
76
|
+
protected render(): unknown;
|
77
77
|
connectedCallback(): void;
|
78
78
|
disconnectedCallback(): void;
|
79
79
|
useRouter(): {
|
80
80
|
pathname: string;
|
81
81
|
params: Record<string, string>;
|
82
82
|
path: string;
|
83
|
-
component:
|
83
|
+
component: unknown;
|
84
84
|
};
|
85
85
|
/**
|
86
|
-
*
|
87
|
-
* @param first whether this path is loaded for the first time.
|
86
|
+
* Callback function when the route changes.
|
88
87
|
*/
|
89
88
|
routeChangeCallback: (params: {
|
90
89
|
pathname: string;
|
91
90
|
params: Record<string, string>;
|
92
91
|
path: string;
|
93
|
-
component:
|
92
|
+
component: unknown | TemplateResult;
|
94
93
|
}, first: boolean) => void;
|
95
94
|
protected updated(changedProperties: PropertyValueMap<this>): void;
|
96
95
|
/**
|
97
|
-
*
|
98
|
-
* @param query Query string.
|
99
|
-
* @returns Components or null.
|
96
|
+
* Get component from {@linkcode routes} by query.
|
100
97
|
*/
|
101
|
-
fieldComponent(query?: string):
|
98
|
+
fieldComponent(query?: string): unknown;
|
102
99
|
/**
|
103
|
-
*
|
104
|
-
* @param query Query string.
|
105
|
-
* @returns Named slot element template result or null.
|
100
|
+
* Get component from slotted elements by query.
|
106
101
|
*/
|
107
|
-
slottedComponent(
|
102
|
+
slottedComponent(query?: string): TemplateResult<1>;
|
108
103
|
/**
|
109
104
|
* Reset the route tree, clear cache, collect routes from child elements.
|
110
105
|
*/
|
@@ -113,9 +108,10 @@ declare class Router<C = unknown> extends GlobalStyle {
|
|
113
108
|
* Reset the route tree, clear cache, collect routes from value.
|
114
109
|
*/
|
115
110
|
collectFieldRoutes(value: typeof this.routes): void;
|
116
|
-
|
117
|
-
parseParams(routeTemplate: string, path: string): Record<string, string>;
|
111
|
+
parseParams(routeTemplate: string, path?: string): Record<string, string>;
|
118
112
|
static updateAll(): void;
|
113
|
+
handlePopstate: () => void;
|
119
114
|
}
|
120
115
|
export default Router;
|
116
|
+
export { Router };
|
121
117
|
//# sourceMappingURL=router.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/components/router.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/components/router.ts"],"names":[],"mappings":"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"}
|
package/components/router.js
CHANGED
@@ -1,251 +1,2 @@
|
|
1
|
-
import {
|
2
|
-
import { godown } from '@godown/element/decorators/godown.js';
|
3
|
-
import { styles } from '@godown/element/decorators/styles.js';
|
4
|
-
import { htmlSlot } from '@godown/element/directives/html-slot.js';
|
5
|
-
import { RouteTree } from '@godown/element/tools/route-tree.js';
|
6
|
-
import { css } from 'lit';
|
7
|
-
import { state, property } from 'lit/decorators.js';
|
8
|
-
import { GlobalStyle } from '../core/global-style.js';
|
9
|
-
|
10
|
-
var Router_1;
|
11
|
-
const protoName = "router";
|
12
|
-
/**
|
13
|
-
* {@linkcode Router} has basic routing control.
|
14
|
-
*
|
15
|
-
* To switch routes, use `router-link component`.
|
16
|
-
*
|
17
|
-
* It has two methods to collect routes.
|
18
|
-
*
|
19
|
-
* 1. From field `routes`, an array, each elements require "path" and "component".
|
20
|
-
* 2. From child elements, which have the slot attribute for matching routes.
|
21
|
-
*
|
22
|
-
* If only the method 1 is used, set `type` to `"field"`.
|
23
|
-
*
|
24
|
-
* If only the method 2 is used, set `type` to `"slotted"`.
|
25
|
-
*
|
26
|
-
* `type` defaults to `"united"`, which will try method 1, then method 2.
|
27
|
-
*
|
28
|
-
* If no routes are matched, the default value (no named slot) will be rendered.
|
29
|
-
*
|
30
|
-
* @category navigation
|
31
|
-
*/
|
32
|
-
let Router = Router_1 = class Router extends GlobalStyle {
|
33
|
-
constructor() {
|
34
|
-
super(...arguments);
|
35
|
-
this.__fieldRouteTree = new RouteTree();
|
36
|
-
this.__slottedRouteTree = new RouteTree();
|
37
|
-
this.__cacheRecord = new Map();
|
38
|
-
/**
|
39
|
-
* Render result.
|
40
|
-
*/
|
41
|
-
this.component = null;
|
42
|
-
/**
|
43
|
-
* Dynamic parameters record.
|
44
|
-
*/
|
45
|
-
this.params = {};
|
46
|
-
/**
|
47
|
-
* Current pathname (equals to location.pathname).
|
48
|
-
*/
|
49
|
-
this.pathname = "";
|
50
|
-
/**
|
51
|
-
* Path prefix.
|
52
|
-
*/
|
53
|
-
this.baseURL = "";
|
54
|
-
/**
|
55
|
-
* Rendered content when there is no match.
|
56
|
-
*/
|
57
|
-
this.default = htmlSlot();
|
58
|
-
/**
|
59
|
-
* The type of routing sources.
|
60
|
-
*
|
61
|
-
* If field, it won't collect the slot attribute of the child elements.
|
62
|
-
*
|
63
|
-
* This property should not be changed after the rendering is complete.
|
64
|
-
*/
|
65
|
-
this.type = "united";
|
66
|
-
/**
|
67
|
-
* Cache accessed records.
|
68
|
-
*
|
69
|
-
* Emptied at each re-collection.
|
70
|
-
*/
|
71
|
-
this.cache = false;
|
72
|
-
/**
|
73
|
-
* @param params value of useRouter()
|
74
|
-
* @param first whether this path is loaded for the first time.
|
75
|
-
*/
|
76
|
-
this.routeChangeCallback = null;
|
77
|
-
}
|
78
|
-
set routes(value) {
|
79
|
-
this.__routes = value;
|
80
|
-
this.collectFieldRoutes(value);
|
81
|
-
}
|
82
|
-
get routes() {
|
83
|
-
return this.__routes;
|
84
|
-
}
|
85
|
-
clear() {
|
86
|
-
this.__cacheRecord.clear();
|
87
|
-
}
|
88
|
-
render() {
|
89
|
-
this.params = {};
|
90
|
-
if (this.cache) {
|
91
|
-
const cached = this.__cacheRecord.get(this.pathname);
|
92
|
-
if (cached) {
|
93
|
-
Object.assign(this, cached);
|
94
|
-
return this.component;
|
95
|
-
}
|
96
|
-
}
|
97
|
-
switch (this.type) {
|
98
|
-
case "field":
|
99
|
-
this.component = this.fieldComponent();
|
100
|
-
break;
|
101
|
-
case "slotted":
|
102
|
-
this.component = this.slottedComponent();
|
103
|
-
break;
|
104
|
-
default:
|
105
|
-
this.component = this.fieldComponent() ?? this.slottedComponent();
|
106
|
-
}
|
107
|
-
return this.component ?? this.default ?? null;
|
108
|
-
}
|
109
|
-
connectedCallback() {
|
110
|
-
super.connectedCallback();
|
111
|
-
Router_1.routerInstances.add(this);
|
112
|
-
this.pathname ??= location.pathname;
|
113
|
-
if (this.type !== "field") {
|
114
|
-
const mutationObserver = new MutationObserver(this.collectSlottedRoutes);
|
115
|
-
mutationObserver.observe(this, {
|
116
|
-
attributeFilter: ["slot"],
|
117
|
-
attributes: true,
|
118
|
-
subtree: true,
|
119
|
-
});
|
120
|
-
this.collectSlottedRoutes();
|
121
|
-
}
|
122
|
-
}
|
123
|
-
disconnectedCallback() {
|
124
|
-
super.disconnectedCallback();
|
125
|
-
Router_1.routerInstances.delete(this);
|
126
|
-
}
|
127
|
-
useRouter() {
|
128
|
-
return {
|
129
|
-
pathname: this.pathname,
|
130
|
-
params: this.params,
|
131
|
-
path: this.path,
|
132
|
-
component: this.component,
|
133
|
-
};
|
134
|
-
}
|
135
|
-
updated(changedProperties) {
|
136
|
-
const shouldDispatch = changedProperties.has("pathname") || changedProperties.has("path");
|
137
|
-
if (shouldDispatch) {
|
138
|
-
const ur = this.useRouter();
|
139
|
-
const noRecord = !this.__cacheRecord.has(this.pathname);
|
140
|
-
if (noRecord) {
|
141
|
-
this.__cacheRecord.set(this.pathname, ur);
|
142
|
-
}
|
143
|
-
this.routeChangeCallback?.(ur, noRecord);
|
144
|
-
this.dispatchEvent(new CustomEvent("change", { detail: ur }));
|
145
|
-
}
|
146
|
-
}
|
147
|
-
/**
|
148
|
-
* Find components from {@linkcode __fieldRouteTree} matching query.
|
149
|
-
* @param query Query string.
|
150
|
-
* @returns Components or null.
|
151
|
-
*/
|
152
|
-
fieldComponent(query) {
|
153
|
-
query ||= this.useWhich(this.pathname);
|
154
|
-
this.path = query;
|
155
|
-
if (!query) {
|
156
|
-
return null;
|
157
|
-
}
|
158
|
-
this.params = this.parseParams(this.path, this.pathname);
|
159
|
-
const route = this.routes.find((r) => r.path === query);
|
160
|
-
if (!route) {
|
161
|
-
return null;
|
162
|
-
}
|
163
|
-
return route.component;
|
164
|
-
}
|
165
|
-
/**
|
166
|
-
* Find components from {@linkcode __slottedRouteTree} matching query.
|
167
|
-
* @param query Query string.
|
168
|
-
* @returns Named slot element template result or null.
|
169
|
-
*/
|
170
|
-
slottedComponent(usedRouteTemplate) {
|
171
|
-
const slottedPaths = this._slottedNames;
|
172
|
-
usedRouteTemplate ||= this.__slottedRouteTree.useWhich(this.pathname);
|
173
|
-
this.path = usedRouteTemplate;
|
174
|
-
if (!usedRouteTemplate) {
|
175
|
-
return null;
|
176
|
-
}
|
177
|
-
this.path = slottedPaths.find((s) => s === usedRouteTemplate);
|
178
|
-
if (!this.path) {
|
179
|
-
return null;
|
180
|
-
}
|
181
|
-
this.params = this.parseParams(usedRouteTemplate, this.pathname);
|
182
|
-
return htmlSlot(this.path);
|
183
|
-
}
|
184
|
-
/**
|
185
|
-
* Reset the route tree, clear cache, collect routes from child elements.
|
186
|
-
*/
|
187
|
-
collectSlottedRoutes() {
|
188
|
-
this.__slottedRouteTree = new RouteTree();
|
189
|
-
this.clear();
|
190
|
-
this._slottedNames.forEach(slotName => {
|
191
|
-
this.__slottedRouteTree.insert(slotName);
|
192
|
-
});
|
193
|
-
}
|
194
|
-
/**
|
195
|
-
* Reset the route tree, clear cache, collect routes from value.
|
196
|
-
*/
|
197
|
-
collectFieldRoutes(value) {
|
198
|
-
this.__fieldRouteTree = new RouteTree();
|
199
|
-
this.clear();
|
200
|
-
value.forEach(({ path }) => {
|
201
|
-
this.__fieldRouteTree.insert(path);
|
202
|
-
});
|
203
|
-
}
|
204
|
-
useWhich(path) {
|
205
|
-
return this.__fieldRouteTree.useWhich(this.baseURL + path);
|
206
|
-
}
|
207
|
-
parseParams(routeTemplate, path) {
|
208
|
-
return this.__fieldRouteTree.parseParams(path, routeTemplate);
|
209
|
-
}
|
210
|
-
static updateAll() {
|
211
|
-
this.routerInstances.forEach((i) => {
|
212
|
-
i.pathname = window.location.pathname;
|
213
|
-
});
|
214
|
-
}
|
215
|
-
};
|
216
|
-
Router.routerInstances = new Set();
|
217
|
-
__decorate([
|
218
|
-
state()
|
219
|
-
], Router.prototype, "component", void 0);
|
220
|
-
__decorate([
|
221
|
-
state()
|
222
|
-
], Router.prototype, "params", void 0);
|
223
|
-
__decorate([
|
224
|
-
state()
|
225
|
-
], Router.prototype, "path", void 0);
|
226
|
-
__decorate([
|
227
|
-
property()
|
228
|
-
], Router.prototype, "pathname", void 0);
|
229
|
-
__decorate([
|
230
|
-
property()
|
231
|
-
], Router.prototype, "baseURL", void 0);
|
232
|
-
__decorate([
|
233
|
-
state()
|
234
|
-
], Router.prototype, "default", void 0);
|
235
|
-
__decorate([
|
236
|
-
property()
|
237
|
-
], Router.prototype, "type", void 0);
|
238
|
-
__decorate([
|
239
|
-
property({ type: Boolean })
|
240
|
-
], Router.prototype, "cache", void 0);
|
241
|
-
__decorate([
|
242
|
-
state()
|
243
|
-
], Router.prototype, "routes", null);
|
244
|
-
Router = Router_1 = __decorate([
|
245
|
-
godown(protoName),
|
246
|
-
styles(css `:host{display:contents}`)
|
247
|
-
], Router);
|
248
|
-
var Router$1 = Router;
|
249
|
-
|
250
|
-
export { Router$1 as default };
|
1
|
+
import{__decorate as t}from"tslib";import{godown as e,styles as s,RouteTree as o,htmlSlot as a}from"@godown/element";import{css as h}from"lit";import{state as i,property as n}from"lit/decorators.js";import{GlobalStyle as r}from"../core/global-style.js";var p;let l=p=class Router extends r{constructor(){super(...arguments),this.__fieldRouteTree=new o,this.__slottedRouteTree=new o,this.__cacheRecord=new Map,this.component=null,this.params={},this.default=a(),this.type="united",this.cache=!1,this.routeChangeCallback=null,this.handlePopstate=this.events.add(window,"popstate",(()=>{this.pathname=location.pathname}))}set routes(t){this.__routes=t,this.collectFieldRoutes(t)}get routes(){return this.__routes}clear(){this.__cacheRecord.clear()}render(){if(this.params={},this.cache){const t=this.__cacheRecord.get(this.pathname);if(t)return Object.assign(this,t),this.component}switch(this.type){case"field":this.component=this.fieldComponent();break;case"slotted":this.component=this.slottedComponent();break;default:this.component=this.fieldComponent()??this.slottedComponent()}return this.component??this.default??null}connectedCallback(){if(super.connectedCallback(),p.routerInstances.add(this),this.pathname??=location.pathname,"field"!==this.type){new MutationObserver(this.collectSlottedRoutes).observe(this,{attributeFilter:["slot"],attributes:!0,subtree:!0}),this.collectSlottedRoutes()}}disconnectedCallback(){super.disconnectedCallback(),p.routerInstances.delete(this)}useRouter(){return{pathname:this.pathname,params:this.params,path:this.path,component:this.component}}updated(t){if(t.has("pathname")||t.has("path")){const t=this.useRouter(),e=!this.__cacheRecord.has(this.pathname);e&&this.__cacheRecord.set(this.pathname,t),this.routeChangeCallback?.(t,e),this.dispatchEvent(new CustomEvent("change",{detail:t}))}}fieldComponent(t){if(t||=this.__fieldRouteTree.search(this.pathname)?.pattern,this.path=t,!t)return null;this.params=this.parseParams(this.path,this.pathname);const e=this.routes.find((e=>e.path===t));return e?"render"in e?e.render?.(this.useRouter())||null:e.component:null}slottedComponent(t){const e=this._slottedNames;return t||=this.__slottedRouteTree.search(this.pathname)?.pattern,this.path=t,t?(this.path=e.find((e=>e===t)),this.path?(this.params=this.parseParams(t,this.pathname),a(this.path)):null):null}collectSlottedRoutes(){this.__slottedRouteTree=new o,this.clear(),this._slottedNames.forEach((t=>{this.__slottedRouteTree.insert(t)}))}collectFieldRoutes(t){this.__fieldRouteTree=new o,this.clear(),t.forEach((({path:t})=>{this.__fieldRouteTree.insert(t)}))}parseParams(t,e=this.pathname){return o.parseParams(e,t)}static updateAll(){this.routerInstances.forEach((t=>{t.handlePopstate()}))}};l.routerInstances=new Set,t([i()],l.prototype,"component",void 0),t([i()],l.prototype,"params",void 0),t([i()],l.prototype,"path",void 0),t([n()],l.prototype,"pathname",void 0),t([i()],l.prototype,"default",void 0),t([n()],l.prototype,"type",void 0),t([n({type:Boolean})],l.prototype,"cache",void 0),t([i()],l.prototype,"routes",null),l=p=t([e("router"),s(h`:host{display:contents}`)],l);var c=l;export{l as Router,c as default};
|
251
2
|
//# sourceMappingURL=router.js.map
|
package/components/router.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"router.js","sources":["../src/components/router.ts"],"sourcesContent":null,"names":[
|
1
|
+
{"version":3,"file":"router.js","sources":["../src/components/router.ts"],"sourcesContent":null,"names":["Router","Router_1","GlobalStyle","constructor","this","__fieldRouteTree","RouteTree","__slottedRouteTree","__cacheRecord","Map","component","params","default","htmlSlot","type","cache","routeChangeCallback","handlePopstate","events","add","window","pathname","location","routes","value","__routes","collectFieldRoutes","clear","render","cached","get","Object","assign","fieldComponent","slottedComponent","connectedCallback","super","routerInstances","MutationObserver","collectSlottedRoutes","observe","attributeFilter","attributes","subtree","disconnectedCallback","delete","useRouter","path","updated","changedProperties","has","ur","noRecord","set","dispatchEvent","CustomEvent","detail","query","search","pattern","parseParams","route","find","r","slottedPaths","_slottedNames","s","forEach","slotName","insert","routeTemplate","updateAll","i","Set","__decorate","state","prototype","property","Boolean","godown","styles","css","Router$1"],"mappings":"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"}
|
package/components/select.d.ts
CHANGED
@@ -1,4 +1,5 @@
|
|
1
|
-
import { HandlerEvent } from "@godown/element";
|
1
|
+
import { type HandlerEvent } from "@godown/element";
|
2
|
+
import { type TemplateResult } from "lit";
|
2
3
|
import Input from "./input.js";
|
3
4
|
/**
|
4
5
|
* {@linkcode Select} is similar to `<select>`.
|
@@ -11,17 +12,19 @@ import Input from "./input.js";
|
|
11
12
|
*
|
12
13
|
* Input will filter the element.
|
13
14
|
*
|
15
|
+
* @fires input - Fires when the input value changes.
|
16
|
+
* @fires change - Fires when the input value changes.
|
17
|
+
* @fires select - Fires when select an option.
|
14
18
|
* @slot - Options.
|
15
19
|
* @category input
|
16
20
|
*/
|
17
21
|
declare class Select extends Input {
|
18
|
-
_cache: WeakMap<HTMLElement, boolean>;
|
19
22
|
value: string | string[];
|
20
23
|
/**
|
21
24
|
* Selected texts.
|
22
25
|
*/
|
23
26
|
text: string;
|
24
|
-
_content: HTMLElement;
|
27
|
+
protected _content: HTMLElement;
|
25
28
|
direction: "top" | "bottom" | undefined;
|
26
29
|
multiple: boolean;
|
27
30
|
visible: boolean;
|
@@ -30,7 +33,7 @@ declare class Select extends Input {
|
|
30
33
|
protected defaultText: string;
|
31
34
|
protected defaultChecked: HTMLElement[];
|
32
35
|
private _store;
|
33
|
-
protected render():
|
36
|
+
protected render(): TemplateResult<1>;
|
34
37
|
protected _handleFocus(): void;
|
35
38
|
protected firstUpdated(): void;
|
36
39
|
protected _connectedInit(): void;
|
@@ -44,4 +47,5 @@ declare class Select extends Input {
|
|
44
47
|
optionValue(option: HTMLElement): string;
|
45
48
|
}
|
46
49
|
export default Select;
|
50
|
+
export { Select };
|
47
51
|
//# sourceMappingURL=select.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../src/components/select.ts"],"names":[],"mappings":"AAAA,OAAO,
|
1
|
+
{"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../src/components/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,YAAY,EAA0B,MAAM,iBAAiB,CAAC;AAE1F,OAAO,EAAsB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAG9D,OAAO,KAAK,MAAM,YAAY,CAAC;AAyB/B;;;;;;;;;;;;;;;;GAgBG;AACH,cAIM,MAAO,SAAQ,KAAK;IAExB,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAEzB;;OAEG;IAEH,IAAI,EAAE,MAAM,CAAC;IAGb,SAAS,CAAC,QAAQ,EAAE,WAAW,CAAC;IAGhC,SAAS,EAAE,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;IAGxC,QAAQ,UAAS;IAGjB,OAAO,UAAS;IAGhB,SAAS,CAAC,aAAa,EAAE,KAAK,GAAG,QAAQ,CAAY;IAErD,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC;IACnC,SAAS,CAAC,WAAW,EAAE,MAAM,CAAC;IAC9B,SAAS,CAAC,cAAc,EAAE,WAAW,EAAE,CAAC;IACxC,OAAO,CAAC,MAAM,CAA0C;IAExD,SAAS,CAAC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC;IAcrC,SAAS,CAAC,YAAY,IAAI,IAAI;IAY9B,SAAS,CAAC,YAAY,IAAI,IAAI;IA0B9B,SAAS,CAAC,cAAc,IAAI,IAAI;IAsBhC,KAAK,IAAI,IAAI;IAOb,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC;IA4B3C,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAc5B,cAAc,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAIzE,SAAS,CAAC,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,gBAAgB,CAAC,GAAG,IAAI;IAW/D,KAAK,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,IAAI;IAKnC,IAAI,IAAI,IAAI;IAMZ,WAAW,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM;CAGzC;AAED,eAAe,MAAM,CAAC;AACtB,OAAO,EAAE,MAAM,EAAE,CAAC"}
|