@nori-ui/core 1.6.0 → 1.7.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.
Files changed (179) hide show
  1. package/dist/{chunk-7UKRN73P.js → chunk-2XJCLPNH.js} +3 -3
  2. package/dist/{chunk-7UKRN73P.js.map → chunk-2XJCLPNH.js.map} +1 -1
  3. package/dist/{chunk-5PSC5HT4.js → chunk-3B345SQU.js} +5 -5
  4. package/dist/{chunk-5PSC5HT4.js.map → chunk-3B345SQU.js.map} +1 -1
  5. package/dist/{chunk-JSAG5YO7.js → chunk-3IIIHZHT.js} +3 -3
  6. package/dist/{chunk-JSAG5YO7.js.map → chunk-3IIIHZHT.js.map} +1 -1
  7. package/dist/{chunk-DDGMLLS3.js → chunk-3W3XYULK.js} +3 -3
  8. package/dist/{chunk-DDGMLLS3.js.map → chunk-3W3XYULK.js.map} +1 -1
  9. package/dist/{chunk-WYPGQVDV.js → chunk-5YHT252H.js} +3 -3
  10. package/dist/{chunk-WYPGQVDV.js.map → chunk-5YHT252H.js.map} +1 -1
  11. package/dist/{chunk-ZMSIYLSI.js → chunk-7FSFJA33.js} +3 -3
  12. package/dist/{chunk-ZMSIYLSI.js.map → chunk-7FSFJA33.js.map} +1 -1
  13. package/dist/{chunk-YZ27OS2R.js → chunk-C32XGHWO.js} +3 -3
  14. package/dist/{chunk-YZ27OS2R.js.map → chunk-C32XGHWO.js.map} +1 -1
  15. package/dist/{chunk-UJWCEGQY.js → chunk-C5HQPXRI.js} +3 -3
  16. package/dist/{chunk-UJWCEGQY.js.map → chunk-C5HQPXRI.js.map} +1 -1
  17. package/dist/{chunk-XALU6LOT.js → chunk-EN4CLDGZ.js} +3 -3
  18. package/dist/{chunk-XALU6LOT.js.map → chunk-EN4CLDGZ.js.map} +1 -1
  19. package/dist/{chunk-6AD6KCVB.js → chunk-F5UKI7XD.js} +3 -3
  20. package/dist/{chunk-6AD6KCVB.js.map → chunk-F5UKI7XD.js.map} +1 -1
  21. package/dist/chunk-GTAXVTLF.js +43 -0
  22. package/dist/chunk-GTAXVTLF.js.map +1 -0
  23. package/dist/{chunk-NNFJKRXZ.js → chunk-H2LHWJ52.js} +3 -3
  24. package/dist/{chunk-NNFJKRXZ.js.map → chunk-H2LHWJ52.js.map} +1 -1
  25. package/dist/{chunk-PZS4A4VQ.js → chunk-HXCETKCC.js} +3 -3
  26. package/dist/{chunk-PZS4A4VQ.js.map → chunk-HXCETKCC.js.map} +1 -1
  27. package/dist/chunk-IGBXSBF7.js +71 -0
  28. package/dist/chunk-IGBXSBF7.js.map +1 -0
  29. package/dist/{chunk-JXLEMBDB.js → chunk-IIVTPN62.js} +3 -3
  30. package/dist/{chunk-JXLEMBDB.js.map → chunk-IIVTPN62.js.map} +1 -1
  31. package/dist/{chunk-PNP7L4TA.js → chunk-ISCJST4P.js} +3 -3
  32. package/dist/{chunk-PNP7L4TA.js.map → chunk-ISCJST4P.js.map} +1 -1
  33. package/dist/{chunk-TLS54G6Y.js → chunk-IWM2XDXH.js} +3 -3
  34. package/dist/{chunk-TLS54G6Y.js.map → chunk-IWM2XDXH.js.map} +1 -1
  35. package/dist/chunk-J5LK2XHE.js +118 -0
  36. package/dist/chunk-J5LK2XHE.js.map +1 -0
  37. package/dist/chunk-KFFGDET3.js +27 -0
  38. package/dist/chunk-KFFGDET3.js.map +1 -0
  39. package/dist/{chunk-MRJWPRCX.js → chunk-L6VYDM7S.js} +3 -3
  40. package/dist/{chunk-MRJWPRCX.js.map → chunk-L6VYDM7S.js.map} +1 -1
  41. package/dist/chunk-M4BI63P6.js +188 -0
  42. package/dist/chunk-M4BI63P6.js.map +1 -0
  43. package/dist/{chunk-RUWD35UI.js → chunk-MK57AOTI.js} +4 -4
  44. package/dist/{chunk-RUWD35UI.js.map → chunk-MK57AOTI.js.map} +1 -1
  45. package/dist/{chunk-3BDDPFCI.js → chunk-MOAIQHR7.js} +3 -3
  46. package/dist/{chunk-3BDDPFCI.js.map → chunk-MOAIQHR7.js.map} +1 -1
  47. package/dist/{chunk-5XEGZFG5.js → chunk-MYBBBLYE.js} +3 -3
  48. package/dist/{chunk-5XEGZFG5.js.map → chunk-MYBBBLYE.js.map} +1 -1
  49. package/dist/{chunk-WP2Z2ATO.js → chunk-O6M3F7BZ.js} +5 -5
  50. package/dist/{chunk-WP2Z2ATO.js.map → chunk-O6M3F7BZ.js.map} +1 -1
  51. package/dist/{chunk-FEPTH5RV.js → chunk-OELY6K44.js} +3 -3
  52. package/dist/{chunk-FEPTH5RV.js.map → chunk-OELY6K44.js.map} +1 -1
  53. package/dist/{chunk-BZLT6R62.js → chunk-OIHX5B4R.js} +3 -3
  54. package/dist/{chunk-BZLT6R62.js.map → chunk-OIHX5B4R.js.map} +1 -1
  55. package/dist/{chunk-QJVS2VXS.js → chunk-PGYEIXCO.js} +4 -4
  56. package/dist/{chunk-QJVS2VXS.js.map → chunk-PGYEIXCO.js.map} +1 -1
  57. package/dist/{chunk-UZD77M3J.js → chunk-PJTCO76H.js} +3 -3
  58. package/dist/{chunk-UZD77M3J.js.map → chunk-PJTCO76H.js.map} +1 -1
  59. package/dist/{chunk-4PUPKWEP.js → chunk-PJXVLE24.js} +4 -4
  60. package/dist/{chunk-4PUPKWEP.js.map → chunk-PJXVLE24.js.map} +1 -1
  61. package/dist/{chunk-WGT345SV.js → chunk-PLQPBMG2.js} +3 -3
  62. package/dist/{chunk-WGT345SV.js.map → chunk-PLQPBMG2.js.map} +1 -1
  63. package/dist/{chunk-OMU4R4Y5.js → chunk-PQW5LKAI.js} +3 -3
  64. package/dist/{chunk-OMU4R4Y5.js.map → chunk-PQW5LKAI.js.map} +1 -1
  65. package/dist/{chunk-Y5TJ7CAX.js → chunk-RI4Y2C5U.js} +3 -3
  66. package/dist/{chunk-Y5TJ7CAX.js.map → chunk-RI4Y2C5U.js.map} +1 -1
  67. package/dist/{chunk-3OIWAS2P.js → chunk-SF6WPUC5.js} +3 -3
  68. package/dist/{chunk-3OIWAS2P.js.map → chunk-SF6WPUC5.js.map} +1 -1
  69. package/dist/{chunk-MKSDYRWQ.js → chunk-STX5UKYT.js} +3 -3
  70. package/dist/{chunk-MKSDYRWQ.js.map → chunk-STX5UKYT.js.map} +1 -1
  71. package/dist/{chunk-2RL6WCFC.js → chunk-TSWPHJIU.js} +4 -4
  72. package/dist/{chunk-2RL6WCFC.js.map → chunk-TSWPHJIU.js.map} +1 -1
  73. package/dist/{chunk-SFNDR6DI.js → chunk-U2ZKY2CP.js} +3 -3
  74. package/dist/{chunk-SFNDR6DI.js.map → chunk-U2ZKY2CP.js.map} +1 -1
  75. package/dist/{chunk-PABG3IJ6.js → chunk-UKDDK42K.js} +3 -3
  76. package/dist/{chunk-PABG3IJ6.js.map → chunk-UKDDK42K.js.map} +1 -1
  77. package/dist/{chunk-VYRJ7OE5.js → chunk-USFXANEU.js} +3 -3
  78. package/dist/{chunk-VYRJ7OE5.js.map → chunk-USFXANEU.js.map} +1 -1
  79. package/dist/{chunk-CCUXO2HN.js → chunk-V5QSMDZL.js} +3 -3
  80. package/dist/{chunk-CCUXO2HN.js.map → chunk-V5QSMDZL.js.map} +1 -1
  81. package/dist/{chunk-NF7XG2FG.js → chunk-V75O7QQO.js} +3 -3
  82. package/dist/{chunk-NF7XG2FG.js.map → chunk-V75O7QQO.js.map} +1 -1
  83. package/dist/{chunk-NRYWNOG5.js → chunk-VL2WNGPF.js} +3 -3
  84. package/dist/{chunk-NRYWNOG5.js.map → chunk-VL2WNGPF.js.map} +1 -1
  85. package/dist/{chunk-JQQ3FBN7.js → chunk-VLZANXRZ.js} +3 -3
  86. package/dist/{chunk-JQQ3FBN7.js.map → chunk-VLZANXRZ.js.map} +1 -1
  87. package/dist/{chunk-2HMQDJ22.js → chunk-VOF3S5I4.js} +3 -3
  88. package/dist/{chunk-2HMQDJ22.js.map → chunk-VOF3S5I4.js.map} +1 -1
  89. package/dist/chunk-XQNVWHMN.js +60 -0
  90. package/dist/chunk-XQNVWHMN.js.map +1 -0
  91. package/dist/{chunk-JZ774T7U.js → chunk-ZGFXKYA5.js} +3 -3
  92. package/dist/{chunk-JZ774T7U.js.map → chunk-ZGFXKYA5.js.map} +1 -1
  93. package/dist/client.cjs +451 -2
  94. package/dist/client.cjs.map +1 -1
  95. package/dist/client.d.cts +6 -0
  96. package/dist/client.d.ts +6 -0
  97. package/dist/client.js +52 -46
  98. package/dist/client.js.map +1 -1
  99. package/dist/components/Accordion/index.js +2 -2
  100. package/dist/components/Alert/index.js +2 -2
  101. package/dist/components/AlertDialog/index.js +2 -2
  102. package/dist/components/AspectRatio/index.cjs +67 -0
  103. package/dist/components/AspectRatio/index.cjs.map +1 -0
  104. package/dist/components/AspectRatio/index.d.cts +30 -0
  105. package/dist/components/AspectRatio/index.d.ts +30 -0
  106. package/dist/components/AspectRatio/index.js +5 -0
  107. package/dist/components/AspectRatio/index.js.map +1 -0
  108. package/dist/components/Avatar/index.js +2 -2
  109. package/dist/components/Badge/index.js +2 -2
  110. package/dist/components/Box/index.js +4 -4
  111. package/dist/components/Breadcrumb/index.js +3 -3
  112. package/dist/components/Button/index.js +2 -2
  113. package/dist/components/ButtonGroup/index.cjs +83 -0
  114. package/dist/components/ButtonGroup/index.cjs.map +1 -0
  115. package/dist/components/ButtonGroup/index.d.cts +45 -0
  116. package/dist/components/ButtonGroup/index.d.ts +45 -0
  117. package/dist/components/ButtonGroup/index.js +5 -0
  118. package/dist/components/ButtonGroup/index.js.map +1 -0
  119. package/dist/components/Calendar/index.js +3 -3
  120. package/dist/components/Card/index.js +2 -2
  121. package/dist/components/Checkbox/index.js +2 -2
  122. package/dist/components/Collapsible/index.cjs +512 -0
  123. package/dist/components/Collapsible/index.cjs.map +1 -0
  124. package/dist/components/Collapsible/index.d.cts +50 -0
  125. package/dist/components/Collapsible/index.d.ts +50 -0
  126. package/dist/components/Collapsible/index.js +7 -0
  127. package/dist/components/Collapsible/index.js.map +1 -0
  128. package/dist/components/Combobox/index.js +3 -3
  129. package/dist/components/ContextMenu/index.js +4 -4
  130. package/dist/components/DataTable/index.js +3 -3
  131. package/dist/components/DatePicker/index.js +5 -5
  132. package/dist/components/Dialog/index.js +2 -2
  133. package/dist/components/DropdownMenu/index.js +3 -3
  134. package/dist/components/Empty/index.cjs +385 -0
  135. package/dist/components/Empty/index.cjs.map +1 -0
  136. package/dist/components/Empty/index.d.cts +32 -0
  137. package/dist/components/Empty/index.d.ts +32 -0
  138. package/dist/components/Empty/index.js +7 -0
  139. package/dist/components/Empty/index.js.map +1 -0
  140. package/dist/components/FloatButton/index.js +3 -3
  141. package/dist/components/HStack/index.js +4 -4
  142. package/dist/components/InputGroup/index.js +2 -2
  143. package/dist/components/Item/index.cjs +443 -0
  144. package/dist/components/Item/index.cjs.map +1 -0
  145. package/dist/components/Item/index.d.cts +40 -0
  146. package/dist/components/Item/index.d.ts +40 -0
  147. package/dist/components/Item/index.js +7 -0
  148. package/dist/components/Item/index.js.map +1 -0
  149. package/dist/components/Kbd/index.cjs +396 -0
  150. package/dist/components/Kbd/index.cjs.map +1 -0
  151. package/dist/components/Kbd/index.d.cts +22 -0
  152. package/dist/components/Kbd/index.d.ts +22 -0
  153. package/dist/components/Kbd/index.js +7 -0
  154. package/dist/components/Kbd/index.js.map +1 -0
  155. package/dist/components/Pagination/index.js +4 -4
  156. package/dist/components/Popover/index.js +2 -2
  157. package/dist/components/Progress/index.js +2 -2
  158. package/dist/components/Radio/index.js +2 -2
  159. package/dist/components/SegmentedControl/index.js +2 -2
  160. package/dist/components/Select/index.js +2 -2
  161. package/dist/components/Separator/index.js +2 -2
  162. package/dist/components/Sheet/index.js +2 -2
  163. package/dist/components/Skeleton/index.js +2 -2
  164. package/dist/components/Slider/index.js +2 -2
  165. package/dist/components/Switch/index.js +2 -2
  166. package/dist/components/Table/index.js +2 -2
  167. package/dist/components/Tabs/index.js +2 -2
  168. package/dist/components/Text/index.js +2 -2
  169. package/dist/components/TextArea/index.js +3 -3
  170. package/dist/components/TextInput/index.js +2 -2
  171. package/dist/components/Toggle/index.js +2 -2
  172. package/dist/components/Tooltip/index.js +2 -2
  173. package/dist/components/VStack/index.js +4 -4
  174. package/dist/index.cjs +451 -2
  175. package/dist/index.cjs.map +1 -1
  176. package/dist/index.d.cts +6 -0
  177. package/dist/index.d.ts +6 -0
  178. package/dist/index.js +50 -44
  179. package/package.json +1 -1
