@tpc-mare/mare-ui-components-react 1.0.2 → 1.0.3

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 (293) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +227 -0
  3. package/dist/accordion/index.js +1 -1
  4. package/dist/accordion.d.ts +36 -0
  5. package/dist/{avatar/Avatar.types.d.ts → avatar.d.ts} +34 -26
  6. package/dist/badge.d.ts +19 -0
  7. package/dist/banner/index.js +1 -1
  8. package/dist/banner.d.ts +23 -0
  9. package/dist/breadcrumbs/index.js +1 -1
  10. package/dist/breadcrumbs.d.ts +24 -0
  11. package/dist/button/index.js +1 -1
  12. package/dist/button.d.ts +45 -0
  13. package/dist/checkbox/index.js +1 -1
  14. package/dist/{checkbox/Checkbox.types.d.ts → checkbox.d.ts} +79 -69
  15. package/dist/combobox/index.js +1 -1
  16. package/dist/combobox.d.ts +43 -0
  17. package/dist/confirm-dialog/index.js +1 -1
  18. package/dist/confirm-dialog.d.ts +34 -0
  19. package/dist/counter/index.js +1 -1
  20. package/dist/{counter/Counter.types.d.ts → counter.d.ts} +34 -23
  21. package/dist/date-picker/index.js +1 -1
  22. package/dist/{date-picker/DatePicker.types.d.ts → date-picker.d.ts} +76 -52
  23. package/dist/dialog/index.js +2 -2
  24. package/dist/{dialog/Dialog.types.d.ts → dialog.d.ts} +74 -55
  25. package/dist/divider.d.ts +18 -0
  26. package/dist/drawer/index.js +1 -1
  27. package/dist/{drawer/Drawer.types.d.ts → drawer.d.ts} +68 -53
  28. package/dist/expandable-counter/index.js +1 -1
  29. package/dist/{expandable-counter/ExpandableCounter.types.d.ts → expandable-counter.d.ts} +25 -19
  30. package/dist/filter-chip/index.js +1 -1
  31. package/dist/filter-chip-dropdown-multiple/index.js +1 -1
  32. package/dist/filter-chip-dropdown-multiple.d.ts +42 -0
  33. package/dist/filter-chip-dropdown-single/index.js +1 -1
  34. package/dist/filter-chip-dropdown-single.d.ts +40 -0
  35. package/dist/filter-chip-group.d.ts +27 -0
  36. package/dist/{filter-chip/FilterChip.types.d.ts → filter-chip.d.ts} +49 -40
  37. package/dist/floating-action-button/index.js +1 -1
  38. package/dist/floating-action-button.d.ts +46 -0
  39. package/dist/image-item.d.ts +15 -0
  40. package/dist/image-slider/index.js +1 -1
  41. package/dist/image-slider.d.ts +12 -0
  42. package/dist/index/index.js +40 -40
  43. package/dist/index.d.ts +1693 -0
  44. package/dist/input-number/index.js +1 -1
  45. package/dist/{input-number/InputNumber.types.d.ts → input-number.d.ts} +42 -30
  46. package/dist/input-otp/index.js +1 -1
  47. package/dist/{input-otp/InputOtp.types.d.ts → input-otp.d.ts} +36 -27
  48. package/dist/input-text/index.js +2 -2
  49. package/dist/input-text.d.ts +77 -0
  50. package/dist/keyboard-commands/index.js +51 -31
  51. package/dist/keyboard-commands.d.ts +264 -0
  52. package/dist/menu/index.js +1 -1
  53. package/dist/menu.d.ts +48 -0
  54. package/dist/message/index.js +1 -1
  55. package/dist/message.d.ts +28 -0
  56. package/dist/multi-select/index.js +1 -1
  57. package/dist/{multi-select/MultiSelect.types.d.ts → multi-select.d.ts} +62 -31
  58. package/dist/overlay-badge/index.js +1 -1
  59. package/dist/{overlay-badge/OverlayBadge.types.d.ts → overlay-badge.d.ts} +25 -17
  60. package/dist/paginator/index.js +1 -1
  61. package/dist/{paginator/Paginator.types.d.ts → paginator.d.ts} +27 -21
  62. package/dist/panel-menu/index.js +1 -1
  63. package/dist/panel-menu.d.ts +29 -0
  64. package/dist/password/index.js +1 -1
  65. package/dist/{password/Password.types.d.ts → password.d.ts} +58 -39
  66. package/dist/{progress-bar/ProgressBar.types.d.ts → progress-bar.d.ts} +45 -38
  67. package/dist/{progress-spinner/ProgressSpinner.d.ts → progress-spinner.d.ts} +15 -10
  68. package/dist/radio-group/index.js +1 -1
  69. package/dist/{radio-group/RadioGroup.types.d.ts → radio-group.d.ts} +81 -62
  70. package/dist/search-field/index.js +1 -1
  71. package/dist/search-field.d.ts +55 -0
  72. package/dist/segmented-control/index.js +1 -1
  73. package/dist/{segmented-control/SegmentedControl.types.d.ts → segmented-control.d.ts} +70 -54
  74. package/dist/select-field/index.js +1 -1
  75. package/dist/select-field.d.ts +40 -0
  76. package/dist/shared/{Accordion-BSmOrxH6.js → Accordion-QSdlMSst.js} +9 -6
  77. package/dist/shared/{Banner-D4na_bM8.js → Banner-DMWwNO2K.js} +6 -3
  78. package/dist/shared/{Breadcrumbs-Cqr3Jitd.js → Breadcrumbs-bcs9_ByY.js} +4 -1
  79. package/dist/shared/{Button-C2ULmKj3.js → Button-BqFuDnSs.js} +98 -92
  80. package/dist/shared/{Checkbox-DCq3_MWz.js → Checkbox-DgZAQsbr.js} +94 -87
  81. package/dist/shared/Combobox-CiaEi_RG.js +148 -0
  82. package/dist/shared/{ConfirmDialog-cmLTBBNs.js → ConfirmDialog-DHsPafOo.js} +8 -3
  83. package/dist/shared/{Counter-0siKQRKc.js → Counter-lqywtgF6.js} +25 -27
  84. package/dist/shared/{DatePicker-DhIWE0V_.js → DatePicker-t6xP4UWu.js} +370 -346
  85. package/dist/shared/{DialogFooter-Cx7G-GHH.js → DialogFooter-DKFuHOJl.js} +4 -1
  86. package/dist/shared/{DialogHeader-DdVPFxGf.js → DialogHeader-D0dg5FBI.js} +14 -14
  87. package/dist/shared/{DrawerFooter-DEb2gqW-.js → DrawerFooter-CGrPQoLH.js} +35 -26
  88. package/dist/shared/{ExpandableCounter-pPJIrd6L.js → ExpandableCounter-BOCHfuye.js} +23 -22
  89. package/dist/shared/{FilterChip-TpKF-4vP.js → FilterChip-Cc4BBVz3.js} +21 -21
  90. package/dist/shared/{FilterChipDropdownMultiple-2mr_Z57i.js → FilterChipDropdownMultiple-DL3mHW9H.js} +20 -15
  91. package/dist/shared/{FilterChipDropdownSingle-CLmWzX9q.js → FilterChipDropdownSingle-BUrzUAmy.js} +31 -22
  92. package/dist/shared/FloatingActionButton-Dhqp98s7.js +27 -0
  93. package/dist/shared/{HelperText-zmUym82m.js → HelperText-C9TsD0wC.js} +1 -0
  94. package/dist/shared/IconField-Bp2H10B1.js +89 -0
  95. package/dist/shared/{ImageSlider-Bgb1kNQ4.js → ImageSlider-DT0B5g68.js} +5 -5
  96. package/dist/shared/InputNumber-CUNq3cPa.js +75 -0
  97. package/dist/shared/InputOtp-wTUwu1NG.js +75 -0
  98. package/dist/shared/{Menu-Cv9dU1iA.js → Menu-DBHlDgtQ.js} +5 -2
  99. package/dist/shared/{Message-CQUdM9rR.js → Message-B36kcrfu.js} +4 -4
  100. package/dist/shared/MultiSelect-CfKm_FPp.js +248 -0
  101. package/dist/shared/{OverlayBadge-Dkosm3Il.js → OverlayBadge-CnQI_NE0.js} +1 -0
  102. package/dist/shared/{Paginator-QTDpAJ-N.js → Paginator-BRQx1GRQ.js} +48 -49
  103. package/dist/shared/{PanelMenu-BpjNM7O_.js → PanelMenu-Dw-K6H2C.js} +14 -4
  104. package/dist/shared/Password-BWNvygrO.js +113 -0
  105. package/dist/shared/RadioGroup-CHgzVvZO.js +145 -0
  106. package/dist/shared/SearchField-Cuw3MVaD.js +73 -0
  107. package/dist/shared/{SegmentedControl-BfE3jNM6.js → SegmentedControl-D3znmx9l.js} +4 -1
  108. package/dist/shared/SelectField-BAuctVIF.js +120 -0
  109. package/dist/shared/Slider-D_iNiPxa.js +110 -0
  110. package/dist/shared/{Snackbar-BhORbyt-.js → Snackbar-DP-b4GWx.js} +50 -17
  111. package/dist/shared/{Stepper-DrKKSn_j.js → Stepper-CudtdHSg.js} +26 -18
  112. package/dist/shared/Switch-C1dd2rX1.js +114 -0
  113. package/dist/shared/{Tabs-DuufYBV2.js → Tabs-lGGLALGR.js} +4 -1
  114. package/dist/shared/{TagChip-CP3aX2_G.js → TagChip-QQ6p0JgU.js} +1 -1
  115. package/dist/shared/Textarea-CJfNbqGA.js +51 -0
  116. package/dist/shared/useControllableValue-DhckT_e1.js +13 -0
  117. package/dist/skeleton.d.ts +30 -0
  118. package/dist/slider/index.js +1 -1
  119. package/dist/{slider/Slider.types.d.ts → slider.d.ts} +33 -24
  120. package/dist/snackbar/index.js +1 -1
  121. package/dist/{snackbar/Snackbar.types.d.ts → snackbar.d.ts} +63 -42
  122. package/dist/stepper/index.js +1 -1
  123. package/dist/stepper.d.ts +38 -0
  124. package/dist/switch/index.js +1 -1
  125. package/dist/{switch/Switch.types.d.ts → switch.d.ts} +68 -59
  126. package/dist/tabs/index.js +1 -1
  127. package/dist/tabs.d.ts +30 -0
  128. package/dist/tag-chip/index.js +1 -1
  129. package/dist/{tag-chip/TagChip.types.d.ts → tag-chip.d.ts} +33 -21
  130. package/dist/tag.d.ts +23 -0
  131. package/dist/textarea/index.js +1 -1
  132. package/dist/textarea.d.ts +26 -0
  133. package/package.json +15 -8
  134. package/dist/.storybook/main.d.ts +0 -3
  135. package/dist/.storybook/manager.d.ts +0 -1
  136. package/dist/.storybook/preview.d.ts +0 -3
  137. package/dist/accordion/Accordion.d.ts +0 -2
  138. package/dist/accordion/Accordion.types.d.ts +0 -20
  139. package/dist/accordion/index.d.ts +0 -2
  140. package/dist/avatar/Avatar.d.ts +0 -2
  141. package/dist/avatar/index.d.ts +0 -2
  142. package/dist/badge/Badge.d.ts +0 -2
  143. package/dist/badge/Badge.types.d.ts +0 -11
  144. package/dist/badge/index.d.ts +0 -2
  145. package/dist/banner/Banner.d.ts +0 -2
  146. package/dist/banner/Banner.types.d.ts +0 -15
  147. package/dist/banner/index.d.ts +0 -2
  148. package/dist/breadcrumbs/Breadcrumbs.d.ts +0 -2
  149. package/dist/breadcrumbs/Breadcrumbs.types.d.ts +0 -11
  150. package/dist/breadcrumbs/index.d.ts +0 -2
  151. package/dist/button/Button.d.ts +0 -2
  152. package/dist/button/Button.types.d.ts +0 -24
  153. package/dist/button/index.d.ts +0 -2
  154. package/dist/checkbox/Checkbox.d.ts +0 -2
  155. package/dist/checkbox/index.d.ts +0 -2
  156. package/dist/combobox/Combobox.d.ts +0 -13
  157. package/dist/combobox/Combobox.types.d.ts +0 -16
  158. package/dist/combobox/index.d.ts +0 -2
  159. package/dist/confirm-dialog/ConfirmDialog.d.ts +0 -2
  160. package/dist/confirm-dialog/ConfirmDialog.types.d.ts +0 -21
  161. package/dist/confirm-dialog/index.d.ts +0 -2
  162. package/dist/counter/Counter.d.ts +0 -2
  163. package/dist/counter/index.d.ts +0 -2
  164. package/dist/date-picker/DatePicker.d.ts +0 -3
  165. package/dist/date-picker/index.d.ts +0 -2
  166. package/dist/dialog/Dialog.d.ts +0 -2
  167. package/dist/dialog/DialogFooter.d.ts +0 -2
  168. package/dist/dialog/DialogHeader.d.ts +0 -2
  169. package/dist/dialog/index.d.ts +0 -4
  170. package/dist/divider/Divider.d.ts +0 -2
  171. package/dist/divider/Divider.types.d.ts +0 -8
  172. package/dist/divider/index.d.ts +0 -2
  173. package/dist/drawer/Drawer.d.ts +0 -2
  174. package/dist/drawer/DrawerFooter.d.ts +0 -2
  175. package/dist/drawer/DrawerHeader.d.ts +0 -2
  176. package/dist/drawer/index.d.ts +0 -4
  177. package/dist/expandable-counter/ExpandableCounter.d.ts +0 -2
  178. package/dist/expandable-counter/index.d.ts +0 -2
  179. package/dist/filter-chip/FilterChip.d.ts +0 -2
  180. package/dist/filter-chip/index.d.ts +0 -2
  181. package/dist/filter-chip-dropdown-multiple/FilterChipDropdownMultiple.d.ts +0 -9
  182. package/dist/filter-chip-dropdown-multiple/FilterChipDropdownMultiple.types.d.ts +0 -19
  183. package/dist/filter-chip-dropdown-multiple/index.d.ts +0 -2
  184. package/dist/filter-chip-dropdown-single/FilterChipDropdownSingle.d.ts +0 -11
  185. package/dist/filter-chip-dropdown-single/FilterChipDropdownSingle.types.d.ts +0 -15
  186. package/dist/filter-chip-dropdown-single/index.d.ts +0 -2
  187. package/dist/filter-chip-group/FilterChipGroup.d.ts +0 -8
  188. package/dist/filter-chip-group/FilterChipGroup.types.d.ts +0 -12
  189. package/dist/filter-chip-group/index.d.ts +0 -2
  190. package/dist/floating-action-button/FloatingActionButton.d.ts +0 -2
  191. package/dist/floating-action-button/FloatingActionButton.types.d.ts +0 -9
  192. package/dist/floating-action-button/index.d.ts +0 -2
  193. package/dist/image-item/ImageItem.d.ts +0 -2
  194. package/dist/image-item/ImageItem.types.d.ts +0 -7
  195. package/dist/image-item/index.d.ts +0 -2
  196. package/dist/image-slider/ImageSlider.d.ts +0 -2
  197. package/dist/image-slider/ImageSlider.types.d.ts +0 -6
  198. package/dist/image-slider/index.d.ts +0 -2
  199. package/dist/index/index.d.ts +0 -94
  200. package/dist/input-number/InputNumber.d.ts +0 -2
  201. package/dist/input-number/index.d.ts +0 -2
  202. package/dist/input-otp/InputOtp.d.ts +0 -2
  203. package/dist/input-otp/index.d.ts +0 -2
  204. package/dist/input-text/CharacterCount.d.ts +0 -5
  205. package/dist/input-text/FloatLabel.d.ts +0 -6
  206. package/dist/input-text/FormField.d.ts +0 -8
  207. package/dist/input-text/HelperText.d.ts +0 -4
  208. package/dist/input-text/IconField.d.ts +0 -18
  209. package/dist/input-text/InputText.d.ts +0 -2
  210. package/dist/input-text/InputText.types.d.ts +0 -14
  211. package/dist/input-text/field-layout.d.ts +0 -12
  212. package/dist/input-text/index.d.ts +0 -11
  213. package/dist/keyboard-commands/index.d.ts +0 -5
  214. package/dist/keyboard-commands/useKeyboardCommands.d.ts +0 -27
  215. package/dist/keyboard-commands/useKeyboardNavGrid.d.ts +0 -19
  216. package/dist/keyboard-commands/useKeyboardNavList.d.ts +0 -17
  217. package/dist/keyboard-commands/useKeyboardScope.d.ts +0 -20
  218. package/dist/menu/Menu.d.ts +0 -2
  219. package/dist/menu/Menu.types.d.ts +0 -19
  220. package/dist/menu/index.d.ts +0 -2
  221. package/dist/message/Message.d.ts +0 -2
  222. package/dist/message/Message.types.d.ts +0 -17
  223. package/dist/message/index.d.ts +0 -2
  224. package/dist/multi-select/MultiSelect.d.ts +0 -12
  225. package/dist/multi-select/index.d.ts +0 -2
  226. package/dist/overlay-badge/OverlayBadge.d.ts +0 -2
  227. package/dist/overlay-badge/index.d.ts +0 -2
  228. package/dist/paginator/Paginator.d.ts +0 -2
  229. package/dist/paginator/index.d.ts +0 -2
  230. package/dist/panel-menu/PanelMenu.d.ts +0 -2
  231. package/dist/panel-menu/PanelMenu.types.d.ts +0 -12
  232. package/dist/panel-menu/index.d.ts +0 -2
  233. package/dist/password/Password.d.ts +0 -7
  234. package/dist/password/index.d.ts +0 -2
  235. package/dist/progress-bar/ProgressBar.d.ts +0 -2
  236. package/dist/progress-bar/index.d.ts +0 -2
  237. package/dist/progress-spinner/index.d.ts +0 -2
  238. package/dist/radio-group/RadioGroup.d.ts +0 -2
  239. package/dist/radio-group/index.d.ts +0 -2
  240. package/dist/search-field/SearchField.d.ts +0 -2
  241. package/dist/search-field/SearchField.types.d.ts +0 -26
  242. package/dist/search-field/index.d.ts +0 -2
  243. package/dist/segmented-control/SegmentedControl.d.ts +0 -2
  244. package/dist/segmented-control/index.d.ts +0 -2
  245. package/dist/select-field/SelectField.d.ts +0 -14
  246. package/dist/select-field/SelectField.types.d.ts +0 -11
  247. package/dist/select-field/index.d.ts +0 -2
  248. package/dist/shared/Combobox-DrkeDMW0.js +0 -139
  249. package/dist/shared/FloatingActionButton-BWB5Taeg.js +0 -28
  250. package/dist/shared/IconCheck-DzZA6b2U.js +0 -5
  251. package/dist/shared/IconChevronDown-ev2ML7Ex.js +0 -5
  252. package/dist/shared/IconChevronRight-DEIDRsvg.js +0 -7
  253. package/dist/shared/IconField-CqKydKep.js +0 -81
  254. package/dist/shared/IconMinus-fS_GL0Et.js +0 -5
  255. package/dist/shared/IconSearch-CgM6jEUh.js +0 -5
  256. package/dist/shared/IconX-CpPADKjZ.js +0 -5
  257. package/dist/shared/InputNumber-nxus9h5s.js +0 -64
  258. package/dist/shared/InputOtp-BxBc6Vhs.js +0 -73
  259. package/dist/shared/MultiSelect-DlaYWcPo.js +0 -248
  260. package/dist/shared/Password-D4PRaleH.js +0 -97
  261. package/dist/shared/RadioGroup-B8CXU8-l.js +0 -139
  262. package/dist/shared/SearchField-DIsFhJ22.js +0 -64
  263. package/dist/shared/SelectField-CcnbnPEi.js +0 -121
  264. package/dist/shared/Slider-Cl9PyH2q.js +0 -102
  265. package/dist/shared/Switch-B5DSQLFL.js +0 -106
  266. package/dist/shared/Textarea-DHJIWBRM.js +0 -42
  267. package/dist/shared/createReactComponent-Cb6Pzf10.js +0 -48
  268. package/dist/shared/useMediaQuery.d.ts +0 -5
  269. package/dist/skeleton/Skeleton.d.ts +0 -2
  270. package/dist/skeleton/Skeleton.types.d.ts +0 -20
  271. package/dist/skeleton/index.d.ts +0 -2
  272. package/dist/slider/Slider.d.ts +0 -2
  273. package/dist/slider/index.d.ts +0 -2
  274. package/dist/snackbar/Snackbar.d.ts +0 -3
  275. package/dist/snackbar/Snackbar.test.d.ts +0 -1
  276. package/dist/snackbar/index.d.ts +0 -2
  277. package/dist/stepper/Stepper.d.ts +0 -2
  278. package/dist/stepper/Stepper.types.d.ts +0 -18
  279. package/dist/stepper/index.d.ts +0 -2
  280. package/dist/switch/Switch.d.ts +0 -2
  281. package/dist/switch/index.d.ts +0 -2
  282. package/dist/tabs/Tabs.d.ts +0 -10
  283. package/dist/tabs/Tabs.types.d.ts +0 -7
  284. package/dist/tabs/index.d.ts +0 -2
  285. package/dist/tag/Tag.d.ts +0 -2
  286. package/dist/tag/Tag.types.d.ts +0 -11
  287. package/dist/tag/index.d.ts +0 -2
  288. package/dist/tag-chip/TagChip.d.ts +0 -2
  289. package/dist/tag-chip/index.d.ts +0 -2
  290. package/dist/textarea/Textarea.d.ts +0 -2
  291. package/dist/textarea/Textarea.types.d.ts +0 -15
  292. package/dist/textarea/index.d.ts +0 -2
  293. package/dist/vite.config.d.ts +0 -2
