@dreamtree-org/twreact-ui 1.3.11 → 2.0.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 (164) hide show
  1. package/README.md +40 -6
  2. package/ai-skills/dreamtree-ui.md +47 -9
  3. package/codemods/v2.cjs +198 -0
  4. package/dist/ai-schema.json +609 -33
  5. package/dist/components/blocks/AppShell.d.ts.map +1 -1
  6. package/dist/components/blocks/BottomActionBar.d.ts +6 -0
  7. package/dist/components/blocks/BottomActionBar.d.ts.map +1 -0
  8. package/dist/components/blocks/ConfirmDialog.d.ts.map +1 -1
  9. package/dist/components/blocks/PageHeader.d.ts.map +1 -1
  10. package/dist/components/core/Checkbox.d.ts.map +1 -1
  11. package/dist/components/core/DatePicker.d.ts.map +1 -1
  12. package/dist/components/core/DateRangePicker.d.ts.map +1 -1
  13. package/dist/components/core/Form.d.ts.map +1 -1
  14. package/dist/components/core/Input.d.ts.map +1 -1
  15. package/dist/components/core/Popover.d.ts.map +1 -1
  16. package/dist/components/core/ProgressBar.d.ts.map +1 -1
  17. package/dist/components/core/Rate.d.ts.map +1 -1
  18. package/dist/components/core/SearchField.d.ts +9 -0
  19. package/dist/components/core/SearchField.d.ts.map +1 -0
  20. package/dist/components/core/SegmentedControl.d.ts +8 -0
  21. package/dist/components/core/SegmentedControl.d.ts.map +1 -0
  22. package/dist/components/core/Select.d.ts.map +1 -1
  23. package/dist/components/core/SwipeableListItem.d.ts +4 -0
  24. package/dist/components/core/SwipeableListItem.d.ts.map +1 -0
  25. package/dist/components/core/SwipeableListItemGesture.d.ts +58 -0
  26. package/dist/components/core/SwipeableListItemGesture.d.ts.map +1 -0
  27. package/dist/components/core/Switch.d.ts.map +1 -1
  28. package/dist/components/core/Table/ActionMenu.d.ts +10 -3
  29. package/dist/components/core/Table/ActionMenu.d.ts.map +1 -1
  30. package/dist/components/core/Table/MobileCard.d.ts +10 -1
  31. package/dist/components/core/Table/MobileCard.d.ts.map +1 -1
  32. package/dist/components/core/Table/MobileFilters.d.ts +8 -2
  33. package/dist/components/core/Table/MobileFilters.d.ts.map +1 -1
  34. package/dist/components/core/Table/Table.d.ts.map +1 -1
  35. package/dist/components/core/Table/TableRow.d.ts +2 -1
  36. package/dist/components/core/Table/TableRow.d.ts.map +1 -1
  37. package/dist/components/core/Tabs.d.ts +3 -3
  38. package/dist/components/core/Tabs.d.ts.map +1 -1
  39. package/dist/components/core/ThreeDotPopover.d.ts +10 -22
  40. package/dist/components/core/ThreeDotPopover.d.ts.map +1 -1
  41. package/dist/components/core/Tooltip.d.ts +2 -1
  42. package/dist/components/core/Tooltip.d.ts.map +1 -1
  43. package/dist/components/core/internal/Calendar.d.ts +77 -0
  44. package/dist/components/core/internal/Calendar.d.ts.map +1 -0
  45. package/dist/components/core/menu/ActionMenuSurface.d.ts +42 -0
  46. package/dist/components/core/menu/ActionMenuSurface.d.ts.map +1 -0
  47. package/dist/components/core/menu/ActionSheetMenu.d.ts +17 -0
  48. package/dist/components/core/menu/ActionSheetMenu.d.ts.map +1 -0
  49. package/dist/components/core/menu/MenuPopover.d.ts +21 -0
  50. package/dist/components/core/menu/MenuPopover.d.ts.map +1 -0
  51. package/dist/components/core/menu/menuItems.d.ts +21 -0
  52. package/dist/components/core/menu/menuItems.d.ts.map +1 -0
  53. package/dist/components/core/menu/menuKeyboard.d.ts +16 -0
  54. package/dist/components/core/menu/menuKeyboard.d.ts.map +1 -0
  55. package/dist/components/feedback/ActionSheet.d.ts +4 -0
  56. package/dist/components/feedback/ActionSheet.d.ts.map +1 -0
  57. package/dist/components/feedback/Alert.d.ts.map +1 -1
  58. package/dist/components/feedback/Dialog.d.ts.map +1 -1
  59. package/dist/components/feedback/Drawer.d.ts.map +1 -1
  60. package/dist/components/feedback/Sheet.d.ts +4 -0
  61. package/dist/components/feedback/Sheet.d.ts.map +1 -0
  62. package/dist/components/feedback/Toast.d.ts +4 -3
  63. package/dist/components/feedback/Toast.d.ts.map +1 -1
  64. package/dist/components/feedback/ToastItem.d.ts +47 -0
  65. package/dist/components/feedback/ToastItem.d.ts.map +1 -0
  66. package/dist/components/feedback/ToastStack.d.ts +20 -0
  67. package/dist/components/feedback/ToastStack.d.ts.map +1 -0
  68. package/dist/components/feedback/ToastSwipe.d.ts +22 -0
  69. package/dist/components/feedback/ToastSwipe.d.ts.map +1 -0
  70. package/dist/components/feedback/Tour.d.ts.map +1 -1
  71. package/dist/components/feedback/sheetCore.d.ts +30 -0
  72. package/dist/components/feedback/sheetCore.d.ts.map +1 -0
  73. package/dist/components/navigation/Navbar.d.ts.map +1 -1
  74. package/dist/components/navigation/Sidebar.d.ts +6 -0
  75. package/dist/components/navigation/Sidebar.d.ts.map +1 -1
  76. package/dist/components/rich-text/RichTextEditor.d.ts.map +1 -1
  77. package/dist/components/rich-text/RichTextToolbar.d.ts +6 -2
  78. package/dist/components/rich-text/RichTextToolbar.d.ts.map +1 -1
  79. package/dist/components/utility/PullToRefresh.d.ts +5 -0
  80. package/dist/components/utility/PullToRefresh.d.ts.map +1 -0
  81. package/dist/esm/components/blocks/AppShell.js +97 -90
  82. package/dist/esm/components/blocks/BottomActionBar.js +132 -0
  83. package/dist/esm/components/blocks/ConfirmDialog.js +40 -4
  84. package/dist/esm/components/blocks/PageHeader.js +16 -3
  85. package/dist/esm/components/core/Checkbox.js +13 -24
  86. package/dist/esm/components/core/DatePicker.js +117 -304
  87. package/dist/esm/components/core/DateRangePicker.js +260 -308
  88. package/dist/esm/components/core/Form.js +11 -2
  89. package/dist/esm/components/core/Input.js +13 -18
  90. package/dist/esm/components/core/Popover.js +59 -48
  91. package/dist/esm/components/core/ProgressBar.js +36 -64
  92. package/dist/esm/components/core/Rate.js +5 -10
  93. package/dist/esm/components/core/SearchField.js +311 -0
  94. package/dist/esm/components/core/SegmentedControl.js +189 -0
  95. package/dist/esm/components/core/Select.js +185 -190
  96. package/dist/esm/components/core/SwipeableListItem.js +286 -0
  97. package/dist/esm/components/core/SwipeableListItemGesture.js +219 -0
  98. package/dist/esm/components/core/Switch.js +11 -13
  99. package/dist/esm/components/core/Table/ActionMenu.js +45 -231
  100. package/dist/esm/components/core/Table/ColumnMenu.js +1 -1
  101. package/dist/esm/components/core/Table/MobileCard.js +66 -16
  102. package/dist/esm/components/core/Table/MobileFilters.js +181 -10
  103. package/dist/esm/components/core/Table/Table.js +149 -102
  104. package/dist/esm/components/core/Table/TableRow.js +10 -2
  105. package/dist/esm/components/core/Tabs.js +7 -7
  106. package/dist/esm/components/core/ThreeDotPopover.js +93 -99
  107. package/dist/esm/components/core/Tooltip.js +138 -145
  108. package/dist/esm/components/core/internal/Calendar.js +381 -0
  109. package/dist/esm/components/core/menu/ActionMenuSurface.js +110 -0
  110. package/dist/esm/components/core/menu/ActionSheetMenu.js +140 -0
  111. package/dist/esm/components/core/menu/MenuPopover.js +177 -0
  112. package/dist/esm/components/core/menu/menuItems.js +61 -0
  113. package/dist/esm/components/core/menu/menuKeyboard.js +54 -0
  114. package/dist/esm/components/feedback/ActionSheet.js +55 -0
  115. package/dist/esm/components/feedback/Alert.js +63 -53
  116. package/dist/esm/components/feedback/Dialog.js +141 -53
  117. package/dist/esm/components/feedback/Drawer.js +130 -132
  118. package/dist/esm/components/feedback/Sheet.js +125 -0
  119. package/dist/esm/components/feedback/Toast.js +21 -291
  120. package/dist/esm/components/feedback/ToastItem.js +348 -0
  121. package/dist/esm/components/feedback/ToastStack.js +130 -0
  122. package/dist/esm/components/feedback/ToastSwipe.js +52 -0
  123. package/dist/esm/components/feedback/Tour.js +107 -30
  124. package/dist/esm/components/feedback/sheetCore.js +494 -0
  125. package/dist/esm/components/navigation/Dropdown.js +1 -1
  126. package/dist/esm/components/navigation/Navbar.js +172 -37
  127. package/dist/esm/components/navigation/Sidebar.js +263 -111
  128. package/dist/esm/components/rich-text/RichTextEditor.js +9 -3
  129. package/dist/esm/components/rich-text/RichTextToolbar.js +29 -9
  130. package/dist/esm/components/utility/Portal.js +31 -0
  131. package/dist/esm/components/utility/PullToRefresh.js +229 -0
  132. package/dist/esm/hooks/useFloatingPosition.js +82 -0
  133. package/dist/esm/hooks/useHaptics.js +65 -0
  134. package/dist/esm/hooks/usePresence.js +58 -0
  135. package/dist/esm/hooks/usePresentation.js +21 -0
  136. package/dist/esm/hooks/useSheetDrag.js +220 -0
  137. package/dist/esm/index.js +13 -2
  138. package/dist/esm/utils/position.js +10 -63
  139. package/dist/hooks/useFloatingPosition.d.ts +8 -4
  140. package/dist/hooks/useFloatingPosition.d.ts.map +1 -1
  141. package/dist/hooks/useHaptics.d.ts +19 -0
  142. package/dist/hooks/useHaptics.d.ts.map +1 -0
  143. package/dist/hooks/useSheetDrag.d.ts +31 -0
  144. package/dist/hooks/useSheetDrag.d.ts.map +1 -0
  145. package/dist/index.css +1 -1
  146. package/dist/index.d.ts +9 -1
  147. package/dist/index.esm.css +1 -1
  148. package/dist/index.esm.js +8851 -3198
  149. package/dist/index.js +8856 -3195
  150. package/dist/rich-text/index.js +41 -11
  151. package/dist/types/blocks.d.ts +32 -2
  152. package/dist/types/blocks.d.ts.map +1 -1
  153. package/dist/types/index.d.ts +353 -19
  154. package/dist/types/index.d.ts.map +1 -1
  155. package/dist/types/rich-text.d.ts +5 -0
  156. package/dist/types/rich-text.d.ts.map +1 -1
  157. package/dist/utils/position.d.ts +0 -15
  158. package/dist/utils/position.d.ts.map +1 -1
  159. package/doc/README.md +15 -0
  160. package/mcp/catalog.snapshot.json +1398 -464
  161. package/package.json +7 -2
  162. package/dist/esm/hooks/useSwipeToClose.js +0 -66
  163. package/dist/hooks/useSwipeToClose.d.ts +0 -24
  164. package/dist/hooks/useSwipeToClose.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/AppShell.jsx"],"names":[],"mappings":";AAqDA,kFA+EG;kBApIkD,OAAO"}
