@mari-ui/components 0.1.0 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/accordion.js +4 -4
- package/dist/accordion.js.map +1 -1
- package/dist/alert.js +5 -5
- package/dist/alert.js.map +1 -1
- package/dist/autocomplete.js +8 -8
- package/dist/autocomplete.js.map +1 -1
- package/dist/avatar.js +3 -3
- package/dist/badge.js +3 -3
- package/dist/breadcrumb.js +9 -9
- package/dist/breadcrumb.js.map +1 -1
- package/dist/button.js +4 -4
- package/dist/calendar.js +14 -14
- package/dist/calendar.js.map +1 -1
- package/dist/card.js +4 -4
- package/dist/card.js.map +1 -1
- package/dist/carousel.js +4 -4
- package/dist/carousel.js.map +1 -1
- package/dist/chart.js +5 -5
- package/dist/chart.js.map +1 -1
- package/dist/checkbox.js +4 -4
- package/dist/{chunk-BDV4GOEN.js → chunk-5GILG5AK.js} +1 -1
- package/dist/chunk-5GILG5AK.js.map +1 -0
- package/dist/{chunk-IP2J3BWY.js → chunk-6AMBZXZJ.js} +1 -1
- package/dist/chunk-6AMBZXZJ.js.map +1 -0
- package/dist/{chunk-XUKVQO6M.js → chunk-6CSUVVFG.js} +1 -1
- package/dist/chunk-6CSUVVFG.js.map +1 -0
- package/dist/{chunk-ELHESRRH.js → chunk-7FQQRTPX.js} +5 -5
- package/dist/chunk-7FQQRTPX.js.map +1 -0
- package/dist/{chunk-QNOHFHVL.js → chunk-7WB4CDWX.js} +4 -4
- package/dist/chunk-7WB4CDWX.js.map +1 -0
- package/dist/{chunk-47FHUOLT.js → chunk-BLFY5UAL.js} +1 -1
- package/dist/chunk-BLFY5UAL.js.map +1 -0
- package/dist/{chunk-CYLXW66E.js → chunk-C3QWJFSE.js} +2 -2
- package/dist/chunk-C3QWJFSE.js.map +1 -0
- package/dist/{chunk-QDFDMWXD.js → chunk-CNWRDTEW.js} +7 -7
- package/dist/chunk-CNWRDTEW.js.map +1 -0
- package/dist/{chunk-2IEXY3OZ.js → chunk-CVKAGR3D.js} +4 -4
- package/dist/{chunk-LZHERDNB.js → chunk-CXIWRNSP.js} +5 -5
- package/dist/chunk-CXIWRNSP.js.map +1 -0
- package/dist/{chunk-FNJHS5KQ.js → chunk-E5JTEQ4V.js} +6 -6
- package/dist/chunk-E5JTEQ4V.js.map +1 -0
- package/dist/{chunk-IO4346TF.js → chunk-FC7T3INX.js} +8 -8
- package/dist/chunk-FC7T3INX.js.map +1 -0
- package/dist/{chunk-KCYM2JXP.js → chunk-FWSMUUZ5.js} +5 -5
- package/dist/chunk-FWSMUUZ5.js.map +1 -0
- package/dist/{chunk-3ABWBQCS.js → chunk-GTNCXOUL.js} +2 -2
- package/dist/chunk-GTNCXOUL.js.map +1 -0
- package/dist/{chunk-ZLPAXPDI.js → chunk-GVJ4M63W.js} +3 -3
- package/dist/{chunk-ZLPAXPDI.js.map → chunk-GVJ4M63W.js.map} +1 -1
- package/dist/{chunk-LBXIPDAB.js → chunk-JXD5DW6E.js} +3 -3
- package/dist/chunk-JXD5DW6E.js.map +1 -0
- package/dist/{chunk-P7Z5BREP.js → chunk-L6DBWUAB.js} +6 -6
- package/dist/chunk-L6DBWUAB.js.map +1 -0
- package/dist/{chunk-YZ7MDC6B.js → chunk-LNL4TCGL.js} +2 -2
- package/dist/chunk-LNL4TCGL.js.map +1 -0
- package/dist/{chunk-TCYDVNSU.js → chunk-MT4VH7QV.js} +1 -1
- package/dist/chunk-MT4VH7QV.js.map +1 -0
- package/dist/{chunk-DKENCYHA.js → chunk-MXGY2ENX.js} +1 -1
- package/dist/chunk-MXGY2ENX.js.map +1 -0
- package/dist/{chunk-DUCIAQGR.js → chunk-NENNFQEY.js} +3 -3
- package/dist/chunk-NENNFQEY.js.map +1 -0
- package/dist/{chunk-LBQMEHK6.js → chunk-NPFMPRII.js} +1 -1
- package/dist/chunk-NPFMPRII.js.map +1 -0
- package/dist/{chunk-NS7FKOFI.js → chunk-NYXU5EFE.js} +1 -1
- package/dist/chunk-NYXU5EFE.js.map +1 -0
- package/dist/{chunk-S66GKX2W.js → chunk-OAWUZIIN.js} +1 -1
- package/dist/chunk-OAWUZIIN.js.map +1 -0
- package/dist/{chunk-JNZODUXP.js → chunk-OYDG6C54.js} +1 -1
- package/dist/chunk-OYDG6C54.js.map +1 -0
- package/dist/{chunk-FFXRFQSU.js → chunk-POBOJBNJ.js} +1 -1
- package/dist/chunk-POBOJBNJ.js.map +1 -0
- package/dist/{chunk-RIBB5OJV.js → chunk-PR2MCHU4.js} +4 -4
- package/dist/chunk-PR2MCHU4.js.map +1 -0
- package/dist/{chunk-LEOIKO7C.js → chunk-RLWP6NJU.js} +4 -4
- package/dist/chunk-RLWP6NJU.js.map +1 -0
- package/dist/{chunk-V7KDUUV6.js → chunk-RMNV2CE2.js} +2 -2
- package/dist/chunk-RMNV2CE2.js.map +1 -0
- package/dist/{chunk-ZXYQ2ZPR.js → chunk-TEMTIMAH.js} +3 -3
- package/dist/chunk-TEMTIMAH.js.map +1 -0
- package/dist/{chunk-NPM7IDYV.js → chunk-TSFAAREV.js} +3 -3
- package/dist/chunk-TSFAAREV.js.map +1 -0
- package/dist/{chunk-54HHEXXD.js → chunk-VKN374SD.js} +1 -1
- package/dist/chunk-VKN374SD.js.map +1 -0
- package/dist/{chunk-ZMA7BT2L.js → chunk-XWBJPA3D.js} +4 -4
- package/dist/{chunk-ZMA7BT2L.js.map → chunk-XWBJPA3D.js.map} +1 -1
- package/dist/{chunk-QZRBO7BE.js → chunk-Z4KFHRDW.js} +9 -9
- package/dist/chunk-Z4KFHRDW.js.map +1 -0
- package/dist/{chunk-TXRQCHOR.js → chunk-ZAR3SCPV.js} +5 -5
- package/dist/chunk-ZAR3SCPV.js.map +1 -0
- package/dist/color-picker.js +19 -19
- package/dist/date-picker.js +10 -10
- package/dist/date-picker.js.map +1 -1
- package/dist/divider.js +2 -2
- package/dist/divider.js.map +1 -1
- package/dist/drawer.js +7 -7
- package/dist/dropdown.js +7 -7
- package/dist/empty.js +5 -5
- package/dist/field.js +2 -2
- package/dist/field.js.map +1 -1
- package/dist/float-button.js +6 -6
- package/dist/float-button.js.map +1 -1
- package/dist/image.js +8 -8
- package/dist/image.js.map +1 -1
- package/dist/input-number.js +6 -6
- package/dist/input.js +8 -8
- package/dist/list.js +12 -12
- package/dist/list.js.map +1 -1
- package/dist/loading.js +1 -1
- package/dist/logo.js.map +1 -1
- package/dist/mari.css +8 -2
- package/dist/masonry.js +5 -5
- package/dist/masonry.js.map +1 -1
- package/dist/menu.js +10 -10
- package/dist/menu.js.map +1 -1
- package/dist/modal.js +8 -8
- package/dist/modal.js.map +1 -1
- package/dist/pagination.js +5 -5
- package/dist/popconfirm.js +13 -13
- package/dist/popconfirm.js.map +1 -1
- package/dist/popover.js +10 -10
- package/dist/progress.js +2 -2
- package/dist/progress.js.map +1 -1
- package/dist/qrcode.js +1 -1
- package/dist/qrcode.js.map +1 -1
- package/dist/radio.js +4 -4
- package/dist/radio.js.map +1 -1
- package/dist/rate.js +2 -2
- package/dist/rate.js.map +1 -1
- package/dist/segmented.js +4 -4
- package/dist/select.js +11 -11
- package/dist/skeleton.js +3 -3
- package/dist/slider.js +8 -8
- package/dist/slider.js.map +1 -1
- package/dist/splitter.js.map +1 -1
- package/dist/statistic.js +7 -7
- package/dist/statistic.js.map +1 -1
- package/dist/steps.js +4 -4
- package/dist/steps.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/switch.js +2 -2
- package/dist/switch.js.map +1 -1
- package/dist/table.js +19 -19
- package/dist/table.js.map +1 -1
- package/dist/tabs.js +2 -2
- package/dist/tabs.js.map +1 -1
- package/dist/tag.js +3 -3
- package/dist/theme-customizer.js +19 -19
- package/dist/theme-customizer.js.map +1 -1
- package/dist/timeline.js +5 -5
- package/dist/timeline.js.map +1 -1
- package/dist/toast.js +7 -7
- package/dist/tooltip.js +4 -4
- package/dist/tour.js +12 -12
- package/dist/tour.js.map +1 -1
- package/dist/transfer.js +11 -11
- package/dist/transfer.js.map +1 -1
- package/dist/tree-select.js +12 -12
- package/dist/tree-select.js.map +1 -1
- package/dist/tree.js +5 -5
- package/dist/types/accordion/Accordion.d.ts +1 -3
- package/dist/types/accordion/Accordion.d.ts.map +1 -1
- package/dist/types/alert/Alert.d.ts +0 -1
- package/dist/types/alert/Alert.d.ts.map +1 -1
- package/dist/types/autocomplete/AutoComplete.d.ts +2 -2
- package/dist/types/autocomplete/utils.d.ts +0 -8
- package/dist/types/autocomplete/utils.d.ts.map +1 -1
- package/dist/types/avatar/utils.d.ts +1 -1
- package/dist/types/badge/Badge.d.ts +0 -3
- package/dist/types/badge/Badge.d.ts.map +1 -1
- package/dist/types/breadcrumb/Breadcrumb.d.ts +1 -12
- package/dist/types/breadcrumb/Breadcrumb.d.ts.map +1 -1
- package/dist/types/breadcrumb/utils.d.ts +0 -7
- package/dist/types/breadcrumb/utils.d.ts.map +1 -1
- package/dist/types/button/types.d.ts +1 -9
- package/dist/types/button/types.d.ts.map +1 -1
- package/dist/types/calendar/Calendar.d.ts +3 -4
- package/dist/types/calendar/Calendar.d.ts.map +1 -1
- package/dist/types/calendar/_components/CalendarPanel.d.ts +1 -2
- package/dist/types/calendar/_components/CalendarPanel.d.ts.map +1 -1
- package/dist/types/calendar/_components/DayGrid.d.ts +1 -1
- package/dist/types/calendar/types.d.ts +1 -1
- package/dist/types/calendar/types.d.ts.map +1 -1
- package/dist/types/card/Card.d.ts +3 -4
- package/dist/types/card/Card.d.ts.map +1 -1
- package/dist/types/card/types.d.ts +1 -1
- package/dist/types/carousel/types.d.ts +4 -10
- package/dist/types/carousel/types.d.ts.map +1 -1
- package/dist/types/carousel/utils.d.ts +0 -11
- package/dist/types/carousel/utils.d.ts.map +1 -1
- package/dist/types/chart/_shared/paths.d.ts +1 -1
- package/dist/types/chart/_shared/scale.d.ts +1 -2
- package/dist/types/chart/_shared/scale.d.ts.map +1 -1
- package/dist/types/chart/bar-chart/BarChart.d.ts +1 -1
- package/dist/types/chart/gauge/Gauge.d.ts +1 -1
- package/dist/types/chart/line-chart/LineChart.d.ts +2 -2
- package/dist/types/chart/pie-chart/PieChart.d.ts +1 -1
- package/dist/types/chart/sparkline/Sparkline.d.ts +1 -1
- package/dist/types/checkbox/utils.d.ts.map +1 -1
- package/dist/types/color-picker/ColorPicker.d.ts +0 -6
- package/dist/types/color-picker/ColorPicker.d.ts.map +1 -1
- package/dist/types/color-picker/_components/ColorPresets.d.ts +1 -1
- package/dist/types/color-picker/_components/ColorPresets.d.ts.map +1 -1
- package/dist/types/color-picker/utils.d.ts +1 -1
- package/dist/types/date-picker/DatePicker.d.ts +0 -6
- package/dist/types/date-picker/DatePicker.d.ts.map +1 -1
- package/dist/types/date-picker/TimePicker.d.ts +1 -1
- package/dist/types/date-picker/_components/TimePanel.d.ts.map +1 -1
- package/dist/types/date-picker/utils.d.ts +1 -1
- package/dist/types/date-picker/utils.d.ts.map +1 -1
- package/dist/types/divider/Divider.d.ts +1 -1
- package/dist/types/divider/types.d.ts +2 -4
- package/dist/types/divider/types.d.ts.map +1 -1
- package/dist/types/drawer/Drawer.d.ts +5 -6
- package/dist/types/drawer/Drawer.d.ts.map +1 -1
- package/dist/types/dropdown/_components/DropdownContent.d.ts +1 -1
- package/dist/types/dropdown/_components/DropdownItem.d.ts +0 -5
- package/dist/types/dropdown/_components/DropdownItem.d.ts.map +1 -1
- package/dist/types/dropdown/types.d.ts +1 -1
- package/dist/types/dropdown/useDropdown.d.ts +0 -16
- package/dist/types/dropdown/useDropdown.d.ts.map +1 -1
- package/dist/types/dropdown/utils.d.ts +1 -1
- package/dist/types/empty/Empty.d.ts +1 -6
- package/dist/types/empty/Empty.d.ts.map +1 -1
- package/dist/types/field/Field.d.ts +1 -5
- package/dist/types/field/Field.d.ts.map +1 -1
- package/dist/types/float-button/BackTop.d.ts +1 -1
- package/dist/types/float-button/FloatButton.d.ts +0 -5
- package/dist/types/float-button/FloatButton.d.ts.map +1 -1
- package/dist/types/float-button/FloatButtonGroup.d.ts +1 -1
- package/dist/types/float-button/utils.d.ts +1 -1
- package/dist/types/foundations/usePersonaTheme.d.ts +1 -1
- package/dist/types/image/Image.d.ts +0 -6
- package/dist/types/image/Image.d.ts.map +1 -1
- package/dist/types/image/ImageGallery.d.ts +1 -1
- package/dist/types/image/ImageViewer.d.ts +1 -1
- package/dist/types/image/galleryUtils.d.ts +1 -1
- package/dist/types/input/SearchInput.d.ts +1 -6
- package/dist/types/input/SearchInput.d.ts.map +1 -1
- package/dist/types/input/Textarea.d.ts +2 -6
- package/dist/types/input/Textarea.d.ts.map +1 -1
- package/dist/types/input/mention/types.d.ts +1 -2
- package/dist/types/input/mention/types.d.ts.map +1 -1
- package/dist/types/input/types.d.ts +3 -15
- package/dist/types/input/types.d.ts.map +1 -1
- package/dist/types/input/utils.d.ts +1 -26
- package/dist/types/input/utils.d.ts.map +1 -1
- package/dist/types/input-number/InputNumber.d.ts +0 -2
- package/dist/types/input-number/InputNumber.d.ts.map +1 -1
- package/dist/types/input-number/utils.d.ts +1 -1
- package/dist/types/lib/ContentSkeleton.d.ts +1 -1
- package/dist/types/lib/FloatingArrow.d.ts +0 -10
- package/dist/types/lib/FloatingArrow.d.ts.map +1 -1
- package/dist/types/lib/SkeletonDemo.d.ts +1 -1
- package/dist/types/lib/SkeletonSlot.d.ts +1 -1
- package/dist/types/lib/colorClasses.d.ts +1 -7
- package/dist/types/lib/colorClasses.d.ts.map +1 -1
- package/dist/types/lib/date/index.d.ts +1 -1
- package/dist/types/lib/elevationClass.d.ts +0 -8
- package/dist/types/lib/elevationClass.d.ts.map +1 -1
- package/dist/types/lib/fieldContext.d.ts +1 -1
- package/dist/types/lib/floating.d.ts +2 -7
- package/dist/types/lib/floating.d.ts.map +1 -1
- package/dist/types/lib/infiniteScroll.d.ts +1 -1
- package/dist/types/lib/linkBehavior.d.ts +1 -1
- package/dist/types/lib/overlay.d.ts +0 -7
- package/dist/types/lib/overlay.d.ts.map +1 -1
- package/dist/types/lib/sizeClasses.d.ts +2 -2
- package/dist/types/lib/skeleton.d.ts +1 -1
- package/dist/types/lib/storyMeta.d.ts +7 -28
- package/dist/types/lib/storyMeta.d.ts.map +1 -1
- package/dist/types/lib/storybookArgTypes.d.ts +1 -1
- package/dist/types/lib/useFloatingPosition.d.ts +1 -1
- package/dist/types/list/List.d.ts +0 -4
- package/dist/types/list/List.d.ts.map +1 -1
- package/dist/types/loading/Loading.d.ts.map +1 -1
- package/dist/types/loading/types.d.ts +2 -5
- package/dist/types/loading/types.d.ts.map +1 -1
- package/dist/types/loading/utils.d.ts +0 -5
- package/dist/types/loading/utils.d.ts.map +1 -1
- package/dist/types/masonry/Masonry.d.ts +0 -4
- package/dist/types/masonry/Masonry.d.ts.map +1 -1
- package/dist/types/menu/_shared/MenuLink.d.ts +0 -4
- package/dist/types/menu/_shared/MenuLink.d.ts.map +1 -1
- package/dist/types/menu/_shared/MobileNav.d.ts +0 -6
- package/dist/types/menu/_shared/MobileNav.d.ts.map +1 -1
- package/dist/types/menu/_shared/NavBar.d.ts +0 -8
- package/dist/types/menu/_shared/NavBar.d.ts.map +1 -1
- package/dist/types/menu/basic-menu/BasicMenu.d.ts +2 -16
- package/dist/types/menu/basic-menu/BasicMenu.d.ts.map +1 -1
- package/dist/types/menu/mega-menu/MegaMenu.d.ts +0 -8
- package/dist/types/menu/mega-menu/MegaMenu.d.ts.map +1 -1
- package/dist/types/menu/mega-menu/_components/MegaMenuItem.d.ts +0 -12
- package/dist/types/menu/mega-menu/_components/MegaMenuItem.d.ts.map +1 -1
- package/dist/types/menu/sidebar/Sidebar.d.ts +1 -16
- package/dist/types/menu/sidebar/Sidebar.d.ts.map +1 -1
- package/dist/types/menu/sidebar/_components/SidebarButton.d.ts +0 -6
- package/dist/types/menu/sidebar/_components/SidebarButton.d.ts.map +1 -1
- package/dist/types/menu/sidebar/_components/SidebarItem.d.ts +0 -10
- package/dist/types/menu/sidebar/_components/SidebarItem.d.ts.map +1 -1
- package/dist/types/menu/sidebar/_components/SidebarMenu.d.ts +0 -4
- package/dist/types/menu/sidebar/_components/SidebarMenu.d.ts.map +1 -1
- package/dist/types/menu/types.d.ts +2 -11
- package/dist/types/menu/types.d.ts.map +1 -1
- package/dist/types/menu/utils.d.ts +0 -22
- package/dist/types/menu/utils.d.ts.map +1 -1
- package/dist/types/modal/Modal.d.ts +1 -12
- package/dist/types/modal/Modal.d.ts.map +1 -1
- package/dist/types/modal/types.d.ts +3 -4
- package/dist/types/modal/types.d.ts.map +1 -1
- package/dist/types/modal/utils.d.ts +1 -5
- package/dist/types/modal/utils.d.ts.map +1 -1
- package/dist/types/pagination/Pagination.d.ts +2 -11
- package/dist/types/pagination/Pagination.d.ts.map +1 -1
- package/dist/types/pagination/types.d.ts +1 -1
- package/dist/types/pagination/types.d.ts.map +1 -1
- package/dist/types/pagination/utils.d.ts +5 -12
- package/dist/types/pagination/utils.d.ts.map +1 -1
- package/dist/types/popconfirm/Popconfirm.d.ts +0 -4
- package/dist/types/popconfirm/Popconfirm.d.ts.map +1 -1
- package/dist/types/popover/Popover.d.ts +0 -5
- package/dist/types/popover/Popover.d.ts.map +1 -1
- package/dist/types/progress/Progress.d.ts +0 -3
- package/dist/types/progress/Progress.d.ts.map +1 -1
- package/dist/types/qrcode/QRCode.d.ts +0 -6
- package/dist/types/qrcode/QRCode.d.ts.map +1 -1
- package/dist/types/radio/utils.d.ts +1 -1
- package/dist/types/segmented/Segmented.d.ts +0 -4
- package/dist/types/segmented/Segmented.d.ts.map +1 -1
- package/dist/types/select/Select.d.ts +0 -5
- package/dist/types/select/Select.d.ts.map +1 -1
- package/dist/types/select/_components/SelectPanel.d.ts +2 -3
- package/dist/types/select/_components/SelectPanel.d.ts.map +1 -1
- package/dist/types/select/types.d.ts +1 -1
- package/dist/types/select/types.d.ts.map +1 -1
- package/dist/types/skeleton/utils.d.ts.map +1 -1
- package/dist/types/slider/Slider.d.ts.map +1 -1
- package/dist/types/slider/utils.d.ts +0 -1
- package/dist/types/slider/utils.d.ts.map +1 -1
- package/dist/types/splitter/Splitter.d.ts +4 -4
- package/dist/types/statistic/Statistic.d.ts +1 -1
- package/dist/types/statistic/utils.d.ts +2 -4
- package/dist/types/statistic/utils.d.ts.map +1 -1
- package/dist/types/steps/Steps.d.ts.map +1 -1
- package/dist/types/steps/_components/StepsContent.d.ts +1 -10
- package/dist/types/steps/_components/StepsContent.d.ts.map +1 -1
- package/dist/types/steps/types.d.ts +1 -1
- package/dist/types/steps/types.d.ts.map +1 -1
- package/dist/types/steps/utils.d.ts +0 -9
- package/dist/types/steps/utils.d.ts.map +1 -1
- package/dist/types/switch/Switch.d.ts +1 -9
- package/dist/types/switch/Switch.d.ts.map +1 -1
- package/dist/types/switch/utils.d.ts.map +1 -1
- package/dist/types/table/Table.d.ts +7 -11
- package/dist/types/table/Table.d.ts.map +1 -1
- package/dist/types/table/_components/TableBody.d.ts.map +1 -1
- package/dist/types/table/_components/TableEditDrawer.d.ts +0 -8
- package/dist/types/table/_components/TableEditDrawer.d.ts.map +1 -1
- package/dist/types/table/_components/TableHeader.d.ts +0 -7
- package/dist/types/table/_components/TableHeader.d.ts.map +1 -1
- package/dist/types/table/_components/TableInfoValue.d.ts +0 -10
- package/dist/types/table/_components/TableInfoValue.d.ts.map +1 -1
- package/dist/types/table/_components/TablePagination.d.ts +0 -12
- package/dist/types/table/_components/TablePagination.d.ts.map +1 -1
- package/dist/types/table/_components/TableRowActions.d.ts +0 -6
- package/dist/types/table/_components/TableRowActions.d.ts.map +1 -1
- package/dist/types/table/types.d.ts +2 -18
- package/dist/types/table/types.d.ts.map +1 -1
- package/dist/types/table/utils.d.ts +1 -7
- package/dist/types/table/utils.d.ts.map +1 -1
- package/dist/types/tabs/Tabs.d.ts +0 -1
- package/dist/types/tabs/Tabs.d.ts.map +1 -1
- package/dist/types/tabs/_components/TabsContent.d.ts +0 -5
- package/dist/types/tabs/_components/TabsContent.d.ts.map +1 -1
- package/dist/types/tabs/_components/TabsList.d.ts +6 -6
- package/dist/types/tabs/_components/TabsTrigger.d.ts +1 -1
- package/dist/types/tabs/utils.d.ts +0 -5
- package/dist/types/tabs/utils.d.ts.map +1 -1
- package/dist/types/tag/utils.d.ts +0 -8
- package/dist/types/tag/utils.d.ts.map +1 -1
- package/dist/types/theme-customizer/ThemeCustomizer.d.ts +1 -1
- package/dist/types/timeline/Timeline.d.ts +1 -3
- package/dist/types/timeline/Timeline.d.ts.map +1 -1
- package/dist/types/toast/Toast.d.ts +2 -2
- package/dist/types/toast/useToast.d.ts +2 -4
- package/dist/types/toast/useToast.d.ts.map +1 -1
- package/dist/types/toast/utils.d.ts +0 -1
- package/dist/types/toast/utils.d.ts.map +1 -1
- package/dist/types/tooltip/Tooltip.d.ts.map +1 -1
- package/dist/types/tooltip/utils.d.ts +0 -6
- package/dist/types/tooltip/utils.d.ts.map +1 -1
- package/dist/types/tour/Tour.d.ts +0 -6
- package/dist/types/tour/Tour.d.ts.map +1 -1
- package/dist/types/tour/utils.d.ts +1 -1
- package/dist/types/tour/utils.d.ts.map +1 -1
- package/dist/types/transfer/Transfer.d.ts +0 -5
- package/dist/types/transfer/Transfer.d.ts.map +1 -1
- package/dist/types/transfer/utils.d.ts +1 -3
- package/dist/types/transfer/utils.d.ts.map +1 -1
- package/dist/types/tree/Tree.d.ts +0 -6
- package/dist/types/tree/Tree.d.ts.map +1 -1
- package/dist/types/tree/utils.d.ts +1 -1
- package/dist/types/tree-select/TreeSelect.d.ts +0 -6
- package/dist/types/tree-select/TreeSelect.d.ts.map +1 -1
- package/dist/types/tree-select/_components/TreeSelectPanel.d.ts +1 -1
- package/dist/types/tree-select/utils.d.ts +1 -1
- package/dist/types/typography/utils.d.ts.map +1 -1
- package/dist/types/upload/_components/List.d.ts +0 -7
- package/dist/types/upload/_components/List.d.ts.map +1 -1
- package/dist/types/upload/_components/ReviewList.d.ts +0 -8
- package/dist/types/upload/_components/ReviewList.d.ts.map +1 -1
- package/dist/types/upload/_components/UploadDragDropButton.d.ts +0 -8
- package/dist/types/upload/_components/UploadDragDropButton.d.ts.map +1 -1
- package/dist/types/upload/_components/UploadReviewButton.d.ts +0 -5
- package/dist/types/upload/_components/UploadReviewButton.d.ts.map +1 -1
- package/dist/types/upload/types.d.ts +5 -8
- package/dist/types/upload/types.d.ts.map +1 -1
- package/dist/types/upload/useUpload.d.ts +0 -10
- package/dist/types/upload/useUpload.d.ts.map +1 -1
- package/dist/types/upload/utils.d.ts +0 -4
- package/dist/types/upload/utils.d.ts.map +1 -1
- package/dist/typewriter.js +1 -1
- package/dist/typography.js +2 -2
- package/dist/typography.js.map +1 -1
- package/dist/upload.js +8 -8
- package/dist/upload.js.map +1 -1
- package/package.json +3 -3
- package/dist/chunk-3ABWBQCS.js.map +0 -1
- package/dist/chunk-47FHUOLT.js.map +0 -1
- package/dist/chunk-54HHEXXD.js.map +0 -1
- package/dist/chunk-BDV4GOEN.js.map +0 -1
- package/dist/chunk-CYLXW66E.js.map +0 -1
- package/dist/chunk-DKENCYHA.js.map +0 -1
- package/dist/chunk-DUCIAQGR.js.map +0 -1
- package/dist/chunk-ELHESRRH.js.map +0 -1
- package/dist/chunk-FFXRFQSU.js.map +0 -1
- package/dist/chunk-FNJHS5KQ.js.map +0 -1
- package/dist/chunk-IO4346TF.js.map +0 -1
- package/dist/chunk-IP2J3BWY.js.map +0 -1
- package/dist/chunk-JNZODUXP.js.map +0 -1
- package/dist/chunk-KCYM2JXP.js.map +0 -1
- package/dist/chunk-LBQMEHK6.js.map +0 -1
- package/dist/chunk-LBXIPDAB.js.map +0 -1
- package/dist/chunk-LEOIKO7C.js.map +0 -1
- package/dist/chunk-LZHERDNB.js.map +0 -1
- package/dist/chunk-NPM7IDYV.js.map +0 -1
- package/dist/chunk-NS7FKOFI.js.map +0 -1
- package/dist/chunk-P7Z5BREP.js.map +0 -1
- package/dist/chunk-QDFDMWXD.js.map +0 -1
- package/dist/chunk-QNOHFHVL.js.map +0 -1
- package/dist/chunk-QZRBO7BE.js.map +0 -1
- package/dist/chunk-RIBB5OJV.js.map +0 -1
- package/dist/chunk-S66GKX2W.js.map +0 -1
- package/dist/chunk-TCYDVNSU.js.map +0 -1
- package/dist/chunk-TXRQCHOR.js.map +0 -1
- package/dist/chunk-V7KDUUV6.js.map +0 -1
- package/dist/chunk-XUKVQO6M.js.map +0 -1
- package/dist/chunk-YZ7MDC6B.js.map +0 -1
- package/dist/chunk-ZXYQ2ZPR.js.map +0 -1
- /package/dist/{chunk-2IEXY3OZ.js.map → chunk-CVKAGR3D.js.map} +0 -0
package/dist/float-button.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/float-button/FloatButton.tsx","../src/float-button/utils.ts","../src/float-button/FloatButtonGroup.tsx","../src/float-button/BackTop.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { createContext, useContext } from \"react\";\nimport { cn } from \"@mari-ui/core\";\nimport { Badge } from \"../badge\";\nimport { bgSolidClass, bgSolidHoverClass, textSolidContrastClass } from \"../lib/colorClasses\";\nimport { elevationClass } from \"../lib/elevationClass\";\nimport { skeletonBoxProps } from \"../lib/skeleton\";\nimport { Tooltip } from \"../tooltip\";\nimport type { FloatButtonPlacement, FloatButtonProps, FloatButtonShape } from \"./types\";\nimport { PLACEMENT_CLASS } from \"./utils\";\n\nexport type { FloatButtonProps };\n\n/** Grup içindeki düğmeler sabit konumlanmaz; şekil gruptan gelir. */\nexport const FloatGroupContext = createContext<{ shape: FloatButtonShape; joined: boolean; skeleton?: boolean } | null>(null);\n\nconst SHAPE_CLASS: Record<FloatButtonShape, string> = { circle: \"rounded-full\", square: \"rounded-lg\" };\n\n/** Birleşik (kare) grupta düğmeler grubun genişliğine yayılır — açıklamasız olan da diğerleriyle hizalı. */\nfunction boxClass(hasDescription: boolean, joined: boolean) {\n if (hasDescription) return joined ? \"min-h-14 w-full min-w-14 px-1 py-2\" : \"min-h-14 w-14 px-1 py-2\";\n return joined ? \"h-10 w-full min-w-10\" : \"size-10\";\n}\n\nexport function floatButtonClass({ color, shape, joined, hasDescription }: { color?: Exclude<FloatButtonProps[\"color\"], undefined>; shape: FloatButtonShape; joined: boolean; hasDescription: boolean }) {\n return cn(\n \"relative inline-flex shrink-0 cursor-pointer flex-col items-center justify-center gap-0.5 outline-none transition-colors duration-150\",\n \"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mari-ring\",\n // Dokunmatikte 44px (görsel 40px; görünmez katman — Faz 15 kuralı).\n \"pointer-coarse:before:absolute pointer-coarse:before:-inset-0.5\",\n boxClass(hasDescription, joined),\n joined ? \"rounded-none\" : SHAPE_CLASS[shape],\n color\n ? cn(bgSolidClass[color], bgSolidHoverClass[color], textSolidContrastClass[color])\n : cn(\"bg-mari-surface text-mari-foreground hover:bg-mari-surface-alt\", !joined && \"border border-mari-border\")\n );\n}\n\n/**\n * Faz 16.6 — yapı ant.design FloatButton'dan: sayfanın köşesinde sabit,\n * içerikten bağımsız eylem düğmesi (yardım, sohbet, yeni oluştur). İkon +\n * (kare şekilde) kısa açıklama, ipucu, rozet, bağlantı. Grup içinde konumu\n * grup belirler.\n *\n * Erişilebilirlik: gerçek `<button>`/`<a>`; ikon-yalnız düğmede ad\n * `aria-label` ya da `tooltip` (düz metinse) — ipucu tek başına ad değildir,\n * metni ada da yazılır. Dokunmatikte 44px hedef. Sayfanın içeriğini örtmemesi\n * tüketicinin işi: alttaki son öğeye yeterli boşluk bırakın.\n */\nfunction resolveLabel(ariaLabel: string | undefined, hasDescription: boolean, tooltip: React.ReactNode): string | undefined {\n if (ariaLabel) return ariaLabel;\n if (hasDescription) return undefined;\n return typeof tooltip === \"string\" ? tooltip : undefined;\n}\n\n/** İpucu ekranın içine doğru: grupta yana, tek başına dikeyde. */\nfunction tooltipPlacement(placement: FloatButtonPlacement, inGroup: boolean) {\n if (inGroup) return placement.endsWith(\"right\") ? \"left\" : \"right\";\n return placement.startsWith(\"bottom\") ? \"top\" : \"bottom\";\n}\n\nfunction FloatControl({ href, target, label, onClick, className, children }: Readonly<{ href?: string; target?: React.HTMLAttributeAnchorTarget; label?: string; onClick?: Exclude<FloatButtonProps[\"onClick\"], undefined>; className: string; children: React.ReactNode }>) {\n if (href) {\n return (\n <a href={href} target={target} rel={target === \"_blank\" ? \"noopener noreferrer\" : undefined} aria-label={label} onClick={onClick} className={className}>\n {children}\n </a>\n );\n }\n return (\n <button type=\"button\" aria-label={label} onClick={onClick} className={className}>\n {children}\n </button>\n );\n}\n\n/**\n * Faz 16.6 — yapı ant.design FloatButton'dan: sayfanın köşesinde sabit,\n * içerikten bağımsız eylem düğmesi (yardım, sohbet, yeni oluştur). İkon +\n * (kare şekilde) kısa açıklama, ipucu, rozet, bağlantı. Grup içinde konumu\n * grup belirler.\n *\n * Erişilebilirlik: gerçek `<button>`/`<a>`; ikon-yalnız düğmede ad\n * `aria-label` ya da `tooltip` (düz metinse) — ipucu tek başına ad değildir,\n * metni ada da yazılır. Dokunmatikte 44px hedef. Sayfanın içeriğini örtmemesi\n * tüketicinin işi: alttaki son öğeye yeterli boşluk bırakın.\n */\nexport function FloatButton({\n icon,\n description,\n tooltip,\n color,\n shape: ownShape = \"circle\",\n badge,\n href,\n target,\n onClick,\n placement = \"bottom-right\",\n \"aria-label\": ariaLabel,\n className,\n skeleton = false,\n}: Readonly<FloatButtonProps>) {\n const group = useContext(FloatGroupContext);\n const shape = group?.shape ?? ownShape;\n const joined = !!group?.joined;\n const hasDescription = shape === \"square\" && description !== undefined && description !== null;\n const label = resolveLabel(ariaLabel, hasDescription, tooltip);\n if (process.env.NODE_ENV !== \"production\" && !label && !hasDescription) {\n console.warn(\"[@mari-ui/components] FloatButton: ikon-yalnız düğmeye `aria-label` (ya da düz metin `tooltip`) verin.\");\n }\n const positioned = group ? undefined : cn(\"fixed z-mari-sticky\", PLACEMENT_CLASS[placement]);\n const shapeClass = joined ? \"rounded-none\" : SHAPE_CLASS[shape];\n\n // Grubun iskeleti içindeki düğmelere de geçer (tek prop).\n if (skeleton || group?.skeleton) {\n return <span {...skeletonBoxProps(cn(\"block\", hasDescription ? \"min-h-14 w-14\" : \"size-10\", shapeClass, positioned, className))} />;\n }\n\n let control: React.ReactElement = (\n <FloatControl href={href} target={target} label={label} onClick={onClick} className={floatButtonClass({ color, shape, joined, hasDescription })}>\n {icon && (\n <span aria-hidden className=\"flex items-center justify-center [&_svg]:size-5\">\n {icon}\n </span>\n )}\n {hasDescription && <span className=\"max-w-full truncate text-xs leading-tight\">{description}</span>}\n </FloatControl>\n );\n if (badge) {\n control = (\n <Badge count={badge.count} dot={badge.dot} color={badge.color ?? \"error\"}>\n {control}\n </Badge>\n );\n }\n if (tooltip) control = <Tooltip content={tooltip} placement={tooltipPlacement(placement, !!group)} trigger={control} />;\n if (!positioned) return control;\n return <div className={cn(positioned, elevationClass.lg, shapeClass, className)}>{control}</div>;\n}\n","import type { FloatButtonPlacement } from \"./types\";\n\n/**\n * Faz 16.6 — FloatButton'ın saf yardımcıları. Konum: ekranın köşesine\n * sabit, kenardan 1.5rem; çentikli telefonlarda güvenli alan (safe-area)\n * eklenir — düğme ana ekran çubuğunun altında kalmasın.\n */\nexport const PLACEMENT_CLASS: Record<FloatButtonPlacement, string> = {\n \"bottom-right\": \"right-[calc(1.5rem+env(safe-area-inset-right))] bottom-[calc(1.5rem+env(safe-area-inset-bottom))]\",\n \"bottom-left\": \"left-[calc(1.5rem+env(safe-area-inset-left))] bottom-[calc(1.5rem+env(safe-area-inset-bottom))]\",\n \"top-right\": \"right-[calc(1.5rem+env(safe-area-inset-right))] top-[calc(1.5rem+env(safe-area-inset-top))]\",\n \"top-left\": \"left-[calc(1.5rem+env(safe-area-inset-left))] top-[calc(1.5rem+env(safe-area-inset-top))]\",\n};\n\n/** Menü hangi yöne açılır: alttaki grup yukarı, üstteki aşağı. */\nexport const opensUpward = (placement: FloatButtonPlacement) => placement.startsWith(\"bottom\");\n\n/** BackTop görünürlüğü. */\nexport const shouldShowBackTop = (scrollTop: number, visibilityHeight: number) => scrollTop >= visibilityHeight;\n\n/** Başa döndükten sonra odaklanacak öğe: ilk h1 → main → kök. */\nexport function defaultFocusTarget(root: HTMLElement | Document): HTMLElement | null {\n const scope = root instanceof Document ? root.body : root;\n return scope.querySelector<HTMLElement>(\"h1\") ?? scope.querySelector<HTMLElement>(\"main, [role=main]\") ?? (root instanceof Document ? null : root);\n}\n","\"use client\";\n\nimport React, { useEffect, useId, useRef } from \"react\";\nimport { XIcon } from \"lucide-react\";\nimport { cn, useControllableState } from \"@mari-ui/core\";\nimport { elevationClass } from \"../lib/elevationClass\";\nimport { skeletonBoxProps } from \"../lib/skeleton\";\nimport { Tooltip } from \"../tooltip\";\nimport { FloatGroupContext, floatButtonClass } from \"./FloatButton\";\nimport type { FloatButtonGroupMenuProps, FloatButtonGroupProps } from \"./types\";\nimport { opensUpward, PLACEMENT_CLASS } from \"./utils\";\n\nexport type { FloatButtonGroupProps };\n\nconst HOVER_CLOSE_MS = 150;\n\n/** Açılır grubun dışarı tıklama / Escape ile kapanması; Escape'te odak ana düğmeye döner. */\nfunction useMenuDismiss(open: boolean, rootRef: React.RefObject<HTMLDivElement | null>, triggerRef: React.RefObject<HTMLButtonElement | null>, close: () => void) {\n const closeRef = useRef(close);\n closeRef.current = close;\n useEffect(() => {\n if (!open) return;\n const onPointerDown = (e: PointerEvent) => {\n if (!rootRef.current?.contains(e.target as Node)) closeRef.current();\n };\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key !== \"Escape\" || !rootRef.current?.contains(document.activeElement)) return;\n e.preventDefault();\n closeRef.current();\n triggerRef.current?.focus();\n };\n document.addEventListener(\"pointerdown\", onPointerDown);\n document.addEventListener(\"keydown\", onKeyDown, true);\n return () => {\n document.removeEventListener(\"pointerdown\", onPointerDown);\n document.removeEventListener(\"keydown\", onKeyDown, true);\n };\n }, [open, rootRef, triggerRef]);\n}\n\nfunction MenuGroup(props: Readonly<FloatButtonGroupMenuProps>) {\n const { trigger, shape = \"circle\", placement = \"bottom-right\", icon, color = \"primary\", tooltip, \"aria-label\": ariaLabel = \"Hızlı işlemler\", children, className, skeleton = false } = props;\n const [open, setOpen] = useControllableState<boolean>({ value: props.open, defaultValue: props.defaultOpen ?? false, onChange: props.onOpenChange });\n const rootRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const menuId = useId();\n const timer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n useEffect(() => () => clearTimeout(timer.current), []);\n useMenuDismiss(open, rootRef, triggerRef, () => setOpen(false));\n const up = opensUpward(placement);\n\n const hover =\n trigger === \"hover\"\n ? {\n onMouseEnter: () => {\n clearTimeout(timer.current);\n setOpen(true);\n },\n onMouseLeave: () => {\n timer.current = setTimeout(() => setOpen(false), HOVER_CLOSE_MS);\n },\n }\n : {};\n\n let main: React.ReactElement = (\n <button\n ref={triggerRef}\n type=\"button\"\n aria-label={ariaLabel}\n aria-expanded={open}\n aria-controls={menuId}\n onClick={() => setOpen(!open)}\n className={cn(floatButtonClass({ color, shape, joined: false, hasDescription: false }), elevationClass.lg)}\n >\n <span aria-hidden className={cn(\"flex transition-transform duration-200 motion-reduce:transition-none [&_svg]:size-5\", open && \"rotate-90\")}>\n {open ? <XIcon /> : icon}\n </span>\n </button>\n );\n if (skeleton) main = <span {...skeletonBoxProps(cn(\"block size-10\", shape === \"square\" ? \"rounded-lg\" : \"rounded-full\"))} />;\n else if (tooltip && !open) main = <Tooltip content={tooltip} placement={placement.endsWith(\"right\") ? \"left\" : \"right\"} trigger={main} />;\n\n return (\n <div ref={rootRef} {...hover} className={cn(\"fixed z-mari-sticky flex items-center gap-3\", up ? \"flex-col-reverse\" : \"flex-col\", PLACEMENT_CLASS[placement], className)}>\n {main}\n {/* Kapalıyken DOM'da değil (Tab ile gizli düğmelere gidilmesin). */}\n {open && (\n <FloatGroupContext.Provider value={{ shape, joined: false }}>\n <div\n id={menuId}\n role=\"group\"\n aria-label={ariaLabel}\n className={cn(\n \"flex items-center gap-3 transition-[opacity,translate] duration-200 starting:opacity-0 motion-reduce:transition-none\",\n up ? \"flex-col-reverse starting:translate-y-2\" : \"flex-col starting:-translate-y-2\",\n \"[&>*]:rounded-full [&>*]:shadow-mari-md\"\n )}\n >\n {children}\n </div>\n </FloatGroupContext.Provider>\n )}\n </div>\n );\n}\n\n/**\n * Faz 16.6 — FloatButton.Group: birden çok yüzen düğme. `trigger` yoksa hep\n * görünür bir sütun (kare şekilde tek kart gibi birleşik); `trigger`\n * verilirse ana düğme menüyü açar (`aria-expanded`), Escape/dışarı tıklama\n * kapatır ve odak ana düğmeye döner.\n */\nexport function FloatButtonGroup(props: FloatButtonGroupProps) {\n if (props.trigger) return <MenuGroup {...props} />;\n const { shape = \"circle\", placement = \"bottom-right\", children, className, skeleton } = props;\n const joined = shape === \"square\";\n return (\n <FloatGroupContext.Provider value={{ shape, joined, skeleton }}>\n <div\n role=\"group\"\n aria-busy={skeleton || undefined}\n className={cn(\n \"fixed z-mari-sticky flex flex-col\",\n PLACEMENT_CLASS[placement],\n joined ? cn(\"overflow-hidden rounded-lg border border-mari-border divide-y divide-mari-border\", elevationClass.lg) : \"gap-3 [&>*]:rounded-full [&>*]:shadow-mari-lg\",\n className\n )}\n >\n {children}\n </div>\n </FloatGroupContext.Provider>\n );\n}\n","\"use client\";\n\nimport React, { useEffect, useState } from \"react\";\nimport { ArrowUpIcon } from \"lucide-react\";\nimport { FloatButton } from \"./FloatButton\";\nimport type { BackTopProps } from \"./types\";\nimport { defaultFocusTarget, shouldShowBackTop } from \"./utils\";\n\nexport type { BackTopProps };\n\nconst reducedMotion = () => typeof window !== \"undefined\" && window.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches;\n\n/**\n * Faz 16.6 — FloatButton.BackTop: sayfa (ya da `target`) yeterince\n * kaydırılınca beliren \"başa dön\". Hareket azaltma tercihinde anında atlar.\n * Başa dönünce odak sayfanın başına (ilk h1 / main) taşınır — düğme\n * gizlendiğinde odak kaybolmasın ve klavye kullanıcısı baştan devam etsin.\n */\nexport function BackTop({ visibilityHeight = 400, target, focusTarget, icon = <ArrowUpIcon />, \"aria-label\": ariaLabel = \"Başa dön\", tooltip, ...rest }: Readonly<BackTopProps>) {\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const el = target?.() ?? null;\n const source: HTMLElement | Window = el ?? window;\n const read = () => setVisible(shouldShowBackTop(el ? el.scrollTop : window.scrollY, visibilityHeight));\n read();\n source.addEventListener(\"scroll\", read, { passive: true });\n return () => source.removeEventListener(\"scroll\", read);\n }, [target, visibilityHeight]);\n\n if (!visible) return null;\n\n const backToTop = () => {\n const el = target?.() ?? null;\n const behavior: ScrollBehavior = reducedMotion() ? \"auto\" : \"smooth\";\n (el ?? window).scrollTo({ top: 0, behavior });\n const focusEl = focusTarget?.() ?? defaultFocusTarget(el ?? document);\n if (focusEl) {\n if (!focusEl.hasAttribute(\"tabindex\") && !focusEl.matches(\"a, button, input, select, textarea\")) focusEl.setAttribute(\"tabindex\", \"-1\");\n focusEl.focus({ preventScroll: true });\n }\n };\n\n return <FloatButton {...rest} icon={icon} aria-label={ariaLabel} tooltip={tooltip} onClick={backToTop} />;\n}\n"],"mappings":"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","names":["cn","jsx","jsxs","cn","useEffect","jsx","useEffect"]}
|
|
1
|
+
{"version":3,"sources":["../src/float-button/FloatButton.tsx","../src/float-button/utils.ts","../src/float-button/FloatButtonGroup.tsx","../src/float-button/BackTop.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { createContext, useContext } from \"react\";\nimport { cn } from \"@mari-ui/core\";\nimport { Badge } from \"../badge\";\nimport { bgSolidClass, bgSolidHoverClass, textSolidContrastClass } from \"../lib/colorClasses\";\nimport { elevationClass } from \"../lib/elevationClass\";\nimport { skeletonBoxProps } from \"../lib/skeleton\";\nimport { Tooltip } from \"../tooltip\";\nimport type { FloatButtonPlacement, FloatButtonProps, FloatButtonShape } from \"./types\";\nimport { PLACEMENT_CLASS } from \"./utils\";\n\nexport type { FloatButtonProps };\n\n/** Grup içindeki düğmeler sabit konumlanmaz; şekil gruptan gelir. */\nexport const FloatGroupContext = createContext<{ shape: FloatButtonShape; joined: boolean; skeleton?: boolean } | null>(null);\n\nconst SHAPE_CLASS: Record<FloatButtonShape, string> = { circle: \"rounded-full\", square: \"rounded-lg\" };\n\n/** Birleşik (kare) grupta düğmeler grubun genişliğine yayılır — açıklamasız olan da diğerleriyle hizalı. */\nfunction boxClass(hasDescription: boolean, joined: boolean) {\n if (hasDescription) return joined ? \"min-h-14 w-full min-w-14 px-1 py-2\" : \"min-h-14 w-14 px-1 py-2\";\n return joined ? \"h-10 w-full min-w-10\" : \"size-10\";\n}\n\nexport function floatButtonClass({ color, shape, joined, hasDescription }: { color?: Exclude<FloatButtonProps[\"color\"], undefined>; shape: FloatButtonShape; joined: boolean; hasDescription: boolean }) {\n return cn(\n \"relative inline-flex shrink-0 cursor-pointer flex-col items-center justify-center gap-0.5 outline-none transition-colors duration-150\",\n \"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-mari-ring\",\n // Dokunmatikte 44px (görsel 40px; görünmez katman — Faz 15 kuralı).\n \"pointer-coarse:before:absolute pointer-coarse:before:-inset-0.5\",\n boxClass(hasDescription, joined),\n joined ? \"rounded-none\" : SHAPE_CLASS[shape],\n color\n ? cn(bgSolidClass[color], bgSolidHoverClass[color], textSolidContrastClass[color])\n : cn(\"bg-mari-surface text-mari-foreground hover:bg-mari-surface-alt\", !joined && \"border border-mari-border\")\n );\n}\n\n/*\n * yapı ant.design FloatButton'dan: sayfanın köşesinde sabit,\n * içerikten bağımsız eylem düğmesi (yardım, sohbet, yeni oluştur). İkon +\n * (kare şekilde) kısa açıklama, ipucu, rozet, bağlantı. Grup içinde konumu\n * grup belirler.\n */\n/**\n * Erişilebilirlik: gerçek `<button>`/`<a>`; ikon-yalnız düğmede ad\n * `aria-label` ya da `tooltip` (düz metinse) — ipucu tek başına ad değildir,\n * metni ada da yazılır. Dokunmatikte 44px hedef. Sayfanın içeriğini örtmemesi\n * tüketicinin işi: alttaki son öğeye yeterli boşluk bırakın.\n */\nfunction resolveLabel(ariaLabel: string | undefined, hasDescription: boolean, tooltip: React.ReactNode): string | undefined {\n if (ariaLabel) return ariaLabel;\n if (hasDescription) return undefined;\n return typeof tooltip === \"string\" ? tooltip : undefined;\n}\n\n/** İpucu ekranın içine doğru: grupta yana, tek başına dikeyde. */\nfunction tooltipPlacement(placement: FloatButtonPlacement, inGroup: boolean) {\n if (inGroup) return placement.endsWith(\"right\") ? \"left\" : \"right\";\n return placement.startsWith(\"bottom\") ? \"top\" : \"bottom\";\n}\n\nfunction FloatControl({ href, target, label, onClick, className, children }: Readonly<{ href?: string; target?: React.HTMLAttributeAnchorTarget; label?: string; onClick?: Exclude<FloatButtonProps[\"onClick\"], undefined>; className: string; children: React.ReactNode }>) {\n if (href) {\n return (\n <a href={href} target={target} rel={target === \"_blank\" ? \"noopener noreferrer\" : undefined} aria-label={label} onClick={onClick} className={className}>\n {children}\n </a>\n );\n }\n return (\n <button type=\"button\" aria-label={label} onClick={onClick} className={className}>\n {children}\n </button>\n );\n}\n\n/*\n * yapı ant.design FloatButton'dan: sayfanın köşesinde sabit,\n * içerikten bağımsız eylem düğmesi (yardım, sohbet, yeni oluştur). İkon +\n * (kare şekilde) kısa açıklama, ipucu, rozet, bağlantı. Grup içinde konumu\n * grup belirler.\n */\n/**\n * Erişilebilirlik: gerçek `<button>`/`<a>`; ikon-yalnız düğmede ad\n * `aria-label` ya da `tooltip` (düz metinse) — ipucu tek başına ad değildir,\n * metni ada da yazılır. Dokunmatikte 44px hedef. Sayfanın içeriğini örtmemesi\n * tüketicinin işi: alttaki son öğeye yeterli boşluk bırakın.\n */\nexport function FloatButton({\n icon,\n description,\n tooltip,\n color,\n shape: ownShape = \"circle\",\n badge,\n href,\n target,\n onClick,\n placement = \"bottom-right\",\n \"aria-label\": ariaLabel,\n className,\n skeleton = false,\n}: Readonly<FloatButtonProps>) {\n const group = useContext(FloatGroupContext);\n const shape = group?.shape ?? ownShape;\n const joined = !!group?.joined;\n const hasDescription = shape === \"square\" && description !== undefined && description !== null;\n const label = resolveLabel(ariaLabel, hasDescription, tooltip);\n if (process.env.NODE_ENV !== \"production\" && !label && !hasDescription) {\n console.warn(\"[@mari-ui/components] FloatButton: ikon-yalnız düğmeye `aria-label` (ya da düz metin `tooltip`) verin.\");\n }\n const positioned = group ? undefined : cn(\"fixed z-mari-sticky\", PLACEMENT_CLASS[placement]);\n const shapeClass = joined ? \"rounded-none\" : SHAPE_CLASS[shape];\n\n // Grubun iskeleti içindeki düğmelere de geçer (tek prop).\n if (skeleton || group?.skeleton) {\n return <span {...skeletonBoxProps(cn(\"block\", hasDescription ? \"min-h-14 w-14\" : \"size-10\", shapeClass, positioned, className))} />;\n }\n\n let control: React.ReactElement = (\n <FloatControl href={href} target={target} label={label} onClick={onClick} className={floatButtonClass({ color, shape, joined, hasDescription })}>\n {icon && (\n <span aria-hidden className=\"flex items-center justify-center [&_svg]:size-5\">\n {icon}\n </span>\n )}\n {hasDescription && <span className=\"max-w-full truncate text-xs leading-tight\">{description}</span>}\n </FloatControl>\n );\n if (badge) {\n control = (\n <Badge count={badge.count} dot={badge.dot} color={badge.color ?? \"error\"}>\n {control}\n </Badge>\n );\n }\n if (tooltip) control = <Tooltip content={tooltip} placement={tooltipPlacement(placement, !!group)} trigger={control} />;\n if (!positioned) return control;\n return <div className={cn(positioned, elevationClass.lg, shapeClass, className)}>{control}</div>;\n}\n","import type { FloatButtonPlacement } from \"./types\";\n\n/**\n * FloatButton'ın saf yardımcıları. Konum: ekranın köşesine\n * sabit, kenardan 1.5rem; çentikli telefonlarda güvenli alan (safe-area)\n * eklenir — düğme ana ekran çubuğunun altında kalmasın.\n */\nexport const PLACEMENT_CLASS: Record<FloatButtonPlacement, string> = {\n \"bottom-right\": \"right-[calc(1.5rem+env(safe-area-inset-right))] bottom-[calc(1.5rem+env(safe-area-inset-bottom))]\",\n \"bottom-left\": \"left-[calc(1.5rem+env(safe-area-inset-left))] bottom-[calc(1.5rem+env(safe-area-inset-bottom))]\",\n \"top-right\": \"right-[calc(1.5rem+env(safe-area-inset-right))] top-[calc(1.5rem+env(safe-area-inset-top))]\",\n \"top-left\": \"left-[calc(1.5rem+env(safe-area-inset-left))] top-[calc(1.5rem+env(safe-area-inset-top))]\",\n};\n\n/** Menü hangi yöne açılır: alttaki grup yukarı, üstteki aşağı. */\nexport const opensUpward = (placement: FloatButtonPlacement) => placement.startsWith(\"bottom\");\n\n/** BackTop görünürlüğü. */\nexport const shouldShowBackTop = (scrollTop: number, visibilityHeight: number) => scrollTop >= visibilityHeight;\n\n/** Başa döndükten sonra odaklanacak öğe: ilk h1 → main → kök. */\nexport function defaultFocusTarget(root: HTMLElement | Document): HTMLElement | null {\n const scope = root instanceof Document ? root.body : root;\n return scope.querySelector<HTMLElement>(\"h1\") ?? scope.querySelector<HTMLElement>(\"main, [role=main]\") ?? (root instanceof Document ? null : root);\n}\n","\"use client\";\n\nimport React, { useEffect, useId, useRef } from \"react\";\nimport { XIcon } from \"lucide-react\";\nimport { cn, useControllableState } from \"@mari-ui/core\";\nimport { elevationClass } from \"../lib/elevationClass\";\nimport { skeletonBoxProps } from \"../lib/skeleton\";\nimport { Tooltip } from \"../tooltip\";\nimport { FloatGroupContext, floatButtonClass } from \"./FloatButton\";\nimport type { FloatButtonGroupMenuProps, FloatButtonGroupProps } from \"./types\";\nimport { opensUpward, PLACEMENT_CLASS } from \"./utils\";\n\nexport type { FloatButtonGroupProps };\n\nconst HOVER_CLOSE_MS = 150;\n\n/** Açılır grubun dışarı tıklama / Escape ile kapanması; Escape'te odak ana düğmeye döner. */\nfunction useMenuDismiss(open: boolean, rootRef: React.RefObject<HTMLDivElement | null>, triggerRef: React.RefObject<HTMLButtonElement | null>, close: () => void) {\n const closeRef = useRef(close);\n closeRef.current = close;\n useEffect(() => {\n if (!open) return;\n const onPointerDown = (e: PointerEvent) => {\n if (!rootRef.current?.contains(e.target as Node)) closeRef.current();\n };\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key !== \"Escape\" || !rootRef.current?.contains(document.activeElement)) return;\n e.preventDefault();\n closeRef.current();\n triggerRef.current?.focus();\n };\n document.addEventListener(\"pointerdown\", onPointerDown);\n document.addEventListener(\"keydown\", onKeyDown, true);\n return () => {\n document.removeEventListener(\"pointerdown\", onPointerDown);\n document.removeEventListener(\"keydown\", onKeyDown, true);\n };\n }, [open, rootRef, triggerRef]);\n}\n\nfunction MenuGroup(props: Readonly<FloatButtonGroupMenuProps>) {\n const { trigger, shape = \"circle\", placement = \"bottom-right\", icon, color = \"primary\", tooltip, \"aria-label\": ariaLabel = \"Hızlı işlemler\", children, className, skeleton = false } = props;\n const [open, setOpen] = useControllableState<boolean>({ value: props.open, defaultValue: props.defaultOpen ?? false, onChange: props.onOpenChange });\n const rootRef = useRef<HTMLDivElement>(null);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const menuId = useId();\n const timer = useRef<ReturnType<typeof setTimeout> | undefined>(undefined);\n useEffect(() => () => clearTimeout(timer.current), []);\n useMenuDismiss(open, rootRef, triggerRef, () => setOpen(false));\n const up = opensUpward(placement);\n\n const hover =\n trigger === \"hover\"\n ? {\n onMouseEnter: () => {\n clearTimeout(timer.current);\n setOpen(true);\n },\n onMouseLeave: () => {\n timer.current = setTimeout(() => setOpen(false), HOVER_CLOSE_MS);\n },\n }\n : {};\n\n let main: React.ReactElement = (\n <button\n ref={triggerRef}\n type=\"button\"\n aria-label={ariaLabel}\n aria-expanded={open}\n aria-controls={menuId}\n onClick={() => setOpen(!open)}\n className={cn(floatButtonClass({ color, shape, joined: false, hasDescription: false }), elevationClass.lg)}\n >\n <span aria-hidden className={cn(\"flex transition-transform duration-200 motion-reduce:transition-none [&_svg]:size-5\", open && \"rotate-90\")}>\n {open ? <XIcon /> : icon}\n </span>\n </button>\n );\n if (skeleton) main = <span {...skeletonBoxProps(cn(\"block size-10\", shape === \"square\" ? \"rounded-lg\" : \"rounded-full\"))} />;\n else if (tooltip && !open) main = <Tooltip content={tooltip} placement={placement.endsWith(\"right\") ? \"left\" : \"right\"} trigger={main} />;\n\n return (\n <div ref={rootRef} {...hover} className={cn(\"fixed z-mari-sticky flex items-center gap-3\", up ? \"flex-col-reverse\" : \"flex-col\", PLACEMENT_CLASS[placement], className)}>\n {main}\n {/* Kapalıyken DOM'da değil (Tab ile gizli düğmelere gidilmesin). */}\n {open && (\n <FloatGroupContext.Provider value={{ shape, joined: false }}>\n <div\n id={menuId}\n role=\"group\"\n aria-label={ariaLabel}\n className={cn(\n \"flex items-center gap-3 transition-[opacity,translate] duration-200 starting:opacity-0 motion-reduce:transition-none\",\n up ? \"flex-col-reverse starting:translate-y-2\" : \"flex-col starting:-translate-y-2\",\n \"[&>*]:rounded-full [&>*]:shadow-mari-md\"\n )}\n >\n {children}\n </div>\n </FloatGroupContext.Provider>\n )}\n </div>\n );\n}\n\n/**\n * FloatButton.Group: birden çok yüzen düğme. `trigger` yoksa hep\n * görünür bir sütun (kare şekilde tek kart gibi birleşik); `trigger`\n * verilirse ana düğme menüyü açar (`aria-expanded`), Escape/dışarı tıklama\n * kapatır ve odak ana düğmeye döner.\n */\nexport function FloatButtonGroup(props: FloatButtonGroupProps) {\n if (props.trigger) return <MenuGroup {...props} />;\n const { shape = \"circle\", placement = \"bottom-right\", children, className, skeleton } = props;\n const joined = shape === \"square\";\n return (\n <FloatGroupContext.Provider value={{ shape, joined, skeleton }}>\n <div\n role=\"group\"\n aria-busy={skeleton || undefined}\n className={cn(\n \"fixed z-mari-sticky flex flex-col\",\n PLACEMENT_CLASS[placement],\n joined ? cn(\"overflow-hidden rounded-lg border border-mari-border divide-y divide-mari-border\", elevationClass.lg) : \"gap-3 [&>*]:rounded-full [&>*]:shadow-mari-lg\",\n className\n )}\n >\n {children}\n </div>\n </FloatGroupContext.Provider>\n );\n}\n","\"use client\";\n\nimport React, { useEffect, useState } from \"react\";\nimport { ArrowUpIcon } from \"lucide-react\";\nimport { FloatButton } from \"./FloatButton\";\nimport type { BackTopProps } from \"./types\";\nimport { defaultFocusTarget, shouldShowBackTop } from \"./utils\";\n\nexport type { BackTopProps };\n\nconst reducedMotion = () => typeof window !== \"undefined\" && window.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches;\n\n/**\n * FloatButton.BackTop: sayfa (ya da `target`) yeterince\n * kaydırılınca beliren \"başa dön\". Hareket azaltma tercihinde anında atlar.\n * Başa dönünce odak sayfanın başına (ilk h1 / main) taşınır — düğme\n * gizlendiğinde odak kaybolmasın ve klavye kullanıcısı baştan devam etsin.\n */\nexport function BackTop({ visibilityHeight = 400, target, focusTarget, icon = <ArrowUpIcon />, \"aria-label\": ariaLabel = \"Başa dön\", tooltip, ...rest }: Readonly<BackTopProps>) {\n const [visible, setVisible] = useState(false);\n\n useEffect(() => {\n const el = target?.() ?? null;\n const source: HTMLElement | Window = el ?? window;\n const read = () => setVisible(shouldShowBackTop(el ? el.scrollTop : window.scrollY, visibilityHeight));\n read();\n source.addEventListener(\"scroll\", read, { passive: true });\n return () => source.removeEventListener(\"scroll\", read);\n }, [target, visibilityHeight]);\n\n if (!visible) return null;\n\n const backToTop = () => {\n const el = target?.() ?? null;\n const behavior: ScrollBehavior = reducedMotion() ? \"auto\" : \"smooth\";\n (el ?? window).scrollTo({ top: 0, behavior });\n const focusEl = focusTarget?.() ?? defaultFocusTarget(el ?? document);\n if (focusEl) {\n if (!focusEl.hasAttribute(\"tabindex\") && !focusEl.matches(\"a, button, input, select, textarea\")) focusEl.setAttribute(\"tabindex\", \"-1\");\n focusEl.focus({ preventScroll: true });\n }\n };\n\n return <FloatButton {...rest} icon={icon} aria-label={ariaLabel} tooltip={tooltip} onClick={backToTop} />;\n}\n"],"mappings":"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","names":["cn","jsx","jsxs","cn","useEffect","jsx","useEffect"]}
|
package/dist/image.js
CHANGED
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
import {
|
|
4
4
|
InfiniteScrollFooter
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-5GILG5AK.js";
|
|
6
6
|
import {
|
|
7
7
|
useModalBehavior,
|
|
8
8
|
usePresence
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-OYDG6C54.js";
|
|
10
10
|
import {
|
|
11
11
|
Segmented
|
|
12
|
-
} from "./chunk-
|
|
13
|
-
import "./chunk-
|
|
12
|
+
} from "./chunk-RLWP6NJU.js";
|
|
13
|
+
import "./chunk-NPFMPRII.js";
|
|
14
14
|
import {
|
|
15
15
|
Button
|
|
16
|
-
} from "./chunk-
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
16
|
+
} from "./chunk-CVKAGR3D.js";
|
|
17
|
+
import "./chunk-POBOJBNJ.js";
|
|
18
|
+
import "./chunk-6AMBZXZJ.js";
|
|
19
19
|
import {
|
|
20
20
|
skeletonBoxProps
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-VKN374SD.js";
|
|
22
22
|
|
|
23
23
|
// src/image/Image.tsx
|
|
24
24
|
import { forwardRef, useEffect as useEffect2, useRef as useRef2, useState as useState2 } from "react";
|