@@ -0,0 +1,264 @@
1
+ export declare function attachTooltips(element: HTMLElement, commands: KeyboardCommand[]): void;
2
+
3
+ export declare type BothTriggerDedupBucket = number | 'scroll:up' | 'scroll:down';
4
+
5
+ declare interface BothTriggerDedupEntry {
6
+ bucket: BothTriggerDedupBucket;
7
+ phase: 'keydown' | 'keyup';
8
+ time: number;
9
+ modifiers?: KeydownModifierSnapshot;
10
+ }
11
+
12
+ export declare interface BothTriggerDedupReference {
13
+ current: BothTriggerDedupEntry | null;
14
+ }
15
+
16
+ export declare function buildAriaKeyshortcuts(commands: KeyboardCommand[]): string;
17
+
18
+ export declare function buildParsedChordLists(keys: (string | string[])[]): ParsedChord[][];
19
+
20
+ export declare function detachTooltips(element: HTMLElement): void;
21
+
22
+ export declare function ensureTabindex(element: HTMLElement): void;
23
+
24
+ export declare function findScrollableAncestor(element: HTMLElement): HTMLElement | null;
25
+
26
+ export declare function formatKeyDescriptor(descriptor: string | string[]): string[][];
27
+
28
+ /** 0 = base page (no overlay open); higher = topmost overlay depth. */
29
+ export declare function getActiveDepth(): ScopeDepth;
30
+
31
+ /**
32
+ * Returns the modifier snapshot captured from the preceding keydown event,
33
+ * when `triggerOn` is 'both' and the current event is a keyup. This lets
34
+ * matchesChord use the original modifier state even if the user released a
35
+ * modifier key before releasing the main key.
36
+ */
37
+ export declare function getKeydownModifiersForKeyup(triggerOn: 'keydown' | 'keyup' | 'both' | undefined, last: BothTriggerDedupReference, event: KeyboardEvent): KeydownModifierSnapshot | undefined;
38
+
39
+ export declare function injectAriaOnElement(element: HTMLElement, options: InjectAriaOptions): void;
40
+
41
+ export declare interface InjectAriaOptions {
42
+ commands: KeyboardCommand[];
43
+ depth: number;
44
+ context?: KbdHintContext;
45
+ hintCommands?: KbdHintEntry[];
46
+ ariaAttributes?: Record<string, string>;
47
+ }
48
+
49
+ export declare function injectKbdHintAttribute(element: HTMLElement, commands: KeyboardCommand[], depth: number, context?: KbdHintContext, hintCommands?: KbdHintEntry[]): void;
50
+
51
+ export declare function isBrowser(): boolean;
52
+
53
+ export declare function isElementDisabled(element: HTMLElement): boolean;
54
+
55
+ export declare const isMac: boolean;
56
+
57
+ export declare function isScrollable(element: HTMLElement): boolean;
58
+
59
+ export declare function isTooltipEligibleTarget(target: KeyboardCommandTarget | null | undefined): target is HTMLElement;
60
+
61
+ export declare const KBD_HINT_ATTR = "data-mare-kbd-hint";
62
+
63
+ export declare type KbdHintContext = 'onDefault' | 'onBrand' | 'onMedia' | 'onInverse' | 'onDanger';
64
+
65
+ export declare interface KbdHintEntry {
66
+ keys: string | string[];
67
+ description?: string;
68
+ }
69
+
70
+ export declare interface KbdHintPayload {
71
+ depth: number;
72
+ commands: KbdHintEntry[];
73
+ context?: KbdHintContext;
74
+ }
75
+
76
+ export declare const KEYBOARD_BOTH_TRIGGER_DEDUP_MS = 450;
77
+
78
+ export declare interface KeyboardCommand {
79
+ keys: string | string[];
80
+ handler: (event: KeyboardEvent) => void;
81
+ description?: string;
82
+ preventDefault?: boolean;
83
+ stopPropagation?: boolean;
84
+ tooltip?: KeyboardCommandTooltipOption;
85
+ when?: () => boolean;
86
+ }
87
+
88
+ export declare type KeyboardCommandTarget = HTMLElement | Document | EventTarget;
89
+
90
+ export declare interface KeyboardCommandTooltip {
91
+ label?: string | false;
92
+ placement?: 'prefix' | 'suffix';
93
+ position?: 'top' | 'bottom' | 'left' | 'right' | 'auto';
94
+ showDelay?: number;
95
+ hideDelay?: number;
96
+ }
97
+
98
+ export declare type KeyboardCommandTooltipOption = boolean | KeyboardCommandTooltip | null | undefined;
99
+
100
+ export declare interface KeydownModifierSnapshot {
101
+ altKey: boolean;
102
+ shiftKey: boolean;
103
+ ctrlKey: boolean;
104
+ metaKey: boolean;
105
+ }
106
+
107
+ export declare function matchesChord(event: KeyboardEvent, chord: ParsedChord, isMacOverrideOrOptions?: boolean | MatchesChordOverrides): boolean;
108
+
109
+ export declare interface MatchesChordOverrides {
110
+ isMac?: boolean;
111
+ /** Modifier state from a prior keydown, used when modifiers are released before the main key in keyup events. */
112
+ keydownModifiers?: {
113
+ altKey: boolean;
114
+ shiftKey: boolean;
115
+ ctrlKey: boolean;
116
+ metaKey: boolean;
117
+ };
118
+ }
119
+
120
+ export declare interface NavGridCell {
121
+ row: number;
122
+ col: number;
123
+ }
124
+
125
+ export declare function normalizeScrollAreaOptions(scrollable: boolean | ScrollAreaOptions): ScrollAreaOptions;
126
+
127
+ /** Subscribe to active-depth changes. Returns an unsubscribe function. */
128
+ export declare function onScopeDepthChange(function_: (depth: ScopeDepth) => void): () => void;
129
+
130
+ export declare function parseChord(descriptor: string): ParsedChord;
131
+
132
+ export declare interface ParsedChord {
133
+ ctrl: boolean;
134
+ alt: boolean;
135
+ shift: boolean;
136
+ meta: boolean;
137
+ mod: boolean;
138
+ key: string;
139
+ }
140
+
141
+ export declare function prefersReducedMotion(): boolean;
142
+
143
+ export declare function registerScope(id: string, depth: ScopeDepth): void;
144
+
145
+ export declare function removeAriaOnElement(element: HTMLElement, ariaAttributes?: Record<string, string>): void;
146
+
147
+ export declare function resolveScrollBehavior(opt: ScrollAreaOptions): 'auto' | 'smooth';
148
+
149
+ /**
150
+ * `opt.container` here is already a resolved value (see ScrollAreaOptions) —
151
+ * the caller (each framework's adapter) is responsible for unwrapping its own
152
+ * reactive reference (Vue Ref, React state) before calling this function.
153
+ */
154
+ export declare function resolveScrollContainer(target: HTMLElement, opt: ScrollAreaOptions): HTMLElement | null;
155
+
156
+ export declare function resolveTriggerEventNames(triggerOn?: 'keydown' | 'keyup' | 'both'): ('keydown' | 'keyup')[];
157
+
158
+ export declare type ScopeDepth = number;
159
+
160
+ /**
161
+ * Framework-agnostic (already-resolved) scroll options. `container` here is
162
+ * a plain value, not a reactive reference — each framework adapter resolves
163
+ * its own reactive container (Vue Ref, React state) to a plain value before
164
+ * calling into this package's scroll utilities.
165
+ */
166
+ export declare interface ScrollAreaOptions {
167
+ container?: HTMLElement | null | string;
168
+ scrollUpKeys?: string[];
169
+ scrollDownKeys?: string[];
170
+ scrollStep?: number;
171
+ scrollBehavior?: 'auto' | 'smooth';
172
+ }
173
+
174
+ export declare function suppressDuplicateBothTrigger(triggerOn: 'keydown' | 'keyup' | 'both' | undefined, last: BothTriggerDedupReference, bucket: BothTriggerDedupBucket, event: KeyboardEvent): boolean;
175
+
176
+ export declare function unregisterScope(id: string): void;
177
+
178
+ /**
179
+ * React adapter for the keyboard-commands engine — same core (chord
180
+ * matching, ARIA injection, scroll handling, overlay depth-guard) as the Vue
181
+ * `useKeyboardCommands` composable, wired with hooks instead of Vue
182
+ * reactivity. `targetReference` is a plain ref object (window, or an element ref
183
+ * attached via JSX `ref={...}`); bind/rebind happens once on mount.
184
+ */
185
+ export declare function useKeyboardCommands(targetReference: {
186
+ current: KeyboardCommandTarget | null;
187
+ }, options?: UseKeyboardCommandsOptions): {
188
+ commandGroupId: string;
189
+ isActive: boolean;
190
+ };
191
+
192
+ export declare interface UseKeyboardCommandsOptions {
193
+ commands?: KeyboardCommand[];
194
+ hintContext?: KbdHintContext;
195
+ hintCommands?: KbdHintEntry[];
196
+ depth?: number;
197
+ /** Default: true. */
198
+ visible?: boolean;
199
+ autoFocus?: boolean;
200
+ scrollable?: boolean | ScrollAreaOptions;
201
+ ariaAttributes?: Record<string, string>;
202
+ capture?: boolean;
203
+ triggerOn?: 'keydown' | 'keyup' | 'both';
204
+ }
205
+
206
+ export declare function useKeyboardNavGrid(options: UseKeyboardNavGridOptions): UseKeyboardNavGridReturn;
207
+
208
+ export declare interface UseKeyboardNavGridOptions {
209
+ rows: number;
210
+ cols: number;
211
+ depth?: number;
212
+ wrap?: boolean;
213
+ onSelect?: (cell: NavGridCell) => void;
214
+ onActivate?: (cell: NavGridCell) => void;
215
+ }
216
+
217
+ export declare interface UseKeyboardNavGridReturn {
218
+ focused: NavGridCell;
219
+ containerRef: (node: HTMLElement | null) => void;
220
+ focus: (cell: NavGridCell, instant?: boolean) => void;
221
+ isFocused: (row: number, col: number) => boolean;
222
+ }
223
+
224
+ export declare function useKeyboardNavList<T>(options: UseKeyboardNavListOptions<T>): UseKeyboardNavListReturn<T>;
225
+
226
+ export declare interface UseKeyboardNavListOptions<T> {
227
+ items: readonly T[];
228
+ depth?: number;
229
+ wrap?: boolean;
230
+ onSelect?: (item: T, index: number) => void;
231
+ onActivate?: (item: T, index: number) => void;
232
+ }
233
+
234
+ export declare interface UseKeyboardNavListReturn<T> {
235
+ focusedIndex: number;
236
+ focusedItem: T | null;
237
+ containerRef: (node: HTMLElement | null) => void;
238
+ focus: (index: number) => void;
239
+ focusFirst: () => void;
240
+ focusLast: () => void;
241
+ clearFocus: () => void;
242
+ }
243
+
244
+ /**
245
+ * Registers/unregisters this component's keyboard scope with the global
246
+ * stack shared across both the Vue and React adapters. Use this inside
247
+ * overlay components so keyboard commands only fire when the overlay is the
248
+ * topmost one.
249
+ *
250
+ * @example
251
+ * const { scopeId } = useKeyboardScope({ visible: isOpen, depth: 1 });
252
+ */
253
+ export declare function useKeyboardScope(options?: UseKeyboardScopeOptions): {
254
+ scopeId: string;
255
+ };
256
+
257
+ export declare interface UseKeyboardScopeOptions {
258
+ /** Higher number = closer to the user (like z-index). Default: 1. Base page = 0. */
259
+ depth?: ScopeDepth;
260
+ /** When false, this scope is removed from the global stack. Default: true. */
261
+ visible?: boolean;
262
+ }
263
+
264
+ export { }
@@ -1,4 +1,4 @@
1
- import { M as r } from "../shared/Menu-Cv9dU1iA.js";
1
+ import { M as r } from "../shared/Menu-DBHlDgtQ.js";
2
2
  export {
3
3
  r as Menu
4
4
  };