1
+ {"version":3,"file":"AppShell.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/AppShell.jsx"],"names":[],"mappings":";AA2DA,kFAuGG;kBAlKkD,OAAO"}
@@ -0,0 +1,6 @@
1
+ /** CSS variable the bar publishes with its height, read by BottomActionBar.Spacer. */
2
+ export const BAR_HEIGHT_VAR: "--dt-bottom-action-bar-height";
3
+ export default BottomActionBar;
4
+ declare const BottomActionBar: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
5
+ import React from 'react';
6
+ //# sourceMappingURL=BottomActionBar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BottomActionBar.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/BottomActionBar.jsx"],"names":[],"mappings":"AAQA,sFAAsF;AACtF,6BAA8B,+BAA+B,CAAC;;AA+D9D,yFAiDG;kBAzHyE,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/ConfirmDialog.jsx"],"names":[],"mappings":";AAMA,uFA+BG;kBArCe,OAAO"}
1
+ {"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/ConfirmDialog.jsx"],"names":[],"mappings":";AAaA,uFAmDG;kBAhE8B,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"PageHeader.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/PageHeader.jsx"],"names":[],"mappings":";AAMA,oFA2BG;kBAjCe,OAAO"}
1
+ {"version":3,"file":"PageHeader.d.ts","sourceRoot":"","sources":["../../../src/components/blocks/PageHeader.jsx"],"names":[],"mappings":";AAUA,oFA2CG;kBArDe,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/core/Checkbox.jsx"],"names":[],"mappings":";AAuFA,kFAmKE;kBAnPK,OAAO"}
1
+ {"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/components/core/Checkbox.jsx"],"names":[],"mappings":";AAyEA,kFAqKE;kBAvOK,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/core/DatePicker.jsx"],"names":[],"mappings":";AAgCA,oFAqhBE;kBA7iBK,OAAO"}
1
+ {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/core/DatePicker.jsx"],"names":[],"mappings":";AAsBA,oFAoSE;kBAlTK,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/core/DateRangePicker.jsx"],"names":[],"mappings":";AAiDA,yFA0fG;kBAniBI,OAAO"}
1
+ {"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../src/components/core/DateRangePicker.jsx"],"names":[],"mappings":";AAoCA,yFA0aG;kBAtcI,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../src/components/core/Form.jsx"],"names":[],"mappings":";AAuDA,8EAyiBG;kBAhmB6D,OAAO"}
1
+ {"version":3,"file":"Form.d.ts","sourceRoot":"","sources":["../../../src/components/core/Form.jsx"],"names":[],"mappings":";AAuDA,8EAgjBG;kBAvmB6D,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/core/Input.jsx"],"names":[],"mappings":";AAyCA,+EAgRG;kBAzTqE,OAAO"}
1
+ {"version":3,"file":"Input.d.ts","sourceRoot":"","sources":["../../../src/components/core/Input.jsx"],"names":[],"mappings":";AAyCA,+EA2QG;kBApTqE,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/components/core/Popover.jsx"],"names":[],"mappings":";AAgDA,iFA8FG;kBA9I2E,OAAO"}
1
+ {"version":3,"file":"Popover.d.ts","sourceRoot":"","sources":["../../../src/components/core/Popover.jsx"],"names":[],"mappings":";AA0BA,iFAwIG;kBAlK0D,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../../src/components/core/ProgressBar.jsx"],"names":[],"mappings":";AAgDA,qFAqGG;kBArJ+B,OAAO"}
1
+ {"version":3,"file":"ProgressBar.d.ts","sourceRoot":"","sources":["../../../src/components/core/ProgressBar.jsx"],"names":[],"mappings":";AAuBA,qFA2FG;kBAlH+B,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Rate.d.ts","sourceRoot":"","sources":["../../../src/components/core/Rate.jsx"],"names":[],"mappings":";AA2CA,8EAyNG;kBAnQiD,OAAO"}
1
+ {"version":3,"file":"Rate.d.ts","sourceRoot":"","sources":["../../../src/components/core/Rate.jsx"],"names":[],"mappings":";AA2CA,8EAsNG;kBAhQiD,OAAO"}
@@ -0,0 +1,9 @@
1
+ export default SearchField;
2
+ /**
3
+ * SearchField — `type="search"` input with iOS conventions.
4
+ *
5
+ * `ref` and unknown props go to the `<input>`; `className` styles the root.
6
+ */
7
+ declare const SearchField: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
8
+ import React from "react";
9
+ //# sourceMappingURL=SearchField.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SearchField.d.ts","sourceRoot":"","sources":["../../../src/components/core/SearchField.jsx"],"names":[],"mappings":";AA+CA;;;;GAIG;AACH,qFAuQE;kBA3T0D,OAAO"}
@@ -0,0 +1,8 @@
1
+ export default SegmentedControl;
2
+ /**
3
+ * SegmentedControl: a radiogroup view toggle (iOS segmented control).
4
+ * Use `Tabs variant="segmented"` instead when the choice switches panels.
5
+ */
6
+ declare const SegmentedControl: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
7
+ import React from "react";
8
+ //# sourceMappingURL=SegmentedControl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SegmentedControl.d.ts","sourceRoot":"","sources":["../../../src/components/core/SegmentedControl.jsx"],"names":[],"mappings":";AAqCA;;;GAGG;AACH,0FAkKG;kBA3M6E,OAAO"}
@@ -1 +1 @@
1
- {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/core/Select.jsx"],"names":[],"mappings":";AA8GA,gFAwzBE;kBA95BK,OAAO"}
1
+ {"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../../src/components/core/Select.jsx"],"names":[],"mappings":";AA8HA,gFAuzBE;kBA76BK,OAAO"}
@@ -0,0 +1,4 @@
1
+ export default SwipeableListItem;
2
+ declare const SwipeableListItem: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
3
+ import React from "react";
4
+ //# sourceMappingURL=SwipeableListItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwipeableListItem.d.ts","sourceRoot":"","sources":["../../../src/components/core/SwipeableListItem.jsx"],"names":[],"mappings":";AAmFA,2FAqMG;kBAxR2D,OAAO"}
@@ -0,0 +1,58 @@
1
+ /**
2
+ * Where the content rests for an open side.
3
+ * @param {'leading'|'trailing'|null} side
4
+ * @param {{ leading: number, trailing: number }} widths - revealed widths in px.
5
+ */
6
+ export function restingOffset(side: "leading" | "trailing" | null, widths: {
7
+ leading: number;
8
+ trailing: number;
9
+ }): number;
10
+ /** Distance (px) past which releasing commits the side's first action. */
11
+ export function fullSwipeDistance(reveal: any, width: any, threshold: any): number;
12
+ /**
13
+ * Maps a raw finger offset to the displayed offset for one side.
14
+ * @param {number} raw - px, signed.
15
+ * @param {{ reveal: number, fullSwipe: boolean, width: number }} opts
16
+ */
17
+ export function constrainOffset(raw: number, { reveal, fullSwipe, width }: {
18
+ reveal: number;
19
+ fullSwipe: boolean;
20
+ width: number;
21
+ }): number;
22
+ /**
23
+ * @param {{
24
+ * enabled: boolean,
25
+ * widths: { leading: number, trailing: number },
26
+ * openSide: 'leading'|'trailing'|null,
27
+ * fullSwipe: { leading: boolean, trailing: boolean },
28
+ * fullSwipeThreshold: number,
29
+ * onSettle: (r: { side: 'leading'|'trailing'|null, commit: boolean }) => void,
30
+ * }} options
31
+ * @returns {{ offset: number|null, dragging: boolean, armed: 'leading'|'trailing'|null,
32
+ * handlers: object, consumeClick: () => boolean }}
33
+ */
34
+ export function useSwipeGesture({ enabled, widths, openSide, fullSwipe, fullSwipeThreshold, onSettle }: {
35
+ enabled: boolean;
36
+ widths: {
37
+ leading: number;
38
+ trailing: number;
39
+ };
40
+ openSide: "leading" | "trailing" | null;
41
+ fullSwipe: {
42
+ leading: boolean;
43
+ trailing: boolean;
44
+ };
45
+ fullSwipeThreshold: number;
46
+ onSettle: (r: {
47
+ side: "leading" | "trailing" | null;
48
+ commit: boolean;
49
+ }) => void;
50
+ }): {
51
+ offset: number | null;
52
+ dragging: boolean;
53
+ armed: "leading" | "trailing" | null;
54
+ handlers: object;
55
+ consumeClick: () => boolean;
56
+ };
57
+ export const FALLBACK_WIDTH: 320;
58
+ //# sourceMappingURL=SwipeableListItemGesture.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SwipeableListItemGesture.d.ts","sourceRoot":"","sources":["../../../src/components/core/SwipeableListItemGesture.js"],"names":[],"mappings":"AAsBA;;;;GAIG;AACH,oCAHW,SAAS,GAAC,UAAU,GAAC,IAAI,UACzB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,UAM/C;AAED,0EAA0E;AAC1E,mFAEC;AAED;;;;GAIG;AACH,qCAHW,MAAM,gCACN;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,UAQ/D;AAED;;;;;;;;;;;GAWG;AACH,wGAXW;IACN,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9C,QAAQ,EAAE,SAAS,GAAC,UAAU,GAAC,IAAI,CAAC;IACpC,SAAS,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;IACnD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,CAAC,CAAC,EAAE;QAAE,IAAI,EAAE,SAAS,GAAC,UAAU,GAAC,IAAI,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CAC7E,GACS;IAAE,MAAM,EAAE,MAAM,GAAC,IAAI,CAAC;IAAC,QAAQ,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,SAAS,GAAC,UAAU,GAAC,IAAI,CAAC;IACnF,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,OAAO,CAAA;CAAE,CA4HnD;AAzKD,6BAA8B,GAAG,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../src/components/core/Switch.jsx"],"names":[],"mappings":";AA8EA,gFAiOG;kBA/SmE,OAAO"}
1
+ {"version":3,"file":"Switch.d.ts","sourceRoot":"","sources":["../../../src/components/core/Switch.jsx"],"names":[],"mappings":";AAqEA,gFAoOG;kBAzSmE,OAAO"}
@@ -1,4 +1,11 @@
1
- export default function ActionMenu({ actions, row, onAction, onClose, menuRef: externalMenuRef, anchorEl, theme, }: {
1
+ /**
2
+ * Table's row action menu. Rendered by TableRow / MobileCard while a row's
3
+ * kebab is open (the Table owns the open state), on the shared action-menu
4
+ * primitive: a portaled floating menu on desktop, an action sheet on phones.
5
+ *
6
+ * Actions: { name, label, icon?, render?(row), disabled?, tone?: 'destructive', destructive? }.
7
+ */
8
+ export default function ActionMenu({ actions, row, onAction, onClose, menuRef, anchorEl, theme, presentation, }: {
2
9
  actions?: never[] | undefined;
3
10
  row: any;
4
11
  onAction: any;
@@ -6,6 +13,6 @@ export default function ActionMenu({ actions, row, onAction, onClose, menuRef: e
6
13
  menuRef: any;
7
14
  anchorEl: any;
8
15
  theme: any;
9
- }): React.ReactPortal;
10
- import React from "react";
16
+ presentation?: string | undefined;
17
+ }): import("react/jsx-runtime").JSX.Element;
11
18
  //# sourceMappingURL=ActionMenu.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ActionMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/core/Table/ActionMenu.jsx"],"names":[],"mappings":"AAQA;;;;;;;;sBA4RC;kBApSmE,OAAO"}
1
+ {"version":3,"file":"ActionMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/core/Table/ActionMenu.jsx"],"names":[],"mappings":"AAOA;;;;;;GAMG;AACH;;;;;;;;;4CAuCC"}
@@ -1,8 +1,13 @@
1
+ /** Resolves `swipeActions(row, index)` to `{ leading, trailing }` arrays. */
2
+ export function resolveSwipeActions(swipeActions: any, row: any, index: any): {
3
+ leading: any;
4
+ trailing: any;
5
+ } | null;
1
6
  export default MobileCard;
2
7
  /**
3
8
  * Mobile card view for a single table row
4
9
  */
5
- declare function MobileCard({ row, rowIndexInPage, startIndex, selectedRows, expandedRows, rowClass, stripedRows, stripedColors, theme, onRowClick, hasDetails, selectable, showSerial, withAction, visibleColumns, cellClass, DetailsComponent, actionsToUse, activeActionRowKey, activeAnchorEl, registerActionButton, actionMenuRef, toggleExpandRow, handleSelectRow, toggleActions, handleOnAction, closeActionMenu, renderCell, }: {
10
+ declare function MobileCard({ row, rowIndexInPage, startIndex, selectedRows, expandedRows, rowClass, stripedRows, stripedColors, theme, onRowClick, hasDetails, selectable, showSerial, withAction, visibleColumns, cellClass, DetailsComponent, actionsToUse, activeActionRowKey, activeAnchorEl, registerActionButton, actionMenuRef, actionMenuPresentation, toggleExpandRow, handleSelectRow, toggleActions, handleOnAction, closeActionMenu, renderCell, swipeActions, openSwipe, setOpenSwipe, }: {
6
11
  row: any;
7
12
  rowIndexInPage: any;
8
13
  startIndex: any;
@@ -25,11 +30,15 @@ declare function MobileCard({ row, rowIndexInPage, startIndex, selectedRows, exp
25
30
  activeAnchorEl: any;
26
31
  registerActionButton: any;
27
32
  actionMenuRef: any;
33
+ actionMenuPresentation?: string | undefined;
28
34
  toggleExpandRow: any;
29
35
  handleSelectRow: any;
30
36
  toggleActions: any;
31
37
  handleOnAction: any;
32
38
  closeActionMenu: any;
33
39
  renderCell: any;
40
+ swipeActions: any;
41
+ openSwipe: any;
42
+ setOpenSwipe: any;
34
43
  }): import("react/jsx-runtime").JSX.Element;
35
44
  //# sourceMappingURL=MobileCard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MobileCard.d.ts","sourceRoot":"","sources":["../../../../src/components/core/Table/MobileCard.jsx"],"names":[],"mappings":";AAYA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAsOC"}
1
+ {"version":3,"file":"MobileCard.d.ts","sourceRoot":"","sources":["../../../../src/components/core/Table/MobileCard.jsx"],"names":[],"mappings":"AAiBA,6EAA6E;AAC7E;;;SAMC;;AAED;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAwQC"}
@@ -1,8 +1,12 @@
1
+ /** Number of non-empty filters (the global search counts as one). */
2
+ export function countActiveFilters(filters: any): number;
1
3
  export default MobileFilters;
2
4
  /**
3
- * Mobile-specific filters panel
5
+ * Mobile filters. `presentation="inline"` (default) is the collapsible panel;
6
+ * `presentation="sheet"` is a Filters button opening a bottom Sheet with an
7
+ * Apply / Clear footer.
4
8
  */
5
- declare function MobileFilters({ showMobileFilters, setShowMobileFilters, globalSearch, searchInput, setSearchInput, onGlobalKeyDown, filterable, visibleColumns, filters, handleFilter, }: {
9
+ declare function MobileFilters({ showMobileFilters, setShowMobileFilters, globalSearch, searchInput, setSearchInput, onGlobalKeyDown, filterable, visibleColumns, filters, handleFilter, applyFilters, presentation, }: {
6
10
  showMobileFilters: any;
7
11
  setShowMobileFilters: any;
8
12
  globalSearch: any;
@@ -13,5 +17,7 @@ declare function MobileFilters({ showMobileFilters, setShowMobileFilters, global
13
17
  visibleColumns: any;
14
18
  filters: any;
15
19
  handleFilter: any;
20
+ applyFilters: any;
21
+ presentation?: string | undefined;
16
22
  }): import("react/jsx-runtime").JSX.Element;
17
23
  //# sourceMappingURL=MobileFilters.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MobileFilters.d.ts","sourceRoot":"","sources":["../../../../src/components/core/Table/MobileFilters.jsx"],"names":[],"mappings":";AAGA;;GAEG;AACH;;;;;;;;;;;4CAmEC"}
1
+ {"version":3,"file":"MobileFilters.d.ts","sourceRoot":"","sources":["../../../../src/components/core/Table/MobileFilters.jsx"],"names":[],"mappings":"AAWA,qEAAqE;AACrE,yDAEC;;AAmHD;;;;GAIG;AACH;;;;;;;;;;;;;4CAoFC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/core/Table/Table.jsx"],"names":[],"mappings":";AA8CA,+EA8gDG;kBAnjDI,OAAO"}
1
+ {"version":3,"file":"Table.d.ts","sourceRoot":"","sources":["../../../../src/components/core/Table/Table.jsx"],"names":[],"mappings":";AAgDA,+EA+kDG;kBAtnDI,OAAO"}
@@ -2,7 +2,7 @@ export default TableRow;
2
2
  /**
3
3
  * Desktop table row component
4
4
  */
5
- declare function TableRow({ row, rowIndexInPage, startIndex, selectedRows, expandedRows, rowClass, stripedRows, theme, onRowClick, hasDetails, hasDetailsColumn, showSerial, selectable, visibleColumns, cellClass, withAction, visibleCount, DetailsComponent, actionsToUse, activeActionRowKey, activeAnchorEl, registerActionButton, actionMenuRef, toggleExpandRow, handleSelectRow, toggleActions, handleOnAction, closeActionMenu, renderCell, interactive, activeCell, editingCell, onCellClick, onCellDoubleClick, renderInteractiveCellInput, invalidCellSet, pendingEdits, isNewRow, onDeleteNewRow, showColumnPicker, wrapCells, }: {
5
+ declare function TableRow({ row, rowIndexInPage, startIndex, selectedRows, expandedRows, rowClass, stripedRows, theme, onRowClick, hasDetails, hasDetailsColumn, showSerial, selectable, visibleColumns, cellClass, withAction, visibleCount, DetailsComponent, actionsToUse, activeActionRowKey, activeAnchorEl, registerActionButton, actionMenuRef, actionMenuPresentation, toggleExpandRow, handleSelectRow, toggleActions, handleOnAction, closeActionMenu, renderCell, interactive, activeCell, editingCell, onCellClick, onCellDoubleClick, renderInteractiveCellInput, invalidCellSet, pendingEdits, isNewRow, onDeleteNewRow, showColumnPicker, wrapCells, }: {
6
6
  row: any;
7
7
  rowIndexInPage: any;
8
8
  startIndex: any;
@@ -26,6 +26,7 @@ declare function TableRow({ row, rowIndexInPage, startIndex, selectedRows, expan
26
26
  activeAnchorEl: any;
27
27
  registerActionButton: any;
28
28
  actionMenuRef: any;
29
+ actionMenuPresentation?: string | undefined;
29
30
  toggleExpandRow: any;
30
31
  handleSelectRow: any;
31
32
  toggleActions: any;
@@ -1 +1 @@
1
- {"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../../../src/components/core/Table/TableRow.jsx"],"names":[],"mappings":";AAaA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CA+RC"}
1
+ {"version":3,"file":"TableRow.d.ts","sourceRoot":"","sources":["../../../../src/components/core/Table/TableRow.jsx"],"names":[],"mappings":";AAcA;;GAEG;AACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4CAwSC"}
@@ -1,9 +1,9 @@
1
- export function Tab({ children, index, className, iconLeft, iconRight, disabled, tabClassName, }: {
1
+ export function Tab({ children, index, className, leftIcon, rightIcon, disabled, tabClassName, }: {
2
2
  children: any;
3
3
  index: any;
4
4
  className?: string | undefined;
5
- iconLeft: any;
6
- iconRight: any;
5
+ leftIcon: any;
6
+ rightIcon: any;
7
7
  disabled?: boolean | undefined;
8
8
  tabClassName?: string | undefined;
9
9
  }): import("react/jsx-runtime").JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/components/core/Tabs.jsx"],"names":[],"mappings":"AAgPA;;;;;;;;4CA+IC;AAGD;;;4CAsDC;AAED;;;;;mDAyBC;AAnVD,gFA2GG;;kBAlOI,OAAO;AA0Dd,8EAwDG"}
1
+ {"version":3,"file":"Tabs.d.ts","sourceRoot":"","sources":["../../../src/components/core/Tabs.jsx"],"names":[],"mappings":"AAgPA;;;;;;;;4CAgJC;AAGD;;;4CAsDC;AAED;;;;;mDAyBC;AApVD,gFA2GG;;kBAlOI,OAAO;AA0Dd,8EAwDG"}
@@ -1,30 +1,18 @@
1
1
  export default ThreeDotPopoverSimple;
2
2
  /**
3
- * ThreeDotPopover (Simple)
3
+ * ThreeDotPopover
4
4
  *
5
- * A minimal three-dot popover for your UI library.
5
+ * A kebab (three-dot) button that opens an action menu.
6
6
  *
7
- * Features (simple):
8
- * - Minimal, single-file React component (no animation libs, no portals).
9
- * - Click trigger toggles menu (default three-dot icon or custom trigger node).
10
- * - Close on outside click and Escape key.
11
- * - Menu items: { key, label, icon?, onClick?, disabled?, destructive? }.
7
+ * - Desktop (`presentation="popover"`): a portaled floating `role="menu"`
8
+ * that flips/shifts to stay on screen, with roving focus (ArrowUp/Down,
9
+ * Home/End, typeahead). Escape closes and returns focus to the trigger.
10
+ * - Phones (`presentation="sheet"`): an iOS-style action sheet with a
11
+ * separate Cancel button.
12
+ * - `presentation="auto"` (default) picks the sheet on small touch screens.
12
13
  *
13
- * Props:
14
- * - items: Array of menu item objects (see above)
15
- * - trigger: optional React node to use as trigger (falls back to three-dot button)
16
- * - className: additional class for trigger wrapper
17
- * - menuClass: additional class for menu container
18
- * - menuItemClass: additional class for every menu item
19
- * - closeOnSelect: boolean (default true)
20
- *
21
- * Example:
22
- * const items = [
23
- * { key: 'edit', label: 'Edit', icon: Edit2, onClick: () => {} },
24
- * { key: 'view', label: 'View', icon: Eye, onClick: () => {} },
25
- * { key: 'delete', label: 'Delete', destructive: true, onClick: () => {} },
26
- * ];
27
- * <ThreeDotPopoverSimple items={items} />
14
+ * Items: { key, label, icon?, onClick?, disabled?, destructive?, tone? }.
15
+ * `tone: 'destructive'` and `destructive: true` are equivalent.
28
16
  */
29
17
  declare const ThreeDotPopoverSimple: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
30
18
  import React from "react";
@@ -1 +1 @@
1
- {"version":3,"file":"ThreeDotPopover.d.ts","sourceRoot":"","sources":["../../../src/components/core/ThreeDotPopover.jsx"],"names":[],"mappings":";AAUA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,+FAuIG;kBAtKI,OAAO"}
1
+ {"version":3,"file":"ThreeDotPopover.d.ts","sourceRoot":"","sources":["../../../src/components/core/ThreeDotPopover.jsx"],"names":[],"mappings":";AAOA;;;;;;;;;;;;;;GAcG;AACH,+FAgHG;kBAtIqE,OAAO"}
@@ -1,7 +1,8 @@
1
1
  export default Tooltip;
2
2
  /**
3
3
  * Tooltip props
4
- * - position: 'auto' | 'top' | 'bottom' | 'left' | 'right' (default 'auto')
4
+ * - position: 'auto' | 'top' | 'bottom' | 'left' | 'right' (default 'auto';
5
+ * 'auto' prefers top and flips/shifts to stay in view)
5
6
  * - trigger: 'hover' | 'click' | 'focus' | Array of those (default 'hover')
6
7
  * - content: ReactNode | ( { close } ) => ReactNode
7
8
  * - customTrigger: ReactElement (rendered in place of children as trigger)
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/core/Tooltip.jsx"],"names":[],"mappings":";AAwDA;;;;;;;;;;;;;;;;GAgBG;AACH,iFAwZG;kBAxdI,OAAO"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/core/Tooltip.jsx"],"names":[],"mappings":";AAyDA;;;;;;;;;;;;;;;;;GAiBG;AACH,iFA4YG;kBA9cI,OAAO"}
@@ -0,0 +1,77 @@
1
+ /** Date | ISO string | null → Date | null. */
2
+ export function normalizeDate(d: any): Date | null;
3
+ /** Builds an `isDisabled(date)` predicate from optional min / max bounds. */
4
+ export function makeIsDisabled(minDate: any, maxDate: any): (date: any) => boolean;
5
+ /** Is `d` within [a, b] (either order), by calendar day. */
6
+ export function isBetween(d: any, a: any, b: any): boolean;
7
+ /**
8
+ * @param {object} props
9
+ * @param {Date} props.month - any date in the visible month.
10
+ * @param {(month: Date) => void} props.onMonthChange
11
+ * @param {0|1} [props.weekStartsOn=0]
12
+ * @param {(d: Date) => boolean} props.isDisabled
13
+ * @param {(d: Date) => { selected?: boolean, edge?: boolean, inRange?: boolean }} props.getDayState
14
+ * - `selected` sets aria-selected; `edge` paints the solid (selected / range end) style;
15
+ * `inRange` paints the in-between tint.
16
+ * @param {(d: Date) => void} props.onSelect
17
+ * @param {(d: Date | null) => void} [props.onPreview] - hovered / focused day, null on leave.
18
+ * @param {Date|null} [props.preferredDate] - tabbable day when nothing was focused yet.
19
+ * @param {'popover'|'sheet'} [props.size='popover'] - sheet uses 44px day cells.
20
+ * @param {boolean} [props.fullDateLabels=false] - aria-label each day with its full date.
21
+ * @param {boolean} [props.autoFocus=false] - focus the tabbable day on mount.
22
+ * @param {boolean} [props.swipe=false] - horizontal swipe changes month.
23
+ * @param {boolean} [props.multiSelectable=false]
24
+ * @param {object} [props.locale] - date-fns locale for the day labels.
25
+ * @param {React.Ref} [props.gridRef]
26
+ */
27
+ export function Calendar({ month, onMonthChange, weekStartsOn, isDisabled, getDayState, onSelect, onPreview, preferredDate, size, fullDateLabels, autoFocus, swipe, multiSelectable, locale, gridRef, }: {
28
+ month: Date;
29
+ onMonthChange: (month: Date) => void;
30
+ weekStartsOn?: 0 | 1 | undefined;
31
+ isDisabled: (d: Date) => boolean;
32
+ getDayState: (d: Date) => {
33
+ selected?: boolean;
34
+ edge?: boolean;
35
+ inRange?: boolean;
36
+ };
37
+ onSelect: (d: Date) => void;
38
+ onPreview?: ((d: Date | null) => void) | undefined;
39
+ preferredDate?: Date | null | undefined;
40
+ size?: "popover" | "sheet" | undefined;
41
+ fullDateLabels?: boolean | undefined;
42
+ autoFocus?: boolean | undefined;
43
+ swipe?: boolean | undefined;
44
+ multiSelectable?: boolean | undefined;
45
+ locale?: object | undefined;
46
+ gridRef?: React.Ref;
47
+ }): import("react/jsx-runtime").JSX.Element;
48
+ /**
49
+ * A ref-like object for Sheet's `initialFocus`: the grid's tabbable day.
50
+ * Read lazily (when the sheet opens), never during render.
51
+ */
52
+ export function useActiveDayFocusRef(gridRef: any): {
53
+ readonly current: any;
54
+ };
55
+ /**
56
+ * Where the calendar lives: a bottom Sheet, or an anchored popover positioned
57
+ * by useFloatingPosition (fixed strategy, `z-popover`, fluid width).
58
+ */
59
+ export function PickerSurface({ mode, open, onClose, title, portal, floatingRef, floatingStyles, isPositioned, initialFocus, sheetFooter, children, }: {
60
+ mode: any;
61
+ open: any;
62
+ onClose: any;
63
+ title: any;
64
+ portal?: boolean | undefined;
65
+ floatingRef: any;
66
+ floatingStyles: any;
67
+ isPositioned?: boolean | undefined;
68
+ initialFocus: any;
69
+ sheetFooter: any;
70
+ children: any;
71
+ }): import("react/jsx-runtime").JSX.Element | null;
72
+ export const SWIPE_THRESHOLD: 50;
73
+ /** Popover surface classes: fluid width that never overflows a 320px screen. */
74
+ export const POPOVER_CLASSES: "z-popover w-[min(20rem,calc(100vw-2rem))] rounded-md border border-line bg-surface p-4 shadow-lg";
75
+ export default Calendar;
76
+ import React from "react";
77
+ //# sourceMappingURL=Calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Calendar.d.ts","sourceRoot":"","sources":["../../../../src/components/core/internal/Calendar.jsx"],"names":[],"mappings":"AAkCA,8CAA8C;AAC9C,mDAOC;AAED,6EAA6E;AAC7E,6DAKU,SAAI,aAMb;AAED,4DAA4D;AAC5D,2DAKC;AAmCD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,yMAlBG;IAAoB,KAAK,EAAjB,IAAI;IACyB,aAAa,EAA1C,CAAC,KAAK,EAAE,IAAI,KAAK,IAAI;IACT,YAAY;IACI,UAAU,EAAtC,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO;IAC0D,WAAW,EAAzF,CAAC,CAAC,EAAE,IAAI,KAAK;QAAE,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE;IAG7C,QAAQ,EAAjC,CAAC,CAAC,EAAE,IAAI,KAAK,IAAI;IACgB,SAAS,QAAtC,IAAI,GAAG,IAAI,KAAK,IAAI;IACN,aAAa;IACL,IAAI;IACd,cAAc;IACd,SAAS;IACT,KAAK;IACL,eAAe;IAChB,MAAM;IACH,OAAO,GAAzB,KAAK,CAAC,GAAG;CAAiB,2CA+LpC;AAMD;;;GAGG;AACH;;EASC;AAED;;;GAGG;AACH;;;;;;;;;;;;mDAkCC;AAhVD,8BAA+B,EAAE,CAAC;AAuRlC,gFAAgF;AAChF,8BACE,kGAAkG,CAAC;;kBAxTzC,OAAO"}
@@ -0,0 +1,42 @@
1
+ /**
2
+ * @param {object} props
3
+ * @param {boolean} props.open
4
+ * @param {(reason: string) => void} props.onClose - reason is one of 'select',
5
+ * 'escape', 'outside', 'tab', 'scroll' (popover) or 'cancel', 'backdrop',
6
+ * 'drag' (sheet).
7
+ * @param {HTMLElement|null} props.anchorEl - trigger element; focus returns to
8
+ * it after select / Escape / Tab / Cancel.
9
+ * @param {Array<object>} props.items - normalized items (see menuItems.js).
10
+ * @param {'auto'|'popover'|'sheet'} [props.presentation='auto']
11
+ * @param {string} [props.placement='bottom-start'] - popover placement.
12
+ * @param {'first'|'last'} [props.initialFocus='first'] - popover item focused on open.
13
+ * @param {boolean} [props.closeOnSelect=true]
14
+ * @param {boolean} [props.closeOnScroll=false] - popover only.
15
+ * @param {React.Ref} [props.menuRef] - receives the menu (popover) or sheet panel element.
16
+ * @param {string} [props.menuClassName] - popover menu classes.
17
+ * @param {string} [props.itemClassName] - classes for every item (both modes).
18
+ * @param {string} [props.label] - accessible name of the menu / sheet.
19
+ * @param {React.ReactNode} [props.sheetTitle] - optional heading in the sheet.
20
+ * @param {React.ReactNode} [props.cancelLabel='Cancel'] - sheet Cancel button text.
21
+ * @param {React.ReactNode} [props.emptyLabel='No actions']
22
+ */
23
+ export default function ActionMenuSurface({ open, onClose, anchorEl, items, presentation, placement, initialFocus, closeOnSelect, closeOnScroll, menuRef, id, menuClassName, itemClassName, label, sheetTitle, cancelLabel, emptyLabel, }: {
24
+ open: boolean;
25
+ onClose: (reason: string) => void;
26
+ anchorEl: HTMLElement | null;
27
+ items: Array<object>;
28
+ presentation?: "auto" | "popover" | "sheet" | undefined;
29
+ placement?: string | undefined;
30
+ initialFocus?: "first" | "last" | undefined;
31
+ closeOnSelect?: boolean | undefined;
32
+ closeOnScroll?: boolean | undefined;
33
+ menuRef?: React.Ref;
34
+ menuClassName?: string | undefined;
35
+ itemClassName?: string | undefined;
36
+ label?: string | undefined;
37
+ sheetTitle?: React.ReactNode;
38
+ cancelLabel?: React.ReactNode;
39
+ emptyLabel?: React.ReactNode;
40
+ }): import("react/jsx-runtime").JSX.Element | null;
41
+ import React from "react";
42
+ //# sourceMappingURL=ActionMenuSurface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionMenuSurface.d.ts","sourceRoot":"","sources":["../../../../src/components/core/menu/ActionMenuSurface.jsx"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,2OApBG;IAAuB,IAAI,EAAnB,OAAO;IACyB,OAAO,EAAvC,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;IAGA,QAAQ,EAAhC,WAAW,GAAC,IAAI;IAEK,KAAK,EAA1B,KAAK,CAAC,MAAM,CAAC;IACoB,YAAY;IAC9B,SAAS;IACD,YAAY;IACnB,aAAa;IACb,aAAa;IACX,OAAO,GAAzB,KAAK,CAAC,GAAG;IACM,aAAa;IACb,aAAa;IACb,KAAK;IACI,UAAU,GAAlC,KAAK,CAAC,SAAS;IACS,WAAW,GAAnC,KAAK,CAAC,SAAS;IACS,UAAU,GAAlC,KAAK,CAAC,SAAS;CAAiC,kDAsE1D;kBAxGiB,OAAO"}
@@ -0,0 +1,17 @@
1
+ export default ActionSheetMenu;
2
+ /**
3
+ * @param {object} props
4
+ * @param {boolean} props.open
5
+ * @param {(reason: string) => void} props.onClose - 'cancel' | 'escape' | 'backdrop' | 'drag'.
6
+ * @param {Array<Array<object>>} props.groups - normalized items, one card per group.
7
+ * @param {(item: object) => void} props.onSelectItem
8
+ * @param {React.ReactNode} [props.title] - small muted heading at the top of the first card.
9
+ * @param {React.ReactNode} [props.message] - muted text under the title (the sheet's description).
10
+ * @param {string} [props.label] - accessible name of the sheet; without it the
11
+ * title names the sheet, and with neither it is "Actions".
12
+ * @param {React.ReactNode} [props.cancelLabel='Cancel']
13
+ * Other props are forwarded to the Sheet panel.
14
+ */
15
+ declare const ActionSheetMenu: React.ForwardRefExoticComponent<React.RefAttributes<any>>;
16
+ import React from "react";
17
+ //# sourceMappingURL=ActionSheetMenu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ActionSheetMenu.d.ts","sourceRoot":"","sources":["../../../../src/components/core/menu/ActionSheetMenu.jsx"],"names":[],"mappings":";AAsBA;;;;;;;;;;;;GAYG;AACH,yFA8GG;kBAjJ0B,OAAO"}
@@ -0,0 +1,21 @@
1
+ export function itemToneClass(item: any): "cursor-not-allowed opacity-50 text-muted" | "text-error-600 dark:text-error-400 hover:bg-error-50 dark:hover:bg-error-900/30" | "text-foreground hover:bg-line/50";
2
+ /**
3
+ * @param {object} props
4
+ * @param {HTMLElement|null} props.anchorEl - the trigger the menu floats next to.
5
+ * @param {Array} props.items - normalized items (see menuItems.js).
6
+ * @param {(item: object) => void} props.onSelectItem
7
+ * @param {(reason: string) => void} props.onRequestClose - 'escape' | 'outside' | 'tab' | 'scroll'.
8
+ * @param {string} [props.placement='bottom-start']
9
+ * @param {'first'|'last'} [props.initialFocus='first']
10
+ * @param {boolean} [props.closeOnScroll=false] - close when a scroll happens outside the menu.
11
+ */
12
+ export default function MenuPopover({ anchorEl, items, onSelectItem, onRequestClose, placement, initialFocus, closeOnScroll, menuRef, id, label, className, itemClassName, emptyLabel, }: {
13
+ anchorEl: HTMLElement | null;
14
+ items: any[];
15
+ onSelectItem: (item: object) => void;
16
+ onRequestClose: (reason: string) => void;
17
+ placement?: string | undefined;
18
+ initialFocus?: "first" | "last" | undefined;
19
+ closeOnScroll?: boolean | undefined;
20
+ }): import("react/jsx-runtime").JSX.Element;
21
+ //# sourceMappingURL=MenuPopover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MenuPopover.d.ts","sourceRoot":"","sources":["../../../../src/components/core/menu/MenuPopover.jsx"],"names":[],"mappings":"AAqBA,8MAIC;AAED;;;;;;;;;GASG;AACH,0LARG;IAAgC,QAAQ,EAAhC,WAAW,GAAC,IAAI;IACH,KAAK;IACY,YAAY,EAA1C,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI;IACU,cAAc,EAA9C,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI;IACT,SAAS;IACD,YAAY;IACnB,aAAa;CACvC,2CAsHA"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * Renders an icon given either a component type (`Edit2`) or a ready node
3
+ * (`<Edit2 />`). Returns null for anything else.
4
+ */
5
+ export function renderIcon(icon: any, className: any): any;
6
+ /**
7
+ * Normalizes a public ActionSheet action
8
+ * ({ key?, label, icon?, tone?, onSelect?, disabled? }) into a menu item.
9
+ * `icon` may be a node or a component type.
10
+ */
11
+ export function normalizeAction(action: any, idx: any): {
12
+ key: any;
13
+ label: any;
14
+ icon: any;
15
+ disabled: boolean;
16
+ tone: any;
17
+ destructive: any;
18
+ onSelect: any;
19
+ };
20
+ export function isDestructive(item: any): boolean;
21
+ //# sourceMappingURL=menuItems.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menuItems.d.ts","sourceRoot":"","sources":["../../../../src/components/core/menu/menuItems.js"],"names":[],"mappings":"AAsBA;;;GAGG;AACH,2DAUC;AAED;;;;GAIG;AACH;;;;;;;;EAWC;AAnCM,kDACsE"}
@@ -0,0 +1,16 @@
1
+ /** Moves focus to the first (or last) enabled item. */
2
+ export function focusEdgeItem(menuEl: any, edge?: string): void;
3
+ /**
4
+ * Keydown handler for the menu element. ArrowDown/ArrowUp move (and wrap),
5
+ * Home/End jump, a printable character jumps to the next item starting with
6
+ * it, Tab calls `onTab`. Escape is handled by the caller's focus layer.
7
+ *
8
+ * @param {KeyboardEvent} e
9
+ * @param {HTMLElement} menuEl
10
+ * @param {{ onTab?: () => void }} [options]
11
+ */
12
+ export function handleMenuKeyDown(e: KeyboardEvent, menuEl: HTMLElement, { onTab }?: {
13
+ onTab?: () => void;
14
+ }): void;
15
+ export function getMenuItems(menuEl: any): any[];
16
+ //# sourceMappingURL=menuKeyboard.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menuKeyboard.d.ts","sourceRoot":"","sources":["../../../../src/components/core/menu/menuKeyboard.js"],"names":[],"mappings":"AAYA,uDAAuD;AACvD,gEAGC;AAKD;;;;;;;;GAQG;AACH,qCAJW,aAAa,UACb,WAAW,cACX;IAAE,KAAK,CAAC,EAAE,MAAM,IAAI,CAAA;CAAE,QA+BhC;AApDM,iDAC2D"}