@atom-learning/components 9.0.0 → 10.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (197) hide show
  1. package/dist/components/alert-dialog/AlertDialog.context.js +9 -6
  2. package/dist/components/alert-dialog/AlertDialog.context.js.map +1 -1
  3. package/dist/components/alert-dialog/alert-context/reducer.js +1 -5
  4. package/dist/components/alert-dialog/alert-context/reducer.js.map +1 -1
  5. package/dist/components/alert-dialog/alert-context/types.d.ts +1 -2
  6. package/dist/components/avatar/Avatar.js +5 -6
  7. package/dist/components/avatar/Avatar.js.map +1 -1
  8. package/dist/components/avatar/AvatarIcon.js +2 -2
  9. package/dist/components/avatar/AvatarIcon.js.map +1 -1
  10. package/dist/components/avatar/AvatarInitial.js +2 -2
  11. package/dist/components/avatar/AvatarInitial.js.map +1 -1
  12. package/dist/components/badge/Badge.context.js +12 -13
  13. package/dist/components/badge/Badge.context.js.map +1 -1
  14. package/dist/components/badge/Badge.js +4 -3
  15. package/dist/components/badge/Badge.js.map +1 -1
  16. package/dist/components/badge/BadgeText.js +3 -3
  17. package/dist/components/badge/BadgeText.js.map +1 -1
  18. package/dist/components/banner/Banner.context.js +13 -14
  19. package/dist/components/banner/Banner.context.js.map +1 -1
  20. package/dist/components/banner/banner-regular/BannerRegularActions.js +2 -8
  21. package/dist/components/banner/banner-regular/BannerRegularActions.js.map +1 -1
  22. package/dist/components/banner/banner-regular/BannerRegularButton.js +2 -2
  23. package/dist/components/banner/banner-regular/BannerRegularButton.js.map +1 -1
  24. package/dist/components/banner/banner-regular/BannerRegularDismiss.js +1 -1
  25. package/dist/components/banner/banner-regular/BannerRegularDismiss.js.map +1 -1
  26. package/dist/components/banner/banner-slim/BannerSlimButton.js +2 -2
  27. package/dist/components/banner/banner-slim/BannerSlimButton.js.map +1 -1
  28. package/dist/components/banner/banner-slim/BannerSlimContainer.js +4 -13
  29. package/dist/components/banner/banner-slim/BannerSlimContainer.js.map +1 -1
  30. package/dist/components/calendar/Calendar.d.ts +1 -1
  31. package/dist/components/calendar/Calendar.js +4 -2
  32. package/dist/components/calendar/Calendar.js.map +1 -1
  33. package/dist/components/carousel/Carousel.js +2 -2
  34. package/dist/components/carousel/Carousel.js.map +1 -1
  35. package/dist/components/carousel/CarouselSlide.js +1 -1
  36. package/dist/components/carousel/CarouselSlide.js.map +1 -1
  37. package/dist/components/carousel/CarouselSlider.js +1 -1
  38. package/dist/components/carousel/CarouselSlider.js.map +1 -1
  39. package/dist/components/checkbox/Checkbox.js +2 -2
  40. package/dist/components/checkbox/Checkbox.js.map +1 -1
  41. package/dist/components/checkbox-field/CheckboxField.js +7 -3
  42. package/dist/components/checkbox-field/CheckboxField.js.map +1 -1
  43. package/dist/components/checkbox-group/CheckboxGroupAllItem.js +2 -2
  44. package/dist/components/checkbox-group/CheckboxGroupAllItem.js.map +1 -1
  45. package/dist/components/checkbox-group/CheckboxGroupChecked.context.js +13 -14
  46. package/dist/components/checkbox-group/CheckboxGroupChecked.context.js.map +1 -1
  47. package/dist/components/checkbox-group/CheckboxGroupItem.js +2 -2
  48. package/dist/components/checkbox-group/CheckboxGroupItem.js.map +1 -1
  49. package/dist/components/checkbox-group/CheckboxGroupMounted.context.js +6 -7
  50. package/dist/components/checkbox-group/CheckboxGroupMounted.context.js.map +1 -1
  51. package/dist/components/chip/Chip.js +4 -5
  52. package/dist/components/chip/Chip.js.map +1 -1
  53. package/dist/components/create-password-field/CreatePasswordField.js +1 -1
  54. package/dist/components/create-password-field/CreatePasswordField.js.map +1 -1
  55. package/dist/components/data-table/DataTable.context.js +43 -26
  56. package/dist/components/data-table/DataTable.context.js.map +1 -1
  57. package/dist/components/data-table/DataTable.types.d.ts +1 -0
  58. package/dist/components/data-table/DataTable.types.js.map +1 -1
  59. package/dist/components/data-table/DataTableBulkActionsFloating.js +2 -6
  60. package/dist/components/data-table/DataTableBulkActionsFloating.js.map +1 -1
  61. package/dist/components/data-table/DataTableGlobalFilter.js +16 -8
  62. package/dist/components/data-table/DataTableGlobalFilter.js.map +1 -1
  63. package/dist/components/data-table/DataTableHead.js +5 -14
  64. package/dist/components/data-table/DataTableHead.js.map +1 -1
  65. package/dist/components/data-table/DataTableRowSelectionCheckbox.js +1 -0
  66. package/dist/components/data-table/DataTableRowSelectionCheckbox.js.map +1 -1
  67. package/dist/components/data-table/DataTableSelectAllRowsCheckbox.js +2 -1
  68. package/dist/components/data-table/DataTableSelectAllRowsCheckbox.js.map +1 -1
  69. package/dist/components/data-table/DataTableTable.js +8 -6
  70. package/dist/components/data-table/DataTableTable.js.map +1 -1
  71. package/dist/components/data-table/drag-and-drop/DragAndDropTable.js +1 -1
  72. package/dist/components/data-table/drag-and-drop/DragAndDropTable.js.map +1 -1
  73. package/dist/components/data-table/pagination/Pagination.js +3 -2
  74. package/dist/components/data-table/pagination/Pagination.js.map +1 -1
  75. package/dist/components/data-table/usePagination.d.ts +1 -0
  76. package/dist/components/data-table/usePagination.js +7 -2
  77. package/dist/components/data-table/usePagination.js.map +1 -1
  78. package/dist/components/date-input/DateInput.js +4 -3
  79. package/dist/components/date-input/DateInput.js.map +1 -1
  80. package/dist/components/dismissible/DismissibleRoot.js +15 -16
  81. package/dist/components/dismissible/DismissibleRoot.js.map +1 -1
  82. package/dist/components/dismissible/DismissibleTrigger.js +1 -1
  83. package/dist/components/dismissible/DismissibleTrigger.js.map +1 -1
  84. package/dist/components/dismissible-group/DismissibleGroupItem.js +1 -1
  85. package/dist/components/dismissible-group/DismissibleGroupItem.js.map +1 -1
  86. package/dist/components/dismissible-group/DismissibleGroupRoot.js +5 -6
  87. package/dist/components/dismissible-group/DismissibleGroupRoot.js.map +1 -1
  88. package/dist/components/drawer/Drawer.context.js +2 -3
  89. package/dist/components/drawer/Drawer.context.js.map +1 -1
  90. package/dist/components/drawer/DrawerContent.js +1 -1
  91. package/dist/components/drawer/DrawerContent.js.map +1 -1
  92. package/dist/components/empty-state/EmptyState.context.js +2 -3
  93. package/dist/components/empty-state/EmptyState.context.js.map +1 -1
  94. package/dist/components/empty-state/EmptyStateBody.js +1 -1
  95. package/dist/components/empty-state/EmptyStateBody.js.map +1 -1
  96. package/dist/components/empty-state/EmptyStateImage.js +1 -1
  97. package/dist/components/empty-state/EmptyStateImage.js.map +1 -1
  98. package/dist/components/empty-state/EmptyStateTitle.js +1 -1
  99. package/dist/components/empty-state/EmptyStateTitle.js.map +1 -1
  100. package/dist/components/file-drop/FileDrop.js +3 -3
  101. package/dist/components/file-drop/FileDrop.js.map +1 -1
  102. package/dist/components/file-drop/useFileDrop.js +1 -1
  103. package/dist/components/file-drop/useFileDrop.js.map +1 -1
  104. package/dist/components/form/Form.js +7 -6
  105. package/dist/components/form/Form.js.map +1 -1
  106. package/dist/components/form/useFormCustomContext.js +1 -1
  107. package/dist/components/form/useFormCustomContext.js.map +1 -1
  108. package/dist/components/input/Input.js +2 -2
  109. package/dist/components/input/Input.js.map +1 -1
  110. package/dist/components/keyboard-shortcut/KeyboardShortcut.js +10 -7
  111. package/dist/components/keyboard-shortcut/KeyboardShortcut.js.map +1 -1
  112. package/dist/components/markdown-content/MarkdownContent.d.ts +1 -1
  113. package/dist/components/markdown-content/MarkdownContent.js +4 -4
  114. package/dist/components/markdown-content/MarkdownContent.js.map +1 -1
  115. package/dist/components/navigation/NavigationMenu.context.js +1 -1
  116. package/dist/components/navigation/NavigationMenu.context.js.map +1 -1
  117. package/dist/components/navigation/NavigationMenu.js +8 -7
  118. package/dist/components/navigation/NavigationMenu.js.map +1 -1
  119. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordion.d.ts +2 -2
  120. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordion.js +3 -3
  121. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordion.js.map +1 -1
  122. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionContent.js +1 -1
  123. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionContent.js.map +1 -1
  124. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionTrigger.js +1 -1
  125. package/dist/components/navigation-menu-vertical/NavigationMenuVerticalAccordionTrigger.js.map +1 -1
  126. package/dist/components/number-input/NumberInput.js +15 -16
  127. package/dist/components/number-input/NumberInput.js.map +1 -1
  128. package/dist/components/number-input-field/NumberInputField.js +7 -3
  129. package/dist/components/number-input-field/NumberInputField.js.map +1 -1
  130. package/dist/components/pagination/Pagination.context.js +29 -22
  131. package/dist/components/pagination/Pagination.context.js.map +1 -1
  132. package/dist/components/pagination/usePagination.js +1 -1
  133. package/dist/components/pagination/usePagination.js.map +1 -1
  134. package/dist/components/password-input/PasswordInput.js +1 -2
  135. package/dist/components/password-input/PasswordInput.js.map +1 -1
  136. package/dist/components/radio-button-field/RadioButtonField.js +7 -3
  137. package/dist/components/radio-button-field/RadioButtonField.js.map +1 -1
  138. package/dist/components/search-input/SearchInput.js +7 -11
  139. package/dist/components/search-input/SearchInput.js.map +1 -1
  140. package/dist/components/section-message/SectionMessage.context.js +15 -16
  141. package/dist/components/section-message/SectionMessage.context.js.map +1 -1
  142. package/dist/components/segmented-control/SegmentedControlBadge.js +1 -1
  143. package/dist/components/segmented-control/SegmentedControlBadge.js.map +1 -1
  144. package/dist/components/segmented-control/SegmentedControlDescription.js +1 -1
  145. package/dist/components/segmented-control/SegmentedControlDescription.js.map +1 -1
  146. package/dist/components/segmented-control/SegmentedControlHeading.js +1 -1
  147. package/dist/components/segmented-control/SegmentedControlHeading.js.map +1 -1
  148. package/dist/components/segmented-control/SegmentedControlIcon.js +1 -1
  149. package/dist/components/segmented-control/SegmentedControlIcon.js.map +1 -1
  150. package/dist/components/segmented-control/SegmentedControlItem.js +1 -1
  151. package/dist/components/segmented-control/SegmentedControlItem.js.map +1 -1
  152. package/dist/components/segmented-control/SegmentedControlItemList.js +20 -14
  153. package/dist/components/segmented-control/SegmentedControlItemList.js.map +1 -1
  154. package/dist/components/segmented-control/SegmentedControlRoot.js +14 -18
  155. package/dist/components/segmented-control/SegmentedControlRoot.js.map +1 -1
  156. package/dist/components/select-menu/SelectMenu.context.js +1 -1
  157. package/dist/components/select-menu/SelectMenu.context.js.map +1 -1
  158. package/dist/components/select-menu/SelectMenu.js +18 -12
  159. package/dist/components/select-menu/SelectMenu.js.map +1 -1
  160. package/dist/components/side-bar/SideBar.context.js +1 -1
  161. package/dist/components/side-bar/SideBar.context.js.map +1 -1
  162. package/dist/components/side-bar/SideBar.js +2 -2
  163. package/dist/components/side-bar/SideBar.js.map +1 -1
  164. package/dist/components/slider-field/SliderField.js +8 -3
  165. package/dist/components/slider-field/SliderField.js.map +1 -1
  166. package/dist/components/sortable/SortableRoot.js +5 -3
  167. package/dist/components/sortable/SortableRoot.js.map +1 -1
  168. package/dist/components/stepper/Stepper.context.js +38 -30
  169. package/dist/components/stepper/Stepper.context.js.map +1 -1
  170. package/dist/components/toast/Toast.context.js +1 -1
  171. package/dist/components/toast/Toast.context.js.map +1 -1
  172. package/dist/components/toast/ToastProvider.js +1 -1
  173. package/dist/components/toast/ToastProvider.js.map +1 -1
  174. package/dist/components/tree/TreeCollapsible.d.ts +2 -2
  175. package/dist/components/tree/TreeCollapsible.js +3 -3
  176. package/dist/components/tree/TreeCollapsible.js.map +1 -1
  177. package/dist/components/tree/TreeCollapsibleContent.js +1 -1
  178. package/dist/components/tree/TreeCollapsibleContent.js.map +1 -1
  179. package/dist/components/tree/TreeCollapsibleTrigger.js +1 -1
  180. package/dist/components/tree/TreeCollapsibleTrigger.js.map +1 -1
  181. package/dist/docgen.json +1 -1
  182. package/dist/index.cjs.js +520 -462
  183. package/dist/index.cjs.js.map +1 -1
  184. package/dist/styled.js +5 -1
  185. package/dist/styled.js.map +1 -1
  186. package/dist/utilities/hooks/useCallbackRef.d.ts +3 -3
  187. package/dist/utilities/hooks/useCallbackRef.js +4 -1
  188. package/dist/utilities/hooks/useCallbackRef.js.map +1 -1
  189. package/dist/utilities/hooks/useResizeObserver.js +13 -3
  190. package/dist/utilities/hooks/useResizeObserver.js.map +1 -1
  191. package/dist/utilities/hooks/useScrollPosition.js +22 -17
  192. package/dist/utilities/hooks/useScrollPosition.js.map +1 -1
  193. package/dist/utilities/hooks/useWindowScrollPosition.js +19 -15
  194. package/dist/utilities/hooks/useWindowScrollPosition.js.map +1 -1
  195. package/dist/utilities/uri/index.js +1 -6
  196. package/dist/utilities/uri/index.js.map +1 -1
  197. package/package.json +29 -31