package/dist/menu.d.ts ADDED
@@ -0,0 +1,48 @@
1
+ import { JSX as JSX_2 } from 'react';
2
+ import { ReactNode } from 'react';
3
+ import { RefObject } from 'react';
4
+
5
+ export declare function Menu({ trigger, items, onSelect, renderItem, portalContainer, }: MenuProperties): JSX_2.Element;
6
+
7
+ export declare type MenuEntry = MenuItemData | MenuSeparatorEntry | MenuGroupEntry;
8
+
9
+ export declare interface MenuGroupEntry {
10
+ type: 'group';
11
+ label?: string;
12
+ items: MenuItemData[];
13
+ }
14
+
15
+ export declare interface MenuItemData {
16
+ type?: 'item';
17
+ value: string;
18
+ label: string;
19
+ disabled?: boolean;
20
+ /** Persistent highlight (e.g. current page) — distinct from the
21
+ * hover/keyboard `ark-highlighted` state. */
22
+ active?: boolean;
23
+ /** Consumer-defined extras (icon, href, target…) resolved in the adapter. */
24
+ [key: string]: unknown;
25
+ }
26
+
27
+ export declare interface MenuProperties {
28
+ /** The element that opens the menu on click — typically a `<Button>`. */
29
+ trigger: ReactNode;
30
+ items: MenuEntry[];
31
+ /** Called with the selected item's `value` when an item (or an item
32
+ * inside a group) is chosen. */
33
+ onSelect?: (value: string) => void;
34
+ /** Custom render for an item's content (icon + label). Defaults to
35
+ * `item.icon` (if any) + `item.label`. */
36
+ renderItem?: (item: MenuItemData) => ReactNode;
37
+ /** Where the menu portals to. Ark defaults to `document.body` — override
38
+ * this if your app scopes `data-theme` (or any other CSS custom property)
39
+ * to a sub-tree rather than the document root, otherwise the portaled
40
+ * menu renders outside that scope and loses the tokens. */
41
+ portalContainer?: RefObject<HTMLElement | null>;
42
+ }
43
+
44
+ export declare interface MenuSeparatorEntry {
45
+ type: 'separator';
46
+ }
47
+
48
+ export { }
@@ -1,4 +1,4 @@
1
- import { M as a } from "../shared/Message-CQUdM9rR.js";
1
+ import { M as a } from "../shared/Message-B36kcrfu.js";
2
2
  export {
3
3
  a as Message
4
4
  };
