@uselets/ui 1.16.0 → 1.17.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 +2 -1
- package/dist/accordion-BCo2odjy.js +2 -0
- package/dist/accordion-BCo2odjy.js.map +1 -0
- package/dist/accordion-DtSr3uiA.d.ts +15 -0
- package/dist/alert-CJRgRQVF.js +2 -0
- package/dist/alert-CJRgRQVF.js.map +1 -0
- package/dist/alert-dialog-B_nAiD4Y.js +2 -0
- package/dist/alert-dialog-B_nAiD4Y.js.map +1 -0
- package/dist/alert-dialog-Bf41-OnT.d.ts +34 -0
- package/dist/alert-eivgSC_S.d.ts +18 -0
- package/dist/anchor-DCOyn0Xa.d.ts +15 -0
- package/dist/anchor-srhmShjN.js +2 -0
- package/dist/anchor-srhmShjN.js.map +1 -0
- package/dist/area-chart-DdDy8Vm3.js +2 -0
- package/dist/area-chart-DdDy8Vm3.js.map +1 -0
- package/dist/area-chart-F_4ZL20j.d.ts +40 -0
- package/dist/avatar-2ZS3Tx76.d.ts +21 -0
- package/dist/avatar-CFUwrOwG.js +2 -0
- package/dist/avatar-CFUwrOwG.js.map +1 -0
- package/dist/badge-BqpQcDFd.d.ts +16 -0
- package/dist/badge-Cuq_DqRS.js +2 -0
- package/dist/badge-Cuq_DqRS.js.map +1 -0
- package/dist/badge-DEgLmZYC.js +2 -0
- package/dist/badge-DEgLmZYC.js.map +1 -0
- package/dist/badge-gkezuSZY.d.ts +19 -0
- package/dist/bar-chart-DIgSnh_j.js +2 -0
- package/dist/bar-chart-DIgSnh_j.js.map +1 -0
- package/dist/bar-chart-DRrrfMQR.d.ts +42 -0
- package/dist/breadcrumb-CqNDAI8V.js +2 -0
- package/dist/breadcrumb-CqNDAI8V.js.map +1 -0
- package/dist/breadcrumb-DZFS9htN.d.ts +22 -0
- package/dist/button-BNGy28pv.d.ts +17 -0
- package/dist/button-CQbH5Glc.d.ts +19 -0
- package/dist/button-DGewx2nE.js +2 -0
- package/dist/button-DGewx2nE.js.map +1 -0
- package/dist/button-group-DRgqsyjS.d.ts +18 -0
- package/dist/button-group-WJ5LeouK.js +2 -0
- package/dist/button-group-WJ5LeouK.js.map +1 -0
- package/dist/button-oI3hbOgp.js +2 -0
- package/dist/button-oI3hbOgp.js.map +1 -0
- package/dist/calendar-C1GgjzIA.d.ts +17 -0
- package/dist/calendar-CW1kGXom.js +2 -0
- package/dist/calendar-CW1kGXom.js.map +1 -0
- package/dist/card-Bx6iiocl.js +2 -0
- package/dist/card-Bx6iiocl.js.map +1 -0
- package/dist/card-pWjtkTKw.d.ts +22 -0
- package/dist/carousel-C6e4eRJD.d.ts +43 -0
- package/dist/carousel-D0OTImO7.js +2 -0
- package/dist/carousel-D0OTImO7.js.map +1 -0
- package/dist/center-CFQDr205.d.ts +13 -0
- package/dist/center-Dl1rnq7S.js +2 -0
- package/dist/center-Dl1rnq7S.js.map +1 -0
- package/dist/chart-Ci4V8B8v.js +8 -0
- package/dist/chart-Ci4V8B8v.js.map +1 -0
- package/dist/checkbox-DPvW_m7k.js +2 -0
- package/dist/checkbox-DPvW_m7k.js.map +1 -0
- package/dist/checkbox-y0XBdH4a.d.ts +21 -0
- package/dist/code-A6JERAsm.js +2 -0
- package/dist/code-A6JERAsm.js.map +1 -0
- package/dist/code-Cqoacc61.d.ts +8 -0
- package/dist/collapsible-BH8BqfTd.js +2 -0
- package/dist/collapsible-BH8BqfTd.js.map +1 -0
- package/dist/collapsible-CLSCZ630.d.ts +12 -0
- package/dist/color-DJvQFSl5.d.ts +19 -0
- package/dist/color-Don4qaht.js +2 -0
- package/dist/color-Don4qaht.js.map +1 -0
- package/dist/combobox-DkCRXUxd.d.ts +51 -0
- package/dist/combobox-fNAIovsN.js +2 -0
- package/dist/combobox-fNAIovsN.js.map +1 -0
- package/dist/command-0wTb46Ym.js +2 -0
- package/dist/command-0wTb46Ym.js.map +1 -0
- package/dist/command-D4pNOx0J.d.ts +31 -0
- package/dist/components/accordion.d.ts +2 -15
- package/dist/components/accordion.js +1 -2
- package/dist/components/accordion.spec.d.ts +1 -0
- package/dist/components/accordion.spec.js +2 -0
- package/dist/components/accordion.spec.js.map +1 -0
- package/dist/components/alert-dialog.d.ts +2 -34
- package/dist/components/alert-dialog.js +1 -2
- package/dist/components/alert-dialog.spec.d.ts +1 -0
- package/dist/components/alert-dialog.spec.js +2 -0
- package/dist/components/alert-dialog.spec.js.map +1 -0
- package/dist/components/alert.d.ts +2 -18
- package/dist/components/alert.js +1 -2
- package/dist/components/alert.spec.d.ts +1 -0
- package/dist/components/alert.spec.js +2 -0
- package/dist/components/alert.spec.js.map +1 -0
- package/dist/components/anchor.d.ts +2 -15
- package/dist/components/anchor.js +1 -2
- package/dist/components/anchor.spec.d.ts +1 -0
- package/dist/components/anchor.spec.js +2 -0
- package/dist/components/anchor.spec.js.map +1 -0
- package/dist/components/area-chart.d.ts +2 -40
- package/dist/components/area-chart.js +1 -2
- package/dist/components/area-chart.spec.d.ts +1 -0
- package/dist/components/area-chart.spec.js +2 -0
- package/dist/components/area-chart.spec.js.map +1 -0
- package/dist/components/avatar.d.ts +2 -21
- package/dist/components/avatar.js +1 -2
- package/dist/components/avatar.spec.d.ts +1 -0
- package/dist/components/avatar.spec.js +2 -0
- package/dist/components/avatar.spec.js.map +1 -0
- package/dist/components/badge.d.ts +2 -16
- package/dist/components/badge.js +1 -2
- package/dist/components/badge.spec.d.ts +1 -0
- package/dist/components/badge.spec.js +2 -0
- package/dist/components/badge.spec.js.map +1 -0
- package/dist/components/bar-chart.d.ts +2 -42
- package/dist/components/bar-chart.js +1 -2
- package/dist/components/bar-chart.spec.d.ts +1 -0
- package/dist/components/bar-chart.spec.js +2 -0
- package/dist/components/bar-chart.spec.js.map +1 -0
- package/dist/components/breadcrumb.d.ts +2 -22
- package/dist/components/breadcrumb.js +1 -2
- package/dist/components/breadcrumb.spec.d.ts +1 -0
- package/dist/components/breadcrumb.spec.js +2 -0
- package/dist/components/breadcrumb.spec.js.map +1 -0
- package/dist/components/button-group.d.ts +2 -18
- package/dist/components/button-group.js +1 -2
- package/dist/components/button-group.spec.d.ts +1 -0
- package/dist/components/button-group.spec.js +2 -0
- package/dist/components/button-group.spec.js.map +1 -0
- package/dist/components/button.d.ts +2 -17
- package/dist/components/button.js +1 -2
- package/dist/components/button.spec.d.ts +1 -0
- package/dist/components/button.spec.js +2 -0
- package/dist/components/button.spec.js.map +1 -0
- package/dist/components/calendar.d.ts +2 -17
- package/dist/components/calendar.js +1 -2
- package/dist/components/calendar.spec.d.ts +1 -0
- package/dist/components/calendar.spec.js +2 -0
- package/dist/components/calendar.spec.js.map +1 -0
- package/dist/components/card.d.ts +2 -22
- package/dist/components/card.js +1 -2
- package/dist/components/card.spec.d.ts +1 -0
- package/dist/components/card.spec.js +2 -0
- package/dist/components/card.spec.js.map +1 -0
- package/dist/components/carousel.d.ts +2 -43
- package/dist/components/carousel.js +1 -2
- package/dist/components/carousel.spec.js +1 -93
- package/dist/components/carousel.spec.js.map +1 -1
- package/dist/components/center.d.ts +2 -13
- package/dist/components/center.js +1 -2
- package/dist/components/center.spec.d.ts +1 -0
- package/dist/components/center.spec.js +2 -0
- package/dist/components/center.spec.js.map +1 -0
- package/dist/components/chart.js +1 -8
- package/dist/components/chart.spec.d.ts +1 -0
- package/dist/components/chart.spec.js +2 -0
- package/dist/components/chart.spec.js.map +1 -0
- package/dist/components/checkbox.d.ts +2 -21
- package/dist/components/checkbox.js +1 -2
- package/dist/components/checkbox.spec.d.ts +1 -0
- package/dist/components/checkbox.spec.js +2 -0
- package/dist/components/checkbox.spec.js.map +1 -0
- package/dist/components/code.d.ts +2 -8
- package/dist/components/code.js +1 -2
- package/dist/components/code.spec.d.ts +1 -0
- package/dist/components/code.spec.js +2 -0
- package/dist/components/code.spec.js.map +1 -0
- package/dist/components/collapsible.d.ts +2 -12
- package/dist/components/collapsible.js +1 -2
- package/dist/components/collapsible.spec.d.ts +1 -0
- package/dist/components/collapsible.spec.js +2 -0
- package/dist/components/collapsible.spec.js.map +1 -0
- package/dist/components/combobox.d.ts +2 -51
- package/dist/components/combobox.js +1 -2
- package/dist/components/combobox.spec.d.ts +1 -0
- package/dist/components/combobox.spec.js +2 -0
- package/dist/components/combobox.spec.js.map +1 -0
- package/dist/components/command.d.ts +2 -31
- package/dist/components/command.js +1 -2
- package/dist/components/command.spec.d.ts +1 -0
- package/dist/components/command.spec.js +2 -0
- package/dist/components/command.spec.js.map +1 -0
- package/dist/components/container.d.ts +2 -12
- package/dist/components/container.js +1 -2
- package/dist/components/container.spec.d.ts +1 -0
- package/dist/components/container.spec.js +2 -0
- package/dist/components/container.spec.js.map +1 -0
- package/dist/components/data-table.d.ts +2 -111
- package/dist/components/data-table.js +1 -2
- package/dist/components/data-table.spec.d.ts +1 -0
- package/dist/components/data-table.spec.js +2 -0
- package/dist/components/data-table.spec.js.map +1 -0
- package/dist/components/date-range-picker.d.ts +3 -55
- package/dist/components/date-range-picker.js +1 -2
- package/dist/components/date-range-picker.spec.d.ts +1 -0
- package/dist/components/date-range-picker.spec.js +2 -0
- package/dist/components/date-range-picker.spec.js.map +1 -0
- package/dist/components/dialog.d.ts +2 -42
- package/dist/components/dialog.js +1 -2
- package/dist/components/dialog.spec.d.ts +1 -0
- package/dist/components/dialog.spec.js +2 -0
- package/dist/components/dialog.spec.js.map +1 -0
- package/dist/components/donut-chart.d.ts +2 -13
- package/dist/components/donut-chart.js +1 -2
- package/dist/components/donut-chart.spec.d.ts +1 -0
- package/dist/components/donut-chart.spec.js +2 -0
- package/dist/components/donut-chart.spec.js.map +1 -0
- package/dist/components/drawer.d.ts +2 -43
- package/dist/components/drawer.js +1 -2
- package/dist/components/drawer.spec.d.ts +1 -0
- package/dist/components/drawer.spec.js +2 -0
- package/dist/components/drawer.spec.js.map +1 -0
- package/dist/components/dropdown-menu.d.ts +2 -48
- package/dist/components/dropdown-menu.js +1 -2
- package/dist/components/dropdown-menu.spec.d.ts +1 -0
- package/dist/components/dropdown-menu.spec.js +2 -0
- package/dist/components/dropdown-menu.spec.js.map +1 -0
- package/dist/components/dropzone.d.ts +2 -102
- package/dist/components/dropzone.js +1 -2
- package/dist/components/dropzone.spec.d.ts +1 -0
- package/dist/components/dropzone.spec.js +2 -0
- package/dist/components/dropzone.spec.js.map +1 -0
- package/dist/components/empty.d.ts +2 -21
- package/dist/components/empty.js +1 -2
- package/dist/components/empty.spec.d.ts +1 -0
- package/dist/components/empty.spec.js +2 -0
- package/dist/components/empty.spec.js.map +1 -0
- package/dist/components/field.d.ts +2 -39
- package/dist/components/field.js +1 -2
- package/dist/components/field.spec.js +1 -1
- package/dist/components/field.spec.js.map +1 -1
- package/dist/components/flex.d.ts +2 -16
- package/dist/components/flex.js +1 -2
- package/dist/components/flex.spec.d.ts +1 -0
- package/dist/components/flex.spec.js +2 -0
- package/dist/components/flex.spec.js.map +1 -0
- package/dist/components/grid.d.ts +2 -20
- package/dist/components/grid.js +1 -2
- package/dist/components/grid.spec.d.ts +1 -0
- package/dist/components/grid.spec.js +2 -0
- package/dist/components/grid.spec.js.map +1 -0
- package/dist/components/group.d.ts +2 -15
- package/dist/components/group.js +1 -2
- package/dist/components/group.spec.d.ts +1 -0
- package/dist/components/group.spec.js +2 -0
- package/dist/components/group.spec.js.map +1 -0
- package/dist/components/heading.d.ts +2 -14
- package/dist/components/heading.js +1 -2
- package/dist/components/heading.spec.d.ts +1 -0
- package/dist/components/heading.spec.js +2 -0
- package/dist/components/heading.spec.js.map +1 -0
- package/dist/components/hover-card.d.ts +2 -13
- package/dist/components/hover-card.js +1 -2
- package/dist/components/hover-card.spec.d.ts +1 -0
- package/dist/components/hover-card.spec.js +2 -0
- package/dist/components/hover-card.spec.js.map +1 -0
- package/dist/components/input-group.d.ts +2 -26
- package/dist/components/input-group.js +1 -2
- package/dist/components/input-group.spec.d.ts +1 -0
- package/dist/components/input-group.spec.js +2 -0
- package/dist/components/input-group.spec.js.map +1 -0
- package/dist/components/input-otp.d.ts +2 -19
- package/dist/components/input-otp.js +1 -2
- package/dist/components/input-otp.spec.d.ts +1 -0
- package/dist/components/input-otp.spec.js +2 -0
- package/dist/components/input-otp.spec.js.map +1 -0
- package/dist/components/input.d.ts +2 -8
- package/dist/components/input.js +1 -2
- package/dist/components/input.spec.d.ts +1 -0
- package/dist/components/input.spec.js +2 -0
- package/dist/components/input.spec.js.map +1 -0
- package/dist/components/kbd.d.ts +2 -10
- package/dist/components/kbd.js +1 -2
- package/dist/components/kbd.spec.d.ts +1 -0
- package/dist/components/kbd.spec.js +2 -0
- package/dist/components/kbd.spec.js.map +1 -0
- package/dist/components/label.d.ts +2 -9
- package/dist/components/label.js +1 -2
- package/dist/components/label.spec.d.ts +1 -0
- package/dist/components/label.spec.js +2 -0
- package/dist/components/label.spec.js.map +1 -0
- package/dist/components/list.d.ts +2 -25
- package/dist/components/list.js +1 -2
- package/dist/components/list.spec.d.ts +1 -0
- package/dist/components/list.spec.js +2 -0
- package/dist/components/list.spec.js.map +1 -0
- package/dist/components/logo.d.ts +2 -0
- package/dist/components/logo.js +1 -0
- package/dist/components/logo.spec.d.ts +1 -0
- package/dist/components/logo.spec.js +2 -0
- package/dist/components/logo.spec.js.map +1 -0
- package/dist/components/marker.d.ts +2 -18
- package/dist/components/marker.js +1 -2
- package/dist/components/marker.spec.d.ts +1 -0
- package/dist/components/marker.spec.js +2 -0
- package/dist/components/marker.spec.js.map +1 -0
- package/dist/components/mask-input.d.ts +2 -16
- package/dist/components/mask-input.js +1 -2
- package/dist/components/mask-input.spec.d.ts +1 -0
- package/dist/components/mask-input.spec.js +2 -0
- package/dist/components/mask-input.spec.js.map +1 -0
- package/dist/components/native-select.d.ts +2 -14
- package/dist/components/native-select.js +1 -2
- package/dist/components/native-select.spec.d.ts +1 -0
- package/dist/components/native-select.spec.js +2 -0
- package/dist/components/native-select.spec.js.map +1 -0
- package/dist/components/navigation-menu.d.ts +2 -26
- package/dist/components/navigation-menu.js +1 -2
- package/dist/components/navigation-menu.spec.d.ts +1 -0
- package/dist/components/navigation-menu.spec.js +2 -0
- package/dist/components/navigation-menu.spec.js.map +1 -0
- package/dist/components/number-field.d.ts +2 -35
- package/dist/components/number-field.js +1 -2
- package/dist/components/number-field.spec.d.ts +1 -0
- package/dist/components/number-field.spec.js +2 -0
- package/dist/components/number-field.spec.js.map +1 -0
- package/dist/components/pagination.d.ts +2 -27
- package/dist/components/pagination.js +1 -2
- package/dist/components/pagination.spec.d.ts +1 -0
- package/dist/components/pagination.spec.js +2 -0
- package/dist/components/pagination.spec.js.map +1 -0
- package/dist/components/phone-input.d.ts +2 -13
- package/dist/components/phone-input.js +1 -2
- package/dist/components/phone-input.spec.d.ts +1 -0
- package/dist/components/phone-input.spec.js +2 -0
- package/dist/components/phone-input.spec.js.map +1 -0
- package/dist/components/pie-chart.d.ts +2 -42
- package/dist/components/pie-chart.js +1 -2
- package/dist/components/pie-chart.spec.d.ts +1 -0
- package/dist/components/pie-chart.spec.js +2 -0
- package/dist/components/pie-chart.spec.js.map +1 -0
- package/dist/components/popover.d.ts +2 -21
- package/dist/components/popover.js +1 -2
- package/dist/components/popover.spec.d.ts +1 -0
- package/dist/components/popover.spec.js +2 -0
- package/dist/components/popover.spec.js.map +1 -0
- package/dist/components/progress.d.ts +2 -14
- package/dist/components/progress.js +1 -2
- package/dist/components/progress.spec.d.ts +1 -0
- package/dist/components/progress.spec.js +2 -0
- package/dist/components/progress.spec.js.map +1 -0
- package/dist/components/radio-group.d.ts +2 -25
- package/dist/components/radio-group.js +1 -2
- package/dist/components/radio-group.spec.d.ts +1 -0
- package/dist/components/radio-group.spec.js +2 -0
- package/dist/components/radio-group.spec.js.map +1 -0
- package/dist/components/resizable.d.ts +2 -14
- package/dist/components/resizable.js +1 -2
- package/dist/components/resizable.spec.d.ts +1 -0
- package/dist/components/resizable.spec.js +2 -0
- package/dist/components/resizable.spec.js.map +1 -0
- package/dist/components/ring-progress.d.ts +2 -17
- package/dist/components/ring-progress.js +1 -2
- package/dist/components/ring-progress.spec.d.ts +1 -0
- package/dist/components/ring-progress.spec.js +2 -0
- package/dist/components/ring-progress.spec.js.map +1 -0
- package/dist/components/scroll-area.d.ts +2 -11
- package/dist/components/scroll-area.js +1 -2
- package/dist/components/scroll-area.spec.d.ts +1 -0
- package/dist/components/scroll-area.spec.js +2 -0
- package/dist/components/scroll-area.spec.js.map +1 -0
- package/dist/components/select.d.ts +2 -29
- package/dist/components/select.js +1 -2
- package/dist/components/select.spec.d.ts +1 -0
- package/dist/components/select.spec.js +2 -0
- package/dist/components/select.spec.js.map +1 -0
- package/dist/components/separator.d.ts +2 -9
- package/dist/components/separator.js +1 -2
- package/dist/components/separator.spec.d.ts +1 -0
- package/dist/components/separator.spec.js +2 -0
- package/dist/components/separator.spec.js.map +1 -0
- package/dist/components/sidebar.d.ts +2 -96
- package/dist/components/sidebar.js +1 -2
- package/dist/components/sidebar.spec.d.ts +1 -0
- package/dist/components/sidebar.spec.js +2 -0
- package/dist/components/sidebar.spec.js.map +1 -0
- package/dist/components/simple-grid.d.ts +2 -14
- package/dist/components/simple-grid.js +1 -2
- package/dist/components/simple-grid.spec.d.ts +1 -0
- package/dist/components/simple-grid.spec.js +2 -0
- package/dist/components/simple-grid.spec.js.map +1 -0
- package/dist/components/skeleton.d.ts +2 -10
- package/dist/components/skeleton.js +1 -2
- package/dist/components/skeleton.spec.js +1 -1
- package/dist/components/skeleton.spec.js.map +1 -1
- package/dist/components/slider.d.ts +2 -9
- package/dist/components/slider.js +1 -2
- package/dist/components/slider.spec.d.ts +1 -0
- package/dist/components/slider.spec.js +2 -0
- package/dist/components/slider.spec.js.map +1 -0
- package/dist/components/sonner.d.ts +2 -8
- package/dist/components/sonner.js +1 -2
- package/dist/components/sonner.spec.d.ts +1 -0
- package/dist/components/sonner.spec.js +2 -0
- package/dist/components/sonner.spec.js.map +1 -0
- package/dist/components/spinner.d.ts +2 -12
- package/dist/components/spinner.js +1 -2
- package/dist/components/spinner.spec.d.ts +1 -0
- package/dist/components/spinner.spec.js +2 -0
- package/dist/components/spinner.spec.js.map +1 -0
- package/dist/components/stack.d.ts +2 -14
- package/dist/components/stack.js +1 -2
- package/dist/components/stack.spec.d.ts +1 -0
- package/dist/components/stack.spec.js +2 -0
- package/dist/components/stack.spec.js.map +1 -0
- package/dist/components/stepper.d.ts +2 -71
- package/dist/components/stepper.js +1 -2
- package/dist/components/stepper.spec.d.ts +1 -0
- package/dist/components/stepper.spec.js +2 -0
- package/dist/components/stepper.spec.js.map +1 -0
- package/dist/components/switch.d.ts +2 -17
- package/dist/components/switch.js +1 -2
- package/dist/components/switch.spec.d.ts +1 -0
- package/dist/components/switch.spec.js +2 -0
- package/dist/components/switch.spec.js.map +1 -0
- package/dist/components/table.d.ts +2 -33
- package/dist/components/table.js +1 -2
- package/dist/components/table.spec.d.ts +1 -0
- package/dist/components/table.spec.js +2 -0
- package/dist/components/table.spec.js.map +1 -0
- package/dist/components/tabs.d.ts +2 -21
- package/dist/components/tabs.js +1 -2
- package/dist/components/tabs.spec.d.ts +1 -0
- package/dist/components/tabs.spec.js +2 -0
- package/dist/components/tabs.spec.js.map +1 -0
- package/dist/components/text.d.ts +2 -14
- package/dist/components/text.js +1 -2
- package/dist/components/text.spec.d.ts +1 -0
- package/dist/components/text.spec.js +2 -0
- package/dist/components/text.spec.js.map +1 -0
- package/dist/components/textarea.d.ts +2 -8
- package/dist/components/textarea.js +1 -2
- package/dist/components/textarea.spec.d.ts +1 -0
- package/dist/components/textarea.spec.js +2 -0
- package/dist/components/textarea.spec.js.map +1 -0
- package/dist/components/theme.d.ts +2 -22
- package/dist/components/theme.js +1 -2
- package/dist/components/theme.spec.d.ts +1 -0
- package/dist/components/theme.spec.js +2 -0
- package/dist/components/theme.spec.js.map +1 -0
- package/dist/components/timeline.d.ts +2 -61
- package/dist/components/timeline.js +1 -2
- package/dist/components/timeline.spec.d.ts +1 -0
- package/dist/components/timeline.spec.js +2 -0
- package/dist/components/timeline.spec.js.map +1 -0
- package/dist/components/toggle-group.d.ts +2 -16
- package/dist/components/toggle-group.js +1 -2
- package/dist/components/toggle-group.spec.d.ts +1 -0
- package/dist/components/toggle-group.spec.js +2 -0
- package/dist/components/toggle-group.spec.js.map +1 -0
- package/dist/components/toggle.d.ts +2 -15
- package/dist/components/toggle.js +1 -2
- package/dist/components/toggle.spec.d.ts +1 -0
- package/dist/components/toggle.spec.js +2 -0
- package/dist/components/toggle.spec.js.map +1 -0
- package/dist/components/tooltip.d.ts +2 -21
- package/dist/components/tooltip.js +1 -2
- package/dist/components/tooltip.spec.d.ts +1 -0
- package/dist/components/tooltip.spec.js +2 -0
- package/dist/components/tooltip.spec.js.map +1 -0
- package/dist/components/unstyled-button.d.ts +2 -10
- package/dist/components/unstyled-button.js +1 -2
- package/dist/components/unstyled-button.spec.d.ts +1 -0
- package/dist/components/unstyled-button.spec.js +2 -0
- package/dist/components/unstyled-button.spec.js.map +1 -0
- package/dist/components/visibility.d.ts +2 -17
- package/dist/components/visibility.js +1 -2
- package/dist/components/visibility.spec.d.ts +1 -0
- package/dist/components/visibility.spec.js +2 -0
- package/dist/components/visibility.spec.js.map +1 -0
- package/dist/compose-refs-DUtp7lGn.js +2 -0
- package/dist/compose-refs-DUtp7lGn.js.map +1 -0
- package/dist/compose-refs-GP3zdokU.d.ts +8 -0
- package/dist/container-B8-lt-oX.d.ts +12 -0
- package/dist/container-CikeKdez.js +2 -0
- package/dist/container-CikeKdez.js.map +1 -0
- package/dist/data-table-BT75MSO9.d.ts +111 -0
- package/dist/data-table-DcyKClKz.js +2 -0
- package/dist/data-table-DcyKClKz.js.map +1 -0
- package/dist/date-range-picker-BngvCWcR.d.ts +55 -0
- package/dist/date-range-picker-CJVpTZdT.js +2 -0
- package/dist/date-range-picker-CJVpTZdT.js.map +1 -0
- package/dist/dialog-B7I4Ky1i.js +2 -0
- package/dist/dialog-B7I4Ky1i.js.map +1 -0
- package/dist/dialog-Ej7pnact.d.ts +42 -0
- package/dist/donut-chart-BDJR8TXh.d.ts +13 -0
- package/dist/donut-chart-BHU4kDE6.js +2 -0
- package/dist/donut-chart-BHU4kDE6.js.map +1 -0
- package/dist/drawer-BO4mP6y1.js +2 -0
- package/dist/drawer-BO4mP6y1.js.map +1 -0
- package/dist/drawer-DUfJzrKE.d.ts +43 -0
- package/dist/dropdown-menu-CVDIf0Rd.d.ts +48 -0
- package/dist/dropdown-menu-zRuQQS5S.js +2 -0
- package/dist/dropdown-menu-zRuQQS5S.js.map +1 -0
- package/dist/dropzone-43h3L9Ko.d.ts +102 -0
- package/dist/dropzone-BLZkZThJ.js +2 -0
- package/dist/dropzone-BLZkZThJ.js.map +1 -0
- package/dist/empty-BhKsDYZ5.js +2 -0
- package/dist/empty-BhKsDYZ5.js.map +1 -0
- package/dist/empty-D8ZiTCVK.d.ts +21 -0
- package/dist/field-C209yHO9.d.ts +39 -0
- package/dist/field-DzR-XrO7.js +2 -0
- package/dist/field-DzR-XrO7.js.map +1 -0
- package/dist/flex-BC4Diiy4.js +2 -0
- package/dist/flex-BC4Diiy4.js.map +1 -0
- package/dist/flex-aJXipTAz.d.ts +16 -0
- package/dist/grid-B3He1bGe.js +2 -0
- package/dist/grid-B3He1bGe.js.map +1 -0
- package/dist/grid-D_aEANA7.d.ts +20 -0
- package/dist/group-B6n_lMc4.js +2 -0
- package/dist/group-B6n_lMc4.js.map +1 -0
- package/dist/group-DBtx8eSe.d.ts +15 -0
- package/dist/heading-BTXl4JfI.d.ts +14 -0
- package/dist/heading-DaxKLVRm.js +2 -0
- package/dist/heading-DaxKLVRm.js.map +1 -0
- package/dist/hooks/use-breakpoint-value.d.ts +2 -8
- package/dist/hooks/use-breakpoint-value.js +1 -2
- package/dist/hooks/use-breakpoint-value.spec.js +34 -1
- package/dist/hooks/use-breakpoint-value.spec.js.map +1 -1
- package/dist/hooks/use-breakpoint.d.ts +2 -8
- package/dist/hooks/use-breakpoint.js +1 -2
- package/dist/hooks/use-breakpoint.spec.js +1 -1
- package/dist/hooks/use-breakpoint.spec.js.map +1 -1
- package/dist/hooks/use-disclosure.d.ts +2 -22
- package/dist/hooks/use-disclosure.js +1 -2
- package/dist/hooks/use-disclosure.spec.js +1 -1
- package/dist/hooks/use-disclosure.spec.js.map +1 -1
- package/dist/hooks/use-document-visibility.d.ts +2 -6
- package/dist/hooks/use-document-visibility.js +1 -2
- package/dist/hooks/use-document-visibility.spec.js +1 -1
- package/dist/hooks/use-document-visibility.spec.js.map +1 -1
- package/dist/hooks/use-hotkeys.spec.js +1 -1
- package/dist/hooks/use-idle.d.ts +2 -13
- package/dist/hooks/use-idle.js +1 -2
- package/dist/hooks/use-idle.spec.js +1 -1
- package/dist/hooks/use-idle.spec.js.map +1 -1
- package/dist/hooks/use-interval.d.ts +2 -24
- package/dist/hooks/use-interval.js +1 -2
- package/dist/hooks/use-interval.spec.js +1 -1
- package/dist/hooks/use-local-storage.d.ts +2 -16
- package/dist/hooks/use-local-storage.js +1 -2
- package/dist/hooks/use-local-storage.spec.js +1 -1
- package/dist/hooks/use-local-storage.spec.js.map +1 -1
- package/dist/hooks/use-mask.d.ts +2 -8
- package/dist/hooks/use-mask.js +1 -2
- package/dist/hooks/use-mask.spec.d.ts +1 -0
- package/dist/hooks/use-mask.spec.js +2 -0
- package/dist/hooks/use-mask.spec.js.map +1 -0
- package/dist/hooks/use-mobile.d.ts +2 -6
- package/dist/hooks/use-mobile.js +1 -2
- package/dist/hooks/use-mobile.spec.js +1 -1
- package/dist/hover-card-C3yz2zQi.d.ts +13 -0
- package/dist/hover-card-Dc8yLsm-.js +2 -0
- package/dist/hover-card-Dc8yLsm-.js.map +1 -0
- package/dist/index.d.ts +94 -93
- package/dist/index.js +1 -1
- package/dist/input-CI3RPXz0.d.ts +8 -0
- package/dist/input-Cmjl8YdK.js +2 -0
- package/dist/input-Cmjl8YdK.js.map +1 -0
- package/dist/input-group-CBn36aMg.d.ts +26 -0
- package/dist/input-group-DsO2W3Lw.js +2 -0
- package/dist/input-group-DsO2W3Lw.js.map +1 -0
- package/dist/input-otp-CzfRHf2V.js +2 -0
- package/dist/input-otp-CzfRHf2V.js.map +1 -0
- package/dist/input-otp-gIEkdiIC.d.ts +19 -0
- package/dist/kbd-BTl3AgkY.js +2 -0
- package/dist/kbd-BTl3AgkY.js.map +1 -0
- package/dist/kbd-DELCQBD0.d.ts +10 -0
- package/dist/label-BQDEej_c.js +2 -0
- package/dist/label-BQDEej_c.js.map +1 -0
- package/dist/label-KZl6I5Ey.d.ts +9 -0
- package/dist/lib/badge.d.ts +2 -19
- package/dist/lib/badge.js +1 -2
- package/dist/lib/badge.spec.d.ts +1 -0
- package/dist/lib/badge.spec.js +2 -0
- package/dist/lib/badge.spec.js.map +1 -0
- package/dist/lib/button.d.ts +2 -19
- package/dist/lib/button.js +1 -2
- package/dist/lib/button.spec.d.ts +1 -0
- package/dist/lib/button.spec.js +2 -0
- package/dist/lib/button.spec.js.map +1 -0
- package/dist/lib/color.d.ts +2 -19
- package/dist/lib/color.js +1 -2
- package/dist/lib/color.spec.d.ts +1 -0
- package/dist/lib/color.spec.js +2 -0
- package/dist/lib/color.spec.js.map +1 -0
- package/dist/lib/compose-refs.d.ts +2 -8
- package/dist/lib/compose-refs.js +1 -2
- package/dist/lib/compose-refs.spec.d.ts +1 -0
- package/dist/lib/compose-refs.spec.js +2 -0
- package/dist/lib/compose-refs.spec.js.map +1 -0
- package/dist/lib/progress.d.ts +2 -19
- package/dist/lib/progress.js +1 -2
- package/dist/lib/progress.spec.d.ts +1 -0
- package/dist/lib/progress.spec.js +2 -0
- package/dist/lib/progress.spec.js.map +1 -0
- package/dist/lib/utils.d.ts +2 -8
- package/dist/lib/utils.js +1 -2
- package/dist/lib/utils.spec.d.ts +1 -0
- package/dist/lib/utils.spec.js +2 -0
- package/dist/lib/utils.spec.js.map +1 -0
- package/dist/list-BbCg-ndB.js +2 -0
- package/dist/list-BbCg-ndB.js.map +1 -0
- package/dist/list-DMa2j1rk.d.ts +25 -0
- package/dist/logo-B0v9bNJH.js +2 -0
- package/dist/logo-B0v9bNJH.js.map +1 -0
- package/dist/logo-Buo7sqqn.d.ts +69 -0
- package/dist/marker-4_EnMIHk.js +2 -0
- package/dist/marker-4_EnMIHk.js.map +1 -0
- package/dist/marker-C4wLa1c0.d.ts +18 -0
- package/dist/mask-input-B4R5K1h6.d.ts +16 -0
- package/dist/mask-input-ssK7U_Pl.js +2 -0
- package/dist/mask-input-ssK7U_Pl.js.map +1 -0
- package/dist/native-select-BVmdMkHY.d.ts +14 -0
- package/dist/native-select-DZW3Y7nq.js +2 -0
- package/dist/native-select-DZW3Y7nq.js.map +1 -0
- package/dist/navigation-menu-B6drNL1-.js +2 -0
- package/dist/navigation-menu-B6drNL1-.js.map +1 -0
- package/dist/navigation-menu-siQVRMUF.d.ts +26 -0
- package/dist/number-field-IdgO_BUa.d.ts +35 -0
- package/dist/number-field-rEMfZa6A.js +2 -0
- package/dist/number-field-rEMfZa6A.js.map +1 -0
- package/dist/pagination-BZ3xMXsy.d.ts +27 -0
- package/dist/pagination-gnUKddCN.js +2 -0
- package/dist/pagination-gnUKddCN.js.map +1 -0
- package/dist/phone-input-By5lNF03.d.ts +13 -0
- package/dist/phone-input-D72tVPWH.js +2 -0
- package/dist/phone-input-D72tVPWH.js.map +1 -0
- package/dist/pie-chart-CvG27kFN.d.ts +42 -0
- package/dist/pie-chart-S4nMKbsW.js +2 -0
- package/dist/pie-chart-S4nMKbsW.js.map +1 -0
- package/dist/popover-BtX3tX8M.js +2 -0
- package/dist/popover-BtX3tX8M.js.map +1 -0
- package/dist/popover-DchAqyKn.d.ts +21 -0
- package/dist/progress-DeXRCHUw.d.ts +19 -0
- package/dist/progress-QvpY7tiy.js +2 -0
- package/dist/progress-QvpY7tiy.js.map +1 -0
- package/dist/progress-icFwrvnE.js +2 -0
- package/dist/progress-icFwrvnE.js.map +1 -0
- package/dist/progress-mEAw9ZhK.d.ts +14 -0
- package/dist/radio-group-BNbepK_U.d.ts +25 -0
- package/dist/radio-group-DM8n0XPS.js +2 -0
- package/dist/radio-group-DM8n0XPS.js.map +1 -0
- package/dist/{react.esm-D5AipFQb.js → react.esm-BkhVXJ8s.js} +2 -2
- package/dist/{react.esm-D5AipFQb.js.map → react.esm-BkhVXJ8s.js.map} +1 -1
- package/dist/resizable-DMQG3xF_.d.ts +14 -0
- package/dist/resizable-Dbg7r7nF.js +2 -0
- package/dist/resizable-Dbg7r7nF.js.map +1 -0
- package/dist/ring-progress-65ccdTQQ.d.ts +17 -0
- package/dist/ring-progress-Bfqq_HHA.js +2 -0
- package/dist/ring-progress-Bfqq_HHA.js.map +1 -0
- package/dist/scroll-area-DFcj5q66.d.ts +11 -0
- package/dist/scroll-area-DKS4QPHg.js +2 -0
- package/dist/scroll-area-DKS4QPHg.js.map +1 -0
- package/dist/select-BoYp-Xyc.d.ts +29 -0
- package/dist/select-C3QYNv4t.js +2 -0
- package/dist/select-C3QYNv4t.js.map +1 -0
- package/dist/separator-BsRLiqWE.d.ts +9 -0
- package/dist/separator-CCMmbXL0.js +2 -0
- package/dist/separator-CCMmbXL0.js.map +1 -0
- package/dist/sidebar-B5bEgDy5.js +2 -0
- package/dist/sidebar-B5bEgDy5.js.map +1 -0
- package/dist/sidebar-D7HQlj5O.d.ts +96 -0
- package/dist/simple-grid-9EryoUWI.js +2 -0
- package/dist/simple-grid-9EryoUWI.js.map +1 -0
- package/dist/simple-grid-B2zjpwZ3.d.ts +14 -0
- package/dist/skeleton-Cn3zBJRe.js +2 -0
- package/dist/skeleton-Cn3zBJRe.js.map +1 -0
- package/dist/skeleton-Co8pevj-.d.ts +10 -0
- package/dist/skills/uselets-ui/references/component-catalog.md +3 -0
- package/dist/skills/uselets-ui/references/package-guide.md +1 -1
- package/dist/slider-CC-gQawq.js +2 -0
- package/dist/slider-CC-gQawq.js.map +1 -0
- package/dist/slider-DmZ1YfLg.d.ts +9 -0
- package/dist/sonner-Binx8JJ2.d.ts +8 -0
- package/dist/sonner-DrKqhTDI.js +2 -0
- package/dist/sonner-DrKqhTDI.js.map +1 -0
- package/dist/spinner-Dz63Ltq-.d.ts +12 -0
- package/dist/spinner-ntLrcDLN.js +2 -0
- package/dist/spinner-ntLrcDLN.js.map +1 -0
- package/dist/stack-BbLllsqk.js +2 -0
- package/dist/stack-BbLllsqk.js.map +1 -0
- package/dist/stack-WiND8Dxq.d.ts +14 -0
- package/dist/stepper-BQ-59_UO.js +2 -0
- package/dist/stepper-BQ-59_UO.js.map +1 -0
- package/dist/stepper-DK5_o7RG.d.ts +71 -0
- package/dist/switch-DjdOGECT.js +2 -0
- package/dist/switch-DjdOGECT.js.map +1 -0
- package/dist/switch-OtBakZHc.d.ts +17 -0
- package/dist/table-CuE0Aenj.js +2 -0
- package/dist/table-CuE0Aenj.js.map +1 -0
- package/dist/table-qIAtG7Y5.d.ts +33 -0
- package/dist/tabs-BgWxTTah.d.ts +21 -0
- package/dist/tabs-DK9-RHkP.js +2 -0
- package/dist/tabs-DK9-RHkP.js.map +1 -0
- package/dist/text-CKFZ9Xsj.d.ts +14 -0
- package/dist/text-Kg1xuinT.js +2 -0
- package/dist/text-Kg1xuinT.js.map +1 -0
- package/dist/textarea-C8zrf9Rz.js +2 -0
- package/dist/textarea-C8zrf9Rz.js.map +1 -0
- package/dist/textarea-Cr9_P-bV.d.ts +8 -0
- package/dist/theme-BwEhfTyl.d.ts +22 -0
- package/dist/theme-DZJ_cJYp.js +2 -0
- package/dist/theme-DZJ_cJYp.js.map +1 -0
- package/dist/timeline-BDY3YzeJ.d.ts +61 -0
- package/dist/timeline-pBm0t1tb.js +2 -0
- package/dist/timeline-pBm0t1tb.js.map +1 -0
- package/dist/toggle-DJJkcqDy.js +2 -0
- package/dist/toggle-DJJkcqDy.js.map +1 -0
- package/dist/toggle-group-C3iNDYqI.d.ts +16 -0
- package/dist/toggle-group-D0OIpZN-.js +2 -0
- package/dist/toggle-group-D0OIpZN-.js.map +1 -0
- package/dist/toggle-jc8s_Z3T.d.ts +15 -0
- package/dist/tooltip-BZjnEqw5.d.ts +21 -0
- package/dist/tooltip-CNUNWZvs.js +2 -0
- package/dist/tooltip-CNUNWZvs.js.map +1 -0
- package/dist/unstyled-button-C-Zs4Qv2.d.ts +10 -0
- package/dist/unstyled-button-lGbDJA55.js +2 -0
- package/dist/unstyled-button-lGbDJA55.js.map +1 -0
- package/dist/use-breakpoint-D6YACz8C.js +2 -0
- package/dist/use-breakpoint-D6YACz8C.js.map +1 -0
- package/dist/use-breakpoint-DDuQFekj.d.ts +8 -0
- package/dist/use-breakpoint-value-BDjKflDX.js +2 -0
- package/dist/use-breakpoint-value-BDjKflDX.js.map +1 -0
- package/dist/use-breakpoint-value-CRbHqGAu.d.ts +8 -0
- package/dist/use-disclosure-CNaFpYFQ.d.ts +22 -0
- package/dist/use-disclosure-Cr405eRD.js +2 -0
- package/dist/use-disclosure-Cr405eRD.js.map +1 -0
- package/dist/use-document-visibility-CoWjCswu.js +2 -0
- package/dist/use-document-visibility-CoWjCswu.js.map +1 -0
- package/dist/use-document-visibility-DIzUN4tB.d.ts +6 -0
- package/dist/use-idle-Bsi10VE9.d.ts +13 -0
- package/dist/use-idle-DgheJlxd.js +2 -0
- package/dist/use-idle-DgheJlxd.js.map +1 -0
- package/dist/use-interval-B1aNo3tA.js +2 -0
- package/dist/use-interval-B1aNo3tA.js.map +1 -0
- package/dist/use-interval-CJVmE_lC.d.ts +24 -0
- package/dist/use-local-storage-CJBqB1GC.js +2 -0
- package/dist/use-local-storage-CJBqB1GC.js.map +1 -0
- package/dist/use-local-storage-Cmq4PWJc.d.ts +16 -0
- package/dist/use-mask-DBvFShXA.js +2 -0
- package/dist/use-mask-DBvFShXA.js.map +1 -0
- package/dist/use-mask-DRJVVcdh.d.ts +8 -0
- package/dist/use-mobile-BYwiljVq.d.ts +6 -0
- package/dist/use-mobile-OMmp56u2.js +2 -0
- package/dist/use-mobile-OMmp56u2.js.map +1 -0
- package/dist/utils-DGsdoA5l.d.ts +8 -0
- package/dist/utils-DP9KtG7I.js +2 -0
- package/dist/utils-DP9KtG7I.js.map +1 -0
- package/dist/visibility-_3zV3l-A.d.ts +17 -0
- package/dist/visibility-twHwe9Xp.js +2 -0
- package/dist/visibility-twHwe9Xp.js.map +1 -0
- package/package.json +10 -8
- package/skills/uselets-ui/references/component-catalog.md +3 -0
- package/skills/uselets-ui/references/package-guide.md +1 -1
- package/dist/components/accordion.js.map +0 -1
- package/dist/components/alert-dialog.js.map +0 -1
- package/dist/components/alert.js.map +0 -1
- package/dist/components/anchor.js.map +0 -1
- package/dist/components/area-chart.js.map +0 -1
- package/dist/components/avatar.js.map +0 -1
- package/dist/components/badge.js.map +0 -1
- package/dist/components/bar-chart.js.map +0 -1
- package/dist/components/breadcrumb.js.map +0 -1
- package/dist/components/button-group.js.map +0 -1
- package/dist/components/button.js.map +0 -1
- package/dist/components/calendar.js.map +0 -1
- package/dist/components/card.js.map +0 -1
- package/dist/components/carousel.js.map +0 -1
- package/dist/components/center.js.map +0 -1
- package/dist/components/chart.js.map +0 -1
- package/dist/components/checkbox.js.map +0 -1
- package/dist/components/code.js.map +0 -1
- package/dist/components/collapsible.js.map +0 -1
- package/dist/components/combobox.js.map +0 -1
- package/dist/components/command.js.map +0 -1
- package/dist/components/container.js.map +0 -1
- package/dist/components/data-table.js.map +0 -1
- package/dist/components/date-range-picker.js.map +0 -1
- package/dist/components/dialog.js.map +0 -1
- package/dist/components/donut-chart.js.map +0 -1
- package/dist/components/drawer.js.map +0 -1
- package/dist/components/dropdown-menu.js.map +0 -1
- package/dist/components/dropzone.js.map +0 -1
- package/dist/components/empty.js.map +0 -1
- package/dist/components/field.js.map +0 -1
- package/dist/components/flex.js.map +0 -1
- package/dist/components/grid.js.map +0 -1
- package/dist/components/group.js.map +0 -1
- package/dist/components/heading.js.map +0 -1
- package/dist/components/hover-card.js.map +0 -1
- package/dist/components/input-group.js.map +0 -1
- package/dist/components/input-otp.js.map +0 -1
- package/dist/components/input.js.map +0 -1
- package/dist/components/kbd.js.map +0 -1
- package/dist/components/label.js.map +0 -1
- package/dist/components/list.js.map +0 -1
- package/dist/components/marker.js.map +0 -1
- package/dist/components/mask-input.js.map +0 -1
- package/dist/components/native-select.js.map +0 -1
- package/dist/components/navigation-menu.js.map +0 -1
- package/dist/components/number-field.js.map +0 -1
- package/dist/components/pagination.js.map +0 -1
- package/dist/components/phone-input.js.map +0 -1
- package/dist/components/pie-chart.js.map +0 -1
- package/dist/components/popover.js.map +0 -1
- package/dist/components/progress.js.map +0 -1
- package/dist/components/radio-group.js.map +0 -1
- package/dist/components/resizable.js.map +0 -1
- package/dist/components/ring-progress.js.map +0 -1
- package/dist/components/scroll-area.js.map +0 -1
- package/dist/components/select.js.map +0 -1
- package/dist/components/separator.js.map +0 -1
- package/dist/components/sidebar.js.map +0 -1
- package/dist/components/simple-grid.js.map +0 -1
- package/dist/components/skeleton.js.map +0 -1
- package/dist/components/slider.js.map +0 -1
- package/dist/components/sonner.js.map +0 -1
- package/dist/components/spinner.js.map +0 -1
- package/dist/components/stack.js.map +0 -1
- package/dist/components/stepper.js.map +0 -1
- package/dist/components/switch.js.map +0 -1
- package/dist/components/table.js.map +0 -1
- package/dist/components/tabs.js.map +0 -1
- package/dist/components/text.js.map +0 -1
- package/dist/components/textarea.js.map +0 -1
- package/dist/components/theme.js.map +0 -1
- package/dist/components/timeline.js.map +0 -1
- package/dist/components/toggle-group.js.map +0 -1
- package/dist/components/toggle.js.map +0 -1
- package/dist/components/tooltip.js.map +0 -1
- package/dist/components/unstyled-button.js.map +0 -1
- package/dist/components/visibility.js.map +0 -1
- package/dist/hooks/use-breakpoint-value.js.map +0 -1
- package/dist/hooks/use-breakpoint.js.map +0 -1
- package/dist/hooks/use-disclosure.js.map +0 -1
- package/dist/hooks/use-document-visibility.js.map +0 -1
- package/dist/hooks/use-idle.js.map +0 -1
- package/dist/hooks/use-interval.js.map +0 -1
- package/dist/hooks/use-local-storage.js.map +0 -1
- package/dist/hooks/use-mask.js.map +0 -1
- package/dist/hooks/use-mobile.js.map +0 -1
- package/dist/lib/badge.js.map +0 -1
- package/dist/lib/button.js.map +0 -1
- package/dist/lib/color.js.map +0 -1
- package/dist/lib/compose-refs.js.map +0 -1
- package/dist/lib/progress.js.map +0 -1
- package/dist/lib/utils.js.map +0 -1
- package/dist/magic-string.es-oADFB1hu.js +0 -15
- package/dist/magic-string.es-oADFB1hu.js.map +0 -1
- package/dist/utils-Cj3IZeiu.js +0 -37
- package/dist/utils-Cj3IZeiu.js.map +0 -1
package/dist/components/field.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
//# sourceMappingURL=field.js.map
|
|
1
|
+
import{a as e,c as t,d as n,i as r,l as i,n as a,o,r as s,s as c,t as l,u}from"../field-DzR-XrO7.js";export{l as Field,a as FieldContent,s as FieldDescription,r as FieldError,e as FieldGroup,o as FieldLabel,c as FieldLegend,t as FieldSeparator,i as FieldSet,u as FieldTitle,n as useFieldControlId};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import"../rolldown-runtime-Bdj-bS2b.js";import{
|
|
1
|
+
import"../rolldown-runtime-Bdj-bS2b.js";import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"../field-DzR-XrO7.js";import{t as u}from"../checkbox-DPvW_m7k.js";import{t as d}from"../input-Cmjl8YdK.js";import{t as f}from"../textarea-C8zrf9Rz.js";import{l as p,t as m,u as h}from"../select-C3QYNv4t.js";import{r as g,t as _}from"../native-select-DZW3Y7nq.js";import{a as v,r as y}from"../react.esm-BkhVXJ8s.js";import{Fragment as b,jsx as x,jsxs as S}from"react/jsx-runtime";describe(`Field`,()=>{it(`renders with the default vertical orientation`,()=>{let{container:e}=y(x(c,{children:`content`})),t=e.querySelector(`[data-slot="field"]`);expect(t.getAttribute(`data-orientation`)).toBe(`vertical`),expect(t.className).toContain(`flex-col`)}),it(`renders horizontal and responsive orientations`,()=>{let{container:e}=y(x(c,{orientation:`horizontal`,children:`content`})),{container:t}=y(x(c,{orientation:`responsive`,children:`content`})),n=e.querySelector(`[data-slot="field"]`),r=t.querySelector(`[data-slot="field"]`);expect(n.getAttribute(`data-orientation`)).toBe(`horizontal`),expect(n.className).toContain(`flex-row`),expect(r.getAttribute(`data-orientation`)).toBe(`responsive`),expect(r.className).toContain(`@md/field-group:flex-row`)}),it(`merges a custom className with its variant classes`,()=>{let{container:e}=y(x(c,{className:`custom-field`,children:`content`}));expect(e.querySelector(`[data-slot="field"]`)?.className).toContain(`custom-field`)}),describe(`automatic control id wiring`,()=>{it(`wires FieldLabel and Input with a generated id when ids are omitted`,()=>{y(S(c,{children:[x(a,{children:`Email`}),x(d,{})]}));let e=v.getByLabelText(`Email`),t=v.getByText(`Email`);expect(e.getAttribute(`id`)).toBeTruthy(),expect(t.getAttribute(`for`)).toBe(e.getAttribute(`id`))}),it(`preserves explicit input ids and label htmlFor values`,()=>{y(S(c,{children:[x(a,{htmlFor:`explicit-label-target`,children:`Email`}),x(d,{id:`explicit-input`})]})),expect(v.getByText(`Email`).getAttribute(`for`)).toBe(`explicit-label-target`),expect(document.getElementById(`explicit-input`)).not.toBeNull()}),it(`does not assign ids or throw outside Field`,()=>{let{container:e}=y(S(b,{children:[x(a,{children:`Email`}),x(d,{})]}));expect(e.querySelector(`[data-slot="field-label"]`)?.getAttribute(`for`)).toBeNull(),expect(e.querySelector(`[data-slot="input"]`)?.getAttribute(`id`)).toBeNull()}),it(`wires representative controls to the generated Field id`,()=>{y(S(b,{children:[S(c,{children:[x(a,{children:`Message`}),x(f,{})]}),S(c,{children:[x(a,{children:`Framework`}),x(_,{children:x(g,{value:`react`,children:`React`})})]}),S(c,{children:[x(a,{children:`Category`}),x(m,{children:x(p,{children:x(h,{placeholder:`Select a category`})})})]}),S(c,{children:[x(a,{children:`Terms`}),x(u,{})]})]}));for(let e of[`Message`,`Framework`,`Category`,`Terms`]){let t=v.getByText(e).getAttribute(`for`);expect(t).toBeTruthy(),expect(document.getElementById(t??``)).not.toBeNull()}})}),describe(`FieldSet`,()=>{it(`renders a fieldset with the expected data-slot and base classes`,()=>{let{container:e}=y(x(r,{children:`content`})),t=e.querySelector(`[data-slot="field-set"]`);expect(t?.tagName).toBe(`FIELDSET`),expect(t?.className).toContain(`flex-col`)})}),describe(`FieldLegend`,()=>{it(`defaults to the legend variant`,()=>{let{container:e}=y(x(s,{children:`Legend`})),t=e.querySelector(`[data-slot="field-legend"]`);expect(t?.getAttribute(`data-variant`)).toBe(`legend`)}),it(`supports the label variant`,()=>{let{container:e}=y(x(s,{variant:`label`,children:`Legend`}));expect(e.querySelector(`[data-slot="field-legend"]`)?.getAttribute(`data-variant`)).toBe(`label`)})}),describe(`FieldGroup`,()=>{it(`renders with the group data-slot and base classes`,()=>{let{container:t}=y(x(e,{children:`content`}));expect(t.querySelector(`[data-slot="field-group"]`)?.className).toContain(`flex-col`)})}),describe(`FieldContent`,()=>{it(`renders with the field-content data-slot`,()=>{let{container:e}=y(x(i,{children:`content`}));expect(e.querySelector(`[data-slot="field-content"]`)).not.toBeNull()})}),describe(`FieldTitle`,()=>{it(`renders as a div with the field-label data-slot`,()=>{let{container:e}=y(x(l,{children:`Title`})),t=e.querySelector(`[data-slot="field-label"]`);expect(t?.tagName).toBe(`DIV`),expect(t?.textContent).toBe(`Title`)})}),describe(`FieldDescription`,()=>{it(`renders as a paragraph with the field-description data-slot`,()=>{let{container:e}=y(x(o,{children:`Helper text`})),t=e.querySelector(`[data-slot="field-description"]`);expect(t?.tagName).toBe(`P`),expect(t?.textContent).toBe(`Helper text`)})}),describe(`FieldSeparator`,()=>{it(`marks data-content as false and renders no content span when childless`,()=>{let{container:e}=y(x(t,{})),n=e.querySelector(`[data-slot="field-separator"]`);expect(n?.getAttribute(`data-content`)).toBe(`false`),expect(e.querySelector(`[data-slot="field-separator-content"]`)).toBeNull()}),it(`marks data-content as true and renders the children in a content span`,()=>{let{container:e}=y(x(t,{children:`or`})),n=e.querySelector(`[data-slot="field-separator"]`),r=e.querySelector(`[data-slot="field-separator-content"]`);expect(n?.getAttribute(`data-content`)).toBe(`true`),expect(r?.textContent).toBe(`or`)})}),describe(`FieldError`,()=>{it(`renders nothing when there are no children and no errors`,()=>{let{container:e}=y(x(n,{}));expect(e.querySelector(`[data-slot="field-error"]`)).toBeNull()}),it(`renders explicit children even when errors are also provided`,()=>{y(x(n,{errors:[{message:`Ignored`}],children:`Custom message`})),expect(v.getByRole(`alert`).textContent).toBe(`Custom message`)}),it(`renders a single error message directly`,()=>{y(x(n,{errors:[{message:`Required`}]})),expect(v.getByRole(`alert`).textContent).toBe(`Required`)}),it(`renders multiple unique error messages as a list`,()=>{y(x(n,{errors:[{message:`Required`},{message:`Too short`}]}));let e=v.getByRole(`alert`).querySelectorAll(`li`);expect(e).toHaveLength(2),expect(e[0]?.textContent).toBe(`Required`),expect(e[1]?.textContent).toBe(`Too short`)}),it(`deduplicates errors sharing the same message`,()=>{y(x(n,{errors:[{message:`Required`},{message:`Required`}]}));let e=v.getByRole(`alert`);expect(e.querySelectorAll(`li`)).toHaveLength(0),expect(e.textContent).toBe(`Required`)}),it(`ignores errors without a message and undefined entries`,()=>{y(x(n,{errors:[void 0,{message:void 0}]})),expect(v.queryByRole(`alert`)).toBeNull()})})});
|
|
2
2
|
//# sourceMappingURL=field.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"field.spec.js","names":[],"sources":["../../src/components/field.spec.tsx"],"sourcesContent":["import { render, screen } from '@testing-library/react'\n\nimport { Checkbox } from './checkbox'\nimport { Field, FieldLabel } from './field'\nimport { Input } from './input'\nimport { NativeSelect, NativeSelectOption } from './native-select'\nimport { Select, SelectTrigger, SelectValue } from './select'\nimport { Textarea } from './textarea'\n\ndescribe('Field automatic control ids', () => {\n it('wires FieldLabel and Input with a generated id when ids are omitted', () => {\n render(\n <Field>\n <FieldLabel>Email</FieldLabel>\n <Input />\n </Field>\n )\n\n const input = screen.getByLabelText('Email')\n const label = screen.getByText('Email')\n\n expect(input.getAttribute('id')).toBeTruthy()\n expect(label.getAttribute('for')).toBe(input.getAttribute('id'))\n })\n\n it('preserves explicit input ids and label htmlFor values', () => {\n render(\n <Field>\n <FieldLabel htmlFor=\"explicit-label-target\">Email</FieldLabel>\n <Input id=\"explicit-input\" />\n </Field>\n )\n\n expect(screen.getByText('Email').getAttribute('for')).toBe('explicit-label-target')\n expect(document.getElementById('explicit-input')).not.toBeNull()\n })\n\n it('does not assign ids or throw outside Field', () => {\n const { container } = render(\n <>\n <FieldLabel>Email</FieldLabel>\n <Input />\n </>\n )\n\n expect(container.querySelector('[data-slot=\"field-label\"]')?.getAttribute('for')).toBeNull()\n expect(container.querySelector('[data-slot=\"input\"]')?.getAttribute('id')).toBeNull()\n })\n\n it('wires representative controls to the generated Field id', () => {\n render(\n <>\n <Field>\n <FieldLabel>Message</FieldLabel>\n <Textarea />\n </Field>\n\n <Field>\n <FieldLabel>Framework</FieldLabel>\n <NativeSelect>\n <NativeSelectOption value=\"react\">React</NativeSelectOption>\n </NativeSelect>\n </Field>\n\n <Field>\n <FieldLabel>Category</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a category\" />\n </SelectTrigger>\n </Select>\n </Field>\n\n <Field>\n <FieldLabel>Terms</FieldLabel>\n <Checkbox />\n </Field>\n </>\n )\n\n for (const label of ['Message', 'Framework', 'Category', 'Terms']) {\n const labelElement = screen.getByText(label)\n const controlId = labelElement.getAttribute('for')\n\n expect(controlId).toBeTruthy()\n expect(document.getElementById(controlId ?? '')).not.toBeNull()\n }\n })\n})\n"],"mappings":"udASA,SAAS,kCAAqC,CAC5C,GAAG,0EAA6E,CAC9E,EACE,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAA,SAAY,OAAiB,CAAA,EAC7B,EAAC,EAAD,CAAQ,CAAA,CACH,CAAA,CAAA,CACT,EAEA,IAAM,EAAQ,EAAO,eAAe,OAAO,EACrC,EAAQ,EAAO,UAAU,OAAO,EAEtC,OAAO,EAAM,aAAa,IAAI,CAAC,CAAC,CAAC,WAAW,EAC5C,OAAO,EAAM,aAAa,KAAK,CAAC,CAAC,CAAC,KAAK,EAAM,aAAa,IAAI,CAAC,CACjE,CAAC,EAED,GAAG,4DAA+D,CAChE,EACE,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAY,QAAQ,wBAAwB,SAAA,OAAiB,CAAA,EAC7D,EAAC,EAAD,CAAO,GAAG,gBAAkB,CAAA,CACvB,CAAA,CAAA,CACT,EAEA,OAAO,EAAO,UAAU,OAAO,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,CAAC,KAAK,uBAAuB,EAClF,OAAO,SAAS,eAAe,gBAAgB,CAAC,CAAC,CAAC,IAAI,SAAS,CACjE,CAAC,EAED,GAAG,iDAAoD,CACrD,GAAM,CAAE,aAAc,EACpB,EAAA,EAAA,CAAA,SAAA,CACE,EAAC,EAAD,CAAA,SAAY,OAAiB,CAAA,EAC7B,EAAC,EAAD,CAAQ,CAAA,CACR,CAAA,CAAA,CACJ,EAEA,OAAO,EAAU,cAAc,2BAA2B,CAAC,EAAE,aAAa,KAAK,CAAC,CAAC,CAAC,SAAS,EAC3F,OAAO,EAAU,cAAc,qBAAqB,CAAC,EAAE,aAAa,IAAI,CAAC,CAAC,CAAC,SAAS,CACtF,CAAC,EAED,GAAG,8DAAiE,CAClE,EACE,EAAA,EAAA,CAAA,SAAA,CACE,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAA,SAAY,SAAmB,CAAA,EAC/B,EAAC,EAAD,CAAW,CAAA,CACN,CAAA,CAAA,EAEP,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAA,SAAY,WAAqB,CAAA,EACjC,EAAC,EAAD,CAAA,SACE,EAAC,EAAD,CAAoB,MAAM,QAAQ,SAAA,OAAyB,CAAA,CAC/C,CAAA,CACT,CAAA,CAAA,EAEP,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAA,SAAY,UAAoB,CAAA,EAChC,EAAC,EAAD,CAAA,SACE,EAAC,EAAD,CAAA,SACE,EAAC,EAAD,CAAa,YAAY,mBAAqB,CAAA,CACjC,CAAA,CACT,CAAA,CACH,CAAA,CAAA,EAEP,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAA,SAAY,OAAiB,CAAA,EAC7B,EAAC,EAAD,CAAW,CAAA,CACN,CAAA,CAAA,CACP,CAAA,CAAA,CACJ,EAEA,IAAK,IAAM,IAAS,CAAC,UAAW,YAAa,WAAY,OAAO,EAAG,CAEjE,IAAM,EADe,EAAO,UAAU,CACT,CAAC,CAAC,aAAa,KAAK,EAEjD,OAAO,CAAS,CAAC,CAAC,WAAW,EAC7B,OAAO,SAAS,eAAe,GAAa,EAAE,CAAC,CAAC,CAAC,IAAI,SAAS,CAChE,CACF,CAAC,CACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"field.spec.js","names":[],"sources":["../../src/components/field.spec.tsx"],"sourcesContent":["import { render, screen } from '@testing-library/react'\n\nimport { Checkbox } from './checkbox'\nimport {\n Field,\n FieldContent,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLabel,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldTitle\n} from './field'\nimport { Input } from './input'\nimport { NativeSelect, NativeSelectOption } from './native-select'\nimport { Select, SelectTrigger, SelectValue } from './select'\nimport { Textarea } from './textarea'\n\ndescribe('Field', () => {\n it('renders with the default vertical orientation', () => {\n const { container } = render(<Field>content</Field>)\n\n const field = container.querySelector('[data-slot=\"field\"]') as HTMLElement\n\n expect(field.getAttribute('data-orientation')).toBe('vertical')\n expect(field.className).toContain('flex-col')\n })\n\n it('renders horizontal and responsive orientations', () => {\n const { container: horizontal } = render(<Field orientation=\"horizontal\">content</Field>)\n const { container: responsive } = render(<Field orientation=\"responsive\">content</Field>)\n\n const horizontalField = horizontal.querySelector('[data-slot=\"field\"]') as HTMLElement\n const responsiveField = responsive.querySelector('[data-slot=\"field\"]') as HTMLElement\n\n expect(horizontalField.getAttribute('data-orientation')).toBe('horizontal')\n expect(horizontalField.className).toContain('flex-row')\n expect(responsiveField.getAttribute('data-orientation')).toBe('responsive')\n expect(responsiveField.className).toContain('@md/field-group:flex-row')\n })\n\n it('merges a custom className with its variant classes', () => {\n const { container } = render(<Field className=\"custom-field\">content</Field>)\n\n expect(container.querySelector('[data-slot=\"field\"]')?.className).toContain('custom-field')\n })\n\n describe('automatic control id wiring', () => {\n it('wires FieldLabel and Input with a generated id when ids are omitted', () => {\n render(\n <Field>\n <FieldLabel>Email</FieldLabel>\n <Input />\n </Field>\n )\n\n const input = screen.getByLabelText('Email')\n const label = screen.getByText('Email')\n\n expect(input.getAttribute('id')).toBeTruthy()\n expect(label.getAttribute('for')).toBe(input.getAttribute('id'))\n })\n\n it('preserves explicit input ids and label htmlFor values', () => {\n render(\n <Field>\n <FieldLabel htmlFor=\"explicit-label-target\">Email</FieldLabel>\n <Input id=\"explicit-input\" />\n </Field>\n )\n\n expect(screen.getByText('Email').getAttribute('for')).toBe('explicit-label-target')\n expect(document.getElementById('explicit-input')).not.toBeNull()\n })\n\n it('does not assign ids or throw outside Field', () => {\n const { container } = render(\n <>\n <FieldLabel>Email</FieldLabel>\n <Input />\n </>\n )\n\n expect(container.querySelector('[data-slot=\"field-label\"]')?.getAttribute('for')).toBeNull()\n expect(container.querySelector('[data-slot=\"input\"]')?.getAttribute('id')).toBeNull()\n })\n\n it('wires representative controls to the generated Field id', () => {\n render(\n <>\n <Field>\n <FieldLabel>Message</FieldLabel>\n <Textarea />\n </Field>\n\n <Field>\n <FieldLabel>Framework</FieldLabel>\n <NativeSelect>\n <NativeSelectOption value=\"react\">React</NativeSelectOption>\n </NativeSelect>\n </Field>\n\n <Field>\n <FieldLabel>Category</FieldLabel>\n <Select>\n <SelectTrigger>\n <SelectValue placeholder=\"Select a category\" />\n </SelectTrigger>\n </Select>\n </Field>\n\n <Field>\n <FieldLabel>Terms</FieldLabel>\n <Checkbox />\n </Field>\n </>\n )\n\n for (const label of ['Message', 'Framework', 'Category', 'Terms']) {\n const labelElement = screen.getByText(label)\n const controlId = labelElement.getAttribute('for')\n\n expect(controlId).toBeTruthy()\n expect(document.getElementById(controlId ?? '')).not.toBeNull()\n }\n })\n })\n\n describe('FieldSet', () => {\n it('renders a fieldset with the expected data-slot and base classes', () => {\n const { container } = render(<FieldSet>content</FieldSet>)\n\n const fieldset = container.querySelector('[data-slot=\"field-set\"]')\n\n expect(fieldset?.tagName).toBe('FIELDSET')\n expect(fieldset?.className).toContain('flex-col')\n })\n })\n\n describe('FieldLegend', () => {\n it('defaults to the legend variant', () => {\n const { container } = render(<FieldLegend>Legend</FieldLegend>)\n\n const legend = container.querySelector('[data-slot=\"field-legend\"]')\n\n expect(legend?.getAttribute('data-variant')).toBe('legend')\n })\n\n it('supports the label variant', () => {\n const { container } = render(<FieldLegend variant=\"label\">Legend</FieldLegend>)\n\n expect(container.querySelector('[data-slot=\"field-legend\"]')?.getAttribute('data-variant')).toBe('label')\n })\n })\n\n describe('FieldGroup', () => {\n it('renders with the group data-slot and base classes', () => {\n const { container } = render(<FieldGroup>content</FieldGroup>)\n\n expect(container.querySelector('[data-slot=\"field-group\"]')?.className).toContain('flex-col')\n })\n })\n\n describe('FieldContent', () => {\n it('renders with the field-content data-slot', () => {\n const { container } = render(<FieldContent>content</FieldContent>)\n\n expect(container.querySelector('[data-slot=\"field-content\"]')).not.toBeNull()\n })\n })\n\n describe('FieldTitle', () => {\n it('renders as a div with the field-label data-slot', () => {\n const { container } = render(<FieldTitle>Title</FieldTitle>)\n\n const title = container.querySelector('[data-slot=\"field-label\"]')\n\n expect(title?.tagName).toBe('DIV')\n expect(title?.textContent).toBe('Title')\n })\n })\n\n describe('FieldDescription', () => {\n it('renders as a paragraph with the field-description data-slot', () => {\n const { container } = render(<FieldDescription>Helper text</FieldDescription>)\n\n const description = container.querySelector('[data-slot=\"field-description\"]')\n\n expect(description?.tagName).toBe('P')\n expect(description?.textContent).toBe('Helper text')\n })\n })\n\n describe('FieldSeparator', () => {\n it('marks data-content as false and renders no content span when childless', () => {\n const { container } = render(<FieldSeparator />)\n\n const separator = container.querySelector('[data-slot=\"field-separator\"]')\n\n expect(separator?.getAttribute('data-content')).toBe('false')\n expect(container.querySelector('[data-slot=\"field-separator-content\"]')).toBeNull()\n })\n\n it('marks data-content as true and renders the children in a content span', () => {\n const { container } = render(<FieldSeparator>or</FieldSeparator>)\n\n const separator = container.querySelector('[data-slot=\"field-separator\"]')\n const content = container.querySelector('[data-slot=\"field-separator-content\"]')\n\n expect(separator?.getAttribute('data-content')).toBe('true')\n expect(content?.textContent).toBe('or')\n })\n })\n\n describe('FieldError', () => {\n it('renders nothing when there are no children and no errors', () => {\n const { container } = render(<FieldError />)\n\n expect(container.querySelector('[data-slot=\"field-error\"]')).toBeNull()\n })\n\n it('renders explicit children even when errors are also provided', () => {\n render(<FieldError errors={[{ message: 'Ignored' }]}>Custom message</FieldError>)\n\n expect(screen.getByRole('alert').textContent).toBe('Custom message')\n })\n\n it('renders a single error message directly', () => {\n render(<FieldError errors={[{ message: 'Required' }]} />)\n\n expect(screen.getByRole('alert').textContent).toBe('Required')\n })\n\n it('renders multiple unique error messages as a list', () => {\n render(<FieldError errors={[{ message: 'Required' }, { message: 'Too short' }]} />)\n\n const alert = screen.getByRole('alert')\n const items = alert.querySelectorAll('li')\n\n expect(items).toHaveLength(2)\n expect(items[0]?.textContent).toBe('Required')\n expect(items[1]?.textContent).toBe('Too short')\n })\n\n it('deduplicates errors sharing the same message', () => {\n render(<FieldError errors={[{ message: 'Required' }, { message: 'Required' }]} />)\n\n const alert = screen.getByRole('alert')\n\n expect(alert.querySelectorAll('li')).toHaveLength(0)\n expect(alert.textContent).toBe('Required')\n })\n\n it('ignores errors without a message and undefined entries', () => {\n render(<FieldError errors={[undefined, { message: undefined }]} />)\n\n expect(screen.queryByRole('alert')).toBeNull()\n })\n })\n})\n"],"mappings":"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"}
|
|
@@ -1,16 +1,2 @@
|
|
|
1
|
-
import { n as
|
|
2
|
-
|
|
3
|
-
import * as React from "react";
|
|
4
|
-
//#region src/components/flex.d.ts
|
|
5
|
-
declare const flexVariants: (props?: ({
|
|
6
|
-
direction?: "column" | "column-reverse" | "row" | "row-reverse" | null | undefined;
|
|
7
|
-
align?: "baseline" | "center" | "end" | "start" | "stretch" | null | undefined;
|
|
8
|
-
justify?: "around" | "between" | "center" | "end" | "evenly" | "start" | null | undefined;
|
|
9
|
-
wrap?: boolean | null | undefined;
|
|
10
|
-
gap?: "lg" | "md" | "sm" | "xl" | "xs" | null | undefined;
|
|
11
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
12
|
-
type FlexProps = React.ComponentProps<'div'> & VariantProps<typeof flexVariants>;
|
|
13
|
-
declare function Flex({ className, direction, align, justify, wrap, gap, ...props }: FlexProps): React.JSX.Element;
|
|
14
|
-
//#endregion
|
|
15
|
-
export { Flex, FlexProps, flexVariants };
|
|
16
|
-
//# sourceMappingURL=flex.d.ts.map
|
|
1
|
+
import { n as FlexProps, r as flexVariants, t as Flex } from "../flex-aJXipTAz.js";
|
|
2
|
+
export { Flex, FlexProps, flexVariants };
|
package/dist/components/flex.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
//# sourceMappingURL=flex.js.map
|
|
1
|
+
import{n as e,t}from"../flex-BC4Diiy4.js";export{t as Flex,e as flexVariants};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"../rolldown-runtime-Bdj-bS2b.js";import{t as e}from"../flex-BC4Diiy4.js";import{r as t}from"../react.esm-BkhVXJ8s.js";import{jsx as n}from"react/jsx-runtime";describe(`Flex`,()=>{it(`renders a div with default direction and wrap, and data-slot`,()=>{let{container:r}=t(n(e,{children:`Content`})),i=r.querySelector(`[data-slot="flex"]`);expect(i).not.toBeNull(),expect(i?.tagName).toBe(`DIV`),expect(i?.getAttribute(`data-direction`)).toBe(`row`),expect(i?.getAttribute(`data-wrap`)).toBe(`false`),expect(i?.getAttribute(`data-align`)).toBeNull(),expect(i?.getAttribute(`data-justify`)).toBeNull(),expect(i?.className).toContain(`flex-row`),expect(i?.className).toContain(`flex-nowrap`)}),it(`applies the column-reverse direction variant`,()=>{let{container:r}=t(n(e,{direction:`column-reverse`,children:`Content`})),i=r.querySelector(`[data-slot="flex"]`);expect(i?.getAttribute(`data-direction`)).toBe(`column-reverse`),expect(i?.className).toContain(`flex-col-reverse`)}),it(`applies align, justify, gap and wrap variants together`,()=>{let{container:r}=t(n(e,{align:`center`,justify:`between`,gap:`lg`,wrap:!0,children:`Content`})),i=r.querySelector(`[data-slot="flex"]`);expect(i?.getAttribute(`data-align`)).toBe(`center`),expect(i?.getAttribute(`data-justify`)).toBe(`between`),expect(i?.getAttribute(`data-wrap`)).toBe(`true`),expect(i?.className).toContain(`items-center`),expect(i?.className).toContain(`justify-between`),expect(i?.className).toContain(`gap-6`),expect(i?.className).toContain(`flex-wrap`)}),it(`merges a custom className with the base styling`,()=>{let{container:r}=t(n(e,{className:`custom-flex`,children:`Content`})),i=r.querySelector(`[data-slot="flex"]`);expect(i?.className).toContain(`custom-flex`),expect(i?.className).toContain(`min-w-0`)}),it(`forwards the ref to the underlying div element`,()=>{let r={current:null};t(n(e,{ref:r,children:`Content`})),expect(r.current).not.toBeNull(),expect(r.current?.getAttribute(`data-slot`)).toBe(`flex`)})});
|
|
2
|
+
//# sourceMappingURL=flex.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"flex.spec.js","names":[],"sources":["../../src/components/flex.spec.tsx"],"sourcesContent":["import { render } from '@testing-library/react'\n\nimport { Flex } from './flex'\n\ndescribe('Flex', () => {\n it('renders a div with default direction and wrap, and data-slot', () => {\n const { container } = render(<Flex>Content</Flex>)\n\n const flex = container.querySelector('[data-slot=\"flex\"]')\n\n expect(flex).not.toBeNull()\n expect(flex?.tagName).toBe('DIV')\n expect(flex?.getAttribute('data-direction')).toBe('row')\n expect(flex?.getAttribute('data-wrap')).toBe('false')\n expect(flex?.getAttribute('data-align')).toBeNull()\n expect(flex?.getAttribute('data-justify')).toBeNull()\n expect(flex?.className).toContain('flex-row')\n expect(flex?.className).toContain('flex-nowrap')\n })\n\n it('applies the column-reverse direction variant', () => {\n const { container } = render(<Flex direction=\"column-reverse\">Content</Flex>)\n\n const flex = container.querySelector('[data-slot=\"flex\"]')\n\n expect(flex?.getAttribute('data-direction')).toBe('column-reverse')\n expect(flex?.className).toContain('flex-col-reverse')\n })\n\n it('applies align, justify, gap and wrap variants together', () => {\n const { container } = render(\n <Flex align=\"center\" justify=\"between\" gap=\"lg\" wrap>\n Content\n </Flex>\n )\n\n const flex = container.querySelector('[data-slot=\"flex\"]')\n\n expect(flex?.getAttribute('data-align')).toBe('center')\n expect(flex?.getAttribute('data-justify')).toBe('between')\n expect(flex?.getAttribute('data-wrap')).toBe('true')\n expect(flex?.className).toContain('items-center')\n expect(flex?.className).toContain('justify-between')\n expect(flex?.className).toContain('gap-6')\n expect(flex?.className).toContain('flex-wrap')\n })\n\n it('merges a custom className with the base styling', () => {\n const { container } = render(<Flex className=\"custom-flex\">Content</Flex>)\n\n const flex = container.querySelector('[data-slot=\"flex\"]')\n\n expect(flex?.className).toContain('custom-flex')\n expect(flex?.className).toContain('min-w-0')\n })\n\n it('forwards the ref to the underlying div element', () => {\n const ref = { current: null as HTMLDivElement | null }\n\n render(<Flex ref={ref}>Content</Flex>)\n\n expect(ref.current).not.toBeNull()\n expect(ref.current?.getAttribute('data-slot')).toBe('flex')\n })\n})\n"],"mappings":"qKAIA,SAAS,WAAc,CACrB,GAAG,mEAAsE,CACvE,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAA,SAAM,SAAa,CAAA,CAAC,EAE3C,EAAO,EAAU,cAAc,oBAAoB,EAEzD,OAAO,CAAI,CAAC,CAAC,IAAI,SAAS,EAC1B,OAAO,GAAM,OAAO,CAAC,CAAC,KAAK,KAAK,EAChC,OAAO,GAAM,aAAa,gBAAgB,CAAC,CAAC,CAAC,KAAK,KAAK,EACvD,OAAO,GAAM,aAAa,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,EACpD,OAAO,GAAM,aAAa,YAAY,CAAC,CAAC,CAAC,SAAS,EAClD,OAAO,GAAM,aAAa,cAAc,CAAC,CAAC,CAAC,SAAS,EACpD,OAAO,GAAM,SAAS,CAAC,CAAC,UAAU,UAAU,EAC5C,OAAO,GAAM,SAAS,CAAC,CAAC,UAAU,aAAa,CACjD,CAAC,EAED,GAAG,mDAAsD,CACvD,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAM,UAAU,iBAAiB,SAAA,SAAa,CAAA,CAAC,EAEtE,EAAO,EAAU,cAAc,oBAAoB,EAEzD,OAAO,GAAM,aAAa,gBAAgB,CAAC,CAAC,CAAC,KAAK,gBAAgB,EAClE,OAAO,GAAM,SAAS,CAAC,CAAC,UAAU,kBAAkB,CACtD,CAAC,EAED,GAAG,6DAAgE,CACjE,GAAM,CAAE,aAAc,EACpB,EAAC,EAAD,CAAM,MAAM,SAAS,QAAQ,UAAU,IAAI,KAAK,KAAA,GAAK,SAAA,SAE/C,CAAA,CACR,EAEM,EAAO,EAAU,cAAc,oBAAoB,EAEzD,OAAO,GAAM,aAAa,YAAY,CAAC,CAAC,CAAC,KAAK,QAAQ,EACtD,OAAO,GAAM,aAAa,cAAc,CAAC,CAAC,CAAC,KAAK,SAAS,EACzD,OAAO,GAAM,aAAa,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,EACnD,OAAO,GAAM,SAAS,CAAC,CAAC,UAAU,cAAc,EAChD,OAAO,GAAM,SAAS,CAAC,CAAC,UAAU,iBAAiB,EACnD,OAAO,GAAM,SAAS,CAAC,CAAC,UAAU,OAAO,EACzC,OAAO,GAAM,SAAS,CAAC,CAAC,UAAU,WAAW,CAC/C,CAAC,EAED,GAAG,sDAAyD,CAC1D,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAM,UAAU,cAAc,SAAA,SAAa,CAAA,CAAC,EAEnE,EAAO,EAAU,cAAc,oBAAoB,EAEzD,OAAO,GAAM,SAAS,CAAC,CAAC,UAAU,aAAa,EAC/C,OAAO,GAAM,SAAS,CAAC,CAAC,UAAU,SAAS,CAC7C,CAAC,EAED,GAAG,qDAAwD,CACzD,IAAM,EAAM,CAAE,QAAS,IAA8B,EAErD,EAAO,EAAC,EAAD,CAAW,MAAK,SAAA,SAAa,CAAA,CAAC,EAErC,OAAO,EAAI,OAAO,CAAC,CAAC,IAAI,SAAS,EACjC,OAAO,EAAI,SAAS,aAAa,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,CAC5D,CAAC,CACH,CAAC"}
|
|
@@ -1,20 +1,2 @@
|
|
|
1
|
-
import { n as
|
|
2
|
-
|
|
3
|
-
//#region src/components/grid.d.ts
|
|
4
|
-
type GridSpacing = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
|
|
5
|
-
type GridProps = React.ComponentProps<'div'> & {
|
|
6
|
-
gap?: GridSpacing;
|
|
7
|
-
rowGap?: GridSpacing;
|
|
8
|
-
columnGap?: GridSpacing;
|
|
9
|
-
templateRows?: string;
|
|
10
|
-
templateColumns?: string;
|
|
11
|
-
};
|
|
12
|
-
declare function Grid({ className, gap, rowGap, columnGap, templateRows, templateColumns, style, ...props }: GridProps): React.JSX.Element;
|
|
13
|
-
type GridItemProps = React.ComponentProps<'div'> & {
|
|
14
|
-
rowSpan?: number;
|
|
15
|
-
colSpan?: number;
|
|
16
|
-
};
|
|
17
|
-
declare function GridItem({ className, rowSpan, colSpan, style, ...props }: GridItemProps): React.JSX.Element;
|
|
18
|
-
//#endregion
|
|
19
|
-
export { Grid, GridItem, GridItemProps, GridProps };
|
|
20
|
-
//# sourceMappingURL=grid.d.ts.map
|
|
1
|
+
import { i as GridProps, n as GridItem, r as GridItemProps, t as Grid } from "../grid-D_aEANA7.js";
|
|
2
|
+
export { Grid, GridItem, GridItemProps, GridProps };
|
package/dist/components/grid.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
//# sourceMappingURL=grid.js.map
|
|
1
|
+
import{n as e,t}from"../grid-B3He1bGe.js";export{t as Grid,e as GridItem};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"../rolldown-runtime-Bdj-bS2b.js";import{n as e,t}from"../grid-B3He1bGe.js";import{r as n}from"../react.esm-BkhVXJ8s.js";import{jsx as r}from"react/jsx-runtime";describe(`Grid`,()=>{it(`renders a div with data-slot and the default 12-column template`,()=>{let{container:e}=n(r(t,{children:`Content`})),i=e.querySelector(`[data-slot="grid"]`);expect(i).not.toBeNull(),expect(i?.tagName).toBe(`DIV`),expect(i?.className).toContain(`grid`),expect(i.style.getPropertyValue(`--grid-template-columns`)).toBe(`repeat(12, minmax(0, 1fr))`),expect(i.style.getPropertyValue(`--grid-gap`)).toBe(`0px`)}),it(`applies a custom templateRows and templateColumns`,()=>{let{container:e}=n(r(t,{templateColumns:`repeat(4, 1fr)`,templateRows:`repeat(2, 1fr)`,children:`Content`})),i=e.querySelector(`[data-slot="grid"]`);expect(i.style.getPropertyValue(`--grid-template-columns`)).toBe(`repeat(4, 1fr)`),expect(i.style.getPropertyValue(`--grid-template-rows`)).toBe(`repeat(2, 1fr)`)}),it(`converts the gap prop into a spacing calc value shared by row and column gap`,()=>{let{container:e}=n(r(t,{gap:`md`,children:`Content`})),i=e.querySelector(`[data-slot="grid"]`);expect(i.style.getPropertyValue(`--grid-gap`)).toBe(`calc(var(--spacing) * 4)`),expect(i.style.getPropertyValue(`--grid-row-gap`)).toBe(`var(--grid-gap)`),expect(i.style.getPropertyValue(`--grid-column-gap`)).toBe(`var(--grid-gap)`)}),it(`allows rowGap and columnGap to override the shared gap`,()=>{let{container:e}=n(r(t,{rowGap:`sm`,columnGap:`xl`,children:`Content`})),i=e.querySelector(`[data-slot="grid"]`);expect(i.style.getPropertyValue(`--grid-row-gap`)).toBe(`calc(var(--spacing) * 2)`),expect(i.style.getPropertyValue(`--grid-column-gap`)).toBe(`calc(var(--spacing) * 8)`)}),it(`forwards the ref to the underlying div element`,()=>{let e={current:null};n(r(t,{ref:e,children:`Content`})),expect(e.current).not.toBeNull(),expect(e.current?.getAttribute(`data-slot`)).toBe(`grid`)})}),describe(`GridItem`,()=>{it(`renders a div with data-slot and a default 12-column span`,()=>{let{container:t}=n(r(e,{children:`Content`})),i=t.querySelector(`[data-slot="grid-item"]`);expect(i).not.toBeNull(),expect(i.style.getPropertyValue(`--grid-item-col-span`)).toBe(`12`),expect(i.className).toContain(`min-w-0`)}),it(`applies a custom colSpan and rowSpan`,()=>{let{container:t}=n(r(e,{colSpan:4,rowSpan:2,children:`Content`})),i=t.querySelector(`[data-slot="grid-item"]`);expect(i.style.getPropertyValue(`--grid-item-col-span`)).toBe(`4`),expect(i.style.getPropertyValue(`--grid-item-row-span`)).toBe(`2`)}),it(`forwards the ref to the underlying div element`,()=>{let t={current:null};n(r(e,{ref:t,children:`Content`})),expect(t.current).not.toBeNull(),expect(t.current?.getAttribute(`data-slot`)).toBe(`grid-item`)})});
|
|
2
|
+
//# sourceMappingURL=grid.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grid.spec.js","names":[],"sources":["../../src/components/grid.spec.tsx"],"sourcesContent":["import { render } from '@testing-library/react'\n\nimport { Grid, GridItem } from './grid'\n\ndescribe('Grid', () => {\n it('renders a div with data-slot and the default 12-column template', () => {\n const { container } = render(<Grid>Content</Grid>)\n\n const grid = container.querySelector('[data-slot=\"grid\"]')\n\n expect(grid).not.toBeNull()\n expect(grid?.tagName).toBe('DIV')\n expect(grid?.className).toContain('grid')\n expect((grid as HTMLElement).style.getPropertyValue('--grid-template-columns')).toBe('repeat(12, minmax(0, 1fr))')\n expect((grid as HTMLElement).style.getPropertyValue('--grid-gap')).toBe('0px')\n })\n\n it('applies a custom templateRows and templateColumns', () => {\n const { container } = render(\n <Grid templateColumns=\"repeat(4, 1fr)\" templateRows=\"repeat(2, 1fr)\">\n Content\n </Grid>\n )\n\n const grid = container.querySelector('[data-slot=\"grid\"]') as HTMLElement\n\n expect(grid.style.getPropertyValue('--grid-template-columns')).toBe('repeat(4, 1fr)')\n expect(grid.style.getPropertyValue('--grid-template-rows')).toBe('repeat(2, 1fr)')\n })\n\n it('converts the gap prop into a spacing calc value shared by row and column gap', () => {\n const { container } = render(<Grid gap=\"md\">Content</Grid>)\n\n const grid = container.querySelector('[data-slot=\"grid\"]') as HTMLElement\n\n expect(grid.style.getPropertyValue('--grid-gap')).toBe('calc(var(--spacing) * 4)')\n expect(grid.style.getPropertyValue('--grid-row-gap')).toBe('var(--grid-gap)')\n expect(grid.style.getPropertyValue('--grid-column-gap')).toBe('var(--grid-gap)')\n })\n\n it('allows rowGap and columnGap to override the shared gap', () => {\n const { container } = render(\n <Grid rowGap=\"sm\" columnGap=\"xl\">\n Content\n </Grid>\n )\n\n const grid = container.querySelector('[data-slot=\"grid\"]') as HTMLElement\n\n expect(grid.style.getPropertyValue('--grid-row-gap')).toBe('calc(var(--spacing) * 2)')\n expect(grid.style.getPropertyValue('--grid-column-gap')).toBe('calc(var(--spacing) * 8)')\n })\n\n it('forwards the ref to the underlying div element', () => {\n const ref = { current: null as HTMLDivElement | null }\n\n render(<Grid ref={ref}>Content</Grid>)\n\n expect(ref.current).not.toBeNull()\n expect(ref.current?.getAttribute('data-slot')).toBe('grid')\n })\n})\n\ndescribe('GridItem', () => {\n it('renders a div with data-slot and a default 12-column span', () => {\n const { container } = render(<GridItem>Content</GridItem>)\n\n const item = container.querySelector('[data-slot=\"grid-item\"]') as HTMLElement\n\n expect(item).not.toBeNull()\n expect(item.style.getPropertyValue('--grid-item-col-span')).toBe('12')\n expect(item.className).toContain('min-w-0')\n })\n\n it('applies a custom colSpan and rowSpan', () => {\n const { container } = render(\n <GridItem colSpan={4} rowSpan={2}>\n Content\n </GridItem>\n )\n\n const item = container.querySelector('[data-slot=\"grid-item\"]') as HTMLElement\n\n expect(item.style.getPropertyValue('--grid-item-col-span')).toBe('4')\n expect(item.style.getPropertyValue('--grid-item-row-span')).toBe('2')\n })\n\n it('forwards the ref to the underlying div element', () => {\n const ref = { current: null as HTMLDivElement | null }\n\n render(<GridItem ref={ref}>Content</GridItem>)\n\n expect(ref.current).not.toBeNull()\n expect(ref.current?.getAttribute('data-slot')).toBe('grid-item')\n })\n})\n"],"mappings":"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"}
|
|
@@ -1,15 +1,2 @@
|
|
|
1
|
-
import { n as
|
|
2
|
-
|
|
3
|
-
import * as React from "react";
|
|
4
|
-
//#region src/components/group.d.ts
|
|
5
|
-
declare const groupVariants: (props?: ({
|
|
6
|
-
align?: "baseline" | "center" | "end" | "start" | "stretch" | null | undefined;
|
|
7
|
-
justify?: "around" | "between" | "center" | "end" | "evenly" | "start" | null | undefined;
|
|
8
|
-
gap?: "lg" | "md" | "sm" | "xl" | "xs" | null | undefined;
|
|
9
|
-
wrap?: boolean | null | undefined;
|
|
10
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
11
|
-
type GroupProps = React.ComponentProps<'div'> & VariantProps<typeof groupVariants>;
|
|
12
|
-
declare function Group({ className, align, justify, gap, wrap, ...props }: GroupProps): React.JSX.Element;
|
|
13
|
-
//#endregion
|
|
14
|
-
export { Group, GroupProps, groupVariants };
|
|
15
|
-
//# sourceMappingURL=group.d.ts.map
|
|
1
|
+
import { n as GroupProps, r as groupVariants, t as Group } from "../group-DBtx8eSe.js";
|
|
2
|
+
export { Group, GroupProps, groupVariants };
|
package/dist/components/group.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
//# sourceMappingURL=group.js.map
|
|
1
|
+
import{n as e,t}from"../group-B6n_lMc4.js";export{t as Group,e as groupVariants};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"../rolldown-runtime-Bdj-bS2b.js";import{t as e}from"../group-B6n_lMc4.js";import{r as t}from"../react.esm-BkhVXJ8s.js";import{jsx as n}from"react/jsx-runtime";describe(`Group`,()=>{it(`renders a div with default variants and data-slot`,()=>{let{container:r}=t(n(e,{children:`Content`})),i=r.querySelector(`[data-slot="group"]`);expect(i).not.toBeNull(),expect(i?.tagName).toBe(`DIV`),expect(i?.getAttribute(`data-align`)).toBe(`center`),expect(i?.getAttribute(`data-gap`)).toBe(`md`),expect(i?.getAttribute(`data-wrap`)).toBe(`true`),expect(i?.getAttribute(`data-justify`)).toBeNull(),expect(i?.className).toContain(`items-center`),expect(i?.className).toContain(`gap-4`),expect(i?.className).toContain(`flex-wrap`)}),it(`applies the requested justify variant`,()=>{let{container:r}=t(n(e,{justify:`around`,children:`Content`})),i=r.querySelector(`[data-slot="group"]`);expect(i?.getAttribute(`data-justify`)).toBe(`around`),expect(i?.className).toContain(`justify-around`)}),it(`disables wrapping when wrap is false`,()=>{let{container:r}=t(n(e,{wrap:!1,children:`Content`})),i=r.querySelector(`[data-slot="group"]`);expect(i?.getAttribute(`data-wrap`)).toBe(`false`),expect(i?.className).toContain(`flex-nowrap`)}),it(`applies align and gap variant combinations`,()=>{let{container:r}=t(n(e,{align:`stretch`,gap:`xl`,children:`Content`})),i=r.querySelector(`[data-slot="group"]`);expect(i?.getAttribute(`data-align`)).toBe(`stretch`),expect(i?.className).toContain(`items-stretch`),expect(i?.className).toContain(`gap-8`)}),it(`forwards the ref to the underlying div element`,()=>{let r={current:null};t(n(e,{ref:r,children:`Content`})),expect(r.current).not.toBeNull(),expect(r.current?.getAttribute(`data-slot`)).toBe(`group`)})});
|
|
2
|
+
//# sourceMappingURL=group.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"group.spec.js","names":[],"sources":["../../src/components/group.spec.tsx"],"sourcesContent":["import { render } from '@testing-library/react'\n\nimport { Group } from './group'\n\ndescribe('Group', () => {\n it('renders a div with default variants and data-slot', () => {\n const { container } = render(<Group>Content</Group>)\n\n const group = container.querySelector('[data-slot=\"group\"]')\n\n expect(group).not.toBeNull()\n expect(group?.tagName).toBe('DIV')\n expect(group?.getAttribute('data-align')).toBe('center')\n expect(group?.getAttribute('data-gap')).toBe('md')\n expect(group?.getAttribute('data-wrap')).toBe('true')\n expect(group?.getAttribute('data-justify')).toBeNull()\n expect(group?.className).toContain('items-center')\n expect(group?.className).toContain('gap-4')\n expect(group?.className).toContain('flex-wrap')\n })\n\n it('applies the requested justify variant', () => {\n const { container } = render(<Group justify=\"around\">Content</Group>)\n\n const group = container.querySelector('[data-slot=\"group\"]')\n\n expect(group?.getAttribute('data-justify')).toBe('around')\n expect(group?.className).toContain('justify-around')\n })\n\n it('disables wrapping when wrap is false', () => {\n const { container } = render(<Group wrap={false}>Content</Group>)\n\n const group = container.querySelector('[data-slot=\"group\"]')\n\n expect(group?.getAttribute('data-wrap')).toBe('false')\n expect(group?.className).toContain('flex-nowrap')\n })\n\n it('applies align and gap variant combinations', () => {\n const { container } = render(\n <Group align=\"stretch\" gap=\"xl\">\n Content\n </Group>\n )\n\n const group = container.querySelector('[data-slot=\"group\"]')\n\n expect(group?.getAttribute('data-align')).toBe('stretch')\n expect(group?.className).toContain('items-stretch')\n expect(group?.className).toContain('gap-8')\n })\n\n it('forwards the ref to the underlying div element', () => {\n const ref = { current: null as HTMLDivElement | null }\n\n render(<Group ref={ref}>Content</Group>)\n\n expect(ref.current).not.toBeNull()\n expect(ref.current?.getAttribute('data-slot')).toBe('group')\n })\n})\n"],"mappings":"sKAIA,SAAS,YAAe,CACtB,GAAG,wDAA2D,CAC5D,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAA,SAAO,SAAc,CAAA,CAAC,EAE7C,EAAQ,EAAU,cAAc,qBAAqB,EAE3D,OAAO,CAAK,CAAC,CAAC,IAAI,SAAS,EAC3B,OAAO,GAAO,OAAO,CAAC,CAAC,KAAK,KAAK,EACjC,OAAO,GAAO,aAAa,YAAY,CAAC,CAAC,CAAC,KAAK,QAAQ,EACvD,OAAO,GAAO,aAAa,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,EACjD,OAAO,GAAO,aAAa,WAAW,CAAC,CAAC,CAAC,KAAK,MAAM,EACpD,OAAO,GAAO,aAAa,cAAc,CAAC,CAAC,CAAC,SAAS,EACrD,OAAO,GAAO,SAAS,CAAC,CAAC,UAAU,cAAc,EACjD,OAAO,GAAO,SAAS,CAAC,CAAC,UAAU,OAAO,EAC1C,OAAO,GAAO,SAAS,CAAC,CAAC,UAAU,WAAW,CAChD,CAAC,EAED,GAAG,4CAA+C,CAChD,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAO,QAAQ,SAAS,SAAA,SAAc,CAAA,CAAC,EAE9D,EAAQ,EAAU,cAAc,qBAAqB,EAE3D,OAAO,GAAO,aAAa,cAAc,CAAC,CAAC,CAAC,KAAK,QAAQ,EACzD,OAAO,GAAO,SAAS,CAAC,CAAC,UAAU,gBAAgB,CACrD,CAAC,EAED,GAAG,2CAA8C,CAC/C,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAO,KAAM,GAAO,SAAA,SAAc,CAAA,CAAC,EAE1D,EAAQ,EAAU,cAAc,qBAAqB,EAE3D,OAAO,GAAO,aAAa,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,EACrD,OAAO,GAAO,SAAS,CAAC,CAAC,UAAU,aAAa,CAClD,CAAC,EAED,GAAG,iDAAoD,CACrD,GAAM,CAAE,aAAc,EACpB,EAAC,EAAD,CAAO,MAAM,UAAU,IAAI,KAAK,SAAA,SAEzB,CAAA,CACT,EAEM,EAAQ,EAAU,cAAc,qBAAqB,EAE3D,OAAO,GAAO,aAAa,YAAY,CAAC,CAAC,CAAC,KAAK,SAAS,EACxD,OAAO,GAAO,SAAS,CAAC,CAAC,UAAU,eAAe,EAClD,OAAO,GAAO,SAAS,CAAC,CAAC,UAAU,OAAO,CAC5C,CAAC,EAED,GAAG,qDAAwD,CACzD,IAAM,EAAM,CAAE,QAAS,IAA8B,EAErD,EAAO,EAAC,EAAD,CAAY,MAAK,SAAA,SAAc,CAAA,CAAC,EAEvC,OAAO,EAAI,OAAO,CAAC,CAAC,IAAI,SAAS,EACjC,OAAO,EAAI,SAAS,aAAa,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,CAC7D,CAAC,CACH,CAAC"}
|
|
@@ -1,14 +1,2 @@
|
|
|
1
|
-
import { n as
|
|
2
|
-
|
|
3
|
-
import * as React from "react";
|
|
4
|
-
//#region src/components/heading.d.ts
|
|
5
|
-
declare const headingVariants: (props?: ({
|
|
6
|
-
size?: "lg" | "md" | "sm" | "xl" | "xs" | null | undefined;
|
|
7
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
8
|
-
type HeadingProps = React.ComponentProps<'h2'> & VariantProps<typeof headingVariants> & {
|
|
9
|
-
asChild?: boolean;
|
|
10
|
-
};
|
|
11
|
-
declare function Heading({ className, size, asChild, ...props }: HeadingProps): React.JSX.Element;
|
|
12
|
-
//#endregion
|
|
13
|
-
export { Heading, HeadingProps, headingVariants };
|
|
14
|
-
//# sourceMappingURL=heading.d.ts.map
|
|
1
|
+
import { n as HeadingProps, r as headingVariants, t as Heading } from "../heading-BTXl4JfI.js";
|
|
2
|
+
export { Heading, HeadingProps, headingVariants };
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
//# sourceMappingURL=heading.js.map
|
|
1
|
+
import{n as e,t}from"../heading-DaxKLVRm.js";export{t as Heading,e as headingVariants};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"../rolldown-runtime-Bdj-bS2b.js";import{t as e}from"../heading-DaxKLVRm.js";import{a as t,r as n}from"../react.esm-BkhVXJ8s.js";import{jsx as r}from"react/jsx-runtime";describe(`Heading`,()=>{it(`renders an h2 with the default size and data-slot`,()=>{let{container:t}=n(r(e,{children:`Title`})),i=t.querySelector(`[data-slot="heading"]`);expect(i?.tagName).toBe(`H2`),expect(i?.getAttribute(`data-size`)).toBe(`md`),expect(i?.className).toContain(`text-2xl`)}),it(`applies size variant classes and the matching data-size attribute`,()=>{let{container:t}=n(r(e,{size:`xl`,children:`Title`})),i=t.querySelector(`[data-slot="heading"]`);expect(i?.getAttribute(`data-size`)).toBe(`xl`),expect(i?.className).toContain(`text-4xl`)}),it(`merges a custom className with the variant classes`,()=>{let{container:t}=n(r(e,{className:`custom-class`,children:`Title`})),i=t.querySelector(`[data-slot="heading"]`);expect(i?.className).toContain(`custom-class`),expect(i?.className).toContain(`font-semibold`)}),it(`renders as the provided child element when asChild is set`,()=>{n(r(e,{asChild:!0,children:r(`a`,{href:`/target`,children:`Link heading`})}));let i=t.getByRole(`link`,{name:`Link heading`});expect(i.tagName).toBe(`A`),expect(i.getAttribute(`data-slot`)).toBe(`heading`),expect(i.className).toContain(`font-semibold`)}),it(`forwards a ref to the underlying heading element`,()=>{let t={current:null};n(r(e,{ref:t,children:`Title`})),expect(t.current).toBeInstanceOf(HTMLHeadingElement),expect(t.current?.textContent).toBe(`Title`)})});
|
|
2
|
+
//# sourceMappingURL=heading.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heading.spec.js","names":[],"sources":["../../src/components/heading.spec.tsx"],"sourcesContent":["import { render, screen } from '@testing-library/react'\n\nimport { Heading } from './heading'\n\ndescribe('Heading', () => {\n it('renders an h2 with the default size and data-slot', () => {\n const { container } = render(<Heading>Title</Heading>)\n\n const heading = container.querySelector('[data-slot=\"heading\"]')\n\n expect(heading?.tagName).toBe('H2')\n expect(heading?.getAttribute('data-size')).toBe('md')\n expect(heading?.className).toContain('text-2xl')\n })\n\n it('applies size variant classes and the matching data-size attribute', () => {\n const { container } = render(<Heading size=\"xl\">Title</Heading>)\n\n const heading = container.querySelector('[data-slot=\"heading\"]')\n\n expect(heading?.getAttribute('data-size')).toBe('xl')\n expect(heading?.className).toContain('text-4xl')\n })\n\n it('merges a custom className with the variant classes', () => {\n const { container } = render(<Heading className=\"custom-class\">Title</Heading>)\n\n const heading = container.querySelector('[data-slot=\"heading\"]')\n\n expect(heading?.className).toContain('custom-class')\n expect(heading?.className).toContain('font-semibold')\n })\n\n it('renders as the provided child element when asChild is set', () => {\n render(\n <Heading asChild>\n <a href=\"/target\">Link heading</a>\n </Heading>\n )\n\n const link = screen.getByRole('link', { name: 'Link heading' })\n\n expect(link.tagName).toBe('A')\n expect(link.getAttribute('data-slot')).toBe('heading')\n expect(link.className).toContain('font-semibold')\n })\n\n it('forwards a ref to the underlying heading element', () => {\n const ref = { current: null as HTMLHeadingElement | null }\n\n render(<Heading ref={ref}>Title</Heading>)\n\n expect(ref.current).toBeInstanceOf(HTMLHeadingElement)\n expect(ref.current?.textContent).toBe('Title')\n })\n})\n"],"mappings":"+KAIA,SAAS,cAAiB,CACxB,GAAG,wDAA2D,CAC5D,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAA,SAAS,OAAc,CAAA,CAAC,EAE/C,EAAU,EAAU,cAAc,uBAAuB,EAE/D,OAAO,GAAS,OAAO,CAAC,CAAC,KAAK,IAAI,EAClC,OAAO,GAAS,aAAa,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,EACpD,OAAO,GAAS,SAAS,CAAC,CAAC,UAAU,UAAU,CACjD,CAAC,EAED,GAAG,wEAA2E,CAC5E,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAS,KAAK,KAAK,SAAA,OAAc,CAAA,CAAC,EAEzD,EAAU,EAAU,cAAc,uBAAuB,EAE/D,OAAO,GAAS,aAAa,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,EACpD,OAAO,GAAS,SAAS,CAAC,CAAC,UAAU,UAAU,CACjD,CAAC,EAED,GAAG,yDAA4D,CAC7D,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAS,UAAU,eAAe,SAAA,OAAc,CAAA,CAAC,EAExE,EAAU,EAAU,cAAc,uBAAuB,EAE/D,OAAO,GAAS,SAAS,CAAC,CAAC,UAAU,cAAc,EACnD,OAAO,GAAS,SAAS,CAAC,CAAC,UAAU,eAAe,CACtD,CAAC,EAED,GAAG,gEAAmE,CACpE,EACE,EAAC,EAAD,CAAS,QAAA,GACP,SAAA,EAAC,IAAD,CAAG,KAAK,UAAU,SAAA,cAAe,CAAA,CAC1B,CAAA,CACX,EAEA,IAAM,EAAO,EAAO,UAAU,OAAQ,CAAE,KAAM,cAAe,CAAC,EAE9D,OAAO,EAAK,OAAO,CAAC,CAAC,KAAK,GAAG,EAC7B,OAAO,EAAK,aAAa,WAAW,CAAC,CAAC,CAAC,KAAK,SAAS,EACrD,OAAO,EAAK,SAAS,CAAC,CAAC,UAAU,eAAe,CAClD,CAAC,EAED,GAAG,uDAA0D,CAC3D,IAAM,EAAM,CAAE,QAAS,IAAkC,EAEzD,EAAO,EAAC,EAAD,CAAc,MAAK,SAAA,OAAc,CAAA,CAAC,EAEzC,OAAO,EAAI,OAAO,CAAC,CAAC,eAAe,kBAAkB,EACrD,OAAO,EAAI,SAAS,WAAW,CAAC,CAAC,KAAK,OAAO,CAC/C,CAAC,CACH,CAAC"}
|
|
@@ -1,13 +1,2 @@
|
|
|
1
|
-
import { n as
|
|
2
|
-
|
|
3
|
-
import * as React from "react";
|
|
4
|
-
//#region src/components/hover-card.d.ts
|
|
5
|
-
type HoverCardProps = React.ComponentProps<typeof HoverCard$1.Root>;
|
|
6
|
-
type HoverCardTriggerProps = React.ComponentProps<typeof HoverCard$1.Trigger>;
|
|
7
|
-
type HoverCardContentProps = React.ComponentProps<typeof HoverCard$1.Content>;
|
|
8
|
-
declare function HoverCard({ ...props }: HoverCardProps): React.JSX.Element;
|
|
9
|
-
declare function HoverCardTrigger({ ...props }: HoverCardTriggerProps): React.JSX.Element;
|
|
10
|
-
declare function HoverCardContent({ className, align, sideOffset, ...props }: HoverCardContentProps): React.JSX.Element;
|
|
11
|
-
//#endregion
|
|
12
|
-
export { HoverCard, HoverCardContent, HoverCardContentProps, HoverCardProps, HoverCardTrigger, HoverCardTriggerProps };
|
|
13
|
-
//# sourceMappingURL=hover-card.d.ts.map
|
|
1
|
+
import { a as HoverCardTrigger, i as HoverCardProps, n as HoverCardContent, o as HoverCardTriggerProps, r as HoverCardContentProps, t as HoverCard } from "../hover-card-C3yz2zQi.js";
|
|
2
|
+
export { HoverCard, HoverCardContent, HoverCardContentProps, HoverCardProps, HoverCardTrigger, HoverCardTriggerProps };
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
//# sourceMappingURL=hover-card.js.map
|
|
1
|
+
import{n as e,r as t,t as n}from"../hover-card-Dc8yLsm-.js";export{n as HoverCard,e as HoverCardContent,t as HoverCardTrigger};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"../rolldown-runtime-Bdj-bS2b.js";import{n as e,r as t,t as n}from"../hover-card-Dc8yLsm-.js";import{a as r,r as i}from"../react.esm-BkhVXJ8s.js";import{jsx as a,jsxs as o}from"react/jsx-runtime";describe(`HoverCard`,()=>{it(`renders the trigger with its data-slot and keeps the content out of the DOM when closed`,()=>{i(o(n,{children:[a(t,{children:`Hover me`}),a(e,{children:`Card content`})]}));let s=r.getByText(`Hover me`);expect(s.getAttribute(`data-slot`)).toBe(`hover-card-trigger`),expect(s.getAttribute(`data-state`)).toBe(`closed`),expect(r.queryByText(`Card content`)).toBeNull()}),it(`renders the content with its data-slot when open is controlled to true`,()=>{i(o(n,{open:!0,children:[a(t,{children:`Hover me`}),a(e,{children:`Card content`})]}));let s=r.getByText(`Card content`);expect(s.getAttribute(`data-slot`)).toBe(`hover-card-content`),expect(s.getAttribute(`data-state`)).toBe(`open`),expect(s.className).toContain(`rounded-lg`)}),it(`merges a custom className onto the content`,()=>{i(o(n,{open:!0,children:[a(t,{children:`Hover me`}),a(e,{className:`custom-class`,children:`Card content`})]})),expect(r.getByText(`Card content`).className).toContain(`custom-class`)}),it(`accepts custom align and sideOffset props without breaking rendering`,()=>{i(o(n,{open:!0,children:[a(t,{children:`Hover me`}),a(e,{align:`start`,sideOffset:12,children:`Card content`})]})),expect(r.getByText(`Card content`)).not.toBeNull()})});
|
|
2
|
+
//# sourceMappingURL=hover-card.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hover-card.spec.js","names":[],"sources":["../../src/components/hover-card.spec.tsx"],"sourcesContent":["import { render, screen } from '@testing-library/react'\n\nimport { HoverCard, HoverCardContent, HoverCardTrigger } from './hover-card'\n\ndescribe('HoverCard', () => {\n it('renders the trigger with its data-slot and keeps the content out of the DOM when closed', () => {\n render(\n <HoverCard>\n <HoverCardTrigger>Hover me</HoverCardTrigger>\n <HoverCardContent>Card content</HoverCardContent>\n </HoverCard>\n )\n\n const trigger = screen.getByText('Hover me')\n\n expect(trigger.getAttribute('data-slot')).toBe('hover-card-trigger')\n expect(trigger.getAttribute('data-state')).toBe('closed')\n expect(screen.queryByText('Card content')).toBeNull()\n })\n\n it('renders the content with its data-slot when open is controlled to true', () => {\n render(\n <HoverCard open>\n <HoverCardTrigger>Hover me</HoverCardTrigger>\n <HoverCardContent>Card content</HoverCardContent>\n </HoverCard>\n )\n\n const content = screen.getByText('Card content')\n\n expect(content.getAttribute('data-slot')).toBe('hover-card-content')\n expect(content.getAttribute('data-state')).toBe('open')\n expect(content.className).toContain('rounded-lg')\n })\n\n it('merges a custom className onto the content', () => {\n render(\n <HoverCard open>\n <HoverCardTrigger>Hover me</HoverCardTrigger>\n <HoverCardContent className=\"custom-class\">Card content</HoverCardContent>\n </HoverCard>\n )\n\n expect(screen.getByText('Card content').className).toContain('custom-class')\n })\n\n it('accepts custom align and sideOffset props without breaking rendering', () => {\n render(\n <HoverCard open>\n <HoverCardTrigger>Hover me</HoverCardTrigger>\n <HoverCardContent align=\"start\" sideOffset={12}>\n Card content\n </HoverCardContent>\n </HoverCard>\n )\n\n expect(screen.getByText('Card content')).not.toBeNull()\n })\n})\n"],"mappings":"0MAIA,SAAS,gBAAmB,CAC1B,GAAG,8FAAiG,CAClG,EACE,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAA,SAAkB,UAA0B,CAAA,EAC5C,EAAC,EAAD,CAAA,SAAkB,cAA8B,CAAA,CACvC,CAAA,CAAA,CACb,EAEA,IAAM,EAAU,EAAO,UAAU,UAAU,EAE3C,OAAO,EAAQ,aAAa,WAAW,CAAC,CAAC,CAAC,KAAK,oBAAoB,EACnE,OAAO,EAAQ,aAAa,YAAY,CAAC,CAAC,CAAC,KAAK,QAAQ,EACxD,OAAO,EAAO,YAAY,cAAc,CAAC,CAAC,CAAC,SAAS,CACtD,CAAC,EAED,GAAG,6EAAgF,CACjF,EACE,EAAC,EAAD,CAAW,KAAA,GAAX,SAAA,CACE,EAAC,EAAD,CAAA,SAAkB,UAA0B,CAAA,EAC5C,EAAC,EAAD,CAAA,SAAkB,cAA8B,CAAA,CACvC,CACb,CAAA,CAAA,EAEA,IAAM,EAAU,EAAO,UAAU,cAAc,EAE/C,OAAO,EAAQ,aAAa,WAAW,CAAC,CAAC,CAAC,KAAK,oBAAoB,EACnE,OAAO,EAAQ,aAAa,YAAY,CAAC,CAAC,CAAC,KAAK,MAAM,EACtD,OAAO,EAAQ,SAAS,CAAC,CAAC,UAAU,YAAY,CAClD,CAAC,EAED,GAAG,iDAAoD,CACrD,EACE,EAAC,EAAD,CAAW,KAAA,GAAX,SAAA,CACE,EAAC,EAAD,CAAA,SAAkB,UAA0B,CAAA,EAC5C,EAAC,EAAD,CAAkB,UAAU,eAAe,SAAA,cAA8B,CAAA,CAChE,CACb,CAAA,CAAA,EAEA,OAAO,EAAO,UAAU,cAAc,CAAC,CAAC,SAAS,CAAC,CAAC,UAAU,cAAc,CAC7E,CAAC,EAED,GAAG,2EAA8E,CAC/E,EACE,EAAC,EAAD,CAAW,KAAA,GAAX,SAAA,CACE,EAAC,EAAD,CAAA,SAAkB,UAA0B,CAAA,EAC5C,EAAC,EAAD,CAAkB,MAAM,QAAQ,WAAY,GAAI,SAAA,cAE9B,CAAA,CACT,CACb,CAAA,CAAA,EAEA,OAAO,EAAO,UAAU,cAAc,CAAC,CAAC,CAAC,IAAI,SAAS,CACxD,CAAC,CACH,CAAC"}
|
|
@@ -1,26 +1,2 @@
|
|
|
1
|
-
import { n as
|
|
2
|
-
|
|
3
|
-
import { VariantProps } from "class-variance-authority";
|
|
4
|
-
import * as React from "react";
|
|
5
|
-
//#region src/components/input-group.d.ts
|
|
6
|
-
type InputGroupProps = React.ComponentProps<'div'>;
|
|
7
|
-
type InputGroupAddonProps = React.ComponentProps<'div'> & VariantProps<typeof inputGroupAddonVariants>;
|
|
8
|
-
type InputGroupButtonProps = Omit<React.ComponentProps<typeof Button>, 'size'> & VariantProps<typeof inputGroupButtonVariants>;
|
|
9
|
-
type InputGroupTextProps = React.ComponentProps<'span'>;
|
|
10
|
-
type InputGroupInputProps = React.ComponentProps<'input'>;
|
|
11
|
-
type InputGroupTextareaProps = React.ComponentProps<'textarea'>;
|
|
12
|
-
declare function InputGroup({ className, ...props }: InputGroupProps): React.JSX.Element;
|
|
13
|
-
declare const inputGroupAddonVariants: (props?: ({
|
|
14
|
-
align?: "block-end" | "block-start" | "inline-end" | "inline-start" | null | undefined;
|
|
15
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
16
|
-
declare function InputGroupAddon({ className, align, ...props }: InputGroupAddonProps): React.JSX.Element;
|
|
17
|
-
declare const inputGroupButtonVariants: (props?: ({
|
|
18
|
-
size?: "icon-sm" | "icon-xs" | "sm" | "xs" | null | undefined;
|
|
19
|
-
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
20
|
-
declare function InputGroupButton({ className, type, variant, size, color, ...props }: InputGroupButtonProps): React.JSX.Element;
|
|
21
|
-
declare function InputGroupText({ className, ...props }: InputGroupTextProps): React.JSX.Element;
|
|
22
|
-
declare function InputGroupInput({ className, ...props }: InputGroupInputProps): React.JSX.Element;
|
|
23
|
-
declare function InputGroupTextarea({ className, ...props }: InputGroupTextareaProps): React.JSX.Element;
|
|
24
|
-
//#endregion
|
|
25
|
-
export { InputGroup, InputGroupAddon, InputGroupAddonProps, InputGroupButton, InputGroupButtonProps, InputGroupInput, InputGroupInputProps, InputGroupProps, InputGroupText, InputGroupTextProps, InputGroupTextarea, InputGroupTextareaProps };
|
|
26
|
-
//# sourceMappingURL=input-group.d.ts.map
|
|
1
|
+
import { a as InputGroupButtonProps, c as InputGroupProps, d as InputGroupTextarea, f as InputGroupTextareaProps, i as InputGroupButton, l as InputGroupText, n as InputGroupAddon, o as InputGroupInput, r as InputGroupAddonProps, s as InputGroupInputProps, t as InputGroup, u as InputGroupTextProps } from "../input-group-CBn36aMg.js";
|
|
2
|
+
export { InputGroup, InputGroupAddon, InputGroupAddonProps, InputGroupButton, InputGroupButtonProps, InputGroupInput, InputGroupInputProps, InputGroupProps, InputGroupText, InputGroupTextProps, InputGroupTextarea, InputGroupTextareaProps };
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
//# sourceMappingURL=input-group.js.map
|
|
1
|
+
import{a as e,i as t,n,o as r,r as i,t as a}from"../input-group-DsO2W3Lw.js";export{a as InputGroup,n as InputGroupAddon,i as InputGroupButton,t as InputGroupInput,e as InputGroupText,r as InputGroupTextarea};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"../rolldown-runtime-Bdj-bS2b.js";import{o as e,t}from"../field-DzR-XrO7.js";import{a as n,i as r,n as i,o as a,r as o,t as s}from"../input-group-DsO2W3Lw.js";import{a as c,n as l,r as u}from"../react.esm-BkhVXJ8s.js";import{jsx as d,jsxs as f}from"react/jsx-runtime";describe(`InputGroup`,()=>{it(`renders the root container with its data-slot and base classes`,()=>{let{container:e}=u(d(s,{children:`content`})),t=e.querySelector(`[data-slot="input-group"]`);expect(t).not.toBeNull(),expect(t?.className).toContain(`rounded-lg`),expect(t?.className).toContain(`border`)}),describe(`InputGroupAddon`,()=>{it(`defaults to the inline-start alignment`,()=>{let{container:e}=u(d(i,{children:`$`})),t=e.querySelector(`[data-slot="input-group-addon"]`);expect(t?.getAttribute(`data-align`)).toBe(`inline-start`),expect(t?.className).toContain(`order-first`)}),it(`applies the inline-end alignment classes`,()=>{let{container:e}=u(d(i,{align:`inline-end`,children:`USD`})),t=e.querySelector(`[data-slot="input-group-addon"]`);expect(t?.getAttribute(`data-align`)).toBe(`inline-end`),expect(t?.className).toContain(`order-last`)})}),describe(`InputGroupButton`,()=>{it(`renders as a button with the forwarded variant, color and custom size attributes`,()=>{let e=vi.fn();u(d(o,{size:`icon-sm`,color:`primary`,onClick:e,children:`Action`}));let t=c.getByRole(`button`,{name:`Action`});expect(t.getAttribute(`type`)).toBe(`button`),expect(t.getAttribute(`data-variant`)).toBe(`ghost`),expect(t.getAttribute(`data-color`)).toBe(`primary`),expect(t.getAttribute(`data-size`)).toBe(`icon-sm`),expect(t.className).toContain(`size-8`),l.click(t),expect(e).toHaveBeenCalledTimes(1)}),it(`defaults to the xs size classes`,()=>{u(d(o,{children:`Small`}));let e=c.getByRole(`button`,{name:`Small`});expect(e.getAttribute(`data-size`)).toBe(`xs`),expect(e.className).toContain(`h-6`)})}),it(`renders InputGroupText with its icon-adjacent typography classes`,()=>{u(d(n,{children:`Hint`}));let e=c.getByText(`Hint`);expect(e.tagName).toBe(`SPAN`),expect(e.className).toContain(`text-muted-foreground`)}),describe(`InputGroupInput`,()=>{it(`renders with the input-group-control data-slot and accepts typed input`,()=>{let{container:e}=u(d(r,{placeholder:`Email`})),t=e.querySelector(`[data-slot="input-group-control"]`);expect(t).not.toBeNull(),expect(t.tagName).toBe(`INPUT`),expect(t.className).toContain(`border-0`),l.change(t,{target:{value:`hello@example.com`}}),expect(t.value).toBe(`hello@example.com`)}),it(`reads the Field control id when rendered inside a Field`,()=>{u(f(t,{children:[d(e,{children:`Email`}),d(s,{children:d(r,{})})]}));let n=c.getByLabelText(`Email`),i=c.getByText(`Email`);expect(n.getAttribute(`id`)).toBeTruthy(),expect(i.getAttribute(`for`)).toBe(n.getAttribute(`id`))})}),describe(`InputGroupTextarea`,()=>{it(`renders with the input-group-control data-slot and accepts typed input`,()=>{let{container:e}=u(d(a,{placeholder:`Message`})),t=e.querySelector(`[data-slot="input-group-control"]`);expect(t).not.toBeNull(),expect(t.tagName).toBe(`TEXTAREA`),expect(t.className).toContain(`resize-none`),l.change(t,{target:{value:`Hello there`}}),expect(t.value).toBe(`Hello there`)})}),it(`composes an addon, input and button together`,()=>{let{container:e}=u(f(s,{children:[d(i,{children:d(n,{children:`$`})}),d(r,{placeholder:`Amount`}),d(i,{align:`inline-end`,children:d(o,{children:`Clear`})})]})),t=e.querySelector(`[data-slot="input-group"]`);expect(t?.querySelector(`[data-slot="input-group-addon"]`)).not.toBeNull(),expect(t?.querySelector(`[data-slot="input-group-control"]`)).not.toBeNull(),expect(c.getByRole(`button`,{name:`Clear`})).not.toBeNull()})});
|
|
2
|
+
//# sourceMappingURL=input-group.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-group.spec.js","names":[],"sources":["../../src/components/input-group.spec.tsx"],"sourcesContent":["import { fireEvent, render, screen } from '@testing-library/react'\n\nimport { Field, FieldLabel } from './field'\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n InputGroupText,\n InputGroupTextarea\n} from './input-group'\n\ndescribe('InputGroup', () => {\n it('renders the root container with its data-slot and base classes', () => {\n const { container } = render(<InputGroup>content</InputGroup>)\n const group = container.querySelector('[data-slot=\"input-group\"]')\n\n expect(group).not.toBeNull()\n expect(group?.className).toContain('rounded-lg')\n expect(group?.className).toContain('border')\n })\n\n describe('InputGroupAddon', () => {\n it('defaults to the inline-start alignment', () => {\n const { container } = render(<InputGroupAddon>$</InputGroupAddon>)\n const addon = container.querySelector('[data-slot=\"input-group-addon\"]')\n\n expect(addon?.getAttribute('data-align')).toBe('inline-start')\n expect(addon?.className).toContain('order-first')\n })\n\n it('applies the inline-end alignment classes', () => {\n const { container } = render(<InputGroupAddon align=\"inline-end\">USD</InputGroupAddon>)\n const addon = container.querySelector('[data-slot=\"input-group-addon\"]')\n\n expect(addon?.getAttribute('data-align')).toBe('inline-end')\n expect(addon?.className).toContain('order-last')\n })\n })\n\n describe('InputGroupButton', () => {\n it('renders as a button with the forwarded variant, color and custom size attributes', () => {\n const handleClick = vi.fn()\n render(\n <InputGroupButton size=\"icon-sm\" color=\"primary\" onClick={handleClick}>\n Action\n </InputGroupButton>\n )\n const button = screen.getByRole('button', { name: 'Action' })\n\n expect(button.getAttribute('type')).toBe('button')\n expect(button.getAttribute('data-variant')).toBe('ghost')\n expect(button.getAttribute('data-color')).toBe('primary')\n expect(button.getAttribute('data-size')).toBe('icon-sm')\n expect(button.className).toContain('size-8')\n\n fireEvent.click(button)\n expect(handleClick).toHaveBeenCalledTimes(1)\n })\n\n it('defaults to the xs size classes', () => {\n render(<InputGroupButton>Small</InputGroupButton>)\n const button = screen.getByRole('button', { name: 'Small' })\n\n expect(button.getAttribute('data-size')).toBe('xs')\n expect(button.className).toContain('h-6')\n })\n })\n\n it('renders InputGroupText with its icon-adjacent typography classes', () => {\n render(<InputGroupText>Hint</InputGroupText>)\n const text = screen.getByText('Hint')\n\n expect(text.tagName).toBe('SPAN')\n expect(text.className).toContain('text-muted-foreground')\n })\n\n describe('InputGroupInput', () => {\n it('renders with the input-group-control data-slot and accepts typed input', () => {\n const { container } = render(<InputGroupInput placeholder=\"Email\" />)\n const input = container.querySelector('[data-slot=\"input-group-control\"]') as HTMLInputElement\n\n expect(input).not.toBeNull()\n expect(input.tagName).toBe('INPUT')\n expect(input.className).toContain('border-0')\n\n fireEvent.change(input, { target: { value: 'hello@example.com' } })\n expect(input.value).toBe('hello@example.com')\n })\n\n it('reads the Field control id when rendered inside a Field', () => {\n render(\n <Field>\n <FieldLabel>Email</FieldLabel>\n <InputGroup>\n <InputGroupInput />\n </InputGroup>\n </Field>\n )\n\n const input = screen.getByLabelText('Email')\n const label = screen.getByText('Email')\n\n expect(input.getAttribute('id')).toBeTruthy()\n expect(label.getAttribute('for')).toBe(input.getAttribute('id'))\n })\n })\n\n describe('InputGroupTextarea', () => {\n it('renders with the input-group-control data-slot and accepts typed input', () => {\n const { container } = render(<InputGroupTextarea placeholder=\"Message\" />)\n const textarea = container.querySelector('[data-slot=\"input-group-control\"]') as HTMLTextAreaElement\n\n expect(textarea).not.toBeNull()\n expect(textarea.tagName).toBe('TEXTAREA')\n expect(textarea.className).toContain('resize-none')\n\n fireEvent.change(textarea, { target: { value: 'Hello there' } })\n expect(textarea.value).toBe('Hello there')\n })\n })\n\n it('composes an addon, input and button together', () => {\n const { container } = render(\n <InputGroup>\n <InputGroupAddon>\n <InputGroupText>$</InputGroupText>\n </InputGroupAddon>\n <InputGroupInput placeholder=\"Amount\" />\n <InputGroupAddon align=\"inline-end\">\n <InputGroupButton>Clear</InputGroupButton>\n </InputGroupAddon>\n </InputGroup>\n )\n\n const group = container.querySelector('[data-slot=\"input-group\"]')\n expect(group?.querySelector('[data-slot=\"input-group-addon\"]')).not.toBeNull()\n expect(group?.querySelector('[data-slot=\"input-group-control\"]')).not.toBeNull()\n expect(screen.getByRole('button', { name: 'Clear' })).not.toBeNull()\n })\n})\n"],"mappings":"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"}
|
|
@@ -1,19 +1,2 @@
|
|
|
1
|
-
import { n as
|
|
2
|
-
|
|
3
|
-
import { OTPInput, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS } from "input-otp";
|
|
4
|
-
//#region src/components/input-otp.d.ts
|
|
5
|
-
type InputOTPProps = React.ComponentProps<typeof OTPInput> & {
|
|
6
|
-
containerClassName?: string;
|
|
7
|
-
};
|
|
8
|
-
type InputOTPGroupProps = React.ComponentProps<'div'>;
|
|
9
|
-
type InputOTPSlotProps = React.ComponentProps<'div'> & {
|
|
10
|
-
index: number;
|
|
11
|
-
};
|
|
12
|
-
type InputOTPSeparatorProps = React.ComponentProps<'div'>;
|
|
13
|
-
declare function InputOTP({ className, containerClassName, id, ...props }: InputOTPProps): React.JSX.Element;
|
|
14
|
-
declare function InputOTPGroup({ className, ...props }: InputOTPGroupProps): React.JSX.Element;
|
|
15
|
-
declare function InputOTPSlot({ index, className, ...props }: InputOTPSlotProps): React.JSX.Element;
|
|
16
|
-
declare function InputOTPSeparator({ ...props }: InputOTPSeparatorProps): React.JSX.Element;
|
|
17
|
-
//#endregion
|
|
18
|
-
export { InputOTP, InputOTPGroup, InputOTPGroupProps, InputOTPProps, InputOTPSeparator, InputOTPSeparatorProps, InputOTPSlot, InputOTPSlotProps, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS };
|
|
19
|
-
//# sourceMappingURL=input-otp.d.ts.map
|
|
1
|
+
import { a as InputOTPSeparator, c as InputOTPSlotProps, d as REGEXP_ONLY_DIGITS_AND_CHARS, i as InputOTPProps, l as REGEXP_ONLY_CHARS, n as InputOTPGroup, o as InputOTPSeparatorProps, r as InputOTPGroupProps, s as InputOTPSlot, t as InputOTP, u as REGEXP_ONLY_DIGITS } from "../input-otp-gIEkdiIC.js";
|
|
2
|
+
export { InputOTP, InputOTPGroup, InputOTPGroupProps, InputOTPProps, InputOTPSeparator, InputOTPSeparatorProps, InputOTPSlot, InputOTPSlotProps, REGEXP_ONLY_CHARS, REGEXP_ONLY_DIGITS, REGEXP_ONLY_DIGITS_AND_CHARS };
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
//# sourceMappingURL=input-otp.js.map
|
|
1
|
+
import{a as e,i as t,n,o as r,r as i,s as a,t as o}from"../input-otp-CzfRHf2V.js";export{o as InputOTP,n as InputOTPGroup,i as InputOTPSeparator,t as InputOTPSlot,e as REGEXP_ONLY_CHARS,r as REGEXP_ONLY_DIGITS,a as REGEXP_ONLY_DIGITS_AND_CHARS};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"../rolldown-runtime-Bdj-bS2b.js";import{o as e,t}from"../field-DzR-XrO7.js";import{i as n,n as r,o as i,r as a,t as o}from"../input-otp-CzfRHf2V.js";import{n as s,r as c}from"../react.esm-BkhVXJ8s.js";import{jsx as l,jsxs as u}from"react/jsx-runtime";if(globalThis.ResizeObserver===void 0){class ResizeObserverStub{observe(){}unobserve(){}disconnect(){}}globalThis.ResizeObserver=ResizeObserverStub}function renderOtp(e={}){return c(l(o,{maxLength:4,pushPasswordManagerStrategy:`none`,...e,children:u(r,{children:[l(n,{index:0}),l(n,{index:1}),l(n,{index:2}),l(n,{index:3})]})}))}describe(`InputOTP`,()=>{it(`renders the underlying input and one slot per index`,()=>{let{container:e}=renderOtp(),t=e.querySelector(`input[data-slot="input-otp"]`),n=e.querySelectorAll(`[data-slot="input-otp-slot"]`);expect(t).not.toBeNull(),expect(n).toHaveLength(4)}),it(`reflects typed digits into the corresponding slots`,()=>{let{container:e}=renderOtp(),t=e.querySelector(`input[data-slot="input-otp"]`);s.change(t,{target:{value:`1234`}});let n=e.querySelectorAll(`[data-slot="input-otp-slot"]`);expect(n[0]?.textContent).toBe(`1`),expect(n[1]?.textContent).toBe(`2`),expect(n[2]?.textContent).toBe(`3`),expect(n[3]?.textContent).toBe(`4`)}),it(`calls onChange as digits are entered and onComplete once the value is full`,()=>{let e=vi.fn(),t=vi.fn(),{container:n}=renderOtp({onChange:e,onComplete:t}),r=n.querySelector(`input[data-slot="input-otp"]`);s.change(r,{target:{value:`12`}}),expect(e).toHaveBeenLastCalledWith(`12`),expect(t).not.toHaveBeenCalled(),s.change(r,{target:{value:`1234`}}),expect(t).toHaveBeenCalledWith(`1234`)}),it(`rejects input that does not match the provided pattern`,()=>{let e=vi.fn(),{container:t}=renderOtp({pattern:i,onChange:e}),n=t.querySelector(`input[data-slot="input-otp"]`);s.change(n,{target:{value:`ab`}}),expect(e).not.toHaveBeenCalled()}),it(`applies the has-disabled opacity class at the container level`,()=>{let{container:e}=renderOtp({disabled:!0}),t=e.querySelector(`[data-input-otp-container]`);expect(t?.className).toContain(`has-disabled:opacity-50`);let n=e.querySelector(`input[data-slot="input-otp"]`);expect(n).toHaveProperty(`disabled`,!0)}),it(`renders a separator with its icon between two groups`,()=>{let{container:e}=c(u(o,{maxLength:6,pushPasswordManagerStrategy:`none`,children:[u(r,{children:[l(n,{index:0}),l(n,{index:1}),l(n,{index:2})]}),l(a,{}),u(r,{children:[l(n,{index:3}),l(n,{index:4}),l(n,{index:5})]})]})),t=e.querySelector(`[data-slot="input-otp-separator"]`);expect(t).not.toBeNull(),expect(t?.querySelector(`svg`)).not.toBeNull()}),it(`wires the generated Field control id onto the underlying input when used inside a Field`,()=>{let{container:i}=c(u(t,{children:[l(e,{children:`One-time code`}),l(o,{maxLength:4,pushPasswordManagerStrategy:`none`,children:l(r,{children:l(n,{index:0})})})]})),a=i.querySelector(`input[data-slot="input-otp"]`),s=i.querySelector(`[data-slot="field-label"]`);expect(a?.getAttribute(`id`)).toBeTruthy(),expect(s?.getAttribute(`for`)).toBe(a?.getAttribute(`id`))})});
|
|
2
|
+
//# sourceMappingURL=input-otp.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-otp.spec.js","names":[],"sources":["../../src/components/input-otp.spec.tsx"],"sourcesContent":["import { fireEvent, render } from '@testing-library/react'\n\nimport { Field, FieldLabel } from './field'\nimport { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, REGEXP_ONLY_DIGITS } from './input-otp'\n\n// input-otp observes its container with a native ResizeObserver to size the fake caret. jsdom\n// does not implement ResizeObserver, so every mount needs a harmless stand-in.\nif (typeof globalThis.ResizeObserver === 'undefined') {\n class ResizeObserverStub {\n observe() {}\n unobserve() {}\n disconnect() {}\n }\n\n globalThis.ResizeObserver = ResizeObserverStub\n}\n\ntype RenderOtpProps = Partial<Omit<Extract<React.ComponentProps<typeof InputOTP>, { render?: never }>, 'children'>>\n\nfunction renderOtp(props: RenderOtpProps = {}) {\n return render(\n // Disables input-otp's internal password-manager-badge detection, which schedules several\n // timers up to 6s out (see node_modules/input-otp/dist/index.mjs) that can otherwise survive\n // past this test file's teardown and fire against an already-torn-down jsdom environment.\n <InputOTP maxLength={4} pushPasswordManagerStrategy=\"none\" {...props}>\n <InputOTPGroup>\n <InputOTPSlot index={0} />\n <InputOTPSlot index={1} />\n <InputOTPSlot index={2} />\n <InputOTPSlot index={3} />\n </InputOTPGroup>\n </InputOTP>\n )\n}\n\ndescribe('InputOTP', () => {\n it('renders the underlying input and one slot per index', () => {\n const { container } = renderOtp()\n\n const input = container.querySelector('input[data-slot=\"input-otp\"]')\n const slots = container.querySelectorAll('[data-slot=\"input-otp-slot\"]')\n\n expect(input).not.toBeNull()\n expect(slots).toHaveLength(4)\n })\n\n it('reflects typed digits into the corresponding slots', () => {\n const { container } = renderOtp()\n const input = container.querySelector('input[data-slot=\"input-otp\"]') as HTMLInputElement\n\n fireEvent.change(input, { target: { value: '1234' } })\n\n const slots = container.querySelectorAll('[data-slot=\"input-otp-slot\"]')\n expect(slots[0]?.textContent).toBe('1')\n expect(slots[1]?.textContent).toBe('2')\n expect(slots[2]?.textContent).toBe('3')\n expect(slots[3]?.textContent).toBe('4')\n })\n\n it('calls onChange as digits are entered and onComplete once the value is full', () => {\n const handleChange = vi.fn()\n const handleComplete = vi.fn()\n const { container } = renderOtp({ onChange: handleChange, onComplete: handleComplete })\n const input = container.querySelector('input[data-slot=\"input-otp\"]') as HTMLInputElement\n\n fireEvent.change(input, { target: { value: '12' } })\n expect(handleChange).toHaveBeenLastCalledWith('12')\n expect(handleComplete).not.toHaveBeenCalled()\n\n fireEvent.change(input, { target: { value: '1234' } })\n expect(handleComplete).toHaveBeenCalledWith('1234')\n })\n\n it('rejects input that does not match the provided pattern', () => {\n const handleChange = vi.fn()\n const { container } = renderOtp({ pattern: REGEXP_ONLY_DIGITS, onChange: handleChange })\n const input = container.querySelector('input[data-slot=\"input-otp\"]') as HTMLInputElement\n\n fireEvent.change(input, { target: { value: 'ab' } })\n\n expect(handleChange).not.toHaveBeenCalled()\n })\n\n it('applies the has-disabled opacity class at the container level', () => {\n const { container } = renderOtp({ disabled: true })\n const otpContainer = container.querySelector('[data-input-otp-container]')\n\n expect(otpContainer?.className).toContain('has-disabled:opacity-50')\n const input = container.querySelector('input[data-slot=\"input-otp\"]')\n expect(input).toHaveProperty('disabled', true)\n })\n\n it('renders a separator with its icon between two groups', () => {\n const { container } = render(\n <InputOTP maxLength={6} pushPasswordManagerStrategy=\"none\">\n <InputOTPGroup>\n <InputOTPSlot index={0} />\n <InputOTPSlot index={1} />\n <InputOTPSlot index={2} />\n </InputOTPGroup>\n <InputOTPSeparator />\n <InputOTPGroup>\n <InputOTPSlot index={3} />\n <InputOTPSlot index={4} />\n <InputOTPSlot index={5} />\n </InputOTPGroup>\n </InputOTP>\n )\n\n const separator = container.querySelector('[data-slot=\"input-otp-separator\"]')\n expect(separator).not.toBeNull()\n expect(separator?.querySelector('svg')).not.toBeNull()\n })\n\n it('wires the generated Field control id onto the underlying input when used inside a Field', () => {\n const { container } = render(\n <Field>\n <FieldLabel>One-time code</FieldLabel>\n <InputOTP maxLength={4} pushPasswordManagerStrategy=\"none\">\n <InputOTPGroup>\n <InputOTPSlot index={0} />\n </InputOTPGroup>\n </InputOTP>\n </Field>\n )\n\n const input = container.querySelector('input[data-slot=\"input-otp\"]')\n const label = container.querySelector('[data-slot=\"field-label\"]')\n\n expect(input?.getAttribute('id')).toBeTruthy()\n expect(label?.getAttribute('for')).toBe(input?.getAttribute('id'))\n })\n})\n"],"mappings":"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"}
|
|
@@ -1,8 +1,2 @@
|
|
|
1
|
-
import { n as
|
|
2
|
-
|
|
3
|
-
//#region src/components/input.d.ts
|
|
4
|
-
type InputProps = React.ComponentProps<'input'>;
|
|
5
|
-
declare function Input({ className, id, type, ...props }: InputProps): React.JSX.Element;
|
|
6
|
-
//#endregion
|
|
7
|
-
export { Input, InputProps };
|
|
8
|
-
//# sourceMappingURL=input.d.ts.map
|
|
1
|
+
import { n as InputProps, t as Input } from "../input-CI3RPXz0.js";
|
|
2
|
+
export { Input, InputProps };
|
package/dist/components/input.js
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
import
|
|
2
|
-
//# sourceMappingURL=input.js.map
|
|
1
|
+
import{t as e}from"../input-Cmjl8YdK.js";export{e as Input};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import"../rolldown-runtime-Bdj-bS2b.js";import{o as e,t}from"../field-DzR-XrO7.js";import{t as n}from"../input-Cmjl8YdK.js";import{a as r,n as i,r as a}from"../react.esm-BkhVXJ8s.js";import{jsx as o,jsxs as s}from"react/jsx-runtime";describe(`Input`,()=>{it(`renders an input with the input data-slot and base classes`,()=>{let{container:e}=a(o(n,{placeholder:`Email`})),t=e.querySelector(`[data-slot="input"]`);expect(t?.tagName).toBe(`INPUT`),expect(t?.className).toContain(`rounded-lg`),expect(t?.getAttribute(`placeholder`)).toBe(`Email`)}),it(`does not assign an id when rendered outside a Field and no id is given`,()=>{let{container:e}=a(o(n,{}));expect(e.querySelector(`[data-slot="input"]`)?.getAttribute(`id`)).toBeNull()}),it(`adopts the Field generated control id when no explicit id is provided`,()=>{a(s(t,{children:[o(e,{children:`Email`}),o(n,{})]}));let i=r.getByLabelText(`Email`);expect(i.getAttribute(`id`)).toBeTruthy()}),it(`keeps an explicit id even when rendered inside a Field`,()=>{let{container:e}=a(o(t,{children:o(n,{id:`explicit-input`})}));expect(e.querySelector(`[data-slot="input"]`)?.getAttribute(`id`)).toBe(`explicit-input`)}),it(`fires onChange with the typed value`,()=>{let e=vi.fn();a(o(n,{onChange:e})),i.change(r.getByRole(`textbox`),{target:{value:`hello`}}),expect(e).toHaveBeenCalledTimes(1),expect(r.getByRole(`textbox`).value).toBe(`hello`)}),it(`forwards a ref to the underlying input element`,()=>{let e={current:null};a(o(n,{ref:e})),expect(e.current).toBeInstanceOf(HTMLInputElement)})});
|
|
2
|
+
//# sourceMappingURL=input.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input.spec.js","names":[],"sources":["../../src/components/input.spec.tsx"],"sourcesContent":["import { fireEvent, render, screen } from '@testing-library/react'\n\nimport { Field, FieldLabel } from './field'\nimport { Input } from './input'\n\ndescribe('Input', () => {\n it('renders an input with the input data-slot and base classes', () => {\n const { container } = render(<Input placeholder=\"Email\" />)\n\n const input = container.querySelector('[data-slot=\"input\"]')\n\n expect(input?.tagName).toBe('INPUT')\n expect(input?.className).toContain('rounded-lg')\n expect(input?.getAttribute('placeholder')).toBe('Email')\n })\n\n it('does not assign an id when rendered outside a Field and no id is given', () => {\n const { container } = render(<Input />)\n\n expect(container.querySelector('[data-slot=\"input\"]')?.getAttribute('id')).toBeNull()\n })\n\n it('adopts the Field generated control id when no explicit id is provided', () => {\n render(\n <Field>\n <FieldLabel>Email</FieldLabel>\n <Input />\n </Field>\n )\n\n const input = screen.getByLabelText('Email')\n\n expect(input.getAttribute('id')).toBeTruthy()\n })\n\n it('keeps an explicit id even when rendered inside a Field', () => {\n const { container } = render(\n <Field>\n <Input id=\"explicit-input\" />\n </Field>\n )\n\n expect(container.querySelector('[data-slot=\"input\"]')?.getAttribute('id')).toBe('explicit-input')\n })\n\n it('fires onChange with the typed value', () => {\n const handleChange = vi.fn()\n\n render(<Input onChange={handleChange} />)\n\n fireEvent.change(screen.getByRole('textbox'), { target: { value: 'hello' } })\n\n expect(handleChange).toHaveBeenCalledTimes(1)\n expect((screen.getByRole('textbox') as HTMLInputElement).value).toBe('hello')\n })\n\n it('forwards a ref to the underlying input element', () => {\n const ref = { current: null as HTMLInputElement | null }\n\n render(<Input ref={ref} />)\n\n expect(ref.current).toBeInstanceOf(HTMLInputElement)\n })\n})\n"],"mappings":"yOAKA,SAAS,YAAe,CACtB,GAAG,iEAAoE,CACrE,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAO,YAAY,OAAS,CAAA,CAAC,EAEpD,EAAQ,EAAU,cAAc,qBAAqB,EAE3D,OAAO,GAAO,OAAO,CAAC,CAAC,KAAK,OAAO,EACnC,OAAO,GAAO,SAAS,CAAC,CAAC,UAAU,YAAY,EAC/C,OAAO,GAAO,aAAa,aAAa,CAAC,CAAC,CAAC,KAAK,OAAO,CACzD,CAAC,EAED,GAAG,6EAAgF,CACjF,GAAM,CAAE,aAAc,EAAO,EAAC,EAAD,CAAQ,CAAA,CAAC,EAEtC,OAAO,EAAU,cAAc,qBAAqB,CAAC,EAAE,aAAa,IAAI,CAAC,CAAC,CAAC,SAAS,CACtF,CAAC,EAED,GAAG,4EAA+E,CAChF,EACE,EAAC,EAAD,CAAA,SAAA,CACE,EAAC,EAAD,CAAA,SAAY,OAAiB,CAAA,EAC7B,EAAC,EAAD,CAAQ,CAAA,CACH,CAAA,CAAA,CACT,EAEA,IAAM,EAAQ,EAAO,eAAe,OAAO,EAE3C,OAAO,EAAM,aAAa,IAAI,CAAC,CAAC,CAAC,WAAW,CAC9C,CAAC,EAED,GAAG,6DAAgE,CACjE,GAAM,CAAE,aAAc,EACpB,EAAC,EAAD,CAAA,SACE,EAAC,EAAD,CAAO,GAAG,gBAAkB,CAAA,CACvB,CAAA,CACT,EAEA,OAAO,EAAU,cAAc,qBAAqB,CAAC,EAAE,aAAa,IAAI,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAClG,CAAC,EAED,GAAG,0CAA6C,CAC9C,IAAM,EAAe,GAAG,GAAG,EAE3B,EAAO,EAAC,EAAD,CAAO,SAAU,CAAe,CAAA,CAAC,EAExC,EAAU,OAAO,EAAO,UAAU,SAAS,EAAG,CAAE,OAAQ,CAAE,MAAO,OAAQ,CAAE,CAAC,EAE5E,OAAO,CAAY,CAAC,CAAC,sBAAsB,CAAC,EAC5C,OAAQ,EAAO,UAAU,SAAS,CAAC,CAAsB,KAAK,CAAC,CAAC,KAAK,OAAO,CAC9E,CAAC,EAED,GAAG,qDAAwD,CACzD,IAAM,EAAM,CAAE,QAAS,IAAgC,EAEvD,EAAO,EAAC,EAAD,CAAY,KAAM,CAAA,CAAC,EAE1B,OAAO,EAAI,OAAO,CAAC,CAAC,eAAe,gBAAgB,CACrD,CAAC,CACH,CAAC"}
|