@jbpark/ui-kit 5.1.0 → 5.3.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/dist/Button.d.mts +1 -19
- package/dist/Button.d.mts.map +1 -1
- package/dist/Button.mjs +2 -4
- package/dist/Button.mjs.map +1 -1
- package/dist/Card.d.mts +1 -10
- package/dist/Card.d.mts.map +1 -1
- package/dist/Card.mjs +1 -2
- package/dist/Card.mjs.map +1 -1
- package/dist/Layout.d.mts +5 -6
- package/dist/Layout.d.mts.map +1 -1
- package/dist/Layout.mjs +1 -2
- package/dist/Layout.mjs.map +1 -1
- package/dist/Menu.d.mts +1 -1
- package/dist/Menu.mjs +1 -2
- package/dist/Reveals.d.mts +2 -3
- package/dist/Reveals.d.mts.map +1 -1
- package/dist/Reveals.mjs +1 -2
- package/dist/Reveals.mjs.map +1 -1
- package/dist/Space.d.mts +1 -17
- package/dist/Space.d.mts.map +1 -1
- package/dist/Space.mjs +1 -2
- package/dist/Space.mjs.map +1 -1
- package/dist/Tag.d.mts +1 -9
- package/dist/Tag.d.mts.map +1 -1
- package/dist/Tag.mjs +1 -2
- package/dist/Tag.mjs.map +1 -1
- package/dist/Typography.d.mts +5 -6
- package/dist/Typography.d.mts.map +1 -1
- package/dist/Typography.mjs +1 -2
- package/dist/Typography.mjs.map +1 -1
- package/dist/_virtual/_rolldown/runtime.mjs +6 -11
- package/dist/components/atoms/checkbox/checkbox.d.mts +2 -17
- package/dist/components/atoms/checkbox/checkbox.d.mts.map +1 -1
- package/dist/components/atoms/checkbox/checkbox.mjs +13 -12
- package/dist/components/atoms/checkbox/checkbox.mjs.map +1 -1
- package/dist/components/atoms/checkbox/group.d.mts +2 -16
- package/dist/components/atoms/checkbox/group.d.mts.map +1 -1
- package/dist/components/atoms/checkbox/group.mjs +4 -5
- package/dist/components/atoms/checkbox/group.mjs.map +1 -1
- package/dist/components/atoms/checkbox/index.d.mts +3 -4
- package/dist/components/atoms/checkbox/index.d.mts.map +1 -1
- package/dist/components/atoms/checkbox/index.mjs +1 -2
- package/dist/components/atoms/checkbox/index.mjs.map +1 -1
- package/dist/components/atoms/color-picker.d.mts +2 -15
- package/dist/components/atoms/color-picker.d.mts.map +1 -1
- package/dist/components/atoms/color-picker.mjs +2 -4
- package/dist/components/atoms/color-picker.mjs.map +1 -1
- package/dist/components/atoms/date-picker.d.mts +2 -11
- package/dist/components/atoms/date-picker.d.mts.map +1 -1
- package/dist/components/atoms/date-picker.mjs +2 -4
- package/dist/components/atoms/date-picker.mjs.map +1 -1
- package/dist/components/atoms/float-button/back-top.d.mts +2 -10
- package/dist/components/atoms/float-button/back-top.d.mts.map +1 -1
- package/dist/components/atoms/float-button/back-top.mjs +4 -5
- package/dist/components/atoms/float-button/back-top.mjs.map +1 -1
- package/dist/components/atoms/float-button/float-button.d.mts +2 -8
- package/dist/components/atoms/float-button/float-button.d.mts.map +1 -1
- package/dist/components/atoms/float-button/float-button.mjs +1 -2
- package/dist/components/atoms/float-button/float-button.mjs.map +1 -1
- package/dist/components/atoms/float-button/index.d.mts +3 -4
- package/dist/components/atoms/float-button/index.d.mts.map +1 -1
- package/dist/components/atoms/float-button/index.mjs +1 -2
- package/dist/components/atoms/float-button/index.mjs.map +1 -1
- package/dist/components/atoms/index.d.mts +13 -12
- package/dist/components/atoms/input/index.d.mts +4 -5
- package/dist/components/atoms/input/index.d.mts.map +1 -1
- package/dist/components/atoms/input/index.mjs +2 -3
- package/dist/components/atoms/input/index.mjs.map +1 -1
- package/dist/components/atoms/input/input.d.mts +2 -7
- package/dist/components/atoms/input/input.d.mts.map +1 -1
- package/dist/components/atoms/input/input.mjs +1 -2
- package/dist/components/atoms/input/input.mjs.map +1 -1
- package/dist/components/atoms/input/search.d.mts +2 -15
- package/dist/components/atoms/input/search.d.mts.map +1 -1
- package/dist/components/atoms/input/search.mjs +2 -4
- package/dist/components/atoms/input/search.mjs.map +1 -1
- package/dist/components/atoms/input/text-area.d.mts +2 -8
- package/dist/components/atoms/input/text-area.d.mts.map +1 -1
- package/dist/components/atoms/input/text-area.mjs +1 -2
- package/dist/components/atoms/input/text-area.mjs.map +1 -1
- package/dist/components/atoms/option-group.d.mts +1 -1
- package/dist/components/atoms/option-group.d.mts.map +1 -1
- package/dist/components/atoms/option-group.mjs +1 -1
- package/dist/components/atoms/option-group.mjs.map +1 -1
- package/dist/components/atoms/popover.d.mts +2 -14
- package/dist/components/atoms/popover.d.mts.map +1 -1
- package/dist/components/atoms/popover.mjs +1 -2
- package/dist/components/atoms/popover.mjs.map +1 -1
- package/dist/components/atoms/progress.d.mts +2 -10
- package/dist/components/atoms/progress.d.mts.map +1 -1
- package/dist/components/atoms/progress.mjs +1 -2
- package/dist/components/atoms/progress.mjs.map +1 -1
- package/dist/components/atoms/radio/context.mjs +2 -4
- package/dist/components/atoms/radio/context.mjs.map +1 -1
- package/dist/components/atoms/radio/group.d.mts +2 -19
- package/dist/components/atoms/radio/group.d.mts.map +1 -1
- package/dist/components/atoms/radio/group.mjs +2 -4
- package/dist/components/atoms/radio/group.mjs.map +1 -1
- package/dist/components/atoms/radio/index.d.mts +3 -4
- package/dist/components/atoms/radio/index.d.mts.map +1 -1
- package/dist/components/atoms/radio/index.mjs +1 -2
- package/dist/components/atoms/radio/index.mjs.map +1 -1
- package/dist/components/atoms/radio/radio.d.mts +2 -18
- package/dist/components/atoms/radio/radio.d.mts.map +1 -1
- package/dist/components/atoms/radio/radio.mjs +13 -12
- package/dist/components/atoms/radio/radio.mjs.map +1 -1
- package/dist/components/atoms/select.d.mts +2 -10
- package/dist/components/atoms/select.d.mts.map +1 -1
- package/dist/components/atoms/select.mjs +2 -3
- package/dist/components/atoms/select.mjs.map +1 -1
- package/dist/components/atoms/skeleton/button.d.mts +2 -7
- package/dist/components/atoms/skeleton/button.d.mts.map +1 -1
- package/dist/components/atoms/skeleton/button.mjs +1 -2
- package/dist/components/atoms/skeleton/button.mjs.map +1 -1
- package/dist/components/atoms/skeleton/index.d.mts +4 -5
- package/dist/components/atoms/skeleton/index.d.mts.map +1 -1
- package/dist/components/atoms/skeleton/index.mjs +2 -3
- package/dist/components/atoms/skeleton/index.mjs.map +1 -1
- package/dist/components/atoms/skeleton/node.d.mts +2 -7
- package/dist/components/atoms/skeleton/node.d.mts.map +1 -1
- package/dist/components/atoms/skeleton/node.mjs +1 -2
- package/dist/components/atoms/skeleton/node.mjs.map +1 -1
- package/dist/components/atoms/skeleton/skeleton.d.mts +2 -20
- package/dist/components/atoms/skeleton/skeleton.d.mts.map +1 -1
- package/dist/components/atoms/skeleton/skeleton.mjs +2 -4
- package/dist/components/atoms/skeleton/skeleton.mjs.map +1 -1
- package/dist/components/atoms/spin.d.mts +2 -10
- package/dist/components/atoms/spin.d.mts.map +1 -1
- package/dist/components/atoms/spin.mjs +2 -4
- package/dist/components/atoms/spin.mjs.map +1 -1
- package/dist/components/atoms/switch.d.mts +2 -14
- package/dist/components/atoms/switch.d.mts.map +1 -1
- package/dist/components/atoms/switch.mjs +2 -4
- package/dist/components/atoms/switch.mjs.map +1 -1
- package/dist/components/atoms/typography/link.d.mts +2 -10
- package/dist/components/atoms/typography/link.d.mts.map +1 -1
- package/dist/components/atoms/typography/link.mjs +1 -2
- package/dist/components/atoms/typography/link.mjs.map +1 -1
- package/dist/components/atoms/typography/paragraph.d.mts +2 -8
- package/dist/components/atoms/typography/paragraph.d.mts.map +1 -1
- package/dist/components/atoms/typography/paragraph.mjs +1 -2
- package/dist/components/atoms/typography/paragraph.mjs.map +1 -1
- package/dist/components/atoms/typography/text.d.mts +2 -10
- package/dist/components/atoms/typography/text.d.mts.map +1 -1
- package/dist/components/atoms/typography/text.mjs +1 -2
- package/dist/components/atoms/typography/text.mjs.map +1 -1
- package/dist/components/atoms/typography/title.d.mts +2 -9
- package/dist/components/atoms/typography/title.d.mts.map +1 -1
- package/dist/components/atoms/typography/title.mjs +1 -2
- package/dist/components/atoms/typography/title.mjs.map +1 -1
- package/dist/components/atoms/typography/typography.d.mts +2 -7
- package/dist/components/atoms/typography/typography.d.mts.map +1 -1
- package/dist/components/atoms/typography/typography.mjs +1 -2
- package/dist/components/atoms/typography/typography.mjs.map +1 -1
- package/dist/components/molecules/collapse.d.mts +2 -14
- package/dist/components/molecules/collapse.d.mts.map +1 -1
- package/dist/components/molecules/collapse.mjs +4 -6
- package/dist/components/molecules/collapse.mjs.map +1 -1
- package/dist/components/molecules/dropdown.d.mts +2 -15
- package/dist/components/molecules/dropdown.d.mts.map +1 -1
- package/dist/components/molecules/dropdown.mjs +15 -15
- package/dist/components/molecules/dropdown.mjs.map +1 -1
- package/dist/components/molecules/index.d.mts +7 -7
- package/dist/components/molecules/marquees/index.d.mts +3 -4
- package/dist/components/molecules/marquees/index.d.mts.map +1 -1
- package/dist/components/molecules/marquees/index.mjs +2 -3
- package/dist/components/molecules/marquees/index.mjs.map +1 -1
- package/dist/components/molecules/marquees/item.d.mts +2 -11
- package/dist/components/molecules/marquees/item.d.mts.map +1 -1
- package/dist/components/molecules/marquees/item.mjs +12 -10
- package/dist/components/molecules/marquees/item.mjs.map +1 -1
- package/dist/components/molecules/marquees/marquees.d.mts +2 -11
- package/dist/components/molecules/marquees/marquees.d.mts.map +1 -1
- package/dist/components/molecules/marquees/marquees.mjs +5 -5
- package/dist/components/molecules/marquees/marquees.mjs.map +1 -1
- package/dist/components/molecules/menu/item/item.mjs +2 -4
- package/dist/components/molecules/menu/item/item.mjs.map +1 -1
- package/dist/components/molecules/menu/item/label.mjs +1 -2
- package/dist/components/molecules/menu/item/label.mjs.map +1 -1
- package/dist/components/molecules/menu/menu.d.mts +2 -17
- package/dist/components/molecules/menu/menu.d.mts.map +1 -1
- package/dist/components/molecules/menu/menu.mjs +2 -4
- package/dist/components/molecules/menu/menu.mjs.map +1 -1
- package/dist/components/molecules/reveals/item.d.mts +2 -15
- package/dist/components/molecules/reveals/item.d.mts.map +1 -1
- package/dist/components/molecules/reveals/item.mjs +2 -4
- package/dist/components/molecules/reveals/item.mjs.map +1 -1
- package/dist/components/molecules/reveals/reveals.d.mts +2 -18
- package/dist/components/molecules/reveals/reveals.d.mts.map +1 -1
- package/dist/components/molecules/reveals/reveals.mjs +2 -3
- package/dist/components/molecules/reveals/reveals.mjs.map +1 -1
- package/dist/components/molecules/splitter/index.d.mts +3 -4
- package/dist/components/molecules/splitter/index.d.mts.map +1 -1
- package/dist/components/molecules/splitter/index.mjs +1 -2
- package/dist/components/molecules/splitter/index.mjs.map +1 -1
- package/dist/components/molecules/splitter/panel.d.mts +2 -8
- package/dist/components/molecules/splitter/panel.d.mts.map +1 -1
- package/dist/components/molecules/splitter/panel.mjs +1 -2
- package/dist/components/molecules/splitter/panel.mjs.map +1 -1
- package/dist/components/molecules/splitter/splitter.d.mts +2 -14
- package/dist/components/molecules/splitter/splitter.d.mts.map +1 -1
- package/dist/components/molecules/splitter/splitter.mjs +2 -4
- package/dist/components/molecules/splitter/splitter.mjs.map +1 -1
- package/dist/components/molecules/upload.d.mts +2 -15
- package/dist/components/molecules/upload.d.mts.map +1 -1
- package/dist/components/molecules/upload.mjs +2 -4
- package/dist/components/molecules/upload.mjs.map +1 -1
- package/dist/components/organisms/drawer.d.mts +2 -25
- package/dist/components/organisms/drawer.d.mts.map +1 -1
- package/dist/components/organisms/drawer.mjs +2 -4
- package/dist/components/organisms/drawer.mjs.map +1 -1
- package/dist/components/organisms/imperative-stack.mjs +2 -4
- package/dist/components/organisms/imperative-stack.mjs.map +1 -1
- package/dist/components/organisms/index.d.mts +6 -5
- package/dist/components/organisms/list/index.d.mts +3 -4
- package/dist/components/organisms/list/index.d.mts.map +1 -1
- package/dist/components/organisms/list/index.mjs +1 -2
- package/dist/components/organisms/list/index.mjs.map +1 -1
- package/dist/components/organisms/list/item.d.mts +2 -8
- package/dist/components/organisms/list/item.d.mts.map +1 -1
- package/dist/components/organisms/list/item.mjs +1 -2
- package/dist/components/organisms/list/item.mjs.map +1 -1
- package/dist/components/organisms/list/list.d.mts +3 -20
- package/dist/components/organisms/list/list.d.mts.map +1 -1
- package/dist/components/organisms/list/list.mjs +3 -5
- package/dist/components/organisms/list/list.mjs.map +1 -1
- package/dist/components/organisms/modal.d.mts +2 -22
- package/dist/components/organisms/modal.d.mts.map +1 -1
- package/dist/components/organisms/modal.mjs +3 -5
- package/dist/components/organisms/modal.mjs.map +1 -1
- package/dist/components/organisms/swiper/index.d.mts +3 -4
- package/dist/components/organisms/swiper/index.d.mts.map +1 -1
- package/dist/components/organisms/swiper/index.mjs +2 -3
- package/dist/components/organisms/swiper/index.mjs.map +1 -1
- package/dist/components/organisms/swiper/slide.d.mts +2 -8
- package/dist/components/organisms/swiper/slide.d.mts.map +1 -1
- package/dist/components/organisms/swiper/slide.mjs +2 -4
- package/dist/components/organisms/swiper/slide.mjs.map +1 -1
- package/dist/components/organisms/swiper/swiper.d.mts +2 -15
- package/dist/components/organisms/swiper/swiper.d.mts.map +1 -1
- package/dist/components/organisms/swiper/swiper.mjs +2 -4
- package/dist/components/organisms/swiper/swiper.mjs.map +1 -1
- package/dist/components/organisms/toast.d.mts +2 -13
- package/dist/components/organisms/toast.d.mts.map +1 -1
- package/dist/components/organisms/toast.mjs +2 -4
- package/dist/components/organisms/toast.mjs.map +1 -1
- package/dist/components/templates/container.d.mts +2 -10
- package/dist/components/templates/container.d.mts.map +1 -1
- package/dist/components/templates/container.mjs +1 -2
- package/dist/components/templates/container.mjs.map +1 -1
- package/dist/components/templates/empty.d.mts +2 -11
- package/dist/components/templates/empty.d.mts.map +1 -1
- package/dist/components/templates/empty.mjs +1 -2
- package/dist/components/templates/empty.mjs.map +1 -1
- package/dist/components/templates/grid/col.d.mts +2 -17
- package/dist/components/templates/grid/col.d.mts.map +1 -1
- package/dist/components/templates/grid/col.mjs +2 -4
- package/dist/components/templates/grid/col.mjs.map +1 -1
- package/dist/components/templates/grid/row-context.mjs +1 -2
- package/dist/components/templates/grid/row-context.mjs.map +1 -1
- package/dist/components/templates/grid/row.d.mts +2 -13
- package/dist/components/templates/grid/row.d.mts.map +1 -1
- package/dist/components/templates/grid/row.mjs +2 -4
- package/dist/components/templates/grid/row.mjs.map +1 -1
- package/dist/components/templates/layout/content.d.mts +2 -9
- package/dist/components/templates/layout/content.d.mts.map +1 -1
- package/dist/components/templates/layout/content.mjs +1 -2
- package/dist/components/templates/layout/content.mjs.map +1 -1
- package/dist/components/templates/layout/footer.d.mts +2 -8
- package/dist/components/templates/layout/footer.d.mts.map +1 -1
- package/dist/components/templates/layout/footer.mjs +1 -2
- package/dist/components/templates/layout/footer.mjs.map +1 -1
- package/dist/components/templates/layout/header.d.mts +2 -9
- package/dist/components/templates/layout/header.d.mts.map +1 -1
- package/dist/components/templates/layout/header.mjs +1 -2
- package/dist/components/templates/layout/header.mjs.map +1 -1
- package/dist/components/templates/layout/layout.d.mts +2 -8
- package/dist/components/templates/layout/layout.d.mts.map +1 -1
- package/dist/components/templates/layout/layout.mjs +1 -2
- package/dist/components/templates/layout/layout.mjs.map +1 -1
- package/dist/components/templates/layout/sider-context.mjs +1 -2
- package/dist/components/templates/layout/sider-context.mjs.map +1 -1
- package/dist/components/templates/layout/sider.d.mts +2 -21
- package/dist/components/templates/layout/sider.d.mts.map +1 -1
- package/dist/components/templates/layout/sider.mjs +2 -4
- package/dist/components/templates/layout/sider.mjs.map +1 -1
- package/dist/components/templates/page-header.d.mts +2 -14
- package/dist/components/templates/page-header.d.mts.map +1 -1
- package/dist/components/templates/page-header.mjs +2 -4
- package/dist/components/templates/page-header.mjs.map +1 -1
- package/dist/components/templates/result.d.mts +2 -13
- package/dist/components/templates/result.d.mts.map +1 -1
- package/dist/components/templates/result.mjs +1 -2
- package/dist/components/templates/result.mjs.map +1 -1
- package/dist/core/accordion.d.mts +5 -22
- package/dist/core/accordion.d.mts.map +1 -1
- package/dist/core/accordion.mjs +3 -5
- package/dist/core/accordion.mjs.map +1 -1
- package/dist/core/badge.d.mts +3 -12
- package/dist/core/badge.d.mts.map +1 -1
- package/dist/core/badge.mjs +2 -3
- package/dist/core/badge.mjs.map +1 -1
- package/dist/core/button.d.mts +4 -14
- package/dist/core/button.d.mts.map +1 -1
- package/dist/core/button.mjs +1 -2
- package/dist/core/button.mjs.map +1 -1
- package/dist/core/calendar.d.mts +4 -21
- package/dist/core/calendar.d.mts.map +1 -1
- package/dist/core/calendar.mjs +3 -5
- package/dist/core/calendar.mjs.map +1 -1
- package/dist/core/checkbox.d.mts +2 -8
- package/dist/core/checkbox.d.mts.map +1 -1
- package/dist/core/checkbox.mjs +3 -5
- package/dist/core/checkbox.mjs.map +1 -1
- package/dist/core/dialog.d.mts +12 -48
- package/dist/core/dialog.d.mts.map +1 -1
- package/dist/core/dialog.mjs +3 -5
- package/dist/core/dialog.mjs.map +1 -1
- package/dist/core/drawer.d.mts +11 -46
- package/dist/core/drawer.d.mts.map +1 -1
- package/dist/core/drawer.mjs +3 -5
- package/dist/core/drawer.mjs.map +1 -1
- package/dist/core/field.d.mts +15 -54
- package/dist/core/field.d.mts.map +1 -1
- package/dist/core/field.mjs +3 -5
- package/dist/core/field.mjs.map +1 -1
- package/dist/core/input.d.mts +2 -9
- package/dist/core/input.d.mts.map +1 -1
- package/dist/core/input.mjs +2 -3
- package/dist/core/input.mjs.map +1 -1
- package/dist/core/label.d.mts +1 -7
- package/dist/core/label.d.mts.map +1 -1
- package/dist/core/label.mjs +2 -4
- package/dist/core/label.mjs.map +1 -1
- package/dist/core/popover.d.mts +9 -33
- package/dist/core/popover.d.mts.map +1 -1
- package/dist/core/popover.mjs +3 -5
- package/dist/core/popover.mjs.map +1 -1
- package/dist/core/progress.d.mts +2 -11
- package/dist/core/progress.d.mts.map +1 -1
- package/dist/core/progress.mjs +3 -5
- package/dist/core/progress.mjs.map +1 -1
- package/dist/core/radio-group.d.mts +4 -15
- package/dist/core/radio-group.d.mts.map +1 -1
- package/dist/core/radio-group.mjs +3 -5
- package/dist/core/radio-group.mjs.map +1 -1
- package/dist/core/resizable.d.mts +5 -17
- package/dist/core/resizable.d.mts.map +1 -1
- package/dist/core/resizable.mjs +3 -5
- package/dist/core/resizable.mjs.map +1 -1
- package/dist/core/select.d.mts +13 -50
- package/dist/core/select.d.mts.map +1 -1
- package/dist/core/select.mjs +3 -5
- package/dist/core/select.mjs.map +1 -1
- package/dist/core/separator.d.mts +2 -10
- package/dist/core/separator.d.mts.map +1 -1
- package/dist/core/separator.mjs +2 -4
- package/dist/core/separator.mjs.map +1 -1
- package/dist/core/skeleton.d.mts +2 -8
- package/dist/core/skeleton.d.mts.map +1 -1
- package/dist/core/skeleton.mjs +2 -3
- package/dist/core/skeleton.mjs.map +1 -1
- package/dist/core/switch.d.mts +3 -12
- package/dist/core/switch.d.mts.map +1 -1
- package/dist/core/switch.mjs +3 -5
- package/dist/core/switch.mjs.map +1 -1
- package/dist/core/textarea.d.mts +2 -8
- package/dist/core/textarea.d.mts.map +1 -1
- package/dist/core/textarea.mjs +2 -3
- package/dist/core/textarea.mjs.map +1 -1
- package/dist/core.mjs +1 -2
- package/dist/index.d.mts +31 -33
- package/dist/index.mjs +2 -3
- package/dist/providers/config/config.d.mts +2 -14
- package/dist/providers/config/config.d.mts.map +1 -1
- package/dist/providers/config/config.mjs +5 -6
- package/dist/providers/config/config.mjs.map +1 -1
- package/dist/providers/config/context.d.mts +0 -2
- package/dist/providers/config/context.d.mts.map +1 -1
- package/dist/providers/config/context.mjs +2 -4
- package/dist/providers/config/context.mjs.map +1 -1
- package/dist/providers/config/registry.d.mts +2 -7
- package/dist/providers/config/registry.d.mts.map +1 -1
- package/dist/providers/config/registry.mjs +2 -4
- package/dist/providers/config/registry.mjs.map +1 -1
- package/dist/providers/config/types.d.mts.map +1 -1
- package/dist/providers.d.mts +1 -2
- package/dist/providers.mjs +1 -2
- package/dist/style.css +1051 -1755
- package/dist/utils.d.mts +0 -1
- package/dist/utils.d.mts.map +1 -1
- package/dist/utils.mjs +1 -2
- package/dist/utils.mjs.map +1 -1
- package/package.json +29 -28
- package/dist/components/templates/grid/index.d.mts +0 -2
- package/dist/components/templates/index.d.mts +0 -13
- package/dist/providers/config/index.d.mts +0 -4
- package/dist/style.css.map +0 -1
- package/dist/style.mjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"content.mjs","names":[],"sources":["../../../../src/components/templates/layout/content.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\n\nimport { cn } from '@repo/ui/utils';\n\nimport { SiderRegistryContext } from './sider-context';\n\nexport interface Props extends React.ComponentProps<'main'> {\n asChild?: boolean;\n}\n\nconst Content = ({ children, className, asChild = false, ...props }: Props) => {\n // Only one <main> landmark should exist per page — a Layout nested\n // inside a page that already has its own <main> (or a Content nested\n // inside another Content) needs a way to opt out of rendering a second\n // one. asChild + Slot (same pattern as core/button.tsx and\n // core/badge.tsx) merges these props/classes onto the caller's own\n // element instead.\n const Comp = asChild ? Slot : 'main';\n\n return (\n <Comp\n className={cn(\n 'min-w-0 shrink grow basis-auto',\n // basis-auto (not basis-0) sizes Content from its actual content\n // height first, so flex-grow only adds extra space when content is\n // shorter than the viewport — when content is taller, Content\n // keeps its natural (larger) height instead of clipping to\n // available space and pushes Footer below it. min-h-0 is\n // intentionally omitted here: with basis-auto, the default\n // min-height:auto (content-based) is what makes that possible; on\n // the Sider row's cross axis it's harmless since min-height there\n // governs stretch, not main-axis growth.\n className,\n )}\n {...props}\n >\n {/* Reset the registry to null so a `Sider` used inside `Content`\n (e.g. a detail page's own sub-navigation) doesn't register\n against the ancestor `Layout` and flip its axis to flex-row —\n a genuinely nested `Layout` already gets its own fresh registry,\n this only guards the \"Sider with no intervening Layout\" case. */}\n <SiderRegistryContext.Provider value={null}>\n {children}\n </SiderRegistryContext.Provider>\n </Comp>\n );\n};\n\nexport default Content;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"content.mjs","names":[],"sources":["../../../../src/components/templates/layout/content.tsx"],"sourcesContent":["import { Slot } from '@radix-ui/react-slot';\n\nimport { cn } from '@repo/ui/utils';\n\nimport { SiderRegistryContext } from './sider-context';\n\nexport interface Props extends React.ComponentProps<'main'> {\n asChild?: boolean;\n}\n\nconst Content = ({ children, className, asChild = false, ...props }: Props) => {\n // Only one <main> landmark should exist per page — a Layout nested\n // inside a page that already has its own <main> (or a Content nested\n // inside another Content) needs a way to opt out of rendering a second\n // one. asChild + Slot (same pattern as core/button.tsx and\n // core/badge.tsx) merges these props/classes onto the caller's own\n // element instead.\n const Comp = asChild ? Slot : 'main';\n\n return (\n <Comp\n className={cn(\n 'min-w-0 shrink grow basis-auto',\n // basis-auto (not basis-0) sizes Content from its actual content\n // height first, so flex-grow only adds extra space when content is\n // shorter than the viewport — when content is taller, Content\n // keeps its natural (larger) height instead of clipping to\n // available space and pushes Footer below it. min-h-0 is\n // intentionally omitted here: with basis-auto, the default\n // min-height:auto (content-based) is what makes that possible; on\n // the Sider row's cross axis it's harmless since min-height there\n // governs stretch, not main-axis growth.\n className,\n )}\n {...props}\n >\n {/* Reset the registry to null so a `Sider` used inside `Content`\n (e.g. a detail page's own sub-navigation) doesn't register\n against the ancestor `Layout` and flip its axis to flex-row —\n a genuinely nested `Layout` already gets its own fresh registry,\n this only guards the \"Sider with no intervening Layout\" case. */}\n <SiderRegistryContext.Provider value={null}>\n {children}\n </SiderRegistryContext.Provider>\n </Comp>\n );\n};\n\nexport default Content;\n"],"mappings":";;;;;AAUA,MAAM,WAAW,EAAE,UAAU,WAAW,UAAU,OAAO,GAAG,YAAmB;CAS7E,OACE,oBAHW,UAAU,OAAO,QAG5B;EACE,WAAW,GACT,kCAUA,SACF;EACA,GAAI;EAOJ,UAAA,oBAAC,qBAAqB,UAAtB;GAA+B,OAAO;GACnC;EAC4B,CAAA;CAC3B,CAAA;AAEV"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
1
|
//#region src/components/templates/layout/footer.d.ts
|
|
4
2
|
interface Props extends React.ComponentProps<'footer'> {}
|
|
5
|
-
declare const Footer: ({
|
|
6
|
-
children,
|
|
7
|
-
className,
|
|
8
|
-
...props
|
|
9
|
-
}: Props) => react_jsx_runtime0.JSX.Element;
|
|
3
|
+
declare const Footer: ({ children, className, ...props }: Props) => import("react").JSX.Element;
|
|
10
4
|
//#endregion
|
|
11
|
-
export {
|
|
5
|
+
export { Props, Footer as default };
|
|
12
6
|
//# sourceMappingURL=footer.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.d.mts","names":[],"sources":["../../../../src/components/templates/layout/footer.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"footer.d.mts","names":[],"sources":["../../../../src/components/templates/layout/footer.tsx"],"mappings":";UAEiB,cAAc,MAAM;cAE/B,WAAU,UAAA,cAAA,SAAmC,0BAAK,IAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { cn } from "../../../utils.mjs";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
|
|
4
3
|
//#region src/components/templates/layout/footer.tsx
|
|
5
4
|
const Footer = ({ children, className, ...props }) => {
|
|
6
5
|
return /* @__PURE__ */ jsx("footer", {
|
|
@@ -9,7 +8,7 @@ const Footer = ({ children, className, ...props }) => {
|
|
|
9
8
|
children
|
|
10
9
|
});
|
|
11
10
|
};
|
|
12
|
-
|
|
13
11
|
//#endregion
|
|
14
12
|
export { Footer as default };
|
|
13
|
+
|
|
15
14
|
//# sourceMappingURL=footer.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"footer.mjs","names":[],"sources":["../../../../src/components/templates/layout/footer.tsx"],"sourcesContent":["import { cn } from '@repo/ui/utils';\n\nexport interface Props extends React.ComponentProps<'footer'> {}\n\nconst Footer = ({ children, className, ...props }: Props) => {\n return (\n <footer className={cn('w-full', className)} {...props}>\n {children}\n </footer>\n );\n};\n\nexport default Footer;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"footer.mjs","names":[],"sources":["../../../../src/components/templates/layout/footer.tsx"],"sourcesContent":["import { cn } from '@repo/ui/utils';\n\nexport interface Props extends React.ComponentProps<'footer'> {}\n\nconst Footer = ({ children, className, ...props }: Props) => {\n return (\n <footer className={cn('w-full', className)} {...props}>\n {children}\n </footer>\n );\n};\n\nexport default Footer;\n"],"mappings":";;;AAIA,MAAM,UAAU,EAAE,UAAU,WAAW,GAAG,YAAmB;CAC3D,OACE,oBAAC,UAAD;EAAQ,WAAW,GAAG,UAAU,SAAS;EAAG,GAAI;EAC7C;CACK,CAAA;AAEZ"}
|
|
@@ -1,15 +1,8 @@
|
|
|
1
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
1
|
//#region src/components/templates/layout/header.d.ts
|
|
4
2
|
interface Props extends React.ComponentProps<'header'> {
|
|
5
3
|
position?: 'sticky' | 'static' | 'fixed';
|
|
6
4
|
}
|
|
7
|
-
declare const Header: ({
|
|
8
|
-
children,
|
|
9
|
-
className,
|
|
10
|
-
position,
|
|
11
|
-
...props
|
|
12
|
-
}: Props) => react_jsx_runtime0.JSX.Element;
|
|
5
|
+
declare const Header: ({ children, className, position, ...props }: Props) => import("react").JSX.Element;
|
|
13
6
|
//#endregion
|
|
14
|
-
export {
|
|
7
|
+
export { Props, Header as default };
|
|
15
8
|
//# sourceMappingURL=header.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.d.mts","names":[],"sources":["../../../../src/components/templates/layout/header.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"header.d.mts","names":[],"sources":["../../../../src/components/templates/layout/header.tsx"],"mappings":";UAEiB,cAAc,MAAM;EACnC;;cAGI,WAAU,UAAA,WAAA,aAAA,SAKb,0BAAK,IAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { cn } from "../../../utils.mjs";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
|
-
|
|
4
3
|
//#region src/components/templates/layout/header.tsx
|
|
5
4
|
const Header = ({ children, className, position = "sticky", ...props }) => {
|
|
6
5
|
return /* @__PURE__ */ jsx("header", {
|
|
@@ -9,7 +8,7 @@ const Header = ({ children, className, position = "sticky", ...props }) => {
|
|
|
9
8
|
children
|
|
10
9
|
});
|
|
11
10
|
};
|
|
12
|
-
|
|
13
11
|
//#endregion
|
|
14
12
|
export { Header as default };
|
|
13
|
+
|
|
15
14
|
//# sourceMappingURL=header.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"header.mjs","names":[],"sources":["../../../../src/components/templates/layout/header.tsx"],"sourcesContent":["import { cn } from '@repo/ui/utils';\n\nexport interface Props extends React.ComponentProps<'header'> {\n position?: 'sticky' | 'static' | 'fixed';\n}\n\nconst Header = ({\n children,\n className,\n position = 'sticky',\n ...props\n}: Props) => {\n return (\n <header\n className={cn(\n position === 'sticky' && 'sticky top-0 z-50',\n position === 'fixed' && 'fixed inset-x-0 top-0 z-50',\n 'bg-background',\n 'flex h-16 w-full items-center px-5',\n className,\n //\n )}\n {...props}\n >\n {children}\n </header>\n );\n};\n\nexport default Header;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"header.mjs","names":[],"sources":["../../../../src/components/templates/layout/header.tsx"],"sourcesContent":["import { cn } from '@repo/ui/utils';\n\nexport interface Props extends React.ComponentProps<'header'> {\n position?: 'sticky' | 'static' | 'fixed';\n}\n\nconst Header = ({\n children,\n className,\n position = 'sticky',\n ...props\n}: Props) => {\n return (\n <header\n className={cn(\n position === 'sticky' && 'sticky top-0 z-50',\n position === 'fixed' && 'fixed inset-x-0 top-0 z-50',\n 'bg-background',\n 'flex h-16 w-full items-center px-5',\n className,\n //\n )}\n {...props}\n >\n {children}\n </header>\n );\n};\n\nexport default Header;\n"],"mappings":";;;AAMA,MAAM,UAAU,EACd,UACA,WACA,WAAW,UACX,GAAG,YACQ;CACX,OACE,oBAAC,UAAD;EACE,WAAW,GACT,aAAa,YAAY,qBACzB,aAAa,WAAW,8BACxB,iBACA,sCACA,SAEF;EACA,GAAI;EAEH;CACK,CAAA;AAEZ"}
|
|
@@ -1,12 +1,6 @@
|
|
|
1
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
1
|
//#region src/components/templates/layout/layout.d.ts
|
|
4
2
|
interface Props extends React.ComponentProps<'div'> {}
|
|
5
|
-
declare const Layout: ({
|
|
6
|
-
children,
|
|
7
|
-
className,
|
|
8
|
-
...props
|
|
9
|
-
}: Props) => react_jsx_runtime0.JSX.Element;
|
|
3
|
+
declare const Layout: ({ children, className, ...props }: Props) => import("react").JSX.Element;
|
|
10
4
|
//#endregion
|
|
11
|
-
export {
|
|
5
|
+
export { Props, Layout as default };
|
|
12
6
|
//# sourceMappingURL=layout.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.d.mts","names":[],"sources":["../../../../src/components/templates/layout/layout.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"layout.d.mts","names":[],"sources":["../../../../src/components/templates/layout/layout.tsx"],"mappings":";UAciB,cAAc,MAAM;cAgB/B,WAAU,UAAA,cAAA,SAAmC,0BAAK,IAAA"}
|
|
@@ -3,7 +3,6 @@ import { SiderRegistryContext } from "./sider-context.mjs";
|
|
|
3
3
|
import Sider from "./sider.mjs";
|
|
4
4
|
import { Children, createContext, isValidElement, useContext, useMemo, useState } from "react";
|
|
5
5
|
import { jsx } from "react/jsx-runtime";
|
|
6
|
-
|
|
7
6
|
//#region src/components/templates/layout/layout.tsx
|
|
8
7
|
const LayoutNestedContext = createContext(false);
|
|
9
8
|
const hasDirectSiderChild = (children) => Children.toArray(children).some((child) => isValidElement(child) && child.type === Sider);
|
|
@@ -34,7 +33,7 @@ const Layout = ({ children, className, ...props }) => {
|
|
|
34
33
|
})
|
|
35
34
|
});
|
|
36
35
|
};
|
|
37
|
-
|
|
38
36
|
//#endregion
|
|
39
37
|
export { Layout as default };
|
|
38
|
+
|
|
40
39
|
//# sourceMappingURL=layout.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layout.mjs","names":[],"sources":["../../../../src/components/templates/layout/layout.tsx"],"sourcesContent":["import {\n Children,\n createContext,\n isValidElement,\n useContext,\n useMemo,\n useState,\n} from 'react';\n\nimport { cn } from '@repo/ui/utils';\n\nimport Sider from './sider';\nimport { SiderRegistryContext } from './sider-context';\n\nexport interface Props extends React.ComponentProps<'div'> {}\n\nconst LayoutNestedContext = createContext(false);\n\n// Effects (including the registry-based detection in sider-context.ts)\n// never run during SSR, so registry state alone would render flex-col on\n// the server and every first paint, then flip to flex-row after hydration\n// for even the common, non-wrapped case. This direct-children check seeds\n// the correct initial guess for that common case so it's right immediately;\n// the registry then stays authoritative for Fragment-wrapped/custom-wrapped\n// Siders it can't see, correcting the guess after mount if needed.\nconst hasDirectSiderChild = (children: React.ReactNode) =>\n Children.toArray(children).some(\n child => isValidElement(child) && child.type === Sider,\n );\n\nconst Layout = ({ children, className, ...props }: Props) => {\n const isNested = useContext(LayoutNestedContext);\n const [siderIds] = useState(() => new Set<object>());\n const [siderCount, setSiderCount] = useState(() =>\n hasDirectSiderChild(children) ? 1 : 0,\n );\n\n const registry = useMemo(\n () => ({\n registerSider: (id: object) => {\n siderIds.add(id);\n setSiderCount(siderIds.size);\n },\n unregisterSider: (id: object) => {\n siderIds.delete(id);\n setSiderCount(siderIds.size);\n },\n }),\n [siderIds],\n );\n\n const isRow = siderCount > 0;\n\n return (\n <LayoutNestedContext.Provider value>\n <SiderRegistryContext.Provider value={registry}>\n <div\n className={cn(\n 'flex w-full flex-1',\n // A nested Layout (the Sider row wrapper) must stay free to\n // shrink/grow inside its parent's flex column, so it keeps\n // min-h-0. The outermost Layout has no ancestor to size against,\n // so it needs its own height anchor or flex-1/grow are no-ops\n // and Content collapses under Footer.\n isNested ? 'min-h-0' : 'min-h-screen',\n isRow ? 'flex-row' : 'flex-col',\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </SiderRegistryContext.Provider>\n </LayoutNestedContext.Provider>\n );\n};\n\nexport default Layout;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"layout.mjs","names":[],"sources":["../../../../src/components/templates/layout/layout.tsx"],"sourcesContent":["import {\n Children,\n createContext,\n isValidElement,\n useContext,\n useMemo,\n useState,\n} from 'react';\n\nimport { cn } from '@repo/ui/utils';\n\nimport Sider from './sider';\nimport { SiderRegistryContext } from './sider-context';\n\nexport interface Props extends React.ComponentProps<'div'> {}\n\nconst LayoutNestedContext = createContext(false);\n\n// Effects (including the registry-based detection in sider-context.ts)\n// never run during SSR, so registry state alone would render flex-col on\n// the server and every first paint, then flip to flex-row after hydration\n// for even the common, non-wrapped case. This direct-children check seeds\n// the correct initial guess for that common case so it's right immediately;\n// the registry then stays authoritative for Fragment-wrapped/custom-wrapped\n// Siders it can't see, correcting the guess after mount if needed.\nconst hasDirectSiderChild = (children: React.ReactNode) =>\n Children.toArray(children).some(\n child => isValidElement(child) && child.type === Sider,\n );\n\nconst Layout = ({ children, className, ...props }: Props) => {\n const isNested = useContext(LayoutNestedContext);\n const [siderIds] = useState(() => new Set<object>());\n const [siderCount, setSiderCount] = useState(() =>\n hasDirectSiderChild(children) ? 1 : 0,\n );\n\n const registry = useMemo(\n () => ({\n registerSider: (id: object) => {\n siderIds.add(id);\n setSiderCount(siderIds.size);\n },\n unregisterSider: (id: object) => {\n siderIds.delete(id);\n setSiderCount(siderIds.size);\n },\n }),\n [siderIds],\n );\n\n const isRow = siderCount > 0;\n\n return (\n <LayoutNestedContext.Provider value>\n <SiderRegistryContext.Provider value={registry}>\n <div\n className={cn(\n 'flex w-full flex-1',\n // A nested Layout (the Sider row wrapper) must stay free to\n // shrink/grow inside its parent's flex column, so it keeps\n // min-h-0. The outermost Layout has no ancestor to size against,\n // so it needs its own height anchor or flex-1/grow are no-ops\n // and Content collapses under Footer.\n isNested ? 'min-h-0' : 'min-h-screen',\n isRow ? 'flex-row' : 'flex-col',\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </SiderRegistryContext.Provider>\n </LayoutNestedContext.Provider>\n );\n};\n\nexport default Layout;\n"],"mappings":";;;;;;AAgBA,MAAM,sBAAsB,cAAc,KAAK;AAS/C,MAAM,uBAAuB,aAC3B,SAAS,QAAQ,QAAQ,CAAC,CAAC,MACzB,UAAS,eAAe,KAAK,KAAK,MAAM,SAAS,KACnD;AAEF,MAAM,UAAU,EAAE,UAAU,WAAW,GAAG,YAAmB;CAC3D,MAAM,WAAW,WAAW,mBAAmB;CAC/C,MAAM,CAAC,YAAY,+BAAe,IAAI,IAAY,CAAC;CACnD,MAAM,CAAC,YAAY,iBAAiB,eAClC,oBAAoB,QAAQ,IAAI,IAAI,CACtC;CAEA,MAAM,WAAW,eACR;EACL,gBAAgB,OAAe;GAC7B,SAAS,IAAI,EAAE;GACf,cAAc,SAAS,IAAI;EAC7B;EACA,kBAAkB,OAAe;GAC/B,SAAS,OAAO,EAAE;GAClB,cAAc,SAAS,IAAI;EAC7B;CACF,IACA,CAAC,QAAQ,CACX;CAEA,MAAM,QAAQ,aAAa;CAE3B,OACE,oBAAC,oBAAoB,UAArB;EAA8B,OAAA;EAC5B,UAAA,oBAAC,qBAAqB,UAAtB;GAA+B,OAAO;GACpC,UAAA,oBAAC,OAAD;IACE,WAAW,GACT,sBAMA,WAAW,YAAY,gBACvB,QAAQ,aAAa,YACrB,SACF;IACA,GAAI;IAEH;GACE,CAAA;EACwB,CAAA;CACH,CAAA;AAElC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { createContext, useContext, useLayoutEffect, useRef } from "react";
|
|
2
|
-
|
|
3
2
|
//#region src/components/templates/layout/sider-context.ts
|
|
4
3
|
const SiderRegistryContext = createContext(null);
|
|
5
4
|
const useRegisterSider = () => {
|
|
@@ -14,7 +13,7 @@ const useRegisterSider = () => {
|
|
|
14
13
|
};
|
|
15
14
|
}, [registry]);
|
|
16
15
|
};
|
|
17
|
-
|
|
18
16
|
//#endregion
|
|
19
17
|
export { SiderRegistryContext, useRegisterSider };
|
|
18
|
+
|
|
20
19
|
//# sourceMappingURL=sider-context.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sider-context.mjs","names":[],"sources":["../../../../src/components/templates/layout/sider-context.ts"],"sourcesContent":["import { createContext, useContext, useLayoutEffect, useRef } from 'react';\n\n// `Layout` needs to know whether a `Sider` exists anywhere in its subtree\n// to decide flex-row vs flex-col — but `Children.toArray(children).some(...)`\n// only ever sees direct children, and doesn't flatten Fragments, so a\n// `Sider` wrapped in a Fragment (or a custom wrapper component) went\n// undetected. Registering presence via context instead survives any\n// amount of wrapping, since it's `Sider` itself reporting in, not `Layout`\n// inspecting its children's shape.\nexport interface SiderRegistry {\n registerSider: (id: object) => void;\n unregisterSider: (id: object) => void;\n}\n\nexport const SiderRegistryContext = createContext<SiderRegistry | null>(null);\n\nexport const useRegisterSider = () => {\n const registry = useContext(SiderRegistryContext);\n const idRef = useRef({});\n\n // `useLayoutEffect` (not `useEffect`) so the registration — and the\n // resulting flex-row switch on `Layout` — commits before the browser\n // paints, avoiding a flash of the flex-col fallback layout on mount.\n useLayoutEffect(() => {\n if (!registry) {\n return;\n }\n\n const id = idRef.current;\n registry.registerSider(id);\n\n return () => {\n registry.unregisterSider(id);\n };\n }, [registry]);\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"sider-context.mjs","names":[],"sources":["../../../../src/components/templates/layout/sider-context.ts"],"sourcesContent":["import { createContext, useContext, useLayoutEffect, useRef } from 'react';\n\n// `Layout` needs to know whether a `Sider` exists anywhere in its subtree\n// to decide flex-row vs flex-col — but `Children.toArray(children).some(...)`\n// only ever sees direct children, and doesn't flatten Fragments, so a\n// `Sider` wrapped in a Fragment (or a custom wrapper component) went\n// undetected. Registering presence via context instead survives any\n// amount of wrapping, since it's `Sider` itself reporting in, not `Layout`\n// inspecting its children's shape.\nexport interface SiderRegistry {\n registerSider: (id: object) => void;\n unregisterSider: (id: object) => void;\n}\n\nexport const SiderRegistryContext = createContext<SiderRegistry | null>(null);\n\nexport const useRegisterSider = () => {\n const registry = useContext(SiderRegistryContext);\n const idRef = useRef({});\n\n // `useLayoutEffect` (not `useEffect`) so the registration — and the\n // resulting flex-row switch on `Layout` — commits before the browser\n // paints, avoiding a flash of the flex-col fallback layout on mount.\n useLayoutEffect(() => {\n if (!registry) {\n return;\n }\n\n const id = idRef.current;\n registry.registerSider(id);\n\n return () => {\n registry.unregisterSider(id);\n };\n }, [registry]);\n};\n"],"mappings":";;AAcA,MAAa,uBAAuB,cAAoC,IAAI;AAE5E,MAAa,yBAAyB;CACpC,MAAM,WAAW,WAAW,oBAAoB;CAChD,MAAM,QAAQ,OAAO,CAAC,CAAC;CAKvB,sBAAsB;EACpB,IAAI,CAAC,UACH;EAGF,MAAM,KAAK,MAAM;EACjB,SAAS,cAAc,EAAE;EAEzB,aAAa;GACX,SAAS,gBAAgB,EAAE;EAC7B;CACF,GAAG,CAAC,QAAQ,CAAC;AACf"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
1
|
//#region src/components/templates/layout/sider.d.ts
|
|
4
2
|
type Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
|
|
5
3
|
interface Props extends Omit<React.ComponentProps<'aside'>, 'onCollapse'> {
|
|
@@ -18,24 +16,7 @@ interface Props extends Omit<React.ComponentProps<'aside'>, 'onCollapse'> {
|
|
|
18
16
|
onCollapse?: (collapsed: boolean) => void;
|
|
19
17
|
onBreakpoint?: (broken: boolean) => void;
|
|
20
18
|
}
|
|
21
|
-
declare const Sider: ({
|
|
22
|
-
children,
|
|
23
|
-
className,
|
|
24
|
-
classNames,
|
|
25
|
-
style,
|
|
26
|
-
width,
|
|
27
|
-
collapsedWidth,
|
|
28
|
-
collapsible,
|
|
29
|
-
defaultCollapsed,
|
|
30
|
-
collapsed: _collapsed,
|
|
31
|
-
placement,
|
|
32
|
-
reverseArrow,
|
|
33
|
-
trigger,
|
|
34
|
-
breakpoint,
|
|
35
|
-
onCollapse,
|
|
36
|
-
onBreakpoint,
|
|
37
|
-
...props
|
|
38
|
-
}: Props) => react_jsx_runtime0.JSX.Element;
|
|
19
|
+
declare const Sider: ({ children, className, classNames, style, width, collapsedWidth, collapsible, defaultCollapsed, collapsed: _collapsed, placement, reverseArrow, trigger, breakpoint, onCollapse, onBreakpoint, ...props }: Props) => import("react").JSX.Element;
|
|
39
20
|
//#endregion
|
|
40
|
-
export { Props, Sider };
|
|
21
|
+
export { Props, Sider as default };
|
|
41
22
|
//# sourceMappingURL=sider.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sider.d.mts","names":[],"sources":["../../../../src/components/templates/layout/sider.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"sider.d.mts","names":[],"sources":["../../../../src/components/templates/layout/sider.tsx"],"mappings":";KAYK;UAQY,cAAc,KAC7B,MAAM;EAGN;EACA;EACA;EACA;EACA;EACA;EACA;EACA,UAAU,MAAM;EAChB;IACE;;EAEF,aAAa;EACb,cAAc;EACd,gBAAgB;;cAMZ,UAAS,UAAA,WAAA,YAAA,OAAA,OAAA,gBAAA,aAAA,kBAAA,WAAA,YAAA,WAAA,cAAA,SAAA,YAAA,YAAA,iBAAA,SAiBZ,0BAAK,IAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { cn } from "../../../utils.mjs";
|
|
4
3
|
import { DEFAULT_LOCALE, useConfig } from "../../../providers/config/context.mjs";
|
|
5
4
|
import { useRegisterSider } from "./sider-context.mjs";
|
|
@@ -7,7 +6,6 @@ import { PanelLeftClose, PanelLeftOpen } from "lucide-react";
|
|
|
7
6
|
import { useEffect, useId, useRef } from "react";
|
|
8
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
8
|
import { useControllableState, useResponsiveSize } from "@jbpark/use-hooks";
|
|
10
|
-
|
|
11
9
|
//#region src/components/templates/layout/sider.tsx
|
|
12
10
|
const BREAKPOINT_ORDER = [
|
|
13
11
|
"xs",
|
|
@@ -80,7 +78,7 @@ const Sider = ({ children, className, classNames, style, width = 200, collapsedW
|
|
|
80
78
|
})]
|
|
81
79
|
});
|
|
82
80
|
};
|
|
83
|
-
|
|
84
81
|
//#endregion
|
|
85
82
|
export { Sider as default };
|
|
83
|
+
|
|
86
84
|
//# sourceMappingURL=sider.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sider.mjs","names":[],"sources":["../../../../src/components/templates/layout/sider.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect, useId, useRef } from 'react';\n\nimport { useControllableState, useResponsiveSize } from '@jbpark/use-hooks';\nimport { PanelLeftClose, PanelLeftOpen } from 'lucide-react';\n\nimport { DEFAULT_LOCALE, useConfig } from '@repo/ui/providers';\nimport { cn } from '@repo/ui/utils';\n\nimport { useRegisterSider } from './sider-context';\n\ntype Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n\n// Order matters here, not the values — used to compare the current\n// viewport tier against the configured `breakpoint` ordinally, since\n// `useResponsiveSize` reports which named tier the viewport is currently\n// in rather than a raw pixel width.\nconst BREAKPOINT_ORDER: Breakpoint[] = ['xs', 'sm', 'md', 'lg', 'xl', '2xl'];\n\nexport interface Props extends Omit<\n React.ComponentProps<'aside'>,\n 'onCollapse'\n> {\n width?: number | string;\n collapsedWidth?: number | string;\n collapsible?: boolean;\n defaultCollapsed?: boolean;\n collapsed?: boolean;\n placement?: 'left' | 'right';\n reverseArrow?: boolean;\n trigger?: React.ReactNode;\n classNames?: {\n trigger?: string;\n };\n breakpoint?: Breakpoint;\n onCollapse?: (collapsed: boolean) => void;\n onBreakpoint?: (broken: boolean) => void;\n}\n\nconst toCssSize = (value: number | string) =>\n typeof value === 'number' ? `${value}px` : value;\n\nconst Sider = ({\n children,\n className,\n classNames,\n style,\n width = 200,\n collapsedWidth = 80,\n collapsible = false,\n defaultCollapsed = false,\n collapsed: _collapsed,\n placement = 'left',\n reverseArrow = false,\n trigger,\n breakpoint,\n onCollapse,\n onBreakpoint,\n ...props\n}: Props) => {\n useRegisterSider();\n\n const { locale } = useConfig();\n const contentId = useId();\n const [collapsed, setCollapsed] = useControllableState<boolean>({\n value: _collapsed,\n defaultValue: defaultCollapsed,\n onChange: onCollapse,\n });\n\n const { breakpoint: viewportBreakpoint } = useResponsiveSize({\n viewport: true,\n });\n const broken = breakpoint\n ? BREAKPOINT_ORDER.indexOf(viewportBreakpoint.current) <\n BREAKPOINT_ORDER.indexOf(breakpoint)\n : false;\n\n const latestBrokenRef = useRef(broken);\n const previousBrokenRef = useRef<boolean | null>(null);\n const microtaskScheduledRef = useRef(false);\n const onBreakpointRef = useRef(onBreakpoint);\n\n useEffect(() => {\n onBreakpointRef.current = onBreakpoint;\n });\n\n // `useResponsiveSize`'s own initial measurement resolves through its own\n // layout effect, which (since it's called earlier in this component)\n // commits and — if the real viewport differs from its SSR-safe 'xs'\n // placeholder default — triggers a synchronous corrective re-render, all\n // before the browser paints. Both the placeholder-derived render and the\n // corrected one get their own effect pass (React doesn't coalesce\n // same-tick synchronous re-commits into a single effect flush), so\n // reacting to `broken` directly — in a layout or passive effect either\n // way — fires once with the wrong placeholder value, then again with the\n // corrected one.\n //\n // Coalescing through a microtask sidesteps that: every effect pass just\n // records its `broken` into a ref and schedules (at most once) a\n // microtask that reads whatever ended up latest once the synchronous\n // cascade has fully settled, and acts on that single, correct value.\n //\n // The `previousBrokenRef` guard is the separate fix for #227 point 3:\n // without it, an inline `onCollapse`/`onBreakpoint` (a fresh identity\n // every render) would change `setCollapsed`'s own identity and re-run\n // this effect on every unrelated parent re-render, reapplying `broken`\n // and undoing a user's manual toggle. Only a genuine change should act.\n useEffect(() => {\n if (!breakpoint) {\n return;\n }\n\n latestBrokenRef.current = broken;\n\n if (microtaskScheduledRef.current) {\n return;\n }\n microtaskScheduledRef.current = true;\n\n queueMicrotask(() => {\n microtaskScheduledRef.current = false;\n\n const settledBroken = latestBrokenRef.current;\n\n if (previousBrokenRef.current === settledBroken) {\n return;\n }\n\n previousBrokenRef.current = settledBroken;\n setCollapsed(settledBroken);\n onBreakpointRef.current?.(settledBroken);\n });\n }, [broken, breakpoint, setCollapsed]);\n\n const onTriggerClick = () => {\n setCollapsed(!collapsed);\n };\n\n // A right-placed Sider's collapse icon should default to pointing the\n // opposite way from a left-placed one (it's opening/closing a panel on\n // the other side of the content), so `placement` flips the effective\n // direction on top of whatever `reverseArrow` already requests —\n // `reverseArrow` still layers on as a manual override either way.\n const effectiveReverseArrow = reverseArrow !== (placement === 'right');\n const TriggerIcon =\n collapsed !== effectiveReverseArrow ? PanelLeftOpen : PanelLeftClose;\n\n return (\n <aside\n className={cn(\n // Below Header's z-50 (and every other floating/overlay primitive\n // in this library, which all use z-50) — Sider is a static layout\n // column, not floating chrome, and previously outranked Header\n // with an arbitrary z-100, covering it once Header stuck to the\n // viewport top on scroll.\n 'z-10 flex h-full shrink-0 flex-col overflow-hidden',\n 'transition-[width] duration-200',\n // Lets a Sider visually sit on the right without needing to\n // reorder JSX/children — useful since Sider's presence is\n // detected via context (sider-context.ts) rather than requiring\n // it to be a specific direct child in a specific position.\n placement === 'right' && 'order-last',\n className,\n //\n )}\n style={{\n width: toCssSize(collapsed ? collapsedWidth : width),\n ...style,\n }}\n {...props}\n >\n <div id={contentId} className=\"min-h-0 flex-1 overflow-auto\">\n {children}\n </div>\n {collapsible && trigger !== null && (\n <button\n type=\"button\"\n aria-label={\n collapsed\n ? (locale.expand ?? DEFAULT_LOCALE.expand)\n : (locale.collapse ?? DEFAULT_LOCALE.collapse)\n }\n aria-expanded={!collapsed}\n aria-controls={contentId}\n onClick={onTriggerClick}\n className={cn(\n 'flex w-full shrink-0 items-center justify-center py-2',\n 'cursor-pointer transition-colors hover:bg-black/5',\n classNames?.trigger,\n //\n )}\n >\n {trigger === undefined ? <TriggerIcon className=\"size-4\" /> : trigger}\n </button>\n )}\n </aside>\n );\n};\n\nexport default Sider;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"sider.mjs","names":[],"sources":["../../../../src/components/templates/layout/sider.tsx"],"sourcesContent":["'use client';\n\nimport { useEffect, useId, useRef } from 'react';\n\nimport { useControllableState, useResponsiveSize } from '@jbpark/use-hooks';\nimport { PanelLeftClose, PanelLeftOpen } from 'lucide-react';\n\nimport { DEFAULT_LOCALE, useConfig } from '@repo/ui/providers';\nimport { cn } from '@repo/ui/utils';\n\nimport { useRegisterSider } from './sider-context';\n\ntype Breakpoint = 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';\n\n// Order matters here, not the values — used to compare the current\n// viewport tier against the configured `breakpoint` ordinally, since\n// `useResponsiveSize` reports which named tier the viewport is currently\n// in rather than a raw pixel width.\nconst BREAKPOINT_ORDER: Breakpoint[] = ['xs', 'sm', 'md', 'lg', 'xl', '2xl'];\n\nexport interface Props extends Omit<\n React.ComponentProps<'aside'>,\n 'onCollapse'\n> {\n width?: number | string;\n collapsedWidth?: number | string;\n collapsible?: boolean;\n defaultCollapsed?: boolean;\n collapsed?: boolean;\n placement?: 'left' | 'right';\n reverseArrow?: boolean;\n trigger?: React.ReactNode;\n classNames?: {\n trigger?: string;\n };\n breakpoint?: Breakpoint;\n onCollapse?: (collapsed: boolean) => void;\n onBreakpoint?: (broken: boolean) => void;\n}\n\nconst toCssSize = (value: number | string) =>\n typeof value === 'number' ? `${value}px` : value;\n\nconst Sider = ({\n children,\n className,\n classNames,\n style,\n width = 200,\n collapsedWidth = 80,\n collapsible = false,\n defaultCollapsed = false,\n collapsed: _collapsed,\n placement = 'left',\n reverseArrow = false,\n trigger,\n breakpoint,\n onCollapse,\n onBreakpoint,\n ...props\n}: Props) => {\n useRegisterSider();\n\n const { locale } = useConfig();\n const contentId = useId();\n const [collapsed, setCollapsed] = useControllableState<boolean>({\n value: _collapsed,\n defaultValue: defaultCollapsed,\n onChange: onCollapse,\n });\n\n const { breakpoint: viewportBreakpoint } = useResponsiveSize({\n viewport: true,\n });\n const broken = breakpoint\n ? BREAKPOINT_ORDER.indexOf(viewportBreakpoint.current) <\n BREAKPOINT_ORDER.indexOf(breakpoint)\n : false;\n\n const latestBrokenRef = useRef(broken);\n const previousBrokenRef = useRef<boolean | null>(null);\n const microtaskScheduledRef = useRef(false);\n const onBreakpointRef = useRef(onBreakpoint);\n\n useEffect(() => {\n onBreakpointRef.current = onBreakpoint;\n });\n\n // `useResponsiveSize`'s own initial measurement resolves through its own\n // layout effect, which (since it's called earlier in this component)\n // commits and — if the real viewport differs from its SSR-safe 'xs'\n // placeholder default — triggers a synchronous corrective re-render, all\n // before the browser paints. Both the placeholder-derived render and the\n // corrected one get their own effect pass (React doesn't coalesce\n // same-tick synchronous re-commits into a single effect flush), so\n // reacting to `broken` directly — in a layout or passive effect either\n // way — fires once with the wrong placeholder value, then again with the\n // corrected one.\n //\n // Coalescing through a microtask sidesteps that: every effect pass just\n // records its `broken` into a ref and schedules (at most once) a\n // microtask that reads whatever ended up latest once the synchronous\n // cascade has fully settled, and acts on that single, correct value.\n //\n // The `previousBrokenRef` guard is the separate fix for #227 point 3:\n // without it, an inline `onCollapse`/`onBreakpoint` (a fresh identity\n // every render) would change `setCollapsed`'s own identity and re-run\n // this effect on every unrelated parent re-render, reapplying `broken`\n // and undoing a user's manual toggle. Only a genuine change should act.\n useEffect(() => {\n if (!breakpoint) {\n return;\n }\n\n latestBrokenRef.current = broken;\n\n if (microtaskScheduledRef.current) {\n return;\n }\n microtaskScheduledRef.current = true;\n\n queueMicrotask(() => {\n microtaskScheduledRef.current = false;\n\n const settledBroken = latestBrokenRef.current;\n\n if (previousBrokenRef.current === settledBroken) {\n return;\n }\n\n previousBrokenRef.current = settledBroken;\n setCollapsed(settledBroken);\n onBreakpointRef.current?.(settledBroken);\n });\n }, [broken, breakpoint, setCollapsed]);\n\n const onTriggerClick = () => {\n setCollapsed(!collapsed);\n };\n\n // A right-placed Sider's collapse icon should default to pointing the\n // opposite way from a left-placed one (it's opening/closing a panel on\n // the other side of the content), so `placement` flips the effective\n // direction on top of whatever `reverseArrow` already requests —\n // `reverseArrow` still layers on as a manual override either way.\n const effectiveReverseArrow = reverseArrow !== (placement === 'right');\n const TriggerIcon =\n collapsed !== effectiveReverseArrow ? PanelLeftOpen : PanelLeftClose;\n\n return (\n <aside\n className={cn(\n // Below Header's z-50 (and every other floating/overlay primitive\n // in this library, which all use z-50) — Sider is a static layout\n // column, not floating chrome, and previously outranked Header\n // with an arbitrary z-100, covering it once Header stuck to the\n // viewport top on scroll.\n 'z-10 flex h-full shrink-0 flex-col overflow-hidden',\n 'transition-[width] duration-200',\n // Lets a Sider visually sit on the right without needing to\n // reorder JSX/children — useful since Sider's presence is\n // detected via context (sider-context.ts) rather than requiring\n // it to be a specific direct child in a specific position.\n placement === 'right' && 'order-last',\n className,\n //\n )}\n style={{\n width: toCssSize(collapsed ? collapsedWidth : width),\n ...style,\n }}\n {...props}\n >\n <div id={contentId} className=\"min-h-0 flex-1 overflow-auto\">\n {children}\n </div>\n {collapsible && trigger !== null && (\n <button\n type=\"button\"\n aria-label={\n collapsed\n ? (locale.expand ?? DEFAULT_LOCALE.expand)\n : (locale.collapse ?? DEFAULT_LOCALE.collapse)\n }\n aria-expanded={!collapsed}\n aria-controls={contentId}\n onClick={onTriggerClick}\n className={cn(\n 'flex w-full shrink-0 items-center justify-center py-2',\n 'cursor-pointer transition-colors hover:bg-black/5',\n classNames?.trigger,\n //\n )}\n >\n {trigger === undefined ? <TriggerIcon className=\"size-4\" /> : trigger}\n </button>\n )}\n </aside>\n );\n};\n\nexport default Sider;\n"],"mappings":";;;;;;;;;AAkBA,MAAM,mBAAiC;CAAC;CAAM;CAAM;CAAM;CAAM;CAAM;AAAK;AAsB3E,MAAM,aAAa,UACjB,OAAO,UAAU,WAAW,GAAG,MAAM,MAAM;AAE7C,MAAM,SAAS,EACb,UACA,WACA,YACA,OACA,QAAQ,KACR,iBAAiB,IACjB,cAAc,OACd,mBAAmB,OACnB,WAAW,YACX,YAAY,QACZ,eAAe,OACf,SACA,YACA,YACA,cACA,GAAG,YACQ;CACX,iBAAiB;CAEjB,MAAM,EAAE,WAAW,UAAU;CAC7B,MAAM,YAAY,MAAM;CACxB,MAAM,CAAC,WAAW,gBAAgB,qBAA8B;EAC9D,OAAO;EACP,cAAc;EACd,UAAU;CACZ,CAAC;CAED,MAAM,EAAE,YAAY,uBAAuB,kBAAkB,EAC3D,UAAU,KACZ,CAAC;CACD,MAAM,SAAS,aACX,iBAAiB,QAAQ,mBAAmB,OAAO,IACnD,iBAAiB,QAAQ,UAAU,IACnC;CAEJ,MAAM,kBAAkB,OAAO,MAAM;CACrC,MAAM,oBAAoB,OAAuB,IAAI;CACrD,MAAM,wBAAwB,OAAO,KAAK;CAC1C,MAAM,kBAAkB,OAAO,YAAY;CAE3C,gBAAgB;EACd,gBAAgB,UAAU;CAC5B,CAAC;CAuBD,gBAAgB;EACd,IAAI,CAAC,YACH;EAGF,gBAAgB,UAAU;EAE1B,IAAI,sBAAsB,SACxB;EAEF,sBAAsB,UAAU;EAEhC,qBAAqB;GACnB,sBAAsB,UAAU;GAEhC,MAAM,gBAAgB,gBAAgB;GAEtC,IAAI,kBAAkB,YAAY,eAChC;GAGF,kBAAkB,UAAU;GAC5B,aAAa,aAAa;GAC1B,gBAAgB,UAAU,aAAa;EACzC,CAAC;CACH,GAAG;EAAC;EAAQ;EAAY;CAAY,CAAC;CAErC,MAAM,uBAAuB;EAC3B,aAAa,CAAC,SAAS;CACzB;CAQA,MAAM,cACJ,eAF4B,kBAAkB,cAAc,YAEtB,gBAAgB;CAExD,OACE,qBAAC,SAAD;EACE,WAAW,GAMT,sDACA,mCAKA,cAAc,WAAW,cACzB,SAEF;EACA,OAAO;GACL,OAAO,UAAU,YAAY,iBAAiB,KAAK;GACnD,GAAG;EACL;EACA,GAAI;EArBN,UAAA,CAuBE,oBAAC,OAAD;GAAK,IAAI;GAAW,WAAU;GAC3B;EACE,CAAA,GACJ,eAAe,YAAY,QAC1B,oBAAC,UAAD;GACE,MAAK;GACL,cACE,YACK,OAAO,UAAU,eAAe,SAChC,OAAO,YAAY,eAAe;GAEzC,iBAAe,CAAC;GAChB,iBAAe;GACf,SAAS;GACT,WAAW,GACT,yDACA,qDACA,YAAY,OAEd;GAEC,UAAA,YAAY,KAAA,IAAY,oBAAC,aAAD,EAAa,WAAU,SAAU,CAAA,IAAI;EACxD,CAAA,CAEL;;AAEX"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
1
|
//#region src/components/templates/page-header.d.ts
|
|
4
2
|
interface Props extends Omit<React.ComponentProps<'div'>, 'title'> {
|
|
5
3
|
title?: React.ReactNode;
|
|
@@ -14,17 +12,7 @@ interface Props extends Omit<React.ComponentProps<'div'>, 'title'> {
|
|
|
14
12
|
extra?: string;
|
|
15
13
|
};
|
|
16
14
|
}
|
|
17
|
-
declare const PageHeader: ({
|
|
18
|
-
title,
|
|
19
|
-
subTitle,
|
|
20
|
-
extra,
|
|
21
|
-
backIcon,
|
|
22
|
-
onBack,
|
|
23
|
-
className,
|
|
24
|
-
classNames,
|
|
25
|
-
children,
|
|
26
|
-
...props
|
|
27
|
-
}: Props) => react_jsx_runtime0.JSX.Element;
|
|
15
|
+
declare const PageHeader: ({ title, subTitle, extra, backIcon, onBack, className, classNames, children, ...props }: Props) => import("react").JSX.Element;
|
|
28
16
|
//#endregion
|
|
29
|
-
export {
|
|
17
|
+
export { Props, PageHeader as default };
|
|
30
18
|
//# sourceMappingURL=page-header.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-header.d.mts","names":[],"sources":["../../../src/components/templates/page-header.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"page-header.d.mts","names":[],"sources":["../../../src/components/templates/page-header.tsx"],"mappings":";UASiB,cAAc,KAAK,MAAM;EACxC,QAAQ,MAAM;EACd,WAAW,MAAM;EACjB,QAAQ,MAAM;EACd,WAAW,MAAM;EACjB;EACA;IACE;IACA;IACA;IACA;;;cAOE,eAAc,OAAA,UAAA,OAAA,UAAA,QAAA,WAAA,YAAA,aAAA,SAUjB,0BAAK,IAAA"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { cn, renderConditional } from "../../utils.mjs";
|
|
4
3
|
import { DEFAULT_LOCALE, useConfig } from "../../providers/config/context.mjs";
|
|
5
4
|
import Button from "../../Button.mjs";
|
|
6
5
|
import { ArrowLeft } from "lucide-react";
|
|
7
6
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
-
|
|
9
7
|
//#region src/components/templates/page-header.tsx
|
|
10
8
|
const PageHeader = ({ title, subTitle, extra, backIcon, onBack, className, classNames, children, ...props }) => {
|
|
11
9
|
const { locale } = useConfig();
|
|
@@ -41,7 +39,7 @@ const PageHeader = ({ title, subTitle, extra, backIcon, onBack, className, class
|
|
|
41
39
|
}), children]
|
|
42
40
|
});
|
|
43
41
|
};
|
|
44
|
-
|
|
45
42
|
//#endregion
|
|
46
43
|
export { PageHeader as default };
|
|
44
|
+
|
|
47
45
|
//# sourceMappingURL=page-header.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"page-header.mjs","names":[],"sources":["../../../src/components/templates/page-header.tsx"],"sourcesContent":["'use client';\n\nimport { ArrowLeft } from 'lucide-react';\n\nimport { DEFAULT_LOCALE, useConfig } from '@repo/ui/providers';\nimport { cn, renderConditional } from '@repo/ui/utils';\n\nimport Button from '../atoms/button';\n\nexport interface Props extends Omit<React.ComponentProps<'div'>, 'title'> {\n title?: React.ReactNode;\n subTitle?: React.ReactNode;\n extra?: React.ReactNode;\n backIcon?: React.ReactNode;\n onBack?: () => void;\n classNames?: {\n back?: string;\n title?: string;\n subTitle?: string;\n extra?: string;\n };\n}\n\n// Title + back button + extra action area — same shape as Drawer's header\n// (title/extra/closable), which this borrows the layout from wholesale;\n// PageHeader just swaps Drawer's close button for a back button.\nconst PageHeader = ({\n title,\n subTitle,\n extra,\n backIcon,\n onBack,\n className,\n classNames,\n children,\n ...props\n}: Props) => {\n const { locale } = useConfig();\n\n return (\n <div className={cn('flex flex-col gap-2', className)} {...props}>\n <div className=\"flex items-start gap-2\">\n {onBack && (\n <Button\n type=\"text\"\n shape=\"circle\"\n size=\"small\"\n aria-label={locale.back ?? DEFAULT_LOCALE.back}\n icon={backIcon || <ArrowLeft />}\n onClick={onBack}\n className={cn(classNames?.back)}\n />\n )}\n <div className=\"flex flex-1 items-start justify-between gap-2\">\n <div className=\"flex flex-col gap-0.5\">\n {title && (\n <p className={cn('text-lg font-medium', classNames?.title)}>\n {title}\n </p>\n )}\n {subTitle && (\n <p\n className={cn(\n 'text-muted-foreground text-sm',\n classNames?.subTitle,\n )}\n >\n {subTitle}\n </p>\n )}\n </div>\n {renderConditional(extra, v => (\n <div className={cn('shrink-0', classNames?.extra)}>{v}</div>\n ))}\n </div>\n </div>\n {children}\n </div>\n );\n};\n\nexport default PageHeader;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"page-header.mjs","names":[],"sources":["../../../src/components/templates/page-header.tsx"],"sourcesContent":["'use client';\n\nimport { ArrowLeft } from 'lucide-react';\n\nimport { DEFAULT_LOCALE, useConfig } from '@repo/ui/providers';\nimport { cn, renderConditional } from '@repo/ui/utils';\n\nimport Button from '../atoms/button';\n\nexport interface Props extends Omit<React.ComponentProps<'div'>, 'title'> {\n title?: React.ReactNode;\n subTitle?: React.ReactNode;\n extra?: React.ReactNode;\n backIcon?: React.ReactNode;\n onBack?: () => void;\n classNames?: {\n back?: string;\n title?: string;\n subTitle?: string;\n extra?: string;\n };\n}\n\n// Title + back button + extra action area — same shape as Drawer's header\n// (title/extra/closable), which this borrows the layout from wholesale;\n// PageHeader just swaps Drawer's close button for a back button.\nconst PageHeader = ({\n title,\n subTitle,\n extra,\n backIcon,\n onBack,\n className,\n classNames,\n children,\n ...props\n}: Props) => {\n const { locale } = useConfig();\n\n return (\n <div className={cn('flex flex-col gap-2', className)} {...props}>\n <div className=\"flex items-start gap-2\">\n {onBack && (\n <Button\n type=\"text\"\n shape=\"circle\"\n size=\"small\"\n aria-label={locale.back ?? DEFAULT_LOCALE.back}\n icon={backIcon || <ArrowLeft />}\n onClick={onBack}\n className={cn(classNames?.back)}\n />\n )}\n <div className=\"flex flex-1 items-start justify-between gap-2\">\n <div className=\"flex flex-col gap-0.5\">\n {title && (\n <p className={cn('text-lg font-medium', classNames?.title)}>\n {title}\n </p>\n )}\n {subTitle && (\n <p\n className={cn(\n 'text-muted-foreground text-sm',\n classNames?.subTitle,\n )}\n >\n {subTitle}\n </p>\n )}\n </div>\n {renderConditional(extra, v => (\n <div className={cn('shrink-0', classNames?.extra)}>{v}</div>\n ))}\n </div>\n </div>\n {children}\n </div>\n );\n};\n\nexport default PageHeader;\n"],"mappings":";;;;;;;AA0BA,MAAM,cAAc,EAClB,OACA,UACA,OACA,UACA,QACA,WACA,YACA,UACA,GAAG,YACQ;CACX,MAAM,EAAE,WAAW,UAAU;CAE7B,OACE,qBAAC,OAAD;EAAK,WAAW,GAAG,uBAAuB,SAAS;EAAG,GAAI;EAA1D,UAAA,CACE,qBAAC,OAAD;GAAK,WAAU;GAAf,UAAA,CACG,UACC,oBAAC,QAAD;IACE,MAAK;IACL,OAAM;IACN,MAAK;IACL,cAAY,OAAO,QAAQ,eAAe;IAC1C,MAAM,YAAY,oBAAC,WAAD,CAAY,CAAA;IAC9B,SAAS;IACT,WAAW,GAAG,YAAY,IAAI;GAC/B,CAAA,GAEH,qBAAC,OAAD;IAAK,WAAU;IAAf,UAAA,CACE,qBAAC,OAAD;KAAK,WAAU;KAAf,UAAA,CACG,SACC,oBAAC,KAAD;MAAG,WAAW,GAAG,uBAAuB,YAAY,KAAK;MACtD,UAAA;KACA,CAAA,GAEJ,YACC,oBAAC,KAAD;MACE,WAAW,GACT,iCACA,YAAY,QACd;MAEC,UAAA;KACA,CAAA,CAEF;IACJ,CAAA,GAAA,kBAAkB,QAAO,MACxB,oBAAC,OAAD;KAAK,WAAW,GAAG,YAAY,YAAY,KAAK;KAAI,UAAA;IAAO,CAAA,CAC5D,CACE;GACF,CAAA,CAAA;EACJ,CAAA,GAAA,QACE;;AAET"}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
2
|
-
|
|
3
1
|
//#region src/components/templates/result.d.ts
|
|
4
2
|
type Status = 'success' | 'error' | 'info' | 'warning' | '404' | '403' | '500';
|
|
5
3
|
interface Props extends Omit<React.ComponentProps<'div'>, 'title'> {
|
|
@@ -9,16 +7,7 @@ interface Props extends Omit<React.ComponentProps<'div'>, 'title'> {
|
|
|
9
7
|
subTitle?: React.ReactNode;
|
|
10
8
|
extra?: React.ReactNode;
|
|
11
9
|
}
|
|
12
|
-
declare const Result: ({
|
|
13
|
-
status,
|
|
14
|
-
icon,
|
|
15
|
-
title,
|
|
16
|
-
subTitle,
|
|
17
|
-
extra,
|
|
18
|
-
className,
|
|
19
|
-
children,
|
|
20
|
-
...props
|
|
21
|
-
}: Props) => react_jsx_runtime0.JSX.Element;
|
|
10
|
+
declare const Result: ({ status, icon, title, subTitle, extra, className, children, ...props }: Props) => import("react").JSX.Element;
|
|
22
11
|
//#endregion
|
|
23
|
-
export { Props, Result };
|
|
12
|
+
export { Props, Result as default };
|
|
24
13
|
//# sourceMappingURL=result.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.d.mts","names":[],"sources":["../../../src/components/templates/result.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"result.d.mts","names":[],"sources":["../../../src/components/templates/result.tsx"],"mappings":";KAYK;UAeY,cAAc,KAAK,MAAM;EACxC,SAAS;EACT,OAAO,MAAM;EACb,QAAQ,MAAM;EACd,WAAW,MAAM;EACjB,QAAQ,MAAM;;cAMV,WAAU,QAAA,MAAA,OAAA,UAAA,OAAA,WAAA,aAAA,SASb,0BAAK,IAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { cn } from "../../utils.mjs";
|
|
2
2
|
import { Check, FileQuestion, Info, OctagonAlert, OctagonX, ServerCrash, ShieldAlert } from "lucide-react";
|
|
3
3
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
-
|
|
5
4
|
//#region src/components/templates/result.tsx
|
|
6
5
|
const STATUS_ICONS = {
|
|
7
6
|
success: /* @__PURE__ */ jsx(Check, { className: "text-green-400" }),
|
|
@@ -40,7 +39,7 @@ const Result = ({ status = "info", icon, title, subTitle, extra, className, chil
|
|
|
40
39
|
]
|
|
41
40
|
});
|
|
42
41
|
};
|
|
43
|
-
|
|
44
42
|
//#endregion
|
|
45
43
|
export { Result as default };
|
|
44
|
+
|
|
46
45
|
//# sourceMappingURL=result.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"result.mjs","names":[],"sources":["../../../src/components/templates/result.tsx"],"sourcesContent":["import {\n Check,\n FileQuestion,\n Info,\n OctagonAlert,\n OctagonX,\n ServerCrash,\n ShieldAlert,\n} from 'lucide-react';\n\nimport { cn } from '@repo/ui/utils';\n\ntype Status = 'success' | 'error' | 'info' | 'warning' | '404' | '403' | '500';\n\n// Reuses Modal's exact STATIC_ICONS set (Check/OctagonX/Info/OctagonAlert,\n// same colors) for the 4 statuses they share, so a Result page matches the\n// tone of a Modal.success()/error()/etc a user may have just seen.\nconst STATUS_ICONS: Record<Status, React.ReactNode> = {\n success: <Check className=\"text-green-400\" />,\n error: <OctagonX className=\"text-red-400\" />,\n info: <Info className=\"text-blue-400\" />,\n warning: <OctagonAlert className=\"text-yellow-400\" />,\n '404': <FileQuestion className=\"text-muted-foreground\" />,\n '403': <ShieldAlert className=\"text-muted-foreground\" />,\n '500': <ServerCrash className=\"text-muted-foreground\" />,\n};\n\nexport interface Props extends Omit<React.ComponentProps<'div'>, 'title'> {\n status?: Status;\n icon?: React.ReactNode;\n title?: React.ReactNode;\n subTitle?: React.ReactNode;\n extra?: React.ReactNode;\n}\n\n// Full-page success/failure/404/403 state screen — Empty's larger,\n// more prominent sibling (Empty says \"nothing here yet\" inline within a\n// list/table; Result says \"here's what happened\" for an entire page/view).\nconst Result = ({\n status = 'info',\n icon,\n title,\n subTitle,\n extra,\n className,\n children,\n ...props\n}: Props) => {\n return (\n <div\n className={cn(\n 'flex flex-col items-center justify-center gap-2 py-16 text-center',\n className,\n //\n )}\n {...props}\n >\n <div className=\"mb-2 [&_svg]:size-16\">{icon ?? STATUS_ICONS[status]}</div>\n {title && <p className=\"text-xl font-medium\">{title}</p>}\n {subTitle && <p className=\"text-muted-foreground text-sm\">{subTitle}</p>}\n {extra && (\n <div className=\"mt-4 flex items-center justify-center gap-2\">\n {extra}\n </div>\n )}\n {children && <div className=\"mt-4 w-full\">{children}</div>}\n </div>\n );\n};\n\nexport default Result;\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"result.mjs","names":[],"sources":["../../../src/components/templates/result.tsx"],"sourcesContent":["import {\n Check,\n FileQuestion,\n Info,\n OctagonAlert,\n OctagonX,\n ServerCrash,\n ShieldAlert,\n} from 'lucide-react';\n\nimport { cn } from '@repo/ui/utils';\n\ntype Status = 'success' | 'error' | 'info' | 'warning' | '404' | '403' | '500';\n\n// Reuses Modal's exact STATIC_ICONS set (Check/OctagonX/Info/OctagonAlert,\n// same colors) for the 4 statuses they share, so a Result page matches the\n// tone of a Modal.success()/error()/etc a user may have just seen.\nconst STATUS_ICONS: Record<Status, React.ReactNode> = {\n success: <Check className=\"text-green-400\" />,\n error: <OctagonX className=\"text-red-400\" />,\n info: <Info className=\"text-blue-400\" />,\n warning: <OctagonAlert className=\"text-yellow-400\" />,\n '404': <FileQuestion className=\"text-muted-foreground\" />,\n '403': <ShieldAlert className=\"text-muted-foreground\" />,\n '500': <ServerCrash className=\"text-muted-foreground\" />,\n};\n\nexport interface Props extends Omit<React.ComponentProps<'div'>, 'title'> {\n status?: Status;\n icon?: React.ReactNode;\n title?: React.ReactNode;\n subTitle?: React.ReactNode;\n extra?: React.ReactNode;\n}\n\n// Full-page success/failure/404/403 state screen — Empty's larger,\n// more prominent sibling (Empty says \"nothing here yet\" inline within a\n// list/table; Result says \"here's what happened\" for an entire page/view).\nconst Result = ({\n status = 'info',\n icon,\n title,\n subTitle,\n extra,\n className,\n children,\n ...props\n}: Props) => {\n return (\n <div\n className={cn(\n 'flex flex-col items-center justify-center gap-2 py-16 text-center',\n className,\n //\n )}\n {...props}\n >\n <div className=\"mb-2 [&_svg]:size-16\">{icon ?? STATUS_ICONS[status]}</div>\n {title && <p className=\"text-xl font-medium\">{title}</p>}\n {subTitle && <p className=\"text-muted-foreground text-sm\">{subTitle}</p>}\n {extra && (\n <div className=\"mt-4 flex items-center justify-center gap-2\">\n {extra}\n </div>\n )}\n {children && <div className=\"mt-4 w-full\">{children}</div>}\n </div>\n );\n};\n\nexport default Result;\n"],"mappings":";;;;AAiBA,MAAM,eAAgD;CACpD,SAAS,oBAAC,OAAD,EAAO,WAAU,iBAAkB,CAAA;CAC5C,OAAO,oBAAC,UAAD,EAAU,WAAU,eAAgB,CAAA;CAC3C,MAAM,oBAAC,MAAD,EAAM,WAAU,gBAAiB,CAAA;CACvC,SAAS,oBAAC,cAAD,EAAc,WAAU,kBAAmB,CAAA;CACpD,OAAO,oBAAC,cAAD,EAAc,WAAU,wBAAyB,CAAA;CACxD,OAAO,oBAAC,aAAD,EAAa,WAAU,wBAAyB,CAAA;CACvD,OAAO,oBAAC,aAAD,EAAa,WAAU,wBAAyB,CAAA;AACzD;AAaA,MAAM,UAAU,EACd,SAAS,QACT,MACA,OACA,UACA,OACA,WACA,UACA,GAAG,YACQ;CACX,OACE,qBAAC,OAAD;EACE,WAAW,GACT,qEACA,SAEF;EACA,GAAI;EANN,UAAA;GAQE,oBAAC,OAAD;IAAK,WAAU;IAAwB,UAAA,QAAQ,aAAa;GAAa,CAAA;GACxE,SAAS,oBAAC,KAAD;IAAG,WAAU;IAAuB,UAAA;GAAS,CAAA;GACtD,YAAY,oBAAC,KAAD;IAAG,WAAU;IAAiC,UAAA;GAAY,CAAA;GACtE,SACC,oBAAC,OAAD;IAAK,WAAU;IACZ,UAAA;GACE,CAAA;GAEN,YAAY,oBAAC,OAAD;IAAK,WAAU;IAAe;GAAc,CAAA;EACtD;;AAET"}
|
|
@@ -1,32 +1,15 @@
|
|
|
1
1
|
import * as React$1 from "react";
|
|
2
2
|
import * as AccordionPrimitive from "@radix-ui/react-accordion";
|
|
3
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
4
|
-
|
|
5
|
-
//#region src/core/accordion.d.ts
|
|
6
3
|
declare namespace accordion_d_exports {
|
|
7
4
|
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger };
|
|
8
5
|
}
|
|
9
|
-
declare function Accordion({
|
|
10
|
-
|
|
11
|
-
}: React$1.ComponentProps<typeof AccordionPrimitive.Root>): react_jsx_runtime0.JSX.Element;
|
|
12
|
-
declare function AccordionItem({
|
|
13
|
-
className,
|
|
14
|
-
...props
|
|
15
|
-
}: React$1.ComponentProps<typeof AccordionPrimitive.Item>): react_jsx_runtime0.JSX.Element;
|
|
6
|
+
declare function Accordion({ ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Root>): React$1.JSX.Element;
|
|
7
|
+
declare function AccordionItem({ className, ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Item>): React$1.JSX.Element;
|
|
16
8
|
interface CustomTriggerProps {
|
|
17
9
|
expandIcon?: React$1.ReactNode;
|
|
18
10
|
}
|
|
19
|
-
declare function AccordionTrigger({
|
|
20
|
-
|
|
21
|
-
children,
|
|
22
|
-
expandIcon,
|
|
23
|
-
...props
|
|
24
|
-
}: React$1.ComponentProps<typeof AccordionPrimitive.Trigger> & CustomTriggerProps): react_jsx_runtime0.JSX.Element;
|
|
25
|
-
declare function AccordionContent({
|
|
26
|
-
className,
|
|
27
|
-
children,
|
|
28
|
-
...props
|
|
29
|
-
}: React$1.ComponentProps<typeof AccordionPrimitive.Content>): react_jsx_runtime0.JSX.Element;
|
|
11
|
+
declare function AccordionTrigger({ className, children, expandIcon, ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Trigger> & CustomTriggerProps): React$1.JSX.Element;
|
|
12
|
+
declare function AccordionContent({ className, children, ...props }: React$1.ComponentProps<typeof AccordionPrimitive.Content>): React$1.JSX.Element;
|
|
30
13
|
//#endregion
|
|
31
|
-
export { accordion_d_exports };
|
|
14
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, accordion_d_exports };
|
|
32
15
|
//# sourceMappingURL=accordion.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.d.mts","names":[],"sources":["../../src/core/accordion.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"accordion.d.mts","names":[],"sources":["../../src/core/accordion.tsx"],"mappings":";;;;;iBASS,eACJ,SACF,QAAM,sBAAsB,mBAAmB,QAAK,QAAA,IAAA;iBAI9C,gBACP,cACG,SACF,QAAM,sBAAsB,mBAAmB,QAAK,QAAA,IAAA;UAU7C;EACR,aAAa,QAAM;;iBAGZ,mBACP,WACA,UACA,eACG,SACF,QAAM,sBAAsB,mBAAmB,WAChD,qBAAkB,QAAA,IAAA;iBA2BX,mBACP,WACA,aACG,SACF,QAAM,sBAAsB,mBAAmB,WAAQ,QAAA,IAAA"}
|
package/dist/core/accordion.mjs
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
"use client";
|
|
3
2
|
import { __exportAll } from "../_virtual/_rolldown/runtime.mjs";
|
|
4
3
|
import { cn } from "../utils.mjs";
|
|
5
4
|
import { ChevronDownIcon } from "lucide-react";
|
|
6
5
|
import "react";
|
|
7
6
|
import * as AccordionPrimitive from "@radix-ui/react-accordion";
|
|
8
7
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
-
|
|
10
8
|
//#region src/core/accordion.tsx
|
|
11
9
|
var accordion_exports = /* @__PURE__ */ __exportAll({
|
|
12
10
|
Accordion: () => Accordion,
|
|
@@ -53,7 +51,7 @@ function AccordionContent({ className, children, ...props }) {
|
|
|
53
51
|
})
|
|
54
52
|
});
|
|
55
53
|
}
|
|
56
|
-
|
|
57
54
|
//#endregion
|
|
58
|
-
export { accordion_exports };
|
|
55
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, accordion_exports };
|
|
56
|
+
|
|
59
57
|
//# sourceMappingURL=accordion.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"accordion.mjs","names":[],"sources":["../../src/core/accordion.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { ChevronDownIcon } from 'lucide-react';\n\nimport { cn } from '@repo/ui/utils';\n\nfunction Accordion({\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn('border-b last:border-b-0', className)}\n {...props}\n />\n );\n}\n\ninterface CustomTriggerProps {\n expandIcon?: React.ReactNode;\n}\n\nfunction AccordionTrigger({\n className,\n children,\n expandIcon,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger> &\n CustomTriggerProps) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n `focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1\n items-start justify-between gap-4 rounded-md py-4 text-left text-sm\n font-medium transition-all outline-none hover:underline\n focus-visible:ring-[3px] disabled:pointer-events-none\n disabled:opacity-50 [&[data-state=open]>svg]:rotate-180`,\n className,\n )}\n {...props}\n >\n {children}\n {expandIcon || (\n <ChevronDownIcon\n className=\"text-muted-foreground pointer-events-none size-4 shrink-0\n translate-y-0.5 transition-transform duration-200\"\n />\n )}\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up\n data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn('pt-0 pb-4', className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"mappings":"
|
|
1
|
+
{"version":3,"file":"accordion.mjs","names":[],"sources":["../../src/core/accordion.tsx"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\n\nimport * as AccordionPrimitive from '@radix-ui/react-accordion';\nimport { ChevronDownIcon } from 'lucide-react';\n\nimport { cn } from '@repo/ui/utils';\n\nfunction Accordion({\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Root>) {\n return <AccordionPrimitive.Root data-slot=\"accordion\" {...props} />;\n}\n\nfunction AccordionItem({\n className,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Item>) {\n return (\n <AccordionPrimitive.Item\n data-slot=\"accordion-item\"\n className={cn('border-b last:border-b-0', className)}\n {...props}\n />\n );\n}\n\ninterface CustomTriggerProps {\n expandIcon?: React.ReactNode;\n}\n\nfunction AccordionTrigger({\n className,\n children,\n expandIcon,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Trigger> &\n CustomTriggerProps) {\n return (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n data-slot=\"accordion-trigger\"\n className={cn(\n `focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1\n items-start justify-between gap-4 rounded-md py-4 text-left text-sm\n font-medium transition-all outline-none hover:underline\n focus-visible:ring-[3px] disabled:pointer-events-none\n disabled:opacity-50 [&[data-state=open]>svg]:rotate-180`,\n className,\n )}\n {...props}\n >\n {children}\n {expandIcon || (\n <ChevronDownIcon\n className=\"text-muted-foreground pointer-events-none size-4 shrink-0\n translate-y-0.5 transition-transform duration-200\"\n />\n )}\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n );\n}\n\nfunction AccordionContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof AccordionPrimitive.Content>) {\n return (\n <AccordionPrimitive.Content\n data-slot=\"accordion-content\"\n className=\"data-[state=closed]:animate-accordion-up\n data-[state=open]:animate-accordion-down overflow-hidden text-sm\"\n {...props}\n >\n <div className={cn('pt-0 pb-4', className)}>{children}</div>\n </AccordionPrimitive.Content>\n );\n}\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent };\n"],"mappings":";;;;;;;;;;;;;;AASA,SAAS,UAAU,EACjB,GAAG,SACoD;CACvD,OAAO,oBAAC,mBAAmB,MAApB;EAAyB,aAAU;EAAY,GAAI;CAAQ,CAAA;AACpE;AAEA,SAAS,cAAc,EACrB,WACA,GAAG,SACoD;CACvD,OACE,oBAAC,mBAAmB,MAApB;EACE,aAAU;EACV,WAAW,GAAG,4BAA4B,SAAS;EACnD,GAAI;CACL,CAAA;AAEL;AAMA,SAAS,iBAAiB,EACxB,WACA,UACA,YACA,GAAG,SAEiB;CACpB,OACE,oBAAC,mBAAmB,QAApB;EAA2B,WAAU;EACnC,UAAA,qBAAC,mBAAmB,SAApB;GACE,aAAU;GACV,WAAW,GACT;;;;oEAKA,SACF;GACA,GAAI;GAVN,UAAA,CAYG,UACA,cACC,oBAAC,iBAAD,EACE,WAAU,6HAEX,CAAA,CAEuB;;CACH,CAAA;AAE/B;AAEA,SAAS,iBAAiB,EACxB,WACA,UACA,GAAG,SACuD;CAC1D,OACE,oBAAC,mBAAmB,SAApB;EACE,aAAU;EACV,WAAU;EAEV,GAAI;EAEJ,UAAA,oBAAC,OAAD;GAAK,WAAW,GAAG,aAAa,SAAS;GAAI;EAAc,CAAA;CACjC,CAAA;AAEhC"}
|
package/dist/core/badge.d.mts
CHANGED
|
@@ -1,24 +1,15 @@
|
|
|
1
1
|
import * as React$1 from "react";
|
|
2
|
-
import * as react_jsx_runtime0 from "react/jsx-runtime";
|
|
3
2
|
import { VariantProps } from "class-variance-authority";
|
|
4
|
-
import * as class_variance_authority_types0 from "class-variance-authority/types";
|
|
5
|
-
|
|
6
|
-
//#region src/core/badge.d.ts
|
|
7
3
|
declare namespace badge_d_exports {
|
|
8
4
|
export { Badge, Props, badgeVariants };
|
|
9
5
|
}
|
|
10
6
|
declare const badgeVariants: (props?: ({
|
|
11
7
|
variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
|
|
12
|
-
} &
|
|
8
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
13
9
|
type Props = React$1.ComponentProps<'span'> & VariantProps<typeof badgeVariants> & {
|
|
14
10
|
asChild?: boolean;
|
|
15
11
|
};
|
|
16
|
-
declare function Badge({
|
|
17
|
-
className,
|
|
18
|
-
variant,
|
|
19
|
-
asChild,
|
|
20
|
-
...props
|
|
21
|
-
}: Props): react_jsx_runtime0.JSX.Element;
|
|
12
|
+
declare function Badge({ className, variant, asChild, ...props }: Props): React$1.JSX.Element;
|
|
22
13
|
//#endregion
|
|
23
|
-
export { type Props, badge_d_exports };
|
|
14
|
+
export { Badge, type Props, badgeVariants, badge_d_exports };
|
|
24
15
|
//# sourceMappingURL=badge.d.mts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.d.mts","names":[],"sources":["../../src/core/badge.tsx"],"mappings":"
|
|
1
|
+
{"version":3,"file":"badge.d.mts","names":[],"sources":["../../src/core/badge.tsx"],"mappings":";;;;;cAOM,gBAAa;;6CAyBlB;KAEI,QAAQ,QAAM,yBACjB,oBAAoB;EAClB;;iBAGK,QAAQ,WAAW,SAAS,YAAoB,SAAS,QAAK,QAAA,IAAA"}
|