@@ -0,0 +1,28 @@
1
+ import { JSX as JSX_2 } from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ export declare function Message({ severity, variant, title, icon, disabled, closable, onClose, children, }: MessageProperties): JSX_2.Element;
5
+
6
+ declare const MESSAGE_SEVERITIES: readonly ["neutral", "brand", "positive", "warning", "danger"];
7
+
8
+ export declare interface MessageProperties {
9
+ /** @default 'neutral' */
10
+ severity?: MessageSeverity;
11
+ /** @default 'simple' */
12
+ variant?: MessageVariant;
13
+ title?: string;
14
+ icon?: ReactNode;
15
+ /** @default false */
16
+ disabled?: boolean;
17
+ /** @default false */
18
+ closable?: boolean;
19
+ onClose?: () => void;
20
+ children?: ReactNode;
21
+ }
22
+
23
+ export declare type MessageSeverity = (typeof MESSAGE_SEVERITIES)[number];
24
+
25
+ /** @default 'simple' */
26
+ export declare type MessageVariant = 'simple' | 'filled';
27
+
28
+ export { }
@@ -1,4 +1,4 @@
1
- import { M as l } from "../shared/MultiSelect-DlaYWcPo.js";
1
+ import { M as l } from "../shared/MultiSelect-CfKm_FPp.js";
2
2
  export {
3
3
  l as MultiSelect
4
4
  };
