@orcestr/ui 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/README.md +11 -11
  2. package/README.ru.md +10 -10
  3. package/dist/components/Action/ActionConfirmModal.d.ts.map +1 -1
  4. package/dist/components/Action/ActionTypes.d.ts +1 -1
  5. package/dist/components/Action/ActionTypes.d.ts.map +1 -1
  6. package/dist/components/ActionMenu/ActionMenu.d.ts.map +1 -1
  7. package/dist/components/Alert/Alert.d.ts.map +1 -1
  8. package/dist/components/Alert/Alert.js +1 -1
  9. package/dist/components/AppShell/AppShell.d.ts +11 -0
  10. package/dist/components/AppShell/AppShell.d.ts.map +1 -1
  11. package/dist/components/AppShell/AppShell.js +15 -14
  12. package/dist/components/AppSidebar/AppSidebar.d.ts.map +1 -1
  13. package/dist/components/AppSidebar/AppSidebar.js +84 -15
  14. package/dist/components/Badge/Badge.d.ts.map +1 -1
  15. package/dist/components/Badge/Badge.js +1 -1
  16. package/dist/components/BadgeSelectMenu/BadgeSelectMenu.d.ts.map +1 -1
  17. package/dist/components/BadgeSelectMenu/BadgeSelectMenu.js +5 -5
  18. package/dist/components/Box/Box.d.ts.map +1 -1
  19. package/dist/components/Box/Box.js +1 -1
  20. package/dist/components/Button/Button.d.ts.map +1 -1
  21. package/dist/components/Button/Button.js +2 -2
  22. package/dist/components/Card/Card.d.ts.map +1 -1
  23. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  24. package/dist/components/Checkbox/Checkbox.js +1 -1
  25. package/dist/components/Collapse/Collapse.d.ts.map +1 -1
  26. package/dist/components/Collapse/Collapse.js +5 -25
  27. package/dist/components/Combobox/Combobox.d.ts.map +1 -1
  28. package/dist/components/Combobox/Combobox.js +7 -2
  29. package/dist/components/CommandPalette/CommandPalette.d.ts.map +1 -1
  30. package/dist/components/CommandPalette/CommandPalette.js +6 -12
  31. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts +1 -1
  32. package/dist/components/ConfirmDialog/ConfirmDialog.d.ts.map +1 -1
  33. package/dist/components/ConfirmDialog/ConfirmDialog.js +1 -1
  34. package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -1
  35. package/dist/components/ContextMenu/ContextMenu.js +3 -3
  36. package/dist/components/CopyButton/CopyButton.d.ts +24 -0
  37. package/dist/components/CopyButton/CopyButton.d.ts.map +1 -0
  38. package/dist/components/CopyButton/CopyButton.js +81 -0
  39. package/dist/components/DataTable/DataTable.d.ts.map +1 -1
  40. package/dist/components/DataTable/DataTable.js +29 -22
  41. package/dist/components/DataTable/DataTableStateAdapters.d.ts.map +1 -1
  42. package/dist/components/DataTable/DataTableStateAdapters.js +3 -4
  43. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
  44. package/dist/components/DatePicker/DatePicker.js +1 -1
  45. package/dist/components/DatePicker/DatePickerState.d.ts.map +1 -1
  46. package/dist/components/DatePicker/DatePickerState.js +3 -1
  47. package/dist/components/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  48. package/dist/components/DateRangePresetPicker/DateRangePresetPicker.d.ts.map +1 -1
  49. package/dist/components/DateRangePresetPicker/DateRangePresetPicker.js +1 -1
  50. package/dist/components/DateRangePresetPicker/DateRangePresetPickerState.d.ts.map +1 -1
  51. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  52. package/dist/components/Drawer/Drawer.d.ts +2 -1
  53. package/dist/components/Drawer/Drawer.d.ts.map +1 -1
  54. package/dist/components/Drawer/Drawer.js +3 -3
  55. package/dist/components/EntityPicker/EntityPicker.d.ts.map +1 -1
  56. package/dist/components/EntityPicker/EntityPicker.js +2 -2
  57. package/dist/components/Field/Field.d.ts.map +1 -1
  58. package/dist/components/Field/Field.js +1 -1
  59. package/dist/components/Flex/Flex.d.ts.map +1 -1
  60. package/dist/components/Flex/Flex.js +1 -1
  61. package/dist/components/Grid/Grid.d.ts.map +1 -1
  62. package/dist/components/Highlight/Highlight.d.ts.map +1 -1
  63. package/dist/components/Highlight/Highlight.js +1 -1
  64. package/dist/components/IconButton/IconButton.d.ts.map +1 -1
  65. package/dist/components/IconButton/IconButton.js +3 -3
  66. package/dist/components/IconText/IconText.d.ts.map +1 -1
  67. package/dist/components/IconText/IconText.js +3 -1
  68. package/dist/components/IconTextButton/IconTextButton.d.ts.map +1 -1
  69. package/dist/components/InlineEdit/InlineEdit.d.ts.map +1 -1
  70. package/dist/components/InlineEdit/InlineEdit.js +22 -7
  71. package/dist/components/LinkButton/LinkButton.d.ts.map +1 -1
  72. package/dist/components/LinkButton/LinkButton.js +2 -2
  73. package/dist/components/Listbox/Listbox.js +2 -2
  74. package/dist/components/Menu/Menu.d.ts.map +1 -1
  75. package/dist/components/Menu/Menu.js +5 -5
  76. package/dist/components/Modal/Modal.d.ts.map +1 -1
  77. package/dist/components/Modal/Modal.js +4 -8
  78. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  79. package/dist/components/MultiSelect/MultiSelect.js +5 -7
  80. package/dist/components/NumberField/NumberField.d.ts.map +1 -1
  81. package/dist/components/NumberField/NumberField.js +1 -1
  82. package/dist/components/Overlay/OverlayProvider.d.ts +1 -1
  83. package/dist/components/Overlay/OverlayProvider.d.ts.map +1 -1
  84. package/dist/components/Overlay/OverlayProvider.js +3 -7
  85. package/dist/components/PaginatedCombobox/PaginatedCombobox.d.ts.map +1 -1
  86. package/dist/components/PaginatedCombobox/PaginatedCombobox.js +9 -8
  87. package/dist/components/PaginatedCombobox/PaginatedComboboxReactQueryAdapter.d.ts.map +1 -1
  88. package/dist/components/PaginatedCombobox/PaginatedComboboxReactQueryAdapter.js +2 -2
  89. package/dist/components/Pagination/Pagination.js +1 -1
  90. package/dist/components/Popover/Popover.d.ts.map +1 -1
  91. package/dist/components/Popover/Popover.js +16 -18
  92. package/dist/components/Portal/Portal.d.ts.map +1 -1
  93. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  94. package/dist/components/RadioGroup/RadioGroup.js +1 -1
  95. package/dist/components/ScrollArea/ScrollArea.d.ts.map +1 -1
  96. package/dist/components/ScrollArea/ScrollArea.js +10 -23
  97. package/dist/components/Section/Section.d.ts.map +1 -1
  98. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  99. package/dist/components/SegmentedControl/SegmentedControl.js +1 -1
  100. package/dist/components/Select/Select.d.ts.map +1 -1
  101. package/dist/components/Select/Select.js +4 -4
  102. package/dist/components/Separator/Separator.d.ts.map +1 -1
  103. package/dist/components/Separator/Separator.js +1 -1
  104. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  105. package/dist/components/Skeleton/Skeleton.js +1 -1
  106. package/dist/components/SpecialModal/SpecialModal.d.ts.map +1 -1
  107. package/dist/components/SpecialModal/SpecialModal.js +2 -2
  108. package/dist/components/Spinner/Spinner.d.ts.map +1 -1
  109. package/dist/components/Spinner/Spinner.js +1 -1
  110. package/dist/components/Stack/Stack.d.ts.map +1 -1
  111. package/dist/components/Stack/Stack.js +1 -1
  112. package/dist/components/State/State.d.ts.map +1 -1
  113. package/dist/components/State/State.js +5 -5
  114. package/dist/components/State/stateIcon.d.ts.map +1 -1
  115. package/dist/components/StepperInput/StepperInput.js +2 -2
  116. package/dist/components/Switch/Switch.js +1 -1
  117. package/dist/components/Table/Table.d.ts.map +1 -1
  118. package/dist/components/Table/Table.js +2 -2
  119. package/dist/components/Tabs/Tabs.d.ts.map +1 -1
  120. package/dist/components/Tabs/Tabs.js +24 -15
  121. package/dist/components/Text/Text.d.ts.map +1 -1
  122. package/dist/components/Text/Text.js +1 -1
  123. package/dist/components/TextArea/TextArea.d.ts.map +1 -1
  124. package/dist/components/TextArea/TextArea.js +2 -2
  125. package/dist/components/TextField/TextField.d.ts.map +1 -1
  126. package/dist/components/TextField/TextField.js +3 -3
  127. package/dist/components/Toast/Toast.d.ts +0 -4
  128. package/dist/components/Toast/Toast.d.ts.map +1 -1
  129. package/dist/components/Toast/Toast.js +63 -45
  130. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  131. package/dist/components/Tooltip/Tooltip.js +7 -9
  132. package/dist/components/VisuallyHidden/VisuallyHidden.d.ts.map +1 -1
  133. package/dist/example/CodePreview.d.ts +2 -1
  134. package/dist/example/CodePreview.d.ts.map +1 -1
  135. package/dist/example/CodePreview.js +18 -53
  136. package/dist/example/ExampleActionsSection.d.ts +1 -1
  137. package/dist/example/ExampleActionsSection.d.ts.map +1 -1
  138. package/dist/example/ExampleActionsSection.js +3 -3
  139. package/dist/example/ExampleApplicationSection.d.ts.map +1 -1
  140. package/dist/example/ExampleApplicationSection.js +91 -23
  141. package/dist/example/ExampleBasicsSections.d.ts +1 -1
  142. package/dist/example/ExampleBasicsSections.d.ts.map +1 -1
  143. package/dist/example/ExampleBasicsSections.js +22 -8
  144. package/dist/example/ExampleDataSection.d.ts.map +1 -1
  145. package/dist/example/ExampleDataSection.js +5 -5
  146. package/dist/example/ExampleFieldsSection.d.ts.map +1 -1
  147. package/dist/example/ExampleFieldsSection.js +8 -10
  148. package/dist/example/ExampleFoundationsSection.d.ts +1 -1
  149. package/dist/example/ExampleFoundationsSection.d.ts.map +1 -1
  150. package/dist/example/ExampleFoundationsSection.js +4 -4
  151. package/dist/example/ExampleOverlays.d.ts.map +1 -1
  152. package/dist/example/ExampleOverlays.js +4 -4
  153. package/dist/example/ExampleOverlaysSection.d.ts.map +1 -1
  154. package/dist/example/ExampleOverlaysSection.js +22 -35
  155. package/dist/example/ExampleSelectionSection.d.ts.map +1 -1
  156. package/dist/example/ExampleSelectionSection.js +8 -8
  157. package/dist/example/ExampleStateSection.d.ts +3 -3
  158. package/dist/example/ExampleStateSection.d.ts.map +1 -1
  159. package/dist/example/ExampleStateSection.js +15 -14
  160. package/dist/example/ExampleThemePlayground.d.ts +26 -26
  161. package/dist/example/ExampleThemePlayground.d.ts.map +1 -1
  162. package/dist/example/ExampleThemePlayground.js +58 -44
  163. package/dist/example/UiExamplePage.d.ts.map +1 -1
  164. package/dist/example/UiExamplePage.js +42 -55
  165. package/dist/example/UiExampleSection.d.ts.map +1 -1
  166. package/dist/example/UiExampleSection.js +1 -1
  167. package/dist/example/codeSamples.d.ts +1 -1
  168. package/dist/example/codeSamples.d.ts.map +1 -1
  169. package/dist/example/codeSamples.js +172 -70
  170. package/dist/example/exampleData.d.ts.map +1 -1
  171. package/dist/example/exampleData.js +5 -11
  172. package/dist/example/styles.css +79 -119
  173. package/dist/hooks/useControllableState.d.ts.map +1 -1
  174. package/dist/hooks/useControllableState.js +1 -3
  175. package/dist/hooks/useFloatingLayer.d.ts.map +1 -1
  176. package/dist/hooks/useFloatingLayer.js +1 -1
  177. package/dist/hooks/useFloatingPosition.d.ts.map +1 -1
  178. package/dist/hooks/useFloatingPosition.js +10 -15
  179. package/dist/hooks/useFocusTrap.d.ts.map +1 -1
  180. package/dist/hooks/useListNavigation.d.ts.map +1 -1
  181. package/dist/hooks/useListNavigation.js +2 -4
  182. package/dist/hooks/useOutsidePointerDown.d.ts.map +1 -1
  183. package/dist/hooks/useTypeahead.d.ts.map +1 -1
  184. package/dist/index.d.ts +1 -0
  185. package/dist/index.d.ts.map +1 -1
  186. package/dist/index.js +1 -0
  187. package/dist/locale/LocaleProvider.d.ts.map +1 -1
  188. package/dist/locale/LocaleProvider.js +1 -1
  189. package/dist/provider/OrcestrUiProvider.d.ts.map +1 -1
  190. package/dist/styles/orcestr-ui.css +658 -1033
  191. package/dist/theme/ThemeProvider.d.ts.map +1 -1
  192. package/dist/theme/ThemeProvider.js +21 -29
  193. package/dist/theme/defaultTheme.d.ts.map +1 -1
  194. package/dist/theme/defaultTheme.js +200 -89
  195. package/dist/theme/systemProps.d.ts +2 -2
  196. package/dist/theme/systemProps.d.ts.map +1 -1
  197. package/dist/theme/systemProps.js +4 -35
  198. package/dist/theme/themeTypes.d.ts +24 -19
  199. package/dist/theme/themeTypes.d.ts.map +1 -1
  200. package/dist/theme/useTheme.d.ts.map +1 -1
  201. package/dist/utils/cn.d.ts.map +1 -1
  202. package/dist/utils/composeRefs.d.ts.map +1 -1
  203. package/dist/utils/mergeProps.d.ts.map +1 -1
  204. package/dist/utils/polymorphic.d.ts.map +1 -1
  205. package/package.json +4 -1