package/dist/client.d.cts CHANGED
@@ -9,24 +9,30 @@ export { Icon, IconComponentProps, IconProps, IconSize, defaultSemanticIcons } f
9
9
  export { Accordion, AccordionContentProps, AccordionItemProps, AccordionProps, AccordionTriggerProps, AccordionType } from './components/Accordion/index.cjs';
10
10
  export { Alert, AlertProps, AlertTone } from './components/Alert/index.cjs';
11
11
  export { AlertDialog, AlertDialogActionProps, AlertDialogCancelProps, AlertDialogContentProps, AlertDialogFooterProps, AlertDialogProps, AlertDialogTextProps, AlertDialogTriggerProps } from './components/AlertDialog/index.cjs';
12
+ export { AspectRatio, AspectRatioProps } from './components/AspectRatio/index.cjs';
12
13
  export { Avatar, AvatarProps, AvatarSize } from './components/Avatar/index.cjs';
13
14
  export { Badge, BadgeAppearance, BadgeProps, BadgeTone } from './components/Badge/index.cjs';
14
15
  export { Box, BoxProps } from './components/Box/index.cjs';
15
16
  export { Breadcrumb, BreadcrumbEllipsisProps, BreadcrumbExpandBehavior, BreadcrumbIcon, BreadcrumbItemData, BreadcrumbItemProps, BreadcrumbLinkProps, BreadcrumbListProps, BreadcrumbPageProps, BreadcrumbProps, BreadcrumbSeparatorContext, BreadcrumbSeparatorProps, BreadcrumbSeparatorValue, BreadcrumbSibling, getBreadcrumbJsonLd } from './components/Breadcrumb/index.cjs';
16
17
  export { Button, ButtonProps, ButtonSize, ButtonVariant } from './components/Button/index.cjs';
18
+ export { ButtonGroup, ButtonGroupOrientation, ButtonGroupProps, ButtonGroupSize } from './components/ButtonGroup/index.cjs';
17
19
  export { Calendar, CalendarBehavior, CalendarCaption, CalendarCaptionProps, CalendarChangeMeta, CalendarMode, CalendarProps, CalendarValue, CalendarView, CaptionContextValue, CaptionOption, DateRange, DayContext, useCalendarCaption } from './components/Calendar/index.cjs';
18
20
  export { Card, CardProps, CardSectionProps, CardTextProps } from './components/Card/index.cjs';
19
21
  export { Checkbox, CheckboxProps } from './components/Checkbox/index.cjs';
22
+ export { Collapsible, CollapsibleContentProps, CollapsibleProps, CollapsibleTriggerProps } from './components/Collapsible/index.cjs';
20
23
  export { Combobox } from './components/Combobox/index.cjs';
21
24
  export { ContextMenu, ContextMenuContentProps, ContextMenuProps, ContextMenuTriggerProps } from './components/ContextMenu/index.cjs';
22
25
  export { Column, DataTable, DataTableProps, SortDirection, SortState } from './components/DataTable/index.cjs';
23
26
  export { DatePicker, DatePickerProps, DatePickerRangeProps, DateRangeValue } from './components/DatePicker/index.cjs';
24
27
  export { Dialog, DialogCloseProps, DialogContentProps, DialogFooterProps, DialogProps, DialogTextProps, DialogTriggerProps } from './components/Dialog/index.cjs';
25
28
  export { DropdownMenu, DropdownMenuContentProps, DropdownMenuProps, DropdownMenuTriggerProps, MenuContent, MenuContentProps, MenuItem, MenuItemProps, MenuLabel, MenuLabelProps, MenuSeparator, MenuSeparatorProps } from './components/DropdownMenu/index.cjs';