@@ -1,31 +1,62 @@
1
- import { MultiSelectSize, MultiSelectItemSize, MultiSelectDisplay, MultiSelectOptionItem } from '@tpc-development/mare-ui-components-core/multi-select';
2
- export type { MultiSelectSize, MultiSelectItemSize, MultiSelectDisplay, MultiSelectOptionItem, } from '@tpc-development/mare-ui-components-core/multi-select';
3
- export interface MultiSelectProperties {
4
- options: MultiSelectOptionItem[];
5
- placeholder?: string;
6
- /** Placeholder for the search input inside the panel (shown when `filterable`). */
7
- searchPlaceholder?: string;
8
- size?: MultiSelectSize;
9
- /** Size of each option row, independent from the control `size`. @default 'medium' */
10
- itemSize?: MultiSelectItemSize;
11
- disabled?: boolean;
12
- invalid?: boolean;
13
- /** Shows a spinner in place of the chevron. @default false */
14
- loading?: boolean;
15
- /** Shows a '×' button in the trigger to clear all selected values. @default false */
16
- clearable?: boolean;
17
- /** Shows a search input inside the panel. @default false */
18
- filterable?: boolean;
19
- /** Shows a checkbox next to each option (and the header toggle-all). @default true */
20
- hasCheckbox?: boolean;
21
- /** Shows a "select all" row at the top of the panel. @default false */
22
- showToggleAll?: boolean;
23
- /** Label next to the header toggle-all checkbox. */
24
- headerLabel?: string;
25
- /** How the selected values render in the trigger. @default 'text' */
26
- display?: MultiSelectDisplay;
27
- /** Max labels joined in `display: 'text'` before falling back to "N items selected". @default 3 */
28
- maxSelectedLabels?: number;
29
- label?: string;
30
- emptyText?: string;
31
- }
1
+ import { ForwardRefExoticComponent } from 'react';
2
+ import { ReactNode } from 'react';
3
+ import { RefAttributes } from 'react';
4
+
5
+ declare const MULTI_SELECT_SIZES: readonly ["small", "medium"];
6
+
7
+ export declare const MultiSelect: ForwardRefExoticComponent<MultiSelectReactProperties & RefAttributes<HTMLDivElement>>;
8
+
9
+ export declare type MultiSelectDisplay = 'chip' | 'text';
10
+
11
+ export declare type MultiSelectItemSize = 'small' | 'medium';
12
+
13
+ export declare interface MultiSelectOptionItem {
14
+ label: string;
15
+ value: string;
16
+ disabled?: boolean;
17
+ /** Consumer-defined extras (icon, description…) resolved in the option slot. */
18
+ [key: string]: unknown;
19
+ }
20
+
21
+ export declare interface MultiSelectProperties {
22
+ options: MultiSelectOptionItem[];
23
+ placeholder?: string;
24
+ /** Placeholder for the search input inside the panel (shown when `filterable`). */
25
+ searchPlaceholder?: string;
26
+ size?: MultiSelectSize;
27
+ /** Size of each option row, independent from the control `size`. @default 'medium' */
28
+ itemSize?: MultiSelectItemSize;
29
+ disabled?: boolean;
30
+ invalid?: boolean;
31
+ /** Shows a spinner in place of the chevron. @default false */
32
+ loading?: boolean;
33
+ /** Shows a '×' button in the trigger to clear all selected values. @default false */
34
+ clearable?: boolean;
35
+ /** Shows a search input inside the panel. @default false */
36
+ filterable?: boolean;
37
+ /** Shows a checkbox next to each option (and the header toggle-all). @default true */
38
+ hasCheckbox?: boolean;
39
+ /** Shows a "select all" row at the top of the panel. @default false */
40
+ showToggleAll?: boolean;
41
+ /** Label next to the header toggle-all checkbox. */
42
+ headerLabel?: string;
43
+ /** How the selected values render in the trigger. @default 'text' */
44
+ display?: MultiSelectDisplay;
45
+ /** Max labels joined in `display: 'text'` before falling back to "N items selected". @default 3 */
46
+ maxSelectedLabels?: number;
47
+ label?: string;
48
+ emptyText?: string;
49
+ }
50
+
51
+ declare interface MultiSelectReactProperties extends MultiSelectProperties {
52
+ value?: string[];
53
+ onValueChange?: (value: string[]) => void;
54
+ indicator?: ReactNode;
55
+ clearIcon?: ReactNode;
56
+ filterIcon?: ReactNode;
57
+ renderOption?: (option: MultiSelectOptionItem) => ReactNode;
58
+ }
59
+
60
+ export declare type MultiSelectSize = (typeof MULTI_SELECT_SIZES)[number];
61
+
62
+ export { }
@@ -1,4 +1,4 @@
1
- import { O as r } from "../shared/OverlayBadge-Dkosm3Il.js";
1
+ import { O as r } from "../shared/OverlayBadge-CnQI_NE0.js";
2
2
  export {
3
3
  r as OverlayBadge
4
4
  };