@@ -20,5 +20,5 @@ export const Checkbox = forwardRef(function Checkbox({ className, label, childre
20
20
  return;
21
21
  inputRef.current.indeterminate = actualChecked === 'indeterminate';
22
22
  }, [actualChecked]);
23
- return (_jsxs("label", { className: cn('oui-checkbox', className), "data-checked": actualChecked === true ? 'true' : undefined, "data-indeterminate": actualChecked === 'indeterminate' ? 'true' : undefined, "data-disabled": disabled ? 'true' : undefined, "data-testid": testId, children: [_jsx("input", { ref: composeRefs(inputRef, ref), type: 'checkbox', checked: inputChecked, disabled: disabled, onChange: handleChange, ...props }), _jsxs("span", { className: 'oui-checkbox-box', children: [_jsx(LuCheck, { className: 'oui-checkbox-check', size: 13 }), _jsx(LuMinus, { className: 'oui-checkbox-minus', size: 13 })] }), label || children ? _jsx("span", { children: label ?? children }) : null] }));
23
+ return (_jsxs("label", { className: cn('oui-checkbox', className), "data-checked": actualChecked === true ? 'true' : undefined, "data-indeterminate": actualChecked === 'indeterminate' ? 'true' : undefined, "data-disabled": disabled ? 'true' : undefined, "data-testid": testId, children: [_jsx("input", { ref: composeRefs(inputRef, ref), type: "checkbox", checked: inputChecked, disabled: disabled, onChange: handleChange, ...props }), _jsxs("span", { className: "oui-checkbox-box", children: [_jsx(LuCheck, { className: "oui-checkbox-check", size: 13 }), _jsx(LuMinus, { className: "oui-checkbox-minus", size: 13 })] }), label || children ? _jsx("span", { children: label ?? children }) : null] }));
24
24
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Collapse.d.ts","sourceRoot":"","sources":["../../../src/components/Collapse/Collapse.tsx"],"names":[],"mappings":"AAEA,OAAO,EAKH,KAAK,aAAa,EAClB,KAAK,SAAS,EACjB,MAAM,OAAO,CAAC;AAIf,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EACrB,IAAI,EACJ,QAAQ,EACR,OAAc,EACd,SAAS,EACT,KAAK,EACL,MAAM,GACT,EAAE,aAAa,2CAyCf"}
1
+ {"version":3,"file":"Collapse.d.ts","sourceRoot":"","sources":["../../../src/components/Collapse/Collapse.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAI3D,MAAM,MAAM,aAAa,GAAG;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,SAAS,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,QAAQ,CAAC,EACrB,IAAI,EACJ,QAAQ,EACR,OAAc,EACd,SAAS,EACT,KAAK,EACL,MAAM,GACT,EAAE,aAAa,2CAkBf"}
@@ -1,33 +1,13 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import { useCallback, useLayoutEffect, useRef, useState, } from 'react';
3
+ import {} from 'react';
4
4
  import { cn } from '../../utils/cn';
5
5
  export function Collapse({ open, children, animate = true, className, style, testId, }) {
6
- const contentRef = useRef(null);
7
- const [contentHeight, setContentHeight] = useState(null);
8
- const measure = useCallback(() => {
9
- const element = contentRef.current;
10
- if (!element)
11
- return;
12
- const nextHeight = element.scrollHeight;
13
- setContentHeight((current) => (current === nextHeight ? current : nextHeight));
14
- }, []);
15
- useLayoutEffect(() => {
16
- measure();
17
- }, [children, measure, open]);
18
- useLayoutEffect(() => {
19
- const element = contentRef.current;
20
- if (!element || typeof ResizeObserver === 'undefined')
21
- return;
22
- const observer = new ResizeObserver(() => measure());
23
- observer.observe(element);
24
- return () => observer.disconnect();
25
- }, [measure]);
26
- return (_jsx("div", { className: cn('oui-collapse', className), "data-state": open ? 'open' : 'closed', "data-testid": testId, style: {
27
- height: open ? (contentHeight ?? undefined) : 0,
6
+ return (_jsx("div", { className: cn('oui-collapse', className), "data-state": open ? 'open' : 'closed', "data-animate": animate ? 'true' : 'false', "data-testid": testId, style: {
7
+ gridTemplateRows: open ? '1fr' : '0fr',
28
8
  transition: animate
29
- ? 'height 220ms cubic-bezier(0.22, 1, 0.36, 1)'
9
+ ? 'grid-template-rows 220ms cubic-bezier(0.22, 1, 0.36, 1)'
30
10
  : 'none',
31
11
  ...style,
32
- }, children: _jsx("div", { ref: contentRef, className: 'oui-collapse-content', children: children }) }));
12
+ }, children: _jsx("div", { className: "oui-collapse-content", children: children }) }));
33
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/Combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAoB,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAKxD,OAAO,EAAU,KAAK,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAI7D,wBAAgB,QAAQ,CAAC,EACrB,KAAK,EACL,KAAK,EACL,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,QAAgB,EAChB,SAAgB,EAChB,WAAkB,EAClB,MAAM,GACT,EAAE;IACC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,2CA2FA"}
1
+ {"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/components/Combobox/Combobox.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAK1D,OAAO,EAAW,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAI/D,wBAAgB,QAAQ,CAAC,EACrB,KAAK,EACL,KAAK,EACL,aAAa,EACb,WAAW,EACX,qBAAqB,EACrB,iBAAiB,EACjB,SAAS,EACT,UAAU,EACV,QAAgB,EAChB,SAAgB,EAChB,WAAkB,EAClB,MAAM,GACT,EAAE;IACC,KAAK,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,SAAS,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,2CAiGA"}
@@ -17,14 +17,19 @@ export function Combobox({ items, value, onValueChange, placeholder, selectedFal
17
17
  setOpen(next);
18
18
  if (!next)
19
19
  setQuery('');
20
- }, trigger: _jsx(Button, { v: 'surface', fullWidth: true, disabled: disabled, pressAnimation: 'none', className: 'oui-combobox-trigger', "data-state": open ? 'open' : 'closed', testId: testId, rightIcon: _jsxs("span", { className: 'oui-combobox-trigger-actions', children: [clearable && selected ? (_jsx("span", { "aria-label": clearLabel ?? copy.common.clear, className: 'oui-combobox-clear', onPointerDown: (event) => {
20
+ }, trigger: _jsx(Button, { v: "surface", fullWidth: true, disabled: disabled, pressAnimation: "none", className: "oui-combobox-trigger", "data-state": open ? 'open' : 'closed', testId: testId, rightIcon: _jsxs("span", { className: "oui-combobox-trigger-actions", children: [clearable && selected ? (_jsx("span", { "aria-label": clearLabel ?? copy.common.clear, className: "oui-combobox-clear", onPointerDown: (event) => {
21
21
  event.preventDefault();
22
22
  event.stopPropagation();
23
23
  }, onClick: (event) => {
24
24
  event.preventDefault();
25
25
  event.stopPropagation();
26
26
  onValueChange(null);
27
- }, children: _jsx(LuX, { size: 14 }) })) : null, showChevron ? _jsx(LuChevronsUpDown, { size: 15 }) : null] }), children: _jsx("span", { className: selected || selectedFallbackLabel ? 'oui-combobox-trigger-label' : 'oui-combobox-placeholder', children: selected?.label ?? selectedFallbackLabel ?? placeholder ?? copy.common.selectValue }) }), className: 'oui-combobox-content', testId: testId ? `${testId}-popover` : undefined, align: 'start', sideOffset: 4, matchTriggerWidth: true, disabled: disabled, children: [_jsx("div", { className: 'oui-combobox-search-wrap', children: _jsx(TextField, { autoFocus: true, size: 1, value: query, testId: testId ? `${testId}-search` : undefined, placeholder: searchPlaceholder ?? copy.common.search, onChange: (event) => setQuery(event.target.value) }) }), filtered.length === 0 ? (_jsx("div", { className: 'oui-combobox-empty', children: emptyText ?? copy.common.noOptions })) : (_jsx(Listbox, { className: 'oui-combobox-options', items: filtered, value: value, testId: testId ? `${testId}-listbox` : undefined, onValueChange: (next) => {
27
+ }, children: _jsx(LuX, { size: 14 }) })) : null, showChevron ? _jsx(LuChevronsUpDown, { size: 15 }) : null] }), children: _jsx("span", { className: selected || selectedFallbackLabel
28
+ ? 'oui-combobox-trigger-label'
29
+ : 'oui-combobox-placeholder', children: selected?.label ??
30
+ selectedFallbackLabel ??
31
+ placeholder ??
32
+ copy.common.selectValue }) }), className: "oui-combobox-content", testId: testId ? `${testId}-popover` : undefined, align: "start", sideOffset: 4, matchTriggerWidth: true, disabled: disabled, children: [_jsx("div", { className: "oui-combobox-search-wrap", children: _jsx(TextField, { autoFocus: true, size: 1, value: query, testId: testId ? `${testId}-search` : undefined, placeholder: searchPlaceholder ?? copy.common.search, onChange: (event) => setQuery(event.target.value) }) }), filtered.length === 0 ? (_jsx("div", { className: "oui-combobox-empty", children: emptyText ?? copy.common.noOptions })) : (_jsx(Listbox, { className: "oui-combobox-options", items: filtered, value: value, testId: testId ? `${testId}-listbox` : undefined, onValueChange: (next) => {
28
33
  onValueChange(next);
29
34
  setOpen(false);
30
35
  setQuery('');
@@ -1 +1 @@
1
- {"version":3,"file":"CommandPalette.d.ts","sourceRoot":"","sources":["../../../src/components/CommandPalette/CommandPalette.tsx"],"names":[],"mappings":"AAEA,OAAO,EAQH,KAAK,SAAS,EACjB,MAAM,OAAO,CAAC;AAIf,OAAO,EAGH,KAAK,iBAAiB,EACzB,MAAM,uBAAuB,CAAC;AAQ/B,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAQF,wBAAgB,cAAc,CAAC,EAC3B,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,WAAgB,EAChB,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,WAAW,EACX,gBAAqB,EACrB,MAAM,GACT,EAAE;IACC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,KAAK,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAChD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,2CAuRA"}
1
+ {"version":3,"file":"CommandPalette.d.ts","sourceRoot":"","sources":["../../../src/components/CommandPalette/CommandPalette.tsx"],"names":[],"mappings":"AAEA,OAAO,EAQH,KAAK,SAAS,EACjB,MAAM,OAAO,CAAC;AAIf,OAAO,EAGH,KAAK,iBAAiB,EACzB,MAAM,uBAAuB,CAAC;AAQ/B,MAAM,MAAM,kBAAkB,GAAG,iBAAiB,GAAG;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACvB,CAAC;AAQF,wBAAgB,cAAc,CAAC,EAC3B,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,WAAgB,EAChB,QAAQ,EACR,KAAK,EACL,WAAW,EACX,WAAW,EACX,SAAS,EACT,WAAW,EACX,gBAAqB,EACrB,MAAM,GACT,EAAE;IACC,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,KAAK,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IACzC,WAAW,CAAC,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAAC;IAChD,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,2CAoSA"}
@@ -26,11 +26,7 @@ export function CommandPalette({ open, onOpenChange, items, recentItems = [], on
26
26
  const filtered = useMemo(() => items.filter((item) => {
27
27
  if (!normalizedQuery)
28
28
  return true;
29
- return [
30
- actionItemSearchText(item),
31
- item.group,
32
- ...(item.keywords ?? []),
33
- ]
29
+ return [actionItemSearchText(item), item.group, ...(item.keywords ?? [])]
34
30
  .filter(Boolean)
35
31
  .some((value) => value.toLowerCase().includes(normalizedQuery));
36
32
  }), [items, normalizedQuery]);
@@ -57,9 +53,7 @@ export function CommandPalette({ open, onOpenChange, items, recentItems = [], on
57
53
  ];
58
54
  }, [actualRecentTitle, copy.command.group, filtered, normalizedQuery, recentItems]);
59
55
  const options = useMemo(() => groups.flatMap((group) => group.items), [groups]);
60
- const actualSelectedIndex = options.length === 0
61
- ? 0
62
- : Math.min(selectedIndex, options.length - 1);
56
+ const actualSelectedIndex = options.length === 0 ? 0 : Math.min(selectedIndex, options.length - 1);
63
57
  const selectedItem = options[actualSelectedIndex] ?? null;
64
58
  const close = useCallback(() => {
65
59
  onOpenChange(false);
@@ -151,13 +145,13 @@ export function CommandPalette({ open, onOpenChange, items, recentItems = [], on
151
145
  onOpenChange(true);
152
146
  else
153
147
  close();
154
- }, maxWidth: 520, testId: testId, children: [_jsxs(Modal.Header, { children: [_jsxs("div", { className: 'oui-modal-title-wrap', children: [_jsx("h2", { className: 'oui-modal-title', children: actualTitle }), _jsx("p", { className: 'oui-modal-description', children: actualDescription })] }), _jsx(IconButton, { v: 'ghost', icon: _jsx(LuX, { size: 18 }), "aria-label": copy.common.close, onClick: close })] }), _jsx(Modal.Body, { children: _jsxs("div", { className: 'oui-command-palette', "data-testid": testId ? `${testId}-panel` : undefined, onKeyDown: handleKeyDown, children: [_jsx(TextField, { autoFocus: true, className: 'oui-command-palette-search', leftSlot: _jsx(LuSearch, { size: 16 }), placeholder: actualPlaceholder, value: query, role: 'combobox', "aria-autocomplete": 'list', "aria-controls": listboxId, "aria-expanded": open, "aria-activedescendant": selectedItem
148
+ }, maxWidth: 520, testId: testId, children: [_jsxs(Modal.Header, { children: [_jsxs("div", { className: "oui-modal-title-wrap", children: [_jsx("h2", { className: "oui-modal-title", children: actualTitle }), _jsx("p", { className: "oui-modal-description", children: actualDescription })] }), _jsx(IconButton, { v: "ghost", icon: _jsx(LuX, { size: 18 }), "aria-label": copy.common.close, onClick: close })] }), _jsx(Modal.Body, { children: _jsxs("div", { className: "oui-command-palette", "data-testid": testId ? `${testId}-panel` : undefined, onKeyDown: handleKeyDown, children: [_jsx(TextField, { autoFocus: true, className: "oui-command-palette-search", leftSlot: _jsx(LuSearch, { size: 16 }), placeholder: actualPlaceholder, value: query, role: "combobox", "aria-autocomplete": "list", "aria-controls": listboxId, "aria-expanded": open, "aria-activedescendant": selectedItem
155
149
  ? commandOptionId(listboxId, actualSelectedIndex)
156
- : undefined, onChange: (event) => setQuery(event.target.value) }), _jsx("div", { ref: optionsRef, id: listboxId, className: 'oui-command-palette-results', role: 'listbox', "aria-label": copy.common.commandPaletteResults, children: _jsx(Collapse, { open: true, className: 'oui-command-palette-collapse', children: groups.length > 0 ? (groups.map((groupData) => (_jsxs("div", { className: 'oui-command-palette-group', children: [_jsx("div", { className: 'oui-command-palette-group-title', "data-recent": groupData.recent ? 'true' : undefined, children: groupData.group }), _jsx("div", { className: 'oui-command-palette-items', children: groupData.items.map((item) => {
150
+ : undefined, onChange: (event) => setQuery(event.target.value) }), _jsx("div", { ref: optionsRef, id: listboxId, className: "oui-command-palette-results", role: "listbox", "aria-label": copy.common.commandPaletteResults, children: _jsx(Collapse, { open: true, className: "oui-command-palette-collapse", children: groups.length > 0 ? (groups.map((groupData) => (_jsxs("div", { className: "oui-command-palette-group", children: [_jsx("div", { className: "oui-command-palette-group-title", "data-recent": groupData.recent ? 'true' : undefined, children: groupData.group }), _jsx("div", { className: "oui-command-palette-items", children: groupData.items.map((item) => {
157
151
  const index = options.indexOf(item);
158
152
  const selected = index === actualSelectedIndex;
159
- return (_jsxs("button", { id: commandOptionId(listboxId, index), type: 'button', role: 'option', "aria-selected": selected, className: 'oui-command-palette-item', "data-selected": selected ? 'true' : undefined, "data-loading": item.loading ? 'true' : undefined, "data-tone": item.tone, "data-oui-command-index": index, "aria-busy": item.loading ? 'true' : undefined, disabled: isActionItemDisabled(item), onMouseEnter: () => setSelectedIndex(index), onClick: () => selectItem(item), children: [item.icon || item.loading ? (_jsx("span", { className: 'oui-command-palette-item-icon', children: item.loading ? _jsx(Spinner, { size: 1 }) : item.icon })) : null, _jsxs("span", { className: 'oui-command-palette-item-main', children: [_jsx("span", { className: 'oui-command-palette-item-label', children: item.label }), item.description ? (_jsx("span", { className: 'oui-command-palette-item-description', children: item.description })) : null] }), item.shortcut ? (_jsx("span", { className: 'oui-command-palette-shortcut', children: item.shortcut })) : null] }, `${groupData.group}-${item.key}`));
160
- }) })] }, groupData.group)))) : (_jsx("div", { className: 'oui-command-palette-empty', children: actualEmptyText })) }) })] }) })] }), _jsx(ActionConfirmModal, { item: confirmItem, open: confirmItem !== null, onCancel: () => setConfirmItem(null), onConfirm: () => {
153
+ return (_jsxs("button", { id: commandOptionId(listboxId, index), type: "button", role: "option", "aria-selected": selected, className: "oui-command-palette-item", "data-selected": selected ? 'true' : undefined, "data-loading": item.loading ? 'true' : undefined, "data-tone": item.tone, "data-oui-command-index": index, "aria-busy": item.loading ? 'true' : undefined, disabled: isActionItemDisabled(item), onMouseEnter: () => setSelectedIndex(index), onClick: () => selectItem(item), children: [item.icon || item.loading ? (_jsx("span", { className: "oui-command-palette-item-icon", children: item.loading ? (_jsx(Spinner, { size: 1 })) : (item.icon) })) : null, _jsxs("span", { className: "oui-command-palette-item-main", children: [_jsx("span", { className: "oui-command-palette-item-label", children: item.label }), item.description ? (_jsx("span", { className: "oui-command-palette-item-description", children: item.description })) : null] }), item.shortcut ? (_jsx("span", { className: "oui-command-palette-shortcut", children: item.shortcut })) : null] }, `${groupData.group}-${item.key}`));
154
+ }) })] }, groupData.group)))) : (_jsx("div", { className: "oui-command-palette-empty", children: actualEmptyText })) }) })] }) })] }), _jsx(ActionConfirmModal, { item: confirmItem, open: confirmItem !== null, onCancel: () => setConfirmItem(null), onConfirm: () => {
161
155
  confirmItem?.onSelect?.();
162
156
  if (confirmItem)
163
157
  onSelect(confirmItem.key);
@@ -1,7 +1,7 @@
1
1
  import type { ReactNode } from 'react';
2
2
  import type { Tone } from '../../theme/systemProps';
3
3
  import { type ModalProps } from '../Modal/Modal';
4
- export type ConfirmDialogTone = Extract<Tone, 'danger' | 'info' | 'neutral' | 'success' | 'warning'>;
4
+ export type ConfirmDialogTone = Tone;
5
5
  export type ConfirmDialogProps = {
6
6
  open: boolean;
7
7
  onOpenChange: (open: boolean) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/components/ConfirmDialog/ConfirmDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,OAAO,CAAC;AAIrC,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,yBAAyB,CAAC;AAIlD,OAAO,EAAQ,KAAK,UAAU,EAAC,MAAM,gBAAgB,CAAC;AAGtD,MAAM,MAAM,iBAAiB,GAAG,OAAO,CACnC,IAAI,EACJ,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CACxD,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAC1B,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,WAAW,EACX,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,IAAgB,EAChB,OAAe,EACf,eAAuB,EACvB,cAAsB,EACtB,mBAAmB,EACnB,QAAc,EACd,MAAM,EACN,SAAS,EACT,QAAQ,GACX,EAAE,kBAAkB,2CA0EpB"}
1
+ {"version":3,"file":"ConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/components/ConfirmDialog/ConfirmDialog.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAIpD,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAGxD,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAErC,MAAM,MAAM,kBAAkB,GAAG;IAC7B,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,OAAO,CAAC,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAC1B,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,WAAW,EACX,OAAO,EACP,QAAQ,EACR,YAAY,EACZ,WAAW,EACX,IAAgB,EAChB,OAAe,EACf,eAAuB,EACvB,cAAsB,EACtB,mBAAmB,EACnB,QAAc,EACd,MAAM,EACN,SAAS,EACT,QAAQ,GACX,EAAE,kBAAkB,2CA0EpB"}
@@ -24,5 +24,5 @@ export function ConfirmDialog({ open, onOpenChange, title, description, message,
24
24
  return;
25
25
  }
26
26
  cancel();
27
- }, maxWidth: maxWidth, closeOnOverlayClick: closeOnOverlayClick ?? canClose, testId: testId, children: [title || description ? (_jsxs(Modal.Header, { children: [_jsxs("div", { className: 'oui-modal-title-wrap', children: [title ? _jsx("h2", { className: 'oui-modal-title', children: title }) : null, description ? (_jsx("p", { className: 'oui-modal-description', children: description })) : null] }), _jsx(IconButton, { v: 'ghost', icon: _jsx(LuX, { size: 18 }), "aria-label": copy.common.close, disabled: !canClose, onClick: cancel })] })) : null, _jsxs(Modal.Body, { children: [message ? (_jsx(Text, { as: 'p', tone: 'muted', lh: 1.5, children: message })) : null, children] }), _jsx(Modal.Footer, { children: _jsxs(Flex, { g: 2, j: 'e', w: '100%', children: [_jsx(Button, { v: 'surface', onClick: cancel, disabled: !canClose, testId: testId ? `${testId}-cancel` : undefined, children: actualCancelLabel }), _jsx(Button, { tone: tone, loading: loading, disabled: confirmDisabled, onClick: onConfirm, testId: testId ? `${testId}-confirm` : undefined, children: actualConfirmLabel })] }) })] }));
27
+ }, maxWidth: maxWidth, closeOnOverlayClick: closeOnOverlayClick ?? canClose, testId: testId, children: [title || description ? (_jsxs(Modal.Header, { children: [_jsxs("div", { className: "oui-modal-title-wrap", children: [title ? _jsx("h2", { className: "oui-modal-title", children: title }) : null, description ? (_jsx("p", { className: "oui-modal-description", children: description })) : null] }), _jsx(IconButton, { v: "ghost", icon: _jsx(LuX, { size: 18 }), "aria-label": copy.common.close, disabled: !canClose, onClick: cancel })] })) : null, _jsxs(Modal.Body, { children: [message ? (_jsx(Text, { as: "p", tone: "muted", lh: 1.5, children: message })) : null, children] }), _jsx(Modal.Footer, { children: _jsxs(Flex, { g: 2, j: "e", w: "100%", children: [_jsx(Button, { v: "surface", onClick: cancel, disabled: !canClose, testId: testId ? `${testId}-cancel` : undefined, children: actualCancelLabel }), _jsx(Button, { tone: tone, loading: loading, disabled: confirmDisabled, onClick: onConfirm, testId: testId ? `${testId}-confirm` : undefined, children: actualConfirmLabel })] }) })] }));
28
28
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../src/components/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EAMH,KAAK,UAAU,EACf,KAAK,YAAY,EACpB,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,cAAc,CAAC;AAS3C,wBAAgB,WAAW,CAAC,EACxB,QAAQ,EACR,KAAK,EACL,SAAS,EACT,MAAM,GACT,EAAE;IACC,QAAQ,EAAE,YAAY,CAAC;QAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;KAAC,CAAC,CAAC;IACtE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,2CAiFA"}
1
+ {"version":3,"file":"ContextMenu.d.ts","sourceRoot":"","sources":["../../../src/components/ContextMenu/ContextMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,EAMH,KAAK,UAAU,EACf,KAAK,YAAY,EACpB,MAAM,OAAO,CAAC;AAKf,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAS7C,wBAAgB,WAAW,CAAC,EACxB,QAAQ,EACR,KAAK,EACL,SAAS,EACT,MAAM,GACT,EAAE;IACC,QAAQ,EAAE,YAAY,CAAC;QAAE,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,CAAA;KAAE,CAAC,CAAC;IACxE,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,2CA6EA"}
@@ -44,7 +44,7 @@ export function ContextMenu({ children, items, className, testId, }) {
44
44
  setPoint({ x: event.clientX, y: event.clientY });
45
45
  },
46
46
  });
47
- return (_jsxs(_Fragment, { children: [trigger, point ? (_jsx(Portal, { children: _jsx("div", { ref: layerRef, className: cn('oui-popover-content oui-menu oui-action-menu-content oui-context-menu-content', className), "data-state": 'opening', "data-layer": 'dropdown', "data-testid": testId, style: {
47
+ return (_jsxs(_Fragment, { children: [trigger, point ? (_jsx(Portal, { children: _jsx("div", { ref: layerRef, className: cn('oui-popover-content oui-menu oui-action-menu-content oui-context-menu-content', className), "data-state": "opening", "data-layer": "dropdown", "data-testid": testId, style: {
48
48
  left: point.x,
49
49
  top: point.y,
50
50
  zIndex: overlayLayerZIndex(overlay.zIndex, 'dropdown', layerIndex),
@@ -54,7 +54,7 @@ export function ContextMenu({ children, items, className, testId, }) {
54
54
  } })] }));
55
55
  }
56
56
  function ContextMenuContent({ items, close, requestConfirmation, testId, }) {
57
- return (_jsx("div", { className: 'oui-menu-list', role: 'menu', "data-testid": testId, children: items.map((item) => (_jsxs("div", { children: [item.separatorBefore ? _jsx("div", { className: 'oui-menu-separator' }) : null, _jsxs("button", { type: 'button', role: 'menuitem', className: 'oui-menu-item oui-combobox-option', "data-tone": item.tone, "data-selected": 'false', "data-loading": item.loading ? 'true' : undefined, "data-testid": testId ? `${testId}-${item.key}` : undefined, "aria-busy": item.loading ? 'true' : undefined, disabled: isActionItemDisabled(item) || Boolean(item.children?.length), onClick: () => {
57
+ return (_jsx("div", { className: "oui-menu-list", role: "menu", "data-testid": testId, children: items.map((item) => (_jsxs("div", { children: [item.separatorBefore ? _jsx("div", { className: "oui-menu-separator" }) : null, _jsxs("button", { type: "button", role: "menuitem", className: "oui-menu-item oui-combobox-option", "data-tone": item.tone, "data-selected": "false", "data-loading": item.loading ? 'true' : undefined, "data-testid": testId ? `${testId}-${item.key}` : undefined, "aria-busy": item.loading ? 'true' : undefined, disabled: isActionItemDisabled(item) || Boolean(item.children?.length), onClick: () => {
58
58
  if (isActionItemDisabled(item) || item.children?.length)
59
59
  return;
60
60
  if (item.confirm) {
@@ -64,5 +64,5 @@ function ContextMenuContent({ items, close, requestConfirmation, testId, }) {
64
64
  }
65
65
  item.onSelect?.();
66
66
  close();
67
- }, children: [item.icon || item.loading ? (_jsx("span", { className: 'oui-menu-icon', children: item.loading ? _jsx(Spinner, { size: 1 }) : item.icon })) : null, _jsx("span", { className: 'oui-menu-label', children: item.label })] })] }, item.key))) }));
67
+ }, children: [item.icon || item.loading ? (_jsx("span", { className: "oui-menu-icon", children: item.loading ? _jsx(Spinner, { size: 1 }) : item.icon })) : null, _jsx("span", { className: "oui-menu-label", children: item.label })] })] }, item.key))) }));
68
68
  }
@@ -0,0 +1,24 @@
1
+ import { type ButtonProps } from '../Button/Button';
2
+ import { type IconButtonProps } from '../IconButton/IconButton';
3
+ export type CopyButtonProps = Omit<ButtonProps, 'children' | 'leftIcon' | 'loading' | 'onClick'> & {
4
+ text: string;
5
+ label?: string;
6
+ copiedLabel?: string;
7
+ successMessage?: string;
8
+ errorMessage?: string;
9
+ resetMs?: number;
10
+ onCopied?: () => void;
11
+ onCopyError?: (error: unknown) => void;
12
+ };
13
+ export type CopyIconButtonProps = Omit<IconButtonProps, 'children' | 'icon' | 'loading' | 'onClick'> & {
14
+ text: string;
15
+ label?: string;
16
+ successMessage?: string;
17
+ errorMessage?: string;
18
+ resetMs?: number;
19
+ onCopied?: () => void;
20
+ onCopyError?: (error: unknown) => void;
21
+ };
22
+ export declare function CopyButton({ text, label, copiedLabel, successMessage, errorMessage, resetMs, onCopied, onCopyError, className, disabled, ...props }: CopyButtonProps): import("react/jsx-runtime").JSX.Element;
23
+ export declare function CopyIconButton({ text, label, successMessage, errorMessage, resetMs, onCopied, onCopyError, className, disabled, ...props }: CopyIconButtonProps): import("react/jsx-runtime").JSX.Element;
24
+ //# sourceMappingURL=CopyButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CopyButton.d.ts","sourceRoot":"","sources":["../../../src/components/CopyButton/CopyButton.tsx"],"names":[],"mappings":"AAMA,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG5E,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC,GAAG;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,IAAI,CAClC,eAAe,EACf,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,CAC9C,GAAG;IACA,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C,CAAC;AAEF,wBAAgB,UAAU,CAAC,EACvB,IAAI,EACJ,KAAc,EACd,WAAsB,EACtB,cAAyB,EACzB,YAA4B,EAC5B,OAAc,EACd,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACX,EAAE,eAAe,2CAsBjB;AAED,wBAAgB,cAAc,CAAC,EAC3B,IAAI,EACJ,KAAc,EACd,cAAyB,EACzB,YAA4B,EAC5B,OAAc,EACd,QAAQ,EACR,WAAW,EACX,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACX,EAAE,mBAAmB,2CAqBrB"}
@@ -0,0 +1,81 @@
1
+ 'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useEffect, useRef, useState } from 'react';
4
+ import { LuCheck, LuCopy } from 'react-icons/lu';
5
+ import { cn } from '../../utils/cn';
6
+ import { Button } from '../Button/Button';
7
+ import { IconButton } from '../IconButton/IconButton';
8
+ import { useToast } from '../Toast/Toast';
9
+ export function CopyButton({ text, label = 'Copy', copiedLabel = 'Copied', successMessage = 'Copied', errorMessage = 'Copy failed', resetMs = 1400, onCopied, onCopyError, className, disabled, ...props }) {
10
+ const { copied, pending, copy } = useCopyAction({
11
+ text,
12
+ successMessage,
13
+ errorMessage,
14
+ resetMs,
15
+ onCopied,
16
+ onCopyError,
17
+ });
18
+ return (_jsx(Button, { ...props, className: cn('oui-copy-button', className), disabled: disabled || pending, loading: pending, leftIcon: copied ? _jsx(LuCheck, { size: 15 }) : _jsx(LuCopy, { size: 15 }), onClick: copy, children: copied ? copiedLabel : label }));
19
+ }
20
+ export function CopyIconButton({ text, label = 'Copy', successMessage = 'Copied', errorMessage = 'Copy failed', resetMs = 1400, onCopied, onCopyError, className, disabled, ...props }) {
21
+ const { copied, pending, copy } = useCopyAction({
22
+ text,
23
+ successMessage,
24
+ errorMessage,
25
+ resetMs,
26
+ onCopied,
27
+ onCopyError,
28
+ });
29
+ return (_jsx(IconButton, { ...props, className: cn('oui-copy-icon-button', className), disabled: disabled || pending, loading: pending, icon: copied ? _jsx(LuCheck, { size: 15 }) : _jsx(LuCopy, { size: 15 }), "aria-label": label, onClick: copy }));
30
+ }
31
+ function useCopyAction({ text, successMessage, errorMessage, resetMs, onCopied, onCopyError, }) {
32
+ const toast = useToast();
33
+ const timerRef = useRef(null);
34
+ const [pending, setPending] = useState(false);
35
+ const [copied, setCopied] = useState(false);
36
+ useEffect(() => () => {
37
+ if (timerRef.current !== null)
38
+ window.clearTimeout(timerRef.current);
39
+ }, []);
40
+ async function copy(event) {
41
+ event.stopPropagation();
42
+ setPending(true);
43
+ try {
44
+ await writeClipboardText(text);
45
+ setCopied(true);
46
+ onCopied?.();
47
+ if (successMessage)
48
+ toast.success(successMessage);
49
+ if (timerRef.current !== null)
50
+ window.clearTimeout(timerRef.current);
51
+ timerRef.current = window.setTimeout(() => setCopied(false), resetMs);
52
+ }
53
+ catch (error) {
54
+ onCopyError?.(error);
55
+ if (errorMessage)
56
+ toast.error(errorMessage);
57
+ }
58
+ finally {
59
+ setPending(false);
60
+ }
61
+ }
62
+ return { copied, pending, copy };
63
+ }
64
+ async function writeClipboardText(text) {
65
+ if (navigator.clipboard?.writeText) {
66
+ await navigator.clipboard.writeText(text);
67
+ return;
68
+ }
69
+ const field = document.createElement('textarea');
70
+ field.value = text;
71
+ field.setAttribute('readonly', '');
72
+ field.style.position = 'fixed';
73
+ field.style.top = '-9999px';
74
+ field.style.left = '-9999px';
75
+ document.body.append(field);
76
+ field.select();
77
+ const copied = document.execCommand('copy');
78
+ field.remove();
79
+ if (!copied)
80
+ throw new Error('Clipboard copy failed');
81
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTable.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTable.tsx"],"names":[],"mappings":"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"}
@@ -175,7 +175,9 @@ export function DataTable({ rows, columns, rowKey, sort, onSortChange, selectedR
175
175
  : existing.direction === 'asc'
176
176
  ? { key: column.key, direction: 'desc' }
177
177
  : null;
178
- const keepOthers = event?.shiftKey ? sortItems.filter((item) => item.key !== column.key) : [];
178
+ const keepOthers = event?.shiftKey
179
+ ? sortItems.filter((item) => item.key !== column.key)
180
+ : [];
179
181
  const next = nextForColumn ? [...keepOthers, nextForColumn] : keepOthers;
180
182
  onSortChange(next.length === 0 ? null : event?.shiftKey ? next : next[0]);
181
183
  };
@@ -252,7 +254,7 @@ export function DataTable({ rows, columns, rowKey, sort, onSortChange, selectedR
252
254
  toggleExpandedRow(item.key);
253
255
  }
254
256
  };
255
- return (_jsxs("div", { className: 'oui-data-table-shell', "data-testid": testId ? `${testId}-shell` : undefined, children: [toolbar || columnSettings ? (_jsxs("div", { className: 'oui-data-table-toolbar', children: [toolbar ? (_jsx("div", { className: 'oui-data-table-toolbar-content', children: toolbar })) : null, columnSettings ? (_jsx(ColumnSettingsPanel, { columns: settingsColumns, visibleColumnKeys: columnSettings.visibleColumnKeys, columnOrder: columnSettings.columnOrder, label: columnSettings.label ?? copy.table.columnSettings, resetLabel: columnSettings.resetLabel ?? copy.common.reset, emptyLabel: columnSettings.emptyLabel ?? copy.common.noData, onVisibleColumnKeysChange: columnSettings.onVisibleColumnKeysChange, onColumnOrderChange: columnSettings.onColumnOrderChange, onReset: columnSettings.onReset, testId: testId ? `${testId}-columns` : undefined })) : null] })) : null, _jsx("div", { ref: attachScrollRoot, className: 'oui-data-table-wrap', style: { height }, role: 'grid', tabIndex: 0, "data-testid": testId, onScroll: virtualized ? handleScroll : undefined, onWheel: handleWheel, onPointerDown: cancelHorizontalScrollAnimation, onMouseDown: cancelHorizontalScrollAnimation, onKeyDown: handleKeyDown, children: _jsxs("table", { className: 'oui-data-table', "aria-rowcount": total ?? rows.length, style: {
257
+ return (_jsxs("div", { className: "oui-data-table-shell", "data-testid": testId ? `${testId}-shell` : undefined, children: [toolbar || columnSettings ? (_jsxs("div", { className: "oui-data-table-toolbar", children: [toolbar ? (_jsx("div", { className: "oui-data-table-toolbar-content", children: toolbar })) : null, columnSettings ? (_jsx(ColumnSettingsPanel, { columns: settingsColumns, visibleColumnKeys: columnSettings.visibleColumnKeys, columnOrder: columnSettings.columnOrder, label: columnSettings.label ?? copy.table.columnSettings, resetLabel: columnSettings.resetLabel ?? copy.common.reset, emptyLabel: columnSettings.emptyLabel ?? copy.common.noData, onVisibleColumnKeysChange: columnSettings.onVisibleColumnKeysChange, onColumnOrderChange: columnSettings.onColumnOrderChange, onReset: columnSettings.onReset, testId: testId ? `${testId}-columns` : undefined })) : null] })) : null, _jsx("div", { ref: attachScrollRoot, className: "oui-data-table-wrap", style: { height }, role: "grid", tabIndex: 0, "data-testid": testId, onScroll: virtualized ? handleScroll : undefined, onWheel: handleWheel, onPointerDown: cancelHorizontalScrollAnimation, onMouseDown: cancelHorizontalScrollAnimation, onKeyDown: handleKeyDown, children: _jsxs("table", { className: "oui-data-table", "aria-rowcount": total ?? rows.length, style: {
256
258
  minWidth: tableMinWidth ? `${tableMinWidth}px` : undefined,
257
259
  '--oui-data-table-select-left-offset': expansion ? '34px' : '0px',
258
260
  '--oui-data-table-pinned-left-offset': `${pinnedLeftOffset}px`,
@@ -260,18 +262,21 @@ export function DataTable({ rows, columns, rowKey, sort, onSortChange, selectedR
260
262
  width: formatCssSize(actualColumnWidths[column.key] ?? column.width),
261
263
  minWidth: formatCssSize(column.minWidth),
262
264
  maxWidth: formatCssSize(column.maxWidth),
263
- } }, column.key)))] }), _jsx("thead", { children: _jsxs("tr", { children: [expansion ? (_jsx("th", { className: 'oui-data-table-expand-cell', role: 'columnheader', "aria-hidden": 'true' })) : null, selectable ? (_jsx("th", { className: 'oui-data-table-select-cell', role: 'columnheader', scope: 'col', children: _jsx("span", { className: 'oui-data-table-select-control', children: _jsx(Checkbox, { "aria-label": copy.table.selectAllRows, checked: allVisibleSelected, ref: (node) => {
265
+ } }, column.key)))] }), _jsx("thead", { children: _jsxs("tr", { children: [expansion ? (_jsx("th", { className: "oui-data-table-expand-cell", role: "columnheader", "aria-hidden": "true" })) : null, selectable ? (_jsx("th", { className: "oui-data-table-select-cell", role: "columnheader", scope: "col", children: _jsx("span", { className: "oui-data-table-select-control", children: _jsx(Checkbox, { "aria-label": copy.table.selectAllRows, checked: allVisibleSelected, ref: (node) => {
264
266
  if (node)
265
267
  node.indeterminate = someVisibleSelected;
266
268
  }, disabled: !onSelectedRowKeysChange || visibleKeys.length === 0, onChange: toggleAllVisible }) }) })) : null, visibleColumns.map((column) => {
267
269
  const activeSort = sortItems.find((item) => item.key === column.key) ?? null;
268
- return (_jsx("th", { role: 'columnheader', scope: 'col', "data-pinned": column.pinned, "data-resizing": resizingColumnKey === column.key ? 'true' : undefined, style: {
270
+ return (_jsx("th", { role: "columnheader", scope: "col", "data-pinned": column.pinned, "data-resizing": resizingColumnKey === column.key ? 'true' : undefined, style: {
269
271
  width: formatCssSize(actualColumnWidths[column.key] ?? column.width),
270
272
  minWidth: formatCssSize(column.minWidth),
271
273
  maxWidth: formatCssSize(column.maxWidth),
272
274
  textAlign: column.align,
273
- }, children: _jsxs("span", { className: 'oui-data-table-header-cell', children: [column.sortable ? (_jsxs("button", { type: 'button', className: 'oui-data-table-sort', "data-active": activeSort ? 'true' : undefined, onClick: (event) => toggleSort(column, event), children: [_jsx("span", { className: 'oui-data-table-sort-label', children: column.title }), activeSort?.direction === 'asc' ? (_jsx(LuArrowUp, { size: 13 })) : activeSort?.direction === 'desc' ? (_jsx(LuArrowDown, { size: 13 })) : (_jsx("span", { className: 'oui-data-table-sort-placeholder' }))] })) : (column.title), column.resizable ? (_jsx("span", { role: 'separator', "aria-orientation": 'vertical', tabIndex: 0, className: 'oui-data-table-resize', "aria-label": copy.common.resizeColumn, onPointerDown: (event) => startResize(column, event) })) : null] }) }, column.key));
274
- })] }) }), _jsx("tbody", { children: error ? (_jsxs(DataTableMessageRow, { colSpan: colSpan, children: [_jsx(Text, { fw: 700, children: errorTitle ?? copy.table.unableToLoad }), _jsx(Text, { fs: '12px', tone: 'muted', children: error }), onRetry ? (_jsx(Button, { size: 1, v: 'surface', leftIcon: _jsx(LuRefreshCw, { size: 14 }), onClick: onRetry, children: retryLabel ?? copy.common.retry })) : null] })) : isLoading ? (_jsxs(DataTableMessageRow, { colSpan: colSpan, children: [_jsx(Spinner, {}), _jsx(Text, { fs: '12px', tone: 'muted', children: loadingText ?? copy.table.loadingRows })] })) : renderedRows.length === 0 ? (_jsx(DataTableMessageRow, { colSpan: colSpan, children: _jsx(Text, { fs: '12px', tone: 'muted', children: emptyText ?? copy.common.noData }) })) : (_jsxs(_Fragment, { children: [virtualized && actualVirtualWindow?.beforeHeight ? (_jsx("tr", { role: 'row', "aria-hidden": 'true', children: _jsx("td", { colSpan: colSpan, style: { height: actualVirtualWindow.beforeHeight, padding: 0 } }) })) : null, renderGroupedRows({
275
+ }, children: _jsxs("span", { className: "oui-data-table-header-cell", children: [column.sortable ? (_jsxs("button", { type: "button", className: "oui-data-table-sort", "data-active": activeSort ? 'true' : undefined, onClick: (event) => toggleSort(column, event), children: [_jsx("span", { className: "oui-data-table-sort-label", children: column.title }), activeSort?.direction === 'asc' ? (_jsx(LuArrowUp, { size: 13 })) : activeSort?.direction === 'desc' ? (_jsx(LuArrowDown, { size: 13 })) : (_jsx("span", { className: "oui-data-table-sort-placeholder" }))] })) : (column.title), column.resizable ? (_jsx("span", { role: "separator", "aria-orientation": "vertical", tabIndex: 0, className: "oui-data-table-resize", "aria-label": copy.common.resizeColumn, onPointerDown: (event) => startResize(column, event) })) : null] }) }, column.key));
276
+ })] }) }), _jsx("tbody", { children: error ? (_jsxs(DataTableMessageRow, { colSpan: colSpan, children: [_jsx(Text, { fw: 700, children: errorTitle ?? copy.table.unableToLoad }), _jsx(Text, { fs: "12px", tone: "muted", children: error }), onRetry ? (_jsx(Button, { size: 1, v: "surface", leftIcon: _jsx(LuRefreshCw, { size: 14 }), onClick: onRetry, children: retryLabel ?? copy.common.retry })) : null] })) : isLoading ? (_jsxs(DataTableMessageRow, { colSpan: colSpan, children: [_jsx(Spinner, {}), _jsx(Text, { fs: "12px", tone: "muted", children: loadingText ?? copy.table.loadingRows })] })) : renderedRows.length === 0 ? (_jsx(DataTableMessageRow, { colSpan: colSpan, children: _jsx(Text, { fs: "12px", tone: "muted", children: emptyText ?? copy.common.noData }) })) : (_jsxs(_Fragment, { children: [virtualized && actualVirtualWindow?.beforeHeight ? (_jsx("tr", { role: "row", "aria-hidden": "true", children: _jsx("td", { colSpan: colSpan, style: {
277
+ height: actualVirtualWindow.beforeHeight,
278
+ padding: 0,
279
+ } }) })) : null, renderGroupedRows({
275
280
  activeRowIndex,
276
281
  colSpan,
277
282
  columns: visibleColumns,
@@ -287,7 +292,10 @@ export function DataTable({ rows, columns, rowKey, sort, onSortChange, selectedR
287
292
  selectable,
288
293
  selectedSet,
289
294
  canSelect: Boolean(onSelectedRowKeysChange),
290
- }), virtualized && actualVirtualWindow?.afterHeight ? (_jsx("tr", { role: 'row', "aria-hidden": 'true', children: _jsx("td", { colSpan: colSpan, style: { height: actualVirtualWindow.afterHeight, padding: 0 } }) })) : null, hasNext ? (_jsx("tr", { ref: sentinelRef, role: 'row', "aria-hidden": 'true', children: _jsx("td", { colSpan: colSpan, children: _jsx("div", { className: 'oui-data-table-next-loader', children: isFetchingNext ? _jsx(Spinner, { size: 1 }) : null }) }) })) : null] })) })] }) })] }));
295
+ }), virtualized && actualVirtualWindow?.afterHeight ? (_jsx("tr", { role: "row", "aria-hidden": "true", children: _jsx("td", { colSpan: colSpan, style: {
296
+ height: actualVirtualWindow.afterHeight,
297
+ padding: 0,
298
+ } }) })) : null, hasNext ? (_jsx("tr", { ref: sentinelRef, role: "row", "aria-hidden": "true", children: _jsx("td", { colSpan: colSpan, children: _jsx("div", { className: "oui-data-table-next-loader", children: isFetchingNext ? _jsx(Spinner, { size: 1 }) : null }) }) })) : null] })) })] }) })] }));
291
299
  }
292
300
  function ColumnSettingsPanel({ columns, visibleColumnKeys, columnOrder, label, resetLabel, emptyLabel, onVisibleColumnKeysChange, onColumnOrderChange, onReset, testId, }) {
293
301
  const configurableColumns = orderColumns(columns.filter((column) => column.hideable !== false), columnOrder);
@@ -306,7 +314,9 @@ function ColumnSettingsPanel({ columns, visibleColumnKeys, columnOrder, label, r
306
314
  const moveColumn = (key, direction) => {
307
315
  if (!onColumnOrderChange)
308
316
  return;
309
- const current = columnOrder?.length ? [...columnOrder] : columns.map((column) => column.key);
317
+ const current = columnOrder?.length
318
+ ? [...columnOrder]
319
+ : columns.map((column) => column.key);
310
320
  const index = current.indexOf(key);
311
321
  const nextIndex = index + direction;
312
322
  if (index < 0 || nextIndex < 0 || nextIndex >= current.length)
@@ -315,23 +325,23 @@ function ColumnSettingsPanel({ columns, visibleColumnKeys, columnOrder, label, r
315
325
  [next[index], next[nextIndex]] = [next[nextIndex], next[index]];
316
326
  onColumnOrderChange(next);
317
327
  };
318
- return (_jsxs(Popover, { trigger: (_jsx(IconButton, { v: 'surface', icon: _jsx(LuSettings2, { size: 16 }), "aria-label": typeof label === 'string' ? label : undefined, testId: testId })), align: 'end', className: 'oui-data-table-column-settings', testId: testId ? `${testId}-popover` : undefined, children: [_jsxs("div", { className: 'oui-data-table-column-settings-head', children: [_jsx(Text, { fs: '13px', fw: 760, children: label }), onReset ? (_jsx(Button, { className: 'oui-data-table-settings-reset', size: 1, v: 'ghost', leftIcon: _jsx(LuRotateCcw, { size: 13 }), onClick: onReset, children: resetLabel })) : null] }), _jsx("div", { className: 'oui-data-table-column-settings-list', children: configurableColumns.length === 0 ? (_jsx(Text, { fs: '12px', tone: 'muted', children: emptyLabel })) : configurableColumns.map((column, index) => {
328
+ return (_jsxs(Popover, { trigger: _jsx(IconButton, { v: "surface", icon: _jsx(LuSettings2, { size: 16 }), "aria-label": typeof label === 'string' ? label : undefined, testId: testId }), align: "end", className: "oui-data-table-column-settings", testId: testId ? `${testId}-popover` : undefined, children: [_jsxs("div", { className: "oui-data-table-column-settings-head", children: [_jsx(Text, { fs: "13px", fw: 760, children: label }), onReset ? (_jsx(Button, { className: "oui-data-table-settings-reset", size: 1, v: "ghost", leftIcon: _jsx(LuRotateCcw, { size: 13 }), onClick: onReset, children: resetLabel })) : null] }), _jsx("div", { className: "oui-data-table-column-settings-list", children: configurableColumns.length === 0 ? (_jsx(Text, { fs: "12px", tone: "muted", children: emptyLabel })) : (configurableColumns.map((column, index) => {
319
329
  const visible = visibleSet.has(column.key);
320
- return (_jsxs("div", { className: 'oui-data-table-column-settings-row', children: [_jsxs("label", { className: 'oui-data-table-column-toggle', children: [_jsx(Checkbox, { checked: visible, disabled: visible && selectedCount <= 1, onChange: () => toggleColumn(column.key) }), _jsx("span", { children: column.title })] }), onColumnOrderChange ? (_jsxs("span", { className: 'oui-data-table-column-settings-order', children: [_jsx("button", { type: 'button', disabled: index === 0, onClick: () => moveColumn(column.key, -1), children: _jsx(LuArrowUp, { size: 13 }) }), _jsx("button", { type: 'button', disabled: index === configurableColumns.length - 1, onClick: () => moveColumn(column.key, 1), children: _jsx(LuArrowDown, { size: 13 }) })] })) : null] }, column.key));
321
- }) })] }));
330
+ return (_jsxs("div", { className: "oui-data-table-column-settings-row", children: [_jsxs("label", { className: "oui-data-table-column-toggle", children: [_jsx(Checkbox, { checked: visible, disabled: visible && selectedCount <= 1, onChange: () => toggleColumn(column.key) }), _jsx("span", { children: column.title })] }), onColumnOrderChange ? (_jsxs("span", { className: "oui-data-table-column-settings-order", children: [_jsx("button", { type: "button", disabled: index === 0, onClick: () => moveColumn(column.key, -1), children: _jsx(LuArrowUp, { size: 13 }) }), _jsx("button", { type: "button", disabled: index === configurableColumns.length - 1, onClick: () => moveColumn(column.key, 1), children: _jsx(LuArrowDown, { size: 13 }) })] })) : null] }, column.key));
331
+ })) })] }));
322
332
  }
323
333
  function DataTableRow({ row, columns, active, expanded, expansion, selected, selectable, canSelect, onToggle, onExpandToggle, onRowClick, actions, selectLabel, }) {
324
- const rowNode = (_jsxs("tr", { role: 'row', "data-selected": selected ? 'true' : undefined, "data-active": active ? 'true' : undefined, "data-clickable": onRowClick ? 'true' : undefined, onClick: () => onRowClick?.(row), children: [expansion ? (_jsx("td", { className: 'oui-data-table-expand-cell', role: 'gridcell', children: _jsx("button", { type: 'button', className: 'oui-data-table-expand', "aria-label": expanded ? expansion.collapseLabel : expansion.expandLabel, "aria-expanded": expanded, onClick: (event) => {
334
+ const rowNode = (_jsxs("tr", { role: "row", "data-selected": selected ? 'true' : undefined, "data-active": active ? 'true' : undefined, "data-clickable": onRowClick ? 'true' : undefined, onClick: () => onRowClick?.(row), children: [expansion ? (_jsx("td", { className: "oui-data-table-expand-cell", role: "gridcell", children: _jsx("button", { type: "button", className: "oui-data-table-expand", "aria-label": expanded ? expansion.collapseLabel : expansion.expandLabel, "aria-expanded": expanded, onClick: (event) => {
325
335
  event.stopPropagation();
326
336
  onExpandToggle();
327
- }, children: expanded ? _jsx(LuChevronDown, { size: 14 }) : _jsx(LuChevronRight, { size: 14 }) }) })) : null, selectable ? (_jsx("td", { className: 'oui-data-table-select-cell', role: 'gridcell', children: _jsx("span", { className: 'oui-data-table-select-control', children: _jsx(Checkbox, { "aria-label": selectLabel, checked: selected, disabled: !canSelect, onClick: (event) => event.stopPropagation(), onChange: onToggle }) }) })) : null, columns.map((column) => (_jsx("td", { role: 'gridcell', "data-pinned": column.pinned, style: { textAlign: column.align }, children: column.render(row) }, column.key)))] }));
337
+ }, children: expanded ? _jsx(LuChevronDown, { size: 14 }) : _jsx(LuChevronRight, { size: 14 }) }) })) : null, selectable ? (_jsx("td", { className: "oui-data-table-select-cell", role: "gridcell", children: _jsx("span", { className: "oui-data-table-select-control", children: _jsx(Checkbox, { "aria-label": selectLabel, checked: selected, disabled: !canSelect, onClick: (event) => event.stopPropagation(), onChange: onToggle }) }) })) : null, columns.map((column) => (_jsx("td", { role: "gridcell", "data-pinned": column.pinned, style: { textAlign: column.align }, children: column.render(row) }, column.key)))] }));
328
338
  if (actions.length === 0)
329
339
  return rowNode;
330
340
  const menuItems = actions.map(({ children: _children, onSelect, ...action }) => ({
331
341
  ...action,
332
342
  onSelect: () => onSelect?.(row),
333
343
  }));
334
- return (_jsx(ContextMenu, { items: menuItems, children: rowNode }));
344
+ return _jsx(ContextMenu, { items: menuItems, children: rowNode });
335
345
  }
336
346
  function renderGroupedRows({ activeRowIndex, colSpan, columns, copy, expandedSet, expansion, renderedRows, rowContextMenuActions, rowGroup, onRowClick, onSelectToggle, onExpandToggle, selectable, selectedSet, canSelect, }) {
337
347
  let previousGroupKey = null;
@@ -341,17 +351,17 @@ function renderGroupedRows({ activeRowIndex, colSpan, columns, copy, expandedSet
341
351
  if (group)
342
352
  previousGroupKey = group.key;
343
353
  const expanded = expandedSet.has(key);
344
- return (_jsxs(Fragment, { children: [showGroup ? (_jsx("tr", { className: 'oui-data-table-group-row', role: 'row', children: _jsx("td", { role: 'gridcell', colSpan: colSpan, children: group.label }) })) : null, _jsx(DataTableRow, { row: row, columns: columns, active: index === activeRowIndex, expanded: expanded, expansion: expansion
354
+ return (_jsxs(Fragment, { children: [showGroup ? (_jsx("tr", { className: "oui-data-table-group-row", role: "row", children: _jsx("td", { role: "gridcell", colSpan: colSpan, children: group.label }) })) : null, _jsx(DataTableRow, { row: row, columns: columns, active: index === activeRowIndex, expanded: expanded, expansion: expansion
345
355
  ? {
346
356
  ...expansion,
347
357
  expandLabel: expansion.expandLabel ?? copy.table.expandRow,
348
358
  collapseLabel: expansion.collapseLabel ?? copy.table.collapseRow,
349
359
  }
350
- : undefined, selected: selectedSet.has(key), selectable: selectable, canSelect: canSelect, onToggle: () => onSelectToggle(key), onExpandToggle: () => onExpandToggle(key), onRowClick: onRowClick, actions: rowContextMenuActions?.(row) ?? [], selectLabel: copy.table.selectRow }), expanded && expansion ? (_jsx("tr", { className: 'oui-data-table-expanded-row', role: 'row', children: _jsx("td", { role: 'gridcell', colSpan: colSpan, children: expansion.renderExpandedRow(row) }) })) : null] }, key));
360
+ : undefined, selected: selectedSet.has(key), selectable: selectable, canSelect: canSelect, onToggle: () => onSelectToggle(key), onExpandToggle: () => onExpandToggle(key), onRowClick: onRowClick, actions: rowContextMenuActions?.(row) ?? [], selectLabel: copy.table.selectRow }), expanded && expansion ? (_jsx("tr", { className: "oui-data-table-expanded-row", role: "row", children: _jsx("td", { role: "gridcell", colSpan: colSpan, children: expansion.renderExpandedRow(row) }) })) : null] }, key));
351
361
  });
352
362
  }
353
- function DataTableMessageRow({ colSpan, children, }) {
354
- return (_jsx("tr", { role: 'row', children: _jsx("td", { role: 'gridcell', colSpan: colSpan, children: _jsx("div", { className: 'oui-data-table-message', children: children }) }) }));
363
+ function DataTableMessageRow({ colSpan, children }) {
364
+ return (_jsx("tr", { role: "row", children: _jsx("td", { role: "gridcell", colSpan: colSpan, children: _jsx("div", { className: "oui-data-table-message", children: children }) }) }));
355
365
  }
356
366
  function normalizeSort(sort) {
357
367
  if (!sort)
@@ -396,10 +406,7 @@ function numericWidth(value) {
396
406
  function tableMinimumWidth({ columns, columnWidths, selectable, expandable, }) {
397
407
  const base = (selectable ? 42 : 0) + (expandable ? 34 : 0);
398
408
  return columns.reduce((total, column) => {
399
- const width = columnWidths[column.key] ??
400
- numericWidth(column.width) ??
401
- column.minWidth ??
402
- 120;
409
+ const width = columnWidths[column.key] ?? numericWidth(column.width) ?? column.minWidth ?? 120;
403
410
  return total + width;
404
411
  }, base);
405
412
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DataTableStateAdapters.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableStateAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,aAAa,CAAC;AAE/C,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAClC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,GAAG;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC,CAAC;AAExF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAIrF;AAED,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,wBAAwB,EAC/B,OAAO,GAAE,qBAAqB,GAAG,IAAuB,GACzD,uBAAuB,GAAG,IAAI,CAShC;AAED,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,wBAAwB,EAC/B,KAAK,EAAE,uBAAuB,EAC9B,OAAO,GAAE,qBAAqB,GAAG,IAAuB,QAI3D;AAED,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,wBAAwB,EAC/B,OAAO,GAAE,qBAAqB,GAAG,IAAuB,QAG3D;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,uBAAuB,GAAG,eAAe,CAiB5F;AAED,wBAAgB,8BAA8B,CAC1C,MAAM,EAAE,eAAe,GACxB,uBAAuB,CAUzB;AAED,wBAAgB,iCAAiC,CAAC,EAC9C,IAAI,EACJ,QAAQ,GACX,EAAE;IACC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,eAAe,CAElB;AAED,wBAAgB,mCAAmC,CAC/C,MAAM,EAAE,eAAe,GACxB,IAAI,CAAC,uBAAuB,EAAE,MAAM,GAAG,UAAU,CAAC,CAMpD;AAED,wBAAgB,qBAAqB,CAAC,EAClC,YAAY,EACZ,cAAc,EACd,QAAQ,GACX,EAAE;IACC,YAAY,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;CAC7C,GAAG,uBAAuB,CAM1B;AAED,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,aAAa,CAAC,kBAAkB,CAAC,GACzC,kBAAkB,GAAG,IAAI,CAE3B;AAED,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,uBAAuB,EAC9B,IAAI,EAAE,kBAAkB,GACzB,uBAAuB,CAWzB;AAED,wBAAgB,4BAA4B,CACxC,YAAY,GAAE,uBAA4B,GAC3C,uBAAuB,CAEzB"}
1
+ {"version":3,"file":"DataTableStateAdapters.d.ts","sourceRoot":"","sources":["../../../src/components/DataTable/DataTableStateAdapters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,MAAM,MAAM,wBAAwB,GAAG;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IAClC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,EAAE,aAAa,EAAE,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG,uBAAuB,GAAG;IACvD,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,YAAY,GAAG,SAAS,CAAC,CAAC;AAExF,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,wBAAwB,GAAG,MAAM,CAIrF;AAED,wBAAgB,kBAAkB,CAC9B,KAAK,EAAE,wBAAwB,EAC/B,OAAO,GAAE,qBAAqB,GAAG,IAAuB,GACzD,uBAAuB,GAAG,IAAI,CAShC;AAED,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,wBAAwB,EAC/B,KAAK,EAAE,uBAAuB,EAC9B,OAAO,GAAE,qBAAqB,GAAG,IAAuB,QAI3D;AAED,wBAAgB,mBAAmB,CAC/B,KAAK,EAAE,wBAAwB,EAC/B,OAAO,GAAE,qBAAqB,GAAG,IAAuB,QAG3D;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,uBAAuB,GAAG,eAAe,CAiB5F;AAED,wBAAgB,8BAA8B,CAAC,MAAM,EAAE,eAAe,GAAG,uBAAuB,CAY/F;AAED,wBAAgB,iCAAiC,CAAC,EAC9C,IAAI,EACJ,QAAQ,GACX,EAAE;IACC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,GAAG,eAAe,CAElB;AAED,wBAAgB,mCAAmC,CAC/C,MAAM,EAAE,eAAe,GACxB,IAAI,CAAC,uBAAuB,EAAE,MAAM,GAAG,UAAU,CAAC,CAMpD;AAED,wBAAgB,qBAAqB,CAAC,EAClC,YAAY,EACZ,cAAc,EACd,QAAQ,GACX,EAAE;IACC,YAAY,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAC9C,cAAc,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;IAChD,QAAQ,CAAC,EAAE,uBAAuB,GAAG,IAAI,CAAC;CAC7C,GAAG,uBAAuB,CAM1B;AAED,wBAAgB,yBAAyB,CACrC,KAAK,EAAE,aAAa,CAAC,kBAAkB,CAAC,GACzC,kBAAkB,GAAG,IAAI,CAE3B;AAED,wBAAgB,uBAAuB,CACnC,KAAK,EAAE,uBAAuB,EAC9B,IAAI,EAAE,kBAAkB,GACzB,uBAAuB,CAWzB;AAED,wBAAgB,4BAA4B,CACxC,YAAY,GAAE,uBAA4B,GAC3C,uBAAuB,CAEzB"}
@@ -45,7 +45,7 @@ export function dataTableStateToSearchParams(state) {
45
45
  return params;
46
46
  }
47
47
  export function dataTableStateFromSearchParams(params) {
48
- return normalizeDataTableState({
48
+ return (normalizeDataTableState({
49
49
  visibleColumnKeys: splitParam(params.get('columns')),
50
50
  columnOrder: splitParam(params.get('column_order')),
51
51
  columnWidths: parseColumnWidthsParam(params.get('column_widths')),
@@ -53,7 +53,7 @@ export function dataTableStateFromSearchParams(params) {
53
53
  page: parsePositiveInt(params.get('page')),
54
54
  pageSize: parsePositiveInt(params.get('page_size')),
55
55
  savedViewKey: params.get('view') || undefined,
56
- }) ?? {};
56
+ }) ?? {});
57
57
  }
58
58
  export function dataTablePaginationToSearchParams({ page, pageSize, }) {
59
59
  return dataTableStateToSearchParams({ page, pageSize });
@@ -184,8 +184,7 @@ function parsePositiveInt(value) {
184
184
  function isSort(value) {
185
185
  if (!isRecord(value))
186
186
  return false;
187
- return (typeof value.key === 'string' &&
188
- (value.direction === 'asc' || value.direction === 'desc'));
187
+ return (typeof value.key === 'string' && (value.direction === 'asc' || value.direction === 'desc'));
189
188
  }
190
189
  function isRecord(value) {
191
190
  return typeof value === 'object' && value !== null && !Array.isArray(value);
@@ -1 +1 @@
1
- {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAqC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAQzE,OAAO,EAQH,KAAK,sBAAsB,EAC9B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,UAAU,CAAC,EACvB,KAAK,EACL,aAAa,EACb,GAAG,EACH,GAAG,EACH,YAAY,EACZ,WAAW,EACX,SAAgB,EAChB,QAAgB,EAChB,QAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,MAAM,EACN,MAAM,GACT,EAAE,eAAe,2CA2IjB"}
1
+ {"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../../src/components/DatePicker/DatePicker.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAsC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAQ3E,OAAO,EAQH,KAAK,sBAAsB,EAC9B,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,eAAe,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,sBAAsB,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,UAAU,CAAC,EACvB,KAAK,EACL,aAAa,EACb,GAAG,EACH,GAAG,EACH,YAAY,EACZ,WAAW,EACX,SAAgB,EAChB,QAAgB,EAChB,QAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,UAAU,EACV,MAAM,EACN,MAAM,GACT,EAAE,eAAe,2CA6IjB"}