@mari-ui/components 0.0.0-stage → 0.1.1
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/LICENSE +21 -0
- package/README.md +25 -2
- package/dist/accordion.d.ts +1 -0
- package/dist/accordion.js +245 -0
- package/dist/accordion.js.map +1 -0
- package/dist/alert.d.ts +1 -0
- package/dist/alert.js +114 -0
- package/dist/alert.js.map +1 -0
- package/dist/autocomplete.d.ts +1 -0
- package/dist/autocomplete.js +158 -0
- package/dist/autocomplete.js.map +1 -0
- package/dist/avatar.d.ts +1 -0
- package/dist/avatar.js +74 -0
- package/dist/avatar.js.map +1 -0
- package/dist/badge.d.ts +1 -0
- package/dist/badge.js +11 -0
- package/dist/badge.js.map +1 -0
- package/dist/breadcrumb.d.ts +1 -0
- package/dist/breadcrumb.js +141 -0
- package/dist/breadcrumb.js.map +1 -0
- package/dist/button.d.ts +1 -0
- package/dist/button.js +10 -0
- package/dist/button.js.map +1 -0
- package/dist/calendar.d.ts +1 -0
- package/dist/calendar.js +208 -0
- package/dist/calendar.js.map +1 -0
- package/dist/card.d.ts +1 -0
- package/dist/card.js +148 -0
- package/dist/card.js.map +1 -0
- package/dist/carousel.d.ts +1 -0
- package/dist/carousel.js +383 -0
- package/dist/carousel.js.map +1 -0
- package/dist/chart.d.ts +1 -0
- package/dist/chart.js +986 -0
- package/dist/chart.js.map +1 -0
- package/dist/checkbox.d.ts +1 -0
- package/dist/checkbox.js +10 -0
- package/dist/checkbox.js.map +1 -0
- package/dist/chunk-2IEXY3OZ.js +147 -0
- package/dist/chunk-2IEXY3OZ.js.map +1 -0
- package/dist/chunk-3ABWBQCS.js +49 -0
- package/dist/chunk-3ABWBQCS.js.map +1 -0
- package/dist/chunk-47FHUOLT.js +166 -0
- package/dist/chunk-47FHUOLT.js.map +1 -0
- package/dist/chunk-54HHEXXD.js +20 -0
- package/dist/chunk-54HHEXXD.js.map +1 -0
- package/dist/chunk-BDV4GOEN.js +53 -0
- package/dist/chunk-BDV4GOEN.js.map +1 -0
- package/dist/chunk-CYLXW66E.js +449 -0
- package/dist/chunk-CYLXW66E.js.map +1 -0
- package/dist/chunk-DKENCYHA.js +15 -0
- package/dist/chunk-DKENCYHA.js.map +1 -0
- package/dist/chunk-DUCIAQGR.js +67 -0
- package/dist/chunk-DUCIAQGR.js.map +1 -0
- package/dist/chunk-ELHESRRH.js +240 -0
- package/dist/chunk-ELHESRRH.js.map +1 -0
- package/dist/chunk-FFXRFQSU.js +51 -0
- package/dist/chunk-FFXRFQSU.js.map +1 -0
- package/dist/chunk-FNJHS5KQ.js +330 -0
- package/dist/chunk-FNJHS5KQ.js.map +1 -0
- package/dist/chunk-IO4346TF.js +392 -0
- package/dist/chunk-IO4346TF.js.map +1 -0
- package/dist/chunk-IP2J3BWY.js +185 -0
- package/dist/chunk-IP2J3BWY.js.map +1 -0
- package/dist/chunk-JNZODUXP.js +116 -0
- package/dist/chunk-JNZODUXP.js.map +1 -0
- package/dist/chunk-KCYM2JXP.js +202 -0
- package/dist/chunk-KCYM2JXP.js.map +1 -0
- package/dist/chunk-KG6A32KX.js +23 -0
- package/dist/chunk-KG6A32KX.js.map +1 -0
- package/dist/chunk-KSPM2Z3T.js +43 -0
- package/dist/chunk-KSPM2Z3T.js.map +1 -0
- package/dist/chunk-LBQMEHK6.js +54 -0
- package/dist/chunk-LBQMEHK6.js.map +1 -0
- package/dist/chunk-LBXIPDAB.js +50 -0
- package/dist/chunk-LBXIPDAB.js.map +1 -0
- package/dist/chunk-LEOIKO7C.js +144 -0
- package/dist/chunk-LEOIKO7C.js.map +1 -0
- package/dist/chunk-LZHERDNB.js +344 -0
- package/dist/chunk-LZHERDNB.js.map +1 -0
- package/dist/chunk-NPM7IDYV.js +145 -0
- package/dist/chunk-NPM7IDYV.js.map +1 -0
- package/dist/chunk-NS7FKOFI.js +56 -0
- package/dist/chunk-NS7FKOFI.js.map +1 -0
- package/dist/chunk-P7Z5BREP.js +935 -0
- package/dist/chunk-P7Z5BREP.js.map +1 -0
- package/dist/chunk-QDFDMWXD.js +236 -0
- package/dist/chunk-QDFDMWXD.js.map +1 -0
- package/dist/chunk-QNOHFHVL.js +555 -0
- package/dist/chunk-QNOHFHVL.js.map +1 -0
- package/dist/chunk-QZRBO7BE.js +684 -0
- package/dist/chunk-QZRBO7BE.js.map +1 -0
- package/dist/chunk-RAS77O7N.js +81 -0
- package/dist/chunk-RAS77O7N.js.map +1 -0
- package/dist/chunk-RIBB5OJV.js +152 -0
- package/dist/chunk-RIBB5OJV.js.map +1 -0
- package/dist/chunk-S66GKX2W.js +50 -0
- package/dist/chunk-S66GKX2W.js.map +1 -0
- package/dist/chunk-TCYDVNSU.js +13 -0
- package/dist/chunk-TCYDVNSU.js.map +1 -0
- package/dist/chunk-TXRQCHOR.js +401 -0
- package/dist/chunk-TXRQCHOR.js.map +1 -0
- package/dist/chunk-V7KDUUV6.js +101 -0
- package/dist/chunk-V7KDUUV6.js.map +1 -0
- package/dist/chunk-XUKVQO6M.js +31 -0
- package/dist/chunk-XUKVQO6M.js.map +1 -0
- package/dist/chunk-YZ7MDC6B.js +189 -0
- package/dist/chunk-YZ7MDC6B.js.map +1 -0
- package/dist/chunk-ZLPAXPDI.js +69 -0
- package/dist/chunk-ZLPAXPDI.js.map +1 -0
- package/dist/chunk-ZMA7BT2L.js +223 -0
- package/dist/chunk-ZMA7BT2L.js.map +1 -0
- package/dist/chunk-ZXYQ2ZPR.js +79 -0
- package/dist/chunk-ZXYQ2ZPR.js.map +1 -0
- package/dist/color-picker.d.ts +1 -0
- package/dist/color-picker.js +32 -0
- package/dist/color-picker.js.map +1 -0
- package/dist/date-picker.d.ts +1 -0
- package/dist/date-picker.js +826 -0
- package/dist/date-picker.js.map +1 -0
- package/dist/divider.d.ts +1 -0
- package/dist/divider.js +106 -0
- package/dist/divider.js.map +1 -0
- package/dist/drawer.d.ts +1 -0
- package/dist/drawer.js +14 -0
- package/dist/drawer.js.map +1 -0
- package/dist/dropdown.d.ts +1 -0
- package/dist/dropdown.js +23 -0
- package/dist/dropdown.js.map +1 -0
- package/dist/empty.d.ts +1 -0
- package/dist/empty.js +11 -0
- package/dist/empty.js.map +1 -0
- package/dist/field.d.ts +1 -0
- package/dist/field.js +51 -0
- package/dist/field.js.map +1 -0
- package/dist/float-button.d.ts +1 -0
- package/dist/float-button.js +247 -0
- package/dist/float-button.js.map +1 -0
- package/dist/image.d.ts +1 -0
- package/dist/image.js +1727 -0
- package/dist/image.js.map +1 -0
- package/dist/input-number.d.ts +1 -0
- package/dist/input-number.js +12 -0
- package/dist/input-number.js.map +1 -0
- package/dist/input.d.ts +1 -0
- package/dist/input.js +21 -0
- package/dist/input.js.map +1 -0
- package/dist/list.d.ts +1 -0
- package/dist/list.js +270 -0
- package/dist/list.js.map +1 -0
- package/dist/loading.d.ts +1 -0
- package/dist/loading.js +7 -0
- package/dist/loading.js.map +1 -0
- package/dist/logo.d.ts +1 -0
- package/dist/logo.js +38 -0
- package/dist/logo.js.map +1 -0
- package/dist/manifest.json +9006 -0
- package/dist/mari.css +145 -0
- package/dist/masonry.d.ts +1 -0
- package/dist/masonry.js +143 -0
- package/dist/masonry.js.map +1 -0
- package/dist/menu.d.ts +1 -0
- package/dist/menu.js +1682 -0
- package/dist/menu.js.map +1 -0
- package/dist/modal.d.ts +1 -0
- package/dist/modal.js +280 -0
- package/dist/modal.js.map +1 -0
- package/dist/pagination.d.ts +1 -0
- package/dist/pagination.js +11 -0
- package/dist/pagination.js.map +1 -0
- package/dist/popconfirm.d.ts +1 -0
- package/dist/popconfirm.js +110 -0
- package/dist/popconfirm.js.map +1 -0
- package/dist/popover.d.ts +1 -0
- package/dist/popover.js +16 -0
- package/dist/popover.js.map +1 -0
- package/dist/progress.d.ts +1 -0
- package/dist/progress.js +135 -0
- package/dist/progress.js.map +1 -0
- package/dist/qrcode.d.ts +1 -0
- package/dist/qrcode.js +212 -0
- package/dist/qrcode.js.map +1 -0
- package/dist/radio.d.ts +1 -0
- package/dist/radio.js +221 -0
- package/dist/radio.js.map +1 -0
- package/dist/rate.d.ts +1 -0
- package/dist/rate.js +196 -0
- package/dist/rate.js.map +1 -0
- package/dist/segmented.d.ts +1 -0
- package/dist/segmented.js +10 -0
- package/dist/segmented.js.map +1 -0
- package/dist/select.d.ts +1 -0
- package/dist/select.js +18 -0
- package/dist/select.js.map +1 -0
- package/dist/skeleton.d.ts +1 -0
- package/dist/skeleton.js +15 -0
- package/dist/skeleton.js.map +1 -0
- package/dist/slider.d.ts +1 -0
- package/dist/slider.js +401 -0
- package/dist/slider.js.map +1 -0
- package/dist/splitter.d.ts +1 -0
- package/dist/splitter.js +323 -0
- package/dist/splitter.js.map +1 -0
- package/dist/statistic.d.ts +1 -0
- package/dist/statistic.js +299 -0
- package/dist/statistic.js.map +1 -0
- package/dist/steps.d.ts +1 -0
- package/dist/steps.js +395 -0
- package/dist/steps.js.map +1 -0
- package/dist/styles.css +2 -0
- package/dist/switch.d.ts +1 -0
- package/dist/switch.js +172 -0
- package/dist/switch.js.map +1 -0
- package/dist/table.d.ts +1 -0
- package/dist/table.js +471 -0
- package/dist/table.js.map +1 -0
- package/dist/tabs.d.ts +1 -0
- package/dist/tabs.js +446 -0
- package/dist/tabs.js.map +1 -0
- package/dist/tag.d.ts +1 -0
- package/dist/tag.js +9 -0
- package/dist/tag.js.map +1 -0
- package/dist/tailwind.css +13 -0
- package/dist/theme-customizer.d.ts +1 -0
- package/dist/theme-customizer.js +271 -0
- package/dist/theme-customizer.js.map +1 -0
- package/dist/timeline.d.ts +1 -0
- package/dist/timeline.js +176 -0
- package/dist/timeline.js.map +1 -0
- package/dist/toast.d.ts +1 -0
- package/dist/toast.js +17 -0
- package/dist/toast.js.map +1 -0
- package/dist/tooltip.d.ts +1 -0
- package/dist/tooltip.js +10 -0
- package/dist/tooltip.js.map +1 -0
- package/dist/tour.d.ts +1 -0
- package/dist/tour.js +253 -0
- package/dist/tour.js.map +1 -0
- package/dist/transfer.d.ts +1 -0
- package/dist/transfer.js +423 -0
- package/dist/transfer.js.map +1 -0
- package/dist/tree-select.d.ts +1 -0
- package/dist/tree-select.js +549 -0
- package/dist/tree-select.js.map +1 -0
- package/dist/tree.d.ts +1 -0
- package/dist/tree.js +23 -0
- package/dist/tree.js.map +1 -0
- package/dist/types/accordion/Accordion.d.ts +16 -0
- package/dist/types/accordion/Accordion.d.ts.map +1 -0
- package/dist/types/accordion/index.d.ts +3 -0
- package/dist/types/accordion/index.d.ts.map +1 -0
- package/dist/types/accordion/types.d.ts +57 -0
- package/dist/types/accordion/types.d.ts.map +1 -0
- package/dist/types/accordion/utils.d.ts +10 -0
- package/dist/types/accordion/utils.d.ts.map +1 -0
- package/dist/types/alert/Alert.d.ts +14 -0
- package/dist/types/alert/Alert.d.ts.map +1 -0
- package/dist/types/alert/index.d.ts +3 -0
- package/dist/types/alert/index.d.ts.map +1 -0
- package/dist/types/alert/types.d.ts +33 -0
- package/dist/types/alert/types.d.ts.map +1 -0
- package/dist/types/autocomplete/AutoComplete.d.ts +16 -0
- package/dist/types/autocomplete/AutoComplete.d.ts.map +1 -0
- package/dist/types/autocomplete/index.d.ts +3 -0
- package/dist/types/autocomplete/index.d.ts.map +1 -0
- package/dist/types/autocomplete/types.d.ts +28 -0
- package/dist/types/autocomplete/types.d.ts.map +1 -0
- package/dist/types/autocomplete/utils.d.ts +14 -0
- package/dist/types/autocomplete/utils.d.ts.map +1 -0
- package/dist/types/avatar/Avatar.d.ts +10 -0
- package/dist/types/avatar/Avatar.d.ts.map +1 -0
- package/dist/types/avatar/index.d.ts +3 -0
- package/dist/types/avatar/index.d.ts.map +1 -0
- package/dist/types/avatar/types.d.ts +29 -0
- package/dist/types/avatar/types.d.ts.map +1 -0
- package/dist/types/avatar/utils.d.ts +12 -0
- package/dist/types/avatar/utils.d.ts.map +1 -0
- package/dist/types/badge/Badge.d.ts +19 -0
- package/dist/types/badge/Badge.d.ts.map +1 -0
- package/dist/types/badge/index.d.ts +3 -0
- package/dist/types/badge/index.d.ts.map +1 -0
- package/dist/types/badge/types.d.ts +38 -0
- package/dist/types/badge/types.d.ts.map +1 -0
- package/dist/types/breadcrumb/Breadcrumb.d.ts +21 -0
- package/dist/types/breadcrumb/Breadcrumb.d.ts.map +1 -0
- package/dist/types/breadcrumb/index.d.ts +3 -0
- package/dist/types/breadcrumb/index.d.ts.map +1 -0
- package/dist/types/breadcrumb/types.d.ts +47 -0
- package/dist/types/breadcrumb/types.d.ts.map +1 -0
- package/dist/types/breadcrumb/utils.d.ts +25 -0
- package/dist/types/breadcrumb/utils.d.ts.map +1 -0
- package/dist/types/button/Button.d.ts +12 -0
- package/dist/types/button/Button.d.ts.map +1 -0
- package/dist/types/button/index.d.ts +3 -0
- package/dist/types/button/index.d.ts.map +1 -0
- package/dist/types/button/types.d.ts +57 -0
- package/dist/types/button/types.d.ts.map +1 -0
- package/dist/types/button/utils.d.ts +10 -0
- package/dist/types/button/utils.d.ts.map +1 -0
- package/dist/types/calendar/Calendar.d.ts +11 -0
- package/dist/types/calendar/Calendar.d.ts.map +1 -0
- package/dist/types/calendar/_components/CalendarPanel.d.ts +36 -0
- package/dist/types/calendar/_components/CalendarPanel.d.ts.map +1 -0
- package/dist/types/calendar/_components/CellGrid.d.ts +32 -0
- package/dist/types/calendar/_components/CellGrid.d.ts.map +1 -0
- package/dist/types/calendar/_components/DayGrid.d.ts +47 -0
- package/dist/types/calendar/_components/DayGrid.d.ts.map +1 -0
- package/dist/types/calendar/index.d.ts +3 -0
- package/dist/types/calendar/index.d.ts.map +1 -0
- package/dist/types/calendar/types.d.ts +49 -0
- package/dist/types/calendar/types.d.ts.map +1 -0
- package/dist/types/card/Card.d.ts +21 -0
- package/dist/types/card/Card.d.ts.map +1 -0
- package/dist/types/card/index.d.ts +3 -0
- package/dist/types/card/index.d.ts.map +1 -0
- package/dist/types/card/types.d.ts +49 -0
- package/dist/types/card/types.d.ts.map +1 -0
- package/dist/types/card/utils.d.ts +17 -0
- package/dist/types/card/utils.d.ts.map +1 -0
- package/dist/types/carousel/Carousel.d.ts +62 -0
- package/dist/types/carousel/Carousel.d.ts.map +1 -0
- package/dist/types/carousel/index.d.ts +4 -0
- package/dist/types/carousel/index.d.ts.map +1 -0
- package/dist/types/carousel/types.d.ts +33 -0
- package/dist/types/carousel/types.d.ts.map +1 -0
- package/dist/types/carousel/utils.d.ts +14 -0
- package/dist/types/carousel/utils.d.ts.map +1 -0
- package/dist/types/chart/_shared/ChartFrame.d.ts +55 -0
- package/dist/types/chart/_shared/ChartFrame.d.ts.map +1 -0
- package/dist/types/chart/_shared/ChartSkeleton.d.ts +41 -0
- package/dist/types/chart/_shared/ChartSkeleton.d.ts.map +1 -0
- package/dist/types/chart/_shared/animation.d.ts +39 -0
- package/dist/types/chart/_shared/animation.d.ts.map +1 -0
- package/dist/types/chart/_shared/cartesian.d.ts +50 -0
- package/dist/types/chart/_shared/cartesian.d.ts.map +1 -0
- package/dist/types/chart/_shared/format.d.ts +10 -0
- package/dist/types/chart/_shared/format.d.ts.map +1 -0
- package/dist/types/chart/_shared/paths.d.ts +20 -0
- package/dist/types/chart/_shared/paths.d.ts.map +1 -0
- package/dist/types/chart/_shared/scale.d.ts +35 -0
- package/dist/types/chart/_shared/scale.d.ts.map +1 -0
- package/dist/types/chart/_shared/storyDocs.d.ts +3 -0
- package/dist/types/chart/_shared/storyDocs.d.ts.map +1 -0
- package/dist/types/chart/_shared/useChartSize.d.ts +17 -0
- package/dist/types/chart/_shared/useChartSize.d.ts.map +1 -0
- package/dist/types/chart/bar-chart/BarChart.d.ts +17 -0
- package/dist/types/chart/bar-chart/BarChart.d.ts.map +1 -0
- package/dist/types/chart/bar-chart/bars.d.ts +21 -0
- package/dist/types/chart/bar-chart/bars.d.ts.map +1 -0
- package/dist/types/chart/gauge/Gauge.d.ts +42 -0
- package/dist/types/chart/gauge/Gauge.d.ts.map +1 -0
- package/dist/types/chart/index.d.ts +12 -0
- package/dist/types/chart/index.d.ts.map +1 -0
- package/dist/types/chart/line-chart/LineChart.d.ts +22 -0
- package/dist/types/chart/line-chart/LineChart.d.ts.map +1 -0
- package/dist/types/chart/pie-chart/PieChart.d.ts +33 -0
- package/dist/types/chart/pie-chart/PieChart.d.ts.map +1 -0
- package/dist/types/chart/sparkline/Sparkline.d.ts +31 -0
- package/dist/types/chart/sparkline/Sparkline.d.ts.map +1 -0
- package/dist/types/chart/storyData.d.ts +36 -0
- package/dist/types/chart/storyData.d.ts.map +1 -0
- package/dist/types/chart/types.d.ts +50 -0
- package/dist/types/chart/types.d.ts.map +1 -0
- package/dist/types/checkbox/Checkbox.d.ts +5 -0
- package/dist/types/checkbox/Checkbox.d.ts.map +1 -0
- package/dist/types/checkbox/index.d.ts +3 -0
- package/dist/types/checkbox/index.d.ts.map +1 -0
- package/dist/types/checkbox/types.d.ts +35 -0
- package/dist/types/checkbox/types.d.ts.map +1 -0
- package/dist/types/checkbox/utils.d.ts +15 -0
- package/dist/types/checkbox/utils.d.ts.map +1 -0
- package/dist/types/color-picker/ColorPicker.d.ts +17 -0
- package/dist/types/color-picker/ColorPicker.d.ts.map +1 -0
- package/dist/types/color-picker/_components/ColorArea.d.ts +19 -0
- package/dist/types/color-picker/_components/ColorArea.d.ts.map +1 -0
- package/dist/types/color-picker/_components/ColorInputs.d.ts +14 -0
- package/dist/types/color-picker/_components/ColorInputs.d.ts.map +1 -0
- package/dist/types/color-picker/_components/ColorPresets.d.ts +9 -0
- package/dist/types/color-picker/_components/ColorPresets.d.ts.map +1 -0
- package/dist/types/color-picker/_components/ColorSlider.d.ts +24 -0
- package/dist/types/color-picker/_components/ColorSlider.d.ts.map +1 -0
- package/dist/types/color-picker/_components/Swatch.d.ts +14 -0
- package/dist/types/color-picker/_components/Swatch.d.ts.map +1 -0
- package/dist/types/color-picker/_components/usePointerDrag.d.ts +18 -0
- package/dist/types/color-picker/_components/usePointerDrag.d.ts.map +1 -0
- package/dist/types/color-picker/index.d.ts +4 -0
- package/dist/types/color-picker/index.d.ts.map +1 -0
- package/dist/types/color-picker/types.d.ts +81 -0
- package/dist/types/color-picker/types.d.ts.map +1 -0
- package/dist/types/color-picker/utils.d.ts +50 -0
- package/dist/types/color-picker/utils.d.ts.map +1 -0
- package/dist/types/date-picker/DatePicker.d.ts +17 -0
- package/dist/types/date-picker/DatePicker.d.ts.map +1 -0
- package/dist/types/date-picker/TimePicker.d.ts +8 -0
- package/dist/types/date-picker/TimePicker.d.ts.map +1 -0
- package/dist/types/date-picker/_components/PickerPanel.d.ts +21 -0
- package/dist/types/date-picker/_components/PickerPanel.d.ts.map +1 -0
- package/dist/types/date-picker/_components/TimePanel.d.ts +13 -0
- package/dist/types/date-picker/_components/TimePanel.d.ts.map +1 -0
- package/dist/types/date-picker/index.d.ts +4 -0
- package/dist/types/date-picker/index.d.ts.map +1 -0
- package/dist/types/date-picker/types.d.ts +89 -0
- package/dist/types/date-picker/types.d.ts.map +1 -0
- package/dist/types/date-picker/usePickerState.d.ts +37 -0
- package/dist/types/date-picker/usePickerState.d.ts.map +1 -0
- package/dist/types/date-picker/utils.d.ts +24 -0
- package/dist/types/date-picker/utils.d.ts.map +1 -0
- package/dist/types/divider/Divider.d.ts +8 -0
- package/dist/types/divider/Divider.d.ts.map +1 -0
- package/dist/types/divider/index.d.ts +3 -0
- package/dist/types/divider/index.d.ts.map +1 -0
- package/dist/types/divider/types.d.ts +25 -0
- package/dist/types/divider/types.d.ts.map +1 -0
- package/dist/types/divider/utils.d.ts +12 -0
- package/dist/types/divider/utils.d.ts.map +1 -0
- package/dist/types/drawer/Drawer.d.ts +27 -0
- package/dist/types/drawer/Drawer.d.ts.map +1 -0
- package/dist/types/drawer/index.d.ts +3 -0
- package/dist/types/drawer/index.d.ts.map +1 -0
- package/dist/types/drawer/types.d.ts +51 -0
- package/dist/types/drawer/types.d.ts.map +1 -0
- package/dist/types/drawer/utils.d.ts +5 -0
- package/dist/types/drawer/utils.d.ts.map +1 -0
- package/dist/types/dropdown/Dropdown.d.ts +6 -0
- package/dist/types/dropdown/Dropdown.d.ts.map +1 -0
- package/dist/types/dropdown/_components/DropdownContent.d.ts +16 -0
- package/dist/types/dropdown/_components/DropdownContent.d.ts.map +1 -0
- package/dist/types/dropdown/_components/DropdownItem.d.ts +18 -0
- package/dist/types/dropdown/_components/DropdownItem.d.ts.map +1 -0
- package/dist/types/dropdown/_components/DropdownTrigger.d.ts +4 -0
- package/dist/types/dropdown/_components/DropdownTrigger.d.ts.map +1 -0
- package/dist/types/dropdown/index.d.ts +6 -0
- package/dist/types/dropdown/index.d.ts.map +1 -0
- package/dist/types/dropdown/types.d.ts +69 -0
- package/dist/types/dropdown/types.d.ts.map +1 -0
- package/dist/types/dropdown/useDropdown.d.ts +44 -0
- package/dist/types/dropdown/useDropdown.d.ts.map +1 -0
- package/dist/types/dropdown/utils.d.ts +13 -0
- package/dist/types/dropdown/utils.d.ts.map +1 -0
- package/dist/types/empty/Empty.d.ts +32 -0
- package/dist/types/empty/Empty.d.ts.map +1 -0
- package/dist/types/empty/index.d.ts +3 -0
- package/dist/types/empty/index.d.ts.map +1 -0
- package/dist/types/field/Field.d.ts +20 -0
- package/dist/types/field/Field.d.ts.map +1 -0
- package/dist/types/field/index.d.ts +3 -0
- package/dist/types/field/index.d.ts.map +1 -0
- package/dist/types/field/types.d.ts +26 -0
- package/dist/types/field/types.d.ts.map +1 -0
- package/dist/types/float-button/BackTop.d.ts +11 -0
- package/dist/types/float-button/BackTop.d.ts.map +1 -0
- package/dist/types/float-button/FloatButton.d.ts +28 -0
- package/dist/types/float-button/FloatButton.d.ts.map +1 -0
- package/dist/types/float-button/FloatButtonGroup.d.ts +11 -0
- package/dist/types/float-button/FloatButtonGroup.d.ts.map +1 -0
- package/dist/types/float-button/index.d.ts +5 -0
- package/dist/types/float-button/index.d.ts.map +1 -0
- package/dist/types/float-button/types.d.ts +73 -0
- package/dist/types/float-button/types.d.ts.map +1 -0
- package/dist/types/float-button/utils.d.ts +14 -0
- package/dist/types/float-button/utils.d.ts.map +1 -0
- package/dist/types/foundations/PersonaDocs.d.ts +11 -0
- package/dist/types/foundations/PersonaDocs.d.ts.map +1 -0
- package/dist/types/foundations/usePersonaTheme.d.ts +17 -0
- package/dist/types/foundations/usePersonaTheme.d.ts.map +1 -0
- package/dist/types/image/Image.d.ts +16 -0
- package/dist/types/image/Image.d.ts.map +1 -0
- package/dist/types/image/ImageGallery.d.ts +82 -0
- package/dist/types/image/ImageGallery.d.ts.map +1 -0
- package/dist/types/image/ImageViewer.d.ts +54 -0
- package/dist/types/image/ImageViewer.d.ts.map +1 -0
- package/dist/types/image/galleryUtils.d.ts +89 -0
- package/dist/types/image/galleryUtils.d.ts.map +1 -0
- package/dist/types/image/index.d.ts +7 -0
- package/dist/types/image/index.d.ts.map +1 -0
- package/dist/types/image/types.d.ts +78 -0
- package/dist/types/image/types.d.ts.map +1 -0
- package/dist/types/image/utils.d.ts +54 -0
- package/dist/types/image/utils.d.ts.map +1 -0
- package/dist/types/image/viewerUtils.d.ts +66 -0
- package/dist/types/image/viewerUtils.d.ts.map +1 -0
- package/dist/types/input/Input.d.ts +5 -0
- package/dist/types/input/Input.d.ts.map +1 -0
- package/dist/types/input/OtpInput.d.ts +41 -0
- package/dist/types/input/OtpInput.d.ts.map +1 -0
- package/dist/types/input/SearchInput.d.ts +25 -0
- package/dist/types/input/SearchInput.d.ts.map +1 -0
- package/dist/types/input/Textarea.d.ts +59 -0
- package/dist/types/input/Textarea.d.ts.map +1 -0
- package/dist/types/input/_components/FieldAdornments.d.ts +22 -0
- package/dist/types/input/_components/FieldAdornments.d.ts.map +1 -0
- package/dist/types/input/_components/OtpSingleField.d.ts +38 -0
- package/dist/types/input/_components/OtpSingleField.d.ts.map +1 -0
- package/dist/types/input/index.d.ts +10 -0
- package/dist/types/input/index.d.ts.map +1 -0
- package/dist/types/input/mention/caret.d.ts +12 -0
- package/dist/types/input/mention/caret.d.ts.map +1 -0
- package/dist/types/input/mention/types.d.ts +45 -0
- package/dist/types/input/mention/types.d.ts.map +1 -0
- package/dist/types/input/mention/useMention.d.ts +16 -0
- package/dist/types/input/mention/useMention.d.ts.map +1 -0
- package/dist/types/input/mention/utils.d.ts +22 -0
- package/dist/types/input/mention/utils.d.ts.map +1 -0
- package/dist/types/input/types.d.ts +97 -0
- package/dist/types/input/types.d.ts.map +1 -0
- package/dist/types/input/utils.d.ts +51 -0
- package/dist/types/input/utils.d.ts.map +1 -0
- package/dist/types/input-number/InputNumber.d.ts +17 -0
- package/dist/types/input-number/InputNumber.d.ts.map +1 -0
- package/dist/types/input-number/index.d.ts +3 -0
- package/dist/types/input-number/index.d.ts.map +1 -0
- package/dist/types/input-number/types.d.ts +53 -0
- package/dist/types/input-number/types.d.ts.map +1 -0
- package/dist/types/input-number/utils.d.ts +42 -0
- package/dist/types/input-number/utils.d.ts.map +1 -0
- package/dist/types/lib/AnimationDemo.d.ts +13 -0
- package/dist/types/lib/AnimationDemo.d.ts.map +1 -0
- package/dist/types/lib/ContentSkeleton.d.ts +21 -0
- package/dist/types/lib/ContentSkeleton.d.ts.map +1 -0
- package/dist/types/lib/FloatingArrow.d.ts +22 -0
- package/dist/types/lib/FloatingArrow.d.ts.map +1 -0
- package/dist/types/lib/SkeletonDemo.d.ts +14 -0
- package/dist/types/lib/SkeletonDemo.d.ts.map +1 -0
- package/dist/types/lib/SkeletonSlot.d.ts +22 -0
- package/dist/types/lib/SkeletonSlot.d.ts.map +1 -0
- package/dist/types/lib/colorClasses.d.ts +57 -0
- package/dist/types/lib/colorClasses.d.ts.map +1 -0
- package/dist/types/lib/date/index.d.ts +51 -0
- package/dist/types/lib/date/index.d.ts.map +1 -0
- package/dist/types/lib/elevationClass.d.ts +10 -0
- package/dist/types/lib/elevationClass.d.ts.map +1 -0
- package/dist/types/lib/fieldContext.d.ts +61 -0
- package/dist/types/lib/fieldContext.d.ts.map +1 -0
- package/dist/types/lib/floating.d.ts +46 -0
- package/dist/types/lib/floating.d.ts.map +1 -0
- package/dist/types/lib/infiniteScroll.d.ts +36 -0
- package/dist/types/lib/infiniteScroll.d.ts.map +1 -0
- package/dist/types/lib/linkBehavior.d.ts +38 -0
- package/dist/types/lib/linkBehavior.d.ts.map +1 -0
- package/dist/types/lib/overlay.d.ts +55 -0
- package/dist/types/lib/overlay.d.ts.map +1 -0
- package/dist/types/lib/sizeClasses.d.ts +49 -0
- package/dist/types/lib/sizeClasses.d.ts.map +1 -0
- package/dist/types/lib/skeleton.d.ts +31 -0
- package/dist/types/lib/skeleton.d.ts.map +1 -0
- package/dist/types/lib/storyMeta.d.ts +85 -0
- package/dist/types/lib/storyMeta.d.ts.map +1 -0
- package/dist/types/lib/storyPhotos.d.ts +31 -0
- package/dist/types/lib/storyPhotos.d.ts.map +1 -0
- package/dist/types/lib/storybookArgTypes.d.ts +20 -0
- package/dist/types/lib/storybookArgTypes.d.ts.map +1 -0
- package/dist/types/lib/useAnimatedValue.d.ts +38 -0
- package/dist/types/lib/useAnimatedValue.d.ts.map +1 -0
- package/dist/types/lib/useFloatingPosition.d.ts +32 -0
- package/dist/types/lib/useFloatingPosition.d.ts.map +1 -0
- package/dist/types/lib/useScrollable.d.ts +13 -0
- package/dist/types/lib/useScrollable.d.ts.map +1 -0
- package/dist/types/list/List.d.ts +23 -0
- package/dist/types/list/List.d.ts.map +1 -0
- package/dist/types/list/index.d.ts +3 -0
- package/dist/types/list/index.d.ts.map +1 -0
- package/dist/types/list/types.d.ts +95 -0
- package/dist/types/list/types.d.ts.map +1 -0
- package/dist/types/list/utils.d.ts +16 -0
- package/dist/types/list/utils.d.ts.map +1 -0
- package/dist/types/loading/Loading.d.ts +5 -0
- package/dist/types/loading/Loading.d.ts.map +1 -0
- package/dist/types/loading/index.d.ts +3 -0
- package/dist/types/loading/index.d.ts.map +1 -0
- package/dist/types/loading/types.d.ts +33 -0
- package/dist/types/loading/types.d.ts.map +1 -0
- package/dist/types/loading/utils.d.ts +15 -0
- package/dist/types/loading/utils.d.ts.map +1 -0
- package/dist/types/logo/Logo.d.ts +11 -0
- package/dist/types/logo/Logo.d.ts.map +1 -0
- package/dist/types/logo/index.d.ts +3 -0
- package/dist/types/logo/index.d.ts.map +1 -0
- package/dist/types/masonry/Masonry.d.ts +15 -0
- package/dist/types/masonry/Masonry.d.ts.map +1 -0
- package/dist/types/masonry/index.d.ts +3 -0
- package/dist/types/masonry/index.d.ts.map +1 -0
- package/dist/types/masonry/types.d.ts +35 -0
- package/dist/types/masonry/types.d.ts.map +1 -0
- package/dist/types/masonry/utils.d.ts +23 -0
- package/dist/types/masonry/utils.d.ts.map +1 -0
- package/dist/types/menu/_shared/MegaPanel.d.ts +20 -0
- package/dist/types/menu/_shared/MegaPanel.d.ts.map +1 -0
- package/dist/types/menu/_shared/MenuLink.d.ts +39 -0
- package/dist/types/menu/_shared/MenuLink.d.ts.map +1 -0
- package/dist/types/menu/_shared/MobileNav.d.ts +31 -0
- package/dist/types/menu/_shared/MobileNav.d.ts.map +1 -0
- package/dist/types/menu/_shared/NavBar.d.ts +49 -0
- package/dist/types/menu/_shared/NavBar.d.ts.map +1 -0
- package/dist/types/menu/_shared/NavDrawer.d.ts +40 -0
- package/dist/types/menu/_shared/NavDrawer.d.ts.map +1 -0
- package/dist/types/menu/_shared/_components/MegaPanelColumn.d.ts +19 -0
- package/dist/types/menu/_shared/_components/MegaPanelColumn.d.ts.map +1 -0
- package/dist/types/menu/_shared/_components/MegaPanelPromoGrid.d.ts +11 -0
- package/dist/types/menu/_shared/_components/MegaPanelPromoGrid.d.ts.map +1 -0
- package/dist/types/menu/_shared/_components/MegaPanelRail.d.ts +30 -0
- package/dist/types/menu/_shared/_components/MegaPanelRail.d.ts.map +1 -0
- package/dist/types/menu/_shared/_components/MobileNavLevel.d.ts +26 -0
- package/dist/types/menu/_shared/_components/MobileNavLevel.d.ts.map +1 -0
- package/dist/types/menu/_shared/index.d.ts +3 -0
- package/dist/types/menu/_shared/index.d.ts.map +1 -0
- package/dist/types/menu/_shared/responsive.d.ts +12 -0
- package/dist/types/menu/_shared/responsive.d.ts.map +1 -0
- package/dist/types/menu/_shared/types.d.ts +17 -0
- package/dist/types/menu/_shared/types.d.ts.map +1 -0
- package/dist/types/menu/_shared/useHoverIntent.d.ts +11 -0
- package/dist/types/menu/_shared/useHoverIntent.d.ts.map +1 -0
- package/dist/types/menu/basic-menu/BasicMenu.d.ts +35 -0
- package/dist/types/menu/basic-menu/BasicMenu.d.ts.map +1 -0
- package/dist/types/menu/basic-menu/_components/BasicMenuItem.d.ts +18 -0
- package/dist/types/menu/basic-menu/_components/BasicMenuItem.d.ts.map +1 -0
- package/dist/types/menu/basic-menu/_components/DropdownSubMenu.d.ts +43 -0
- package/dist/types/menu/basic-menu/_components/DropdownSubMenu.d.ts.map +1 -0
- package/dist/types/menu/basic-menu/_components/SubMenuRow.d.ts +20 -0
- package/dist/types/menu/basic-menu/_components/SubMenuRow.d.ts.map +1 -0
- package/dist/types/menu/basic-menu/index.d.ts +3 -0
- package/dist/types/menu/basic-menu/index.d.ts.map +1 -0
- package/dist/types/menu/index.d.ts +9 -0
- package/dist/types/menu/index.d.ts.map +1 -0
- package/dist/types/menu/mega-menu/MegaMenu.d.ts +20 -0
- package/dist/types/menu/mega-menu/MegaMenu.d.ts.map +1 -0
- package/dist/types/menu/mega-menu/_components/MegaMenuItem.d.ts +38 -0
- package/dist/types/menu/mega-menu/_components/MegaMenuItem.d.ts.map +1 -0
- package/dist/types/menu/mega-menu/index.d.ts +3 -0
- package/dist/types/menu/mega-menu/index.d.ts.map +1 -0
- package/dist/types/menu/sidebar/Sidebar.d.ts +66 -0
- package/dist/types/menu/sidebar/Sidebar.d.ts.map +1 -0
- package/dist/types/menu/sidebar/_components/SidebarButton.d.ts +16 -0
- package/dist/types/menu/sidebar/_components/SidebarButton.d.ts.map +1 -0
- package/dist/types/menu/sidebar/_components/SidebarItem.d.ts +45 -0
- package/dist/types/menu/sidebar/_components/SidebarItem.d.ts.map +1 -0
- package/dist/types/menu/sidebar/_components/SidebarMegaPanel.d.ts +16 -0
- package/dist/types/menu/sidebar/_components/SidebarMegaPanel.d.ts.map +1 -0
- package/dist/types/menu/sidebar/_components/SidebarMenu.d.ts +17 -0
- package/dist/types/menu/sidebar/_components/SidebarMenu.d.ts.map +1 -0
- package/dist/types/menu/sidebar/index.d.ts +3 -0
- package/dist/types/menu/sidebar/index.d.ts.map +1 -0
- package/dist/types/menu/types.d.ts +66 -0
- package/dist/types/menu/types.d.ts.map +1 -0
- package/dist/types/menu/utils.d.ts +38 -0
- package/dist/types/menu/utils.d.ts.map +1 -0
- package/dist/types/modal/Modal.d.ts +22 -0
- package/dist/types/modal/Modal.d.ts.map +1 -0
- package/dist/types/modal/index.d.ts +3 -0
- package/dist/types/modal/index.d.ts.map +1 -0
- package/dist/types/modal/types.d.ts +64 -0
- package/dist/types/modal/types.d.ts.map +1 -0
- package/dist/types/modal/utils.d.ts +10 -0
- package/dist/types/modal/utils.d.ts.map +1 -0
- package/dist/types/pagination/Pagination.d.ts +18 -0
- package/dist/types/pagination/Pagination.d.ts.map +1 -0
- package/dist/types/pagination/index.d.ts +3 -0
- package/dist/types/pagination/index.d.ts.map +1 -0
- package/dist/types/pagination/types.d.ts +64 -0
- package/dist/types/pagination/types.d.ts.map +1 -0
- package/dist/types/pagination/utils.d.ts +41 -0
- package/dist/types/pagination/utils.d.ts.map +1 -0
- package/dist/types/popconfirm/Popconfirm.d.ts +16 -0
- package/dist/types/popconfirm/Popconfirm.d.ts.map +1 -0
- package/dist/types/popconfirm/index.d.ts +3 -0
- package/dist/types/popconfirm/index.d.ts.map +1 -0
- package/dist/types/popconfirm/types.d.ts +35 -0
- package/dist/types/popconfirm/types.d.ts.map +1 -0
- package/dist/types/popover/Popover.d.ts +16 -0
- package/dist/types/popover/Popover.d.ts.map +1 -0
- package/dist/types/popover/index.d.ts +3 -0
- package/dist/types/popover/index.d.ts.map +1 -0
- package/dist/types/popover/types.d.ts +42 -0
- package/dist/types/popover/types.d.ts.map +1 -0
- package/dist/types/progress/Progress.d.ts +15 -0
- package/dist/types/progress/Progress.d.ts.map +1 -0
- package/dist/types/progress/index.d.ts +3 -0
- package/dist/types/progress/index.d.ts.map +1 -0
- package/dist/types/progress/types.d.ts +34 -0
- package/dist/types/progress/types.d.ts.map +1 -0
- package/dist/types/qrcode/QRCode.d.ts +17 -0
- package/dist/types/qrcode/QRCode.d.ts.map +1 -0
- package/dist/types/qrcode/index.d.ts +3 -0
- package/dist/types/qrcode/index.d.ts.map +1 -0
- package/dist/types/qrcode/types.d.ts +49 -0
- package/dist/types/qrcode/types.d.ts.map +1 -0
- package/dist/types/qrcode/utils.d.ts +34 -0
- package/dist/types/qrcode/utils.d.ts.map +1 -0
- package/dist/types/radio/Radio.d.ts +5 -0
- package/dist/types/radio/Radio.d.ts.map +1 -0
- package/dist/types/radio/RadioGroup.d.ts +8 -0
- package/dist/types/radio/RadioGroup.d.ts.map +1 -0
- package/dist/types/radio/index.d.ts +4 -0
- package/dist/types/radio/index.d.ts.map +1 -0
- package/dist/types/radio/types.d.ts +53 -0
- package/dist/types/radio/types.d.ts.map +1 -0
- package/dist/types/radio/utils.d.ts +14 -0
- package/dist/types/radio/utils.d.ts.map +1 -0
- package/dist/types/rate/Rate.d.ts +5 -0
- package/dist/types/rate/Rate.d.ts.map +1 -0
- package/dist/types/rate/index.d.ts +3 -0
- package/dist/types/rate/index.d.ts.map +1 -0
- package/dist/types/rate/types.d.ts +37 -0
- package/dist/types/rate/types.d.ts.map +1 -0
- package/dist/types/rate/utils.d.ts +15 -0
- package/dist/types/rate/utils.d.ts.map +1 -0
- package/dist/types/segmented/Segmented.d.ts +15 -0
- package/dist/types/segmented/Segmented.d.ts.map +1 -0
- package/dist/types/segmented/index.d.ts +3 -0
- package/dist/types/segmented/index.d.ts.map +1 -0
- package/dist/types/segmented/types.d.ts +33 -0
- package/dist/types/segmented/types.d.ts.map +1 -0
- package/dist/types/select/Select.d.ts +17 -0
- package/dist/types/select/Select.d.ts.map +1 -0
- package/dist/types/select/_components/SelectPanel.d.ts +34 -0
- package/dist/types/select/_components/SelectPanel.d.ts.map +1 -0
- package/dist/types/select/index.d.ts +3 -0
- package/dist/types/select/index.d.ts.map +1 -0
- package/dist/types/select/types.d.ts +82 -0
- package/dist/types/select/types.d.ts.map +1 -0
- package/dist/types/select/useSelectState.d.ts +29 -0
- package/dist/types/select/useSelectState.d.ts.map +1 -0
- package/dist/types/select/utils.d.ts +39 -0
- package/dist/types/select/utils.d.ts.map +1 -0
- package/dist/types/skeleton/Skeleton.d.ts +10 -0
- package/dist/types/skeleton/Skeleton.d.ts.map +1 -0
- package/dist/types/skeleton/SkeletonButton.d.ts +13 -0
- package/dist/types/skeleton/SkeletonButton.d.ts.map +1 -0
- package/dist/types/skeleton/SkeletonInput.d.ts +9 -0
- package/dist/types/skeleton/SkeletonInput.d.ts.map +1 -0
- package/dist/types/skeleton/index.d.ts +7 -0
- package/dist/types/skeleton/index.d.ts.map +1 -0
- package/dist/types/skeleton/types.d.ts +46 -0
- package/dist/types/skeleton/types.d.ts.map +1 -0
- package/dist/types/skeleton/utils.d.ts +12 -0
- package/dist/types/skeleton/utils.d.ts.map +1 -0
- package/dist/types/slider/Slider.d.ts +5 -0
- package/dist/types/slider/Slider.d.ts.map +1 -0
- package/dist/types/slider/index.d.ts +3 -0
- package/dist/types/slider/index.d.ts.map +1 -0
- package/dist/types/slider/types.d.ts +52 -0
- package/dist/types/slider/types.d.ts.map +1 -0
- package/dist/types/slider/utils.d.ts +15 -0
- package/dist/types/slider/utils.d.ts.map +1 -0
- package/dist/types/splitter/Splitter.d.ts +22 -0
- package/dist/types/splitter/Splitter.d.ts.map +1 -0
- package/dist/types/splitter/index.d.ts +3 -0
- package/dist/types/splitter/index.d.ts.map +1 -0
- package/dist/types/splitter/types.d.ts +50 -0
- package/dist/types/splitter/types.d.ts.map +1 -0
- package/dist/types/splitter/utils.d.ts +33 -0
- package/dist/types/splitter/utils.d.ts.map +1 -0
- package/dist/types/statistic/Statistic.d.ts +23 -0
- package/dist/types/statistic/Statistic.d.ts.map +1 -0
- package/dist/types/statistic/index.d.ts +3 -0
- package/dist/types/statistic/index.d.ts.map +1 -0
- package/dist/types/statistic/types.d.ts +72 -0
- package/dist/types/statistic/types.d.ts.map +1 -0
- package/dist/types/statistic/utils.d.ts +34 -0
- package/dist/types/statistic/utils.d.ts.map +1 -0
- package/dist/types/steps/Steps.d.ts +5 -0
- package/dist/types/steps/Steps.d.ts.map +1 -0
- package/dist/types/steps/_components/StepsContent.d.ts +19 -0
- package/dist/types/steps/_components/StepsContent.d.ts.map +1 -0
- package/dist/types/steps/index.d.ts +5 -0
- package/dist/types/steps/index.d.ts.map +1 -0
- package/dist/types/steps/types.d.ts +90 -0
- package/dist/types/steps/types.d.ts.map +1 -0
- package/dist/types/steps/utils.d.ts +25 -0
- package/dist/types/steps/utils.d.ts.map +1 -0
- package/dist/types/switch/Switch.d.ts +14 -0
- package/dist/types/switch/Switch.d.ts.map +1 -0
- package/dist/types/switch/index.d.ts +3 -0
- package/dist/types/switch/index.d.ts.map +1 -0
- package/dist/types/switch/types.d.ts +19 -0
- package/dist/types/switch/types.d.ts.map +1 -0
- package/dist/types/switch/utils.d.ts +11 -0
- package/dist/types/switch/utils.d.ts.map +1 -0
- package/dist/types/table/Table.d.ts +26 -0
- package/dist/types/table/Table.d.ts.map +1 -0
- package/dist/types/table/_components/TableAccordion.d.ts +16 -0
- package/dist/types/table/_components/TableAccordion.d.ts.map +1 -0
- package/dist/types/table/_components/TableBody.d.ts +16 -0
- package/dist/types/table/_components/TableBody.d.ts.map +1 -0
- package/dist/types/table/_components/TableCellSkeleton.d.ts +12 -0
- package/dist/types/table/_components/TableCellSkeleton.d.ts.map +1 -0
- package/dist/types/table/_components/TableEditDrawer.d.ts +18 -0
- package/dist/types/table/_components/TableEditDrawer.d.ts.map +1 -0
- package/dist/types/table/_components/TableHeader.d.ts +19 -0
- package/dist/types/table/_components/TableHeader.d.ts.map +1 -0
- package/dist/types/table/_components/TableInfoValue.d.ts +17 -0
- package/dist/types/table/_components/TableInfoValue.d.ts.map +1 -0
- package/dist/types/table/_components/TablePagination.d.ts +21 -0
- package/dist/types/table/_components/TablePagination.d.ts.map +1 -0
- package/dist/types/table/_components/TableRowActions.d.ts +22 -0
- package/dist/types/table/_components/TableRowActions.d.ts.map +1 -0
- package/dist/types/table/index.d.ts +3 -0
- package/dist/types/table/index.d.ts.map +1 -0
- package/dist/types/table/types.d.ts +101 -0
- package/dist/types/table/types.d.ts.map +1 -0
- package/dist/types/table/utils.d.ts +27 -0
- package/dist/types/table/utils.d.ts.map +1 -0
- package/dist/types/tabs/Tabs.d.ts +13 -0
- package/dist/types/tabs/Tabs.d.ts.map +1 -0
- package/dist/types/tabs/_components/TabsContent.d.ts +9 -0
- package/dist/types/tabs/_components/TabsContent.d.ts.map +1 -0
- package/dist/types/tabs/_components/TabsList.d.ts +16 -0
- package/dist/types/tabs/_components/TabsList.d.ts.map +1 -0
- package/dist/types/tabs/_components/TabsTrigger.d.ts +12 -0
- package/dist/types/tabs/_components/TabsTrigger.d.ts.map +1 -0
- package/dist/types/tabs/index.d.ts +6 -0
- package/dist/types/tabs/index.d.ts.map +1 -0
- package/dist/types/tabs/types.d.ts +91 -0
- package/dist/types/tabs/types.d.ts.map +1 -0
- package/dist/types/tabs/useTabs.d.ts +10 -0
- package/dist/types/tabs/useTabs.d.ts.map +1 -0
- package/dist/types/tabs/utils.d.ts +20 -0
- package/dist/types/tabs/utils.d.ts.map +1 -0
- package/dist/types/tag/Tag.d.ts +5 -0
- package/dist/types/tag/Tag.d.ts.map +1 -0
- package/dist/types/tag/index.d.ts +3 -0
- package/dist/types/tag/index.d.ts.map +1 -0
- package/dist/types/tag/types.d.ts +18 -0
- package/dist/types/tag/types.d.ts.map +1 -0
- package/dist/types/tag/utils.d.ts +13 -0
- package/dist/types/tag/utils.d.ts.map +1 -0
- package/dist/types/theme-customizer/ThemeCustomizer.d.ts +17 -0
- package/dist/types/theme-customizer/ThemeCustomizer.d.ts.map +1 -0
- package/dist/types/theme-customizer/applyTheme.d.ts +16 -0
- package/dist/types/theme-customizer/applyTheme.d.ts.map +1 -0
- package/dist/types/theme-customizer/index.d.ts +8 -0
- package/dist/types/theme-customizer/index.d.ts.map +1 -0
- package/dist/types/theme-customizer/types.d.ts +37 -0
- package/dist/types/theme-customizer/types.d.ts.map +1 -0
- package/dist/types/timeline/Timeline.d.ts +15 -0
- package/dist/types/timeline/Timeline.d.ts.map +1 -0
- package/dist/types/timeline/index.d.ts +3 -0
- package/dist/types/timeline/index.d.ts.map +1 -0
- package/dist/types/timeline/types.d.ts +53 -0
- package/dist/types/timeline/types.d.ts.map +1 -0
- package/dist/types/timeline/utils.d.ts +13 -0
- package/dist/types/timeline/utils.d.ts.map +1 -0
- package/dist/types/toast/Toast.d.ts +19 -0
- package/dist/types/toast/Toast.d.ts.map +1 -0
- package/dist/types/toast/index.d.ts +4 -0
- package/dist/types/toast/index.d.ts.map +1 -0
- package/dist/types/toast/types.d.ts +43 -0
- package/dist/types/toast/types.d.ts.map +1 -0
- package/dist/types/toast/useToast.d.ts +26 -0
- package/dist/types/toast/useToast.d.ts.map +1 -0
- package/dist/types/toast/utils.d.ts +12 -0
- package/dist/types/toast/utils.d.ts.map +1 -0
- package/dist/types/tooltip/Tooltip.d.ts +5 -0
- package/dist/types/tooltip/Tooltip.d.ts.map +1 -0
- package/dist/types/tooltip/index.d.ts +3 -0
- package/dist/types/tooltip/index.d.ts.map +1 -0
- package/dist/types/tooltip/types.d.ts +32 -0
- package/dist/types/tooltip/types.d.ts.map +1 -0
- package/dist/types/tooltip/utils.d.ts +12 -0
- package/dist/types/tooltip/utils.d.ts.map +1 -0
- package/dist/types/tour/Tour.d.ts +18 -0
- package/dist/types/tour/Tour.d.ts.map +1 -0
- package/dist/types/tour/index.d.ts +3 -0
- package/dist/types/tour/index.d.ts.map +1 -0
- package/dist/types/tour/types.d.ts +46 -0
- package/dist/types/tour/types.d.ts.map +1 -0
- package/dist/types/tour/utils.d.ts +18 -0
- package/dist/types/tour/utils.d.ts.map +1 -0
- package/dist/types/transfer/Transfer.d.ts +16 -0
- package/dist/types/transfer/Transfer.d.ts.map +1 -0
- package/dist/types/transfer/_components/TransferList.d.ts +32 -0
- package/dist/types/transfer/_components/TransferList.d.ts.map +1 -0
- package/dist/types/transfer/index.d.ts +3 -0
- package/dist/types/transfer/index.d.ts.map +1 -0
- package/dist/types/transfer/types.d.ts +67 -0
- package/dist/types/transfer/types.d.ts.map +1 -0
- package/dist/types/transfer/utils.d.ts +34 -0
- package/dist/types/transfer/utils.d.ts.map +1 -0
- package/dist/types/tree/Tree.d.ts +59 -0
- package/dist/types/tree/Tree.d.ts.map +1 -0
- package/dist/types/tree/index.d.ts +5 -0
- package/dist/types/tree/index.d.ts.map +1 -0
- package/dist/types/tree/types.d.ts +92 -0
- package/dist/types/tree/types.d.ts.map +1 -0
- package/dist/types/tree/utils.d.ts +66 -0
- package/dist/types/tree/utils.d.ts.map +1 -0
- package/dist/types/tree-select/TreeSelect.d.ts +18 -0
- package/dist/types/tree-select/TreeSelect.d.ts.map +1 -0
- package/dist/types/tree-select/_components/TreeSelectPanel.d.ts +27 -0
- package/dist/types/tree-select/_components/TreeSelectPanel.d.ts.map +1 -0
- package/dist/types/tree-select/index.d.ts +3 -0
- package/dist/types/tree-select/index.d.ts.map +1 -0
- package/dist/types/tree-select/types.d.ts +87 -0
- package/dist/types/tree-select/types.d.ts.map +1 -0
- package/dist/types/tree-select/useTreeSelectState.d.ts +38 -0
- package/dist/types/tree-select/useTreeSelectState.d.ts.map +1 -0
- package/dist/types/tree-select/utils.d.ts +28 -0
- package/dist/types/tree-select/utils.d.ts.map +1 -0
- package/dist/types/typewriter/Typewriter.d.ts +16 -0
- package/dist/types/typewriter/Typewriter.d.ts.map +1 -0
- package/dist/types/typewriter/index.d.ts +3 -0
- package/dist/types/typewriter/index.d.ts.map +1 -0
- package/dist/types/typewriter/types.d.ts +33 -0
- package/dist/types/typewriter/types.d.ts.map +1 -0
- package/dist/types/typewriter/useTypewriter.d.ts +29 -0
- package/dist/types/typewriter/useTypewriter.d.ts.map +1 -0
- package/dist/types/typography/Typography.d.ts +6 -0
- package/dist/types/typography/Typography.d.ts.map +1 -0
- package/dist/types/typography/index.d.ts +3 -0
- package/dist/types/typography/index.d.ts.map +1 -0
- package/dist/types/typography/types.d.ts +38 -0
- package/dist/types/typography/types.d.ts.map +1 -0
- package/dist/types/typography/utils.d.ts +10 -0
- package/dist/types/typography/utils.d.ts.map +1 -0
- package/dist/types/upload/Upload.d.ts +5 -0
- package/dist/types/upload/Upload.d.ts.map +1 -0
- package/dist/types/upload/_components/List.d.ts +15 -0
- package/dist/types/upload/_components/List.d.ts.map +1 -0
- package/dist/types/upload/_components/ReviewList.d.ts +17 -0
- package/dist/types/upload/_components/ReviewList.d.ts.map +1 -0
- package/dist/types/upload/_components/UploadDragDropButton.d.ts +16 -0
- package/dist/types/upload/_components/UploadDragDropButton.d.ts.map +1 -0
- package/dist/types/upload/_components/UploadListButton.d.ts +7 -0
- package/dist/types/upload/_components/UploadListButton.d.ts.map +1 -0
- package/dist/types/upload/_components/UploadReviewButton.d.ts +14 -0
- package/dist/types/upload/_components/UploadReviewButton.d.ts.map +1 -0
- package/dist/types/upload/index.d.ts +3 -0
- package/dist/types/upload/index.d.ts.map +1 -0
- package/dist/types/upload/types.d.ts +30 -0
- package/dist/types/upload/types.d.ts.map +1 -0
- package/dist/types/upload/useUpload.d.ts +24 -0
- package/dist/types/upload/useUpload.d.ts.map +1 -0
- package/dist/types/upload/utils.d.ts +23 -0
- package/dist/types/upload/utils.d.ts.map +1 -0
- package/dist/typewriter.d.ts +1 -0
- package/dist/typewriter.js +139 -0
- package/dist/typewriter.js.map +1 -0
- package/dist/typography.d.ts +1 -0
- package/dist/typography.js +81 -0
- package/dist/typography.js.map +1 -0
- package/dist/upload.d.ts +1 -0
- package/dist/upload.js +370 -0
- package/dist/upload.js.map +1 -0
- package/package.json +325 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/date-picker/DatePicker.tsx","../src/date-picker/_components/PickerPanel.tsx","../src/calendar/_components/CalendarPanel.tsx","../src/date-picker/utils.ts","../src/date-picker/_components/TimePanel.tsx","../src/date-picker/usePickerState.ts","../src/date-picker/TimePicker.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useEffect, useId, useRef, useState } from \"react\";\nimport { ArrowRightIcon, CalendarIcon, ClockIcon } from \"lucide-react\";\nimport { cn } from \"@mari-ui/core\";\nimport { ClearButton } from \"../input/_components/FieldAdornments\";\nimport { FIELD_BASE_CLASS, FIELD_DISABLED_CLASS, FIELD_MOBILE_TEXT_CLASS, getShapeClasses, getVariantClasses } from \"../input/utils\";\nimport { useFieldControl } from \"../lib/fieldContext\";\nimport { skeletonBoxProps } from \"../lib/skeleton\";\nimport { sizeClass, touchTargetClass } from \"../lib/sizeClasses\";\nimport { useFloatingPosition } from \"../lib/useFloatingPosition\";\nimport { PickerPanel } from \"./_components/PickerPanel\";\nimport type { DatePickerProps, DatePickerRangeProps } from \"./types\";\nimport { usePickerState, type PickerState } from \"./usePickerState\";\nimport { formatPlaceholder, isoValue } from \"./utils\";\n\nexport type { DatePickerProps };\n\nconst GAP_PX = 4;\n\ninterface SlotInputProps {\n state: PickerState;\n slot: 0 | 1;\n id?: string;\n label?: string;\n labelledBy?: string;\n describedBy?: string;\n placeholder: string;\n panelId: string;\n disabled: boolean;\n required?: boolean;\n invalid?: boolean;\n inputRef: (el: HTMLInputElement | null) => void;\n onOpenWithFocus: () => void;\n}\n\n/** Yazılabilir alan (her yuva için). Panel açıkken odak burada kalır; ↓ odağı panele taşır. */\nfunction SlotInput({ state, slot, id, label, labelledBy, describedBy, placeholder, panelId, disabled, required, invalid, inputRef, onOpenWithFocus }: Readonly<SlotInputProps>) {\n const active = state.open && state.slot === slot;\n return (\n <input\n ref={inputRef}\n id={id}\n type=\"text\"\n // APG \"Date Picker Combobox\": yazılabilir alan + açılır dialog.\n role=\"combobox\"\n inputMode={state.mode === \"time\" ? \"numeric\" : \"text\"}\n autoComplete=\"off\"\n aria-label={label}\n aria-labelledby={labelledBy}\n aria-describedby={describedBy}\n aria-haspopup=\"dialog\"\n aria-expanded={state.open}\n aria-controls={state.open ? panelId : undefined}\n aria-required={required || undefined}\n aria-invalid={invalid || undefined}\n disabled={disabled}\n placeholder={placeholder}\n value={state.texts[slot] ?? \"\"}\n onChange={(e) => {\n state.setSlot(slot);\n state.typeText(slot, e.target.value);\n state.setOpen(true);\n }}\n onFocus={() => state.open && state.setSlot(slot)}\n onClick={() => {\n state.setSlot(slot);\n state.setOpen(true);\n }}\n onKeyDown={(e) => {\n if (e.key === \"ArrowDown\" || (e.key === \"ArrowDown\" && e.altKey)) {\n e.preventDefault();\n state.setSlot(slot);\n onOpenWithFocus();\n } else if (e.key === \"Enter\") {\n e.preventDefault();\n state.commitText(slot);\n state.close();\n } else if (e.key === \"Escape\" && state.open) {\n e.preventDefault();\n e.stopPropagation();\n state.close();\n }\n }}\n className={cn(\n \"w-full min-w-0 flex-1 bg-transparent tabular-nums placeholder:text-mari-muted focus:outline-none disabled:cursor-not-allowed\",\n FIELD_MOBILE_TEXT_CLASS,\n state.range && \"border-b-2 border-transparent\",\n active && state.range && \"border-mari-primary\"\n )}\n />\n );\n}\n\n/** Değerin sığacağı genişlik: tek alan / aralık, tarih-saatte daha geniş. */\nfunction boxWidthClass({ range, mode }: PickerState): string {\n if (mode === \"datetime\") return range ? \"max-w-[26rem]\" : \"max-w-60\";\n return range ? \"max-w-80\" : \"max-w-52\";\n}\n\ntype ElRef<T> = React.RefObject<T | null>;\n\n/**\n * Dışarı tıklama taslağı atıp kapatır; paneldeyken Escape kapatıp alana\n * döner; seçimle kapanınca odak body'ye düştüyse alana geri verilir.\n */\nfunction usePickerDismiss(state: PickerState, anchorRef: ElRef<HTMLDivElement>, panelRef: ElRef<HTMLDivElement>, inputs: ElRef<(HTMLInputElement | null)[]>, resetFocusPanel: () => void) {\n const { open, slot, close } = state;\n const closeRef = useRef(close);\n closeRef.current = close;\n useEffect(() => {\n if (!open) return;\n const onPointerDown = (e: PointerEvent) => {\n const t = e.target as Node;\n if (anchorRef.current?.contains(t) || panelRef.current?.contains(t)) return;\n closeRef.current();\n resetFocusPanel();\n };\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key !== \"Escape\" || !panelRef.current?.contains(document.activeElement)) return;\n e.preventDefault();\n closeRef.current();\n resetFocusPanel();\n inputs.current?.[slot]?.focus();\n };\n document.addEventListener(\"pointerdown\", onPointerDown);\n // Yakalama aşaması: Modal'ın (belge düzeyi) Escape dinleyicisinden ÖNCE işlenip `preventDefault` ile işaretlenir.\n document.addEventListener(\"keydown\", onKeyDown, true);\n return () => {\n document.removeEventListener(\"pointerdown\", onPointerDown);\n document.removeEventListener(\"keydown\", onKeyDown, true);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps -- refler kararlı\n }, [open, slot]);\n\n const wasOpen = useRef(open);\n useEffect(() => {\n if (wasOpen.current && !open && document.activeElement === document.body) inputs.current?.[slot]?.focus();\n if (!open) resetFocusPanel();\n wasOpen.current = open;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open, slot]);\n}\n\n/**\n * Faz 16.5 — yapı ant.design DatePicker/RangePicker/TimePicker'dan; 16.0\n * kararıyla tek motor: `mode=\"date\" | \"time\" | \"datetime\"`, `picker`\n * (gün/ay/yıl), `range` (iki alan, gün modunda iki aylık panel, üzerine\n * gelince önizleme). Alan yazılabilir (biçim `format`, ayraçlar esnek);\n * takvim Calendar ile ortak (APG date grid). Bağımlılık yok.\n *\n * Erişilebilirlik: alan(lar) `aria-haspopup=\"dialog\"` + `aria-expanded`;\n * fareyle açılınca odak alanda kalır, ↓ odağı takvime (ya da saat\n * sütununa) taşır; Escape kapatır ve alana döner; Enter yazılanı uygular.\n * Panel `role=\"dialog\"`, adı işlevi (\"Tarih aralığı seç\").\n */\nexport function DatePicker(outerProps: DatePickerProps) {\n const props = useFieldControl(outerProps) as DatePickerProps;\n const {\n allowClear = true,\n clearLabel = \"Temizle\",\n disabled = false,\n size = \"md\",\n variant = \"outline\",\n shape = \"default\",\n color,\n placement = \"bottom-start\",\n id,\n name,\n required,\n className,\n skeleton = false,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-describedby\": ariaDescribedBy,\n } = props;\n const state = usePickerState(props);\n const anchorRef = useRef<HTMLDivElement>(null);\n const panelRef = useRef<HTMLDivElement>(null);\n const inputs = useRef<(HTMLInputElement | null)[]>([]);\n const panelId = useId();\n const [focusPanel, setFocusPanel] = useState(false);\n const coords = useFloatingPosition(state.open, anchorRef, panelRef, { placement, gap: GAP_PX });\n usePickerDismiss(state, anchorRef, panelRef, inputs, () => setFocusPanel(false));\n\n // Genişlik iskeletle ORTAK — yüklenince kutu kaymasın.\n const geometry = cn(\"flex w-full items-center gap-2\", sizeClass[size], getShapeClasses(shape, variant), boxWidthClass(state));\n if (skeleton) return <div {...skeletonBoxProps(cn(geometry, className))} />;\n\n const rangeProps = props as DatePickerRangeProps;\n const basePlaceholder = formatPlaceholder(state.format);\n const placeholders: [string, string] = state.range ? (rangeProps.placeholder ?? [basePlaceholder, basePlaceholder]) : [(props.placeholder as string | undefined) ?? basePlaceholder, \"\"];\n const rangeLabels = rangeProps.rangeLabels ?? [\"Başlangıç\", \"Bitiş\"];\n const hasValue = state.values.some((v) => v !== null);\n const Icon = state.mode === \"time\" ? ClockIcon : CalendarIcon;\n\n /** Odak bileşenin (alanlar + panel) dışına çıkınca: yazılanı uygula, kapat. */\n const onFocusOut = (e: React.FocusEvent) => {\n const to = e.relatedTarget as Node | null;\n if (anchorRef.current?.contains(to) || panelRef.current?.contains(to)) return;\n state.commitText(state.slot);\n state.close();\n setFocusPanel(false);\n };\n\n const slotInput = (slot: 0 | 1) => (\n <SlotInput\n state={state}\n slot={slot}\n id={slot === 0 ? id : undefined}\n label={state.range ? rangeLabels[slot] : ariaLabel}\n labelledBy={state.range ? undefined : ariaLabelledBy}\n describedBy={ariaDescribedBy}\n placeholder={placeholders[slot]}\n panelId={panelId}\n disabled={disabled}\n required={required}\n invalid={color === \"error\"}\n inputRef={(el) => (inputs.current[slot] = el)}\n onOpenWithFocus={() => {\n setFocusPanel(true);\n state.setOpen(true);\n }}\n />\n );\n\n return (\n <>\n <div\n ref={anchorRef}\n role={state.range ? \"group\" : undefined}\n aria-labelledby={state.range ? ariaLabelledBy : undefined}\n aria-label={state.range ? ariaLabel : undefined}\n onBlur={onFocusOut}\n onMouseDown={(e) => {\n const t = e.target as HTMLElement;\n if (disabled || t.tagName === \"INPUT\" || t.closest(\"button\")) return;\n e.preventDefault();\n inputs.current[state.open ? state.slot : 0]?.focus();\n state.setOpen(!state.open);\n }}\n className={cn(\n geometry,\n \"group relative cursor-text\",\n touchTargetClass[size],\n FIELD_BASE_CLASS,\n getVariantClasses(variant, color),\n disabled && FIELD_DISABLED_CLASS,\n className\n )}\n >\n {slotInput(0)}\n {state.range && (\n <>\n <ArrowRightIcon aria-hidden size={14} className=\"shrink-0 text-mari-muted\" />\n {slotInput(1)}\n </>\n )}\n {allowClear && (\n <ClearButton\n visible={hasValue && !disabled}\n label={clearLabel}\n onClear={() => {\n state.clear();\n inputs.current[0]?.focus();\n }}\n />\n )}\n <Icon aria-hidden size={16} className=\"shrink-0 text-mari-muted\" />\n {name && state.values.map((v, i) => <input key={i} type=\"hidden\" name={name} value={isoValue(v, state.mode)} />)}\n </div>\n {state.open && (\n <PickerPanel\n ref={panelRef}\n id={panelId}\n coords={coords}\n state={state}\n props={props}\n takeFocus={focusPanel}\n onFocusOut={onFocusOut}\n />\n )}\n </>\n );\n}\n","\"use client\";\n\nimport React, { forwardRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { cn } from \"@mari-ui/core\";\nimport { Button } from \"../../button\";\nimport { CalendarPanel } from \"../../calendar/_components/CalendarPanel\";\nimport { addMonths, isSameDay, isSameMonth, isSameYear, startOfDay, startOfMonth } from \"../../lib/date\";\nimport { elevationClass } from \"../../lib/elevationClass\";\nimport type { FloatingCoords } from \"../../lib/useFloatingPosition\";\nimport type { DatePickerPreset, DatePickerProps } from \"../types\";\nimport type { PickerState } from \"../usePickerState\";\nimport { rangePosition } from \"../utils\";\nimport { TimePanel } from \"./TimePanel\";\n\ninterface PickerPanelProps {\n id: string;\n coords: FloatingCoords | null;\n state: PickerState;\n props: DatePickerProps;\n /** Klavyeyle (↓) açıldıysa odak panele. */\n takeFocus: boolean;\n onFocusOut: (e: React.FocusEvent) => void;\n}\n\nconst panelLabel = (mode: string, range: boolean) => {\n if (mode === \"time\") return range ? \"Saat aralığı seç\" : \"Saat seç\";\n if (mode === \"datetime\") return range ? \"Tarih ve saat aralığı seç\" : \"Tarih ve saat seç\";\n return range ? \"Tarih aralığı seç\" : \"Tarih seç\";\n};\n\nfunction Presets({ presets, onPick }: Readonly<{ presets: DatePickerPreset<Date | [Date, Date]>[]; onPick: (v: Date | [Date, Date]) => void }>) {\n return (\n <ul aria-label=\"Hazır seçimler\" className=\"flex shrink-0 flex-row flex-wrap gap-1 border-b border-mari-border p-2 sm:w-36 sm:flex-col sm:border-r sm:border-b-0\">\n {presets.map((p, i) => (\n // Hazır seçimler sabit sırada.\n <li key={i}>\n <button\n type=\"button\"\n onClick={() => onPick(typeof p.value === \"function\" ? p.value() : p.value)}\n className=\"w-full rounded-md px-2 py-1 pointer-coarse:py-2.5 text-left text-sm text-mari-foreground outline-none hover:bg-mari-surface-alt focus-visible:outline-2 focus-visible:outline-mari-ring\"\n >\n {p.label}\n </button>\n </li>\n ))}\n </ul>\n );\n}\n\nfunction selectionChecker({ picker, draft, range }: PickerState) {\n return (d: Date) => {\n if (picker === \"month\") return draft.some((v) => isSameMonth(v, d));\n if (picker === \"year\") return draft.some((v) => isSameYear(v, d));\n return !range && isSameDay(draft[0], d);\n };\n}\n\nfunction rangeChecker({ range, picker, draft, slot, hover }: PickerState) {\n if (!range || picker !== \"date\") return undefined;\n return (d: Date) => rangePosition(d, draft[0] ?? null, draft[1] ?? null, slot === 1 && !draft[1] ? hover : null);\n}\n\nfunction Footer({ state, showNow, needsConfirm }: Readonly<{ state: PickerState; showNow: boolean; needsConfirm: boolean }>) {\n if (!showNow && !needsConfirm) return null;\n return (\n <div className=\"flex items-center justify-between gap-2 border-t border-mari-border px-3 py-2\">\n {showNow ? (\n <Button size=\"sm\" variant=\"ghost\" onClick={state.pickNow}>\n {state.mode === \"date\" ? \"Bugün\" : \"Şimdi\"}\n </Button>\n ) : (\n <span />\n )}\n {needsConfirm && (\n <Button size=\"sm\" onClick={state.confirm} disabled={!state.draft[state.slot]}>\n {state.range && state.slot === 0 ? \"Sonraki\" : \"Tamam\"}\n </Button>\n )}\n </div>\n );\n}\n\n/**\n * DatePicker paneli: (hazır seçimler) + takvim(ler) + (saat sütunları) +\n * alt çubuk (Bugün/Şimdi, Tamam). Aralık gün modunda iki ay yan yana.\n * `role=\"dialog\"` (modal değil); fareyle tıklama alanın odağını almaz.\n */\nexport const PickerPanel = forwardRef<HTMLDivElement, PickerPanelProps>(function PickerPanel({ id, coords, state, props, takeFocus, onFocusOut }, ref) {\n const { mode, picker, range, draft, slot } = state;\n const hasDate = mode !== \"time\";\n const hasTime = mode !== \"date\";\n const dual = range && mode === \"date\" && picker === \"date\";\n const current = draft[slot] ?? draft[slot === 0 ? 1 : 0] ?? startOfDay(new Date());\n const [view, setView] = useState(() => startOfMonth(current));\n const seconds = state.format.includes(\"ss\");\n const showNow = props.showNow ?? !range;\n const needsConfirm = hasTime;\n // Panel konumu ölçülene kadar `invisible` — görünmez öğeye odak verilemez, ölçümü bekle.\n const focusNow = takeFocus && coords !== null;\n\n if (typeof document === \"undefined\") return null;\n\n const isSelected = selectionChecker(state);\n const rangeOf = rangeChecker(state);\n\n const calendarCommon = {\n picker,\n isSelected,\n rangeOf,\n isDisabled: state.isDisabled,\n onSelect: state.pickDate,\n onHover: range ? state.setHover : undefined,\n weekStart: props.weekStart,\n locale: props.locale,\n showWeek: props.showWeek,\n };\n\n const presets = props.presets as DatePickerPreset<Date | [Date, Date]>[] | undefined;\n\n return createPortal(\n // eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions -- yalnız alanın odağını korur / dışarı çıkışı izler\n <div\n ref={ref}\n id={id}\n role=\"dialog\"\n aria-label={panelLabel(mode, range)}\n onMouseDown={(e) => e.preventDefault()}\n onBlur={onFocusOut}\n className={cn(\n \"fixed z-mari-dropdown flex max-h-[calc(100vh-1rem)] max-w-[calc(100vw-1rem)] flex-col overflow-auto rounded-lg bg-mari-surface text-mari-foreground\",\n elevationClass.md,\n !coords && \"invisible\"\n )}\n style={{ top: coords?.top ?? 0, left: coords?.left ?? 0 }}\n >\n <div className=\"flex flex-col sm:flex-row\">\n {presets && presets.length > 0 && (\n <Presets\n presets={presets}\n onPick={(v) => {\n state.commit(Array.isArray(v) ? [...v] : [v]);\n state.close();\n }}\n />\n )}\n {hasDate && (\n <div className=\"flex flex-col gap-4 p-3 sm:flex-row\">\n {dual ? (\n <>\n {/* Dar ekranda tek ay (iki ay alt alta ekrana sığmıyor, alanın üstüne biniyordu); ikinci ay sm+. */}\n <CalendarPanel key=\"l\" {...calendarCommon} initialDate={view} viewDate={view} onViewDateChange={setView} hideNext=\"sm\" takeFocus={focusNow} />\n <div className=\"hidden sm:block\">\n <CalendarPanel key=\"r\" {...calendarCommon} initialDate={addMonths(view, 1)} viewDate={addMonths(view, 1)} onViewDateChange={(d) => setView(addMonths(d, -1))} hidePrev />\n </div>\n </>\n ) : (\n <CalendarPanel key={`s${slot}`} {...calendarCommon} initialDate={current} takeFocus={focusNow} />\n )}\n </div>\n )}\n {hasTime && (\n <div className={cn(\"p-2\", hasDate && \"border-t border-mari-border sm:border-t-0 sm:border-l\")}>\n <TimePanel\n value={current}\n onChange={state.pickTime}\n seconds={seconds}\n hourStep={props.hourStep}\n minuteStep={props.minuteStep}\n secondStep={props.secondStep}\n takeFocus={focusNow && !hasDate}\n />\n </div>\n )}\n </div>\n <Footer state={state} showNow={showNow} needsConfirm={needsConfirm} />\n </div>,\n document.body\n );\n});\n","\"use client\";\n\nimport React, { useEffect, useState } from \"react\";\nimport { ChevronLeftIcon, ChevronRightIcon, ChevronsLeftIcon, ChevronsRightIcon } from \"lucide-react\";\nimport { cn } from \"@mari-ui/core\";\nimport { addMonths, addYears, isSameMonth, isSameYear, monthNames, startOfMonth, type WeekStart } from \"../../lib/date\";\nimport { CellGrid, type GridCell } from \"./CellGrid\";\nimport { DayGrid, type RangePosition } from \"./DayGrid\";\n\nexport type PanelPicker = \"date\" | \"month\" | \"year\";\n\nexport interface CalendarPanelProps {\n /** Hangi düzeyde seçim yapılır. Varsayılan: `date`. */\n picker?: PanelPicker;\n /** Panelin açıldığı gün (seçili değer ya da bugün). */\n initialDate: Date;\n isSelected: (date: Date) => boolean;\n rangeOf?: (date: Date) => RangePosition | null;\n isDisabled: (date: Date) => boolean;\n onSelect: (date: Date) => void;\n onHover?: (date: Date | null) => void;\n weekStart?: WeekStart;\n locale?: string;\n showWeek?: boolean;\n takeFocus?: boolean;\n /** Görünen ay dışarıdan (aralıkta iki panel birlikte kayar). */\n viewDate?: Date;\n onViewDateChange?: (date: Date) => void;\n /**\n * Aralıkta: sol panel yalnız geri, sağ panel yalnız ileri oklarını gösterir.\n * `\"sm\"`: yalnız `sm` ve üstünde gizli (dar ekranda tek panel kalır, oklar gerekir).\n */\n hidePrev?: boolean;\n hideNext?: boolean | \"sm\";\n className?: string;\n}\n\nconst NAV_BUTTON = \"grid size-7 pointer-coarse:size-10 place-items-center rounded-md text-mari-muted outline-none hover:bg-mari-surface-alt hover:text-mari-foreground focus-visible:outline-2 focus-visible:outline-mari-ring\";\nconst TITLE_BUTTON = \"rounded-md px-1.5 py-0.5 pointer-coarse:py-2.5 font-medium outline-none hover:bg-mari-surface-alt hover:text-mari-primary focus-visible:outline-2 focus-visible:outline-mari-ring\";\n\nconst decadeStart = (year: number) => year - (year % 10);\n\nfunction monthCells(year: number, picker: PanelPicker, selected: (d: Date) => boolean, disabled: (d: Date) => boolean, locale?: string): GridCell[] {\n const short = monthNames(locale, \"short\");\n const long = monthNames(locale, \"long\");\n const now = new Date();\n return short.map((name, m) => {\n const first = new Date(year, m, 1);\n const days = new Date(year, m + 1, 0).getDate();\n // Ay seçiminde: ayın tüm günleri devre dışıysa ay da devre dışı.\n const allDisabled = picker === \"month\" && Array.from({ length: days }, (_, i) => new Date(year, m, i + 1)).every(disabled);\n return {\n key: String(m),\n label: name,\n fullLabel: `${long[m]} ${year}`,\n selected: picker === \"month\" ? selected(first) : false,\n current: isSameMonth(first, now),\n disabled: allDisabled,\n };\n });\n}\n\nfunction yearCells(year: number, picker: PanelPicker, selected: (d: Date) => boolean, disabled: (d: Date) => boolean): GridCell[] {\n const start = decadeStart(year) - 1;\n const now = new Date();\n return Array.from({ length: 12 }, (_, i) => {\n const y = start + i;\n const first = new Date(y, 0, 1);\n return {\n key: String(y),\n label: String(y),\n fullLabel: String(y),\n selected: picker === \"year\" ? selected(first) : false,\n current: isSameYear(first, now),\n disabled: picker === \"year\" && disabled(first) && disabled(new Date(y, 11, 31)),\n outside: i === 0 || i === 11,\n };\n });\n}\n\n/**\n * Faz 16.5 — kompakt takvim paneli (DatePicker'ın paneli; ant.design\n * PickerPanel yapısı): «/‹ başlık ›/» gezinmesi; başlıktaki ay/yıl düğmeleri\n * ay ve yıl görünümüne geçer. Görünen dönem `aria-live` ile duyurulur.\n */\nexport function CalendarPanel(props: Readonly<CalendarPanelProps>) {\n const { picker = \"date\", initialDate, isSelected, rangeOf, isDisabled, onSelect, onHover, weekStart = 1, locale, showWeek, takeFocus, hidePrev, hideNext, className } = props;\n const [mode, setMode] = useState<PanelPicker>(picker);\n const [innerView, setInnerView] = useState(() => startOfMonth(initialDate));\n const [focused, setFocused] = useState(initialDate);\n const view = props.viewDate ?? innerView;\n const setView = (d: Date) => {\n const next = startOfMonth(d);\n setInnerView(next);\n props.onViewDateChange?.(next);\n };\n const [focusGrid, setFocusGrid] = useState(!!takeFocus);\n useEffect(() => setMode(picker), [picker]);\n\n const moveFocus = (d: Date) => {\n setFocused(d);\n if (!isSameMonth(d, view)) setView(d);\n };\n\n const long = monthNames(locale, \"long\");\n const year = view.getFullYear();\n\n let title: React.ReactNode;\n let grid: React.ReactNode;\n if (mode === \"date\") {\n title = (\n <>\n <button type=\"button\" className={TITLE_BUTTON} aria-label={`Ay seç, ${long[view.getMonth()]}`} onClick={() => setMode(\"month\")}>\n {long[view.getMonth()]}\n </button>\n <button type=\"button\" className={TITLE_BUTTON} aria-label={`Yıl seç, ${year}`} onClick={() => setMode(\"year\")}>\n {year}\n </button>\n </>\n );\n grid = (\n <DayGrid\n view={view}\n focused={isSameMonth(focused, view) ? focused : view}\n onFocusChange={(d) => {\n setFocusGrid(true);\n moveFocus(d);\n }}\n isSelected={isSelected}\n rangeOf={rangeOf}\n isDisabled={isDisabled}\n onSelect={onSelect}\n onHover={onHover}\n weekStart={weekStart}\n locale={locale}\n showWeek={showWeek}\n label={`${long[view.getMonth()]} ${year}`}\n takeFocus={focusGrid || !!takeFocus}\n />\n );\n } else if (mode === \"month\") {\n const cells = monthCells(year, picker, isSelected, isDisabled, locale);\n title = (\n <button type=\"button\" className={TITLE_BUTTON} aria-label={`Yıl seç, ${year}`} onClick={() => setMode(\"year\")}>\n {year}\n </button>\n );\n grid = (\n <CellGrid\n cells={cells}\n focusedIndex={view.getMonth()}\n label={`${year} ayları`}\n takeFocus\n onFocusIndex={(i) => setView(new Date(year, i, 1))}\n onPage={(d) => setView(addYears(view, d))}\n onSelect={(i) => {\n const d = new Date(year, i, 1);\n if (picker === \"month\") onSelect(d);\n else {\n setView(d);\n setFocused(d);\n setMode(\"date\");\n }\n }}\n />\n );\n } else {\n const cells = yearCells(year, picker, isSelected, isDisabled);\n const start = decadeStart(year);\n title = <span className=\"px-1.5 font-medium\">{`${start}–${start + 9}`}</span>;\n grid = (\n <CellGrid\n cells={cells}\n focusedIndex={year - (start - 1)}\n label={`${start}–${start + 9} yılları`}\n takeFocus\n onFocusIndex={(i) => setView(new Date(start - 1 + i, view.getMonth(), 1))}\n onPage={(d) => setView(addYears(view, d * 10))}\n onSelect={(i) => {\n const d = new Date(start - 1 + i, view.getMonth(), 1);\n if (picker === \"year\") onSelect(d);\n else {\n setView(d);\n setMode(\"month\");\n }\n }}\n />\n );\n }\n\n const shift = (months: number) => {\n const next = mode === \"year\" ? addYears(view, Math.sign(months) * 10) : addMonths(view, months);\n setView(next);\n setFocused(addMonths(focused, next.getFullYear() * 12 + next.getMonth() - (view.getFullYear() * 12 + view.getMonth())));\n };\n\n return (\n <div className={cn(\"w-[17.5rem] max-w-full pointer-coarse:w-[19.25rem]\", className)}>\n <div className=\"mb-2 flex items-center gap-0.5\">\n {!hidePrev && (\n <>\n <button type=\"button\" className={NAV_BUTTON} aria-label={mode === \"year\" ? \"Önceki on yıl\" : \"Önceki yıl\"} onClick={() => shift(-12)}>\n <ChevronsLeftIcon aria-hidden size={16} />\n </button>\n {mode === \"date\" && (\n <button type=\"button\" className={NAV_BUTTON} aria-label=\"Önceki ay\" onClick={() => shift(-1)}>\n <ChevronLeftIcon aria-hidden size={16} />\n </button>\n )}\n </>\n )}\n <div aria-live=\"polite\" className=\"flex flex-1 items-center justify-center gap-0.5 text-sm\">\n {title}\n </div>\n {hideNext !== true && (\n <span className={cn(\"contents\", hideNext === \"sm\" && \"sm:hidden\")}>\n {mode === \"date\" && (\n <button type=\"button\" className={NAV_BUTTON} aria-label=\"Sonraki ay\" onClick={() => shift(1)}>\n <ChevronRightIcon aria-hidden size={16} />\n </button>\n )}\n <button type=\"button\" className={NAV_BUTTON} aria-label={mode === \"year\" ? \"Sonraki on yıl\" : \"Sonraki yıl\"} onClick={() => shift(12)}>\n <ChevronsRightIcon aria-hidden size={16} />\n </button>\n </span>\n )}\n </div>\n {grid}\n </div>\n );\n}\n","import { addDays, compareDay, isBetweenDays, isSameDay, isWithin, startOfDay } from \"../lib/date\";\nimport type { RangePosition } from \"../calendar/_components/DayGrid\";\nimport type { DatePickerMode, DatePickerPicker } from \"./types\";\n\n/** Faz 16.5 — DatePicker'ın saf mantığı. */\n\nexport function defaultFormat(mode: DatePickerMode, picker: DatePickerPicker, seconds = false): string {\n const time = seconds ? \"HH:mm:ss\" : \"HH:mm\";\n if (mode === \"time\") return time;\n if (mode === \"datetime\") return `dd.MM.yyyy ${time}`;\n if (picker === \"month\") return \"MM.yyyy\";\n if (picker === \"year\") return \"yyyy\";\n return \"dd.MM.yyyy\";\n}\n\n/** Yer tutucu: biçimin Türkçe okunuşu (\"gg.aa.yyyy ss:dd\"). */\nconst PLACEHOLDER_TOKENS: Record<string, string> = { yyyy: \"yyyy\", MM: \"aa\", dd: \"gg\", HH: \"ss\", mm: \"dd\", ss: \"sn\" };\nexport function formatPlaceholder(format: string): string {\n return format.replace(/yyyy|MM|dd|HH|mm|ss/g, (t) => PLACEHOLDER_TOKENS[t]!);\n}\n\n/** Gizli form alanı için ISO metin. */\nexport function isoValue(d: Date | null, mode: DatePickerMode): string {\n if (!d) return \"\";\n const p = (n: number) => String(n).padStart(2, \"0\");\n const date = `${d.getFullYear()}-${p(d.getMonth() + 1)}-${p(d.getDate())}`;\n const time = `${p(d.getHours())}:${p(d.getMinutes())}`;\n if (mode === \"time\") return time;\n return mode === \"datetime\" ? `${date}T${time}` : date;\n}\n\n/** Tarihin gününü, saatin saat/dakika/saniyesini birleştirir. */\nexport const mergeDateTime = (date: Date, time: Date) =>\n new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes(), time.getSeconds());\n\nexport function isDayDisabled(d: Date, min?: Date, max?: Date, disabledDate?: (d: Date) => boolean): boolean {\n return !isWithin(d, min, max) || !!disabledDate?.(d);\n}\n\n/** Saat sütunu değerleri: 0..max adımla. */\nexport const columnValues = (max: number, step = 1) => Array.from({ length: Math.ceil((max + 1) / step) }, (_, i) => i * step);\n\n/** Bir değerin sütundaki en yakın adıma yuvarlanmış hali (adım dışı değer listede görünmezdi). */\nexport const snap = (value: number, step = 1) => Math.floor(value / step) * step;\n\n/**\n * Aralık vurgusu: seçili uçlar ve (seçim sürerken) üzerine gelinen gün.\n * `[start, null]` + hover → start..hover önizlemesi.\n */\nexport function rangePosition(d: Date, start: Date | null, end: Date | null, hover: Date | null): RangePosition | null {\n const b = end ?? (start ? (hover ?? start) : null);\n const a = start ?? b;\n if (!a || !b) return null;\n const [lo, hi] = compareDay(a, b) <= 0 ? [a, b] : [b, a];\n if (isSameDay(lo, hi)) return isSameDay(d, lo) ? \"single\" : null;\n if (isSameDay(d, lo)) return \"start\";\n if (isSameDay(d, hi)) return \"end\";\n return isBetweenDays(d, lo, hi) ? \"middle\" : null;\n}\n\n/** Aralığı sıraya koyar (bitiş başlangıçtan önceyse yer değiştirir). */\nexport function orderRange(a: Date | null, b: Date | null): [Date | null, Date | null] {\n if (a && b && a.getTime() > b.getTime()) return [b, a];\n return [a, b];\n}\n\n/** Hazır aralık örnekleri için yardımcı: son N gün (bugün dahil). */\nexport const lastDays = (n: number): [Date, Date] => {\n const today = startOfDay(new Date());\n return [addDays(today, -(n - 1)), today];\n};\n","\"use client\";\n\nimport React, { useEffect, useRef } from \"react\";\nimport { cn } from \"@mari-ui/core\";\nimport { columnValues, snap } from \"../utils\";\n\ninterface ColumnProps {\n label: string;\n values: number[];\n value: number;\n onChange: (v: number) => void;\n takeFocus?: boolean;\n}\n\nconst pad = (n: number) => String(n).padStart(2, \"0\");\n\n/**\n * Tek sütun (saat, dakika ya da saniye): APG listbox, seçim odağı izler\n * (↑/↓, Home/End, PageUp/Down 5'er). Seçili değer sütunun en üstüne kayar\n * (ant.design gibi).\n */\nfunction Column({ label, values, value, onChange, takeFocus }: Readonly<ColumnProps>) {\n const listRef = useRef<HTMLDivElement>(null);\n const navigating = useRef(false);\n const index = Math.max(0, values.indexOf(value));\n useEffect(() => {\n const list = listRef.current;\n const option = list?.children[index] as HTMLElement | undefined;\n if (!list || !option) return;\n list.scrollTo?.({ top: option.offsetTop - list.offsetTop, behavior: \"smooth\" });\n if (navigating.current || takeFocus) option.focus({ preventScroll: true });\n navigating.current = false;\n }, [index, takeFocus]);\n\n const onKeyDown = (e: React.KeyboardEvent) => {\n const map: Record<string, number> = { ArrowDown: 1, ArrowUp: -1, PageDown: 5, PageUp: -5 };\n let next: number | null = null;\n if (e.key in map) next = Math.min(values.length - 1, Math.max(0, index + map[e.key]!));\n else if (e.key === \"Home\") next = 0;\n else if (e.key === \"End\") next = values.length - 1;\n if (next === null) return;\n e.preventDefault();\n navigating.current = true;\n onChange(values[next]!);\n };\n\n return (\n <div\n ref={listRef}\n role=\"listbox\"\n aria-label={label}\n className=\"relative h-56 w-14 pointer-coarse:w-16 snap-y overflow-y-auto overscroll-contain border-l border-mari-border py-1 first:border-l-0 [scrollbar-width:thin]\"\n >\n {values.map((v, i) => (\n <div\n key={v}\n role=\"option\"\n tabIndex={i === index ? 0 : -1}\n aria-selected={i === index}\n onKeyDown={onKeyDown}\n onClick={() => onChange(v)}\n className={cn(\n \"mx-1 flex h-7 pointer-coarse:h-11 cursor-pointer snap-start items-center justify-center rounded-md text-sm tabular-nums outline-none\",\n \"focus-visible:outline-2 focus-visible:outline-mari-ring\",\n i === index ? \"bg-mari-primary-subtle font-medium text-mari-primary\" : \"hover:bg-mari-surface-alt\"\n )}\n >\n {pad(v)}\n </div>\n ))}\n {/* Son değer de en üste kayabilsin. */}\n <div aria-hidden className=\"h-48 pointer-coarse:h-[19rem]\" />\n </div>\n );\n}\n\nexport interface TimePanelProps {\n value: Date;\n onChange: (date: Date) => void;\n seconds: boolean;\n hourStep?: number;\n minuteStep?: number;\n secondStep?: number;\n takeFocus?: boolean;\n}\n\n/** Saat / dakika / (saniye) sütunları. Her sütun ayrı sekme durağı. */\nexport function TimePanel({ value, onChange, seconds, hourStep = 1, minuteStep = 1, secondStep = 1, takeFocus }: Readonly<TimePanelProps>) {\n const set = (h: number, m: number, s: number) => {\n const d = new Date(value);\n d.setHours(h, m, s, 0);\n onChange(d);\n };\n const h = snap(value.getHours(), hourStep);\n const m = snap(value.getMinutes(), minuteStep);\n const s = snap(value.getSeconds(), secondStep);\n return (\n <div className=\"flex\" role=\"group\" aria-label=\"Saat seçimi\">\n <Column label=\"Saat\" values={columnValues(23, hourStep)} value={h} onChange={(v) => set(v, m, s)} takeFocus={takeFocus} />\n <Column label=\"Dakika\" values={columnValues(59, minuteStep)} value={m} onChange={(v) => set(h, v, s)} />\n {seconds && <Column label=\"Saniye\" values={columnValues(59, secondStep)} value={s} onChange={(v) => set(h, m, v)} />}\n </div>\n );\n}\n","\"use client\";\n\nimport { useState } from \"react\";\nimport { useControllableState } from \"@mari-ui/core\";\nimport { formatDate, parseDate, startOfDay } from \"../lib/date\";\nimport type { DatePickerProps, DatePickerRangeProps, DatePickerSingleProps, DateRangeValue } from \"./types\";\nimport { defaultFormat, isDayDisabled, mergeDateTime, orderRange } from \"./utils\";\n\ntype Slot = 0 | 1;\ntype Values = (Date | null)[];\n\nconst toValues = (v: Date | null | DateRangeValue | undefined, range: boolean): Values | undefined => {\n if (v === undefined) return undefined;\n if (range) return v ? [...(v as DateRangeValue)] : [null, null];\n return [v as Date | null];\n};\n\n/**\n * DatePicker durumu. `values` kesin değer (onChange'e giden); panel açıkken\n * düzenlemeler `draft`a yazılır ve ancak kesinleşince (gün seçimi, \"Tamam\",\n * Enter, alan dışına çıkış) `values` olur. Escape/dışarı tıklama taslağı atar.\n * Her yuvanın (aralıkta 2) kendi metni var — yazılan geçerli metin taslağa geçer.\n */\nexport function usePickerState(props: DatePickerProps) {\n const range = props.range === true;\n const mode = props.mode ?? \"date\";\n const picker = mode === \"date\" ? (props.picker ?? \"date\") : \"date\";\n const format = props.format ?? defaultFormat(mode, picker);\n const locale = props.locale;\n const fmt = (d: Date | null) => (d ? formatDate(d, format, locale) : \"\");\n\n const [values, setValuesState] = useControllableState<Values>({\n value: toValues(props.value, range),\n defaultValue: toValues(props.defaultValue, range) ?? (range ? [null, null] : [null]),\n });\n const [open, setOpenState] = useControllableState<boolean>({ value: props.open, defaultValue: false, onChange: props.onOpenChange });\n const [draft, setDraft] = useState<Values>(values);\n const [texts, setTexts] = useState<string[]>(() => values.map(fmt));\n const [slot, setSlot] = useState<Slot>(0);\n const [hover, setHover] = useState<Date | null>(null);\n\n // Değer dışarıdan değişince (kontrollü) metinler eşitlensin — panel kapalıyken.\n const valuesKey = values.map((v) => v?.getTime() ?? \"\").join(\"|\");\n const [syncedKey, setSyncedKey] = useState(valuesKey);\n if (valuesKey !== syncedKey) {\n setSyncedKey(valuesKey);\n setTexts(values.map(fmt));\n if (!open) setDraft(values);\n }\n\n const isDisabled = (d: Date) => isDayDisabled(d, props.minDate, props.maxDate, props.disabledDate);\n\n const commit = (next: Values) => {\n const ordered = range ? orderRange(next[0] ?? null, next[1] ?? null) : next;\n setValuesState(ordered);\n setDraft(ordered);\n setTexts(ordered.map(fmt));\n if (range) (props as DatePickerRangeProps).onChange?.(ordered.every((v) => v === null) ? null : (ordered as DateRangeValue), [fmt(ordered[0]!), fmt(ordered[1]!)]);\n else (props as DatePickerSingleProps).onChange?.(ordered[0] ?? null, fmt(ordered[0] ?? null));\n };\n\n const setOpen = (next: boolean) => {\n if (next === open) return;\n if (next) setDraft(values);\n else {\n setHover(null);\n setTexts(values.map(fmt));\n }\n setOpenState(next);\n };\n\n const close = () => setOpen(false);\n\n /** Taslağın bir yuvasını değiştirir; metin de taslağı gösterir. */\n const setDraftSlot = (s: Slot, d: Date | null, fromText = false) => {\n const next = [...draft];\n next[s] = d;\n setDraft(next);\n if (!fromText) setTexts((t) => t.map((x, i) => (i === s ? fmt(d) : x)));\n return next;\n };\n\n /** Aralıkta bir yuva tamamlanınca: başlangıçtan sonra bitişe geç; bitişte (ikisi doluysa) kesinleştir. */\n const advance = (next: Values) => {\n if (range && slot === 0) {\n setSlot(1);\n // Yeni başlangıç eski bitişten sonraysa bitiş yeniden seçilsin.\n if (next[1] && next[0] && next[0].getTime() > next[1].getTime()) {\n setDraft([next[0], null]);\n setTexts((t) => [t[0] ?? \"\", \"\"]);\n }\n return;\n }\n if (range && !next[0]) {\n setSlot(0);\n return;\n }\n commit(next);\n close();\n };\n\n /** Takvimden gün/ay/yıl seçimi. Gün modunda hemen ilerler; saatli modda \"Tamam\" bekler. */\n const pickDate = (d: Date) => {\n if (mode === \"datetime\") {\n const base = draft[slot] ?? startOfDay(new Date());\n setDraftSlot(slot, mergeDateTime(d, base));\n return;\n }\n advance(setDraftSlot(slot, d));\n };\n\n const pickTime = (t: Date) => {\n const base = draft[slot] ?? startOfDay(new Date());\n setDraftSlot(slot, mode === \"time\" ? mergeDateTime(startOfDay(new Date()), t) : mergeDateTime(base, t));\n };\n\n const confirm = () => advance(draft);\n\n const pickNow = () => {\n const now = mode === \"date\" ? startOfDay(new Date()) : new Date();\n advance(setDraftSlot(slot, now));\n };\n\n /** Yazılan metin: geçerliyse taslağa (takvim de oraya gider). */\n const typeText = (s: Slot, text: string) => {\n setTexts((t) => t.map((x, i) => (i === s ? text : x)));\n const parsed = text.trim() ? parseDate(text, format, draft[s] ?? startOfDay(new Date())) : null;\n if (parsed && !isDisabled(parsed)) setDraftSlot(s, parsed, true);\n };\n\n /** Enter ya da alan dışı: yazılan geçerliyse kesinleştir, boşsa temizle, geçersizse geri al. */\n const commitText = (s: Slot) => {\n const text = texts[s] ?? \"\";\n if (!text.trim()) {\n const next = [...values];\n next[s] = null;\n if (values[s] !== null) commit(next);\n return;\n }\n const parsed = parseDate(text, format, values[s] ?? startOfDay(new Date()));\n if (!parsed || isDisabled(parsed)) {\n setTexts(values.map(fmt));\n return;\n }\n const next = [...values];\n next[s] = parsed;\n if (fmt(parsed) !== fmt(values[s] ?? null)) commit(next);\n else setTexts(values.map(fmt));\n };\n\n return {\n range,\n mode,\n picker,\n format,\n open,\n setOpen,\n close,\n values,\n draft,\n texts,\n slot,\n setSlot,\n hover,\n setHover,\n isDisabled,\n commit,\n pickDate,\n pickTime,\n pickNow,\n confirm,\n typeText,\n commitText,\n clear: () => commit(range ? [null, null] : [null]),\n };\n}\n\nexport type PickerState = ReturnType<typeof usePickerState>;\n","\"use client\";\n\nimport { DatePicker } from \"./DatePicker\";\nimport type { DatePickerProps, TimePickerProps } from \"./types\";\n\nexport type { TimePickerProps };\n\n/**\n * Faz 16.5 — TimePicker, DatePicker'ın saat modudur (16.0 kararı: tek motor,\n * iki isim). `range` ile saat aralığı (ör. çalışma saatleri).\n */\nexport function TimePicker(props: TimePickerProps) {\n return <DatePicker {...(props as DatePickerProps)} mode=\"time\" />;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,SAAgB,aAAAA,YAAW,OAAO,UAAAC,SAAQ,YAAAC,iBAAgB;AAC1D,SAAS,gBAAgB,cAAc,iBAAiB;AACxD,SAAS,MAAAC,WAAU;;;ACFnB,SAAgB,YAAY,YAAAC,iBAAgB;AAC5C,SAAS,oBAAoB;AAC7B,SAAS,MAAAC,WAAU;;;ACFnB,SAAgB,WAAW,gBAAgB;AAC3C,SAAS,iBAAiB,kBAAkB,kBAAkB,yBAAyB;AACvF,SAAS,UAAU;AA2Gb,mBACE,KADF;AA1EN,IAAM,aAAa;AACnB,IAAM,eAAe;AAErB,IAAM,cAAc,CAAC,SAAiB,OAAQ,OAAO;AAErD,SAAS,WAAW,MAAc,QAAqB,UAAgC,UAAgC,QAA6B;AAClJ,QAAM,QAAQ,WAAW,QAAQ,OAAO;AACxC,QAAM,OAAO,WAAW,QAAQ,MAAM;AACtC,QAAM,MAAM,oBAAI,KAAK;AACrB,SAAO,MAAM,IAAI,CAAC,MAAM,MAAM;AAC5B,UAAM,QAAQ,IAAI,KAAK,MAAM,GAAG,CAAC;AACjC,UAAM,OAAO,IAAI,KAAK,MAAM,IAAI,GAAG,CAAC,EAAE,QAAQ;AAE9C,UAAM,cAAc,WAAW,WAAW,MAAM,KAAK,EAAE,QAAQ,KAAK,GAAG,CAAC,GAAG,MAAM,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,QAAQ;AACzH,WAAO;AAAA,MACL,KAAK,OAAO,CAAC;AAAA,MACb,OAAO;AAAA,MACP,WAAW,GAAG,KAAK,CAAC,CAAC,IAAI,IAAI;AAAA,MAC7B,UAAU,WAAW,UAAU,SAAS,KAAK,IAAI;AAAA,MACjD,SAAS,YAAY,OAAO,GAAG;AAAA,MAC/B,UAAU;AAAA,IACZ;AAAA,EACF,CAAC;AACH;AAEA,SAAS,UAAU,MAAc,QAAqB,UAAgC,UAA4C;AAChI,QAAM,QAAQ,YAAY,IAAI,IAAI;AAClC,QAAM,MAAM,oBAAI,KAAK;AACrB,SAAO,MAAM,KAAK,EAAE,QAAQ,GAAG,GAAG,CAAC,GAAG,MAAM;AAC1C,UAAM,IAAI,QAAQ;AAClB,UAAM,QAAQ,IAAI,KAAK,GAAG,GAAG,CAAC;AAC9B,WAAO;AAAA,MACL,KAAK,OAAO,CAAC;AAAA,MACb,OAAO,OAAO,CAAC;AAAA,MACf,WAAW,OAAO,CAAC;AAAA,MACnB,UAAU,WAAW,SAAS,SAAS,KAAK,IAAI;AAAA,MAChD,SAAS,WAAW,OAAO,GAAG;AAAA,MAC9B,UAAU,WAAW,UAAU,SAAS,KAAK,KAAK,SAAS,IAAI,KAAK,GAAG,IAAI,EAAE,CAAC;AAAA,MAC9E,SAAS,MAAM,KAAK,MAAM;AAAA,IAC5B;AAAA,EACF,CAAC;AACH;AAOO,SAAS,cAAc,OAAqC;AACjE,QAAM,EAAE,SAAS,QAAQ,aAAa,YAAY,SAAS,YAAY,UAAU,SAAS,YAAY,GAAG,QAAQ,UAAU,WAAW,UAAU,UAAU,UAAU,IAAI;AACxK,QAAM,CAAC,MAAM,OAAO,IAAI,SAAsB,MAAM;AACpD,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,MAAM,aAAa,WAAW,CAAC;AAC1E,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,WAAW;AAClD,QAAM,OAAO,MAAM,YAAY;AAC/B,QAAM,UAAU,CAAC,MAAY;AAC3B,UAAM,OAAO,aAAa,CAAC;AAC3B,iBAAa,IAAI;AACjB,UAAM,mBAAmB,IAAI;AAAA,EAC/B;AACA,QAAM,CAAC,WAAW,YAAY,IAAI,SAAS,CAAC,CAAC,SAAS;AACtD,YAAU,MAAM,QAAQ,MAAM,GAAG,CAAC,MAAM,CAAC;AAEzC,QAAM,YAAY,CAAC,MAAY;AAC7B,eAAW,CAAC;AACZ,QAAI,CAAC,YAAY,GAAG,IAAI,EAAG,SAAQ,CAAC;AAAA,EACtC;AAEA,QAAM,OAAO,WAAW,QAAQ,MAAM;AACtC,QAAM,OAAO,KAAK,YAAY;AAE9B,MAAI;AACJ,MAAI;AACJ,MAAI,SAAS,QAAQ;AACnB,YACE,iCACE;AAAA,0BAAC,YAAO,MAAK,UAAS,WAAW,cAAc,cAAY,cAAW,KAAK,KAAK,SAAS,CAAC,CAAC,IAAI,SAAS,MAAM,QAAQ,OAAO,GAC1H,eAAK,KAAK,SAAS,CAAC,GACvB;AAAA,MACA,oBAAC,YAAO,MAAK,UAAS,WAAW,cAAc,cAAY,oBAAY,IAAI,IAAI,SAAS,MAAM,QAAQ,MAAM,GACzG,gBACH;AAAA,OACF;AAEF,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,SAAS,YAAY,SAAS,IAAI,IAAI,UAAU;AAAA,QAChD,eAAe,CAAC,MAAM;AACpB,uBAAa,IAAI;AACjB,oBAAU,CAAC;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,IAAI,IAAI;AAAA,QACvC,WAAW,aAAa,CAAC,CAAC;AAAA;AAAA,IAC5B;AAAA,EAEJ,WAAW,SAAS,SAAS;AAC3B,UAAM,QAAQ,WAAW,MAAM,QAAQ,YAAY,YAAY,MAAM;AACrE,YACE,oBAAC,YAAO,MAAK,UAAS,WAAW,cAAc,cAAY,oBAAY,IAAI,IAAI,SAAS,MAAM,QAAQ,MAAM,GACzG,gBACH;AAEF,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,cAAc,KAAK,SAAS;AAAA,QAC5B,OAAO,GAAG,IAAI;AAAA,QACd,WAAS;AAAA,QACT,cAAc,CAAC,MAAM,QAAQ,IAAI,KAAK,MAAM,GAAG,CAAC,CAAC;AAAA,QACjD,QAAQ,CAAC,MAAM,QAAQ,SAAS,MAAM,CAAC,CAAC;AAAA,QACxC,UAAU,CAAC,MAAM;AACf,gBAAM,IAAI,IAAI,KAAK,MAAM,GAAG,CAAC;AAC7B,cAAI,WAAW,QAAS,UAAS,CAAC;AAAA,eAC7B;AACH,oBAAQ,CAAC;AACT,uBAAW,CAAC;AACZ,oBAAQ,MAAM;AAAA,UAChB;AAAA,QACF;AAAA;AAAA,IACF;AAAA,EAEJ,OAAO;AACL,UAAM,QAAQ,UAAU,MAAM,QAAQ,YAAY,UAAU;AAC5D,UAAM,QAAQ,YAAY,IAAI;AAC9B,YAAQ,oBAAC,UAAK,WAAU,sBAAsB,aAAG,KAAK,SAAI,QAAQ,CAAC,IAAG;AACtE,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,cAAc,QAAQ,QAAQ;AAAA,QAC9B,OAAO,GAAG,KAAK,SAAI,QAAQ,CAAC;AAAA,QAC5B,WAAS;AAAA,QACT,cAAc,CAAC,MAAM,QAAQ,IAAI,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,GAAG,CAAC,CAAC;AAAA,QACxE,QAAQ,CAAC,MAAM,QAAQ,SAAS,MAAM,IAAI,EAAE,CAAC;AAAA,QAC7C,UAAU,CAAC,MAAM;AACf,gBAAM,IAAI,IAAI,KAAK,QAAQ,IAAI,GAAG,KAAK,SAAS,GAAG,CAAC;AACpD,cAAI,WAAW,OAAQ,UAAS,CAAC;AAAA,eAC5B;AACH,oBAAQ,CAAC;AACT,oBAAQ,OAAO;AAAA,UACjB;AAAA,QACF;AAAA;AAAA,IACF;AAAA,EAEJ;AAEA,QAAM,QAAQ,CAAC,WAAmB;AAChC,UAAM,OAAO,SAAS,SAAS,SAAS,MAAM,KAAK,KAAK,MAAM,IAAI,EAAE,IAAI,UAAU,MAAM,MAAM;AAC9F,YAAQ,IAAI;AACZ,eAAW,UAAU,SAAS,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,KAAK,KAAK,YAAY,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;AAAA,EACxH;AAEA,SACE,qBAAC,SAAI,WAAW,GAAG,sDAAsD,SAAS,GAChF;AAAA,yBAAC,SAAI,WAAU,kCACZ;AAAA,OAAC,YACA,iCACE;AAAA,4BAAC,YAAO,MAAK,UAAS,WAAW,YAAY,cAAY,SAAS,SAAS,0BAAkB,sBAAc,SAAS,MAAM,MAAM,GAAG,GACjI,8BAAC,oBAAiB,eAAW,MAAC,MAAM,IAAI,GAC1C;AAAA,QACC,SAAS,UACR,oBAAC,YAAO,MAAK,UAAS,WAAW,YAAY,cAAW,gBAAY,SAAS,MAAM,MAAM,EAAE,GACzF,8BAAC,mBAAgB,eAAW,MAAC,MAAM,IAAI,GACzC;AAAA,SAEJ;AAAA,MAEF,oBAAC,SAAI,aAAU,UAAS,WAAU,2DAC/B,iBACH;AAAA,MACC,aAAa,QACZ,qBAAC,UAAK,WAAW,GAAG,YAAY,aAAa,QAAQ,WAAW,GAC7D;AAAA,iBAAS,UACR,oBAAC,YAAO,MAAK,UAAS,WAAW,YAAY,cAAW,cAAa,SAAS,MAAM,MAAM,CAAC,GACzF,8BAAC,oBAAiB,eAAW,MAAC,MAAM,IAAI,GAC1C;AAAA,QAEF,oBAAC,YAAO,MAAK,UAAS,WAAW,YAAY,cAAY,SAAS,SAAS,wBAAmB,oBAAe,SAAS,MAAM,MAAM,EAAE,GAClI,8BAAC,qBAAkB,eAAW,MAAC,MAAM,IAAI,GAC3C;AAAA,SACF;AAAA,OAEJ;AAAA,IACC;AAAA,KACH;AAEJ;;;AChOO,SAAS,cAAc,MAAsB,QAA0B,UAAU,OAAe;AACrG,QAAM,OAAO,UAAU,aAAa;AACpC,MAAI,SAAS,OAAQ,QAAO;AAC5B,MAAI,SAAS,WAAY,QAAO,cAAc,IAAI;AAClD,MAAI,WAAW,QAAS,QAAO;AAC/B,MAAI,WAAW,OAAQ,QAAO;AAC9B,SAAO;AACT;AAGA,IAAM,qBAA6C,EAAE,MAAM,QAAQ,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,MAAM,IAAI,KAAK;AAC7G,SAAS,kBAAkB,QAAwB;AACxD,SAAO,OAAO,QAAQ,wBAAwB,CAAC,MAAM,mBAAmB,CAAC,CAAE;AAC7E;AAGO,SAAS,SAAS,GAAgB,MAA8B;AACrE,MAAI,CAAC,EAAG,QAAO;AACf,QAAM,IAAI,CAAC,MAAc,OAAO,CAAC,EAAE,SAAS,GAAG,GAAG;AAClD,QAAM,OAAO,GAAG,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE,SAAS,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,QAAQ,CAAC,CAAC;AACxE,QAAM,OAAO,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC,IAAI,EAAE,EAAE,WAAW,CAAC,CAAC;AACpD,MAAI,SAAS,OAAQ,QAAO;AAC5B,SAAO,SAAS,aAAa,GAAG,IAAI,IAAI,IAAI,KAAK;AACnD;AAGO,IAAM,gBAAgB,CAAC,MAAY,SACxC,IAAI,KAAK,KAAK,YAAY,GAAG,KAAK,SAAS,GAAG,KAAK,QAAQ,GAAG,KAAK,SAAS,GAAG,KAAK,WAAW,GAAG,KAAK,WAAW,CAAC;AAE9G,SAAS,cAAc,GAAS,KAAY,KAAY,cAA8C;AAC3G,SAAO,CAAC,SAAS,GAAG,KAAK,GAAG,KAAK,CAAC,CAAC,eAAe,CAAC;AACrD;AAGO,IAAM,eAAe,CAAC,KAAa,OAAO,MAAM,MAAM,KAAK,EAAE,QAAQ,KAAK,MAAM,MAAM,KAAK,IAAI,EAAE,GAAG,CAAC,GAAG,MAAM,IAAI,IAAI;AAGtH,IAAM,OAAO,CAAC,OAAe,OAAO,MAAM,KAAK,MAAM,QAAQ,IAAI,IAAI;AAMrE,SAAS,cAAc,GAAS,OAAoB,KAAkB,OAA0C;AACrH,QAAM,IAAI,QAAQ,QAAS,SAAS,QAAS;AAC7C,QAAM,IAAI,SAAS;AACnB,MAAI,CAAC,KAAK,CAAC,EAAG,QAAO;AACrB,QAAM,CAAC,IAAI,EAAE,IAAI,WAAW,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;AACvD,MAAI,UAAU,IAAI,EAAE,EAAG,QAAO,UAAU,GAAG,EAAE,IAAI,WAAW;AAC5D,MAAI,UAAU,GAAG,EAAE,EAAG,QAAO;AAC7B,MAAI,UAAU,GAAG,EAAE,EAAG,QAAO;AAC7B,SAAO,cAAc,GAAG,IAAI,EAAE,IAAI,WAAW;AAC/C;AAGO,SAAS,WAAW,GAAgB,GAA4C;AACrF,MAAI,KAAK,KAAK,EAAE,QAAQ,IAAI,EAAE,QAAQ,EAAG,QAAO,CAAC,GAAG,CAAC;AACrD,SAAO,CAAC,GAAG,CAAC;AACd;;;AC9DA,SAAgB,aAAAC,YAAW,cAAc;AACzC,SAAS,MAAAC,WAAU;AA4Cf,SAOI,OAAAC,MAPJ,QAAAC,aAAA;AAjCJ,IAAM,MAAM,CAAC,MAAc,OAAO,CAAC,EAAE,SAAS,GAAG,GAAG;AAOpD,SAAS,OAAO,EAAE,OAAO,QAAQ,OAAO,UAAU,UAAU,GAA0B;AACpF,QAAM,UAAU,OAAuB,IAAI;AAC3C,QAAM,aAAa,OAAO,KAAK;AAC/B,QAAM,QAAQ,KAAK,IAAI,GAAG,OAAO,QAAQ,KAAK,CAAC;AAC/C,EAAAC,WAAU,MAAM;AACd,UAAM,OAAO,QAAQ;AACrB,UAAM,SAAS,MAAM,SAAS,KAAK;AACnC,QAAI,CAAC,QAAQ,CAAC,OAAQ;AACtB,SAAK,WAAW,EAAE,KAAK,OAAO,YAAY,KAAK,WAAW,UAAU,SAAS,CAAC;AAC9E,QAAI,WAAW,WAAW,UAAW,QAAO,MAAM,EAAE,eAAe,KAAK,CAAC;AACzE,eAAW,UAAU;AAAA,EACvB,GAAG,CAAC,OAAO,SAAS,CAAC;AAErB,QAAM,YAAY,CAAC,MAA2B;AAC5C,UAAM,MAA8B,EAAE,WAAW,GAAG,SAAS,IAAI,UAAU,GAAG,QAAQ,GAAG;AACzF,QAAI,OAAsB;AAC1B,QAAI,EAAE,OAAO,IAAK,QAAO,KAAK,IAAI,OAAO,SAAS,GAAG,KAAK,IAAI,GAAG,QAAQ,IAAI,EAAE,GAAG,CAAE,CAAC;AAAA,aAC5E,EAAE,QAAQ,OAAQ,QAAO;AAAA,aACzB,EAAE,QAAQ,MAAO,QAAO,OAAO,SAAS;AACjD,QAAI,SAAS,KAAM;AACnB,MAAE,eAAe;AACjB,eAAW,UAAU;AACrB,aAAS,OAAO,IAAI,CAAE;AAAA,EACxB;AAEA,SACE,gBAAAD;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL,MAAK;AAAA,MACL,cAAY;AAAA,MACZ,WAAU;AAAA,MAET;AAAA,eAAO,IAAI,CAAC,GAAG,MACd,gBAAAD;AAAA,UAAC;AAAA;AAAA,YAEC,MAAK;AAAA,YACL,UAAU,MAAM,QAAQ,IAAI;AAAA,YAC5B,iBAAe,MAAM;AAAA,YACrB;AAAA,YACA,SAAS,MAAM,SAAS,CAAC;AAAA,YACzB,WAAWG;AAAA,cACT;AAAA,cACA;AAAA,cACA,MAAM,QAAQ,yDAAyD;AAAA,YACzE;AAAA,YAEC,cAAI,CAAC;AAAA;AAAA,UAZD;AAAA,QAaP,CACD;AAAA,QAED,gBAAAH,KAAC,SAAI,eAAW,MAAC,WAAU,iCAAgC;AAAA;AAAA;AAAA,EAC7D;AAEJ;AAaO,SAAS,UAAU,EAAE,OAAO,UAAU,SAAS,WAAW,GAAG,aAAa,GAAG,aAAa,GAAG,UAAU,GAA6B;AACzI,QAAM,MAAM,CAACI,IAAWC,IAAWC,OAAc;AAC/C,UAAM,IAAI,IAAI,KAAK,KAAK;AACxB,MAAE,SAASF,IAAGC,IAAGC,IAAG,CAAC;AACrB,aAAS,CAAC;AAAA,EACZ;AACA,QAAM,IAAI,KAAK,MAAM,SAAS,GAAG,QAAQ;AACzC,QAAM,IAAI,KAAK,MAAM,WAAW,GAAG,UAAU;AAC7C,QAAM,IAAI,KAAK,MAAM,WAAW,GAAG,UAAU;AAC7C,SACE,gBAAAL,MAAC,SAAI,WAAU,QAAO,MAAK,SAAQ,cAAW,kBAC5C;AAAA,oBAAAD,KAAC,UAAO,OAAM,QAAO,QAAQ,aAAa,IAAI,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,WAAsB;AAAA,IACxH,gBAAAA,KAAC,UAAO,OAAM,UAAS,QAAQ,aAAa,IAAI,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG;AAAA,IACrG,WAAW,gBAAAA,KAAC,UAAO,OAAM,UAAS,QAAQ,aAAa,IAAI,UAAU,GAAG,OAAO,GAAG,UAAU,CAAC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG;AAAA,KACpH;AAEJ;;;AHlEU,SAgHI,YAAAO,WAhHJ,OAAAC,MA6BN,QAAAC,aA7BM;AAZV,IAAM,aAAa,CAAC,MAAc,UAAmB;AACnD,MAAI,SAAS,OAAQ,QAAO,QAAQ,uCAAqB;AACzD,MAAI,SAAS,WAAY,QAAO,QAAQ,gDAA8B;AACtE,SAAO,QAAQ,wCAAsB;AACvC;AAEA,SAAS,QAAQ,EAAE,SAAS,OAAO,GAA6G;AAC9I,SACE,gBAAAD,KAAC,QAAG,cAAW,0BAAiB,WAAU,wHACvC,kBAAQ,IAAI,CAAC,GAAG;AAAA;AAAA,IAEf,gBAAAA,KAAC,QACC,0BAAAA;AAAA,MAAC;AAAA;AAAA,QACC,MAAK;AAAA,QACL,SAAS,MAAM,OAAO,OAAO,EAAE,UAAU,aAAa,EAAE,MAAM,IAAI,EAAE,KAAK;AAAA,QACzE,WAAU;AAAA,QAET,YAAE;AAAA;AAAA,IACL,KAPO,CAQT;AAAA,GACD,GACH;AAEJ;AAEA,SAAS,iBAAiB,EAAE,QAAQ,OAAO,MAAM,GAAgB;AAC/D,SAAO,CAAC,MAAY;AAClB,QAAI,WAAW,QAAS,QAAO,MAAM,KAAK,CAAC,MAAM,YAAY,GAAG,CAAC,CAAC;AAClE,QAAI,WAAW,OAAQ,QAAO,MAAM,KAAK,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC;AAChE,WAAO,CAAC,SAAS,UAAU,MAAM,CAAC,GAAG,CAAC;AAAA,EACxC;AACF;AAEA,SAAS,aAAa,EAAE,OAAO,QAAQ,OAAO,MAAM,MAAM,GAAgB;AACxE,MAAI,CAAC,SAAS,WAAW,OAAQ,QAAO;AACxC,SAAO,CAAC,MAAY,cAAc,GAAG,MAAM,CAAC,KAAK,MAAM,MAAM,CAAC,KAAK,MAAM,SAAS,KAAK,CAAC,MAAM,CAAC,IAAI,QAAQ,IAAI;AACjH;AAEA,SAAS,OAAO,EAAE,OAAO,SAAS,aAAa,GAA8E;AAC3H,MAAI,CAAC,WAAW,CAAC,aAAc,QAAO;AACtC,SACE,gBAAAC,MAAC,SAAI,WAAU,iFACZ;AAAA,cACC,gBAAAD,KAAC,UAAO,MAAK,MAAK,SAAQ,SAAQ,SAAS,MAAM,SAC9C,gBAAM,SAAS,SAAS,aAAU,cACrC,IAEA,gBAAAA,KAAC,UAAK;AAAA,IAEP,gBACC,gBAAAA,KAAC,UAAO,MAAK,MAAK,SAAS,MAAM,SAAS,UAAU,CAAC,MAAM,MAAM,MAAM,IAAI,GACxE,gBAAM,SAAS,MAAM,SAAS,IAAI,YAAY,SACjD;AAAA,KAEJ;AAEJ;AAOO,IAAM,cAAc,WAA6C,SAASE,aAAY,EAAE,IAAI,QAAQ,OAAO,OAAO,WAAW,WAAW,GAAG,KAAK;AACrJ,QAAM,EAAE,MAAM,QAAQ,OAAO,OAAO,KAAK,IAAI;AAC7C,QAAM,UAAU,SAAS;AACzB,QAAM,UAAU,SAAS;AACzB,QAAM,OAAO,SAAS,SAAS,UAAU,WAAW;AACpD,QAAM,UAAU,MAAM,IAAI,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,KAAK,WAAW,oBAAI,KAAK,CAAC;AACjF,QAAM,CAAC,MAAM,OAAO,IAAIC,UAAS,MAAM,aAAa,OAAO,CAAC;AAC5D,QAAM,UAAU,MAAM,OAAO,SAAS,IAAI;AAC1C,QAAM,UAAU,MAAM,WAAW,CAAC;AAClC,QAAM,eAAe;AAErB,QAAM,WAAW,aAAa,WAAW;AAEzC,MAAI,OAAO,aAAa,YAAa,QAAO;AAE5C,QAAM,aAAa,iBAAiB,KAAK;AACzC,QAAM,UAAU,aAAa,KAAK;AAElC,QAAM,iBAAiB;AAAA,IACrB;AAAA,IACA;AAAA,IACA;AAAA,IACA,YAAY,MAAM;AAAA,IAClB,UAAU,MAAM;AAAA,IAChB,SAAS,QAAQ,MAAM,WAAW;AAAA,IAClC,WAAW,MAAM;AAAA,IACjB,QAAQ,MAAM;AAAA,IACd,UAAU,MAAM;AAAA,EAClB;AAEA,QAAM,UAAU,MAAM;AAEtB,SAAO;AAAA;AAAA,IAEL,gBAAAF;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,MAAK;AAAA,QACL,cAAY,WAAW,MAAM,KAAK;AAAA,QAClC,aAAa,CAAC,MAAM,EAAE,eAAe;AAAA,QACrC,QAAQ;AAAA,QACR,WAAWG;AAAA,UACT;AAAA,UACA,eAAe;AAAA,UACf,CAAC,UAAU;AAAA,QACb;AAAA,QACA,OAAO,EAAE,KAAK,QAAQ,OAAO,GAAG,MAAM,QAAQ,QAAQ,EAAE;AAAA,QAExD;AAAA,0BAAAH,MAAC,SAAI,WAAU,6BACZ;AAAA,uBAAW,QAAQ,SAAS,KAC3B,gBAAAD;AAAA,cAAC;AAAA;AAAA,gBACC;AAAA,gBACA,QAAQ,CAAC,MAAM;AACb,wBAAM,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;AAC5C,wBAAM,MAAM;AAAA,gBACd;AAAA;AAAA,YACF;AAAA,YAED,WACC,gBAAAA,KAAC,SAAI,WAAU,uCACZ,iBACC,gBAAAC,MAAAF,WAAA,EAEE;AAAA,8BAAAC,KAAC,iBAAuB,GAAG,gBAAgB,aAAa,MAAM,UAAU,MAAM,kBAAkB,SAAS,UAAS,MAAK,WAAW,YAA/G,GAAyH;AAAA,cAC5I,gBAAAA,KAAC,SAAI,WAAU,mBACb,0BAAAA,KAAC,iBAAuB,GAAG,gBAAgB,aAAa,UAAU,MAAM,CAAC,GAAG,UAAU,UAAU,MAAM,CAAC,GAAG,kBAAkB,CAAC,MAAM,QAAQ,UAAU,GAAG,EAAE,CAAC,GAAG,UAAQ,QAAnJ,GAAoJ,GACzK;AAAA,eACF,IAEA,gBAAAA,KAAC,iBAAgC,GAAG,gBAAgB,aAAa,SAAS,WAAW,YAAjE,IAAI,IAAI,EAAmE,GAEnG;AAAA,YAED,WACC,gBAAAA,KAAC,SAAI,WAAWI,IAAG,OAAO,WAAW,uDAAuD,GAC1F,0BAAAJ;AAAA,cAAC;AAAA;AAAA,gBACC,OAAO;AAAA,gBACP,UAAU,MAAM;AAAA,gBAChB;AAAA,gBACA,UAAU,MAAM;AAAA,gBAChB,YAAY,MAAM;AAAA,gBAClB,YAAY,MAAM;AAAA,gBAClB,WAAW,YAAY,CAAC;AAAA;AAAA,YAC1B,GACF;AAAA,aAEJ;AAAA,UACA,gBAAAA,KAAC,UAAO,OAAc,SAAkB,cAA4B;AAAA;AAAA;AAAA,IACtE;AAAA,IACA,SAAS;AAAA,EACX;AACF,CAAC;;;AIjLD,SAAS,YAAAK,iBAAgB;AACzB,SAAS,4BAA4B;AAQrC,IAAM,WAAW,CAAC,GAA6C,UAAuC;AACpG,MAAI,MAAM,OAAW,QAAO;AAC5B,MAAI,MAAO,QAAO,IAAI,CAAC,GAAI,CAAoB,IAAI,CAAC,MAAM,IAAI;AAC9D,SAAO,CAAC,CAAgB;AAC1B;AAQO,SAAS,eAAe,OAAwB;AACrD,QAAM,QAAQ,MAAM,UAAU;AAC9B,QAAM,OAAO,MAAM,QAAQ;AAC3B,QAAM,SAAS,SAAS,SAAU,MAAM,UAAU,SAAU;AAC5D,QAAM,SAAS,MAAM,UAAU,cAAc,MAAM,MAAM;AACzD,QAAM,SAAS,MAAM;AACrB,QAAM,MAAM,CAAC,MAAoB,IAAI,WAAW,GAAG,QAAQ,MAAM,IAAI;AAErE,QAAM,CAAC,QAAQ,cAAc,IAAI,qBAA6B;AAAA,IAC5D,OAAO,SAAS,MAAM,OAAO,KAAK;AAAA,IAClC,cAAc,SAAS,MAAM,cAAc,KAAK,MAAM,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI;AAAA,EACpF,CAAC;AACD,QAAM,CAAC,MAAM,YAAY,IAAI,qBAA8B,EAAE,OAAO,MAAM,MAAM,cAAc,OAAO,UAAU,MAAM,aAAa,CAAC;AACnI,QAAM,CAAC,OAAO,QAAQ,IAAIC,UAAiB,MAAM;AACjD,QAAM,CAAC,OAAO,QAAQ,IAAIA,UAAmB,MAAM,OAAO,IAAI,GAAG,CAAC;AAClE,QAAM,CAAC,MAAM,OAAO,IAAIA,UAAe,CAAC;AACxC,QAAM,CAAC,OAAO,QAAQ,IAAIA,UAAsB,IAAI;AAGpD,QAAM,YAAY,OAAO,IAAI,CAAC,MAAM,GAAG,QAAQ,KAAK,EAAE,EAAE,KAAK,GAAG;AAChE,QAAM,CAAC,WAAW,YAAY,IAAIA,UAAS,SAAS;AACpD,MAAI,cAAc,WAAW;AAC3B,iBAAa,SAAS;AACtB,aAAS,OAAO,IAAI,GAAG,CAAC;AACxB,QAAI,CAAC,KAAM,UAAS,MAAM;AAAA,EAC5B;AAEA,QAAM,aAAa,CAAC,MAAY,cAAc,GAAG,MAAM,SAAS,MAAM,SAAS,MAAM,YAAY;AAEjG,QAAM,SAAS,CAAC,SAAiB;AAC/B,UAAM,UAAU,QAAQ,WAAW,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,KAAK,IAAI,IAAI;AACvE,mBAAe,OAAO;AACtB,aAAS,OAAO;AAChB,aAAS,QAAQ,IAAI,GAAG,CAAC;AACzB,QAAI,MAAO,CAAC,MAA+B,WAAW,QAAQ,MAAM,CAAC,MAAM,MAAM,IAAI,IAAI,OAAQ,SAA4B,CAAC,IAAI,QAAQ,CAAC,CAAE,GAAG,IAAI,QAAQ,CAAC,CAAE,CAAC,CAAC;AAAA,QAC5J,CAAC,MAAgC,WAAW,QAAQ,CAAC,KAAK,MAAM,IAAI,QAAQ,CAAC,KAAK,IAAI,CAAC;AAAA,EAC9F;AAEA,QAAM,UAAU,CAAC,SAAkB;AACjC,QAAI,SAAS,KAAM;AACnB,QAAI,KAAM,UAAS,MAAM;AAAA,SACpB;AACH,eAAS,IAAI;AACb,eAAS,OAAO,IAAI,GAAG,CAAC;AAAA,IAC1B;AACA,iBAAa,IAAI;AAAA,EACnB;AAEA,QAAM,QAAQ,MAAM,QAAQ,KAAK;AAGjC,QAAM,eAAe,CAAC,GAAS,GAAgB,WAAW,UAAU;AAClE,UAAM,OAAO,CAAC,GAAG,KAAK;AACtB,SAAK,CAAC,IAAI;AACV,aAAS,IAAI;AACb,QAAI,CAAC,SAAU,UAAS,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAO,MAAM,IAAI,IAAI,CAAC,IAAI,CAAE,CAAC;AACtE,WAAO;AAAA,EACT;AAGA,QAAM,UAAU,CAAC,SAAiB;AAChC,QAAI,SAAS,SAAS,GAAG;AACvB,cAAQ,CAAC;AAET,UAAI,KAAK,CAAC,KAAK,KAAK,CAAC,KAAK,KAAK,CAAC,EAAE,QAAQ,IAAI,KAAK,CAAC,EAAE,QAAQ,GAAG;AAC/D,iBAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;AACxB,iBAAS,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,IAAI,EAAE,CAAC;AAAA,MAClC;AACA;AAAA,IACF;AACA,QAAI,SAAS,CAAC,KAAK,CAAC,GAAG;AACrB,cAAQ,CAAC;AACT;AAAA,IACF;AACA,WAAO,IAAI;AACX,UAAM;AAAA,EACR;AAGA,QAAM,WAAW,CAAC,MAAY;AAC5B,QAAI,SAAS,YAAY;AACvB,YAAM,OAAO,MAAM,IAAI,KAAK,WAAW,oBAAI,KAAK,CAAC;AACjD,mBAAa,MAAM,cAAc,GAAG,IAAI,CAAC;AACzC;AAAA,IACF;AACA,YAAQ,aAAa,MAAM,CAAC,CAAC;AAAA,EAC/B;AAEA,QAAM,WAAW,CAAC,MAAY;AAC5B,UAAM,OAAO,MAAM,IAAI,KAAK,WAAW,oBAAI,KAAK,CAAC;AACjD,iBAAa,MAAM,SAAS,SAAS,cAAc,WAAW,oBAAI,KAAK,CAAC,GAAG,CAAC,IAAI,cAAc,MAAM,CAAC,CAAC;AAAA,EACxG;AAEA,QAAM,UAAU,MAAM,QAAQ,KAAK;AAEnC,QAAM,UAAU,MAAM;AACpB,UAAM,MAAM,SAAS,SAAS,WAAW,oBAAI,KAAK,CAAC,IAAI,oBAAI,KAAK;AAChE,YAAQ,aAAa,MAAM,GAAG,CAAC;AAAA,EACjC;AAGA,QAAM,WAAW,CAAC,GAAS,SAAiB;AAC1C,aAAS,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,MAAO,MAAM,IAAI,OAAO,CAAE,CAAC;AACrD,UAAM,SAAS,KAAK,KAAK,IAAI,UAAU,MAAM,QAAQ,MAAM,CAAC,KAAK,WAAW,oBAAI,KAAK,CAAC,CAAC,IAAI;AAC3F,QAAI,UAAU,CAAC,WAAW,MAAM,EAAG,cAAa,GAAG,QAAQ,IAAI;AAAA,EACjE;AAGA,QAAM,aAAa,CAAC,MAAY;AAC9B,UAAM,OAAO,MAAM,CAAC,KAAK;AACzB,QAAI,CAAC,KAAK,KAAK,GAAG;AAChB,YAAMC,QAAO,CAAC,GAAG,MAAM;AACvB,MAAAA,MAAK,CAAC,IAAI;AACV,UAAI,OAAO,CAAC,MAAM,KAAM,QAAOA,KAAI;AACnC;AAAA,IACF;AACA,UAAM,SAAS,UAAU,MAAM,QAAQ,OAAO,CAAC,KAAK,WAAW,oBAAI,KAAK,CAAC,CAAC;AAC1E,QAAI,CAAC,UAAU,WAAW,MAAM,GAAG;AACjC,eAAS,OAAO,IAAI,GAAG,CAAC;AACxB;AAAA,IACF;AACA,UAAM,OAAO,CAAC,GAAG,MAAM;AACvB,SAAK,CAAC,IAAI;AACV,QAAI,IAAI,MAAM,MAAM,IAAI,OAAO,CAAC,KAAK,IAAI,EAAG,QAAO,IAAI;AAAA,QAClD,UAAS,OAAO,IAAI,GAAG,CAAC;AAAA,EAC/B;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,MAAM,OAAO,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC;AAAA,EACnD;AACF;;;ALvII,SAqNM,YAAAC,WArNN,OAAAC,MAqNM,QAAAC,aArNN;AAtBJ,IAAM,SAAS;AAmBf,SAAS,UAAU,EAAE,OAAO,MAAM,IAAI,OAAO,YAAY,aAAa,aAAa,SAAS,UAAU,UAAU,SAAS,UAAU,gBAAgB,GAA6B;AAC9K,QAAM,SAAS,MAAM,QAAQ,MAAM,SAAS;AAC5C,SACE,gBAAAD;AAAA,IAAC;AAAA;AAAA,MACC,KAAK;AAAA,MACL;AAAA,MACA,MAAK;AAAA,MAEL,MAAK;AAAA,MACL,WAAW,MAAM,SAAS,SAAS,YAAY;AAAA,MAC/C,cAAa;AAAA,MACb,cAAY;AAAA,MACZ,mBAAiB;AAAA,MACjB,oBAAkB;AAAA,MAClB,iBAAc;AAAA,MACd,iBAAe,MAAM;AAAA,MACrB,iBAAe,MAAM,OAAO,UAAU;AAAA,MACtC,iBAAe,YAAY;AAAA,MAC3B,gBAAc,WAAW;AAAA,MACzB;AAAA,MACA;AAAA,MACA,OAAO,MAAM,MAAM,IAAI,KAAK;AAAA,MAC5B,UAAU,CAAC,MAAM;AACf,cAAM,QAAQ,IAAI;AAClB,cAAM,SAAS,MAAM,EAAE,OAAO,KAAK;AACnC,cAAM,QAAQ,IAAI;AAAA,MACpB;AAAA,MACA,SAAS,MAAM,MAAM,QAAQ,MAAM,QAAQ,IAAI;AAAA,MAC/C,SAAS,MAAM;AACb,cAAM,QAAQ,IAAI;AAClB,cAAM,QAAQ,IAAI;AAAA,MACpB;AAAA,MACA,WAAW,CAAC,MAAM;AAChB,YAAI,EAAE,QAAQ,eAAgB,EAAE,QAAQ,eAAe,EAAE,QAAS;AAChE,YAAE,eAAe;AACjB,gBAAM,QAAQ,IAAI;AAClB,0BAAgB;AAAA,QAClB,WAAW,EAAE,QAAQ,SAAS;AAC5B,YAAE,eAAe;AACjB,gBAAM,WAAW,IAAI;AACrB,gBAAM,MAAM;AAAA,QACd,WAAW,EAAE,QAAQ,YAAY,MAAM,MAAM;AAC3C,YAAE,eAAe;AACjB,YAAE,gBAAgB;AAClB,gBAAM,MAAM;AAAA,QACd;AAAA,MACF;AAAA,MACA,WAAWE;AAAA,QACT;AAAA,QACA;AAAA,QACA,MAAM,SAAS;AAAA,QACf,UAAU,MAAM,SAAS;AAAA,MAC3B;AAAA;AAAA,EACF;AAEJ;AAGA,SAAS,cAAc,EAAE,OAAO,KAAK,GAAwB;AAC3D,MAAI,SAAS,WAAY,QAAO,QAAQ,kBAAkB;AAC1D,SAAO,QAAQ,aAAa;AAC9B;AAQA,SAAS,iBAAiB,OAAoB,WAAkC,UAAiC,QAA4C,iBAA6B;AACxL,QAAM,EAAE,MAAM,MAAM,MAAM,IAAI;AAC9B,QAAM,WAAWC,QAAO,KAAK;AAC7B,WAAS,UAAU;AACnB,EAAAC,WAAU,MAAM;AACd,QAAI,CAAC,KAAM;AACX,UAAM,gBAAgB,CAAC,MAAoB;AACzC,YAAM,IAAI,EAAE;AACZ,UAAI,UAAU,SAAS,SAAS,CAAC,KAAK,SAAS,SAAS,SAAS,CAAC,EAAG;AACrE,eAAS,QAAQ;AACjB,sBAAgB;AAAA,IAClB;AACA,UAAM,YAAY,CAAC,MAAqB;AACtC,UAAI,EAAE,QAAQ,YAAY,CAAC,SAAS,SAAS,SAAS,SAAS,aAAa,EAAG;AAC/E,QAAE,eAAe;AACjB,eAAS,QAAQ;AACjB,sBAAgB;AAChB,aAAO,UAAU,IAAI,GAAG,MAAM;AAAA,IAChC;AACA,aAAS,iBAAiB,eAAe,aAAa;AAEtD,aAAS,iBAAiB,WAAW,WAAW,IAAI;AACpD,WAAO,MAAM;AACX,eAAS,oBAAoB,eAAe,aAAa;AACzD,eAAS,oBAAoB,WAAW,WAAW,IAAI;AAAA,IACzD;AAAA,EAEF,GAAG,CAAC,MAAM,IAAI,CAAC;AAEf,QAAM,UAAUD,QAAO,IAAI;AAC3B,EAAAC,WAAU,MAAM;AACd,QAAI,QAAQ,WAAW,CAAC,QAAQ,SAAS,kBAAkB,SAAS,KAAM,QAAO,UAAU,IAAI,GAAG,MAAM;AACxG,QAAI,CAAC,KAAM,iBAAgB;AAC3B,YAAQ,UAAU;AAAA,EAEpB,GAAG,CAAC,MAAM,IAAI,CAAC;AACjB;AAcO,SAAS,WAAW,YAA6B;AACtD,QAAM,QAAQ,gBAAgB,UAAU;AACxC,QAAM;AAAA,IACJ,aAAa;AAAA,IACb,aAAa;AAAA,IACb,WAAW;AAAA,IACX,OAAO;AAAA,IACP,UAAU;AAAA,IACV,QAAQ;AAAA,IACR;AAAA,IACA,YAAY;AAAA,IACZ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB,oBAAoB;AAAA,EACtB,IAAI;AACJ,QAAM,QAAQ,eAAe,KAAK;AAClC,QAAM,YAAYD,QAAuB,IAAI;AAC7C,QAAM,WAAWA,QAAuB,IAAI;AAC5C,QAAM,SAASA,QAAoC,CAAC,CAAC;AACrD,QAAM,UAAU,MAAM;AACtB,QAAM,CAAC,YAAY,aAAa,IAAIE,UAAS,KAAK;AAClD,QAAM,SAAS,oBAAoB,MAAM,MAAM,WAAW,UAAU,EAAE,WAAW,KAAK,OAAO,CAAC;AAC9F,mBAAiB,OAAO,WAAW,UAAU,QAAQ,MAAM,cAAc,KAAK,CAAC;AAG/E,QAAM,WAAWH,IAAG,kCAAkC,UAAU,IAAI,GAAG,gBAAgB,OAAO,OAAO,GAAG,cAAc,KAAK,CAAC;AAC5H,MAAI,SAAU,QAAO,gBAAAF,KAAC,SAAK,GAAG,iBAAiBE,IAAG,UAAU,SAAS,CAAC,GAAG;AAEzE,QAAM,aAAa;AACnB,QAAM,kBAAkB,kBAAkB,MAAM,MAAM;AACtD,QAAM,eAAiC,MAAM,QAAS,WAAW,eAAe,CAAC,iBAAiB,eAAe,IAAK,CAAE,MAAM,eAAsC,iBAAiB,EAAE;AACvL,QAAM,cAAc,WAAW,eAAe,CAAC,0BAAa,YAAO;AACnE,QAAM,WAAW,MAAM,OAAO,KAAK,CAAC,MAAM,MAAM,IAAI;AACpD,QAAM,OAAO,MAAM,SAAS,SAAS,YAAY;AAGjD,QAAM,aAAa,CAAC,MAAwB;AAC1C,UAAM,KAAK,EAAE;AACb,QAAI,UAAU,SAAS,SAAS,EAAE,KAAK,SAAS,SAAS,SAAS,EAAE,EAAG;AACvE,UAAM,WAAW,MAAM,IAAI;AAC3B,UAAM,MAAM;AACZ,kBAAc,KAAK;AAAA,EACrB;AAEA,QAAM,YAAY,CAAC,SACjB,gBAAAF;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA;AAAA,MACA,IAAI,SAAS,IAAI,KAAK;AAAA,MACtB,OAAO,MAAM,QAAQ,YAAY,IAAI,IAAI;AAAA,MACzC,YAAY,MAAM,QAAQ,SAAY;AAAA,MACtC,aAAa;AAAA,MACb,aAAa,aAAa,IAAI;AAAA,MAC9B;AAAA,MACA;AAAA,MACA;AAAA,MACA,SAAS,UAAU;AAAA,MACnB,UAAU,CAAC,OAAQ,OAAO,QAAQ,IAAI,IAAI;AAAA,MAC1C,iBAAiB,MAAM;AACrB,sBAAc,IAAI;AAClB,cAAM,QAAQ,IAAI;AAAA,MACpB;AAAA;AAAA,EACF;AAGF,SACE,gBAAAC,MAAAF,WAAA,EACE;AAAA,oBAAAE;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,MAAM,MAAM,QAAQ,UAAU;AAAA,QAC9B,mBAAiB,MAAM,QAAQ,iBAAiB;AAAA,QAChD,cAAY,MAAM,QAAQ,YAAY;AAAA,QACtC,QAAQ;AAAA,QACR,aAAa,CAAC,MAAM;AAClB,gBAAM,IAAI,EAAE;AACZ,cAAI,YAAY,EAAE,YAAY,WAAW,EAAE,QAAQ,QAAQ,EAAG;AAC9D,YAAE,eAAe;AACjB,iBAAO,QAAQ,MAAM,OAAO,MAAM,OAAO,CAAC,GAAG,MAAM;AACnD,gBAAM,QAAQ,CAAC,MAAM,IAAI;AAAA,QAC3B;AAAA,QACA,WAAWC;AAAA,UACT;AAAA,UACA;AAAA,UACA,iBAAiB,IAAI;AAAA,UACrB;AAAA,UACA,kBAAkB,SAAS,KAAK;AAAA,UAChC,YAAY;AAAA,UACZ;AAAA,QACF;AAAA,QAEC;AAAA,oBAAU,CAAC;AAAA,UACX,MAAM,SACL,gBAAAD,MAAAF,WAAA,EACE;AAAA,4BAAAC,KAAC,kBAAe,eAAW,MAAC,MAAM,IAAI,WAAU,4BAA2B;AAAA,YAC1E,UAAU,CAAC;AAAA,aACd;AAAA,UAED,cACC,gBAAAA;AAAA,YAAC;AAAA;AAAA,cACC,SAAS,YAAY,CAAC;AAAA,cACtB,OAAO;AAAA,cACP,SAAS,MAAM;AACb,sBAAM,MAAM;AACZ,uBAAO,QAAQ,CAAC,GAAG,MAAM;AAAA,cAC3B;AAAA;AAAA,UACF;AAAA,UAEF,gBAAAA,KAAC,QAAK,eAAW,MAAC,MAAM,IAAI,WAAU,4BAA2B;AAAA,UAChE,QAAQ,MAAM,OAAO,IAAI,CAAC,GAAG,MAAM,gBAAAA,KAAC,WAAc,MAAK,UAAS,MAAY,OAAO,SAAS,GAAG,MAAM,IAAI,KAA1D,CAA6D,CAAE;AAAA;AAAA;AAAA,IACjH;AAAA,IACC,MAAM,QACL,gBAAAA;AAAA,MAAC;AAAA;AAAA,QACC,KAAK;AAAA,QACL,IAAI;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA,WAAW;AAAA,QACX;AAAA;AAAA,IACF;AAAA,KAEJ;AAEJ;;;AMhRS,gBAAAM,YAAA;AADF,SAAS,WAAW,OAAwB;AACjD,SAAO,gBAAAA,KAAC,cAAY,GAAI,OAA2B,MAAK,QAAO;AACjE;","names":["useEffect","useRef","useState","cn","useState","cn","useEffect","cn","jsx","jsxs","useEffect","cn","h","m","s","Fragment","jsx","jsxs","PickerPanel","useState","cn","useState","useState","next","Fragment","jsx","jsxs","cn","useRef","useEffect","useState","jsx"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./types/divider/index";
|
package/dist/divider.js
ADDED
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import {
|
|
2
|
+
fontSizeClass
|
|
3
|
+
} from "./chunk-FFXRFQSU.js";
|
|
4
|
+
import {
|
|
5
|
+
skeletonBoxProps,
|
|
6
|
+
skeletonFill
|
|
7
|
+
} from "./chunk-54HHEXXD.js";
|
|
8
|
+
|
|
9
|
+
// src/divider/Divider.tsx
|
|
10
|
+
import { cn as cn2 } from "@mari-ui/core";
|
|
11
|
+
|
|
12
|
+
// src/divider/utils.ts
|
|
13
|
+
import { cn } from "@mari-ui/core";
|
|
14
|
+
function getBaseClass(isHorizontal, size, className) {
|
|
15
|
+
return cn(
|
|
16
|
+
"flex",
|
|
17
|
+
// Divider'ın KENDİ varsayılan boşluğu var — yatayda dikey (`my-4`),
|
|
18
|
+
// dikeyde yatay (`mx-3`) — böylece komşu içeriğe yapışmaz. `cn`
|
|
19
|
+
// (twMerge) sayesinde tüketici `className`'iyle (`my-2`, `mx-0` …)
|
|
20
|
+
// ezilebilir.
|
|
21
|
+
isHorizontal ? "w-full items-center my-4" : "h-full flex-col justify-center mx-3",
|
|
22
|
+
size && fontSizeClass[size],
|
|
23
|
+
className
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
function getLineClass(lineStyle) {
|
|
27
|
+
if (lineStyle === "dashed") return "border-dashed";
|
|
28
|
+
if (lineStyle === "dotted") return "border-dotted";
|
|
29
|
+
return "border-solid";
|
|
30
|
+
}
|
|
31
|
+
function getLabelClass(plain, isHorizontal) {
|
|
32
|
+
return cn(
|
|
33
|
+
// Faz 15: `whitespace-nowrap` kaldırıldı — 375px'te uzun bir etiket
|
|
34
|
+
// kapsayıcıdan taşıp yatay kaydırma üretiyordu. Artık etiket kırılır ve
|
|
35
|
+
// ortalanır; çizgi parçaları `min-w-6` ile görünür kalır.
|
|
36
|
+
isHorizontal ? "min-w-0 px-3 text-center text-balance" : "py-2 whitespace-nowrap",
|
|
37
|
+
// "text-muted-500" -> gerçek bir token değildi (tema'da hiç yoktu, sessizce
|
|
38
|
+
// no-op'tu). Nötr rolün `text` slotu bunun yerine geçiyor.
|
|
39
|
+
plain ? "text-mari-neutral" : "text-mari-foreground font-medium"
|
|
40
|
+
);
|
|
41
|
+
}
|
|
42
|
+
function getLabelMarginStyle(labelAlign, labelMargin, isHorizontal) {
|
|
43
|
+
if (labelAlign === "center" || !labelMargin || !isHorizontal) return {};
|
|
44
|
+
const marginValue = typeof labelMargin === "number" ? `${labelMargin}px` : labelMargin;
|
|
45
|
+
return labelAlign === "start" ? { marginRight: marginValue } : { marginLeft: marginValue };
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
// src/divider/Divider.tsx
|
|
49
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
50
|
+
function Divider({
|
|
51
|
+
children,
|
|
52
|
+
className,
|
|
53
|
+
lineStyle = "solid",
|
|
54
|
+
orientation = "horizontal",
|
|
55
|
+
labelAlign = "center",
|
|
56
|
+
labelMargin,
|
|
57
|
+
plain = true,
|
|
58
|
+
style,
|
|
59
|
+
size,
|
|
60
|
+
// Dikey divider varsayılan yüksekliği — `rem` (4K ekranlarda `px` kök
|
|
61
|
+
// font'la ölçeklenmiyordu). Sayı verilirse `px` kabul edilir (kaçış).
|
|
62
|
+
height = "3rem",
|
|
63
|
+
skeleton = false
|
|
64
|
+
}) {
|
|
65
|
+
const isHorizontal = orientation === "horizontal";
|
|
66
|
+
const baseClass = getBaseClass(isHorizontal, size, className);
|
|
67
|
+
const labelClass = getLabelClass(plain, isHorizontal);
|
|
68
|
+
const marginStyle = getLabelMarginStyle(labelAlign, labelMargin, isHorizontal);
|
|
69
|
+
const lineClass = cn2("border-mari-border", getLineClass(lineStyle));
|
|
70
|
+
if (skeleton) {
|
|
71
|
+
const bar = cn2("rounded-full", skeletonFill(true));
|
|
72
|
+
if (!isHorizontal) {
|
|
73
|
+
return /* @__PURE__ */ jsx("div", { "aria-hidden": true, className: baseClass, style, children: /* @__PURE__ */ jsx("span", { className: cn2("inline-block w-px", bar), style: { height: typeof height === "number" ? `${height}px` : height } }) });
|
|
74
|
+
}
|
|
75
|
+
return /* @__PURE__ */ jsxs("div", { "aria-hidden": true, className: baseClass, style, children: [
|
|
76
|
+
/* @__PURE__ */ jsx("span", { className: cn2("h-px flex-1", bar) }),
|
|
77
|
+
children && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
78
|
+
/* @__PURE__ */ jsx("span", { ...skeletonBoxProps(cn2("mx-3 rounded-sm", labelClass)), children }),
|
|
79
|
+
/* @__PURE__ */ jsx("span", { className: cn2("h-px flex-1", bar) })
|
|
80
|
+
] })
|
|
81
|
+
] });
|
|
82
|
+
}
|
|
83
|
+
if (!isHorizontal) {
|
|
84
|
+
return /* @__PURE__ */ jsx("div", { className: baseClass, style, role: "separator", "aria-orientation": "vertical", children: /* @__PURE__ */ jsx(
|
|
85
|
+
"span",
|
|
86
|
+
{
|
|
87
|
+
className: cn2("inline-block border-l", lineClass),
|
|
88
|
+
style: { height: typeof height === "number" ? `${height}px` : height }
|
|
89
|
+
}
|
|
90
|
+
) });
|
|
91
|
+
}
|
|
92
|
+
if (!children) {
|
|
93
|
+
return /* @__PURE__ */ jsx("div", { className: baseClass, style, role: "separator", children: /* @__PURE__ */ jsx("span", { className: cn2("flex-1 border-t", lineClass) }) });
|
|
94
|
+
}
|
|
95
|
+
const startLineClass = cn2("border-t", lineClass, labelAlign === "start" ? "w-6 flex-none" : "min-w-6 flex-1");
|
|
96
|
+
const endLineClass = cn2("border-t", lineClass, labelAlign === "end" ? "w-6 flex-none" : "min-w-6 flex-1");
|
|
97
|
+
return /* @__PURE__ */ jsxs("div", { className: baseClass, style, role: "separator", children: [
|
|
98
|
+
/* @__PURE__ */ jsx("span", { className: startLineClass }),
|
|
99
|
+
/* @__PURE__ */ jsx("span", { className: labelClass, style: marginStyle, children }),
|
|
100
|
+
/* @__PURE__ */ jsx("span", { className: endLineClass })
|
|
101
|
+
] });
|
|
102
|
+
}
|
|
103
|
+
export {
|
|
104
|
+
Divider
|
|
105
|
+
};
|
|
106
|
+
//# sourceMappingURL=divider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/divider/Divider.tsx","../src/divider/utils.ts"],"sourcesContent":["import React from \"react\";\nimport { cn } from \"@mari-ui/core\";\nimport { skeletonBoxProps, skeletonFill } from \"../lib/skeleton\";\nimport type { DividerProps } from \"./types\";\nimport { getBaseClass, getLabelClass, getLabelMarginStyle, getLineClass } from \"./utils\";\n\n/**\n * Hook yok, browser API yok — saf sunum. Eski kodda gereksiz yere\n * `\"use client\"` taşıyordu (bkz. plan Faz 3 denetimi); kaldırıldı.\n */\nexport function Divider({\n children,\n className,\n lineStyle = \"solid\",\n orientation = \"horizontal\",\n labelAlign = \"center\",\n labelMargin,\n plain = true,\n style,\n size,\n // Dikey divider varsayılan yüksekliği — `rem` (4K ekranlarda `px` kök\n // font'la ölçeklenmiyordu). Sayı verilirse `px` kabul edilir (kaçış).\n height = \"3rem\",\n skeleton = false,\n}: Readonly<DividerProps>) {\n const isHorizontal = orientation === \"horizontal\";\n const baseClass = getBaseClass(isHorizontal, size, className);\n const labelClass = getLabelClass(plain, isHorizontal);\n const marginStyle = getLabelMarginStyle(labelAlign, labelMargin, isHorizontal);\n\n // Çizgi stili (solid/dashed/dotted) DOĞRUDAN çizgiyi çizen elemana\n // uygulanır — `border-style` CSS'te KALITILMAZ, bu yüzden eskiden\n // kapsayıcıya konunca hep solid görünüyordu.\n const lineClass = cn(\"border-mari-border\", getLineClass(lineStyle));\n\n // İskelet: çizgi aynı yerde parıldayan ince bir çubuk; etiket varsa kendi\n // genişliğinde şeffaf yer tutucu — yüklenince satır kaymaz.\n if (skeleton) {\n const bar = cn(\"rounded-full\", skeletonFill(true));\n if (!isHorizontal) {\n return (\n <div aria-hidden className={baseClass} style={style}>\n <span className={cn(\"inline-block w-px\", bar)} style={{ height: typeof height === \"number\" ? `${height}px` : height }} />\n </div>\n );\n }\n return (\n <div aria-hidden className={baseClass} style={style}>\n <span className={cn(\"h-px flex-1\", bar)} />\n {children && (\n <>\n <span {...skeletonBoxProps(cn(\"mx-3 rounded-sm\", labelClass))}>{children}</span>\n <span className={cn(\"h-px flex-1\", bar)} />\n </>\n )}\n </div>\n );\n }\n\n if (!isHorizontal) {\n return (\n <div className={baseClass} style={style} role=\"separator\" aria-orientation=\"vertical\">\n <span\n className={cn(\"inline-block border-l\", lineClass)}\n style={{ height: typeof height === \"number\" ? `${height}px` : height }}\n />\n </div>\n );\n }\n\n if (!children) {\n return (\n <div className={baseClass} style={style} role=\"separator\">\n <span className={cn(\"flex-1 border-t\", lineClass)} />\n </div>\n );\n }\n\n // Etiketli yatay divider: etiketin iki yanındaki çizgi parçaları.\n // `labelAlign` etiketi bir kenara yaslamak için o kenardaki parçayı\n // kısaltır (`w-6` = 1.5rem), diğerini `flex-1` ile uzatır.\n const startLineClass = cn(\"border-t\", lineClass, labelAlign === \"start\" ? \"w-6 flex-none\" : \"min-w-6 flex-1\");\n const endLineClass = cn(\"border-t\", lineClass, labelAlign === \"end\" ? \"w-6 flex-none\" : \"min-w-6 flex-1\");\n\n return (\n <div className={baseClass} style={style} role=\"separator\">\n <span className={startLineClass} />\n <span className={labelClass} style={marginStyle}>\n {children}\n </span>\n <span className={endLineClass} />\n </div>\n );\n}\n","import type React from \"react\";\nimport { cn, type Size } from \"@mari-ui/core\";\nimport { fontSizeClass } from \"../lib/sizeClasses\";\nimport type { DividerLabelAlign, DividerLineStyle } from \"./types\";\n\nexport function getBaseClass(isHorizontal: boolean, size: Size | undefined, className?: string): string {\n return cn(\n \"flex\",\n // Divider'ın KENDİ varsayılan boşluğu var — yatayda dikey (`my-4`),\n // dikeyde yatay (`mx-3`) — böylece komşu içeriğe yapışmaz. `cn`\n // (twMerge) sayesinde tüketici `className`'iyle (`my-2`, `mx-0` …)\n // ezilebilir.\n isHorizontal ? \"w-full items-center my-4\" : \"h-full flex-col justify-center mx-3\",\n size && fontSizeClass[size],\n className\n );\n}\n\n/**\n * Çizgi stili class'ı — çizgiyi çizen elemana (kapsayıcıya DEĞİL) uygulanır.\n * `border-style` CSS'te `inherit` edilmez.\n */\nexport function getLineClass(lineStyle: DividerLineStyle | undefined): string {\n if (lineStyle === \"dashed\") return \"border-dashed\";\n if (lineStyle === \"dotted\") return \"border-dotted\";\n return \"border-solid\";\n}\n\nexport function getLabelClass(plain: boolean | undefined, isHorizontal: boolean): string {\n return cn(\n // Faz 15: `whitespace-nowrap` kaldırıldı — 375px'te uzun bir etiket\n // kapsayıcıdan taşıp yatay kaydırma üretiyordu. Artık etiket kırılır ve\n // ortalanır; çizgi parçaları `min-w-6` ile görünür kalır.\n isHorizontal ? \"min-w-0 px-3 text-center text-balance\" : \"py-2 whitespace-nowrap\",\n // \"text-muted-500\" -> gerçek bir token değildi (tema'da hiç yoktu, sessizce\n // no-op'tu). Nötr rolün `text` slotu bunun yerine geçiyor.\n plain ? \"text-mari-neutral\" : \"text-mari-foreground font-medium\"\n );\n}\n\nexport function getLabelMarginStyle(\n labelAlign: DividerLabelAlign | undefined,\n labelMargin: string | number | undefined,\n isHorizontal: boolean\n): React.CSSProperties {\n if (labelAlign === \"center\" || !labelMargin || !isHorizontal) return {};\n const marginValue = typeof labelMargin === \"number\" ? `${labelMargin}px` : labelMargin;\n return labelAlign === \"start\" ? { marginRight: marginValue } : { marginLeft: marginValue };\n}\n"],"mappings":"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","names":["cn","cn"]}
|
package/dist/drawer.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./types/drawer/index";
|
package/dist/drawer.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Drawer
|
|
3
|
+
} from "./chunk-KCYM2JXP.js";
|
|
4
|
+
import "./chunk-KG6A32KX.js";
|
|
5
|
+
import "./chunk-JNZODUXP.js";
|
|
6
|
+
import "./chunk-V7KDUUV6.js";
|
|
7
|
+
import "./chunk-NPM7IDYV.js";
|
|
8
|
+
import "./chunk-XUKVQO6M.js";
|
|
9
|
+
import "./chunk-FFXRFQSU.js";
|
|
10
|
+
import "./chunk-54HHEXXD.js";
|
|
11
|
+
export {
|
|
12
|
+
Drawer
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=drawer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./types/dropdown/index";
|
package/dist/dropdown.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Dropdown,
|
|
3
|
+
DropdownContent,
|
|
4
|
+
DropdownDivider,
|
|
5
|
+
DropdownItem,
|
|
6
|
+
DropdownLabel,
|
|
7
|
+
DropdownTrigger
|
|
8
|
+
} from "./chunk-FNJHS5KQ.js";
|
|
9
|
+
import "./chunk-S66GKX2W.js";
|
|
10
|
+
import "./chunk-3ABWBQCS.js";
|
|
11
|
+
import "./chunk-NS7FKOFI.js";
|
|
12
|
+
import "./chunk-TCYDVNSU.js";
|
|
13
|
+
import "./chunk-IP2J3BWY.js";
|
|
14
|
+
import "./chunk-54HHEXXD.js";
|
|
15
|
+
export {
|
|
16
|
+
Dropdown,
|
|
17
|
+
DropdownContent,
|
|
18
|
+
DropdownDivider,
|
|
19
|
+
DropdownItem,
|
|
20
|
+
DropdownLabel,
|
|
21
|
+
DropdownTrigger
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=dropdown.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/empty.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./types/empty/index";
|
package/dist/empty.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
package/dist/field.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./types/field/index";
|
package/dist/field.js
ADDED
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
FieldContext
|
|
5
|
+
} from "./chunk-LBQMEHK6.js";
|
|
6
|
+
import {
|
|
7
|
+
skeletonBoxProps
|
|
8
|
+
} from "./chunk-54HHEXXD.js";
|
|
9
|
+
|
|
10
|
+
// src/field/Field.tsx
|
|
11
|
+
import { useCallback, useId, useMemo, useState } from "react";
|
|
12
|
+
import { cn } from "@mari-ui/core";
|
|
13
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
+
function Field({ label, hint, error, required = false, disabled = false, layout = "vertical", htmlFor, className, skeleton = false, children }) {
|
|
15
|
+
const autoId = useId();
|
|
16
|
+
const [ownControlId, setControlId] = useState();
|
|
17
|
+
const [isGroup, setIsGroup] = useState(false);
|
|
18
|
+
const markGroup = useCallback(() => setIsGroup(true), []);
|
|
19
|
+
const controlId = ownControlId ?? htmlFor ?? `${autoId}-control`;
|
|
20
|
+
const labelId = `${autoId}-label`;
|
|
21
|
+
const hintId = `${autoId}-hint`;
|
|
22
|
+
const errorId = `${autoId}-error`;
|
|
23
|
+
const invalid = error !== void 0 && error !== null && error !== false && error !== "";
|
|
24
|
+
const showHint = !invalid && hint !== void 0 && hint !== null;
|
|
25
|
+
let describedBy;
|
|
26
|
+
if (invalid) describedBy = errorId;
|
|
27
|
+
else if (showHint) describedBy = hintId;
|
|
28
|
+
const context = useMemo(
|
|
29
|
+
() => ({ controlId, labelId, describedBy, invalid, required, disabled, markGroup, setControlId, skeleton }),
|
|
30
|
+
[controlId, labelId, describedBy, invalid, required, disabled, markGroup, skeleton]
|
|
31
|
+
);
|
|
32
|
+
const horizontal = layout === "horizontal";
|
|
33
|
+
const textSkeleton = (text) => skeleton ? /* @__PURE__ */ jsx("span", { ...skeletonBoxProps("rounded-sm"), children: text }) : text;
|
|
34
|
+
const labelContent = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
35
|
+
textSkeleton(label),
|
|
36
|
+
required && !skeleton && /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "ml-0.5 text-mari-error", children: "*" })
|
|
37
|
+
] });
|
|
38
|
+
const labelClass = cn("text-sm font-medium text-mari-foreground", disabled && "opacity-50", horizontal && "sm:flex sm:min-h-8 sm:items-center sm:self-start");
|
|
39
|
+
return /* @__PURE__ */ jsx(FieldContext.Provider, { value: context, children: /* @__PURE__ */ jsxs("div", { className: cn("flex min-w-0 flex-col gap-1.5", horizontal && "sm:grid sm:grid-cols-[minmax(0,12rem)_minmax(0,1fr)] sm:gap-x-6 sm:gap-y-1.5", className), children: [
|
|
40
|
+
isGroup ? /* @__PURE__ */ jsx("span", { id: labelId, className: labelClass, children: labelContent }) : /* @__PURE__ */ jsx("label", { id: labelId, htmlFor: controlId, className: labelClass, children: labelContent }),
|
|
41
|
+
/* @__PURE__ */ jsxs("div", { className: "flex min-w-0 flex-col items-start [&>*]:max-w-full", children: [
|
|
42
|
+
children,
|
|
43
|
+
showHint && /* @__PURE__ */ jsx("p", { id: hintId, className: "mt-1.5 text-xs text-mari-muted", children: textSkeleton(hint) }),
|
|
44
|
+
/* @__PURE__ */ jsx("p", { id: errorId, "aria-live": "polite", className: "mt-1.5 text-xs text-mari-error empty:mt-0", children: invalid ? error : null })
|
|
45
|
+
] })
|
|
46
|
+
] }) });
|
|
47
|
+
}
|
|
48
|
+
export {
|
|
49
|
+
Field
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/field/Field.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useCallback, useId, useMemo, useState } from \"react\";\nimport { cn } from \"@mari-ui/core\";\nimport { FieldContext, type FieldContextValue } from \"../lib/fieldContext\";\nimport { skeletonBoxProps } from \"../lib/skeleton\";\nimport type { FieldProps } from \"./types\";\n\nexport type { FieldProps };\n\n/**\n * Faz 16.1 — form alanının düzeni ve erişilebilirlik bağlantıları: etiket,\n * ipucu, hata, zorunlu işareti. Kendisi bir kontrol DEĞİL; içindeki kontrole\n * (context ile) id, `aria-describedby`, hata durumu (`color=\"error\"` +\n * `aria-invalid`), `required` ve `disabled` verir. Kontrole açıkça verilen\n * prop her zaman kazanır.\n *\n * Doğrulama YOK — kurallar/state tüketicinin (react-hook-form, zod…) işi;\n * Field yalnız sonucu gösterir. Eskiden her story (Drawer, Modal, Select,\n * InputNumber) kendi `Field` yardımcısını yazıyor, id'leri elle eşliyordu.\n *\n * Hata metni `aria-live=\"polite\"` bölgede: gönderimde ortaya çıkınca okunur.\n * Bölge hep DOM'da (sonradan eklenen canlı bölgeyi bazı ekran okuyucular\n * duyurmuyor); hata yokken boş.\n */\nexport function Field({ label, hint, error, required = false, disabled = false, layout = \"vertical\", htmlFor, className, skeleton = false, children }: Readonly<FieldProps>) {\n const autoId = useId();\n const [ownControlId, setControlId] = useState<string | undefined>();\n const [isGroup, setIsGroup] = useState(false);\n const markGroup = useCallback(() => setIsGroup(true), []);\n\n const controlId = ownControlId ?? htmlFor ?? `${autoId}-control`;\n const labelId = `${autoId}-label`;\n const hintId = `${autoId}-hint`;\n const errorId = `${autoId}-error`;\n const invalid = error !== undefined && error !== null && error !== false && error !== \"\";\n const showHint = !invalid && hint !== undefined && hint !== null;\n // Hata varken ipucu gizlenir; kontrol yalnız görünen metne bağlanır.\n let describedBy: string | undefined;\n if (invalid) describedBy = errorId;\n else if (showHint) describedBy = hintId;\n\n const context = useMemo<FieldContextValue>(\n () => ({ controlId, labelId, describedBy, invalid, required, disabled, markGroup, setControlId, skeleton }),\n [controlId, labelId, describedBy, invalid, required, disabled, markGroup, skeleton]\n );\n\n const horizontal = layout === \"horizontal\";\n // İskelette etiket/ipucu metni şeffaf bir blok olur — gerçek metinle aynı boyut, yüklenince kayma yok.\n const textSkeleton = (text: React.ReactNode) => (skeleton ? <span {...skeletonBoxProps(\"rounded-sm\")}>{text}</span> : text);\n const labelContent = (\n <>\n {textSkeleton(label)}\n {/* Zorunluluk kontrolün `required`ı ile okunur; yıldız yalnız görsel. */}\n {required && !skeleton && (\n <span aria-hidden className=\"ml-0.5 text-mari-error\">\n *\n </span>\n )}\n </>\n );\n // Yatayda etiket kontrolün İLK satırıyla hizalı (md kontrol yüksekliği 32px) — satırın (ipucu dahil) ortasına değil.\n const labelClass = cn(\"text-sm font-medium text-mari-foreground\", disabled && \"opacity-50\", horizontal && \"sm:flex sm:min-h-8 sm:items-center sm:self-start\");\n\n return (\n <FieldContext.Provider value={context}>\n <div className={cn(\"flex min-w-0 flex-col gap-1.5\", horizontal && \"sm:grid sm:grid-cols-[minmax(0,12rem)_minmax(0,1fr)] sm:gap-x-6 sm:gap-y-1.5\", className)}>\n {/* Grupta `<label for>` bağlanamaz — etiket grubun `aria-labelledby`si olur. */}\n {isGroup ? (\n <span id={labelId} className={labelClass}>\n {labelContent}\n </span>\n ) : (\n <label id={labelId} htmlFor={controlId} className={labelClass}>\n {labelContent}\n </label>\n )}\n {/* `gap` değil `mt`: boş canlı bölge (hata yokken) yükseklik ve boşluk kaplamasın — `display:none`\n olsaydı bazı ekran okuyucular bölgeyi izlemeyi bırakıp hatayı duyurmuyordu. */}\n {/* `items-start`: satır içi kontroller (Segmented, RadioGroup) kendi genişliğinde kalsın —\n gerilince Segmented'ın zemini tam genişliğe yayılıyordu. Tam genişlik isteyenler zaten `w-full`. */}\n <div className=\"flex min-w-0 flex-col items-start [&>*]:max-w-full\">\n {children}\n {showHint && (\n <p id={hintId} className=\"mt-1.5 text-xs text-mari-muted\">\n {textSkeleton(hint)}\n </p>\n )}\n <p id={errorId} aria-live=\"polite\" className=\"mt-1.5 text-xs text-mari-error empty:mt-0\">\n {invalid ? error : null}\n </p>\n </div>\n </div>\n </FieldContext.Provider>\n );\n}\n"],"mappings":";;;;;;;;AAEA,SAAgB,aAAa,OAAO,SAAS,gBAAgB;AAC7D,SAAS,UAAU;AA8C2C,SAE1D,UAF0D,KAE1D,YAF0D;AAxBvD,SAAS,MAAM,EAAE,OAAO,MAAM,OAAO,WAAW,OAAO,WAAW,OAAO,SAAS,YAAY,SAAS,WAAW,WAAW,OAAO,SAAS,GAAyB;AAC3K,QAAM,SAAS,MAAM;AACrB,QAAM,CAAC,cAAc,YAAY,IAAI,SAA6B;AAClE,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAC5C,QAAM,YAAY,YAAY,MAAM,WAAW,IAAI,GAAG,CAAC,CAAC;AAExD,QAAM,YAAY,gBAAgB,WAAW,GAAG,MAAM;AACtD,QAAM,UAAU,GAAG,MAAM;AACzB,QAAM,SAAS,GAAG,MAAM;AACxB,QAAM,UAAU,GAAG,MAAM;AACzB,QAAM,UAAU,UAAU,UAAa,UAAU,QAAQ,UAAU,SAAS,UAAU;AACtF,QAAM,WAAW,CAAC,WAAW,SAAS,UAAa,SAAS;AAE5D,MAAI;AACJ,MAAI,QAAS,eAAc;AAAA,WAClB,SAAU,eAAc;AAEjC,QAAM,UAAU;AAAA,IACd,OAAO,EAAE,WAAW,SAAS,aAAa,SAAS,UAAU,UAAU,WAAW,cAAc,SAAS;AAAA,IACzG,CAAC,WAAW,SAAS,aAAa,SAAS,UAAU,UAAU,WAAW,QAAQ;AAAA,EACpF;AAEA,QAAM,aAAa,WAAW;AAE9B,QAAM,eAAe,CAAC,SAA2B,WAAW,oBAAC,UAAM,GAAG,iBAAiB,YAAY,GAAI,gBAAK,IAAU;AACtH,QAAM,eACJ,iCACG;AAAA,iBAAa,KAAK;AAAA,IAElB,YAAY,CAAC,YACZ,oBAAC,UAAK,eAAW,MAAC,WAAU,0BAAyB,eAErD;AAAA,KAEJ;AAGF,QAAM,aAAa,GAAG,4CAA4C,YAAY,cAAc,cAAc,kDAAkD;AAE5J,SACE,oBAAC,aAAa,UAAb,EAAsB,OAAO,SAC5B,+BAAC,SAAI,WAAW,GAAG,iCAAiC,cAAc,gFAAgF,SAAS,GAExJ;AAAA,cACC,oBAAC,UAAK,IAAI,SAAS,WAAW,YAC3B,wBACH,IAEA,oBAAC,WAAM,IAAI,SAAS,SAAS,WAAW,WAAW,YAChD,wBACH;AAAA,IAMF,qBAAC,SAAI,WAAU,sDACZ;AAAA;AAAA,MACA,YACC,oBAAC,OAAE,IAAI,QAAQ,WAAU,kCACtB,uBAAa,IAAI,GACpB;AAAA,MAEF,oBAAC,OAAE,IAAI,SAAS,aAAU,UAAS,WAAU,6CAC1C,oBAAU,QAAQ,MACrB;AAAA,OACF;AAAA,KACF,GACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./types/float-button/index";
|