@@ -1,17 +1,25 @@
1
- import { ReactNode } from 'react';
2
- import { BadgeSeverity } from '@tpc-development/mare-ui-components-core/badge';
3
- export type { BadgeSeverity } from '@tpc-development/mare-ui-components-core/badge';
4
- export interface OverlayBadgeProperties {
5
- /** Element the badge overlays. */
6
- children: ReactNode;
7
- /** @default 'accent' */
8
- severity?: BadgeSeverity;
9
- /** Shown inside the badge, next to (or instead of) `value`. */
10
- icon?: ReactNode;
11
- /** Badge content (count/label). A bare dot renders when neither this nor `icon` is set. */
12
- value?: ReactNode;
13
- /** Horizontal nudge (px) off the default corner position. @default 0 */
14
- offsetX?: number;
15
- /** Vertical nudge (px) off the default corner position. @default 0 */
16
- offsetY?: number;
17
- }
1
+ import { JSX as JSX_2 } from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ declare const BADGE_SEVERITIES: readonly ["accent", "danger", "warning", "highlight", "positive"];
5
+
6
+ export declare type BadgeSeverity = (typeof BADGE_SEVERITIES)[number];
7
+
8
+ export declare function OverlayBadge({ children, severity, icon, value, offsetX, offsetY, }: OverlayBadgeProperties): JSX_2.Element;
9
+
10
+ export declare interface OverlayBadgeProperties {
11
+ /** Element the badge overlays. */
12
+ children: ReactNode;
13
+ /** @default 'accent' */
14
+ severity?: BadgeSeverity;
15
+ /** Shown inside the badge, next to (or instead of) `value`. */
16
+ icon?: ReactNode;
17
+ /** Badge content (count/label). A bare dot renders when neither this nor `icon` is set. */
18
+ value?: ReactNode;
19
+ /** Horizontal nudge (px) off the default corner position. @default 0 */
20
+ offsetX?: number;
21
+ /** Vertical nudge (px) off the default corner position. @default 0 */
22
+ offsetY?: number;
23
+ }
24
+
25
+ export { }
@@ -1,4 +1,4 @@
1
- import { P as r } from "../shared/Paginator-QTDpAJ-N.js";
1
+ import { P as r } from "../shared/Paginator-BRQx1GRQ.js";
2
2
  export {
3
3
  r as Paginator
4
4
  };