29
+ export { Empty, EmptyProps } from './components/Empty/index.cjs';
26
30
  export { Field, FieldGroupProps, FieldProps } from './components/Field/index.cjs';
27
31
  export { FloatButton, FloatButtonBackToTopProps, FloatButtonBadge, FloatButtonGroupDirection, FloatButtonGroupProps, FloatButtonGroupTrigger, FloatButtonPlacement, FloatButtonProps, FloatButtonShape, FloatButtonSize, FloatButtonVariant } from './components/FloatButton/index.cjs';
28
32
  export { HStack, HStackProps, StackAlign, StackGap, StackJustify } from './components/HStack/index.cjs';
29
33
  export { InputGroup, InputGroupAddonProps, InputGroupInputProps, InputGroupProps } from './components/InputGroup/index.cjs';
34
+ export { Item, ItemProps } from './components/Item/index.cjs';
35
+ export { Kbd, KbdProps } from './components/Kbd/index.cjs';
30
36
  export { Label, LabelProps } from './components/Label/index.cjs';
31
37
  export { PAGINATION_COMPACT_BREAKPOINT, Pagination, PaginationItemDescriptor, PaginationItemType, PaginationJumperProps, PaginationOnPageChange, PaginationProps, PaginationRenderItemArgs, PaginationVariant, UsePaginationArgs, UsePaginationReturn, usePagination } from './components/Pagination/index.cjs';
32
38
  export { Popover, PopoverAlign, PopoverContentProps, PopoverProps, PopoverSide, PopoverTriggerProps, usePopoverContext } from './components/Popover/index.cjs';
package/dist/client.d.ts CHANGED
@@ -9,24 +9,30 @@ export { Icon, IconComponentProps, IconProps, IconSize, defaultSemanticIcons } f
9
9
  export { Accordion, AccordionContentProps, AccordionItemProps, AccordionProps, AccordionTriggerProps, AccordionType } from './components/Accordion/index.js';
10
10
  export { Alert, AlertProps, AlertTone } from './components/Alert/index.js';
11
11
  export { AlertDialog, AlertDialogActionProps, AlertDialogCancelProps, AlertDialogContentProps, AlertDialogFooterProps, AlertDialogProps, AlertDialogTextProps, AlertDialogTriggerProps } from './components/AlertDialog/index.js';
12
+ export { AspectRatio, AspectRatioProps } from './components/AspectRatio/index.js';
12
13
  export { Avatar, AvatarProps, AvatarSize } from './components/Avatar/index.js';
13
14
  export { Badge, BadgeAppearance, BadgeProps, BadgeTone } from './components/Badge/index.js';
14
15
  export { Box, BoxProps } from './components/Box/index.js';
15
16
  export { Breadcrumb, BreadcrumbEllipsisProps, BreadcrumbExpandBehavior, BreadcrumbIcon, BreadcrumbItemData, BreadcrumbItemProps, BreadcrumbLinkProps, BreadcrumbListProps, BreadcrumbPageProps, BreadcrumbProps, BreadcrumbSeparatorContext, BreadcrumbSeparatorProps, BreadcrumbSeparatorValue, BreadcrumbSibling, getBreadcrumbJsonLd } from './components/Breadcrumb/index.js';
16
17
  export { Button, ButtonProps, ButtonSize, ButtonVariant } from './components/Button/index.js';
18
+ export { ButtonGroup, ButtonGroupOrientation, ButtonGroupProps, ButtonGroupSize } from './components/ButtonGroup/index.js';
17
19
  export { Calendar, CalendarBehavior, CalendarCaption, CalendarCaptionProps, CalendarChangeMeta, CalendarMode, CalendarProps, CalendarValue, CalendarView, CaptionContextValue, CaptionOption, DateRange, DayContext, useCalendarCaption } from './components/Calendar/index.js';
18
20
  export { Card, CardProps, CardSectionProps, CardTextProps } from './components/Card/index.js';
19
21
  export { Checkbox, CheckboxProps } from './components/Checkbox/index.js';
22
+ export { Collapsible, CollapsibleContentProps, CollapsibleProps, CollapsibleTriggerProps } from './components/Collapsible/index.js';
20
23
  export { Combobox } from './components/Combobox/index.js';
21
24
  export { ContextMenu, ContextMenuContentProps, ContextMenuProps, ContextMenuTriggerProps } from './components/ContextMenu/index.js';
22
25
  export { Column, DataTable, DataTableProps, SortDirection, SortState } from './components/DataTable/index.js';
23
26
  export { DatePicker, DatePickerProps, DatePickerRangeProps, DateRangeValue } from './components/DatePicker/index.js';
24
27
  export { Dialog, DialogCloseProps, DialogContentProps, DialogFooterProps, DialogProps, DialogTextProps, DialogTriggerProps } from './components/Dialog/index.js';
25
28
  export { DropdownMenu, DropdownMenuContentProps, DropdownMenuProps, DropdownMenuTriggerProps, MenuContent, MenuContentProps, MenuItem, MenuItemProps, MenuLabel, MenuLabelProps, MenuSeparator, MenuSeparatorProps } from './components/DropdownMenu/index.js';
29
+ export { Empty, EmptyProps } from './components/Empty/index.js';
26
30
  export { Field, FieldGroupProps, FieldProps } from './components/Field/index.js';
27
31
  export { FloatButton, FloatButtonBackToTopProps, FloatButtonBadge, FloatButtonGroupDirection, FloatButtonGroupProps, FloatButtonGroupTrigger, FloatButtonPlacement, FloatButtonProps, FloatButtonShape, FloatButtonSize, FloatButtonVariant } from './components/FloatButton/index.js';
28
32
  export { HStack, HStackProps, StackAlign, StackGap, StackJustify } from './components/HStack/index.js';
29
33
  export { InputGroup, InputGroupAddonProps, InputGroupInputProps, InputGroupProps } from './components/InputGroup/index.js';
34
+ export { Item, ItemProps } from './components/Item/index.js';
35
+ export { Kbd, KbdProps } from './components/Kbd/index.js';
30
36
  export { Label, LabelProps } from './components/Label/index.js';
31
37
  export { PAGINATION_COMPACT_BREAKPOINT, Pagination, PaginationItemDescriptor, PaginationItemType, PaginationJumperProps, PaginationOnPageChange, PaginationProps, PaginationRenderItemArgs, PaginationVariant, UsePaginationArgs, UsePaginationReturn, usePagination } from './components/Pagination/index.js';
32
38
  export { Popover, PopoverAlign, PopoverContentProps, PopoverProps, PopoverSide, PopoverTriggerProps, usePopoverContext } from './components/Popover/index.js';
package/dist/client.js CHANGED
@@ -1,69 +1,75 @@
1
1
  import './chunk-BRCCWMGJ.js';
2
- export { Toaster, toast } from './chunk-LWLK6HSW.js';
3
- export { Toggle } from './chunk-MKSDYRWQ.js';
4
- export { Tooltip } from './chunk-NRYWNOG5.js';
5
- export { VStack } from './chunk-MRJWPRCX.js';
2
+ export { Toggle } from './chunk-STX5UKYT.js';
3
+ export { Tooltip } from './chunk-VL2WNGPF.js';
4
+ export { VStack } from './chunk-L6VYDM7S.js';
6
5
  export { blueTheme, orangeTheme, presetThemes, roseTheme, slateTheme, tealTheme, useTheme, violetTheme } from './chunk-MDOZGILD.js';
7
6
  import './chunk-QI6646JZ.js';
8
7
  export { Icon } from './chunk-33S7ADWM.js';
9
- export { Skeleton } from './chunk-JSAG5YO7.js';
10
- export { Slider, SliderGestureProvider, useSliderInteractionActive } from './chunk-ZMSIYLSI.js';
11
- export { Switch } from './chunk-Y5TJ7CAX.js';
8
+ export { Switch } from './chunk-RI4Y2C5U.js';
12
9
  import './chunk-VP7DRJUZ.js';
13
- export { Tabs } from './chunk-XALU6LOT.js';
14
- export { TextArea } from './chunk-VYRJ7OE5.js';
15
- export { TextInput } from './chunk-NF7XG2FG.js';
16
- export { PAGINATION_COMPACT_BREAKPOINT, Pagination } from './chunk-5PSC5HT4.js';
17
- export { Progress } from './chunk-FEPTH5RV.js';
18
- export { Radio } from './chunk-PABG3IJ6.js';
19
- export { SegmentedControl } from './chunk-6AD6KCVB.js';
20
- export { Separator } from './chunk-7UKRN73P.js';
21
- export { Drawer, Sheet, SheetBody, SheetClose, SheetDescription, SheetFooter, SheetHeader, SheetPanel, SheetTitle, SheetTrigger } from './chunk-3OIWAS2P.js';
22
- export { DatePicker } from './chunk-WP2Z2ATO.js';
23
- export { Dialog } from './chunk-WGT345SV.js';
10
+ export { Tabs } from './chunk-EN4CLDGZ.js';
11
+ export { TextArea } from './chunk-USFXANEU.js';
12
+ export { TextInput } from './chunk-V75O7QQO.js';
13
+ export { Toaster, toast } from './chunk-LWLK6HSW.js';
14
+ export { Progress } from './chunk-OELY6K44.js';
15
+ export { Radio } from './chunk-UKDDK42K.js';
16
+ export { SegmentedControl } from './chunk-F5UKI7XD.js';
17
+ export { Separator } from './chunk-2XJCLPNH.js';
18
+ export { Drawer, Sheet, SheetBody, SheetClose, SheetDescription, SheetFooter, SheetHeader, SheetPanel, SheetTitle, SheetTrigger } from './chunk-SF6WPUC5.js';
19
+ export { Skeleton } from './chunk-3IIIHZHT.js';
20
+ export { Slider, SliderGestureProvider, useSliderInteractionActive } from './chunk-7FSFJA33.js';
21
+ export { FloatButton } from './chunk-PJXVLE24.js';
22
+ export { HStack } from './chunk-OIHX5B4R.js';
23
+ export { InputGroup } from './chunk-C5HQPXRI.js';
24
+ export { Item } from './chunk-J5LK2XHE.js';
25
+ export { Kbd } from './chunk-IGBXSBF7.js';
26
+ export { Label } from './chunk-3CEJ5TB4.js';
27
+ export { PAGINATION_COMPACT_BREAKPOINT, Pagination } from './chunk-3B345SQU.js';
28
+ export { Combobox } from './chunk-IIVTPN62.js';
29
+ export { ContextMenu } from './chunk-TSWPHJIU.js';
30
+ export { DataTable } from './chunk-C32XGHWO.js';
31
+ export { Table } from './chunk-5YHT252H.js';
32
+ export { usePagination } from './chunk-73CUV7MW.js';
33
+ export { DatePicker } from './chunk-O6M3F7BZ.js';
34
+ export { Dialog } from './chunk-PLQPBMG2.js';
24
35
  import './chunk-2PESUXE3.js';
