@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
package/dist/modal.js
ADDED
|
@@ -0,0 +1,280 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
useScrollable
|
|
5
|
+
} from "./chunk-KG6A32KX.js";
|
|
6
|
+
import {
|
|
7
|
+
findAutofocus,
|
|
8
|
+
firstFocusable,
|
|
9
|
+
reachable,
|
|
10
|
+
useModalBehavior,
|
|
11
|
+
usePresence,
|
|
12
|
+
useRefocusAfterSkeleton
|
|
13
|
+
} from "./chunk-JNZODUXP.js";
|
|
14
|
+
import {
|
|
15
|
+
ContentSkeleton
|
|
16
|
+
} from "./chunk-V7KDUUV6.js";
|
|
17
|
+
import {
|
|
18
|
+
Skeleton,
|
|
19
|
+
SkeletonBlock
|
|
20
|
+
} from "./chunk-NPM7IDYV.js";
|
|
21
|
+
import "./chunk-XUKVQO6M.js";
|
|
22
|
+
import {
|
|
23
|
+
Button
|
|
24
|
+
} from "./chunk-2IEXY3OZ.js";
|
|
25
|
+
import {
|
|
26
|
+
touchTargetSquareClass
|
|
27
|
+
} from "./chunk-FFXRFQSU.js";
|
|
28
|
+
import {
|
|
29
|
+
bgSubtleClass,
|
|
30
|
+
textClass
|
|
31
|
+
} from "./chunk-IP2J3BWY.js";
|
|
32
|
+
import "./chunk-54HHEXXD.js";
|
|
33
|
+
|
|
34
|
+
// src/modal/Modal.tsx
|
|
35
|
+
import { useId, useRef, useState } from "react";
|
|
36
|
+
import { createPortal } from "react-dom";
|
|
37
|
+
import { XIcon } from "lucide-react";
|
|
38
|
+
import { cn } from "@mari-ui/core";
|
|
39
|
+
|
|
40
|
+
// src/modal/utils.tsx
|
|
41
|
+
import { AlertTriangleIcon, CheckCircle2Icon, InfoIcon, XCircleIcon, SparklesIcon } from "lucide-react";
|
|
42
|
+
import { jsx } from "react/jsx-runtime";
|
|
43
|
+
var ICON_BY_COLOR = {
|
|
44
|
+
success: CheckCircle2Icon,
|
|
45
|
+
warning: AlertTriangleIcon,
|
|
46
|
+
error: XCircleIcon,
|
|
47
|
+
info: InfoIcon,
|
|
48
|
+
primary: InfoIcon,
|
|
49
|
+
accent: SparklesIcon,
|
|
50
|
+
neutral: InfoIcon
|
|
51
|
+
};
|
|
52
|
+
function renderModalIcon(color, icon) {
|
|
53
|
+
if (!color && !icon) return null;
|
|
54
|
+
const role = color ?? "neutral";
|
|
55
|
+
const Icon = ICON_BY_COLOR[role];
|
|
56
|
+
return /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: `flex size-10 shrink-0 items-center justify-center rounded-full ${bgSubtleClass[role]} ${textClass[role]}`, children: icon ?? /* @__PURE__ */ jsx(Icon, { size: 20 }) });
|
|
57
|
+
}
|
|
58
|
+
var sizeMap = {
|
|
59
|
+
sm: "sm:max-w-[25rem]",
|
|
60
|
+
md: "sm:max-w-[32.5rem]",
|
|
61
|
+
lg: "sm:max-w-[45rem]"
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
// src/modal/Modal.tsx
|
|
65
|
+
import { jsx as jsx2, jsxs } from "react/jsx-runtime";
|
|
66
|
+
var EXIT_MS = 200;
|
|
67
|
+
var CLOSE_SELECTOR = "[data-modal-close]";
|
|
68
|
+
function getModalInitialFocus(panel, isAlert, preferred) {
|
|
69
|
+
const cancel = reachable(panel.querySelector("[data-modal-cancel]"));
|
|
70
|
+
const confirm = reachable(panel.querySelector("[data-modal-confirm]"));
|
|
71
|
+
const body = panel.querySelector("[data-modal-body]");
|
|
72
|
+
const explicit = preferred ? { confirm, cancel }[preferred] : null;
|
|
73
|
+
return explicit ?? findAutofocus(panel) ?? (isAlert ? cancel : null) ?? (body && firstFocusable(body)) ?? cancel ?? panel.querySelector(CLOSE_SELECTOR);
|
|
74
|
+
}
|
|
75
|
+
var HEADER_PLACEHOLDER = /* @__PURE__ */ jsx2("div", { className: "flex flex-col gap-2.5 py-1.5", children: /* @__PURE__ */ jsx2(SkeletonBlock, { active: true, width: "50%", height: "1.125rem", radius: "sm" }) });
|
|
76
|
+
var FOOTER_PLACEHOLDER = /* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
77
|
+
/* @__PURE__ */ jsx2(SkeletonBlock, { active: true, width: "5rem", height: "2.25rem" }),
|
|
78
|
+
/* @__PURE__ */ jsx2(SkeletonBlock, { active: true, width: "5rem", height: "2.25rem" })
|
|
79
|
+
] });
|
|
80
|
+
function useConfirm(onConfirm) {
|
|
81
|
+
const [pending, setPending] = useState(false);
|
|
82
|
+
const handleConfirm = async () => {
|
|
83
|
+
const result = onConfirm?.();
|
|
84
|
+
if (!(result instanceof Promise)) return;
|
|
85
|
+
setPending(true);
|
|
86
|
+
try {
|
|
87
|
+
await result;
|
|
88
|
+
} finally {
|
|
89
|
+
setPending(false);
|
|
90
|
+
}
|
|
91
|
+
};
|
|
92
|
+
return { pending, handleConfirm };
|
|
93
|
+
}
|
|
94
|
+
function ModalHeader({
|
|
95
|
+
icon,
|
|
96
|
+
title,
|
|
97
|
+
titleId,
|
|
98
|
+
description,
|
|
99
|
+
descriptionId,
|
|
100
|
+
closeInset,
|
|
101
|
+
skeleton
|
|
102
|
+
}) {
|
|
103
|
+
return /* @__PURE__ */ jsx2("div", { className: cn("shrink-0 px-6 pt-6", closeInset === "left" && "pl-14", closeInset === "right" && "pr-14"), children: /* @__PURE__ */ jsx2(ContentSkeleton, { on: skeleton, fallback: HEADER_PLACEHOLDER, children: /* @__PURE__ */ jsxs("div", { className: "flex gap-4", children: [
|
|
104
|
+
icon,
|
|
105
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1 self-center", children: [
|
|
106
|
+
title && /* @__PURE__ */ jsx2("h2", { id: titleId, className: "text-lg font-semibold leading-7 text-mari-foreground", children: title }),
|
|
107
|
+
description && /* @__PURE__ */ jsx2("p", { id: descriptionId, className: "mt-1 text-sm text-mari-muted", children: description })
|
|
108
|
+
] })
|
|
109
|
+
] }) }) });
|
|
110
|
+
}
|
|
111
|
+
function ModalBody({
|
|
112
|
+
indented,
|
|
113
|
+
hasFooter,
|
|
114
|
+
skeleton,
|
|
115
|
+
className,
|
|
116
|
+
children
|
|
117
|
+
}) {
|
|
118
|
+
const ref = useRef(null);
|
|
119
|
+
const scrollable = useScrollable(ref, "y", [children, skeleton]);
|
|
120
|
+
return /* @__PURE__ */ jsx2(
|
|
121
|
+
"div",
|
|
122
|
+
{
|
|
123
|
+
ref,
|
|
124
|
+
"data-modal-body": true,
|
|
125
|
+
tabIndex: scrollable && !skeleton ? 0 : void 0,
|
|
126
|
+
className: cn(
|
|
127
|
+
"min-h-0 flex-1 overflow-y-auto overscroll-contain px-6 pt-4 text-sm text-mari-foreground",
|
|
128
|
+
"focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-mari-ring",
|
|
129
|
+
// Durum ikonu varsa gövde başlıkla hizalı (ikon + boşluk kadar içeride).
|
|
130
|
+
indented && "sm:pl-20",
|
|
131
|
+
// Footer varken de küçük bir alt pay: satır içi dolgu ya da kenardaki
|
|
132
|
+
// alanın odak halkası 1-2px taşıp gereksiz kaydırma çubuğu açmasın.
|
|
133
|
+
hasFooter ? "pb-1" : "pb-6",
|
|
134
|
+
className
|
|
135
|
+
),
|
|
136
|
+
children: /* @__PURE__ */ jsx2(ContentSkeleton, { on: skeleton, fallback: /* @__PURE__ */ jsx2(Skeleton, { active: true, title: false, paragraph: { rows: 3 } }), children })
|
|
137
|
+
}
|
|
138
|
+
);
|
|
139
|
+
}
|
|
140
|
+
function CloseButton({ onClose, position }) {
|
|
141
|
+
return /* @__PURE__ */ jsx2(
|
|
142
|
+
"button",
|
|
143
|
+
{
|
|
144
|
+
type: "button",
|
|
145
|
+
onClick: onClose,
|
|
146
|
+
"aria-label": "Kapat",
|
|
147
|
+
"data-modal-close": true,
|
|
148
|
+
className: cn(
|
|
149
|
+
"absolute top-3 z-10 inline-flex size-8 cursor-pointer items-center justify-center rounded-md text-mari-muted transition-colors",
|
|
150
|
+
"hover:bg-mari-surface-alt hover:text-mari-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mari-ring",
|
|
151
|
+
touchTargetSquareClass.md,
|
|
152
|
+
position === "left" ? "left-3" : "right-3"
|
|
153
|
+
),
|
|
154
|
+
children: /* @__PURE__ */ jsx2(XIcon, { size: 18, "aria-hidden": true })
|
|
155
|
+
}
|
|
156
|
+
);
|
|
157
|
+
}
|
|
158
|
+
function resolveFooter({ footer, ...buttons }) {
|
|
159
|
+
if (footer !== void 0) return footer;
|
|
160
|
+
if (!buttons.cancelText && !buttons.confirmText) return null;
|
|
161
|
+
return /* @__PURE__ */ jsx2(FooterButtons, { ...buttons });
|
|
162
|
+
}
|
|
163
|
+
function FooterButtons({ position, cancelText, confirmText, onCancel, onConfirm, color, loading, disabled }) {
|
|
164
|
+
return (
|
|
165
|
+
// Mobilde düğmeler tam genişlik ve alt alta (birincil altta, başparmak erişiminde).
|
|
166
|
+
/* @__PURE__ */ jsxs("div", { className: cn("flex flex-col-reverse gap-2 sm:flex-row", position === "left" ? "sm:justify-start" : "sm:justify-end"), children: [
|
|
167
|
+
cancelText && /* @__PURE__ */ jsx2(Button, { variant: "outline", color: "neutral", onClick: onCancel, "data-modal-cancel": true, className: "w-full sm:w-auto", children: cancelText }),
|
|
168
|
+
confirmText && /* @__PURE__ */ jsx2(Button, { color: color === "neutral" || !color ? "primary" : color, onClick: onConfirm, loading, disabled, "data-modal-confirm": true, className: "w-full sm:w-auto", children: confirmText })
|
|
169
|
+
] })
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
function Modal({
|
|
173
|
+
open,
|
|
174
|
+
onClose,
|
|
175
|
+
title,
|
|
176
|
+
description,
|
|
177
|
+
icon,
|
|
178
|
+
color,
|
|
179
|
+
children,
|
|
180
|
+
showCloseButton = true,
|
|
181
|
+
closeButtonPosition = "right",
|
|
182
|
+
footer,
|
|
183
|
+
footerButtonPosition = "right",
|
|
184
|
+
confirmButtonText,
|
|
185
|
+
cancelButtonText,
|
|
186
|
+
onConfirm,
|
|
187
|
+
onCancel,
|
|
188
|
+
confirmLoading,
|
|
189
|
+
confirmDisabled = false,
|
|
190
|
+
initialFocus,
|
|
191
|
+
size = "md",
|
|
192
|
+
width,
|
|
193
|
+
maskClosable = true,
|
|
194
|
+
keyboard = true,
|
|
195
|
+
skeleton = false,
|
|
196
|
+
"aria-label": ariaLabel,
|
|
197
|
+
className,
|
|
198
|
+
bodyClassName
|
|
199
|
+
}) {
|
|
200
|
+
const panelRef = useRef(null);
|
|
201
|
+
const titleId = useId();
|
|
202
|
+
const descriptionId = useId();
|
|
203
|
+
const { pending, handleConfirm } = useConfirm(onConfirm);
|
|
204
|
+
const present = usePresence(open, EXIT_MS);
|
|
205
|
+
const isAlert = (color === "error" || color === "warning") && Boolean(confirmButtonText);
|
|
206
|
+
const getInitialFocus = (panel) => getModalInitialFocus(panel, isAlert, initialFocus);
|
|
207
|
+
useModalBehavior(open, panelRef, onClose, { closeOnEscape: keyboard, getInitialFocus });
|
|
208
|
+
useRefocusAfterSkeleton(open, skeleton, panelRef, getInitialFocus, CLOSE_SELECTOR);
|
|
209
|
+
if (!present || typeof document === "undefined") return null;
|
|
210
|
+
const iconNode = renderModalIcon(color, icon);
|
|
211
|
+
const footerNode = resolveFooter({
|
|
212
|
+
footer,
|
|
213
|
+
position: footerButtonPosition,
|
|
214
|
+
cancelText: cancelButtonText,
|
|
215
|
+
confirmText: confirmButtonText,
|
|
216
|
+
onCancel: onCancel ?? onClose,
|
|
217
|
+
onConfirm: handleConfirm,
|
|
218
|
+
color,
|
|
219
|
+
loading: confirmLoading ?? pending,
|
|
220
|
+
disabled: confirmDisabled
|
|
221
|
+
});
|
|
222
|
+
return createPortal(
|
|
223
|
+
/* @__PURE__ */ jsxs("div", { className: cn("fixed inset-0 z-mari-modal", !open && "pointer-events-none"), children: [
|
|
224
|
+
/* @__PURE__ */ jsx2(
|
|
225
|
+
"div",
|
|
226
|
+
{
|
|
227
|
+
"aria-hidden": true,
|
|
228
|
+
onClick: maskClosable ? onClose : void 0,
|
|
229
|
+
className: cn(
|
|
230
|
+
"absolute inset-0 bg-mari-scrim transition-opacity duration-200 motion-reduce:transition-none starting:opacity-0",
|
|
231
|
+
open ? "opacity-100" : "opacity-0"
|
|
232
|
+
)
|
|
233
|
+
}
|
|
234
|
+
),
|
|
235
|
+
/* @__PURE__ */ jsx2("div", { className: "pointer-events-none absolute inset-0 flex items-end justify-center p-3 sm:items-center sm:p-6", children: /* @__PURE__ */ jsxs(
|
|
236
|
+
"div",
|
|
237
|
+
{
|
|
238
|
+
ref: panelRef,
|
|
239
|
+
role: isAlert ? "alertdialog" : "dialog",
|
|
240
|
+
"aria-modal": "true",
|
|
241
|
+
"aria-labelledby": title ? titleId : void 0,
|
|
242
|
+
"aria-label": title ? void 0 : ariaLabel,
|
|
243
|
+
"aria-describedby": description ? descriptionId : void 0,
|
|
244
|
+
"aria-busy": skeleton || void 0,
|
|
245
|
+
tabIndex: -1,
|
|
246
|
+
style: width !== void 0 ? { maxWidth: width } : void 0,
|
|
247
|
+
className: cn(
|
|
248
|
+
"pointer-events-auto relative flex max-h-[calc(100dvh-1.5rem)] w-full flex-col rounded-xl border border-mari-border bg-mari-surface text-mari-foreground shadow-mari-xl outline-none sm:max-h-[calc(100dvh-3rem)]",
|
|
249
|
+
"transition-[opacity,translate,scale] duration-200 ease-out motion-reduce:transition-none starting:translate-y-2 starting:scale-[0.98] starting:opacity-0",
|
|
250
|
+
open ? "translate-y-0 scale-100 opacity-100" : "translate-y-2 scale-[0.98] opacity-0",
|
|
251
|
+
width === void 0 && sizeMap[size],
|
|
252
|
+
className
|
|
253
|
+
),
|
|
254
|
+
children: [
|
|
255
|
+
showCloseButton && /* @__PURE__ */ jsx2(CloseButton, { onClose, position: closeButtonPosition }),
|
|
256
|
+
(title || description || iconNode) && /* @__PURE__ */ jsx2(
|
|
257
|
+
ModalHeader,
|
|
258
|
+
{
|
|
259
|
+
icon: iconNode,
|
|
260
|
+
title,
|
|
261
|
+
titleId,
|
|
262
|
+
description,
|
|
263
|
+
descriptionId,
|
|
264
|
+
closeInset: showCloseButton ? closeButtonPosition : void 0,
|
|
265
|
+
skeleton
|
|
266
|
+
}
|
|
267
|
+
),
|
|
268
|
+
children !== void 0 && children !== null && /* @__PURE__ */ jsx2(ModalBody, { indented: Boolean(iconNode), hasFooter: Boolean(footerNode), skeleton, className: bodyClassName, children }),
|
|
269
|
+
footerNode && /* @__PURE__ */ jsx2("div", { className: "shrink-0 px-6 pb-6 pt-5", children: /* @__PURE__ */ jsx2(ContentSkeleton, { on: skeleton, fallback: FOOTER_PLACEHOLDER, children: footerNode }) })
|
|
270
|
+
]
|
|
271
|
+
}
|
|
272
|
+
) })
|
|
273
|
+
] }),
|
|
274
|
+
document.body
|
|
275
|
+
);
|
|
276
|
+
}
|
|
277
|
+
export {
|
|
278
|
+
Modal
|
|
279
|
+
};
|
|
280
|
+
//# sourceMappingURL=modal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/modal/Modal.tsx","../src/modal/utils.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useId, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { XIcon } from \"lucide-react\";\nimport { cn } from \"@mari-ui/core\";\nimport { Button } from \"../button\";\nimport { Skeleton, SkeletonBlock } from \"../skeleton\";\nimport { ContentSkeleton } from \"../lib/ContentSkeleton\";\nimport { touchTargetSquareClass } from \"../lib/sizeClasses\";\nimport { useScrollable } from \"../lib/useScrollable\";\nimport { findAutofocus, firstFocusable, reachable, useModalBehavior, usePresence, useRefocusAfterSkeleton } from \"../lib/overlay\";\nimport type { ModalProps } from \"./types\";\nimport { renderModalIcon, sizeMap } from \"./utils\";\n\nexport type { ModalProps };\n\nconst EXIT_MS = 200;\nconst CLOSE_SELECTOR = \"[data-modal-close]\";\n\n/**\n * İlk odak: `initialFocus` → data-autofocus → (yıkıcı onayda) Vazgeç →\n * gövdedeki ilk alan → Vazgeç → Kapat → panel. İskelette düğmeler/alanlar\n * görünmez kopyadadır (`reachable` eler) → odak Kapat'a düşer.\n */\nfunction getModalInitialFocus(panel: HTMLElement, isAlert: boolean, preferred?: \"cancel\" | \"confirm\"): HTMLElement | null {\n const cancel = reachable(panel.querySelector<HTMLElement>(\"[data-modal-cancel]\"));\n const confirm = reachable(panel.querySelector<HTMLElement>(\"[data-modal-confirm]\"));\n const body = panel.querySelector<HTMLElement>(\"[data-modal-body]\");\n const explicit = preferred ? { confirm, cancel }[preferred] : null;\n return (\n explicit ??\n findAutofocus(panel) ??\n (isAlert ? cancel : null) ??\n (body && firstFocusable(body)) ??\n cancel ??\n panel.querySelector<HTMLElement>(CLOSE_SELECTOR)\n );\n}\n\n/** Ölçülecek içerik yoksa (başlık da veriden geliyor ya da yerleşimsiz ortam). */\nconst HEADER_PLACEHOLDER = (\n <div className=\"flex flex-col gap-2.5 py-1.5\">\n <SkeletonBlock active width=\"50%\" height=\"1.125rem\" radius=\"sm\" />\n </div>\n);\nconst FOOTER_PLACEHOLDER = (\n <div className=\"flex justify-end gap-2\">\n <SkeletonBlock active width=\"5rem\" height=\"2.25rem\" />\n <SkeletonBlock active width=\"5rem\" height=\"2.25rem\" />\n </div>\n);\n\n/** `onConfirm` Promise dönerse çözülene kadar onay düğmesi \"yükleniyor\". */\nfunction useConfirm(onConfirm: ModalProps[\"onConfirm\"]) {\n const [pending, setPending] = useState(false);\n const handleConfirm = async () => {\n const result = onConfirm?.();\n if (!(result instanceof Promise)) return;\n setPending(true);\n try {\n await result;\n } finally {\n setPending(false);\n }\n };\n return { pending, handleConfirm };\n}\n\nfunction ModalHeader({\n icon,\n title,\n titleId,\n description,\n descriptionId,\n closeInset,\n skeleton,\n}: Readonly<{\n icon: React.ReactNode;\n title: React.ReactNode;\n titleId: string;\n description: React.ReactNode;\n descriptionId: string;\n /** Kapat düğmesinin olduğu kenar — başlık onun altına girmesin. */\n closeInset?: Exclude<ModalProps[\"closeButtonPosition\"], undefined>;\n skeleton: boolean;\n}>) {\n return (\n <div className={cn(\"shrink-0 px-6 pt-6\", closeInset === \"left\" && \"pl-14\", closeInset === \"right\" && \"pr-14\")}>\n <ContentSkeleton on={skeleton} fallback={HEADER_PLACEHOLDER}>\n <div className=\"flex gap-4\">\n {icon}\n <div className=\"min-w-0 flex-1 self-center\">\n {title && (\n <h2 id={titleId} className=\"text-lg font-semibold leading-7 text-mari-foreground\">\n {title}\n </h2>\n )}\n {description && (\n <p id={descriptionId} className=\"mt-1 text-sm text-mari-muted\">\n {description}\n </p>\n )}\n </div>\n </div>\n </ContentSkeleton>\n </div>\n );\n}\n\nfunction ModalBody({\n indented,\n hasFooter,\n skeleton,\n className,\n children,\n}: Readonly<{\n indented: boolean;\n hasFooter: boolean;\n skeleton: boolean;\n className?: string;\n children: React.ReactNode;\n}>) {\n const ref = useRef<HTMLDivElement>(null);\n // Uzun metin (kullanım koşulları) kayar ama içinde odaklanabilir öğe yok →\n // klavyeyle kaydırılabilsin diye taşarken gövde Tab durağı olur.\n const scrollable = useScrollable(ref, \"y\", [children, skeleton]);\n return (\n <div\n ref={ref}\n data-modal-body\n tabIndex={scrollable && !skeleton ? 0 : undefined}\n className={cn(\n \"min-h-0 flex-1 overflow-y-auto overscroll-contain px-6 pt-4 text-sm text-mari-foreground\",\n \"focus-visible:outline-2 focus-visible:-outline-offset-2 focus-visible:outline-mari-ring\",\n // Durum ikonu varsa gövde başlıkla hizalı (ikon + boşluk kadar içeride).\n indented && \"sm:pl-20\",\n // Footer varken de küçük bir alt pay: satır içi dolgu ya da kenardaki\n // alanın odak halkası 1-2px taşıp gereksiz kaydırma çubuğu açmasın.\n hasFooter ? \"pb-1\" : \"pb-6\",\n className\n )}\n >\n <ContentSkeleton on={skeleton} fallback={<Skeleton active title={false} paragraph={{ rows: 3 }} />}>\n {children}\n </ContentSkeleton>\n </div>\n );\n}\n\nfunction CloseButton({ onClose, position }: Readonly<{ onClose: () => void; position: ModalProps[\"closeButtonPosition\"] }>) {\n return (\n <button\n type=\"button\"\n onClick={onClose}\n aria-label=\"Kapat\"\n data-modal-close\n className={cn(\n \"absolute top-3 z-10 inline-flex size-8 cursor-pointer items-center justify-center rounded-md text-mari-muted transition-colors\",\n \"hover:bg-mari-surface-alt hover:text-mari-foreground focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mari-ring\",\n touchTargetSquareClass.md,\n position === \"left\" ? \"left-3\" : \"right-3\"\n )}\n >\n <XIcon size={18} aria-hidden />\n </button>\n );\n}\n\ninterface FooterButtonsProps {\n position: ModalProps[\"footerButtonPosition\"];\n cancelText?: string;\n confirmText?: string;\n onCancel: () => void;\n onConfirm: () => void;\n color: ModalProps[\"color\"];\n loading: boolean;\n disabled: boolean;\n}\n\n/** `footer` verilmişse o (`null` = alt çubuk yok), yoksa metni verilen düğmeler. */\nfunction resolveFooter({ footer, ...buttons }: FooterButtonsProps & { footer: React.ReactNode }): React.ReactNode {\n if (footer !== undefined) return footer;\n if (!buttons.cancelText && !buttons.confirmText) return null;\n return <FooterButtons {...buttons} />;\n}\n\nfunction FooterButtons({ position, cancelText, confirmText, onCancel, onConfirm, color, loading, disabled }: Readonly<FooterButtonsProps>) {\n return (\n // Mobilde düğmeler tam genişlik ve alt alta (birincil altta, başparmak erişiminde).\n <div className={cn(\"flex flex-col-reverse gap-2 sm:flex-row\", position === \"left\" ? \"sm:justify-start\" : \"sm:justify-end\")}>\n {cancelText && (\n <Button variant=\"outline\" color=\"neutral\" onClick={onCancel} data-modal-cancel className=\"w-full sm:w-auto\">\n {cancelText}\n </Button>\n )}\n {confirmText && (\n <Button color={color === \"neutral\" || !color ? \"primary\" : color} onClick={onConfirm} loading={loading} disabled={disabled} data-modal-confirm className=\"w-full sm:w-auto\">\n {confirmText}\n </Button>\n )}\n </div>\n );\n}\n\n/**\n * Faz 9 temel ARIA'yı düzeltmişti (role=dialog, Escape, odağı geri verme).\n * Faz 13.6 — yapı ant.design Modal'dan, overlay davranışı Drawer ile ortak\n * (`lib/overlay.ts`). Eski sürümde kalanlar:\n * - Odak tuzağı YOKTU (belgede \"focus-trap\" yazmasına rağmen Tab dışarı\n * kaçıyordu); sayfa kaydırması kilitlenmiyordu; portal yoktu.\n * - Uzun içerik ekrandan taşıyordu — artık gövde kendi içinde kayar.\n * - `title` zorunlu string'di; açıklama, özel footer, genişlik yoktu.\n * - Async onay için yükleniyor durumu, yıkıcı onay için `alertdialog` yoktu.\n * - Kapalıyken `inert` ile DOM'da kalıyordu; artık kapanış animasyonundan\n * sonra unmount.\n *\n * Faz 15.6 — `skeleton`: başlık (ikon dahil), gövde ve alt çubuk\n * `ContentSkeleton` ile içeriğin kendi şeklinde iskelete döner; Kapat ve\n * Escape çalışır, `aria-busy`. Veri gelince odak (hâlâ Kapat'taysa) normal\n * ilk odağa taşınır. Kapat düğmesi 44px dokunma hedefi.\n */\nexport function Modal({\n open,\n onClose,\n title,\n description,\n icon,\n color,\n children,\n showCloseButton = true,\n closeButtonPosition = \"right\",\n footer,\n footerButtonPosition = \"right\",\n confirmButtonText,\n cancelButtonText,\n onConfirm,\n onCancel,\n confirmLoading,\n confirmDisabled = false,\n initialFocus,\n size = \"md\",\n width,\n maskClosable = true,\n keyboard = true,\n skeleton = false,\n \"aria-label\": ariaLabel,\n className,\n bodyClassName,\n}: ModalProps) {\n const panelRef = useRef<HTMLDivElement>(null);\n const titleId = useId();\n const descriptionId = useId();\n const { pending, handleConfirm } = useConfirm(onConfirm);\n const present = usePresence(open, EXIT_MS);\n\n const isAlert = (color === \"error\" || color === \"warning\") && Boolean(confirmButtonText);\n const getInitialFocus = (panel: HTMLElement) => getModalInitialFocus(panel, isAlert, initialFocus);\n\n useModalBehavior(open, panelRef, onClose, { closeOnEscape: keyboard, getInitialFocus });\n useRefocusAfterSkeleton(open, skeleton, panelRef, getInitialFocus, CLOSE_SELECTOR);\n\n if (!present || typeof document === \"undefined\") return null;\n\n const iconNode = renderModalIcon(color, icon);\n const footerNode = resolveFooter({\n footer,\n position: footerButtonPosition,\n cancelText: cancelButtonText,\n confirmText: confirmButtonText,\n onCancel: onCancel ?? onClose,\n onConfirm: handleConfirm,\n color,\n loading: confirmLoading ?? pending,\n disabled: confirmDisabled,\n });\n\n return createPortal(\n <div className={cn(\"fixed inset-0 z-mari-modal\", !open && \"pointer-events-none\")}>\n <div\n aria-hidden\n onClick={maskClosable ? onClose : undefined}\n className={cn(\n \"absolute inset-0 bg-mari-scrim transition-opacity duration-200 motion-reduce:transition-none starting:opacity-0\",\n open ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n {/* Kaydırılabilir yerleşim katmanı: çok uzun modal ekranı aşarsa gövde kayar. */}\n <div className=\"pointer-events-none absolute inset-0 flex items-end justify-center p-3 sm:items-center sm:p-6\">\n <div\n ref={panelRef}\n role={isAlert ? \"alertdialog\" : \"dialog\"}\n aria-modal=\"true\"\n aria-labelledby={title ? titleId : undefined}\n aria-label={title ? undefined : ariaLabel}\n aria-describedby={description ? descriptionId : undefined}\n aria-busy={skeleton || undefined}\n tabIndex={-1}\n style={width !== undefined ? { maxWidth: width } : undefined}\n // Tailwind v4'te translate-*/scale-* ayrı `translate`/`scale` CSS\n // özelliklerini yazar, `transform`u değil — geçiş listesinde onlar\n // olmalı. Eskiden `transition-[opacity,transform]` vardı: kapanışta\n // panel ilk karede aniden kayıp küçülüyor, sadece opaklık yumuşak\n // soluyordu (\"kapatırken tekliyor\" kullanıcı bulgusu). Aynı hata\n // Card hover, MegaMenu ve MobileNavLevel'da da düzeltildi.\n className={cn(\n \"pointer-events-auto relative flex max-h-[calc(100dvh-1.5rem)] w-full flex-col rounded-xl border border-mari-border bg-mari-surface text-mari-foreground shadow-mari-xl outline-none sm:max-h-[calc(100dvh-3rem)]\",\n \"transition-[opacity,translate,scale] duration-200 ease-out motion-reduce:transition-none starting:translate-y-2 starting:scale-[0.98] starting:opacity-0\",\n open ? \"translate-y-0 scale-100 opacity-100\" : \"translate-y-2 scale-[0.98] opacity-0\",\n width === undefined && sizeMap[size],\n className\n )}\n >\n {showCloseButton && <CloseButton onClose={onClose} position={closeButtonPosition} />}\n\n {(title || description || iconNode) && (\n <ModalHeader\n icon={iconNode}\n title={title}\n titleId={titleId}\n description={description}\n descriptionId={descriptionId}\n closeInset={showCloseButton ? closeButtonPosition : undefined}\n skeleton={skeleton}\n />\n )}\n\n {children !== undefined && children !== null && (\n <ModalBody indented={Boolean(iconNode)} hasFooter={Boolean(footerNode)} skeleton={skeleton} className={bodyClassName}>\n {children}\n </ModalBody>\n )}\n\n {footerNode && (\n <div className=\"shrink-0 px-6 pb-6 pt-5\">\n <ContentSkeleton on={skeleton} fallback={FOOTER_PLACEHOLDER}>\n {footerNode}\n </ContentSkeleton>\n </div>\n )}\n </div>\n </div>\n </div>,\n document.body\n );\n}\n","import React from \"react\";\nimport { AlertTriangleIcon, CheckCircle2Icon, InfoIcon, XCircleIcon, SparklesIcon } from \"lucide-react\";\nimport type { ColorRole, Size } from \"@mari-ui/core\";\nimport { bgSubtleClass, textClass } from \"../lib/colorClasses\";\n\nconst ICON_BY_COLOR: Record<ColorRole, React.ComponentType<{ className?: string; size?: number }>> = {\n success: CheckCircle2Icon,\n warning: AlertTriangleIcon,\n error: XCircleIcon,\n info: InfoIcon,\n primary: InfoIcon,\n accent: SparklesIcon,\n neutral: InfoIcon,\n};\n\n/**\n * Durum ikonu tonlu bir dairenin içinde (ant.design confirm düzeninin\n * yapısı). `color` yoksa ve özel `icon` da yoksa hiç ikon gösterilmez.\n */\nexport function renderModalIcon(color: ColorRole | undefined, icon: React.ReactNode): React.ReactNode {\n if (!color && !icon) return null;\n const role = color ?? \"neutral\";\n const Icon = ICON_BY_COLOR[role];\n return (\n <span aria-hidden className={`flex size-10 shrink-0 items-center justify-center rounded-full ${bgSubtleClass[role]} ${textClass[role]}`}>\n {icon ?? <Icon size={20} />}\n </span>\n );\n}\n\n/** ant.design: varsayılan 520px. */\nexport const sizeMap: Record<Size, string> = {\n sm: \"sm:max-w-[25rem]\",\n md: \"sm:max-w-[32.5rem]\",\n lg: \"sm:max-w-[45rem]\",\n};\n"],"mappings":"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","names":["jsx"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./types/pagination/index";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./types/popconfirm/index";
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
Popover
|
|
5
|
+
} from "./chunk-QDFDMWXD.js";
|
|
6
|
+
import "./chunk-JNZODUXP.js";
|
|
7
|
+
import "./chunk-V7KDUUV6.js";
|
|
8
|
+
import "./chunk-NPM7IDYV.js";
|
|
9
|
+
import "./chunk-XUKVQO6M.js";
|
|
10
|
+
import "./chunk-S66GKX2W.js";
|
|
11
|
+
import "./chunk-3ABWBQCS.js";
|
|
12
|
+
import "./chunk-NS7FKOFI.js";
|
|
13
|
+
import "./chunk-TCYDVNSU.js";
|
|
14
|
+
import {
|
|
15
|
+
Button
|
|
16
|
+
} from "./chunk-2IEXY3OZ.js";
|
|
17
|
+
import "./chunk-FFXRFQSU.js";
|
|
18
|
+
import {
|
|
19
|
+
textClass
|
|
20
|
+
} from "./chunk-IP2J3BWY.js";
|
|
21
|
+
import "./chunk-54HHEXXD.js";
|
|
22
|
+
|
|
23
|
+
// src/popconfirm/Popconfirm.tsx
|
|
24
|
+
import { useId, useState } from "react";
|
|
25
|
+
import { CircleAlertIcon, CircleXIcon, InfoIcon } from "lucide-react";
|
|
26
|
+
import { cn, useControllableState } from "@mari-ui/core";
|
|
27
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
28
|
+
var isDestructive = (color) => color === "error" || color === "warning";
|
|
29
|
+
function StatusIcon({ icon, color }) {
|
|
30
|
+
if (icon === false) return null;
|
|
31
|
+
if (icon !== true && icon !== void 0) return /* @__PURE__ */ jsx("span", { className: cn("flex shrink-0 pt-0.5", textClass[color]), children: icon });
|
|
32
|
+
let Icon = InfoIcon;
|
|
33
|
+
if (color === "error") Icon = CircleXIcon;
|
|
34
|
+
else if (color === "warning") Icon = CircleAlertIcon;
|
|
35
|
+
return /* @__PURE__ */ jsx(Icon, { "aria-hidden": true, size: 16, className: cn("mt-0.5 shrink-0", textClass[color]) });
|
|
36
|
+
}
|
|
37
|
+
function Popconfirm({
|
|
38
|
+
title,
|
|
39
|
+
description,
|
|
40
|
+
children,
|
|
41
|
+
onConfirm,
|
|
42
|
+
onCancel,
|
|
43
|
+
okText = "Evet",
|
|
44
|
+
cancelText = "Vazge\xE7",
|
|
45
|
+
color = "warning",
|
|
46
|
+
icon = true,
|
|
47
|
+
placement = "top",
|
|
48
|
+
disabled = false,
|
|
49
|
+
open: openProp,
|
|
50
|
+
onOpenChange,
|
|
51
|
+
className,
|
|
52
|
+
skeleton = false
|
|
53
|
+
}) {
|
|
54
|
+
const [open, setOpen] = useControllableState({ value: openProp, defaultValue: false, onChange: onOpenChange });
|
|
55
|
+
const [pending, setPending] = useState(false);
|
|
56
|
+
const titleId = useId();
|
|
57
|
+
const descriptionId = useId();
|
|
58
|
+
const destructive = isDestructive(color);
|
|
59
|
+
const confirm = async () => {
|
|
60
|
+
const result = onConfirm?.();
|
|
61
|
+
if (!(result instanceof Promise)) {
|
|
62
|
+
setOpen(false);
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
setPending(true);
|
|
66
|
+
try {
|
|
67
|
+
await result;
|
|
68
|
+
setOpen(false);
|
|
69
|
+
} catch {
|
|
70
|
+
} finally {
|
|
71
|
+
setPending(false);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
const cancel = () => {
|
|
75
|
+
onCancel?.();
|
|
76
|
+
setOpen(false);
|
|
77
|
+
};
|
|
78
|
+
if (disabled) return children;
|
|
79
|
+
return /* @__PURE__ */ jsx(
|
|
80
|
+
Popover,
|
|
81
|
+
{
|
|
82
|
+
open,
|
|
83
|
+
onOpenChange: (next) => !pending && setOpen(next),
|
|
84
|
+
placement,
|
|
85
|
+
role: "alertdialog",
|
|
86
|
+
"aria-labelledby": titleId,
|
|
87
|
+
"aria-describedby": description ? descriptionId : void 0,
|
|
88
|
+
skeleton,
|
|
89
|
+
className: cn("max-w-[min(20rem,calc(100vw-1rem))]", className),
|
|
90
|
+
content: /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
|
|
91
|
+
/* @__PURE__ */ jsxs("div", { className: "flex gap-2", children: [
|
|
92
|
+
/* @__PURE__ */ jsx(StatusIcon, { icon, color }),
|
|
93
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
94
|
+
/* @__PURE__ */ jsx("p", { id: titleId, className: "font-semibold text-mari-foreground", children: title }),
|
|
95
|
+
description && /* @__PURE__ */ jsx("p", { id: descriptionId, className: "mt-0.5 text-mari-muted", children: description })
|
|
96
|
+
] })
|
|
97
|
+
] }),
|
|
98
|
+
/* @__PURE__ */ jsxs("div", { className: "flex justify-end gap-2", children: [
|
|
99
|
+
/* @__PURE__ */ jsx(Button, { size: "sm", variant: "outline", color: "neutral", onClick: cancel, "data-autofocus": destructive || void 0, children: cancelText }),
|
|
100
|
+
/* @__PURE__ */ jsx(Button, { size: "sm", color: destructive ? color : "primary", onClick: confirm, loading: pending, "data-autofocus": destructive ? void 0 : true, children: okText })
|
|
101
|
+
] })
|
|
102
|
+
] }),
|
|
103
|
+
children
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
export {
|
|
108
|
+
Popconfirm
|
|
109
|
+
};
|
|
110
|
+
//# sourceMappingURL=popconfirm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/popconfirm/Popconfirm.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useId, useState } from \"react\";\nimport { CircleAlertIcon, CircleXIcon, InfoIcon } from \"lucide-react\";\nimport { cn, useControllableState, type ColorRole } from \"@mari-ui/core\";\nimport { Button } from \"../button\";\nimport { textClass } from \"../lib/colorClasses\";\nimport { Popover } from \"../popover\";\nimport type { PopconfirmProps } from \"./types\";\n\nexport type { PopconfirmProps };\n\nconst isDestructive = (color: ColorRole) => color === \"error\" || color === \"warning\";\n\nfunction StatusIcon({ icon, color }: Readonly<{ icon: PopconfirmProps[\"icon\"]; color: ColorRole }>) {\n if (icon === false) return null;\n if (icon !== true && icon !== undefined) return <span className={cn(\"flex shrink-0 pt-0.5\", textClass[color])}>{icon}</span>;\n let Icon = InfoIcon;\n if (color === \"error\") Icon = CircleXIcon;\n else if (color === \"warning\") Icon = CircleAlertIcon;\n return <Icon aria-hidden size={16} className={cn(\"mt-0.5 shrink-0\", textClass[color])} />;\n}\n\n/**\n * Faz 16.2 — yapı ant.design Popconfirm'den: bir eylemin hemen yanında,\n * sayfayı karartmadan \"emin misiniz?\" sorusu. Popover'ın üstüne kurulu\n * (konum, ok, odak, kapatma yolları ortak).\n *\n * Erişilebilirlik: panel `role=\"alertdialog\"`, soru adı, açıklama\n * `aria-describedby`. Yıkıcı onayda (`error`/`warning`) ilk odak \"Vazgeç\"te —\n * Enter'a basan kullanıcı yanlışlıkla silmesin; diğerlerinde onay düğmesinde.\n * `onConfirm` Promise dönerse düğme yükleniyor, panel açık; bitince kapanır\n * ve odak tetikleyiciye döner.\n */\nexport function Popconfirm({\n title,\n description,\n children,\n onConfirm,\n onCancel,\n okText = \"Evet\",\n cancelText = \"Vazgeç\",\n color = \"warning\",\n icon = true,\n placement = \"top\",\n disabled = false,\n open: openProp,\n onOpenChange,\n className,\n skeleton = false,\n}: Readonly<PopconfirmProps>) {\n const [open, setOpen] = useControllableState<boolean>({ value: openProp, defaultValue: false, onChange: onOpenChange });\n const [pending, setPending] = useState(false);\n const titleId = useId();\n const descriptionId = useId();\n const destructive = isDestructive(color);\n\n const confirm = async () => {\n const result = onConfirm?.();\n if (!(result instanceof Promise)) {\n setOpen(false);\n return;\n }\n setPending(true);\n try {\n await result;\n setOpen(false);\n } catch {\n // Reddedildi: panel açık kalır, kullanıcı tekrar deneyebilir ya da vazgeçebilir.\n } finally {\n setPending(false);\n }\n };\n\n const cancel = () => {\n onCancel?.();\n setOpen(false);\n };\n\n if (disabled) return children;\n\n return (\n <Popover\n open={open}\n onOpenChange={(next) => !pending && setOpen(next)}\n placement={placement}\n role=\"alertdialog\"\n aria-labelledby={titleId}\n aria-describedby={description ? descriptionId : undefined}\n skeleton={skeleton}\n className={cn(\"max-w-[min(20rem,calc(100vw-1rem))]\", className)}\n content={\n <div className=\"flex flex-col gap-3\">\n <div className=\"flex gap-2\">\n <StatusIcon icon={icon} color={color} />\n <div className=\"min-w-0\">\n <p id={titleId} className=\"font-semibold text-mari-foreground\">\n {title}\n </p>\n {description && (\n <p id={descriptionId} className=\"mt-0.5 text-mari-muted\">\n {description}\n </p>\n )}\n </div>\n </div>\n <div className=\"flex justify-end gap-2\">\n <Button size=\"sm\" variant=\"outline\" color=\"neutral\" onClick={cancel} data-autofocus={destructive || undefined}>\n {cancelText}\n </Button>\n <Button size=\"sm\" color={destructive ? color : \"primary\"} onClick={confirm} loading={pending} data-autofocus={destructive ? undefined : true}>\n {okText}\n </Button>\n </div>\n </div>\n }\n >\n {children}\n </Popover>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAEA,SAAgB,OAAO,gBAAgB;AACvC,SAAS,iBAAiB,aAAa,gBAAgB;AACvD,SAAS,IAAI,4BAA4C;AAYP,cA+EtC,YA/EsC;AAJlD,IAAM,gBAAgB,CAAC,UAAqB,UAAU,WAAW,UAAU;AAE3E,SAAS,WAAW,EAAE,MAAM,MAAM,GAAkE;AAClG,MAAI,SAAS,MAAO,QAAO;AAC3B,MAAI,SAAS,QAAQ,SAAS,OAAW,QAAO,oBAAC,UAAK,WAAW,GAAG,wBAAwB,UAAU,KAAK,CAAC,GAAI,gBAAK;AACrH,MAAI,OAAO;AACX,MAAI,UAAU,QAAS,QAAO;AAAA,WACrB,UAAU,UAAW,QAAO;AACrC,SAAO,oBAAC,QAAK,eAAW,MAAC,MAAM,IAAI,WAAW,GAAG,mBAAmB,UAAU,KAAK,CAAC,GAAG;AACzF;AAaO,SAAS,WAAW;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,OAAO;AAAA,EACP,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,MAAM;AAAA,EACN;AAAA,EACA;AAAA,EACA,WAAW;AACb,GAA8B;AAC5B,QAAM,CAAC,MAAM,OAAO,IAAI,qBAA8B,EAAE,OAAO,UAAU,cAAc,OAAO,UAAU,aAAa,CAAC;AACtH,QAAM,CAAC,SAAS,UAAU,IAAI,SAAS,KAAK;AAC5C,QAAM,UAAU,MAAM;AACtB,QAAM,gBAAgB,MAAM;AAC5B,QAAM,cAAc,cAAc,KAAK;AAEvC,QAAM,UAAU,YAAY;AAC1B,UAAM,SAAS,YAAY;AAC3B,QAAI,EAAE,kBAAkB,UAAU;AAChC,cAAQ,KAAK;AACb;AAAA,IACF;AACA,eAAW,IAAI;AACf,QAAI;AACF,YAAM;AACN,cAAQ,KAAK;AAAA,IACf,QAAQ;AAAA,IAER,UAAE;AACA,iBAAW,KAAK;AAAA,IAClB;AAAA,EACF;AAEA,QAAM,SAAS,MAAM;AACnB,eAAW;AACX,YAAQ,KAAK;AAAA,EACf;AAEA,MAAI,SAAU,QAAO;AAErB,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,cAAc,CAAC,SAAS,CAAC,WAAW,QAAQ,IAAI;AAAA,MAChD;AAAA,MACA,MAAK;AAAA,MACL,mBAAiB;AAAA,MACjB,oBAAkB,cAAc,gBAAgB;AAAA,MAChD;AAAA,MACA,WAAW,GAAG,uCAAuC,SAAS;AAAA,MAC9D,SACE,qBAAC,SAAI,WAAU,uBACb;AAAA,6BAAC,SAAI,WAAU,cACb;AAAA,8BAAC,cAAW,MAAY,OAAc;AAAA,UACtC,qBAAC,SAAI,WAAU,WACb;AAAA,gCAAC,OAAE,IAAI,SAAS,WAAU,sCACvB,iBACH;AAAA,YACC,eACC,oBAAC,OAAE,IAAI,eAAe,WAAU,0BAC7B,uBACH;AAAA,aAEJ;AAAA,WACF;AAAA,QACA,qBAAC,SAAI,WAAU,0BACb;AAAA,8BAAC,UAAO,MAAK,MAAK,SAAQ,WAAU,OAAM,WAAU,SAAS,QAAQ,kBAAgB,eAAe,QACjG,sBACH;AAAA,UACA,oBAAC,UAAO,MAAK,MAAK,OAAO,cAAc,QAAQ,WAAW,SAAS,SAAS,SAAS,SAAS,kBAAgB,cAAc,SAAY,MACrI,kBACH;AAAA,WACF;AAAA,SACF;AAAA,MAGD;AAAA;AAAA,EACH;AAEJ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./types/popover/index";
|
package/dist/popover.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import {
|
|
2
|
+
Popover
|
|
3
|
+
} from "./chunk-QDFDMWXD.js";
|
|
4
|
+
import "./chunk-JNZODUXP.js";
|
|
5
|
+
import "./chunk-V7KDUUV6.js";
|
|
6
|
+
import "./chunk-NPM7IDYV.js";
|
|
7
|
+
import "./chunk-XUKVQO6M.js";
|
|
8
|
+
import "./chunk-S66GKX2W.js";
|
|
9
|
+
import "./chunk-3ABWBQCS.js";
|
|
10
|
+
import "./chunk-NS7FKOFI.js";
|
|
11
|
+
import "./chunk-TCYDVNSU.js";
|
|
12
|
+
import "./chunk-54HHEXXD.js";
|
|
13
|
+
export {
|
|
14
|
+
Popover
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=popover.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./types/progress/index";
|
package/dist/progress.js
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import {
|
|
2
|
+
bgSolidClass,
|
|
3
|
+
strokeSolidClass,
|
|
4
|
+
textClass
|
|
5
|
+
} from "./chunk-IP2J3BWY.js";
|
|
6
|
+
import {
|
|
7
|
+
skeletonFill
|
|
8
|
+
} from "./chunk-54HHEXXD.js";
|
|
9
|
+
|
|
10
|
+
// src/progress/Progress.tsx
|
|
11
|
+
import { CheckIcon, CircleCheckIcon, CircleXIcon, XIcon } from "lucide-react";
|
|
12
|
+
import { cn } from "@mari-ui/core";
|
|
13
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
14
|
+
var clamp = (n) => Math.min(100, Math.max(0, n ?? 0));
|
|
15
|
+
var LINE_HEIGHT = { sm: "h-1", md: "h-2", lg: "h-3" };
|
|
16
|
+
var LINE_TEXT = { sm: "text-xs", md: "text-sm", lg: "text-sm" };
|
|
17
|
+
var CIRCLE_SIZE = { sm: "3rem", md: "5rem", lg: "7.5rem" };
|
|
18
|
+
var CIRCLE_STROKE = { sm: 10, md: 8, lg: 6 };
|
|
19
|
+
var CIRCLE_TEXT = { sm: "text-xs", md: "text-base", lg: "text-2xl" };
|
|
20
|
+
var CIRCLE_ICON = { sm: 16, md: 28, lg: 40 };
|
|
21
|
+
function resolveStatus(status, percent) {
|
|
22
|
+
if (status) return status;
|
|
23
|
+
return percent >= 100 ? "success" : "normal";
|
|
24
|
+
}
|
|
25
|
+
function resolveColor(status, color) {
|
|
26
|
+
if (status === "success") return "success";
|
|
27
|
+
if (status === "exception") return "error";
|
|
28
|
+
return color ?? "primary";
|
|
29
|
+
}
|
|
30
|
+
var defaultFormat = (p) => `%${Math.round(p)}`;
|
|
31
|
+
function valueText(format, percent, status) {
|
|
32
|
+
const custom = format?.(percent);
|
|
33
|
+
const base = typeof custom === "string" || typeof custom === "number" ? String(custom) : defaultFormat(percent);
|
|
34
|
+
if (status === "exception") return `${base}, hata`;
|
|
35
|
+
if (status === "success") return `${base}, tamamland\u0131`;
|
|
36
|
+
return base;
|
|
37
|
+
}
|
|
38
|
+
function Info({ status, percent, format, circle, size, color }) {
|
|
39
|
+
if (!format && (status === "success" || status === "exception")) {
|
|
40
|
+
const icons = circle ? { success: CheckIcon, exception: XIcon } : { success: CircleCheckIcon, exception: CircleXIcon };
|
|
41
|
+
const Icon = icons[status];
|
|
42
|
+
return /* @__PURE__ */ jsx(Icon, { "aria-hidden": true, size: circle ? CIRCLE_ICON[size] : 16, className: textClass[color] });
|
|
43
|
+
}
|
|
44
|
+
return /* @__PURE__ */ jsx(Fragment, { children: (format ?? defaultFormat)(percent) });
|
|
45
|
+
}
|
|
46
|
+
function Progress({
|
|
47
|
+
percent: rawPercent,
|
|
48
|
+
type = "line",
|
|
49
|
+
status: statusProp,
|
|
50
|
+
color: colorProp,
|
|
51
|
+
success,
|
|
52
|
+
steps,
|
|
53
|
+
showInfo = true,
|
|
54
|
+
format,
|
|
55
|
+
size = "md",
|
|
56
|
+
"aria-label": ariaLabel,
|
|
57
|
+
"aria-labelledby": ariaLabelledBy,
|
|
58
|
+
className,
|
|
59
|
+
skeleton = false
|
|
60
|
+
}) {
|
|
61
|
+
const percent = clamp(rawPercent);
|
|
62
|
+
const status = resolveStatus(statusProp, percent);
|
|
63
|
+
const color = resolveColor(status, colorProp);
|
|
64
|
+
const successPercent = success ? Math.min(clamp(success.percent), percent) : 0;
|
|
65
|
+
const a11y = skeleton ? { "aria-hidden": true } : {
|
|
66
|
+
role: "progressbar",
|
|
67
|
+
"aria-label": ariaLabel,
|
|
68
|
+
"aria-labelledby": ariaLabelledBy,
|
|
69
|
+
"aria-valuemin": 0,
|
|
70
|
+
"aria-valuemax": 100,
|
|
71
|
+
"aria-valuenow": Math.round(percent),
|
|
72
|
+
"aria-valuetext": valueText(format, percent, status)
|
|
73
|
+
};
|
|
74
|
+
if (type === "circle") {
|
|
75
|
+
return /* @__PURE__ */ jsxs("div", { ...a11y, className: cn("relative inline-flex shrink-0 items-center justify-center", className), style: { width: CIRCLE_SIZE[size], height: CIRCLE_SIZE[size] }, children: [
|
|
76
|
+
/* @__PURE__ */ jsx(CircleTrack, { percent, successPercent, stroke: CIRCLE_STROKE[size], color, skeleton }),
|
|
77
|
+
showInfo && !skeleton && /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: cn("absolute inset-0 flex items-center justify-center font-semibold tabular-nums text-mari-foreground", CIRCLE_TEXT[size]), children: /* @__PURE__ */ jsx(Info, { status, percent, format, circle: true, size, color }) })
|
|
78
|
+
] });
|
|
79
|
+
}
|
|
80
|
+
return /* @__PURE__ */ jsxs("div", { ...a11y, className: cn("flex w-full items-center gap-3", className), children: [
|
|
81
|
+
steps ? /* @__PURE__ */ jsx(StepsTrack, { steps, percent, color, size, skeleton }) : /* @__PURE__ */ jsx("div", { className: cn("relative min-w-0 flex-1 overflow-hidden rounded-full", LINE_HEIGHT[size], skeleton ? skeletonFill(true) : "bg-mari-surface-alt"), children: !skeleton && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
82
|
+
/* @__PURE__ */ jsx(
|
|
83
|
+
"span",
|
|
84
|
+
{
|
|
85
|
+
className: cn(
|
|
86
|
+
"absolute inset-y-0 left-0 rounded-full transition-[width] duration-300 ease-out motion-reduce:transition-none",
|
|
87
|
+
bgSolidClass[color],
|
|
88
|
+
status === "active" && "overflow-hidden"
|
|
89
|
+
),
|
|
90
|
+
style: { width: `${percent}%` },
|
|
91
|
+
children: status === "active" && /* @__PURE__ */ jsx("span", { className: "absolute inset-0 animate-[mari-progress-active_1.6s_ease-out_infinite] bg-linear-to-r from-transparent via-white/40 to-transparent motion-reduce:hidden" })
|
|
92
|
+
}
|
|
93
|
+
),
|
|
94
|
+
successPercent > 0 && /* @__PURE__ */ jsx("span", { className: cn("absolute inset-y-0 left-0 rounded-full transition-[width] duration-300 motion-reduce:transition-none", bgSolidClass.success), style: { width: `${successPercent}%` } })
|
|
95
|
+
] }) }),
|
|
96
|
+
showInfo && /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: cn("flex min-w-9 shrink-0 items-center justify-end tabular-nums text-mari-muted", LINE_TEXT[size], skeleton && "invisible"), children: /* @__PURE__ */ jsx(Info, { status, percent, format, circle: false, size, color }) })
|
|
97
|
+
] });
|
|
98
|
+
}
|
|
99
|
+
function StepsTrack({ steps, percent, color, size, skeleton }) {
|
|
100
|
+
const filled = Math.round(percent / 100 * steps);
|
|
101
|
+
const segmentFill = (i) => {
|
|
102
|
+
if (skeleton) return skeletonFill(true);
|
|
103
|
+
return i < filled ? bgSolidClass[color] : "bg-mari-surface-alt";
|
|
104
|
+
};
|
|
105
|
+
return /* @__PURE__ */ jsx("div", { className: "flex min-w-0 flex-1 gap-1", children: Array.from({ length: steps }, (_, i) => /* @__PURE__ */ jsx("span", { className: cn("flex-1 rounded-full transition-colors duration-200 motion-reduce:transition-none", LINE_HEIGHT[size], segmentFill(i)) }, i)) });
|
|
106
|
+
}
|
|
107
|
+
function CircleTrack({ percent, successPercent, stroke, color, skeleton }) {
|
|
108
|
+
const box = 100;
|
|
109
|
+
const r = (box - stroke) / 2;
|
|
110
|
+
const c = 2 * Math.PI * r;
|
|
111
|
+
const arc = (p) => `${p / 100 * c} ${c}`;
|
|
112
|
+
return /* @__PURE__ */ jsxs("svg", { "aria-hidden": true, viewBox: `0 0 ${box} ${box}`, className: "size-full -rotate-90", children: [
|
|
113
|
+
/* @__PURE__ */ jsx("circle", { cx: box / 2, cy: box / 2, r, fill: "none", strokeWidth: stroke, className: skeleton ? "stroke-mari-border/70" : "stroke-mari-surface-alt" }),
|
|
114
|
+
!skeleton && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
115
|
+
/* @__PURE__ */ jsx(
|
|
116
|
+
"circle",
|
|
117
|
+
{
|
|
118
|
+
cx: box / 2,
|
|
119
|
+
cy: box / 2,
|
|
120
|
+
r,
|
|
121
|
+
fill: "none",
|
|
122
|
+
strokeWidth: stroke,
|
|
123
|
+
strokeLinecap: "round",
|
|
124
|
+
strokeDasharray: arc(percent),
|
|
125
|
+
className: cn(strokeSolidClass[color], "transition-[stroke-dasharray] duration-300 motion-reduce:transition-none", percent === 0 && "opacity-0")
|
|
126
|
+
}
|
|
127
|
+
),
|
|
128
|
+
successPercent > 0 && /* @__PURE__ */ jsx("circle", { cx: box / 2, cy: box / 2, r, fill: "none", strokeWidth: stroke, strokeLinecap: "round", strokeDasharray: arc(successPercent), className: strokeSolidClass.success })
|
|
129
|
+
] })
|
|
130
|
+
] });
|
|
131
|
+
}
|
|
132
|
+
export {
|
|
133
|
+
Progress
|
|
134
|
+
};
|
|
135
|
+
//# sourceMappingURL=progress.js.map
|