@@ -1,21 +1,27 @@
1
- export interface PaginatorProperties {
2
- /** Total number of data items (rows), NOT page count. */
3
- count: number;
4
- /** Controlled current page, 1-indexed. Omit to let Ark manage it. */
5
- page?: number;
6
- defaultPage?: number;
7
- onPageChange?: (page: number) => void;
8
- /** Items per page. */
9
- pageSize?: number;
10
- defaultPageSize?: number;
11
- onPageSizeChange?: (pageSize: number) => void;
12
- /** Numbered buttons shown at once — shrinks to fit a narrow container. */
13
- pageLinkSize?: number;
14
- /** Shows the jump-to-first/last-page buttons.
15
- * @default true */
16
- showFirstLastLinks?: boolean;
17
- /** Shows the "rows per page" select when given 1+ options. */
18
- rowsPerPageOptions?: number[];
19
- /** @default 'Rows per page' */
20
- rowsPerPageOptionsLabel?: string;
21
- }
1
+ import { JSX as JSX_2 } from 'react';
2
+
3
+ export declare function Paginator({ count, page, defaultPage, onPageChange, pageSize, defaultPageSize, onPageSizeChange, pageLinkSize, showFirstLastLinks, rowsPerPageOptions, rowsPerPageOptionsLabel, }: PaginatorProperties): JSX_2.Element;
4
+
5
+ export declare interface PaginatorProperties {
6
+ /** Total number of data items (rows), NOT page count. */
7
+ count: number;
8
+ /** Controlled current page, 1-indexed. Omit to let Ark manage it. */
9
+ page?: number;
10
+ defaultPage?: number;
11
+ onPageChange?: (page: number) => void;
12
+ /** Items per page. */
13
+ pageSize?: number;
14
+ defaultPageSize?: number;
15
+ onPageSizeChange?: (pageSize: number) => void;
16
+ /** Numbered buttons shown at once — shrinks to fit a narrow container. */
17
+ pageLinkSize?: number;
18
+ /** Shows the jump-to-first/last-page buttons.
19
+ * @default true */
20
+ showFirstLastLinks?: boolean;
21
+ /** Shows the "rows per page" select when given 1+ options. */
22
+ rowsPerPageOptions?: number[];
23
+ /** @default 'Rows per page' */
24
+ rowsPerPageOptionsLabel?: string;
25
+ }
26
+
27
+ export { }
@@ -1,4 +1,4 @@
1
- import { P as n } from "../shared/PanelMenu-BpjNM7O_.js";
1
+ import { P as n } from "../shared/PanelMenu-Dw-K6H2C.js";
2
2
  export {
3
3
  n as PanelMenu
4
4
  };
