entangle-ui 0.8.2 → 0.9.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 (203) hide show
  1. package/CHANGELOG.md +77 -0
  2. package/dist/esm/assets/src/components/controls/Combobox/Combobox.css.ts.vanilla-B7B5ttkq.css +210 -0
  3. package/dist/esm/assets/src/components/controls/FileUploader/FileUploader.css.ts.vanilla-T4nRiI7s.css +194 -0
  4. package/dist/esm/assets/src/components/controls/MultiSelect/MultiSelect.css.ts.vanilla-CdYayqaF.css +311 -0
  5. package/dist/esm/assets/src/components/controls/TagInput/TagInput.css.ts.vanilla-hnkMOPp1.css +141 -0
  6. package/dist/esm/assets/src/components/data/DataTable/DataTable.css.ts.vanilla-CmRgtjIW.css +231 -0
  7. package/dist/esm/assets/src/components/feedback/Alert/{Alert.css.ts.vanilla-CRAI-xHx.css → Alert.css.ts.vanilla-CfCDsIEg.css} +2 -0
  8. package/dist/esm/assets/src/components/feedback/CommandPalette/CommandPalette.css.ts.vanilla-DGdrLKYZ.css +160 -0
  9. package/dist/esm/assets/src/components/feedback/Drawer/Drawer.css.ts.vanilla-CLPTOUrA.css +247 -0
  10. package/dist/esm/assets/src/components/feedback/Skeleton/SkeletonLayout.css.ts.vanilla-Db7bpqiI.css +75 -0
  11. package/dist/esm/assets/src/components/feedback/Stat/Stat.css.ts.vanilla-GBk3JAMB.css +69 -0
  12. package/dist/esm/assets/src/components/layout/Card/Card.css.ts.vanilla-Ducn1gUX.css +124 -0
  13. package/dist/esm/assets/src/components/navigation/Pagination/Pagination.css.ts.vanilla-CmlFyyjh.css +103 -0
  14. package/dist/esm/assets/src/components/primitives/HoverCard/HoverCard.css.ts.vanilla-BYT0qbLp.css +41 -0
  15. package/dist/esm/components/Icons/CloudUploadIcon.js +24 -0
  16. package/dist/esm/components/Icons/CloudUploadIcon.js.map +1 -0
  17. package/dist/esm/components/Icons/ExternalLinkIcon.js +26 -0
  18. package/dist/esm/components/Icons/ExternalLinkIcon.js.map +1 -0
  19. package/dist/esm/components/Icons/FirstIcon.js +23 -0
  20. package/dist/esm/components/Icons/FirstIcon.js.map +1 -0
  21. package/dist/esm/components/Icons/LastIcon.js +23 -0
  22. package/dist/esm/components/Icons/LastIcon.js.map +1 -0
  23. package/dist/esm/components/Icons/UnlinkIcon.js +26 -0
  24. package/dist/esm/components/Icons/UnlinkIcon.js.map +1 -0
  25. package/dist/esm/components/controls/Combobox/Combobox.css.js +20 -0
  26. package/dist/esm/components/controls/Combobox/Combobox.css.js.map +1 -0
  27. package/dist/esm/components/controls/Combobox/Combobox.js +354 -0
  28. package/dist/esm/components/controls/Combobox/Combobox.js.map +1 -0
  29. package/dist/esm/components/controls/FileUploader/FileUploader.css.js +20 -0
  30. package/dist/esm/components/controls/FileUploader/FileUploader.css.js.map +1 -0
  31. package/dist/esm/components/controls/FileUploader/FileUploader.js +264 -0
  32. package/dist/esm/components/controls/FileUploader/FileUploader.js.map +1 -0
  33. package/dist/esm/components/controls/MultiSelect/MultiSelect.css.js +23 -0
  34. package/dist/esm/components/controls/MultiSelect/MultiSelect.css.js.map +1 -0
  35. package/dist/esm/components/controls/MultiSelect/MultiSelect.js +269 -0
  36. package/dist/esm/components/controls/MultiSelect/MultiSelect.js.map +1 -0
  37. package/dist/esm/components/controls/Select/Select.js +5 -4
  38. package/dist/esm/components/controls/Select/Select.js.map +1 -1
  39. package/dist/esm/components/controls/TagInput/TagInput.css.js +12 -0
  40. package/dist/esm/components/controls/TagInput/TagInput.css.js.map +1 -0
  41. package/dist/esm/components/controls/TagInput/TagInput.js +189 -0
  42. package/dist/esm/components/controls/TagInput/TagInput.js.map +1 -0
  43. package/dist/esm/components/controls/TreeView/TreeNode.js +87 -1
  44. package/dist/esm/components/controls/TreeView/TreeNode.js.map +1 -1
  45. package/dist/esm/components/controls/VectorInput/VectorInput.js +87 -4
  46. package/dist/esm/components/controls/VectorInput/VectorInput.js.map +1 -1
  47. package/dist/esm/components/data/DataTable/DataTable.css.js +25 -0
  48. package/dist/esm/components/data/DataTable/DataTable.css.js.map +1 -0
  49. package/dist/esm/components/data/DataTable/DataTable.js +502 -0
  50. package/dist/esm/components/data/DataTable/DataTable.js.map +1 -0
  51. package/dist/esm/components/editor/ChatPanel/ChatCodeBlock.js +87 -5
  52. package/dist/esm/components/editor/ChatPanel/ChatCodeBlock.js.map +1 -1
  53. package/dist/esm/components/editor/ChatPanel/ChatInput.js +87 -5
  54. package/dist/esm/components/editor/ChatPanel/ChatInput.js.map +1 -1
  55. package/dist/esm/components/editor/ChatPanel/ChatMessage.js +87 -2
  56. package/dist/esm/components/editor/ChatPanel/ChatMessage.js.map +1 -1
  57. package/dist/esm/components/editor/PropertyInspector/PropertyRow.js +87 -3
  58. package/dist/esm/components/editor/PropertyInspector/PropertyRow.js.map +1 -1
  59. package/dist/esm/components/editor/PropertyInspector/PropertySection.js +87 -3
  60. package/dist/esm/components/editor/PropertyInspector/PropertySection.js.map +1 -1
  61. package/dist/esm/components/feedback/Alert/Alert.css.js +1 -1
  62. package/dist/esm/components/feedback/Alert/Alert.js +3 -2
  63. package/dist/esm/components/feedback/Alert/Alert.js.map +1 -1
  64. package/dist/esm/components/feedback/CommandPalette/CommandPalette.css.js +20 -0
  65. package/dist/esm/components/feedback/CommandPalette/CommandPalette.css.js.map +1 -0
  66. package/dist/esm/components/feedback/CommandPalette/CommandPalette.js +261 -0
  67. package/dist/esm/components/feedback/CommandPalette/CommandPalette.js.map +1 -0
  68. package/dist/esm/components/feedback/CommandPalette/fuzzySearch.js +86 -0
  69. package/dist/esm/components/feedback/CommandPalette/fuzzySearch.js.map +1 -0
  70. package/dist/esm/components/feedback/CommandPalette/useRecentItems.js +63 -0
  71. package/dist/esm/components/feedback/CommandPalette/useRecentItems.js.map +1 -0
  72. package/dist/esm/components/feedback/Dialog/DialogHeader.js +2 -1
  73. package/dist/esm/components/feedback/Dialog/DialogHeader.js.map +1 -1
  74. package/dist/esm/components/feedback/Drawer/Drawer.css.js +17 -0
  75. package/dist/esm/components/feedback/Drawer/Drawer.css.js.map +1 -0
  76. package/dist/esm/components/feedback/Drawer/Drawer.js +120 -0
  77. package/dist/esm/components/feedback/Drawer/Drawer.js.map +1 -0
  78. package/dist/esm/components/feedback/Drawer/useDrawerAnimation.js +74 -0
  79. package/dist/esm/components/feedback/Drawer/useDrawerAnimation.js.map +1 -0
  80. package/dist/esm/components/feedback/Skeleton/SkeletonLayout.css.js +18 -0
  81. package/dist/esm/components/feedback/Skeleton/SkeletonLayout.css.js.map +1 -0
  82. package/dist/esm/components/feedback/Skeleton/SkeletonLayout.js +95 -0
  83. package/dist/esm/components/feedback/Skeleton/SkeletonLayout.js.map +1 -0
  84. package/dist/esm/components/feedback/Stat/Stat.css.js +15 -0
  85. package/dist/esm/components/feedback/Stat/Stat.css.js.map +1 -0
  86. package/dist/esm/components/feedback/Stat/Stat.js +55 -0
  87. package/dist/esm/components/feedback/Stat/Stat.js.map +1 -0
  88. package/dist/esm/components/feedback/Toast/ToastItem.js +12 -15
  89. package/dist/esm/components/feedback/Toast/ToastItem.js.map +1 -1
  90. package/dist/esm/components/layout/Accordion/Accordion.js +2 -1
  91. package/dist/esm/components/layout/Accordion/Accordion.js.map +1 -1
  92. package/dist/esm/components/layout/Accordion/AccordionTrigger.js +2 -3
  93. package/dist/esm/components/layout/Accordion/AccordionTrigger.js.map +1 -1
  94. package/dist/esm/components/layout/Card/Card.css.js +18 -0
  95. package/dist/esm/components/layout/Card/Card.css.js.map +1 -0
  96. package/dist/esm/components/layout/Card/Card.js +66 -0
  97. package/dist/esm/components/layout/Card/Card.js.map +1 -0
  98. package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbEllipsis.js +1 -0
  99. package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbEllipsis.js.map +1 -1
  100. package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbItem.js +1 -0
  101. package/dist/esm/components/navigation/Breadcrumbs/BreadcrumbItem.js.map +1 -1
  102. package/dist/esm/components/navigation/Breadcrumbs/Breadcrumbs.js +5 -0
  103. package/dist/esm/components/navigation/Breadcrumbs/Breadcrumbs.js.map +1 -1
  104. package/dist/esm/components/navigation/Pagination/Pagination.css.js +12 -0
  105. package/dist/esm/components/navigation/Pagination/Pagination.css.js.map +1 -0
  106. package/dist/esm/components/navigation/Pagination/Pagination.js +107 -0
  107. package/dist/esm/components/navigation/Pagination/Pagination.js.map +1 -0
  108. package/dist/esm/components/navigation/Pagination/usePagination.js +143 -0
  109. package/dist/esm/components/navigation/Pagination/usePagination.js.map +1 -0
  110. package/dist/esm/components/primitives/Avatar/Avatar.js +87 -1
  111. package/dist/esm/components/primitives/Avatar/Avatar.js.map +1 -1
  112. package/dist/esm/components/primitives/Badge/Badge.js +87 -1
  113. package/dist/esm/components/primitives/Badge/Badge.js.map +1 -1
  114. package/dist/esm/components/primitives/Checkbox/Checkbox.js +5 -2
  115. package/dist/esm/components/primitives/Checkbox/Checkbox.js.map +1 -1
  116. package/dist/esm/components/primitives/Collapsible/Collapsible.js +2 -3
  117. package/dist/esm/components/primitives/Collapsible/Collapsible.js.map +1 -1
  118. package/dist/esm/components/primitives/HoverCard/HoverCard.css.js +7 -0
  119. package/dist/esm/components/primitives/HoverCard/HoverCard.css.js.map +1 -0
  120. package/dist/esm/components/primitives/HoverCard/HoverCard.js +169 -0
  121. package/dist/esm/components/primitives/HoverCard/HoverCard.js.map +1 -0
  122. package/dist/esm/components/primitives/Icon/Icon.js +16 -2
  123. package/dist/esm/components/primitives/Icon/Icon.js.map +1 -1
  124. package/dist/esm/components/primitives/Link/Link.js +3 -3
  125. package/dist/esm/components/primitives/Link/Link.js.map +1 -1
  126. package/dist/esm/components/primitives/Popover/PopoverClose.js +2 -3
  127. package/dist/esm/components/primitives/Popover/PopoverClose.js.map +1 -1
  128. package/dist/esm/components/primitives/Radio/Radio.js +1 -1
  129. package/dist/esm/hooks/useBreakpoint/useBreakpoint.js +44 -0
  130. package/dist/esm/hooks/useBreakpoint/useBreakpoint.js.map +1 -0
  131. package/dist/esm/hooks/useDebounced/useDebouncedCallback.js +97 -0
  132. package/dist/esm/hooks/useDebounced/useDebouncedCallback.js.map +1 -0
  133. package/dist/esm/hooks/useDebounced/useDebouncedValue.js +35 -0
  134. package/dist/esm/hooks/useDebounced/useDebouncedValue.js.map +1 -0
  135. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js +73 -0
  136. package/dist/esm/hooks/useIntersectionObserver/useIntersectionObserver.js.map +1 -0
  137. package/dist/esm/hooks/useListboxNav/useListboxNav.js +181 -0
  138. package/dist/esm/hooks/useListboxNav/useListboxNav.js.map +1 -0
  139. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js +54 -0
  140. package/dist/esm/hooks/useMediaQuery/useMediaQuery.js.map +1 -0
  141. package/dist/esm/hooks/useThrottledCallback/useThrottledCallback.js +78 -0
  142. package/dist/esm/hooks/useThrottledCallback/useThrottledCallback.js.map +1 -0
  143. package/dist/esm/index.js +25 -0
  144. package/dist/esm/index.js.map +1 -1
  145. package/dist/esm/theme/breakpoints.js +27 -0
  146. package/dist/esm/theme/breakpoints.js.map +1 -0
  147. package/dist/esm/theme/index.js +1 -0
  148. package/dist/esm/theme/index.js.map +1 -1
  149. package/dist/tokens/tokens.dark.css +1 -1
  150. package/dist/tokens/tokens.json +1 -1
  151. package/dist/tokens/tokens.light.css +1 -1
  152. package/dist/types/components/Icons/CloudUploadIcon.d.ts +27 -0
  153. package/dist/types/components/Icons/ExternalLinkIcon.d.ts +29 -0
  154. package/dist/types/components/Icons/FirstIcon.d.ts +26 -0
  155. package/dist/types/components/Icons/LastIcon.d.ts +26 -0
  156. package/dist/types/components/Icons/UnlinkIcon.d.ts +29 -0
  157. package/dist/types/components/controls/Combobox/Combobox.d.ts +29 -0
  158. package/dist/types/components/controls/Combobox/Combobox.types.d.ts +109 -0
  159. package/dist/types/components/controls/FileUploader/FileUploader.d.ts +34 -0
  160. package/dist/types/components/controls/FileUploader/FileUploader.types.d.ts +94 -0
  161. package/dist/types/components/controls/MultiSelect/MultiSelect.d.ts +31 -0
  162. package/dist/types/components/controls/MultiSelect/MultiSelect.types.d.ts +85 -0
  163. package/dist/types/components/controls/TagInput/TagInput.d.ts +24 -0
  164. package/dist/types/components/controls/TagInput/TagInput.types.d.ts +100 -0
  165. package/dist/types/components/data/DataTable/DataTable.d.ts +8 -0
  166. package/dist/types/components/data/DataTable/DataTable.types.d.ts +159 -0
  167. package/dist/types/components/feedback/Alert/Alert.d.ts +1 -0
  168. package/dist/types/components/feedback/Alert/Alert.types.d.ts +7 -0
  169. package/dist/types/components/feedback/CommandPalette/CommandPalette.d.ts +29 -0
  170. package/dist/types/components/feedback/CommandPalette/CommandPalette.types.d.ts +61 -0
  171. package/dist/types/components/feedback/CommandPalette/fuzzySearch.d.ts +6 -0
  172. package/dist/types/components/feedback/Drawer/Drawer.d.ts +12 -0
  173. package/dist/types/components/feedback/Drawer/Drawer.types.d.ts +70 -0
  174. package/dist/types/components/feedback/Skeleton/Skeleton.types.d.ts +44 -1
  175. package/dist/types/components/feedback/Skeleton/SkeletonLayout.d.ts +314 -0
  176. package/dist/types/components/feedback/Stat/Stat.d.ts +23 -0
  177. package/dist/types/components/feedback/Stat/Stat.types.d.ts +38 -0
  178. package/dist/types/components/layout/Accordion/Accordion.types.d.ts +7 -0
  179. package/dist/types/components/layout/Card/Card.d.ts +12 -0
  180. package/dist/types/components/layout/Card/Card.types.d.ts +54 -0
  181. package/dist/types/components/navigation/Pagination/Pagination.d.ts +22 -0
  182. package/dist/types/components/navigation/Pagination/Pagination.types.d.ts +49 -0
  183. package/dist/types/components/primitives/Button/Button.d.ts +1 -1
  184. package/dist/types/components/primitives/HoverCard/HoverCard.d.ts +10 -0
  185. package/dist/types/components/primitives/HoverCard/HoverCard.types.d.ts +64 -0
  186. package/dist/types/components/primitives/Icon/Icon.d.ts +14 -1
  187. package/dist/types/components/primitives/IconButton/IconButton.d.ts +1 -1
  188. package/dist/types/hooks/useBreakpoint/useBreakpoint.d.ts +19 -0
  189. package/dist/types/hooks/useBreakpoint/useBreakpoint.types.d.ts +20 -0
  190. package/dist/types/hooks/useDebounced/useDebounced.types.d.ts +15 -0
  191. package/dist/types/hooks/useDebounced/useDebouncedCallback.d.ts +22 -0
  192. package/dist/types/hooks/useDebounced/useDebouncedValue.d.ts +16 -0
  193. package/dist/types/hooks/useIntersectionObserver/useIntersectionObserver.d.ts +22 -0
  194. package/dist/types/hooks/useIntersectionObserver/useIntersectionObserver.types.d.ts +22 -0
  195. package/dist/types/hooks/useListboxNav/useListboxNav.d.ts +75 -0
  196. package/dist/types/hooks/useMediaQuery/useMediaQuery.d.ts +19 -0
  197. package/dist/types/hooks/useMediaQuery/useMediaQuery.types.d.ts +6 -0
  198. package/dist/types/hooks/useThrottledCallback/useThrottledCallback.d.ts +23 -0
  199. package/dist/types/hooks/useThrottledCallback/useThrottledCallback.types.d.ts +13 -0
  200. package/dist/types/index.d.ts +43 -1
  201. package/dist/types/theme/breakpoints.d.ts +22 -0
  202. package/dist/types/theme/index.d.ts +1 -0
  203. package/package.json +3 -1
