@mari-ui/components 0.0.0-stage → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/upload.js
ADDED
|
@@ -0,0 +1,370 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import {
|
|
4
|
+
useToast
|
|
5
|
+
} from "./chunk-ELHESRRH.js";
|
|
6
|
+
import "./chunk-V7KDUUV6.js";
|
|
7
|
+
import "./chunk-NPM7IDYV.js";
|
|
8
|
+
import "./chunk-XUKVQO6M.js";
|
|
9
|
+
import {
|
|
10
|
+
Button
|
|
11
|
+
} from "./chunk-2IEXY3OZ.js";
|
|
12
|
+
import "./chunk-FFXRFQSU.js";
|
|
13
|
+
import "./chunk-IP2J3BWY.js";
|
|
14
|
+
import {
|
|
15
|
+
skeletonBoxProps
|
|
16
|
+
} from "./chunk-54HHEXXD.js";
|
|
17
|
+
|
|
18
|
+
// src/upload/Upload.tsx
|
|
19
|
+
import { useCallback, useEffect as useEffect3, useRef as useRef2 } from "react";
|
|
20
|
+
import { cn as cn5 } from "@mari-ui/core";
|
|
21
|
+
|
|
22
|
+
// src/upload/_components/ReviewList.tsx
|
|
23
|
+
import { useEffect, useState } from "react";
|
|
24
|
+
import { EyeIcon, XIcon } from "lucide-react";
|
|
25
|
+
import { cn } from "@mari-ui/core";
|
|
26
|
+
|
|
27
|
+
// src/upload/utils.ts
|
|
28
|
+
function formatBytes(bytes, decimals = 2) {
|
|
29
|
+
if (bytes === 0) return "0 Bytes";
|
|
30
|
+
const k = 1024;
|
|
31
|
+
const dm = decimals < 0 ? 0 : decimals;
|
|
32
|
+
const sizes = ["Bytes", "KB", "MB", "GB", "TB"];
|
|
33
|
+
const i = Math.floor(Math.log(bytes) / Math.log(k));
|
|
34
|
+
const size = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));
|
|
35
|
+
return `${size} ${sizes[i] ?? "Bytes"}`;
|
|
36
|
+
}
|
|
37
|
+
function getFileExtension(file) {
|
|
38
|
+
return file.type.split("/")[1] ?? "";
|
|
39
|
+
}
|
|
40
|
+
function isImageFile(file) {
|
|
41
|
+
return file.type.startsWith("image/");
|
|
42
|
+
}
|
|
43
|
+
function getFileKey(file) {
|
|
44
|
+
return `${file.lastModified}-${file.name}`;
|
|
45
|
+
}
|
|
46
|
+
function nameExtension(file) {
|
|
47
|
+
const dot = file.name.lastIndexOf(".");
|
|
48
|
+
return dot > 0 ? file.name.slice(dot + 1).toLowerCase() : "";
|
|
49
|
+
}
|
|
50
|
+
var EXTENSION_ALIASES = { jpg: "jpeg", jpeg: "jpg", tif: "tiff", tiff: "tif" };
|
|
51
|
+
function matchesAcceptToken(file, token) {
|
|
52
|
+
const type = file.type.toLowerCase();
|
|
53
|
+
if (token.endsWith("/*")) return type.startsWith(token.slice(0, -1));
|
|
54
|
+
if (token.includes("/")) return type === token;
|
|
55
|
+
const ext = token.replace(/^\./, "");
|
|
56
|
+
const candidates = /* @__PURE__ */ new Set([nameExtension(file), getFileExtension(file).toLowerCase()]);
|
|
57
|
+
return candidates.has(ext) || candidates.has(EXTENSION_ALIASES[ext] ?? "");
|
|
58
|
+
}
|
|
59
|
+
function isFileValid({
|
|
60
|
+
file,
|
|
61
|
+
allowedType,
|
|
62
|
+
maxSize
|
|
63
|
+
}) {
|
|
64
|
+
const tokens = (allowedType ?? "").split(",").map((t) => t.trim().toLowerCase()).filter(Boolean);
|
|
65
|
+
if (tokens.length > 0 && !tokens.some((t) => matchesAcceptToken(file, t))) return { valid: false, reason: "invalid-type" };
|
|
66
|
+
if (maxSize && file.size > maxSize) return { valid: false, reason: "size-exceeded" };
|
|
67
|
+
return { valid: true };
|
|
68
|
+
}
|
|
69
|
+
function toAcceptAttribute(fileType) {
|
|
70
|
+
if (!fileType) return void 0;
|
|
71
|
+
return fileType.split(",").map((t) => t.trim()).filter(Boolean).map((t) => t.includes("/") || t.startsWith(".") ? t : `.${t}`).join(",");
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// src/upload/_components/ReviewList.tsx
|
|
75
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
76
|
+
function ReviewList({ item, reviewType, handleDelete }) {
|
|
77
|
+
const { file, status, progress } = item;
|
|
78
|
+
const extension = getFileExtension(file).toLocaleUpperCase();
|
|
79
|
+
const isImage = isImageFile(file);
|
|
80
|
+
const [objectUrl, setObjectUrl] = useState(null);
|
|
81
|
+
const isUploading = status === "uploading";
|
|
82
|
+
useEffect(() => {
|
|
83
|
+
if (!isImage) return;
|
|
84
|
+
const url = URL.createObjectURL(file);
|
|
85
|
+
setObjectUrl(url);
|
|
86
|
+
return () => URL.revokeObjectURL(url);
|
|
87
|
+
}, [file, isImage]);
|
|
88
|
+
const shapeClass = reviewType === "circle" ? "rounded-full" : "rounded-lg";
|
|
89
|
+
return /* @__PURE__ */ jsx(
|
|
90
|
+
"div",
|
|
91
|
+
{
|
|
92
|
+
className: cn(
|
|
93
|
+
"group relative flex h-28 w-28 shrink-0 flex-col items-center justify-center gap-1.5 border border-mari-border bg-mari-surface-alt p-2",
|
|
94
|
+
shapeClass
|
|
95
|
+
),
|
|
96
|
+
children: isUploading ? /* @__PURE__ */ jsxs("div", { className: "flex w-full flex-col items-center gap-2 px-2", children: [
|
|
97
|
+
/* @__PURE__ */ jsx("span", { className: "text-xs text-mari-muted", children: "Y\xFCkleniyor..." }),
|
|
98
|
+
/* @__PURE__ */ jsx("div", { className: "h-0.5 w-full overflow-hidden rounded-full bg-mari-border", role: "progressbar", "aria-valuenow": progress, "aria-valuemin": 0, "aria-valuemax": 100, children: /* @__PURE__ */ jsx("div", { className: "h-full rounded-full bg-mari-primary-solid transition-all duration-200", style: { width: `${progress}%` } }) })
|
|
99
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
100
|
+
isImage && objectUrl ? /* @__PURE__ */ jsx("img", { src: objectUrl, alt: file.name, className: cn("h-full w-full object-cover", shapeClass) }) : /* @__PURE__ */ jsx("span", { className: "text-2xl font-bold text-mari-primary", children: extension }),
|
|
101
|
+
/* @__PURE__ */ jsxs(
|
|
102
|
+
"div",
|
|
103
|
+
{
|
|
104
|
+
className: cn(
|
|
105
|
+
"absolute inset-0 z-10 flex items-center justify-center gap-3 bg-black/40 opacity-0 transition-opacity duration-200 group-hover:opacity-100 group-focus-within:opacity-100",
|
|
106
|
+
// Dokunmatikte hover yok: karartma yerine köşede hep görünür küçük butonlar.
|
|
107
|
+
"pointer-coarse:items-start pointer-coarse:justify-end pointer-coarse:gap-1 pointer-coarse:bg-transparent pointer-coarse:p-1 pointer-coarse:opacity-100",
|
|
108
|
+
shapeClass
|
|
109
|
+
),
|
|
110
|
+
children: [
|
|
111
|
+
isImage && objectUrl && /* @__PURE__ */ jsx(
|
|
112
|
+
Button,
|
|
113
|
+
{
|
|
114
|
+
variant: "ghost",
|
|
115
|
+
shape: "circle",
|
|
116
|
+
size: "sm",
|
|
117
|
+
className: "text-white hover:text-white pointer-coarse:bg-black/55",
|
|
118
|
+
"aria-label": `${file.name} dosyas\u0131n\u0131 \xF6nizle`,
|
|
119
|
+
onClick: () => window.open(objectUrl, "_blank", "noopener,noreferrer"),
|
|
120
|
+
children: /* @__PURE__ */ jsx(EyeIcon, { size: 18 })
|
|
121
|
+
}
|
|
122
|
+
),
|
|
123
|
+
/* @__PURE__ */ jsx(
|
|
124
|
+
Button,
|
|
125
|
+
{
|
|
126
|
+
variant: "ghost",
|
|
127
|
+
shape: "circle",
|
|
128
|
+
size: "sm",
|
|
129
|
+
className: "text-white hover:text-white pointer-coarse:bg-black/55",
|
|
130
|
+
"aria-label": `${file.name} dosyas\u0131n\u0131 kald\u0131r`,
|
|
131
|
+
onClick: () => handleDelete(item.id),
|
|
132
|
+
children: /* @__PURE__ */ jsx(XIcon, { size: 18 })
|
|
133
|
+
}
|
|
134
|
+
)
|
|
135
|
+
]
|
|
136
|
+
}
|
|
137
|
+
)
|
|
138
|
+
] })
|
|
139
|
+
}
|
|
140
|
+
);
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// src/upload/_components/List.tsx
|
|
144
|
+
import { PaperclipIcon, XIcon as XIcon2 } from "lucide-react";
|
|
145
|
+
import { cn as cn2 } from "@mari-ui/core";
|
|
146
|
+
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
147
|
+
function UploadList({ item, handleDelete }) {
|
|
148
|
+
const isUploading = item.status === "uploading";
|
|
149
|
+
return /* @__PURE__ */ jsxs2("li", { className: "group flex flex-col gap-1 rounded-sm px-2 py-1 hover:bg-mari-surface-alt", children: [
|
|
150
|
+
/* @__PURE__ */ jsxs2("span", { className: "flex items-center justify-between gap-2 text-sm", children: [
|
|
151
|
+
/* @__PURE__ */ jsxs2("span", { className: "flex min-w-0 items-center gap-1.5 text-mari-foreground", children: [
|
|
152
|
+
/* @__PURE__ */ jsx2(PaperclipIcon, { size: 14, className: cn2("shrink-0", isUploading ? "text-mari-primary" : "text-mari-muted") }),
|
|
153
|
+
/* @__PURE__ */ jsx2("span", { className: "truncate", children: item.file.name })
|
|
154
|
+
] }),
|
|
155
|
+
/* @__PURE__ */ jsx2(
|
|
156
|
+
Button,
|
|
157
|
+
{
|
|
158
|
+
variant: "ghost",
|
|
159
|
+
color: "neutral",
|
|
160
|
+
size: "sm",
|
|
161
|
+
shape: "circle",
|
|
162
|
+
className: "shrink-0 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 pointer-coarse:opacity-100",
|
|
163
|
+
"aria-label": `${item.file.name} dosyas\u0131n\u0131 kald\u0131r`,
|
|
164
|
+
onClick: () => handleDelete(item.id),
|
|
165
|
+
children: /* @__PURE__ */ jsx2(XIcon2, { size: 14 })
|
|
166
|
+
}
|
|
167
|
+
)
|
|
168
|
+
] }),
|
|
169
|
+
isUploading && /* @__PURE__ */ jsx2("div", { className: "h-0.5 w-full overflow-hidden rounded-full bg-mari-border", role: "progressbar", "aria-valuenow": item.progress, "aria-valuemin": 0, "aria-valuemax": 100, children: /* @__PURE__ */ jsx2("div", { className: "h-full rounded-full bg-mari-primary-solid transition-all duration-200", style: { width: `${item.progress}%` } }) })
|
|
170
|
+
] });
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
// src/upload/_components/UploadListButton.tsx
|
|
174
|
+
import { UploadIcon } from "lucide-react";
|
|
175
|
+
import { jsx as jsx3 } from "react/jsx-runtime";
|
|
176
|
+
function UploadListButton({ handleClick, disabled }) {
|
|
177
|
+
return (
|
|
178
|
+
// `self-start` — ant.design'ın butonu da içeriği kadar geniştir; flex-col
|
|
179
|
+
// ebeveynin `align-items: stretch` varsayılanı (Faz 13'te fark edildi)
|
|
180
|
+
// butonu tam genişliğe geriyor, ikon/metni köşelere itip garip
|
|
181
|
+
// görünmesine sebep oluyordu.
|
|
182
|
+
/* @__PURE__ */ jsx3(Button, { onClick: handleClick, disabled, className: "self-start", variant: "outline", color: "primary", icon: /* @__PURE__ */ jsx3(UploadIcon, { size: 16 }), children: "Y\xFCklemek i\xE7in t\u0131klay\u0131n" })
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// src/upload/_components/UploadDragDropButton.tsx
|
|
187
|
+
import { useState as useState2 } from "react";
|
|
188
|
+
import { InboxIcon } from "lucide-react";
|
|
189
|
+
import { cn as cn3 } from "@mari-ui/core";
|
|
190
|
+
import { jsx as jsx4, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
191
|
+
function UploadDragDropButton({ handleClick, addFiles, disabled = false }) {
|
|
192
|
+
const [isDragOver, setIsDragOver] = useState2(false);
|
|
193
|
+
const handleDrop = (event) => {
|
|
194
|
+
event.preventDefault();
|
|
195
|
+
setIsDragOver(false);
|
|
196
|
+
if (disabled) return;
|
|
197
|
+
addFiles(Array.from(event.dataTransfer.files));
|
|
198
|
+
};
|
|
199
|
+
const handleDragOver = (event) => {
|
|
200
|
+
event.preventDefault();
|
|
201
|
+
setIsDragOver(true);
|
|
202
|
+
};
|
|
203
|
+
return /* @__PURE__ */ jsxs3(
|
|
204
|
+
"button",
|
|
205
|
+
{
|
|
206
|
+
type: "button",
|
|
207
|
+
onClick: handleClick,
|
|
208
|
+
disabled,
|
|
209
|
+
onDrop: handleDrop,
|
|
210
|
+
onDragOver: handleDragOver,
|
|
211
|
+
onDragLeave: () => setIsDragOver(false),
|
|
212
|
+
className: cn3(
|
|
213
|
+
"flex w-full min-h-52 cursor-pointer flex-col items-center justify-center gap-2 rounded-lg border border-dashed bg-mari-surface-alt p-6 text-center transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mari-ring sm:p-8",
|
|
214
|
+
isDragOver ? "border-mari-primary bg-mari-primary-subtle" : "border-mari-input hover:border-mari-primary",
|
|
215
|
+
disabled && "cursor-not-allowed opacity-50 hover:border-mari-input"
|
|
216
|
+
),
|
|
217
|
+
children: [
|
|
218
|
+
/* @__PURE__ */ jsx4(InboxIcon, { size: 40, className: "text-mari-primary" }),
|
|
219
|
+
/* @__PURE__ */ jsx4("span", { className: "text-base text-mari-foreground pointer-coarse:hidden", children: "Y\xFCklemek i\xE7in t\u0131klay\u0131n veya dosyay\u0131 buraya s\xFCr\xFCkleyin" }),
|
|
220
|
+
/* @__PURE__ */ jsx4("span", { className: "hidden text-base text-mari-foreground pointer-coarse:inline", children: "Dosya se\xE7mek i\xE7in dokunun" }),
|
|
221
|
+
/* @__PURE__ */ jsx4("span", { className: "text-sm text-mari-muted", children: "Tek seferde bir veya birden fazla dosya y\xFCkleyebilirsiniz." })
|
|
222
|
+
]
|
|
223
|
+
}
|
|
224
|
+
);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
// src/upload/_components/UploadReviewButton.tsx
|
|
228
|
+
import { PlusIcon } from "lucide-react";
|
|
229
|
+
import { cn as cn4 } from "@mari-ui/core";
|
|
230
|
+
import { jsx as jsx5 } from "react/jsx-runtime";
|
|
231
|
+
function UploadReviewButton({ handleClick, reviewType, disabled }) {
|
|
232
|
+
return /* @__PURE__ */ jsx5(
|
|
233
|
+
Button,
|
|
234
|
+
{
|
|
235
|
+
onClick: handleClick,
|
|
236
|
+
disabled,
|
|
237
|
+
variant: "ghost",
|
|
238
|
+
color: "neutral",
|
|
239
|
+
icon: /* @__PURE__ */ jsx5(PlusIcon, { size: 18 }),
|
|
240
|
+
className: cn4(
|
|
241
|
+
"h-28 w-28 shrink-0 flex-col gap-1 border border-dashed border-mari-border bg-mari-surface-alt hover:border-mari-primary-border hover:text-mari-primary",
|
|
242
|
+
reviewType === "circle" ? "rounded-full" : "rounded-lg"
|
|
243
|
+
),
|
|
244
|
+
children: /* @__PURE__ */ jsx5("span", { className: "text-xs", children: "Y\xFCkle" })
|
|
245
|
+
}
|
|
246
|
+
);
|
|
247
|
+
}
|
|
248
|
+
|
|
249
|
+
// src/upload/useUpload.tsx
|
|
250
|
+
import { useEffect as useEffect2, useRef, useState as useState3 } from "react";
|
|
251
|
+
function useUpload({ fileSize, fileType, max }) {
|
|
252
|
+
const [fileList, setFileList] = useState3([]);
|
|
253
|
+
const { showToast } = useToast();
|
|
254
|
+
const timersRef = useRef(/* @__PURE__ */ new Set());
|
|
255
|
+
useEffect2(() => {
|
|
256
|
+
const timers = timersRef.current;
|
|
257
|
+
return () => {
|
|
258
|
+
timers.forEach(clearInterval);
|
|
259
|
+
};
|
|
260
|
+
}, []);
|
|
261
|
+
const PROGRESS_STEP = 22;
|
|
262
|
+
const TICK_MS = 250;
|
|
263
|
+
const TICKS_TO_COMPLETE = Math.ceil(100 / PROGRESS_STEP) + 1;
|
|
264
|
+
const advanceItem = (item, targetId) => {
|
|
265
|
+
if (item.id !== targetId || item.status !== "uploading") return item;
|
|
266
|
+
const nextProgress = Math.min(100, item.progress + PROGRESS_STEP);
|
|
267
|
+
return nextProgress >= 100 ? { ...item, progress: 100, status: "done" } : { ...item, progress: nextProgress };
|
|
268
|
+
};
|
|
269
|
+
const advanceFileList = (prev, targetId) => prev.map((item) => advanceItem(item, targetId));
|
|
270
|
+
const simulateUpload = (id) => {
|
|
271
|
+
const tick = () => setFileList((prev) => advanceFileList(prev, id));
|
|
272
|
+
const interval = setInterval(tick, TICK_MS);
|
|
273
|
+
timersRef.current.add(interval);
|
|
274
|
+
const stop = () => {
|
|
275
|
+
clearInterval(interval);
|
|
276
|
+
timersRef.current.delete(interval);
|
|
277
|
+
};
|
|
278
|
+
setTimeout(stop, TICK_MS * TICKS_TO_COMPLETE);
|
|
279
|
+
};
|
|
280
|
+
const addFile = (file) => {
|
|
281
|
+
const extension = getFileExtension(file);
|
|
282
|
+
const { valid, reason } = isFileValid({ file, allowedType: fileType, maxSize: fileSize });
|
|
283
|
+
if (!valid) {
|
|
284
|
+
showToast({
|
|
285
|
+
title: "Ge\xE7ersiz dosya",
|
|
286
|
+
description: reason === "invalid-type" ? `.${extension} dosya t\xFCr\xFCne izin verilmiyor.` : `Dosya boyutu \xE7ok b\xFCy\xFCk (${formatBytes(file.size)})`,
|
|
287
|
+
type: "error"
|
|
288
|
+
});
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
if (fileList.length >= max) {
|
|
292
|
+
showToast({ title: "Hata", description: `En fazla ${max} dosya y\xFCkleyebilirsiniz.`, type: "error" });
|
|
293
|
+
return;
|
|
294
|
+
}
|
|
295
|
+
const id = getFileKey(file);
|
|
296
|
+
setFileList((prev) => [...prev, { file, id, status: "uploading", progress: 0 }]);
|
|
297
|
+
simulateUpload(id);
|
|
298
|
+
};
|
|
299
|
+
const addFiles = (files) => {
|
|
300
|
+
const remaining = max - fileList.length;
|
|
301
|
+
files.slice(0, remaining).forEach((file) => addFile(file));
|
|
302
|
+
};
|
|
303
|
+
const deleteFile = (id) => {
|
|
304
|
+
setFileList((prev) => prev.filter((item) => item.id !== id));
|
|
305
|
+
};
|
|
306
|
+
return { fileList, setFileList, addFile, addFiles, deleteFile };
|
|
307
|
+
}
|
|
308
|
+
|
|
309
|
+
// src/upload/Upload.tsx
|
|
310
|
+
import { jsx as jsx6, jsxs as jsxs4 } from "react/jsx-runtime";
|
|
311
|
+
function Upload({
|
|
312
|
+
inputType = "button",
|
|
313
|
+
fileSize = 5 * 1024 * 1024,
|
|
314
|
+
fileType,
|
|
315
|
+
max = 5,
|
|
316
|
+
listType = "list",
|
|
317
|
+
reviewType = "square",
|
|
318
|
+
onChange,
|
|
319
|
+
disabled = false,
|
|
320
|
+
skeleton = false
|
|
321
|
+
}) {
|
|
322
|
+
const fileInputRef = useRef2(null);
|
|
323
|
+
const { fileList, deleteFile, addFiles } = useUpload({ fileSize, fileType, max });
|
|
324
|
+
const onChangeRef = useRef2(onChange);
|
|
325
|
+
onChangeRef.current = onChange;
|
|
326
|
+
const isFirst = useRef2(true);
|
|
327
|
+
useEffect3(() => {
|
|
328
|
+
if (isFirst.current) {
|
|
329
|
+
isFirst.current = false;
|
|
330
|
+
return;
|
|
331
|
+
}
|
|
332
|
+
onChangeRef.current?.(
|
|
333
|
+
fileList.map((item) => item.file),
|
|
334
|
+
fileList
|
|
335
|
+
);
|
|
336
|
+
}, [fileList]);
|
|
337
|
+
const handleClick = useCallback(() => {
|
|
338
|
+
if (!disabled) fileInputRef.current?.click();
|
|
339
|
+
}, [disabled]);
|
|
340
|
+
if (skeleton) {
|
|
341
|
+
if (listType === "review") return /* @__PURE__ */ jsx6("div", { ...skeletonBoxProps(cn5("h-28 w-28", reviewType === "circle" ? "rounded-full" : "rounded-lg")) });
|
|
342
|
+
if (inputType === "dragDrop") return /* @__PURE__ */ jsx6("div", { ...skeletonBoxProps("min-h-52 w-full rounded-lg") });
|
|
343
|
+
return /* @__PURE__ */ jsx6(Button, { skeleton: true, variant: "outline", icon: /* @__PURE__ */ jsx6("span", { className: "size-4" }), children: "Y\xFCklemek i\xE7in t\u0131klay\u0131n" });
|
|
344
|
+
}
|
|
345
|
+
const acceptAttr = toAcceptAttribute(fileType);
|
|
346
|
+
const handleFileChange = (event) => {
|
|
347
|
+
const { files } = event.target;
|
|
348
|
+
if (!files || files.length === 0) return;
|
|
349
|
+
addFiles(Array.from(files));
|
|
350
|
+
event.target.value = "";
|
|
351
|
+
};
|
|
352
|
+
const isReview = listType === "review";
|
|
353
|
+
return /* @__PURE__ */ jsxs4("div", { className: "flex flex-col gap-2", children: [
|
|
354
|
+
!isReview && (inputType === "dragDrop" ? /* @__PURE__ */ jsx6(UploadDragDropButton, { addFiles, handleClick, disabled }) : /* @__PURE__ */ jsx6(UploadListButton, { handleClick, disabled })),
|
|
355
|
+
/* @__PURE__ */ jsx6("input", { ref: fileInputRef, className: "hidden", type: "file", multiple: max > 1, accept: acceptAttr, onChange: handleFileChange, disabled }),
|
|
356
|
+
isReview ? (
|
|
357
|
+
// ant.design'ın "Pictures Wall"ıyla birebir: "ekle" karosu küçük
|
|
358
|
+
// resimlerle AYNI grid'de akar (eskiden ayrı bir satırda,
|
|
359
|
+
// farklı boyutta duruyordu).
|
|
360
|
+
/* @__PURE__ */ jsxs4("div", { className: "flex flex-wrap gap-2", children: [
|
|
361
|
+
fileList.map((item) => /* @__PURE__ */ jsx6(ReviewList, { item, reviewType, handleDelete: deleteFile }, item.id)),
|
|
362
|
+
fileList.length < max && /* @__PURE__ */ jsx6(UploadReviewButton, { handleClick, reviewType, disabled })
|
|
363
|
+
] })
|
|
364
|
+
) : /* @__PURE__ */ jsx6("ul", { className: "flex flex-col", children: fileList.map((item) => /* @__PURE__ */ jsx6(UploadList, { item, handleDelete: deleteFile }, item.id)) })
|
|
365
|
+
] });
|
|
366
|
+
}
|
|
367
|
+
export {
|
|
368
|
+
Upload
|
|
369
|
+
};
|
|
370
|
+
//# sourceMappingURL=upload.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/upload/Upload.tsx","../src/upload/_components/ReviewList.tsx","../src/upload/utils.ts","../src/upload/_components/List.tsx","../src/upload/_components/UploadListButton.tsx","../src/upload/_components/UploadDragDropButton.tsx","../src/upload/_components/UploadReviewButton.tsx","../src/upload/useUpload.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { useCallback, useEffect, useRef } from \"react\";\nimport { cn } from \"@mari-ui/core\";\nimport { skeletonBoxProps } from \"../lib/skeleton\";\nimport { Button } from \"../button\";\nimport type { UploadProps } from \"./types\";\nimport { ReviewList } from \"./_components/ReviewList\";\nimport { UploadList } from \"./_components/List\";\nimport { UploadListButton } from \"./_components/UploadListButton\";\nimport { UploadDragDropButton } from \"./_components/UploadDragDropButton\";\nimport { UploadReviewButton } from \"./_components/UploadReviewButton\";\nimport { useUpload } from \"./useUpload\";\nimport { toAcceptAttribute } from \"./utils\";\n\nexport type { UploadProps };\n\nexport function Upload({\n inputType = \"button\",\n fileSize = 5 * 1024 * 1024,\n fileType,\n max = 5,\n listType = \"list\",\n reviewType = \"square\",\n onChange,\n disabled = false,\n skeleton = false,\n}: Readonly<UploadProps>) {\n const fileInputRef = useRef<HTMLInputElement>(null);\n const { fileList, deleteFile, addFiles } = useUpload({ fileSize, fileType, max });\n\n // İlk (boş) render'da değil, liste gerçekten değişince bildir.\n const onChangeRef = useRef(onChange);\n onChangeRef.current = onChange;\n const isFirst = useRef(true);\n useEffect(() => {\n if (isFirst.current) {\n isFirst.current = false;\n return;\n }\n onChangeRef.current?.(\n fileList.map((item) => item.file),\n fileList\n );\n }, [fileList]);\n\n const handleClick = useCallback(() => {\n if (!disabled) fileInputRef.current?.click();\n }, [disabled]);\n\n if (skeleton) {\n if (listType === \"review\") return <div {...skeletonBoxProps(cn(\"h-28 w-28\", reviewType === \"circle\" ? \"rounded-full\" : \"rounded-lg\"))} />;\n if (inputType === \"dragDrop\") return <div {...skeletonBoxProps(\"min-h-52 w-full rounded-lg\")} />;\n return (\n <Button skeleton variant=\"outline\" icon={<span className=\"size-4\" />}>\n Yüklemek için tıklayın\n </Button>\n );\n }\n\n // Native `accept` çıplak uzantıyı (\"png\") yok sayar — \".png\"ye çevrilir.\n const acceptAttr = toAcceptAttribute(fileType);\n\n /**\n * Eskiden sadece `files?.[0]` alınıyordu — `max > 1` olsa bile \"gözat\"\n * butonuyla asla birden fazla dosya SEÇİLEMİYORDU (native input `multiple`\n * taşımadığı için OS diyaloğu da tek seçime kilitliydi). Sürükle-bırak\n * (`addFiles`) zaten çoklu dosyayı destekliyordu — gerçek eksiklik sadece\n * tıklayarak-gözat yolundaydı.\n */\n const handleFileChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n const { files } = event.target;\n if (!files || files.length === 0) return;\n addFiles(Array.from(files));\n // Aynı dosyayı ard arda seçince `onChange` tekrar tetiklensin diye sıfırla.\n event.target.value = \"\";\n };\n\n const isReview = listType === \"review\";\n\n return (\n <div className=\"flex flex-col gap-2\">\n {!isReview && (inputType === \"dragDrop\" ? <UploadDragDropButton addFiles={addFiles} handleClick={handleClick} disabled={disabled} /> : <UploadListButton handleClick={handleClick} disabled={disabled} />)}\n {/* Görsel açıdan hep gizli, programatik olarak `handleClick` ile tetiklenir\n — bu yüzden stillenmiş `Input`a değil, düz native `<input>`'a ihtiyacı var\n (`multiple`/`accept` gibi Input'un desteklemediği native attribute'lar gerekiyor). */}\n <input ref={fileInputRef} className=\"hidden\" type=\"file\" multiple={max > 1} accept={acceptAttr} onChange={handleFileChange} disabled={disabled} />\n {isReview ? (\n // ant.design'ın \"Pictures Wall\"ıyla birebir: \"ekle\" karosu küçük\n // resimlerle AYNI grid'de akar (eskiden ayrı bir satırda,\n // farklı boyutta duruyordu).\n <div className=\"flex flex-wrap gap-2\">\n {fileList.map((item) => (\n <ReviewList key={item.id} item={item} reviewType={reviewType} handleDelete={deleteFile} />\n ))}\n {fileList.length < max && <UploadReviewButton handleClick={handleClick} reviewType={reviewType} disabled={disabled} />}\n </div>\n ) : (\n <ul className=\"flex flex-col\">\n {fileList.map((item) => (\n <UploadList key={item.id} item={item} handleDelete={deleteFile} />\n ))}\n </ul>\n )}\n </div>\n );\n}\n","\"use client\";\n\nimport React, { useEffect, useState } from \"react\";\nimport { EyeIcon, XIcon } from \"lucide-react\";\nimport { cn } from \"@mari-ui/core\";\nimport { Button } from \"../../button\";\nimport { getFileExtension, isImageFile } from \"../utils\";\nimport type { ReviewType, UploadFileItem } from \"../types\";\n\nexport interface ReviewListProps {\n item: UploadFileItem;\n reviewType: ReviewType;\n handleDelete: (id: string) => void;\n}\n\n/**\n * ant.design'ın \"Pictures Wall\" (picture-card) karosuyla birebir\n * karşılaştırıldı: `uploading` durumunda küçük resim yerine \"Yükleniyor...\"\n * + ince bir ilerleme çubuğu gösterilir; tamamlanınca gerçek küçük resme\n * geçer ve hover'da önizleme (yeni sekmede aç) + sil ikonları belirir\n * (eskiden sadece sil vardı). `next/image` kaldırıldı — bu paket bir\n * Next.js uygulaması değil.\n */\nexport function ReviewList({ item, reviewType, handleDelete }: Readonly<ReviewListProps>) {\n const { file, status, progress } = item;\n const extension = getFileExtension(file).toLocaleUpperCase();\n const isImage = isImageFile(file);\n const [objectUrl, setObjectUrl] = useState<string | null>(null);\n const isUploading = status === \"uploading\";\n\n useEffect(() => {\n if (!isImage) return;\n const url = URL.createObjectURL(file);\n setObjectUrl(url);\n return () => URL.revokeObjectURL(url);\n }, [file, isImage]);\n\n const shapeClass = reviewType === \"circle\" ? \"rounded-full\" : \"rounded-lg\";\n\n return (\n <div\n className={cn(\n \"group relative flex h-28 w-28 shrink-0 flex-col items-center justify-center gap-1.5 border border-mari-border bg-mari-surface-alt p-2\",\n shapeClass\n )}\n >\n {isUploading ? (\n <div className=\"flex w-full flex-col items-center gap-2 px-2\">\n <span className=\"text-xs text-mari-muted\">Yükleniyor...</span>\n <div className=\"h-0.5 w-full overflow-hidden rounded-full bg-mari-border\" role=\"progressbar\" aria-valuenow={progress} aria-valuemin={0} aria-valuemax={100}>\n <div className=\"h-full rounded-full bg-mari-primary-solid transition-all duration-200\" style={{ width: `${progress}%` }} />\n </div>\n </div>\n ) : (\n <>\n {isImage && objectUrl ? (\n <img src={objectUrl} alt={file.name} className={cn(\"h-full w-full object-cover\", shapeClass)} />\n ) : (\n <span className=\"text-2xl font-bold text-mari-primary\">{extension}</span>\n )}\n <div\n className={cn(\n \"absolute inset-0 z-10 flex items-center justify-center gap-3 bg-black/40 opacity-0 transition-opacity duration-200 group-hover:opacity-100 group-focus-within:opacity-100\",\n // Dokunmatikte hover yok: karartma yerine köşede hep görünür küçük butonlar.\n \"pointer-coarse:items-start pointer-coarse:justify-end pointer-coarse:gap-1 pointer-coarse:bg-transparent pointer-coarse:p-1 pointer-coarse:opacity-100\",\n shapeClass\n )}\n >\n {isImage && objectUrl && (\n <Button\n variant=\"ghost\"\n shape=\"circle\"\n size=\"sm\"\n className=\"text-white hover:text-white pointer-coarse:bg-black/55\"\n aria-label={`${file.name} dosyasını önizle`}\n onClick={() => window.open(objectUrl, \"_blank\", \"noopener,noreferrer\")}\n >\n <EyeIcon size={18} />\n </Button>\n )}\n <Button\n variant=\"ghost\"\n shape=\"circle\"\n size=\"sm\"\n className=\"text-white hover:text-white pointer-coarse:bg-black/55\"\n aria-label={`${file.name} dosyasını kaldır`}\n onClick={() => handleDelete(item.id)}\n >\n <XIcon size={18} />\n </Button>\n </div>\n </>\n )}\n </div>\n );\n}\n","export function formatBytes(bytes: number, decimals = 2): string {\n if (bytes === 0) return \"0 Bytes\";\n const k = 1024;\n const dm = decimals < 0 ? 0 : decimals;\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\"];\n const i = Math.floor(Math.log(bytes) / Math.log(k));\n const size = parseFloat((bytes / Math.pow(k, i)).toFixed(dm));\n return `${size} ${sizes[i] ?? \"Bytes\"}`;\n}\n\nexport function getFileExtension(file: File): string {\n return file.type.split(\"/\")[1] ?? \"\";\n}\n\nexport function isImageFile(file: File): boolean {\n return file.type.startsWith(\"image/\");\n}\n\nexport function getFileKey(file: File): string {\n return `${file.lastModified}-${file.name}`;\n}\n\n/** Dosya adının uzantısı (küçük harf, noktasız). */\nfunction nameExtension(file: File): string {\n const dot = file.name.lastIndexOf(\".\");\n return dot > 0 ? file.name.slice(dot + 1).toLowerCase() : \"\";\n}\n\nconst EXTENSION_ALIASES: Record<string, string> = { jpg: \"jpeg\", jpeg: \"jpg\", tif: \"tiff\", tiff: \"tif\" };\n\n/** Tek bir `accept` belirteciyle eşleşme: \"image/*\", \"image/png\", \".png\" ya da \"png\". */\nfunction matchesAcceptToken(file: File, token: string): boolean {\n const type = file.type.toLowerCase();\n if (token.endsWith(\"/*\")) return type.startsWith(token.slice(0, -1));\n if (token.includes(\"/\")) return type === token;\n const ext = token.replace(/^\\./, \"\");\n const candidates = new Set([nameExtension(file), getFileExtension(file).toLowerCase()]);\n return candidates.has(ext) || candidates.has(EXTENSION_ALIASES[ext] ?? \"\");\n}\n\n/**\n * `allowedType` native `accept` sözdizimini izler: virgülle ayrılmış MIME\n * türleri (\"image/png\"), joker (\"image/*\") ve uzantılar (\".png\" ya da \"png\").\n *\n * Faz 15: eskiden yalnız TEK bir değer ve MIME alt türüyle karşılaştırma vardı —\n * \"image/*\" (en yaygın değer) her dosyayı reddediyor (\"*\" ≠ \"png\"), \".jpg\"\n * MIME'daki \"jpeg\" ile eşleşmiyor, \"image/png,image/jpeg\" hiç çalışmıyordu.\n */\nexport function isFileValid({\n file,\n allowedType,\n maxSize,\n}: {\n file: File;\n allowedType?: string;\n maxSize?: number;\n}): { valid: boolean; reason?: \"invalid-type\" | \"size-exceeded\" } {\n const tokens = (allowedType ?? \"\")\n .split(\",\")\n .map((t) => t.trim().toLowerCase())\n .filter(Boolean);\n if (tokens.length > 0 && !tokens.some((t) => matchesAcceptToken(file, t))) return { valid: false, reason: \"invalid-type\" };\n if (maxSize && file.size > maxSize) return { valid: false, reason: \"size-exceeded\" };\n return { valid: true };\n}\n\n/** `fileType` → native `accept` özniteliği (çıplak \"png\" → \".png\"; tarayıcı çıplak uzantıyı yok sayar). */\nexport function toAcceptAttribute(fileType: string | undefined): string | undefined {\n if (!fileType) return undefined;\n return fileType\n .split(\",\")\n .map((t) => t.trim())\n .filter(Boolean)\n .map((t) => (t.includes(\"/\") || t.startsWith(\".\") ? t : `.${t}`))\n .join(\",\");\n}\n","import React from \"react\";\nimport { PaperclipIcon, XIcon } from \"lucide-react\";\nimport { cn } from \"@mari-ui/core\";\nimport { Button } from \"../../button\";\nimport type { UploadFileItem } from \"../types\";\n\nexport interface UploadListProps {\n item: UploadFileItem;\n handleDelete: (id: string) => void;\n}\n\n/**\n * ant.design'ın varsayılan dosya listesiyle birebir karşılaştırıldı: satır\n * sadece ataç ikonu + dosya adından oluşur (uzantı/boyut AYRICA yazılmaz —\n * eskiden \"ad.ext (UZANTI) (boyut)\" şeklinde kalabalıktı). Silme ikonu\n * SADECE satır hover'ındayken görünür (eskiden hep görünürdü). `uploading`\n * durumunda satırın altında ince bir ilerleme çubuğu belirir.\n */\nexport function UploadList({ item, handleDelete }: Readonly<UploadListProps>) {\n const isUploading = item.status === \"uploading\";\n\n return (\n <li className=\"group flex flex-col gap-1 rounded-sm px-2 py-1 hover:bg-mari-surface-alt\">\n <span className=\"flex items-center justify-between gap-2 text-sm\">\n <span className=\"flex min-w-0 items-center gap-1.5 text-mari-foreground\">\n <PaperclipIcon size={14} className={cn(\"shrink-0\", isUploading ? \"text-mari-primary\" : \"text-mari-muted\")} />\n <span className=\"truncate\">{item.file.name}</span>\n </span>\n <Button\n variant=\"ghost\"\n color=\"neutral\"\n size=\"sm\"\n shape=\"circle\"\n // Dokunmatikte hover yok — sil butonu orada hep görünür (eskiden görünmez ama dokunulabilir bir hedefti).\n className=\"shrink-0 opacity-0 group-hover:opacity-100 group-focus-within:opacity-100 pointer-coarse:opacity-100\"\n aria-label={`${item.file.name} dosyasını kaldır`}\n onClick={() => handleDelete(item.id)}\n >\n <XIcon size={14} />\n </Button>\n </span>\n {isUploading && (\n <div className=\"h-0.5 w-full overflow-hidden rounded-full bg-mari-border\" role=\"progressbar\" aria-valuenow={item.progress} aria-valuemin={0} aria-valuemax={100}>\n <div className=\"h-full rounded-full bg-mari-primary-solid transition-all duration-200\" style={{ width: `${item.progress}%` }} />\n </div>\n )}\n </li>\n );\n}\n","import React from \"react\";\nimport { UploadIcon } from \"lucide-react\";\nimport { Button } from \"../../button\";\n\nexport interface UploadListButtonProps {\n handleClick: () => void;\n disabled?: boolean;\n}\n\nexport function UploadListButton({ handleClick, disabled }: Readonly<UploadListButtonProps>) {\n return (\n // `self-start` — ant.design'ın butonu da içeriği kadar geniştir; flex-col\n // ebeveynin `align-items: stretch` varsayılanı (Faz 13'te fark edildi)\n // butonu tam genişliğe geriyor, ikon/metni köşelere itip garip\n // görünmesine sebep oluyordu.\n <Button onClick={handleClick} disabled={disabled} className=\"self-start\" variant=\"outline\" color=\"primary\" icon={<UploadIcon size={16} />}>\n Yüklemek için tıklayın\n </Button>\n );\n}\n","\"use client\";\n\nimport React, { useState } from \"react\";\nimport { InboxIcon } from \"lucide-react\";\nimport { cn } from \"@mari-ui/core\";\n\nexport interface UploadDragDropButtonProps {\n handleClick: () => void;\n addFiles: (files: File[]) => void;\n disabled?: boolean;\n}\n\n/**\n * ant.design'ın sürükle-bırak alanıyla birebir karşılaştırıldı: büyük,\n * renkli bir \"gelen kutusu\" ikonu + kalın bir ana başlık + soluk bir\n * ikincil ipucu satırı. Eskiden küçük generik bir `UploadIcon` + tek satır\n * metin vardı. Sürükleme sırasında kenarlık primary'e döner (ant'ın\n * `dragover` durumu) — eskiden sadece `hover:` vardı, gerçek sürükleme\n * anında görsel geri bildirim yoktu.\n */\nexport function UploadDragDropButton({ handleClick, addFiles, disabled = false }: Readonly<UploadDragDropButtonProps>) {\n const [isDragOver, setIsDragOver] = useState(false);\n\n const handleDrop = (event: React.DragEvent<HTMLElement>) => {\n event.preventDefault();\n setIsDragOver(false);\n if (disabled) return;\n addFiles(Array.from(event.dataTransfer.files));\n };\n\n const handleDragOver = (event: React.DragEvent<HTMLElement>) => {\n event.preventDefault();\n setIsDragOver(true);\n };\n\n return (\n <button\n type=\"button\"\n onClick={handleClick}\n disabled={disabled}\n onDrop={handleDrop}\n onDragOver={handleDragOver}\n onDragLeave={() => setIsDragOver(false)}\n className={cn(\n \"flex w-full min-h-52 cursor-pointer flex-col items-center justify-center gap-2 rounded-lg border border-dashed bg-mari-surface-alt p-6 text-center transition-colors focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mari-ring sm:p-8\",\n isDragOver ? \"border-mari-primary bg-mari-primary-subtle\" : \"border-mari-input hover:border-mari-primary\",\n disabled && \"cursor-not-allowed opacity-50 hover:border-mari-input\"\n )}\n >\n <InboxIcon size={40} className=\"text-mari-primary\" />\n {/* Dokunmatikte sürükle-bırak yok — metin cihaza göre. */}\n <span className=\"text-base text-mari-foreground pointer-coarse:hidden\">Yüklemek için tıklayın veya dosyayı buraya sürükleyin</span>\n <span className=\"hidden text-base text-mari-foreground pointer-coarse:inline\">Dosya seçmek için dokunun</span>\n <span className=\"text-sm text-mari-muted\">Tek seferde bir veya birden fazla dosya yükleyebilirsiniz.</span>\n </button>\n );\n}\n","import React from \"react\";\nimport { PlusIcon } from \"lucide-react\";\nimport { cn } from \"@mari-ui/core\";\nimport { Button } from \"../../button\";\nimport type { ReviewType } from \"../types\";\n\nexport interface UploadReviewButtonProps {\n handleClick: () => void;\n reviewType: ReviewType;\n disabled?: boolean;\n}\n\n/**\n * ant.design'ın \"Pictures Wall\" karosuyla AYNI boyutta (`h-28 w-28`) —\n * eskiden ayrı bir satırda/boyutta duruyordu, artık küçük resimlerle AYNI\n * grid'e (bkz. `Upload.tsx`) akıp aynı boyutta bir \"ekle\" karosu oluyor.\n */\nexport function UploadReviewButton({ handleClick, reviewType, disabled }: Readonly<UploadReviewButtonProps>) {\n return (\n <Button\n onClick={handleClick}\n disabled={disabled}\n variant=\"ghost\"\n color=\"neutral\"\n icon={<PlusIcon size={18} />}\n className={cn(\n \"h-28 w-28 shrink-0 flex-col gap-1 border border-dashed border-mari-border bg-mari-surface-alt hover:border-mari-primary-border hover:text-mari-primary\",\n reviewType === \"circle\" ? \"rounded-full\" : \"rounded-lg\"\n )}\n >\n <span className=\"text-xs\">Yükle</span>\n </Button>\n );\n}\n","\"use client\";\n\nimport { useEffect, useRef, useState } from \"react\";\nimport { useToast } from \"../toast\";\nimport { formatBytes, getFileExtension, getFileKey, isFileValid } from \"./utils\";\nimport type { UploadFileItem } from \"./types\";\n\nexport interface UseUploadOptions {\n fileSize: number;\n fileType?: string;\n max: number;\n}\n\n/**\n * Faz 13 (kullanıcı geri bildirimi — ant.design ile birebir karşılaştırma):\n * eskiden burada sadece çıplak `File[]` tutuluyordu, her dosya HEP \"hazır\"\n * durumundaydı — ant'ın dosya listesinin/picture-card'ının asıl karakteri\n * olan \"yükleniyor\" (ilerleme çubuğu) → \"tamamlandı\" geçişi hiç yoktu, tüm\n * dosyalar aynı anda statik görünüyordu. Gerçek bir sunucu/`action` prop'u\n * olmadığı için ilerleme SİMÜLE ediliyor (ant'ın kendi dokümantasyon\n * demoları da aynısını yapıyor) — ama durum modeli gerçek: her dosya\n * `uploading` → `done` arasında geçiş yapıyor, UI bunu render ediyor.\n */\nexport function useUpload({ fileSize, fileType, max }: UseUploadOptions) {\n const [fileList, setFileList] = useState<UploadFileItem[]>([]);\n const { showToast } = useToast();\n const timersRef = useRef<Set<ReturnType<typeof setInterval>>>(new Set());\n\n useEffect(() => {\n const timers = timersRef.current;\n return () => {\n timers.forEach(clearInterval);\n };\n }, []);\n\n // Sabit bir artışla ilerliyor (rastgele değil) — güvenlik açısından hassas\n // olmayan salt görsel bir simülasyon için bile `Math.random()` SonarJS'in\n // \"pseudo-random\" uyarısını tetikliyor; deterministik artış hem uyarıyı\n // ortadan kaldırıyor hem test edilebilirliği artırıyor. `setInterval`'ın\n // içine doğrudan iç içe yazmak yerine (SonarJS'in izin verdiği içiçe\n // fonksiyon derinliğini aşıyordu) ayrı, adlandırılmış bir fonksiyon.\n const PROGRESS_STEP = 22;\n const TICK_MS = 250;\n // 100/22 ≈ 5 tick'te tamamlanır; interval'i temizlemek için biraz payla.\n const TICKS_TO_COMPLETE = Math.ceil(100 / PROGRESS_STEP) + 1;\n\n const advanceItem = (item: UploadFileItem, targetId: string): UploadFileItem => {\n if (item.id !== targetId || item.status !== \"uploading\") return item;\n const nextProgress = Math.min(100, item.progress + PROGRESS_STEP);\n return nextProgress >= 100 ? { ...item, progress: 100, status: \"done\" } : { ...item, progress: nextProgress };\n };\n\n const advanceFileList = (prev: UploadFileItem[], targetId: string): UploadFileItem[] => prev.map((item) => advanceItem(item, targetId));\n\n const simulateUpload = (id: string) => {\n const tick = () => setFileList((prev) => advanceFileList(prev, id));\n const interval = setInterval(tick, TICK_MS);\n timersRef.current.add(interval);\n\n const stop = () => {\n clearInterval(interval);\n timersRef.current.delete(interval);\n };\n setTimeout(stop, TICK_MS * TICKS_TO_COMPLETE);\n };\n\n const addFile = (file: File) => {\n const extension = getFileExtension(file);\n const { valid, reason } = isFileValid({ file, allowedType: fileType, maxSize: fileSize });\n\n if (!valid) {\n showToast({\n title: \"Geçersiz dosya\",\n description: reason === \"invalid-type\" ? `.${extension} dosya türüne izin verilmiyor.` : `Dosya boyutu çok büyük (${formatBytes(file.size)})`,\n type: \"error\",\n });\n return;\n }\n\n if (fileList.length >= max) {\n showToast({ title: \"Hata\", description: `En fazla ${max} dosya yükleyebilirsiniz.`, type: \"error\" });\n return;\n }\n\n const id = getFileKey(file);\n setFileList((prev) => [...prev, { file, id, status: \"uploading\", progress: 0 }]);\n simulateUpload(id);\n };\n\n const addFiles = (files: File[]) => {\n const remaining = max - fileList.length;\n files.slice(0, remaining).forEach((file) => addFile(file));\n };\n\n const deleteFile = (id: string) => {\n setFileList((prev) => prev.filter((item) => item.id !== id));\n };\n\n return { fileList, setFileList, addFile, addFiles, deleteFile };\n}\n"],"mappings":"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","names":["useEffect","useRef","cn","XIcon","cn","jsx","jsxs","cn","XIcon","jsx","useState","cn","jsx","jsxs","cn","jsx","cn","useEffect","useState","useState","useEffect","jsx","jsxs","useRef","useEffect","cn"]}
|