36
+ export { DropdownMenu, MenuContent, MenuItem, MenuLabel, MenuSeparator } from './chunk-MK57AOTI.js';
37
+ export { Empty } from './chunk-XQNVWHMN.js';
25
38
  export { Field } from './chunk-CPIKN4BX.js';
26
- export { FloatButton } from './chunk-4PUPKWEP.js';
27
- export { HStack } from './chunk-BZLT6R62.js';
28
- export { InputGroup } from './chunk-UJWCEGQY.js';
29
- export { Label } from './chunk-3CEJ5TB4.js';
30
- export { Breadcrumb, getBreadcrumbJsonLd } from './chunk-QJVS2VXS.js';
39
+ export { Box } from './chunk-IWM2XDXH.js';
40
+ import './chunk-VLZANXRZ.js';
41
+ export { Text } from './chunk-ZGFXKYA5.js';
42
+ export { Breadcrumb, getBreadcrumbJsonLd } from './chunk-PGYEIXCO.js';
31
43
  import './chunk-ZPUYNM37.js';
32
- export { Button } from './chunk-5XEGZFG5.js';
44
+ export { Popover, usePopoverContext } from './chunk-HXCETKCC.js';
45
+ export { Button } from './chunk-MYBBBLYE.js';
33
46
  export { Spinner } from './chunk-ACLHDHX3.js';
34
- import { LocaleProvider } from './chunk-2HMQDJ22.js';
35
- export { Calendar, LocaleProvider, detectLocale, useCalendarCaption, useLocale } from './chunk-2HMQDJ22.js';
47
+ export { ButtonGroup } from './chunk-GTAXVTLF.js';
48
+ import { LocaleProvider } from './chunk-VOF3S5I4.js';
49
+ export { Calendar, LocaleProvider, detectLocale, useCalendarCaption, useLocale } from './chunk-VOF3S5I4.js';
50
+ export { Select } from './chunk-PJTCO76H.js';
36
51
  import { I18nProvider } from './chunk-GJMHNEQ3.js';
37
52
  export { I18nProvider, useTranslation } from './chunk-GJMHNEQ3.js';
38
53
  export { defaultDictionary, resolveI18n } from './chunk-4UFAZLSZ.js';
39
- export { Card } from './chunk-OMU4R4Y5.js';
40
- import { SemanticIconsProvider } from './chunk-NNFJKRXZ.js';
41
- export { Checkbox, SemanticIconsProvider, useSemanticIcon } from './chunk-NNFJKRXZ.js';
42
- export { Combobox } from './chunk-JXLEMBDB.js';
43
- export { Select } from './chunk-UZD77M3J.js';
44
- export { ContextMenu } from './chunk-2RL6WCFC.js';
45
- export { DropdownMenu, MenuContent, MenuItem, MenuLabel, MenuSeparator } from './chunk-RUWD35UI.js';
46
- export { Popover, usePopoverContext } from './chunk-PZS4A4VQ.js';
47
- export { DataTable } from './chunk-YZ27OS2R.js';
48
- export { Table } from './chunk-WYPGQVDV.js';
49
- export { usePagination } from './chunk-73CUV7MW.js';
50
- export { Accordion } from './chunk-CCUXO2HN.js';
54
+ export { Card } from './chunk-PQW5LKAI.js';
55
+ import { SemanticIconsProvider } from './chunk-H2LHWJ52.js';
56
+ export { Checkbox, SemanticIconsProvider, useSemanticIcon } from './chunk-H2LHWJ52.js';
57
+ export { Collapsible } from './chunk-M4BI63P6.js';
58
+ export { Accordion } from './chunk-V5QSMDZL.js';
51
59
  import './chunk-RB3YBWQ4.js';
52
60
  import './chunk-RGJ3NBKE.js';
53
- export { Alert } from './chunk-DDGMLLS3.js';
61
+ export { Alert } from './chunk-3W3XYULK.js';
54
62
  export { defaultSemanticIcons } from './chunk-7Z4NMNX6.js';
55
- export { AlertDialog } from './chunk-SFNDR6DI.js';
63
+ export { AlertDialog } from './chunk-U2ZKY2CP.js';
56
64
  import './chunk-KWRDJPP3.js';
57
65
  export { Slot, composeRefs } from './chunk-ZIBNLXIV.js';
58
- export { Avatar } from './chunk-PNP7L4TA.js';
59
- export { Badge } from './chunk-3BDDPFCI.js';
60
- export { Box } from './chunk-TLS54G6Y.js';
61
- import './chunk-JQQ3FBN7.js';
62
- export { Text } from './chunk-JZ774T7U.js';
66
+ export { AspectRatio } from './chunk-KFFGDET3.js';
67
+ export { Avatar } from './chunk-ISCJST4P.js';
68
+ export { Badge } from './chunk-MOAIQHR7.js';
63
69
  import './chunk-5A2QOOVN.js';
64
- export { cn } from './chunk-CHXHRJNZ.js';
65
70
  import { ColorSchemeProvider, ThemeProvider } from './chunk-R5JMDDCB.js';
66
71
  export { ThemeProvider, defaultTheme, theme, themeDark, useColorScheme, useThemeColors } from './chunk-R5JMDDCB.js';
72
+ export { cn } from './chunk-CHXHRJNZ.js';
67
73
  import { __name } from './chunk-WCQVDF3K.js';
68
74
  import { jsx } from 'nativewind/jsx-runtime';