@@ -0,0 +1,107 @@
1
+ "use client";
2
+ import { jsx } from 'react/jsx-runtime';
3
+ import { useCallback } from 'react';
4
+ import { ChevronLeftIcon } from '../../Icons/ChevronLeftIcon.js';
5
+ import { ChevronRightIcon } from '../../Icons/ChevronRightIcon.js';
6
+ import { FirstIcon } from '../../Icons/FirstIcon.js';
7
+ import { LastIcon } from '../../Icons/LastIcon.js';
8
+ import { useControlledState } from '../../../hooks/useControlledState/useControlledState.js';
9
+ import { cx } from '../../../utils/cx.js';
10
+ import { paginationItemStyle, paginationEllipsisRecipe, paginationButtonRecipe, paginationListRecipe, paginationRootStyle, paginationIconStyle } from './Pagination.css.js';
11
+ import { usePaginationItems } from './usePagination.js';
12
+
13
+ const defaultGetItemAriaLabel = (type, page, selected) => {
14
+ switch (type) {
15
+ case 'first':
16
+ return 'Go to first page';
17
+ case 'last':
18
+ return 'Go to last page';
19
+ case 'previous':
20
+ return 'Go to previous page';
21
+ case 'next':
22
+ return 'Go to next page';
23
+ case 'ellipsis':
24
+ return 'More pages';
25
+ case 'page':
26
+ default:
27
+ return selected ? `page ${String(page)}` : `Go to page ${String(page)}`;
28
+ }
29
+ };
30
+ function renderItemContent(type, page) {
31
+ switch (type) {
32
+ case 'first':
33
+ return jsx(FirstIcon, { className: paginationIconStyle });
34
+ case 'last':
35
+ return jsx(LastIcon, { className: paginationIconStyle });
36
+ case 'previous':
37
+ return jsx(ChevronLeftIcon, { className: paginationIconStyle });
38
+ case 'next':
39
+ return jsx(ChevronRightIcon, { className: paginationIconStyle });
40
+ case 'ellipsis':
41
+ return '…';
42
+ case 'page':
43
+ default:
44
+ return page;
45
+ }
46
+ }
47
+ /**
48
+ * Page navigator with sibling/boundary ellipsis logic. Controlled when `page`
49
+ * is set, otherwise uncontrolled with `defaultPage`. Pages are 1-based.
50
+ *
51
+ * @example
52
+ * ```tsx
53
+ * <Pagination count={20} defaultPage={1} onChange={(_, p) => setPage(p)} />
54
+ *
55
+ * // Compact: only prev/next + numbers
56
+ * <Pagination count={20} siblingCount={0} boundaryCount={1} />
57
+ *
58
+ * // Full controls
59
+ * <Pagination count={50} showFirstButton showLastButton />
60
+ * ```
61
+ */
62
+ const Pagination = ({ count, page: pageProp, defaultPage = 1, onChange, siblingCount = 1, boundaryCount = 1, showFirstButton = false, showLastButton = false, hidePrevButton = false, hideNextButton = false, size = 'md', disabled = false, className, style, testId, getItemAriaLabel = defaultGetItemAriaLabel, ref, ...rest }) => {
63
+ const safeCount = Math.max(0, Math.floor(count));
64
+ const clampedDefault = Math.min(Math.max(1, defaultPage), Math.max(1, safeCount));
65
+ const [page, setPage] = useControlledState({
66
+ value: pageProp,
67
+ defaultValue: clampedDefault,
68
+ onChange: undefined,
69
+ fallback: 1,
70
+ });
71
+ const items = usePaginationItems({
72
+ count: safeCount,
73
+ page,
74
+ siblingCount: Math.max(0, siblingCount),
75
+ boundaryCount: Math.max(1, boundaryCount),
76
+ showFirstButton,
77
+ showLastButton,
78
+ hidePrevButton,
79
+ hideNextButton,
80
+ disabled,
81
+ });
82
+ const handleClick = useCallback((event, item) => {
83
+ if (item.disabled || item.page === null || item.type === 'ellipsis')
84
+ return;
85
+ const next = item.page;
86
+ if (next === page)
87
+ return;
88
+ setPage(next);
89
+ onChange?.(event, next);
90
+ }, [onChange, page, setPage]);
91
+ return (jsx("nav", { ref: ref, "aria-label": "pagination", className: cx(paginationRootStyle, className), style: style, "data-testid": testId, ...rest, children: jsx("ul", { className: paginationListRecipe({ size }), children: items.map((item, index) => {
92
+ const key = `${item.type}-${item.page ?? 'na'}-${String(index)}`;
93
+ if (item.type === 'ellipsis') {
94
+ return (jsx("li", { className: paginationItemStyle, children: jsx("span", { className: paginationEllipsisRecipe({ size }), "aria-hidden": "true", children: "\u2026" }) }, key));
95
+ }
96
+ return (jsx("li", { className: paginationItemStyle, children: jsx("button", { type: "button", className: paginationButtonRecipe({
97
+ size,
98
+ selected: item.selected || undefined,
99
+ }), disabled: item.disabled, "aria-current": item.selected ? 'page' : undefined, "aria-label": getItemAriaLabel(item.type, item.page, item.selected), onClick: event => {
100
+ handleClick(event, item);
101
+ }, "data-page": item.page ?? undefined, "data-type": item.type, children: renderItemContent(item.type, item.page) }) }, key));
102
+ }) }) }));
103
+ };
104
+ Pagination.displayName = 'Pagination';
105
+
106
+ export { Pagination };
107
+ //# sourceMappingURL=Pagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Pagination.js","sources":["../../../../../../src/components/navigation/Pagination/Pagination.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;AA0BA;;AAMI;AACE;AACF;AACE;AACF;AACE;AACF;AACE;AACF;AACE;AACF;AACA;AACE;;AAEN;AAEA;;AAKI;AACE;AACF;AACE;AACF;AACE;AACF;AACE;AACF;AACE;AACF;AACA;AACE;;AAEN;AAEA;;;;;;;;;;;;;;AAcG;AACI;AAoBL;;AAMA;AACE;AACA;AACA;AACA;AACD;;AAGC;;;;;;;;;AASD;;AAIG;;AAEA;;;;AAGA;;;AAgBI;AACA;;;AAYA;;AAMQ;AACD;AASC;;AASV;AAIR;AAEA;;"}
@@ -0,0 +1,143 @@
1
+ "use client";
2
+ import { useMemo } from 'react';
3
+
4
+ function range(start, end) {
5
+ const length = Math.max(0, end - start + 1);
6
+ return Array.from({ length }, (_, i) => start + i);
7
+ }
8
+ /**
9
+ * MUI-style pagination algorithm. Produces the list of items to render given
10
+ * the total count, the current page, and the sibling/boundary counts.
11
+ */
12
+ function usePaginationItems(options) {
13
+ const { count, page, siblingCount, boundaryCount, showFirstButton, showLastButton, hidePrevButton, hideNextButton, disabled, } = options;
14
+ return useMemo(() => {
15
+ const safeCount = Math.max(0, Math.floor(count));
16
+ if (safeCount === 0) {
17
+ const items = [];
18
+ if (showFirstButton) {
19
+ items.push({
20
+ type: 'first',
21
+ page: null,
22
+ selected: false,
23
+ disabled: true,
24
+ });
25
+ }
26
+ if (!hidePrevButton) {
27
+ items.push({
28
+ type: 'previous',
29
+ page: null,
30
+ selected: false,
31
+ disabled: true,
32
+ });
33
+ }
34
+ if (!hideNextButton) {
35
+ items.push({
36
+ type: 'next',
37
+ page: null,
38
+ selected: false,
39
+ disabled: true,
40
+ });
41
+ }
42
+ if (showLastButton) {
43
+ items.push({
44
+ type: 'last',
45
+ page: null,
46
+ selected: false,
47
+ disabled: true,
48
+ });
49
+ }
50
+ return items;
51
+ }
52
+ const startBoundary = range(1, Math.min(boundaryCount, safeCount));
53
+ const endBoundary = range(Math.max(safeCount - boundaryCount + 1, boundaryCount + 1), safeCount);
54
+ const siblingStart = Math.max(Math.min(page - siblingCount, safeCount - boundaryCount - siblingCount * 2 - 1), boundaryCount + 2);
55
+ const firstEndBoundary = endBoundary[0];
56
+ const siblingEnd = Math.min(Math.max(page + siblingCount, boundaryCount + siblingCount * 2 + 2), firstEndBoundary !== undefined ? firstEndBoundary - 2 : safeCount - 1);
57
+ /**
58
+ * Builds a sequence:
59
+ * [1, ..., boundaryCount] [start ellipsis] [siblings] [end ellipsis] [count - boundaryCount + 1, ..., count]
60
+ */
61
+ const itemList = [
62
+ ...startBoundary,
63
+ // Start ellipsis or single page bridging the gap
64
+ ...(siblingStart > boundaryCount + 2
65
+ ? ['start-ellipsis']
66
+ : boundaryCount + 1 < safeCount - boundaryCount
67
+ ? [boundaryCount + 1]
68
+ : []),
69
+ ...range(siblingStart, siblingEnd),
70
+ ...(siblingEnd < safeCount - boundaryCount - 1
71
+ ? ['end-ellipsis']
72
+ : safeCount - boundaryCount > boundaryCount
73
+ ? [safeCount - boundaryCount]
74
+ : []),
75
+ ...endBoundary,
76
+ ];
77
+ const items = [];
78
+ if (showFirstButton) {
79
+ items.push({
80
+ type: 'first',
81
+ page: 1,
82
+ selected: false,
83
+ disabled: disabled || page <= 1,
84
+ });
85
+ }
86
+ if (!hidePrevButton) {
87
+ items.push({
88
+ type: 'previous',
89
+ page: Math.max(1, page - 1),
90
+ selected: false,
91
+ disabled: disabled || page <= 1,
92
+ });
93
+ }
94
+ for (const it of itemList) {
95
+ if (it === 'start-ellipsis' || it === 'end-ellipsis') {
96
+ items.push({
97
+ type: 'ellipsis',
98
+ page: null,
99
+ selected: false,
100
+ disabled: true,
101
+ });
102
+ }
103
+ else {
104
+ items.push({
105
+ type: 'page',
106
+ page: it,
107
+ selected: it === page,
108
+ disabled,
109
+ });
110
+ }
111
+ }
112
+ if (!hideNextButton) {
113
+ items.push({
114
+ type: 'next',
115
+ page: Math.min(safeCount, page + 1),
116
+ selected: false,
117
+ disabled: disabled || page >= safeCount,
118
+ });
119
+ }
120
+ if (showLastButton) {
121
+ items.push({
122
+ type: 'last',
123
+ page: safeCount,
124
+ selected: false,
125
+ disabled: disabled || page >= safeCount,
126
+ });
127
+ }
128
+ return items;
129
+ }, [
130
+ count,
131
+ page,
132
+ siblingCount,
133
+ boundaryCount,
134
+ showFirstButton,
135
+ showLastButton,
136
+ hidePrevButton,
137
+ hideNextButton,
138
+ disabled,
139
+ ]);
140
+ }
141
+
142
+ export { usePaginationItems };
143
+ //# sourceMappingURL=usePagination.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usePagination.js","sources":["../../../../../../src/components/navigation/Pagination/usePagination.ts"],"sourcesContent":[null],"names":[],"mappings":";;;AAiBA;AACE;AACA;AACF;AAEA;;;AAGG;AACG;;;AAgBF;AACA;;;;AAIM;AACA;AACA;AACA;AACD;;;;AAIC;AACA;AACA;AACA;AACD;;;;AAIC;AACA;AACA;AACA;AACD;;;;AAIC;AACA;AACA;AACA;AACD;;AAEH;;AAGF;;AAMA;AAQA;AACA;AAKA;;;AAGG;AACH;AACE;;AAEA;;AAEE;AACE;;AAEJ;AACA;;AAEE;AACE;;AAEJ;;;;;AAOE;AACA;AACA;AACA;AACD;;;;AAIC;;AAEA;AACA;AACD;;AAGH;;;AAGM;AACA;AACA;AACA;AACD;;;;AAGC;AACA;;;AAGD;;;;;AAMD;;AAEA;AACA;AACD;;;;AAIC;AACA;AACA;AACA;AACD;;AAGH;AACF;;;;;;;;;;AAUC;AACH;;"}
@@ -4,6 +4,92 @@ import React, { useState, useCallback } from 'react';
4
4
  import { assignInlineVars } from '@vanilla-extract/dynamic';