@@ -0,0 +1,29 @@
1
+ import { JSX as JSX_2 } from 'react';
2
+ import { ReactNode } from 'react';
3
+
4
+ export declare function PanelMenu({ items, expandedValue, defaultExpandedValue, onExpandedChange, renderItem, }: PanelMenuProperties): JSX_2.Element;
5
+
6
+ export declare interface PanelMenuItemData {
7
+ value: string;
8
+ label: string;
9
+ disabled?: boolean;
10
+ /** Persistent highlight (e.g. current route) — distinct from Ark's own
11
+ * open/closed state on branches. Same pattern as Menu's `active` field. */
12
+ active?: boolean;
13
+ /** Nested entries — presence of this (non-empty) makes the node a branch. */
14
+ items?: PanelMenuItemData[];
15
+ /** Consumer-defined extras (icon, href, target…) resolved in the adapter. */
16
+ [key: string]: unknown;
17
+ }
18
+
19
+ export declare interface PanelMenuProperties {
20
+ items: PanelMenuItemData[];
21
+ /** Controlled expanded branch values. Omit to let Ark manage it (uncontrolled). */
22
+ expandedValue?: string[];
23
+ defaultExpandedValue?: string[];
24
+ onExpandedChange?: (value: string[]) => void;
25
+ /** Override the default icon + label row entirely. */
26
+ renderItem?: (item: PanelMenuItemData) => ReactNode;
27
+ }
28
+
29
+ export { }
@@ -1,4 +1,4 @@
1
- import { P as a, a as r } from "../shared/Password-D4PRaleH.js";
1
+ import { P as a, a as r } from "../shared/Password-BWNvygrO.js";
2
2
  export {
3
3
  a as Password,
4
4
  r as PasswordFooterItem