69
75
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/provider/nori-provider.tsx"],"names":["theme"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDO,SAAS,YAAA,CAAa,EAAE,KAAA,EAAAA,MAAAA,EAAO,aAAa,IAAA,EAAM,KAAA,EAAO,MAAA,EAAQ,QAAA,EAAS,EAAsB;AAGnG,EAAA,MAAM,aAAaA,MAAAA,KAAU,MAAA,GAAY,EAAC,GAAI,EAAE,OAAAA,MAAAA,EAAM;AACtD,EAAA,MAAM,YAAY,IAAA,KAAS,MAAA,GAAY,EAAC,GAAI,EAAE,IAAA,EAAK;AACnD,EAAA,MAAM,aAAa,KAAA,KAAU,MAAA,GAAY,EAAC,GAAI,EAAE,KAAA,EAAM;AACtD,EAAA,MAAM,cAAc,MAAA,KAAW,MAAA,GAAY,EAAC,GAAI,EAAE,MAAA,EAAO;AAEzD,EAAA,MAAM,KAAA,uBACD,cAAA,EAAA,EAAgB,GAAG,aAChB,QAAA,kBAAA,GAAA,CAAC,aAAA,EAAA,EAAe,GAAG,UAAA,EACf,QAAA,kBAAA,GAAA,CAAC,gBAAc,GAAG,SAAA,EACd,8BAAC,qBAAA,EAAA,EAAuB,GAAG,YAAa,QAAA,EAAS,CAAA,EACrD,GACJ,CAAA,EACJ,CAAA;AAGJ,EAAA,OAAO,gBAAgB,MAAA,GAAY,KAAA,uBAAS,mBAAA,EAAA,EAAoB,KAAA,EAAO,aAAc,QAAA,EAAA,KAAA,EAAM,CAAA;AAC/F;AAnBgB,MAAA,CAAA,YAAA,EAAA,cAAA,CAAA","file":"client.js","sourcesContent":["'use client';\n\nimport type { Theme } from '@nori-ui/tokens';\nimport type { ReactNode } from 'react';\nimport { I18nProvider } from '../i18n/context';\nimport { type LocaleInput, LocaleProvider } from '../i18n/locale';\nimport type { I18nInput } from '../i18n/types';\nimport type { SemanticIcons } from '../icons/default-semantic-icons';\nimport { SemanticIconsProvider } from '../icons/semantic-context';\nimport { type NoriTheme, ThemeProvider } from '../theme/context';\nimport { type ColorScheme, ColorSchemeProvider } from '../theme/use-color-scheme';\n\nexport type NoriProviderProps = {\n /**\n * Theme to apply to descendants. Pass:\n * - a `NoriTheme` (`{ light, dark }`) — covers both schemes\n * - a single `Theme` — used for both schemes (rare)\n * - one of the bundled presets: `tealTheme`, `blueTheme`, `roseTheme`,\n * `violetTheme`, `orangeTheme`, `slateTheme` (from `@nori-ui/core`)\n * - omit — falls back to the default Nori palette (teal)\n */\n theme?: NoriTheme | Theme;\n /**\n * Force a color scheme for descendants, overriding the OS signal. Use\n * when an app shell is hard-coded to one scheme (e.g. forced-dark\n * editorial chrome) and wants library components inside it to render\n * against the matching half of the theme.\n *\n * Omit to track the OS Appearance (native) / `<html>` `dark` class (web).\n */\n colorScheme?: ColorScheme;\n i18n?: I18nInput;\n icons?: Partial<SemanticIcons>;\n /**\n * BCP 47 locale tag (or `Intl.Locale`) used by locale-aware components\n * (Calendar, Number/Currency formatting, RelativeTime). Defaults to\n * the runtime's resolved locale (`new Intl.DateTimeFormat().resolvedOptions().locale`),\n * which mirrors what other `Intl` calls in the consumer's code use.\n */\n locale?: LocaleInput;\n children?: ReactNode;\n};\n\n/**\n * Single root provider composing theme, i18n, and semantic-icons contexts.\n * Place near the root of your app. Only needed to override defaults — the\n * library works out of the box without any provider.\n */\nexport function NoriProvider({ theme, colorScheme, i18n, icons, locale, children }: NoriProviderProps) {\n // Conditionally spread each optional prop — `exactOptionalPropertyTypes: true`\n // rejects passing `undefined` to a prop typed as `T | missing`.\n const themeProps = theme === undefined ? {} : { theme };\n const i18nProps = i18n === undefined ? {} : { i18n };\n const iconsProps = icons === undefined ? {} : { icons };\n const localeProps = locale === undefined ? {} : { locale };\n\n const inner = (\n <LocaleProvider {...localeProps}>\n <ThemeProvider {...themeProps}>\n <I18nProvider {...i18nProps}>\n <SemanticIconsProvider {...iconsProps}>{children}</SemanticIconsProvider>\n </I18nProvider>\n </ThemeProvider>\n </LocaleProvider>\n );\n\n return colorScheme === undefined ? inner : <ColorSchemeProvider value={colorScheme}>{inner}</ColorSchemeProvider>;\n}\n"]}
1
+ {"version":3,"sources":["../src/provider/nori-provider.tsx"],"names":["theme"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgDO,SAAS,YAAA,CAAa,EAAE,KAAA,EAAAA,MAAAA,EAAO,aAAa,IAAA,EAAM,KAAA,EAAO,MAAA,EAAQ,QAAA,EAAS,EAAsB;AAGnG,EAAA,MAAM,aAAaA,MAAAA,KAAU,MAAA,GAAY,EAAC,GAAI,EAAE,OAAAA,MAAAA,EAAM;AACtD,EAAA,MAAM,YAAY,IAAA,KAAS,MAAA,GAAY,EAAC,GAAI,EAAE,IAAA,EAAK;AACnD,EAAA,MAAM,aAAa,KAAA,KAAU,MAAA,GAAY,EAAC,GAAI,EAAE,KAAA,EAAM;AACtD,EAAA,MAAM,cAAc,MAAA,KAAW,MAAA,GAAY,EAAC,GAAI,EAAE,MAAA,EAAO;AAEzD,EAAA,MAAM,KAAA,uBACD,cAAA,EAAA,EAAgB,GAAG,aAChB,QAAA,kBAAA,GAAA,CAAC,aAAA,EAAA,EAAe,GAAG,UAAA,EACf,QAAA,kBAAA,GAAA,CAAC,gBAAc,GAAG,SAAA,EACd,8BAAC,qBAAA,EAAA,EAAuB,GAAG,YAAa,QAAA,EAAS,CAAA,EACrD,GACJ,CAAA,EACJ,CAAA;AAGJ,EAAA,OAAO,gBAAgB,MAAA,GAAY,KAAA,uBAAS,mBAAA,EAAA,EAAoB,KAAA,EAAO,aAAc,QAAA,EAAA,KAAA,EAAM,CAAA;AAC/F;AAnBgB,MAAA,CAAA,YAAA,EAAA,cAAA,CAAA","file":"client.js","sourcesContent":["'use client';\n\nimport type { Theme } from '@nori-ui/tokens';\nimport type { ReactNode } from 'react';\nimport { I18nProvider } from '../i18n/context';\nimport { type LocaleInput, LocaleProvider } from '../i18n/locale';\nimport type { I18nInput } from '../i18n/types';\nimport type { SemanticIcons } from '../icons/default-semantic-icons';\nimport { SemanticIconsProvider } from '../icons/semantic-context';\nimport { type NoriTheme, ThemeProvider } from '../theme/context';\nimport { type ColorScheme, ColorSchemeProvider } from '../theme/use-color-scheme';\n\nexport type NoriProviderProps = {\n /**\n * Theme to apply to descendants. Pass:\n * - a `NoriTheme` (`{ light, dark }`) — covers both schemes\n * - a single `Theme` — used for both schemes (rare)\n * - one of the bundled presets: `tealTheme`, `blueTheme`, `roseTheme`,\n * `violetTheme`, `orangeTheme`, `slateTheme` (from `@nori-ui/core`)\n * - omit — falls back to the default Nori palette (teal)\n */\n theme?: NoriTheme | Theme;\n /**\n * Force a color scheme for descendants, overriding the OS signal. Use\n * when an app shell is hard-coded to one scheme (e.g. forced-dark\n * editorial chrome) and wants library components inside it to render\n * against the matching half of the theme.\n *\n * Omit to track the OS Appearance (native) / `<html>` `dark` class (web).\n */\n colorScheme?: ColorScheme;\n i18n?: I18nInput;\n icons?: Partial<SemanticIcons>;\n /**\n * BCP 47 locale tag (or `Intl.Locale`) used by locale-aware components\n * (Calendar, Number/Currency formatting, RelativeTime). Defaults to\n * the runtime's resolved locale (`new Intl.DateTimeFormat().resolvedOptions().locale`),\n * which mirrors what other `Intl` calls in the consumer's code use.\n */\n locale?: LocaleInput;\n children?: ReactNode;\n};\n\n/**\n * Single root provider composing theme, i18n, and semantic-icons contexts.\n * Place near the root of your app. Only needed to override defaults — the\n * library works out of the box without any provider.\n */\nexport function NoriProvider({ theme, colorScheme, i18n, icons, locale, children }: NoriProviderProps) {\n // Conditionally spread each optional prop — `exactOptionalPropertyTypes: true`\n // rejects passing `undefined` to a prop typed as `T | missing`.\n const themeProps = theme === undefined ? {} : { theme };\n const i18nProps = i18n === undefined ? {} : { i18n };\n const iconsProps = icons === undefined ? {} : { icons };\n const localeProps = locale === undefined ? {} : { locale };\n\n const inner = (\n <LocaleProvider {...localeProps}>\n <ThemeProvider {...themeProps}>\n <I18nProvider {...i18nProps}>\n <SemanticIconsProvider {...iconsProps}>{children}</SemanticIconsProvider>\n </I18nProvider>\n </ThemeProvider>\n </LocaleProvider>\n );\n\n return colorScheme === undefined ? inner : <ColorSchemeProvider value={colorScheme}>{inner}</ColorSchemeProvider>;\n}\n"]}
@@ -1,10 +1,10 @@
1
- export { Accordion } from '../../chunk-CCUXO2HN.js';
1
+ export { Accordion } from '../../chunk-V5QSMDZL.js';
2
2
  import '../../chunk-RB3YBWQ4.js';
3
3
  import '../../chunk-RGJ3NBKE.js';
4
4
  import '../../chunk-7Z4NMNX6.js';
5
5
  import '../../chunk-5A2QOOVN.js';
6
- import '../../chunk-CHXHRJNZ.js';
7
6
  import '../../chunk-R5JMDDCB.js';
7
+ import '../../chunk-CHXHRJNZ.js';
8
8
  import '../../chunk-WCQVDF3K.js';
9
9
  //# sourceMappingURL=index.js.map
10
10
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,8 @@
1
- export { Alert } from '../../chunk-DDGMLLS3.js';
1
+ export { Alert } from '../../chunk-3W3XYULK.js';
2
2
  import '../../chunk-7Z4NMNX6.js';
3
3
  import '../../chunk-5A2QOOVN.js';
4
- import '../../chunk-CHXHRJNZ.js';
5
4
  import '../../chunk-R5JMDDCB.js';
5
+ import '../../chunk-CHXHRJNZ.js';
6
6
  import '../../chunk-WCQVDF3K.js';
7
7
  //# sourceMappingURL=index.js.map
8
8
  //# sourceMappingURL=index.js.map
@@ -1,9 +1,9 @@
1
- export { AlertDialog } from '../../chunk-SFNDR6DI.js';
1
+ export { AlertDialog } from '../../chunk-U2ZKY2CP.js';
2
2
  import '../../chunk-KWRDJPP3.js';
3
3
  import '../../chunk-ZIBNLXIV.js';
4
4
  import '../../chunk-5A2QOOVN.js';
5
- import '../../chunk-CHXHRJNZ.js';
6
5
  import '../../chunk-R5JMDDCB.js';
6
+ import '../../chunk-CHXHRJNZ.js';
7
7
  import '../../chunk-WCQVDF3K.js';
8
8
  //# sourceMappingURL=index.js.map
9
9
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,67 @@
1
+ 'use strict';
2
+
3
+ var reactNative = require('react-native');
4
+ var jsxRuntime = require('nativewind/jsx-runtime');
5
+
6
+ var __defProp = Object.defineProperty;
7
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
8
+
9
+ // src/utils/cn.ts
10
+ function cn(...inputs) {
11
+ const out = [];
12
+ for (const input of inputs) {
13
+ append(out, input);
14
+ }
15
+ return out.join(" ");
16
+ }
17
+ __name(cn, "cn");
18
+ function append(out, input) {
19
+ if (!input) {
20
+ return;
21
+ }
22
+ if (typeof input === "string") {
23
+ if (input.length > 0) {
24
+ out.push(input);
25
+ }
26
+ return;
27
+ }
28
+ if (typeof input === "number") {
29
+ return;
30
+ }
31
+ if (Array.isArray(input)) {
32
+ for (const inner of input) {
33
+ append(out, inner);
34
+ }
35
+ return;
36
+ }
37
+ if (typeof input === "object") {
38
+ for (const key of Object.keys(input)) {
39
+ if (input[key]) {
40
+ out.push(key);
41
+ }
42
+ }
43
+ }
44
+ }
45
+ __name(append, "append");
46
+ var BASE_STYLE = {
47
+ overflow: "hidden"
48
+ };
49
+ var AspectRatio = /* @__PURE__ */ __name(({ ratio, children, className, testID }) => {
50
+ const containerStyle = {
51
+ ...BASE_STYLE,
52
+ aspectRatio: ratio
53
+ };
54
+ return /* @__PURE__ */ jsxRuntime.jsx(
55
+ reactNative.View,
56
+ {
57
+ ...testID !== void 0 ? { testID } : {},
58
+ className: cn("overflow-hidden", className),
59
+ style: containerStyle,
60
+ children
61
+ }
62
+ );
63
+ }, "AspectRatio");
64
+
65
+ exports.AspectRatio = AspectRatio;
66
+ //# sourceMappingURL=index.cjs.map
67
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/cn.ts","../../../src/components/AspectRatio/AspectRatio.tsx"],"names":["jsx","View"],"mappings":";;;;;;;;;AAeO,SAAS,MAAM,MAAA,EAA8B;AAChD,EAAA,MAAM,MAAgB,EAAC;AACvB,EAAA,KAAA,MAAW,SAAS,MAAA,EAAQ;AACxB,IAAA,MAAA,CAAO,KAAK,KAAK,CAAA;AAAA,EACrB;AACA,EAAA,OAAO,GAAA,CAAI,KAAK,GAAG,CAAA;AACvB;AANgB,MAAA,CAAA,EAAA,EAAA,IAAA,CAAA;AAQhB,SAAS,MAAA,CAAO,KAAe,KAAA,EAAyB;AACpD,EAAA,IAAI,CAAC,KAAA,EAAO;AACR,IAAA;AAAA,EACJ;AACA,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC3B,IAAA,IAAI,KAAA,CAAM,SAAS,CAAA,EAAG;AAClB,MAAA,GAAA,CAAI,KAAK,KAAK,CAAA;AAAA,IAClB;AACA,IAAA;AAAA,EACJ;AACA,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC3B,IAAA;AAAA,EACJ;AACA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACtB,IAAA,KAAA,MAAW,SAAS,KAAA,EAAO;AACvB,MAAA,MAAA,CAAO,KAAK,KAAK,CAAA;AAAA,IACrB;AACA,IAAA;AAAA,EACJ;AACA,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC3B,IAAA,KAAA,MAAW,GAAA,IAAO,MAAA,CAAO,IAAA,CAAK,KAAK,CAAA,EAAG;AAClC,MAAA,IAAI,KAAA,CAAM,GAAG,CAAA,EAAG;AACZ,QAAA,GAAA,CAAI,KAAK,GAAG,CAAA;AAAA,MAChB;AAAA,IACJ;AAAA,EACJ;AACJ;AA1BS,MAAA,CAAA,MAAA,EAAA,QAAA,CAAA;ACFT,IAAM,UAAA,GAAwB;AAAA,EAC1B,QAAA,EAAU;AACd,CAAA;AAaO,IAAM,8BAAc,MAAA,CAAA,CAAC,EAAE,OAAO,QAAA,EAAU,SAAA,EAAW,QAAO,KAAwB;AACrF,EAAA,MAAM,cAAA,GAA4B;AAAA,IAC9B,GAAG,UAAA;AAAA,IACH,WAAA,EAAa;AAAA,GACjB;AAEA,EAAA,uBACIA,cAAA;AAAA,IAACC,gBAAA;AAAA,IAAA;AAAA,MACI,GAAI,MAAA,KAAW,MAAA,GAAY,EAAE,MAAA,KAAW,EAAC;AAAA,MAC1C,SAAA,EAAW,EAAA,CAAG,iBAAA,EAAmB,SAAS,CAAA;AAAA,MAC1C,KAAA,EAAO,cAAA;AAAA,MAEN;AAAA;AAAA,GACL;AAER,CAAA,EAf2B,aAAA","file":"index.cjs","sourcesContent":["// cn — class-name merger. clsx-compatible shape.\n//\n// Intentionally does NOT deduplicate Tailwind conflicts (e.g. \"text-sm text-lg\").\n// That's `tailwind-merge`'s job; we defer adding it until a component actually\n// needs it, to keep the core tree-shakable and the runtime zero-dep.\n\nexport type ClassInput =\n | string\n | number\n | boolean\n | null\n | undefined\n | ClassInput[]\n | Record<string, boolean | number | null | undefined>;\n\nexport function cn(...inputs: ClassInput[]): string {\n const out: string[] = [];\n for (const input of inputs) {\n append(out, input);\n }\n return out.join(' ');\n}\n\nfunction append(out: string[], input: ClassInput): void {\n if (!input) {\n return;\n }\n if (typeof input === 'string') {\n if (input.length > 0) {\n out.push(input);\n }\n return;\n }\n if (typeof input === 'number') {\n return; // numbers are never class names\n }\n if (Array.isArray(input)) {\n for (const inner of input) {\n append(out, inner);\n }\n return;\n }\n if (typeof input === 'object') {\n for (const key of Object.keys(input)) {\n if (input[key]) {\n out.push(key);\n }\n }\n }\n}\n","'use client';\n\nimport type { ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport { View } from 'react-native';\nimport { cn } from '../../utils/cn';\n\nexport type AspectRatioProps = {\n /**\n * The ratio expressed as width / height. Common values:\n * - `16 / 9` (1.777…) — widescreen video\n * - `4 / 3` (1.333…) — classic photo\n * - `1` — square\n * - `2 / 3` (0.666…) — portrait\n */\n ratio: number;\n children?: ReactNode;\n className?: string;\n testID?: string;\n};\n\nconst BASE_STYLE: ViewStyle = {\n overflow: 'hidden',\n};\n\n/**\n * Wraps children in a container that maintains a fixed width-to-height ratio.\n * Works identically on web and native — React Native's `aspectRatio` style\n * property maps to the CSS `aspect-ratio` property via react-native-web.\n *\n * ```tsx\n * <AspectRatio ratio={16 / 9}>\n * <Image source={src} style={{ width: '100%', height: '100%' }} />\n * </AspectRatio>\n * ```\n */\nexport const AspectRatio = ({ ratio, children, className, testID }: AspectRatioProps) => {\n const containerStyle: ViewStyle = {\n ...BASE_STYLE,\n aspectRatio: ratio,\n };\n\n return (\n <View\n {...(testID !== undefined ? { testID } : {})}\n className={cn('overflow-hidden', className)}\n style={containerStyle}\n >\n {children}\n </View>\n );\n};\n"]}
@@ -0,0 +1,30 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ type AspectRatioProps = {
5
+ /**
6
+ * The ratio expressed as width / height. Common values:
7
+ * - `16 / 9` (1.777…) — widescreen video
8
+ * - `4 / 3` (1.333…) — classic photo
9
+ * - `1` — square
10
+ * - `2 / 3` (0.666…) — portrait
11
+ */
12
+ ratio: number;
13
+ children?: ReactNode;
14
+ className?: string;
15
+ testID?: string;
16
+ };
17
+ /**
18
+ * Wraps children in a container that maintains a fixed width-to-height ratio.
19
+ * Works identically on web and native — React Native's `aspectRatio` style
20
+ * property maps to the CSS `aspect-ratio` property via react-native-web.
21
+ *
22
+ * ```tsx
23
+ * <AspectRatio ratio={16 / 9}>
24
+ * <Image source={src} style={{ width: '100%', height: '100%' }} />
25
+ * </AspectRatio>
26
+ * ```
27
+ */
28
+ declare const AspectRatio: ({ ratio, children, className, testID }: AspectRatioProps) => react_jsx_runtime.JSX.Element;
29
+
30
+ export { AspectRatio, type AspectRatioProps };
@@ -0,0 +1,30 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ type AspectRatioProps = {
5
+ /**
6
+ * The ratio expressed as width / height. Common values:
7
+ * - `16 / 9` (1.777…) — widescreen video
8
+ * - `4 / 3` (1.333…) — classic photo
9
+ * - `1` — square
10
+ * - `2 / 3` (0.666…) — portrait
11
+ */
12
+ ratio: number;
13
+ children?: ReactNode;
14
+ className?: string;
15
+ testID?: string;
16
+ };
17
+ /**
18
+ * Wraps children in a container that maintains a fixed width-to-height ratio.
19
+ * Works identically on web and native — React Native's `aspectRatio` style
20
+ * property maps to the CSS `aspect-ratio` property via react-native-web.
21
+ *
22
+ * ```tsx
23
+ * <AspectRatio ratio={16 / 9}>
24
+ * <Image source={src} style={{ width: '100%', height: '100%' }} />
25
+ * </AspectRatio>
26
+ * ```
27
+ */
28
+ declare const AspectRatio: ({ ratio, children, className, testID }: AspectRatioProps) => react_jsx_runtime.JSX.Element;
29
+
30
+ export { AspectRatio, type AspectRatioProps };
@@ -0,0 +1,5 @@
1
+ export { AspectRatio } from '../../chunk-KFFGDET3.js';
2
+ import '../../chunk-CHXHRJNZ.js';
3
+ import '../../chunk-WCQVDF3K.js';
4
+ //# sourceMappingURL=index.js.map
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"names":[],"mappings":"","file":"index.js"}
@@ -1,7 +1,7 @@
1
- export { Avatar } from '../../chunk-PNP7L4TA.js';
1
+ export { Avatar } from '../../chunk-ISCJST4P.js';
2
2
  import '../../chunk-5A2QOOVN.js';
3
- import '../../chunk-CHXHRJNZ.js';
4
3
  import '../../chunk-R5JMDDCB.js';
4
+ import '../../chunk-CHXHRJNZ.js';
5
5
  import '../../chunk-WCQVDF3K.js';
6
6
  //# sourceMappingURL=index.js.map
7
7
  //# sourceMappingURL=index.js.map
@@ -1,7 +1,7 @@
1
- export { Badge } from '../../chunk-3BDDPFCI.js';
1
+ export { Badge } from '../../chunk-MOAIQHR7.js';
2
2
  import '../../chunk-5A2QOOVN.js';
3
- import '../../chunk-CHXHRJNZ.js';
4
3
  import '../../chunk-R5JMDDCB.js';
4
+ import '../../chunk-CHXHRJNZ.js';
5
5
  import '../../chunk-WCQVDF3K.js';
6
6
  //# sourceMappingURL=index.js.map
7
7
  //# sourceMappingURL=index.js.map
@@ -1,9 +1,9 @@
1
- export { Box } from '../../chunk-TLS54G6Y.js';
2
- import '../../chunk-JQQ3FBN7.js';
3
- import '../../chunk-JZ774T7U.js';
1
+ export { Box } from '../../chunk-IWM2XDXH.js';
2
+ import '../../chunk-VLZANXRZ.js';
3
+ import '../../chunk-ZGFXKYA5.js';
4
4
  import '../../chunk-5A2QOOVN.js';
5
- import '../../chunk-CHXHRJNZ.js';
6
5
  import '../../chunk-R5JMDDCB.js';
6
+ import '../../chunk-CHXHRJNZ.js';
7
7
  import '../../chunk-WCQVDF3K.js';
8
8
  //# sourceMappingURL=index.js.map
9
9
  //# sourceMappingURL=index.js.map
@@ -1,12 +1,12 @@
1
- export { Breadcrumb, getBreadcrumbJsonLd } from '../../chunk-QJVS2VXS.js';
1
+ export { Breadcrumb, getBreadcrumbJsonLd } from '../../chunk-PGYEIXCO.js';
2
2
  import '../../chunk-ZPUYNM37.js';
3
+ import '../../chunk-HXCETKCC.js';
3
4
  import '../../chunk-GJMHNEQ3.js';
4
5
  import '../../chunk-4UFAZLSZ.js';
5
- import '../../chunk-PZS4A4VQ.js';
6
6
  import '../../chunk-ZIBNLXIV.js';
7
7
  import '../../chunk-5A2QOOVN.js';
8
- import '../../chunk-CHXHRJNZ.js';
9
8
  import '../../chunk-R5JMDDCB.js';
9
+ import '../../chunk-CHXHRJNZ.js';
10
10
  import '../../chunk-WCQVDF3K.js';
11
11
  //# sourceMappingURL=index.js.map
12
12
  //# sourceMappingURL=index.js.map
@@ -1,9 +1,9 @@
1
- export { Button } from '../../chunk-5XEGZFG5.js';
1
+ export { Button } from '../../chunk-MYBBBLYE.js';
2
2
  import '../../chunk-ACLHDHX3.js';
3
3
  import '../../chunk-ZIBNLXIV.js';
4
4
  import '../../chunk-5A2QOOVN.js';
5
- import '../../chunk-CHXHRJNZ.js';
6
5
  import '../../chunk-R5JMDDCB.js';
6
+ import '../../chunk-CHXHRJNZ.js';
7
7
  import '../../chunk-WCQVDF3K.js';
8
8
  //# sourceMappingURL=index.js.map
9
9
  //# sourceMappingURL=index.js.map
@@ -0,0 +1,83 @@
1
+ 'use strict';
2
+
3
+ var react = require('react');
4
+ var reactNative = require('react-native');
5
+ var jsxRuntime = require('nativewind/jsx-runtime');
6
+
7
+ var __defProp = Object.defineProperty;
8
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
9
+
10
+ // src/utils/cn.ts
11
+ function cn(...inputs) {
12
+ const out = [];
13
+ for (const input of inputs) {
14
+ append(out, input);
15
+ }
16
+ return out.join(" ");
17
+ }
18
+ __name(cn, "cn");
19
+ function append(out, input) {
20
+ if (!input) {
21
+ return;
22
+ }
23
+ if (typeof input === "string") {
24
+ if (input.length > 0) {
25
+ out.push(input);
26
+ }
27
+ return;
28
+ }
29
+ if (typeof input === "number") {
30
+ return;
31
+ }
32
+ if (Array.isArray(input)) {
33
+ for (const inner of input) {
34
+ append(out, inner);
35
+ }
36
+ return;
37
+ }
38
+ if (typeof input === "object") {
39
+ for (const key of Object.keys(input)) {
40
+ if (input[key]) {
41
+ out.push(key);
42
+ }
43
+ }
44
+ }
45
+ }
46
+ __name(append, "append");
47
+ var ButtonGroup = /* @__PURE__ */ __name(({ children, orientation = "horizontal", size, className, testID }) => {
48
+ const isHorizontal = orientation === "horizontal";
49
+ const containerStyle = {
50
+ flexDirection: isHorizontal ? "row" : "column",
51
+ // gap: 0 so buttons touch; shared-border effect comes from CSS on web
52
+ // and from touching edges on native.
53
+ gap: 0,
54
+ alignSelf: "flex-start",
55
+ overflow: "hidden"
56
+ };
57
+ const childArray = react.Children.toArray(children).filter(react.isValidElement);
58
+ const total = childArray.length;
59
+ const clonedChildren = childArray.map((child, index) => {
60
+ const position = index === 0 ? "first" : index === total - 1 ? "last" : "middle";
61
+ const extraProps = {
62
+ "data-position": position,
63
+ "data-group-orientation": orientation
64
+ };
65
+ if (size !== void 0) {
66
+ extraProps["data-group-size"] = size;
67
+ }
68
+ return react.cloneElement(child, extraProps);
69
+ });
70
+ return /* @__PURE__ */ jsxRuntime.jsx(
71
+ reactNative.View,
72
+ {
73
+ ...testID !== void 0 ? { testID } : {},
74
+ className: cn(isHorizontal ? "flex-row" : "flex-col", "self-start overflow-hidden", className),
75
+ style: containerStyle,
76
+ children: clonedChildren
77
+ }
78
+ );
79
+ }, "ButtonGroup");
80
+
81
+ exports.ButtonGroup = ButtonGroup;
82
+ //# sourceMappingURL=index.cjs.map
83
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/cn.ts","../../../src/components/ButtonGroup/ButtonGroup.tsx"],"names":["Children","isValidElement","cloneElement","jsx","View"],"mappings":";;;;;;;;;;AAeO,SAAS,MAAM,MAAA,EAA8B;AAChD,EAAA,MAAM,MAAgB,EAAC;AACvB,EAAA,KAAA,MAAW,SAAS,MAAA,EAAQ;AACxB,IAAA,MAAA,CAAO,KAAK,KAAK,CAAA;AAAA,EACrB;AACA,EAAA,OAAO,GAAA,CAAI,KAAK,GAAG,CAAA;AACvB;AANgB,MAAA,CAAA,EAAA,EAAA,IAAA,CAAA;AAQhB,SAAS,MAAA,CAAO,KAAe,KAAA,EAAyB;AACpD,EAAA,IAAI,CAAC,KAAA,EAAO;AACR,IAAA;AAAA,EACJ;AACA,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC3B,IAAA,IAAI,KAAA,CAAM,SAAS,CAAA,EAAG;AAClB,MAAA,GAAA,CAAI,KAAK,KAAK,CAAA;AAAA,IAClB;AACA,IAAA;AAAA,EACJ;AACA,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC3B,IAAA;AAAA,EACJ;AACA,EAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACtB,IAAA,KAAA,MAAW,SAAS,KAAA,EAAO;AACvB,MAAA,MAAA,CAAO,KAAK,KAAK,CAAA;AAAA,IACrB;AACA,IAAA;AAAA,EACJ;AACA,EAAA,IAAI,OAAO,UAAU,QAAA,EAAU;AAC3B,IAAA,KAAA,MAAW,GAAA,IAAO,MAAA,CAAO,IAAA,CAAK,KAAK,CAAA,EAAG;AAClC,MAAA,IAAI,KAAA,CAAM,GAAG,CAAA,EAAG;AACZ,QAAA,GAAA,CAAI,KAAK,GAAG,CAAA;AAAA,MAChB;AAAA,IACJ;AAAA,EACJ;AACJ;AA1BS,MAAA,CAAA,MAAA,EAAA,QAAA,CAAA;ACyBF,IAAM,WAAA,2BAAe,EAAE,QAAA,EAAU,cAAc,YAAA,EAAc,IAAA,EAAM,SAAA,EAAW,MAAA,EAAO,KAAwB;AAChH,EAAA,MAAM,eAAe,WAAA,KAAgB,YAAA;AAErC,EAAA,MAAM,cAAA,GAA4B;AAAA,IAC9B,aAAA,EAAe,eAAe,KAAA,GAAQ,QAAA;AAAA;AAAA;AAAA,IAGtC,GAAA,EAAK,CAAA;AAAA,IACL,SAAA,EAAW,YAAA;AAAA,IACX,QAAA,EAAU;AAAA,GACd;AAIA,EAAA,MAAM,aAAaA,cAAA,CAAS,OAAA,CAAQ,QAAQ,CAAA,CAAE,OAAOC,oBAAc,CAAA;AACnE,EAAA,MAAM,QAAQ,UAAA,CAAW,MAAA;AAEzB,EAAA,MAAM,cAAA,GAAiB,UAAA,CAAW,GAAA,CAAI,CAAC,OAAO,KAAA,KAAU;AACpD,IAAA,MAAM,WAAW,KAAA,KAAU,CAAA,GAAI,UAAU,KAAA,KAAU,KAAA,GAAQ,IAAI,MAAA,GAAS,QAAA;AACxE,IAAA,MAAM,UAAA,GAAsC;AAAA,MACxC,eAAA,EAAiB,QAAA;AAAA,MACjB,wBAAA,EAA0B;AAAA,KAC9B;AACA,IAAA,IAAI,SAAS,MAAA,EAAW;AACpB,MAAA,UAAA,CAAW,iBAAiB,CAAA,GAAI,IAAA;AAAA,IACpC;AAGA,IAAA,OAAOC,kBAAA,CAAa,OAAO,UAAU,CAAA;AAAA,EACzC,CAAC,CAAA;AAED,EAAA,uBACIC,cAAA;AAAA,IAACC,gBAAA;AAAA,IAAA;AAAA,MACI,GAAI,MAAA,KAAW,MAAA,GAAY,EAAE,MAAA,KAAW,EAAC;AAAA,MAC1C,WAAW,EAAA,CAAG,YAAA,GAAe,UAAA,GAAa,UAAA,EAAY,8BAA8B,SAAS,CAAA;AAAA,MAC7F,KAAA,EAAO,cAAA;AAAA,MAEN,QAAA,EAAA;AAAA;AAAA,GACL;AAER,CAAA,EAxC2B,aAAA","file":"index.cjs","sourcesContent":["// cn — class-name merger. clsx-compatible shape.\n//\n// Intentionally does NOT deduplicate Tailwind conflicts (e.g. \"text-sm text-lg\").\n// That's `tailwind-merge`'s job; we defer adding it until a component actually\n// needs it, to keep the core tree-shakable and the runtime zero-dep.\n\nexport type ClassInput =\n | string\n | number\n | boolean\n | null\n | undefined\n | ClassInput[]\n | Record<string, boolean | number | null | undefined>;\n\nexport function cn(...inputs: ClassInput[]): string {\n const out: string[] = [];\n for (const input of inputs) {\n append(out, input);\n }\n return out.join(' ');\n}\n\nfunction append(out: string[], input: ClassInput): void {\n if (!input) {\n return;\n }\n if (typeof input === 'string') {\n if (input.length > 0) {\n out.push(input);\n }\n return;\n }\n if (typeof input === 'number') {\n return; // numbers are never class names\n }\n if (Array.isArray(input)) {\n for (const inner of input) {\n append(out, inner);\n }\n return;\n }\n if (typeof input === 'object') {\n for (const key of Object.keys(input)) {\n if (input[key]) {\n out.push(key);\n }\n }\n }\n}\n","'use client';\n\nimport { Children, cloneElement, isValidElement, type ReactNode } from 'react';\nimport type { ViewStyle } from 'react-native';\nimport { View } from 'react-native';\nimport { cn } from '../../utils/cn';\n\nexport type ButtonGroupOrientation = 'horizontal' | 'vertical';\nexport type ButtonGroupSize = 'sm' | 'md' | 'lg';\n\nexport type ButtonGroupProps = {\n children?: ReactNode;\n /** Flex direction for the group. @defaultValue 'horizontal' */\n orientation?: ButtonGroupOrientation;\n /**\n * Size hint passed to children via `data-group-size`. Buttons inside\n * the group can read this to self-size consistently. When omitted, each\n * Button retains its own `size` prop.\n */\n size?: ButtonGroupSize;\n className?: string;\n testID?: string;\n};\n\n/**\n * Joins multiple buttons in a visually connected row (or column). Middle\n * buttons lose outer edge radius; adjacent borders merge so the group looks\n * like a single segmented control.\n *\n * The radius treatment is implemented by injecting `data-position` attributes\n * (first / middle / last) onto each direct child. A companion CSS rule in the\n * nori preset (or a Tailwind variant) can target `[data-position=first]`,\n * `[data-position=middle]`, and `[data-position=last]` to strip the\n * appropriate border-radius corners. When using Button from `@nori-ui/core`,\n * no extra setup is needed — the tokens preset ships the rules.\n *\n * ```tsx\n * <ButtonGroup>\n * <Button variant=\"secondary\">Day</Button>\n * <Button variant=\"secondary\">Week</Button>\n * <Button variant=\"secondary\">Month</Button>\n * </ButtonGroup>\n * ```\n *\n * > **v2 note:** Corner-radius stripping is applied via CSS data-attribute\n * > selectors on web. On native, middle-button radius adjustment is a future\n * > enhancement (currently the group renders with standard per-button radius).\n */\nexport const ButtonGroup = ({ children, orientation = 'horizontal', size, className, testID }: ButtonGroupProps) => {\n const isHorizontal = orientation === 'horizontal';\n\n const containerStyle: ViewStyle = {\n flexDirection: isHorizontal ? 'row' : 'column',\n // gap: 0 so buttons touch; shared-border effect comes from CSS on web\n // and from touching edges on native.\n gap: 0,\n alignSelf: 'flex-start',\n overflow: 'hidden',\n };\n\n // Inject `data-position` on each valid child so CSS (web) or future\n // native logic can target first / middle / last positions.\n const childArray = Children.toArray(children).filter(isValidElement);\n const total = childArray.length;\n\n const clonedChildren = childArray.map((child, index) => {\n const position = index === 0 ? 'first' : index === total - 1 ? 'last' : 'middle';\n const extraProps: Record<string, unknown> = {\n 'data-position': position,\n 'data-group-orientation': orientation,\n };\n if (size !== undefined) {\n extraProps['data-group-size'] = size;\n }\n\n // Clone the child element with the injected data attributes.\n return cloneElement(child, extraProps);\n });\n\n return (\n <View\n {...(testID !== undefined ? { testID } : {})}\n className={cn(isHorizontal ? 'flex-row' : 'flex-col', 'self-start overflow-hidden', className)}\n style={containerStyle}\n >\n {clonedChildren}\n </View>\n );\n};\n"]}
@@ -0,0 +1,45 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import { ReactNode } from 'react';
3
+
4
+ type ButtonGroupOrientation = 'horizontal' | 'vertical';
5
+ type ButtonGroupSize = 'sm' | 'md' | 'lg';
6
+ type ButtonGroupProps = {
7
+ children?: ReactNode;
8
+ /** Flex direction for the group. @defaultValue 'horizontal' */
9
+ orientation?: ButtonGroupOrientation;
10
+ /**
11
+ * Size hint passed to children via `data-group-size`. Buttons inside
12
+ * the group can read this to self-size consistently. When omitted, each
13
+ * Button retains its own `size` prop.
14
+ */
15
+ size?: ButtonGroupSize;
16
+ className?: string;
17
+ testID?: string;
18
+ };
19
+ /**
20
+ * Joins multiple buttons in a visually connected row (or column). Middle
21
+ * buttons lose outer edge radius; adjacent borders merge so the group looks
22
+ * like a single segmented control.
23
+ *
24
+ * The radius treatment is implemented by injecting `data-position` attributes
25
+ * (first / middle / last) onto each direct child. A companion CSS rule in the
26
+ * nori preset (or a Tailwind variant) can target `[data-position=first]`,
27
+ * `[data-position=middle]`, and `[data-position=last]` to strip the
28
+ * appropriate border-radius corners. When using Button from `@nori-ui/core`,
29
+ * no extra setup is needed — the tokens preset ships the rules.
30
+ *
31
+ * ```tsx
32
+ * <ButtonGroup>
33
+ * <Button variant="secondary">Day</Button>
34
+ * <Button variant="secondary">Week</Button>
35
+ * <Button variant="secondary">Month</Button>
36
+ * </ButtonGroup>
37
+ * ```
38
+ *
39
+ * > **v2 note:** Corner-radius stripping is applied via CSS data-attribute
40
+ * > selectors on web. On native, middle-button radius adjustment is a future
41
+ * > enhancement (currently the group renders with standard per-button radius).
42
+ */
43
+ declare const ButtonGroup: ({ children, orientation, size, className, testID }: ButtonGroupProps) => react_jsx_runtime.JSX.Element;
44
+
45
+ export { ButtonGroup, type ButtonGroupOrientation, type ButtonGroupProps, type ButtonGroupSize };