5
5
  import { vars } from '../../../theme/contract.css.js';
6
6
  import { cx } from '../../../utils/cx.js';
7
+ import '../../Icons/AddIcon.js';
8
+ import '../../Icons/AiChatIcon.js';
9
+ import '../../Icons/AiSparklesIcon.js';
10
+ import '../../Icons/ArrowDownIcon.js';
11
+ import '../../Icons/ArrowLeftIcon.js';
12
+ import '../../Icons/ArrowRightIcon.js';
13
+ import '../../Icons/ArrowUpIcon.js';
14
+ import '../../Icons/BookmarkIcon.js';
15
+ import '../../Icons/CalendarIcon.js';
16
+ import '../../Icons/ChevronDownIcon.js';
17
+ import '../../Icons/ChevronUpIcon.js';
18
+ import '../../Icons/ClockIcon.js';
19
+ import '../../Icons/CloseIcon.js';
20
+ import '../../Icons/CloudUploadIcon.js';
21
+ import '../../Icons/CodeIcon.js';
22
+ import '../../Icons/CopyIcon.js';
23
+ import '../../Icons/CutIcon.js';
24
+ import '../../Icons/DownloadIcon.js';
25
+ import '../../Icons/EditIcon.js';
26
+ import '../../Icons/ErrorIcon.js';
27
+ import '../../Icons/ExternalLinkIcon.js';
28
+ import '../../Icons/EyeDropperIcon.js';
29
+ import '../../Icons/EyeIcon.js';
30
+ import '../../Icons/FilterIcon.js';
31
+ import '../../Icons/FirstIcon.js';
32
+ import '../../Icons/FolderIcon.js';
33
+ import '../../Icons/FullscreenIcon.js';
34
+ import '../../Icons/GridIcon.js';
35
+ import '../../Icons/HeartIcon.js';
36
+ import '../../Icons/HelpIcon.js';
37
+ import '../../Icons/HomeIcon.js';
38
+ import '../../Icons/InfoIcon.js';
39
+ import '../../Icons/LastIcon.js';
40
+ import '../../Icons/LinkIcon.js';
41
+ import '../../Icons/ListIcon.js';
42
+ import '../../Icons/LockIcon.js';
43
+ import '../../Icons/MaximizeIcon.js';
44
+ import '../../Icons/MenuIcon.js';
45
+ import '../../Icons/MinimizeIcon.js';
46
+ import '../../Icons/PasteIcon.js';
47
+ import '../../Icons/PlayIcon.js';
48
+ import '../../Icons/RedoIcon.js';
49
+ import '../../Icons/RefreshIcon.js';
50
+ import '../../Icons/RobotIcon.js';
51
+ import '../../Icons/SaveIcon.js';
52
+ import '../../Icons/SearchIcon.js';
53
+ import '../../Icons/SettingsIcon.js';
54
+ import '../../Icons/SortIcon.js';
55
+ import '../../Icons/StarIcon.js';
56
+ import '../../Icons/SuccessIcon.js';
57
+ import '../../Icons/TagIcon.js';
58
+ import '../../Icons/TrashIcon.js';
59
+ import '../../Icons/UndoIcon.js';
60
+ import '../../Icons/UnlinkIcon.js';
61
+ import '../../Icons/UnlockIcon.js';
62
+ import '../../Icons/UploadIcon.js';
63
+ import { UserIcon } from '../../Icons/UserIcon.js';
64
+ import '../../Icons/WarningIcon.js';
65
+ import '../../Icons/ZoomInIcon.js';
66
+ import '../../Icons/ZoomOutIcon.js';
67
+ import '../../Icons/CheckIcon.js';
68
+ import '../../Icons/CircleIcon.js';
69
+ import '../../Icons/TangentFreeIcon.js';
70
+ import '../../Icons/TangentAlignedIcon.js';
71
+ import '../../Icons/TangentMirroredIcon.js';
72
+ import '../../Icons/TangentAutoIcon.js';
73
+ import '../../Icons/TangentLinearIcon.js';
74
+ import '../../Icons/TangentStepIcon.js';
75
+ import '../../Icons/ArchiveIcon.js';
76
+ import '../../Icons/DotsVerticalIcon.js';
77
+ import '../../Icons/DotsHorizontalIcon.js';
78
+ import '../../Icons/ChevronLeftIcon.js';
79
+ import '../../Icons/ChevronRightIcon.js';
80
+ import '../../Icons/FolderOpenIcon.js';
81
+ import '../../Icons/FolderCogIcon.js';
82
+ import '../../Icons/UsersIcon.js';
83
+ import '../../Icons/BuildingIcon.js';
84
+ import '../../Icons/FileTextIcon.js';
85
+ import '../../Icons/PauseIcon.js';
86
+ import '../../Icons/StopIcon.js';
87
+ import '../../Icons/SendIcon.js';
88
+ import '../../Icons/TerminalIcon.js';
89
+ import '../../Icons/GitBranchIcon.js';
90
+ import '../../Icons/BugIcon.js';
91
+ import '../../Icons/MinusIcon.js';
92
+ import '../../Icons/PinIcon.js';
7
93
  import { avatarFallbackStyle, avatarImageInheritRadius, avatarImageStyle, avatarStatusRecipe, avatarRecipe, avatarBgVar, avatarStatusVar } from './Avatar.css.js';