@@ -1,43 +1,37 @@
1
1
  import * as React$1 from "react";
2
2
  import { jsx } from "react/jsx-runtime";
3
3
  //#region src/components/stepper/Stepper.context.tsx
4
- var StepperContext = React$1.createContext({
5
- steps: [],
6
- goToPreviousStep: () => null,
7
- goToNextStep: () => null,
8
- goToStep: () => null,
9
- activeStep: 0,
10
- viewedSteps: [],
11
- allowSkip: false,
12
- direction: "horizontal",
13
- hideLabels: false,
14
- completedSteps: [],
15
- showCompletedIcons: false
16
- });
4
+ var StepperContext = React$1.createContext(null);
17
5
  var StepperProvider = ({ children, stepCount, allowSkip, onComplete, onStepChange, direction, steps, hideLabels, showCompletedIcons }) => {
18
6
  const [activeStep, setActiveStep] = React$1.useState(0);
19
7
  const [viewedSteps, setviewedSteps] = React$1.useState([0]);
20
8
  const [completedSteps, setCompletedSteps] = React$1.useState([]);
21
9
  const isControlled = !stepCount;
22
- React$1.useEffect(() => {
23
- setviewedSteps((prev) => prev.includes(activeStep) ? prev : [...prev, activeStep]);
24
- onStepChange?.(activeStep);
25
- }, [activeStep, onStepChange]);
26
- const goToNextStep = () => {
10
+ const changeStep = React$1.useCallback((nextStep) => {
11
+ setActiveStep(nextStep);
12
+ setviewedSteps((prev) => prev.includes(nextStep) ? prev : [...prev, nextStep]);
13
+ onStepChange?.(nextStep);
14
+ }, [onStepChange]);
15
+ const goToNextStep = React$1.useCallback(() => {
27
16
  const isCompleted = onComplete && activeStep === stepCount - 1;
28
17
  const isNextStep = activeStep < stepCount - 1;
29
18
  if (onComplete || isNextStep) setCompletedSteps((prev) => prev.includes(activeStep) ? prev : [...prev, activeStep]);
30
19
  if (isCompleted) return onComplete?.();
31
- if (isNextStep) return setActiveStep((current) => current + 1);
32
- };
33
- const goToPreviousStep = () => {
34
- setActiveStep((current) => current - 1);
35
- };
36
- const goToStep = (index) => {
37
- setActiveStep(index);
38
- };
39
- return /* @__PURE__ */ jsx(StepperContext.Provider, {
40
- value: {
20
+ if (isNextStep) return changeStep(activeStep + 1);
21
+ }, [
22
+ activeStep,
23
+ stepCount,
24
+ onComplete,
25
+ changeStep
26
+ ]);
27
+ const goToPreviousStep = React$1.useCallback(() => {
28
+ changeStep(activeStep - 1);
29
+ }, [activeStep, changeStep]);
30
+ const goToStep = React$1.useCallback((index) => {
31
+ changeStep(index);
32
+ }, [changeStep]);
33
+ return /* @__PURE__ */ jsx(StepperContext, {
34
+ value: React$1.useMemo(() => ({
41
35
  steps: steps || Array(stepCount).fill(""),
42
36
  goToPreviousStep: isControlled ? void 0 : goToPreviousStep,
43
37
  goToNextStep: isControlled ? void 0 : goToNextStep,
@@ -49,12 +43,26 @@ var StepperProvider = ({ children, stepCount, allowSkip, onComplete, onStepChang
49
43
  direction,
50
44
  hideLabels,
51
45
  showCompletedIcons
52
- },
46
+ }), [
47
+ steps,
48
+ stepCount,
49
+ isControlled,
50
+ goToPreviousStep,
51
+ goToNextStep,
52
+ goToStep,
53
+ activeStep,
54
+ viewedSteps,
55
+ completedSteps,
56
+ allowSkip,
57
+ direction,
58
+ hideLabels,
59
+ showCompletedIcons
60
+ ]),
53
61
  children
54
62
  });
55
63
  };
56
64
  var useStepper = () => {
57
- const context = React$1.useContext(StepperContext);
65
+ const context = React$1.use(StepperContext);
58
66
  if (!context) throw new Error("Ensure that you wrap any components with the root component Stepper");
59
67
  return context;
60
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Stepper.context.js","names":[],"sources":["../../../src/components/stepper/Stepper.context.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport type { Context, StepperProviderProps } from './types'\n\nconst StepperContext = React.createContext<Context>({\n steps: [],\n goToPreviousStep: () => null,\n goToNextStep: () => null,\n goToStep: () => null,\n activeStep: 0,\n viewedSteps: [],\n allowSkip: false,\n direction: 'horizontal',\n hideLabels: false,\n completedSteps: [],\n showCompletedIcons: false\n})\n\nexport const StepperProvider = ({\n children,\n stepCount,\n allowSkip,\n onComplete,\n onStepChange,\n direction,\n steps,\n hideLabels,\n showCompletedIcons\n}: React.PropsWithChildren<StepperProviderProps>) => {\n const [activeStep, setActiveStep] = React.useState(0)\n\n const [viewedSteps, setviewedSteps] = React.useState<number[]>([0])\n const [completedSteps, setCompletedSteps] = React.useState<number[]>([])\n\n const isControlled = !stepCount\n\n React.useEffect(() => {\n setviewedSteps((prev) =>\n prev.includes(activeStep) ? prev : [...prev, activeStep]\n )\n\n onStepChange?.(activeStep)\n }, [activeStep, onStepChange])\n\n const goToNextStep = () => {\n const isCompleted = onComplete && activeStep === stepCount - 1\n const isNextStep = activeStep < stepCount - 1\n\n if (onComplete || isNextStep) {\n setCompletedSteps((prev) =>\n prev.includes(activeStep) ? prev : [...prev, activeStep]\n )\n }\n\n if (isCompleted) {\n return onComplete?.()\n }\n if (isNextStep) {\n return setActiveStep((current) => current + 1)\n }\n }\n\n const goToPreviousStep = () => {\n setActiveStep((current) => current - 1)\n }\n\n const goToStep = (index: number) => {\n setActiveStep(index)\n }\n\n return (\n <StepperContext.Provider\n value={{\n steps: steps || Array(stepCount).fill(''),\n goToPreviousStep: isControlled ? undefined : goToPreviousStep,\n goToNextStep: isControlled ? undefined : goToNextStep,\n goToStep: isControlled ? undefined : goToStep,\n activeStep,\n viewedSteps,\n completedSteps,\n allowSkip,\n direction,\n hideLabels,\n showCompletedIcons\n }}\n >\n {children}\n </StepperContext.Provider>\n )\n}\n\nexport const useStepper = (): Context => {\n const context = React.useContext(StepperContext)\n if (!context)\n throw new Error(\n 'Ensure that you wrap any components with the root component Stepper'\n )\n\n return context\n}\n"],"mappings":";;;AAIA,IAAM,iBAAiB,QAAM,cAAuB;CAClD,OAAO,CAAC;CACR,wBAAwB;CACxB,oBAAoB;CACpB,gBAAgB;CAChB,YAAY;CACZ,aAAa,CAAC;CACd,WAAW;CACX,WAAW;CACX,YAAY;CACZ,gBAAgB,CAAC;CACjB,oBAAoB;AACtB,CAAC;AAED,IAAa,mBAAmB,EAC9B,UACA,WACA,WACA,YACA,cACA,WACA,OACA,YACA,yBACmD;CACnD,MAAM,CAAC,YAAY,iBAAiB,QAAM,SAAS,CAAC;CAEpD,MAAM,CAAC,aAAa,kBAAkB,QAAM,SAAmB,CAAC,CAAC,CAAC;CAClE,MAAM,CAAC,gBAAgB,qBAAqB,QAAM,SAAmB,CAAC,CAAC;CAEvE,MAAM,eAAe,CAAC;CAEtB,QAAM,gBAAgB;EACpB,gBAAgB,SACd,KAAK,SAAS,UAAU,IAAI,OAAO,CAAC,GAAG,MAAM,UAAU,CACzD;EAEA,eAAe,UAAU;CAC3B,GAAG,CAAC,YAAY,YAAY,CAAC;CAE7B,MAAM,qBAAqB;EACzB,MAAM,cAAc,cAAc,eAAe,YAAY;EAC7D,MAAM,aAAa,aAAa,YAAY;EAE5C,IAAI,cAAc,YAChB,mBAAmB,SACjB,KAAK,SAAS,UAAU,IAAI,OAAO,CAAC,GAAG,MAAM,UAAU,CACzD;EAGF,IAAI,aACF,OAAO,aAAa;EAEtB,IAAI,YACF,OAAO,eAAe,YAAY,UAAU,CAAC;CAEjD;CAEA,MAAM,yBAAyB;EAC7B,eAAe,YAAY,UAAU,CAAC;CACxC;CAEA,MAAM,YAAY,UAAkB;EAClC,cAAc,KAAK;CACrB;CAEA,OACE,oBAAC,eAAe,UAAhB;EACE,OAAO;GACL,OAAO,SAAS,MAAM,SAAS,CAAC,CAAC,KAAK,EAAE;GACxC,kBAAkB,eAAe,KAAA,IAAY;GAC7C,cAAc,eAAe,KAAA,IAAY;GACzC,UAAU,eAAe,KAAA,IAAY;GACrC;GACA;GACA;GACA;GACA;GACA;GACA;EACF;EAEC;CACsB,CAAA;AAE7B;AAEA,IAAa,mBAA4B;CACvC,MAAM,UAAU,QAAM,WAAW,cAAc;CAC/C,IAAI,CAAC,SACH,MAAM,IAAI,MACR,qEACF;CAEF,OAAO;AACT"}
1
+ {"version":3,"file":"Stepper.context.js","names":[],"sources":["../../../src/components/stepper/Stepper.context.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport type { Context, StepperProviderProps } from './types'\n\n// null default so useStepper's missing-provider guard can fire a full\n// default object would silently render a zero-step stepper instead.\nconst StepperContext = React.createContext<Context | null>(null)\n\nexport const StepperProvider = ({\n children,\n stepCount,\n allowSkip,\n onComplete,\n onStepChange,\n direction,\n steps,\n hideLabels,\n showCompletedIcons\n}: React.PropsWithChildren<StepperProviderProps>) => {\n const [activeStep, setActiveStep] = React.useState(0)\n\n const [viewedSteps, setviewedSteps] = React.useState<number[]>([0])\n const [completedSteps, setCompletedSteps] = React.useState<number[]>([])\n\n const isControlled = !stepCount\n\n // Step changes (and their side effects) happen in the navigation handlers,\n // not an effect: an effect would fire onStepChange on mount (twice under\n // StrictMode) and again whenever the callback identity changed.\n const changeStep = React.useCallback(\n (nextStep: number) => {\n setActiveStep(nextStep)\n setviewedSteps((prev) =>\n prev.includes(nextStep) ? prev : [...prev, nextStep]\n )\n onStepChange?.(nextStep)\n },\n [onStepChange]\n )\n\n const goToNextStep = React.useCallback(() => {\n const isCompleted = onComplete && activeStep === stepCount - 1\n const isNextStep = activeStep < stepCount - 1\n\n if (onComplete || isNextStep) {\n setCompletedSteps((prev) =>\n prev.includes(activeStep) ? prev : [...prev, activeStep]\n )\n }\n\n if (isCompleted) {\n return onComplete?.()\n }\n if (isNextStep) {\n return changeStep(activeStep + 1)\n }\n }, [activeStep, stepCount, onComplete, changeStep])\n\n const goToPreviousStep = React.useCallback(() => {\n changeStep(activeStep - 1)\n }, [activeStep, changeStep])\n\n const goToStep = React.useCallback(\n (index: number) => {\n changeStep(index)\n },\n [changeStep]\n )\n\n const value = React.useMemo<Context>(\n () => ({\n steps: steps || Array(stepCount).fill(''),\n goToPreviousStep: isControlled ? undefined : goToPreviousStep,\n goToNextStep: isControlled ? undefined : goToNextStep,\n goToStep: isControlled ? undefined : goToStep,\n activeStep,\n viewedSteps,\n completedSteps,\n allowSkip,\n direction,\n hideLabels,\n showCompletedIcons\n }),\n [\n steps,\n stepCount,\n isControlled,\n goToPreviousStep,\n goToNextStep,\n goToStep,\n activeStep,\n viewedSteps,\n completedSteps,\n allowSkip,\n direction,\n hideLabels,\n showCompletedIcons\n ]\n )\n\n return <StepperContext value={value}>{children}</StepperContext>\n}\n\nexport const useStepper = (): Context => {\n const context = React.use(StepperContext)\n if (!context)\n throw new Error(\n 'Ensure that you wrap any components with the root component Stepper'\n )\n\n return context\n}\n"],"mappings":";;;AAMA,IAAM,iBAAiB,QAAM,cAA8B,IAAI;AAE/D,IAAa,mBAAmB,EAC9B,UACA,WACA,WACA,YACA,cACA,WACA,OACA,YACA,yBACmD;CACnD,MAAM,CAAC,YAAY,iBAAiB,QAAM,SAAS,CAAC;CAEpD,MAAM,CAAC,aAAa,kBAAkB,QAAM,SAAmB,CAAC,CAAC,CAAC;CAClE,MAAM,CAAC,gBAAgB,qBAAqB,QAAM,SAAmB,CAAC,CAAC;CAEvE,MAAM,eAAe,CAAC;CAKtB,MAAM,aAAa,QAAM,aACtB,aAAqB;EACpB,cAAc,QAAQ;EACtB,gBAAgB,SACd,KAAK,SAAS,QAAQ,IAAI,OAAO,CAAC,GAAG,MAAM,QAAQ,CACrD;EACA,eAAe,QAAQ;CACzB,GACA,CAAC,YAAY,CACf;CAEA,MAAM,eAAe,QAAM,kBAAkB;EAC3C,MAAM,cAAc,cAAc,eAAe,YAAY;EAC7D,MAAM,aAAa,aAAa,YAAY;EAE5C,IAAI,cAAc,YAChB,mBAAmB,SACjB,KAAK,SAAS,UAAU,IAAI,OAAO,CAAC,GAAG,MAAM,UAAU,CACzD;EAGF,IAAI,aACF,OAAO,aAAa;EAEtB,IAAI,YACF,OAAO,WAAW,aAAa,CAAC;CAEpC,GAAG;EAAC;EAAY;EAAW;EAAY;CAAU,CAAC;CAElD,MAAM,mBAAmB,QAAM,kBAAkB;EAC/C,WAAW,aAAa,CAAC;CAC3B,GAAG,CAAC,YAAY,UAAU,CAAC;CAE3B,MAAM,WAAW,QAAM,aACpB,UAAkB;EACjB,WAAW,KAAK;CAClB,GACA,CAAC,UAAU,CACb;CAiCA,OAAO,oBAAC,gBAAD;EAAuB,OA/BhB,QAAM,eACX;GACL,OAAO,SAAS,MAAM,SAAS,CAAC,CAAC,KAAK,EAAE;GACxC,kBAAkB,eAAe,KAAA,IAAY;GAC7C,cAAc,eAAe,KAAA,IAAY;GACzC,UAAU,eAAe,KAAA,IAAY;GACrC;GACA;GACA;GACA;GACA;GACA;GACA;EACF,IACA;GACE;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;EACF,CAG4B;EAAQ;CAAyB,CAAA;AACjE;AAEA,IAAa,mBAA4B;CACvC,MAAM,UAAU,QAAM,IAAI,cAAc;CACxC,IAAI,CAAC,SACH,MAAM,IAAI,MACR,qEACF;CAEF,OAAO;AACT"}
@@ -2,7 +2,7 @@ import * as React$1 from "react";
2
2
  //#region src/components/toast/Toast.context.tsx
3
3
  var ToastContext = React$1.createContext(null);
4
4
  var useToastContext = () => {
5
- const context = React$1.useContext(ToastContext);
5
+ const context = React$1.use(ToastContext);
6
6
  if (!context) throw new Error("useToastContext must be used within a ToastProvider");
7
7
  return context;
8
8
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.context.js","names":[],"sources":["../../../src/components/toast/Toast.context.tsx"],"sourcesContent":["import * as React from 'react'\nimport type { Toast } from 'react-hot-toast'\n\nexport const ToastContext = React.createContext<Pick<\n Toast,\n 'type' | 'id' | 'message'\n> | null>(null)\n\nexport const useToastContext = () => {\n const context = React.useContext(ToastContext)\n\n if (!context) {\n throw new Error('useToastContext must be used within a ToastProvider')\n }\n\n return context\n}\n"],"mappings":";;AAGA,IAAa,eAAe,QAAM,cAGxB,IAAI;AAEd,IAAa,wBAAwB;CACnC,MAAM,UAAU,QAAM,WAAW,YAAY;CAE7C,IAAI,CAAC,SACH,MAAM,IAAI,MAAM,qDAAqD;CAGvE,OAAO;AACT"}
1
+ {"version":3,"file":"Toast.context.js","names":[],"sources":["../../../src/components/toast/Toast.context.tsx"],"sourcesContent":["import * as React from 'react'\nimport type { Toast } from 'react-hot-toast'\n\nexport const ToastContext = React.createContext<Pick<\n Toast,\n 'type' | 'id' | 'message'\n> | null>(null)\n\nexport const useToastContext = () => {\n const context = React.use(ToastContext)\n\n if (!context) {\n throw new Error('useToastContext must be used within a ToastProvider')\n }\n\n return context\n}\n"],"mappings":";;AAGA,IAAa,eAAe,QAAM,cAGxB,IAAI;AAEd,IAAa,wBAAwB;CACnC,MAAM,UAAU,QAAM,IAAI,YAAY;CAEtC,IAAI,CAAC,SACH,MAAM,IAAI,MAAM,qDAAqD;CAGvE,OAAO;AACT"}
@@ -56,7 +56,7 @@ var ToastProvider = ({ children, className }) => {
56
56
  "aria-live": toast.ariaProps["aria-live"],
57
57
  style: { "--offset": `${offset}px` },
58
58
  className: "top-(--offset)",
59
- children: /* @__PURE__ */ jsx(ToastContext.Provider, {
59
+ children: /* @__PURE__ */ jsx(ToastContext, {
60
60
  value: toast,
61
61
  children: typeof children === "function" ? children(toast) : React$1.isValidElement(children) ? children : /* @__PURE__ */ jsxs(Toast, {
62
62
  className: "w-100",
@@ -1 +1 @@
1
- {"version":3,"file":"ToastProvider.js","names":[],"sources":["../../../src/components/toast/ToastProvider.tsx"],"sourcesContent":["import { Error } from '@atom-learning/icons'\nimport * as React from 'react'\nimport { useToaster } from 'react-hot-toast'\n\nimport { styled } from '../../styled'\nimport { Spacer } from '../spacer/Spacer'\nimport { Text } from '../text/Text'\nimport { Toast } from './Toast'\nimport { ToastContext } from './Toast.context'\n\nexport { toast } from 'react-hot-toast'\nexport { useToastContext } from './Toast.context'\n\nconst ToastProviderBase = /* @__PURE__ */ styled('div', {\n base: [\n 'fixed',\n 'z-2147483647',\n 'inset-safe-offset-2',\n 'pointer-events-none',\n 'sm:top-safe-offset-3'\n ]\n})\n\nconst ToastWrapper = /* @__PURE__ */ styled('div', {\n base: [\n 'absolute',\n 'w-full',\n 'flex',\n 'justify-center',\n 'items-center',\n 'rounded-sm',\n 'box-border',\n 'min-h-12',\n '[--slide-opacity-out:0]',\n '[--slide-direction-out-y:-100%]'\n ],\n variants: {\n visible: {\n true: ['motion-safe:animate-slide-direction-in'],\n false: ['opacity-0', 'motion-safe:animate-slide-direction-out']\n }\n }\n})\n\nexport const ToastProvider = ({\n children,\n className\n}: React.PropsWithChildren<{ className?: string }>) => {\n const { toasts, handlers } = useToaster()\n const { startPause, endPause, calculateOffset, updateHeight } = handlers\n\n return (\n <>\n <ToastProviderBase\n onMouseEnter={startPause}\n onMouseLeave={endPause}\n className={className}\n >\n {toasts.map((toast) => {\n const { message: children } = toast\n\n const offset = calculateOffset(toast, {\n reverseOrder: true,\n gutter: 8\n })\n\n const ref = (el: HTMLDivElement | null) => {\n if (el && toast.height === undefined) {\n updateHeight(toast.id, el.getBoundingClientRect().height)\n }\n }\n\n return (\n <ToastWrapper\n key={toast.id}\n ref={ref}\n visible={toast.visible}\n role={toast.ariaProps.role}\n aria-live={toast.ariaProps['aria-live']}\n style={{ '--offset': `${offset}px` }}\n className=\"top-(--offset)\"\n >\n <ToastContext.Provider value={toast}>\n {typeof children === 'function' ? (\n children(toast)\n ) : React.isValidElement(children) ? (\n children\n ) : (\n <Toast className=\"w-100\">\n {toast.type === 'error' && <Toast.Icon is={Error} />}\n <Text>{children}</Text>\n <Spacer />\n <Toast.Close />\n </Toast>\n )}\n </ToastContext.Provider>\n </ToastWrapper>\n )\n })}\n </ToastProviderBase>\n {children}\n </>\n )\n}\n\nToastProvider.displayName = 'ToastProvider'\n"],"mappings":";;;;;;;;;;AAaA,IAAM,oBAAoC,uBAAO,OAAO,EACtD,MAAM;CACJ;CACA;CACA;CACA;CACA;AACF,EACF,CAAC;AAED,IAAM,eAA+B,uBAAO,OAAO;CACjD,MAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,UAAU,EACR,SAAS;EACP,MAAM,CAAC,wCAAwC;EAC/C,OAAO,CAAC,aAAa,yCAAyC;CAChE,EACF;AACF,CAAC;AAED,IAAa,iBAAiB,EAC5B,UACA,gBACqD;CACrD,MAAM,EAAE,QAAQ,aAAa,WAAW;CACxC,MAAM,EAAE,YAAY,UAAU,iBAAiB,iBAAiB;CAEhE,OACE,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,mBAAD;EACE,cAAc;EACd,cAAc;EACH;YAEV,OAAO,KAAK,UAAU;GACrB,MAAM,EAAE,SAAS,aAAa;GAE9B,MAAM,SAAS,gBAAgB,OAAO;IACpC,cAAc;IACd,QAAQ;GACV,CAAC;GAED,MAAM,OAAO,OAA8B;IACzC,IAAI,MAAM,MAAM,WAAW,KAAA,GACzB,aAAa,MAAM,IAAI,GAAG,sBAAsB,CAAC,CAAC,MAAM;GAE5D;GAEA,OACE,oBAAC,cAAD;IAEO;IACL,SAAS,MAAM;IACf,MAAM,MAAM,UAAU;IACtB,aAAW,MAAM,UAAU;IAC3B,OAAO,EAAE,YAAY,GAAG,OAAO,IAAI;IACnC,WAAU;cAEV,oBAAC,aAAa,UAAd;KAAuB,OAAO;eAC3B,OAAO,aAAa,aACnB,SAAS,KAAK,IACZ,QAAM,eAAe,QAAQ,IAC/B,WAEA,qBAAC,OAAD;MAAO,WAAU;gBAAjB;OACG,MAAM,SAAS,WAAW,oBAAC,MAAM,MAAP,EAAY,IAAI,MAAQ,CAAA;OACnD,oBAAC,MAAD,EAAO,SAAe,CAAA;OACtB,oBAAC,QAAD,CAAS,CAAA;OACT,oBAAC,MAAM,OAAP,CAAc,CAAA;MACT;;IAEY,CAAA;GACX,GAtBP,MAAM,EAsBC;EAElB,CAAC;CACgB,CAAA,GAClB,QACD,EAAA,CAAA;AAEN;AAEA,cAAc,cAAc"}
1
+ {"version":3,"file":"ToastProvider.js","names":[],"sources":["../../../src/components/toast/ToastProvider.tsx"],"sourcesContent":["import { Error } from '@atom-learning/icons'\nimport * as React from 'react'\nimport { useToaster } from 'react-hot-toast'\n\nimport { styled } from '../../styled'\nimport { Spacer } from '../spacer/Spacer'\nimport { Text } from '../text/Text'\nimport { Toast } from './Toast'\nimport { ToastContext } from './Toast.context'\n\nexport { toast } from 'react-hot-toast'\nexport { useToastContext } from './Toast.context'\n\nconst ToastProviderBase = /* @__PURE__ */ styled('div', {\n base: [\n 'fixed',\n 'z-2147483647',\n 'inset-safe-offset-2',\n 'pointer-events-none',\n 'sm:top-safe-offset-3'\n ]\n})\n\nconst ToastWrapper = /* @__PURE__ */ styled('div', {\n base: [\n 'absolute',\n 'w-full',\n 'flex',\n 'justify-center',\n 'items-center',\n 'rounded-sm',\n 'box-border',\n 'min-h-12',\n '[--slide-opacity-out:0]',\n '[--slide-direction-out-y:-100%]'\n ],\n variants: {\n visible: {\n true: ['motion-safe:animate-slide-direction-in'],\n false: ['opacity-0', 'motion-safe:animate-slide-direction-out']\n }\n }\n})\n\nexport const ToastProvider = ({\n children,\n className\n}: React.PropsWithChildren<{ className?: string }>) => {\n const { toasts, handlers } = useToaster()\n const { startPause, endPause, calculateOffset, updateHeight } = handlers\n\n return (\n <>\n <ToastProviderBase\n onMouseEnter={startPause}\n onMouseLeave={endPause}\n className={className}\n >\n {toasts.map((toast) => {\n const { message: children } = toast\n\n const offset = calculateOffset(toast, {\n reverseOrder: true,\n gutter: 8\n })\n\n const ref = (el: HTMLDivElement | null) => {\n if (el && toast.height === undefined) {\n updateHeight(toast.id, el.getBoundingClientRect().height)\n }\n }\n\n return (\n <ToastWrapper\n key={toast.id}\n ref={ref}\n visible={toast.visible}\n role={toast.ariaProps.role}\n aria-live={toast.ariaProps['aria-live']}\n style={{ '--offset': `${offset}px` }}\n className=\"top-(--offset)\"\n >\n <ToastContext value={toast}>\n {typeof children === 'function' ? (\n children(toast)\n ) : React.isValidElement(children) ? (\n children\n ) : (\n <Toast className=\"w-100\">\n {toast.type === 'error' && <Toast.Icon is={Error} />}\n <Text>{children}</Text>\n <Spacer />\n <Toast.Close />\n </Toast>\n )}\n </ToastContext>\n </ToastWrapper>\n )\n })}\n </ToastProviderBase>\n {children}\n </>\n )\n}\n\nToastProvider.displayName = 'ToastProvider'\n"],"mappings":";;;;;;;;;;AAaA,IAAM,oBAAoC,uBAAO,OAAO,EACtD,MAAM;CACJ;CACA;CACA;CACA;CACA;AACF,EACF,CAAC;AAED,IAAM,eAA+B,uBAAO,OAAO;CACjD,MAAM;EACJ;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,UAAU,EACR,SAAS;EACP,MAAM,CAAC,wCAAwC;EAC/C,OAAO,CAAC,aAAa,yCAAyC;CAChE,EACF;AACF,CAAC;AAED,IAAa,iBAAiB,EAC5B,UACA,gBACqD;CACrD,MAAM,EAAE,QAAQ,aAAa,WAAW;CACxC,MAAM,EAAE,YAAY,UAAU,iBAAiB,iBAAiB;CAEhE,OACE,qBAAA,UAAA,EAAA,UAAA,CACE,oBAAC,mBAAD;EACE,cAAc;EACd,cAAc;EACH;YAEV,OAAO,KAAK,UAAU;GACrB,MAAM,EAAE,SAAS,aAAa;GAE9B,MAAM,SAAS,gBAAgB,OAAO;IACpC,cAAc;IACd,QAAQ;GACV,CAAC;GAED,MAAM,OAAO,OAA8B;IACzC,IAAI,MAAM,MAAM,WAAW,KAAA,GACzB,aAAa,MAAM,IAAI,GAAG,sBAAsB,CAAC,CAAC,MAAM;GAE5D;GAEA,OACE,oBAAC,cAAD;IAEO;IACL,SAAS,MAAM;IACf,MAAM,MAAM,UAAU;IACtB,aAAW,MAAM,UAAU;IAC3B,OAAO,EAAE,YAAY,GAAG,OAAO,IAAI;IACnC,WAAU;cAEV,oBAAC,cAAD;KAAc,OAAO;eAClB,OAAO,aAAa,aACnB,SAAS,KAAK,IACZ,QAAM,eAAe,QAAQ,IAC/B,WAEA,qBAAC,OAAD;MAAO,WAAU;gBAAjB;OACG,MAAM,SAAS,WAAW,oBAAC,MAAM,MAAP,EAAY,IAAI,MAAQ,CAAA;OACnD,oBAAC,MAAD,EAAO,SAAe,CAAA;OACtB,oBAAC,QAAD,CAAS,CAAA;OACT,oBAAC,MAAM,OAAP,CAAc,CAAA;MACT;;IAEG,CAAA;GACF,GAtBP,MAAM,EAsBC;EAElB,CAAC;CACgB,CAAA,GAClB,QACD,EAAA,CAAA;AAEN;AAEA,cAAc,cAAc"}
@@ -1,8 +1,8 @@
1
1
  import { Root } from '@radix-ui/react-collapsible';
2
2
  import * as React from 'react';
3
3
  type TreeCollapsibleContextValue = {
4
- triggerRef?: React.MutableRefObject<HTMLElement | null>;
5
- setTriggerRef?: (HTMLElement: any) => void;
4
+ triggerRef?: React.RefObject<HTMLElement | null>;
5
+ setTriggerRef?: (el: HTMLElement | null) => void | (() => void);
6
6
  };
7
7
  export declare const TreeCollapsibleContext: React.Context<TreeCollapsibleContextValue>;
8
8
  declare const StyledCollapsibleTreeItemRoot: import("../..").PolymorphicComponent<React.ForwardRefExoticComponent<import("@radix-ui/react-collapsible").CollapsibleProps & React.RefAttributes<HTMLDivElement>>, unknown>;
@@ -8,11 +8,11 @@ import { Root } from "@radix-ui/react-collapsible";
8
8
  var TreeCollapsibleContext = React$1.createContext({});
9
9
  var TreeCollapsibleProvider = ({ children }) => {
10
10
  const [triggerRef, setTriggerRef] = useCallbackRef();
11
- return /* @__PURE__ */ jsx(TreeCollapsibleContext.Provider, {
12
- value: {
11
+ return /* @__PURE__ */ jsx(TreeCollapsibleContext, {
12
+ value: React$1.useMemo(() => ({
13
13
  triggerRef,
14
14
  setTriggerRef
15
- },
15
+ }), [triggerRef, setTriggerRef]),
16
16
  children
17
17
  });
18
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TreeCollapsible.js","names":[],"sources":["../../../src/components/tree/TreeCollapsible.tsx"],"sourcesContent":["import { Root } from '@radix-ui/react-collapsible'\nimport * as React from 'react'\n\nimport { styled } from '../../styled'\nimport { useCallbackRef } from '../../utilities/hooks/useCallbackRef'\nimport { TreeListItem } from './TreeListItem'\n\ntype TreeCollapsibleContextValue = {\n triggerRef?: React.MutableRefObject<HTMLElement | null>\n setTriggerRef?: (HTMLElement) => void\n}\nexport const TreeCollapsibleContext =\n React.createContext<TreeCollapsibleContextValue>({})\nconst TreeCollapsibleProvider = ({ children }) => {\n const [triggerRef, setTriggerRef] = useCallbackRef()\n return (\n <TreeCollapsibleContext.Provider value={{ triggerRef, setTriggerRef }}>\n {children}\n </TreeCollapsibleContext.Provider>\n )\n}\n\nconst StyledCollapsibleTreeItemRoot = /* @__PURE__ */ styled(Root, {\n base: ['w-full']\n})\n\ntype TreeCollapsibleProps = React.ComponentProps<typeof Root> &\n React.ComponentProps<typeof StyledCollapsibleTreeItemRoot>\nexport const TreeCollapsible = ({\n ref,\n ...props\n}: TreeCollapsibleProps & {\n ref?: React.Ref<HTMLLIElement>\n}) => (\n <TreeListItem ref={ref}>\n <TreeCollapsibleProvider>\n <StyledCollapsibleTreeItemRoot {...props} />\n </TreeCollapsibleProvider>\n </TreeListItem>\n)\n"],"mappings":";;;;;;;AAWA,IAAa,yBACX,QAAM,cAA2C,CAAC,CAAC;AACrD,IAAM,2BAA2B,EAAE,eAAe;CAChD,MAAM,CAAC,YAAY,iBAAiB,eAAe;CACnD,OACE,oBAAC,uBAAuB,UAAxB;EAAiC,OAAO;GAAE;GAAY;EAAc;EACjE;CAC8B,CAAA;AAErC;AAEA,IAAM,gCAAgD,uBAAO,MAAM,EACjE,MAAM,CAAC,QAAQ,EACjB,CAAC;AAID,IAAa,mBAAmB,EAC9B,KACA,GAAG,YAIH,oBAAC,cAAD;CAAmB;WACjB,oBAAC,yBAAD,EAAA,UACE,oBAAC,+BAAD,EAA+B,GAAI,MAAQ,CAAA,EACpB,CAAA;AACb,CAAA"}
1
+ {"version":3,"file":"TreeCollapsible.js","names":[],"sources":["../../../src/components/tree/TreeCollapsible.tsx"],"sourcesContent":["import { Root } from '@radix-ui/react-collapsible'\nimport * as React from 'react'\n\nimport { styled } from '../../styled'\nimport { useCallbackRef } from '../../utilities/hooks/useCallbackRef'\nimport { TreeListItem } from './TreeListItem'\n\ntype TreeCollapsibleContextValue = {\n triggerRef?: React.RefObject<HTMLElement | null>\n setTriggerRef?: (el: HTMLElement | null) => void | (() => void)\n}\nexport const TreeCollapsibleContext =\n React.createContext<TreeCollapsibleContextValue>({})\nconst TreeCollapsibleProvider = ({ children }) => {\n const [triggerRef, setTriggerRef] = useCallbackRef()\n const value = React.useMemo(\n () => ({ triggerRef, setTriggerRef }),\n [triggerRef, setTriggerRef]\n )\n return (\n <TreeCollapsibleContext value={value}>{children}</TreeCollapsibleContext>\n )\n}\n\nconst StyledCollapsibleTreeItemRoot = /* @__PURE__ */ styled(Root, {\n base: ['w-full']\n})\n\ntype TreeCollapsibleProps = React.ComponentProps<typeof Root> &\n React.ComponentProps<typeof StyledCollapsibleTreeItemRoot>\nexport const TreeCollapsible = ({\n ref,\n ...props\n}: TreeCollapsibleProps & {\n ref?: React.Ref<HTMLLIElement>\n}) => (\n <TreeListItem ref={ref}>\n <TreeCollapsibleProvider>\n <StyledCollapsibleTreeItemRoot {...props} />\n </TreeCollapsibleProvider>\n </TreeListItem>\n)\n"],"mappings":";;;;;;;AAWA,IAAa,yBACX,QAAM,cAA2C,CAAC,CAAC;AACrD,IAAM,2BAA2B,EAAE,eAAe;CAChD,MAAM,CAAC,YAAY,iBAAiB,eAAe;CAKnD,OACE,oBAAC,wBAAD;EAA+B,OALnB,QAAM,eACX;GAAE;GAAY;EAAc,IACnC,CAAC,YAAY,aAAa,CAGK;EAAQ;CAAiC,CAAA;AAE5E;AAEA,IAAM,gCAAgD,uBAAO,MAAM,EACjE,MAAM,CAAC,QAAQ,EACjB,CAAC;AAID,IAAa,mBAAmB,EAC9B,KACA,GAAG,YAIH,oBAAC,cAAD;CAAmB;WACjB,oBAAC,yBAAD,EAAA,UACE,oBAAC,+BAAD,EAA+B,GAAI,MAAQ,CAAA,EACpB,CAAA;AACb,CAAA"}
@@ -6,7 +6,7 @@ import { jsx } from "react/jsx-runtime";
6
6
  import { Content } from "@radix-ui/react-collapsible";
7
7
  //#region src/components/tree/TreeCollapsibleContent.tsx
8
8
  var TreeCollapsibleContent = ({ ref, children, className, ...rest }) => {
9
- const { triggerRef } = React$1.useContext(TreeCollapsibleContext);
9
+ const { triggerRef } = React$1.use(TreeCollapsibleContext);
10
10
  const handleOnKeydown = (e) => {
11
11
  if (!triggerRef?.current) return;
12
12
  if (e.key === "Escape") {
@@ -1 +1 @@
1
- {"version":3,"file":"TreeCollapsibleContent.js","names":[],"sources":["../../../src/components/tree/TreeCollapsibleContent.tsx"],"sourcesContent":["import { Content } from '@radix-ui/react-collapsible'\nimport * as React from 'react'\n\nimport { cn } from '../../styled'\nimport { TreeCollapsibleContext } from './TreeCollapsible'\nimport { TreeList } from './TreeList'\n\ntype TreeCollapsibleContentProps = React.ComponentProps<typeof Content> &\n React.ComponentProps<typeof TreeList> & {\n ref?: React.Ref<HTMLUListElement>\n }\n\nexport const TreeCollapsibleContent = ({\n ref,\n children,\n className,\n ...rest\n}: TreeCollapsibleContentProps) => {\n const { triggerRef } = React.useContext(TreeCollapsibleContext)\n\n const handleOnKeydown = (e) => {\n if (!triggerRef?.current) return\n if (e.key === 'Escape') {\n e.stopPropagation()\n e.preventDefault()\n triggerRef.current.focus()\n triggerRef.current.click()\n }\n }\n\n return (\n <Content\n className={cn('data-[state=closed]:hidden', className)}\n onKeyDown={handleOnKeydown}\n {...rest}\n asChild\n >\n <TreeList ref={ref} role=\"group\">\n {children}\n </TreeList>\n </Content>\n )\n}\n"],"mappings":";;;;;;;AAYA,IAAa,0BAA0B,EACrC,KACA,UACA,WACA,GAAG,WAC8B;CACjC,MAAM,EAAE,eAAe,QAAM,WAAW,sBAAsB;CAE9D,MAAM,mBAAmB,MAAM;EAC7B,IAAI,CAAC,YAAY,SAAS;EAC1B,IAAI,EAAE,QAAQ,UAAU;GACtB,EAAE,gBAAgB;GAClB,EAAE,eAAe;GACjB,WAAW,QAAQ,MAAM;GACzB,WAAW,QAAQ,MAAM;EAC3B;CACF;CAEA,OACE,oBAAC,SAAD;EACE,WAAW,GAAG,8BAA8B,SAAS;EACrD,WAAW;EACX,GAAI;EACJ,SAAA;YAEA,oBAAC,UAAD;GAAe;GAAK,MAAK;GACtB;EACO,CAAA;CACH,CAAA;AAEb"}
1
+ {"version":3,"file":"TreeCollapsibleContent.js","names":[],"sources":["../../../src/components/tree/TreeCollapsibleContent.tsx"],"sourcesContent":["import { Content } from '@radix-ui/react-collapsible'\nimport * as React from 'react'\n\nimport { cn } from '../../styled'\nimport { TreeCollapsibleContext } from './TreeCollapsible'\nimport { TreeList } from './TreeList'\n\ntype TreeCollapsibleContentProps = React.ComponentProps<typeof Content> &\n React.ComponentProps<typeof TreeList> & {\n ref?: React.Ref<HTMLUListElement>\n }\n\nexport const TreeCollapsibleContent = ({\n ref,\n children,\n className,\n ...rest\n}: TreeCollapsibleContentProps) => {\n const { triggerRef } = React.use(TreeCollapsibleContext)\n\n const handleOnKeydown = (e) => {\n if (!triggerRef?.current) return\n if (e.key === 'Escape') {\n e.stopPropagation()\n e.preventDefault()\n triggerRef.current.focus()\n triggerRef.current.click()\n }\n }\n\n return (\n <Content\n className={cn('data-[state=closed]:hidden', className)}\n onKeyDown={handleOnKeydown}\n {...rest}\n asChild\n >\n <TreeList ref={ref} role=\"group\">\n {children}\n </TreeList>\n </Content>\n )\n}\n"],"mappings":";;;;;;;AAYA,IAAa,0BAA0B,EACrC,KACA,UACA,WACA,GAAG,WAC8B;CACjC,MAAM,EAAE,eAAe,QAAM,IAAI,sBAAsB;CAEvD,MAAM,mBAAmB,MAAM;EAC7B,IAAI,CAAC,YAAY,SAAS;EAC1B,IAAI,EAAE,QAAQ,UAAU;GACtB,EAAE,gBAAgB;GAClB,EAAE,eAAe;GACjB,WAAW,QAAQ,MAAM;GACzB,WAAW,QAAQ,MAAM;EAC3B;CACF;CAEA,OACE,oBAAC,SAAD;EACE,WAAW,GAAG,8BAA8B,SAAS;EACrD,WAAW;EACX,GAAI;EACJ,SAAA;YAEA,oBAAC,UAAD;GAAe;GAAK,MAAK;GACtB;EACO,CAAA;CACH,CAAA;AAEb"}
@@ -19,7 +19,7 @@ var StyledActionIcon = styled(ActionIcon, { base: [
19
19
  "[&[data-state=open]>svg]:rotate-0"
20
20
  ] });
21
21
  var TreeCollapsibleTrigger = ({ children, label, className, onClick, ...rest }) => {
22
- const { setTriggerRef, triggerRef } = React$1.useContext(TreeCollapsibleContext);
22
+ const { setTriggerRef, triggerRef } = React$1.use(TreeCollapsibleContext);
23
23
  return /* @__PURE__ */ jsxs(TreeItemContent, {
24
24
  ...rest,
25
25
  className: cn("cursor-pointer", className),
@@ -1 +1 @@
1
- {"version":3,"file":"TreeCollapsibleTrigger.js","names":[],"sources":["../../../src/components/tree/TreeCollapsibleTrigger.tsx"],"sourcesContent":["import { ChevronDown } from '@atom-learning/icons'\nimport { Trigger } from '@radix-ui/react-collapsible'\nimport * as React from 'react'\n\nimport { styled, cn } from '../../styled'\nimport { ActionIcon } from '../action-icon/ActionIcon'\nimport { Icon } from '../icon/Icon'\nimport { TreeCollapsibleContext } from './TreeCollapsible'\nimport { TreeItemContent } from './TreeItemContent'\n\nconst StyledActionIcon = styled(ActionIcon, {\n base: [\n 'absolute',\n 'left-0',\n 'top-0',\n 'pointer-events-none',\n '[&_svg]:duration-300',\n '[&_svg]:transition-transform',\n '[&[data-state=closed]>svg]:-rotate-90',\n '[&[data-state=open]>svg]:rotate-0'\n ]\n})\n\ntype NavigationMenuCollapsibleTriggerProps = React.ComponentProps<\n typeof TreeItemContent\n> & {\n label: string\n}\n\nexport const TreeCollapsibleTrigger = ({\n children,\n label,\n className,\n onClick,\n ...rest\n}: NavigationMenuCollapsibleTriggerProps) => {\n const { setTriggerRef, triggerRef } = React.useContext(TreeCollapsibleContext)\n\n return (\n <TreeItemContent\n {...rest}\n className={cn('cursor-pointer', className)}\n onClick={(event) => {\n onClick?.(event)\n triggerRef?.current?.click()\n }}\n >\n <Trigger asChild>\n <StyledActionIcon\n size=\"sm\"\n ref={setTriggerRef}\n label={label}\n theme=\"neutral\"\n hasTooltip={false}\n onClick={(e) => e.stopPropagation()}\n >\n <Icon is={ChevronDown} />\n </StyledActionIcon>\n </Trigger>\n {children}\n </TreeItemContent>\n )\n}\n"],"mappings":";;;;;;;;;;AAUA,IAAM,mBAAmB,OAAO,YAAY,EAC1C,MAAM;CACJ;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,EACF,CAAC;AAQD,IAAa,0BAA0B,EACrC,UACA,OACA,WACA,SACA,GAAG,WACwC;CAC3C,MAAM,EAAE,eAAe,eAAe,QAAM,WAAW,sBAAsB;CAE7E,OACE,qBAAC,iBAAD;EACE,GAAI;EACJ,WAAW,GAAG,kBAAkB,SAAS;EACzC,UAAU,UAAU;GAClB,UAAU,KAAK;GACf,YAAY,SAAS,MAAM;EAC7B;YANF,CAQE,oBAAC,SAAD;GAAS,SAAA;aACP,oBAAC,kBAAD;IACE,MAAK;IACL,KAAK;IACE;IACP,OAAM;IACN,YAAY;IACZ,UAAU,MAAM,EAAE,gBAAgB;cAElC,oBAAC,MAAD,EAAM,IAAI,YAAc,CAAA;GACR,CAAA;EACX,CAAA,GACR,QACc;;AAErB"}
1
+ {"version":3,"file":"TreeCollapsibleTrigger.js","names":[],"sources":["../../../src/components/tree/TreeCollapsibleTrigger.tsx"],"sourcesContent":["import { ChevronDown } from '@atom-learning/icons'\nimport { Trigger } from '@radix-ui/react-collapsible'\nimport * as React from 'react'\n\nimport { styled, cn } from '../../styled'\nimport { ActionIcon } from '../action-icon/ActionIcon'\nimport { Icon } from '../icon/Icon'\nimport { TreeCollapsibleContext } from './TreeCollapsible'\nimport { TreeItemContent } from './TreeItemContent'\n\nconst StyledActionIcon = styled(ActionIcon, {\n base: [\n 'absolute',\n 'left-0',\n 'top-0',\n 'pointer-events-none',\n '[&_svg]:duration-300',\n '[&_svg]:transition-transform',\n '[&[data-state=closed]>svg]:-rotate-90',\n '[&[data-state=open]>svg]:rotate-0'\n ]\n})\n\ntype NavigationMenuCollapsibleTriggerProps = React.ComponentProps<\n typeof TreeItemContent\n> & {\n label: string\n}\n\nexport const TreeCollapsibleTrigger = ({\n children,\n label,\n className,\n onClick,\n ...rest\n}: NavigationMenuCollapsibleTriggerProps) => {\n const { setTriggerRef, triggerRef } = React.use(TreeCollapsibleContext)\n\n return (\n <TreeItemContent\n {...rest}\n className={cn('cursor-pointer', className)}\n onClick={(event) => {\n onClick?.(event)\n triggerRef?.current?.click()\n }}\n >\n <Trigger asChild>\n <StyledActionIcon\n size=\"sm\"\n ref={setTriggerRef}\n label={label}\n theme=\"neutral\"\n hasTooltip={false}\n onClick={(e) => e.stopPropagation()}\n >\n <Icon is={ChevronDown} />\n </StyledActionIcon>\n </Trigger>\n {children}\n </TreeItemContent>\n )\n}\n"],"mappings":";;;;;;;;;;AAUA,IAAM,mBAAmB,OAAO,YAAY,EAC1C,MAAM;CACJ;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AACF,EACF,CAAC;AAQD,IAAa,0BAA0B,EACrC,UACA,OACA,WACA,SACA,GAAG,WACwC;CAC3C,MAAM,EAAE,eAAe,eAAe,QAAM,IAAI,sBAAsB;CAEtE,OACE,qBAAC,iBAAD;EACE,GAAI;EACJ,WAAW,GAAG,kBAAkB,SAAS;EACzC,UAAU,UAAU;GAClB,UAAU,KAAK;GACf,YAAY,SAAS,MAAM;EAC7B;YANF,CAQE,oBAAC,SAAD;GAAS,SAAA;aACP,oBAAC,kBAAD;IACE,MAAK;IACL,KAAK;IACE;IACP,OAAM;IACN,YAAY;IACZ,UAAU,MAAM,EAAE,gBAAgB;cAElC,oBAAC,MAAD,EAAM,IAAI,YAAc,CAAA;GACR,CAAA;EACX,CAAA,GACR,QACc;;AAErB"}