8
94
 
9
95
  const NAMED_COLOR_MAP = {
@@ -73,7 +159,7 @@ function resolveBackgroundColor(color, name) {
73
159
  return named;
74
160
  return color;
75
161
  }
76
- const DefaultUserIcon = () => (jsx("svg", { viewBox: "0 0 24 24", width: "60%", height: "60%", fill: "currentColor", "aria-hidden": "true", focusable: "false", children: jsx("path", { d: "M12 12a4 4 0 1 0 0-8 4 4 0 0 0 0 8Zm0 2c-3.314 0-8 1.657-8 4.5V20h16v-1.5c0-2.843-4.686-4.5-8-4.5Z" }) }));
162
+ const DefaultUserIcon = () => (jsx(UserIcon, { size: "60%", color: "currentColor", decorative: true }));
77
163
  /**
78
164
  * Display a person, agent, or named entity.
79
165
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Avatar.js","sources":["../../../../../../src/components/primitives/Avatar/Avatar.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAiBA;AACE;AACA;AACA;AACA;AACA;AACA;;AAGF;AACE;AACA;AACA;AACA;AACA;;AAGF;AACE;AACA;AACA;AACA;;AAGF;AACE;AACA;AACA;AACA;;AAGF;;AAEE;AACE;;AAEF;AACF;AAEA;;;;;AAKG;AACG;AACJ;AACA;AAAc;;;AAGd;;;AAGA;;;;AAIF;AAEA;AAIE;AACE;AACE;;;AAGF;;AAEF;AACA;AAAW;AACX;AACF;AAEA;AAaA;;;;;;;;;;;;;;;;;;AAkBG;AACI;;AAsBH;;;AAIA;;;AAIA;AAEI;;AACA;;;;AAIF;AAIF;;AAGI;AACE;;AAGN;;;AAIA;AAEA;;;;;;AAOA;;;;;;AAWO;AA8CT;AAGF;;"}
1
+ {"version":3,"file":"Avatar.js","sources":["../../../../../../src/components/primitives/Avatar/Avatar.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBA;AACE;AACA;AACA;AACA;AACA;AACA;;AAGF;AACE;AACA;AACA;AACA;AACA;;AAGF;AACE;AACA;AACA;AACA;;AAGF;AACE;AACA;AACA;AACA;;AAGF;;AAEE;AACE;;AAEF;AACF;AAEA;;;;;AAKG;AACG;AACJ;AACA;AAAc;;;AAGd;;;AAGA;;;;AAIF;AAEA;AAIE;AACE;AACE;;;AAGF;;AAEF;AACA;AAAW;AACX;AACF;AAEA;AAIA;;;;;;;;;;;;;;;;;;AAkBG;AACI;;AAsBH;;;AAIA;;;AAIA;AAEI;;AACA;;;;AAIF;AAIF;;AAGI;AACE;;AAGN;;;AAIA;AAEA;;;;;;AAOA;;;;;;AAWO;AA8CT;AAGF;;"}
@@ -4,6 +4,92 @@ import React, { useCallback } from 'react';
4
4
  import { assignInlineVars } from '@vanilla-extract/dynamic';
5
5
  import { vars } from '../../../theme/contract.css.js';
6
6
  import { cx } from '../../../utils/cx.js';
7
+ import '../../Icons/AddIcon.js';
8
+ import '../../Icons/AiChatIcon.js';
9
+ import '../../Icons/AiSparklesIcon.js';
10
+ import '../../Icons/ArrowDownIcon.js';
11
+ import '../../Icons/ArrowLeftIcon.js';
12
+ import '../../Icons/ArrowRightIcon.js';
13
+ import '../../Icons/ArrowUpIcon.js';
14
+ import '../../Icons/BookmarkIcon.js';
15
+ import '../../Icons/CalendarIcon.js';
16
+ import '../../Icons/ChevronDownIcon.js';
17
+ import '../../Icons/ChevronUpIcon.js';
18
+ import '../../Icons/ClockIcon.js';
19
+ import { CloseIcon } from '../../Icons/CloseIcon.js';
20
+ import '../../Icons/CloudUploadIcon.js';
21
+ import '../../Icons/CodeIcon.js';
22
+ import '../../Icons/CopyIcon.js';
23
+ import '../../Icons/CutIcon.js';
24
+ import '../../Icons/DownloadIcon.js';
25
+ import '../../Icons/EditIcon.js';
26
+ import '../../Icons/ErrorIcon.js';
27
+ import '../../Icons/ExternalLinkIcon.js';
28
+ import '../../Icons/EyeDropperIcon.js';
29
+ import '../../Icons/EyeIcon.js';
30
+ import '../../Icons/FilterIcon.js';
31
+ import '../../Icons/FirstIcon.js';
32
+ import '../../Icons/FolderIcon.js';
33
+ import '../../Icons/FullscreenIcon.js';
34
+ import '../../Icons/GridIcon.js';
35
+ import '../../Icons/HeartIcon.js';
36
+ import '../../Icons/HelpIcon.js';
37
+ import '../../Icons/HomeIcon.js';
38
+ import '../../Icons/InfoIcon.js';
39
+ import '../../Icons/LastIcon.js';
40
+ import '../../Icons/LinkIcon.js';
41
+ import '../../Icons/ListIcon.js';
42
+ import '../../Icons/LockIcon.js';
43
+ import '../../Icons/MaximizeIcon.js';
44
+ import '../../Icons/MenuIcon.js';
45
+ import '../../Icons/MinimizeIcon.js';
46
+ import '../../Icons/PasteIcon.js';
47
+ import '../../Icons/PlayIcon.js';
48
+ import '../../Icons/RedoIcon.js';
49
+ import '../../Icons/RefreshIcon.js';
50
+ import '../../Icons/RobotIcon.js';
51
+ import '../../Icons/SaveIcon.js';
52
+ import '../../Icons/SearchIcon.js';
53
+ import '../../Icons/SettingsIcon.js';
54
+ import '../../Icons/SortIcon.js';
55
+ import '../../Icons/StarIcon.js';
56
+ import '../../Icons/SuccessIcon.js';
57
+ import '../../Icons/TagIcon.js';
58
+ import '../../Icons/TrashIcon.js';
59
+ import '../../Icons/UndoIcon.js';
60
+ import '../../Icons/UnlinkIcon.js';
61
+ import '../../Icons/UnlockIcon.js';
62
+ import '../../Icons/UploadIcon.js';
63
+ import '../../Icons/UserIcon.js';
64
+ import '../../Icons/WarningIcon.js';
65
+ import '../../Icons/ZoomInIcon.js';
66
+ import '../../Icons/ZoomOutIcon.js';
67
+ import '../../Icons/CheckIcon.js';
68
+ import '../../Icons/CircleIcon.js';
69
+ import '../../Icons/TangentFreeIcon.js';
70
+ import '../../Icons/TangentAlignedIcon.js';
71
+ import '../../Icons/TangentMirroredIcon.js';
72
+ import '../../Icons/TangentAutoIcon.js';
73
+ import '../../Icons/TangentLinearIcon.js';
74
+ import '../../Icons/TangentStepIcon.js';
75
+ import '../../Icons/ArchiveIcon.js';
76
+ import '../../Icons/DotsVerticalIcon.js';
77
+ import '../../Icons/DotsHorizontalIcon.js';
78
+ import '../../Icons/ChevronLeftIcon.js';
79
+ import '../../Icons/ChevronRightIcon.js';
80
+ import '../../Icons/FolderOpenIcon.js';
81
+ import '../../Icons/FolderCogIcon.js';
82
+ import '../../Icons/UsersIcon.js';
83
+ import '../../Icons/BuildingIcon.js';
84
+ import '../../Icons/FileTextIcon.js';
85
+ import '../../Icons/PauseIcon.js';
86
+ import '../../Icons/StopIcon.js';
87
+ import '../../Icons/SendIcon.js';
88
+ import '../../Icons/TerminalIcon.js';
89
+ import '../../Icons/GitBranchIcon.js';
90
+ import '../../Icons/BugIcon.js';
91
+ import '../../Icons/MinusIcon.js';
92
+ import '../../Icons/PinIcon.js';
7
93
  import { badgeContrastVar, badgeColorVar, badgeDotStyle, badgeIconStyle, badgeRemoveButtonStyle, badgeRecipe } from './Badge.css.js';
8
94
 
9
95
  const NAMED_COLOR_MAP = {
@@ -29,7 +115,7 @@ function resolveBadgeColor(color) {
29
115
  }
30
116
  return { color, contrast: '#ffffff' };
31
117
  }
32
- const RemoveIcon = () => (jsx("svg", { width: "10", height: "10", viewBox: "0 0 10 10", "aria-hidden": "true", focusable: "false", children: jsx("path", { d: "M2 2 L8 8 M8 2 L2 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }));
118
+ const RemoveIcon = () => (jsx(CloseIcon, { size: 10, color: "currentColor", decorative: true }));
33
119
  /**
34
120
  * A small inline status indicator / tag.
35
121
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","sources":["../../../../../../src/components/primitives/Badge/Badge.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAgBA;AACE;AACA;AACA;AACA;AACA;AACA;;AAGF;;;;;AAKG;AACH;AAIE;;;;AAKE;;AAEF;AACF;AAEA;AAiBA;;;;;;;;;;;;;;AAcG;;AAiBC;AAEA;;AAGI;AACF;;AAKA;AACA;AACD;;;;;AAUM;AA0BT;AAGF;;"}
1
+ {"version":3,"file":"Badge.js","sources":["../../../../../../src/components/primitives/Badge/Badge.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiBA;AACE;AACA;AACA;AACA;AACA;AACA;;AAGF;;;;;AAKG;AACH;AAIE;;;;AAKE;;AAEF;AACF;AAEA;AAIA;;;;;;;;;;;;;;AAcG;;AAiBC;AAEA;;AAGI;AACF;;AAKA;AACA;AACD;;;;;AAUM;AA0BT;AAGF;;"}
@@ -2,6 +2,8 @@
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useContext, useId, useState, useCallback } from 'react';
4
4
  import { assignInlineVars } from '@vanilla-extract/dynamic';
5
+ import { CheckIcon } from '../../Icons/CheckIcon.js';
6
+ import { MinusIcon } from '../../Icons/MinusIcon.js';
5
7
  import { FormHelperText } from '../../form/FormHelperText.js';
6
8
  import { CheckboxGroupContext } from './CheckboxGroup.js';
7
9
  import { cx } from '../../../utils/cx.js';
@@ -97,13 +99,14 @@ const Checkbox = ({ checked: checkedProp, defaultChecked = false, indeterminate
97
99
  variant,
98
100
  disabled: disabled || undefined,
99
101
  error: error || undefined,
100
- }), style: boxInlineVars, "data-testid": testId, ...rest, children: [indeterminate ? (jsx("svg", { width: iconSize, height: iconSize, viewBox: "0 0 12 12", fill: "none", "aria-hidden": "true", children: jsx("line", { x1: "2", y1: "6", x2: "10", y2: "6", stroke: "white", strokeWidth: "2", strokeLinecap: "round" }) })) : (jsx("svg", { width: iconSize, height: iconSize, viewBox: "0 0 12 12", fill: "none", "aria-hidden": "true", style: {
102
+ }), style: boxInlineVars, "data-testid": testId, ...rest, children: [indeterminate ? (jsx(MinusIcon, { size: iconSize, color: "white", decorative: true })) : (jsx("span", { style: {
103
+ display: 'inline-flex',
101
104
  opacity: resolvedChecked ? 1 : 0,
102
105
  transform: resolvedChecked ? 'scale(1)' : 'scale(0)',
103
106
  transition: prefersReducedMotion
104
107
  ? 'none'
105
108
  : 'opacity 150ms ease-out, transform 150ms ease-out',
106
- }, children: jsx("path", { d: "M2 6L5 9L10 3", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) })), name && (jsx("input", { type: "hidden", name: name, value: resolvedChecked ? (value ?? 'on') : '' }))] }));
109
+ }, "aria-hidden": "true", children: jsx(CheckIcon, { size: iconSize, color: "white", decorative: true }) })), name && (jsx("input", { type: "hidden", name: name, value: resolvedChecked ? (value ?? 'on') : '' }))] }));
107
110
  if (!label && !showHelperText) {
108
111
  return checkboxBox;
109
112
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Checkbox.js","sources":["../../../../../../src/components/primitives/Checkbox/Checkbox.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAeA;AAEA;AACE;AACA;AACA;;AAGF;AACE;AACA;AACA;;AAGF;;;;;;;;;;;;;AAaG;AACI;AAuBL;AACA;AACA;AACA;;;;;;;;AAWA;AAEA;;;;;;;;;;AASA;AACE;;AAEA;AAEA;AACE;;AAGF;;;AAIA;AACF;;;;;;;;AAQC;AAED;AACA;;AAGE;AACA;AACE;;AAGJ;;;AAIC;;;;AAKD;AAEE;AACA;;;;;;AAmBG;;;AAiCK;AACE;AACA;;AAsBZ;AACE;;AAGF;;;;AAOO;AAYT;AAEA;;"}
1
+ {"version":3,"file":"Checkbox.js","sources":["../../../../../../src/components/primitives/Checkbox/Checkbox.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;;;AAiBA;AAEA;AACE;AACA;AACA;;AAGF;AACE;AACA;AACA;;AAGF;;;;;;;;;;;;;AAaG;AACI;AAuBL;AACA;AACA;AACA;;;;;;;;AAWA;AAEA;;;;;;;;;;AASA;AACE;;AAEA;AAEA;AACE;;AAGF;;;AAIA;AACF;;;;;;;;AAQC;AAED;AACA;;AAGE;AACA;AACE;;AAGJ;;;AAIC;;;;AAKD;AAEE;AACA;;;;;;AAmBG;AAUK;;;AAGA;AACE;AACA;;AAiBZ;AACE;;AAGF;;;;AAOO;AAYT;AAEA;;"}
@@ -2,6 +2,7 @@
2
2
  import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import { useId, useState, useCallback } from 'react';
4
4
  import { assignInlineVars } from '@vanilla-extract/dynamic';
5
+ import { ChevronRightIcon } from '../../Icons/ChevronRightIcon.js';
5
6
  import { cx } from '../../../utils/cx.js';
6
7
  import { triggerFontSizeVar, triggerPaddingVar, triggerHeightVar, contentPaddingHVar, contentPaddingVVar, chevronSizeVar, chevronRecipe, triggerRecipe, contentInnerStyle, contentBodyStyle, contentWrapperRecipe, collapsibleRootStyle } from './Collapsible.css.js';
7
8
  import { vars } from '../../../theme/contract.css.js';
@@ -31,8 +32,6 @@ const CONTENT_SIZE_MAP = {
31
32
  md: { paddingV: vars.spacing.md, paddingH: vars.spacing.lg },
32
33
  lg: { paddingV: vars.spacing.lg, paddingH: vars.spacing.xl },
33
34
  };
34
- // --- Chevron icon ---
35
- const ChevronRightIcon = ({ size }) => (jsx("svg", { width: size, height: size, viewBox: "0 0 12 12", fill: "none", "aria-hidden": "true", children: jsx("path", { d: "M4.5 3L7.5 6L4.5 9", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }));
36
35
  // --- Component ---
37
36
  const Collapsible = ({ trigger, open: openProp, defaultOpen = false, size = 'sm', indicator, disabled = false, keepMounted = false, onChange, children, className, style, testId, ref, ...rest }) => {
38
37
  const autoId = useId();
@@ -68,7 +67,7 @@ const Collapsible = ({ trigger, open: openProp, defaultOpen = false, size = 'sm'
68
67
  open: resolvedOpen || undefined,
69
68
  }), style: assignInlineVars({
70
69
  [chevronSizeVar]: `${sizeConfig.chevronSize}px`,
71
- }), children: indicator ?? jsx(ChevronRightIcon, { size: sizeConfig.chevronSize }) })), jsx("span", { children: trigger })] }), (resolvedOpen || keepMounted) && (jsx("div", { className: contentWrapperRecipe({
70
+ }), children: indicator ?? (jsx(ChevronRightIcon, { size: sizeConfig.chevronSize, decorative: true })) })), jsx("span", { children: trigger })] }), (resolvedOpen || keepMounted) && (jsx("div", { className: contentWrapperRecipe({
72
71
  open: resolvedOpen || undefined,
73
72
  }), role: "region", id: contentId, "aria-labelledby": triggerId, hidden: !resolvedOpen || undefined, children: jsx("div", { className: contentInnerStyle, children: jsx("div", { className: contentBodyStyle, style: contentInlineVars, children: children }) }) }))] }));
74
73
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Collapsible.js","sources":["../../../../../../src/components/primitives/Collapsible/Collapsible.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AA+BA;AACE;AACE;AACA;AACA;AACA;AACD;AACD;AACE;AACA;AACA;AACA;AACD;AACD;AACE;AACA;AACA;AACA;AACD;;AAQH;AACE;AACA;AACA;;AAGF;AAEA;AAkBA;;AAkBE;AACA;AACA;;AAGA;;AAGA;AACE;;AAEA;;;;AAMA;;AAGF;AACA;AACA;;AAGE;AACA;AACA;AACD;;AAGC;AACA;AACD;;;AAoBM;;AAOI;AAEC;AACD;;AAYF;AAeX;AAEA;;"}
1
+ {"version":3,"file":"Collapsible.js","sources":["../../../../../../src/components/primitives/Collapsible/Collapsible.tsx"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;;AAgCA;AACE;AACE;AACA;AACA;AACA;AACD;AACD;AACE;AACA;AACA;AACA;AACD;AACD;AACE;AACA;AACA;AACA;AACD;;AAQH;AACE;AACA;AACA;;AAGF;;AAkBE;AACA;AACA;;AAGA;;AAGA;AACE;;AAEA;;;;AAMA;;AAGF;AACA;AACA;;AAGE;AACA;AACA;AACD;;AAGC;AACA;AACD;;;AAoBM;;AAOI;AAEC;AACD;;AAcF;AAeX;AAEA;;"}
@@ -0,0 +1,7 @@
1
+ import './../../../assets/src/components/primitives/HoverCard/HoverCard.css.ts.vanilla-BYT0qbLp.css';
2
+ import { createRuntimeFn } from '@vanilla-extract/recipes/createRuntimeFn';
3
+
4
+ var hoverCardContentRecipe = createRuntimeFn({defaultClassName:'HoverCard_hoverCardContentRecipe__1aj59sj0',variantClassNames:{padding:{none:'HoverCard_hoverCardContentRecipe_padding_none__1aj59sj1',sm:'HoverCard_hoverCardContentRecipe_padding_sm__1aj59sj2',md:'HoverCard_hoverCardContentRecipe_padding_md__1aj59sj3',lg:'HoverCard_hoverCardContentRecipe_padding_lg__1aj59sj4'},visible:{true:'HoverCard_hoverCardContentRecipe_visible_true__1aj59sj5',false:'HoverCard_hoverCardContentRecipe_visible_false__1aj59sj6'}},defaultVariants:{padding:'md',visible:false},compoundVariants:[]});
5
+
6
+ export { hoverCardContentRecipe };
7
+ //# sourceMappingURL=HoverCard.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoverCard.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}