@atom-learning/components 2.41.1 → 2.42.1

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 (107) hide show
  1. package/CHANGELOG.md +2 -3
  2. package/dist/components/accordion/AccordionItem.js +1 -1
  3. package/dist/components/action-icon/ActionIcon.js +1 -1
  4. package/dist/components/avatar/Avatar.js +1 -1
  5. package/dist/components/calendar/Calendar.js +1 -1
  6. package/dist/components/carousel/CarouselArrows.js +1 -1
  7. package/dist/components/carousel/CarouselSlide.js +1 -1
  8. package/dist/components/chip/Chip.js +1 -1
  9. package/dist/components/chip/ChipGroup.js +1 -1
  10. package/dist/components/chip-dismissible-group/ChipDismissibleGroupRoot.js +1 -1
  11. package/dist/components/data-table/DataTable.js +1 -1
  12. package/dist/components/data-table/DataTable.js.map +1 -1
  13. package/dist/components/data-table/DataTable.types.js.map +1 -1
  14. package/dist/components/data-table/DataTableBody.js +1 -1
  15. package/dist/components/data-table/DataTableDataCell.js +1 -1
  16. package/dist/components/data-table/DataTableRow.js +1 -1
  17. package/dist/components/data-table/drag-and-drop/DragAndDropTable.d.ts +6 -1
  18. package/dist/components/data-table/drag-and-drop/DragAndDropTable.js +1 -1
  19. package/dist/components/data-table/drag-and-drop/DragAndDropTable.js.map +1 -1
  20. package/dist/components/data-table/drag-and-drop/DragAndDropTableBody.d.ts +3 -1
  21. package/dist/components/data-table/drag-and-drop/DragAndDropTableBody.js +1 -1
  22. package/dist/components/data-table/drag-and-drop/DragAndDropTableBody.js.map +1 -1
  23. package/dist/components/data-table/drag-and-drop/{DraggableRow.d.ts → DragAndDropTableRow.d.ts} +2 -1
  24. package/dist/components/data-table/drag-and-drop/DragAndDropTableRow.js +2 -0
  25. package/dist/components/data-table/drag-and-drop/DragAndDropTableRow.js.map +1 -0
  26. package/dist/components/data-table/drag-and-drop/index.d.ts +0 -3
  27. package/dist/components/dialog/DialogContent.js +1 -1
  28. package/dist/components/dismissible/DismissibleRoot.js +1 -1
  29. package/dist/components/dismissible/DismissibleTrigger.js +1 -1
  30. package/dist/components/dropdown-menu/DropdownMenuLinkItem.js +1 -1
  31. package/dist/components/field-wrapper/FieldDescription.js +1 -1
  32. package/dist/components/field-wrapper/InlineFieldWrapper.js +1 -1
  33. package/dist/components/file-input/FileInput.js +1 -1
  34. package/dist/components/grid/Grid.js +1 -1
  35. package/dist/components/icon/Icon.js +1 -1
  36. package/dist/components/index.d.ts +1 -0
  37. package/dist/components/inline-message/InlineMessage.js +1 -1
  38. package/dist/components/label/Label.js +1 -1
  39. package/dist/components/link/Link.js +1 -1
  40. package/dist/components/list/List.js +1 -1
  41. package/dist/components/markdown-content/components/MarkdownEmphasis.js +1 -1
  42. package/dist/components/markdown-content/components/MarkdownHeading.js +1 -1
  43. package/dist/components/markdown-content/components/MarkdownImage.js +1 -1
  44. package/dist/components/markdown-content/components/MarkdownInlineCode.js +1 -1
  45. package/dist/components/markdown-content/components/MarkdownLink.js +1 -1
  46. package/dist/components/markdown-content/components/MarkdownListItem.js +1 -1
  47. package/dist/components/markdown-content/components/MarkdownParagraph.js +1 -1
  48. package/dist/components/markdown-content/components/MarkdownStrong.js +1 -1
  49. package/dist/components/markdown-content/components/MarkdownThematicBreak.js +1 -1
  50. package/dist/components/navigation/NavigationMenuDropdownContent.js +1 -1
  51. package/dist/components/navigation/NavigationMenuLink.js +1 -1
  52. package/dist/components/notification-badge/NotificationBadge.js +1 -1
  53. package/dist/components/number-input/NumberInput.js +1 -1
  54. package/dist/components/number-input-field/NumberInputField.js +1 -1
  55. package/dist/components/popover/PopoverContent.js +1 -1
  56. package/dist/components/radio-button/RadioButton.js +1 -1
  57. package/dist/components/radio-button-field/RadioButtonField.js +1 -1
  58. package/dist/components/radio-button-field/RadioField.js +1 -1
  59. package/dist/components/radio-card/RadioCardGroup.js +1 -1
  60. package/dist/components/search-input/SearchInput.js +1 -1
  61. package/dist/components/select-field/SelectField.js +1 -1
  62. package/dist/components/sidedrawer/SidedrawerAccordion/SidedrawerAccordionContent.js +1 -1
  63. package/dist/components/sidedrawer/SidedrawerContent.js +1 -1
  64. package/dist/components/{data-table/drag-and-drop → sortable}/Handle.d.ts +5 -6
  65. package/dist/components/sortable/Handle.js +2 -0
  66. package/dist/components/sortable/Handle.js.map +1 -0
  67. package/dist/components/sortable/SortableHandle.d.ts +8 -0
  68. package/dist/components/sortable/SortableHandle.js +2 -0
  69. package/dist/components/sortable/SortableHandle.js.map +1 -0
  70. package/dist/components/sortable/SortableItem.d.ts +11 -0
  71. package/dist/components/sortable/SortableItem.js +2 -0
  72. package/dist/components/sortable/SortableItem.js.map +1 -0
  73. package/dist/components/sortable/SortableRoot.d.ts +12 -0
  74. package/dist/components/sortable/SortableRoot.js +2 -0
  75. package/dist/components/sortable/SortableRoot.js.map +1 -0
  76. package/dist/components/sortable/index.d.ts +13 -0
  77. package/dist/components/sortable/index.js +2 -0
  78. package/dist/components/sortable/index.js.map +1 -0
  79. package/dist/components/stack-content/StackContent.js +1 -1
  80. package/dist/components/stepper/StepperStepBack.js +1 -1
  81. package/dist/components/table/TableHeader.js +1 -1
  82. package/dist/components/table/TableRow.js +1 -1
  83. package/dist/components/table/TableStickyColumnsContainer.js +1 -1
  84. package/dist/components/table/useStickyColumnsCss.js +1 -1
  85. package/dist/components/tabs/Tabs.js +1 -1
  86. package/dist/components/tabs/TabsTrigger.js +1 -1
  87. package/dist/components/text/Text.js +1 -1
  88. package/dist/components/toast/Toast.js +1 -1
  89. package/dist/components/toast/ToastProvider.js +1 -1
  90. package/dist/components/toggle-group/ToggleGroupButton.js +1 -1
  91. package/dist/components/tooltip/TooltipContent.js +1 -1
  92. package/dist/components/video/Video.js +1 -1
  93. package/dist/docgen.json +1 -1
  94. package/dist/experiments/color-scheme/ColorScheme.js +1 -1
  95. package/dist/index.cjs.js +1 -1
  96. package/dist/index.cjs.js.map +1 -1
  97. package/dist/index.js +1 -1
  98. package/dist/utilities/hooks/useCallbackRef.js +1 -1
  99. package/dist/utilities/hooks/useResizeObserver.js +1 -1
  100. package/package.json +1 -1
  101. package/dist/components/data-table/drag-and-drop/DragAndDropContainer.d.ts +0 -24
  102. package/dist/components/data-table/drag-and-drop/DragAndDropContainer.js +0 -2
  103. package/dist/components/data-table/drag-and-drop/DragAndDropContainer.js.map +0 -1
  104. package/dist/components/data-table/drag-and-drop/DraggableRow.js +0 -2
  105. package/dist/components/data-table/drag-and-drop/DraggableRow.js.map +0 -1
  106. package/dist/components/data-table/drag-and-drop/Handle.js +0 -2
  107. package/dist/components/data-table/drag-and-drop/Handle.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import{Accordion as p}from"./components/accordion/Accordion.js";import{ActionIcon as x}from"./components/action-icon/ActionIcon.js";import{AlertDialog as i}from"./components/alert-dialog/AlertDialog.js";import{AlertProvider as l,useAlert as d}from"./components/alert-dialog/alert-context/AlertContext.js";import{Avatar as n}from"./components/avatar/Avatar.js";import{Badge as c}from"./components/badge/Badge.js";import{Box as C}from"./components/box/Box.js";import{Button as g,StyledButton as F}from"./components/button/Button.js";import{Carousel as h,useCarousel as I}from"./components/carousel/Carousel.js";import{Checkbox as D}from"./components/checkbox/Checkbox.js";import{CheckboxField as G}from"./components/checkbox-field/CheckboxField.js";import{Chip as w}from"./components/chip/Chip.js";import{ChipGroup as A}from"./components/chip/ChipGroup.js";import{ChipDismissibleGroup as L}from"./components/chip-dismissible-group/index.js";import{ChipToggleGroup as M}from"./components/chip-toggle-group/index.js";import{Combobox as V}from"./components/combobox/Combobox.js";import{useDataTable as E}from"./components/data-table/DataTableContext.js";import{DataTable as j}from"./components/data-table/DataTable.js";import{DateField as z}from"./components/date-field/DateField.js";import{DateInput as K}from"./components/date-input/DateInput.js";import{Dialog as Q}from"./components/dialog/Dialog.js";import{Dismissible as X}from"./components/dismissible/index.js";import{DismissibleGroup as Z}from"./components/dismissible-group/index.js";import{Divider as $}from"./components/divider/Divider.js";import{DropdownMenu as ro}from"./components/dropdown-menu/DropdownMenu.js";import{EmptyState as to}from"./components/empty-state/EmptyState.js";import{FieldWrapper as mo}from"./components/field-wrapper/FieldWrapper.js";import{InlineFieldWrapper as fo}from"./components/field-wrapper/InlineFieldWrapper.js";import{FileInput as ao}from"./components/file-input/FileInput.js";import{Flex as so}from"./components/flex/Flex.js";import{Form as uo}from"./components/form/Form.js";import"dlv";import"react-hook-form";import{Grid as bo}from"./components/grid/Grid.js";import{Heading as So}from"./components/heading/Heading.js";import{Icon as Fo}from"./components/icon/Icon.js";import{Image as ho}from"./components/image/Image.js";import{InlineMessage as Bo}from"./components/inline-message/InlineMessage.js";import{Input as ko}from"./components/input/Input.js";import{InputField as vo}from"./components/input-field/InputField.js";import{Label as yo}from"./components/label/Label.js";import{Link as Po,StyledLink as Lo}from"./components/link/Link.js";import{List as Mo}from"./components/list/List.js";import{Loader as Vo}from"./components/loader/Loader.js";import{MarkdownContent as Eo}from"./components/markdown-content/MarkdownContent.js";import{NavigationMenu as jo}from"./components/navigation/NavigationMenu.js";import{NotificationBadge as zo}from"./components/notification-badge/NotificationBadge.js";import{NumberInput as Ko}from"./components/number-input/NumberInput.js";import{NumberInputField as Qo}from"./components/number-input-field/NumberInputField.js";import{PasswordField as Xo}from"./components/password-field/PasswordField.js";import{PasswordInput as Zo}from"./components/password-input/PasswordInput.js";import{Popover as $o}from"./components/popover/Popover.js";import{ProgressBar as rr}from"./components/progress-bar/ProgressBar.js";import{RadioButton as tr}from"./components/radio-button/RadioButton.js";import{RadioButtonGroup as mr}from"./components/radio-button/RadioButtonGroup.js";import{RadioButtonField as fr}from"./components/radio-button-field/RadioButtonField.js";import{RadioCard as ar}from"./components/radio-card/RadioCard.js";import{RadioCardGroup as dr}from"./components/radio-card/RadioCardGroup.js";import{SearchField as nr}from"./components/search-field/SearchField.js";import{SearchInput as cr}from"./components/search-input/SearchInput.js";import{Select as Cr}from"./components/select/Select.js";import{SelectField as gr}from"./components/select-field/SelectField.js";import{Sidedrawer as Tr}from"./components/sidedrawer/Sidedrawer.js";import{Slider as Ir}from"./components/slider/Slider.js";import{SliderField as Dr}from"./components/slider-field/SliderField.js";import{Stack as Gr}from"./components/stack/Stack.js";import{StackContent as wr}from"./components/stack-content/StackContent.js";import{Stepper as Ar}from"./components/stepper/Stepper.js";import{Switch as Lr}from"./components/switch/Switch.js";import{Table as Mr}from"./components/table/Table.js";import{Tabs as Vr}from"./components/tabs/Tabs.js";import{Text as Er}from"./components/text/Text.js";import{Textarea as jr}from"./components/textarea/Textarea.js";import{TextareaField as zr}from"./components/textarea-field/TextareaField.js";import{ToastProvider as Kr}from"./components/toast/ToastProvider.js";import{ToggleGroup as Qr}from"./components/toggle-group/index.js";import{Tooltip as Xr}from"./components/tooltip/Tooltip.js";import{TopBar as Zr}from"./components/top-bar/TopBar.js";import{Video as $r}from"./components/video/Video.js";import{createTheme as re,css as ee,getCssText as te,globalCss as pe,keyframes as me,media as xe,styled as fe,theme as ie,utils as ae}from"./stitches.js";import{ColorScheme as de}from"./experiments/color-scheme/ColorScheme.js";import{createThemeVariants as ne}from"./utilities/create-theme-variants/createThemeVariants.js";import{focusVisibleStyleBlock as ce}from"./utilities/style/focus-visible-style-block.js";import{default as Ce}from"react-hot-toast";export{p as Accordion,x as ActionIcon,i as AlertDialog,l as AlertProvider,n as Avatar,c as Badge,C as Box,g as Button,h as Carousel,D as Checkbox,G as CheckboxField,w as Chip,L as ChipDismissibleGroup,A as ChipGroup,M as ChipToggleGroup,de as ColorScheme,V as Combobox,j as DataTable,z as DateField,K as DateInput,Q as Dialog,X as Dismissible,Z as DismissibleGroup,$ as Divider,ro as DropdownMenu,to as EmptyState,mo as FieldWrapper,ao as FileInput,so as Flex,uo as Form,bo as Grid,So as Heading,Fo as Icon,ho as Image,fo as InlineFieldWrapper,Bo as InlineMessage,ko as Input,vo as InputField,yo as Label,Po as Link,Mo as List,Vo as Loader,Eo as MarkdownContent,jo as NavigationMenu,zo as NotificationBadge,Ko as NumberInput,Qo as NumberInputField,Xo as PasswordField,Zo as PasswordInput,$o as Popover,rr as ProgressBar,tr as RadioButton,fr as RadioButtonField,mr as RadioButtonGroup,ar as RadioCard,dr as RadioCardGroup,nr as SearchField,cr as SearchInput,Cr as Select,gr as SelectField,Tr as Sidedrawer,Ir as Slider,Dr as SliderField,Gr as Stack,wr as StackContent,Ar as Stepper,F as StyledButton,Lo as StyledLink,Lr as Switch,Mr as Table,Vr as Tabs,Er as Text,jr as Textarea,zr as TextareaField,Kr as ToastProvider,Qr as ToggleGroup,Xr as Tooltip,Zr as TopBar,$r as Video,re as createTheme,ne as createThemeVariants,ee as css,ce as focusVisibleStyleBlock,te as getCssText,pe as globalCss,me as keyframes,xe as media,fe as styled,ie as theme,Ce as toast,d as useAlert,I as useCarousel,E as useDataTable,ae as utils};
1
+ import{Accordion as p}from"./components/accordion/Accordion.js";import{ActionIcon as x}from"./components/action-icon/ActionIcon.js";import{AlertDialog as i}from"./components/alert-dialog/AlertDialog.js";import{AlertProvider as l,useAlert as d}from"./components/alert-dialog/alert-context/AlertContext.js";import{Avatar as n}from"./components/avatar/Avatar.js";import{Badge as c}from"./components/badge/Badge.js";import{Box as S}from"./components/box/Box.js";import{Button as g,StyledButton as F}from"./components/button/Button.js";import{Carousel as h,useCarousel as I}from"./components/carousel/Carousel.js";import{Checkbox as D}from"./components/checkbox/Checkbox.js";import{CheckboxField as G}from"./components/checkbox-field/CheckboxField.js";import{Chip as w}from"./components/chip/Chip.js";import{ChipGroup as A}from"./components/chip/ChipGroup.js";import{ChipDismissibleGroup as L}from"./components/chip-dismissible-group/index.js";import{ChipToggleGroup as M}from"./components/chip-toggle-group/index.js";import{Combobox as V}from"./components/combobox/Combobox.js";import{useDataTable as E}from"./components/data-table/DataTableContext.js";import{DataTable as j}from"./components/data-table/DataTable.js";import{DateField as z}from"./components/date-field/DateField.js";import{DateInput as K}from"./components/date-input/DateInput.js";import{Dialog as Q}from"./components/dialog/Dialog.js";import{Dismissible as X}from"./components/dismissible/index.js";import{DismissibleGroup as Z}from"./components/dismissible-group/index.js";import{Divider as $}from"./components/divider/Divider.js";import{DropdownMenu as ro}from"./components/dropdown-menu/DropdownMenu.js";import{EmptyState as to}from"./components/empty-state/EmptyState.js";import{FieldWrapper as mo}from"./components/field-wrapper/FieldWrapper.js";import{InlineFieldWrapper as fo}from"./components/field-wrapper/InlineFieldWrapper.js";import{FileInput as ao}from"./components/file-input/FileInput.js";import{Flex as so}from"./components/flex/Flex.js";import{Form as uo}from"./components/form/Form.js";import"dlv";import"react-hook-form";import{Grid as bo}from"./components/grid/Grid.js";import{Heading as Co}from"./components/heading/Heading.js";import{Icon as Fo}from"./components/icon/Icon.js";import{Image as ho}from"./components/image/Image.js";import{InlineMessage as Bo}from"./components/inline-message/InlineMessage.js";import{Input as ko}from"./components/input/Input.js";import{InputField as vo}from"./components/input-field/InputField.js";import{Label as yo}from"./components/label/Label.js";import{Link as Po,StyledLink as Lo}from"./components/link/Link.js";import{List as Mo}from"./components/list/List.js";import{Loader as Vo}from"./components/loader/Loader.js";import{MarkdownContent as Eo}from"./components/markdown-content/MarkdownContent.js";import{NavigationMenu as jo}from"./components/navigation/NavigationMenu.js";import{NotificationBadge as zo}from"./components/notification-badge/NotificationBadge.js";import{NumberInput as Ko}from"./components/number-input/NumberInput.js";import{NumberInputField as Qo}from"./components/number-input-field/NumberInputField.js";import{PasswordField as Xo}from"./components/password-field/PasswordField.js";import{PasswordInput as Zo}from"./components/password-input/PasswordInput.js";import{Popover as $o}from"./components/popover/Popover.js";import{ProgressBar as rr}from"./components/progress-bar/ProgressBar.js";import{RadioButton as tr}from"./components/radio-button/RadioButton.js";import{RadioButtonGroup as mr}from"./components/radio-button/RadioButtonGroup.js";import{RadioButtonField as fr}from"./components/radio-button-field/RadioButtonField.js";import{RadioCard as ar}from"./components/radio-card/RadioCard.js";import{RadioCardGroup as dr}from"./components/radio-card/RadioCardGroup.js";import{SearchField as nr}from"./components/search-field/SearchField.js";import{SearchInput as cr}from"./components/search-input/SearchInput.js";import{Select as Sr}from"./components/select/Select.js";import{SelectField as gr}from"./components/select-field/SelectField.js";import{Sidedrawer as Tr}from"./components/sidedrawer/Sidedrawer.js";import{Slider as Ir}from"./components/slider/Slider.js";import{SliderField as Dr}from"./components/slider-field/SliderField.js";import{Sortable as Gr}from"./components/sortable/index.js";import{Stack as wr}from"./components/stack/Stack.js";import{StackContent as Ar}from"./components/stack-content/StackContent.js";import{Stepper as Lr}from"./components/stepper/Stepper.js";import{Switch as Mr}from"./components/switch/Switch.js";import{Table as Vr}from"./components/table/Table.js";import{Tabs as Er}from"./components/tabs/Tabs.js";import{Text as jr}from"./components/text/Text.js";import{Textarea as zr}from"./components/textarea/Textarea.js";import{TextareaField as Kr}from"./components/textarea-field/TextareaField.js";import{ToastProvider as Qr}from"./components/toast/ToastProvider.js";import{ToggleGroup as Xr}from"./components/toggle-group/index.js";import{Tooltip as Zr}from"./components/tooltip/Tooltip.js";import{TopBar as $r}from"./components/top-bar/TopBar.js";import{Video as re}from"./components/video/Video.js";import{createTheme as te,css as pe,getCssText as me,globalCss as xe,keyframes as fe,media as ie,styled as ae,theme as le,utils as de}from"./stitches.js";import{ColorScheme as ne}from"./experiments/color-scheme/ColorScheme.js";import{createThemeVariants as ce}from"./utilities/create-theme-variants/createThemeVariants.js";import{focusVisibleStyleBlock as Se}from"./utilities/style/focus-visible-style-block.js";import{default as ge}from"react-hot-toast";export{p as Accordion,x as ActionIcon,i as AlertDialog,l as AlertProvider,n as Avatar,c as Badge,S as Box,g as Button,h as Carousel,D as Checkbox,G as CheckboxField,w as Chip,L as ChipDismissibleGroup,A as ChipGroup,M as ChipToggleGroup,ne as ColorScheme,V as Combobox,j as DataTable,z as DateField,K as DateInput,Q as Dialog,X as Dismissible,Z as DismissibleGroup,$ as Divider,ro as DropdownMenu,to as EmptyState,mo as FieldWrapper,ao as FileInput,so as Flex,uo as Form,bo as Grid,Co as Heading,Fo as Icon,ho as Image,fo as InlineFieldWrapper,Bo as InlineMessage,ko as Input,vo as InputField,yo as Label,Po as Link,Mo as List,Vo as Loader,Eo as MarkdownContent,jo as NavigationMenu,zo as NotificationBadge,Ko as NumberInput,Qo as NumberInputField,Xo as PasswordField,Zo as PasswordInput,$o as Popover,rr as ProgressBar,tr as RadioButton,fr as RadioButtonField,mr as RadioButtonGroup,ar as RadioCard,dr as RadioCardGroup,nr as SearchField,cr as SearchInput,Sr as Select,gr as SelectField,Tr as Sidedrawer,Ir as Slider,Dr as SliderField,Gr as Sortable,wr as Stack,Ar as StackContent,Lr as Stepper,F as StyledButton,Lo as StyledLink,Mr as Switch,Vr as Table,Er as Tabs,jr as Text,zr as Textarea,Kr as TextareaField,Qr as ToastProvider,Xr as ToggleGroup,Zr as Tooltip,$r as TopBar,re as Video,te as createTheme,ce as createThemeVariants,pe as css,Se as focusVisibleStyleBlock,me as getCssText,xe as globalCss,fe as keyframes,ie as media,ae as styled,le as theme,ge as toast,d as useAlert,I as useCarousel,E as useDataTable,de as utils};
2
2
  //# sourceMappingURL=index.js.map
@@ -1,2 +1,2 @@
1
- import*as t from"react";const n=()=>{const e=t.useRef(null),u=t.useCallback(l=>{l&&(e.current=l)},[]);return[e,u]},s=()=>{const[e,u]=t.useState(null),l=t.useCallback(a=>{a&&u(a)},[]);return[e,l]};export{n as useCallbackRef,s as useCallbackRefState};
1
+ import*as l from"react";const n=()=>{const e=l.useRef(null),u=l.useCallback(t=>{t&&(e.current=t)},[]);return[e,u]},s=()=>{const[e,u]=l.useState(null),t=l.useCallback(a=>{a&&u(a)},[]);return[e,t]};export{n as useCallbackRef,s as useCallbackRefState};
2
2
  //# sourceMappingURL=useCallbackRef.js.map
@@ -1,2 +1,2 @@
1
- import*as t from"react";import{debounce as u}from"throttle-debounce";const c=r=>{try{return new ResizeObserver(r)}catch{return null}},l=({delay:r=500,elements:n,onResize:s})=>{const e=t.useMemo(()=>c(u(r,s)),[r,s]);return t.useEffect(()=>(n.forEach(o=>{o&&(e==null||e.observe(o))}),()=>{n.forEach(o=>o&&(e==null?void 0:e.unobserve(o)))}),[e,n]),e};export{l as useResizeObserver};
1
+ import*as t from"react";import{debounce as u}from"throttle-debounce";const c=o=>{try{return new ResizeObserver(o)}catch{return null}},l=({delay:o=500,elements:n,onResize:s})=>{const e=t.useMemo(()=>c(u(o,s)),[o,s]);return t.useEffect(()=>(n.forEach(r=>{r&&(e==null||e.observe(r))}),()=>{n.forEach(r=>r&&(e==null?void 0:e.unobserve(r)))}),[e,n]),e};export{l as useResizeObserver};
2
2
  //# sourceMappingURL=useResizeObserver.js.map
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "main": "dist/index.cjs.js",
5
5
  "typings": "dist/index.d.ts",
6
6
  "module": "dist/index.js",
7
- "version": "2.41.1",
7
+ "version": "2.42.1",
8
8
  "description": "",
9
9
  "files": [
10
10
  "dist"
@@ -1,24 +0,0 @@
1
- import type { UniqueIdentifier } from '@dnd-kit/core';
2
- import * as React from 'react';
3
- import type { TableData, TAsyncDataResult } from '../DataTable.types';
4
- export declare const useDragAndDropTable: () => {
5
- idColumn: string;
6
- };
7
- declare type DragAndDropContainerProps = {
8
- idColumn?: string;
9
- onChange?: (oldIndex: number, newIndex: number, newData: TableData) => void;
10
- };
11
- export declare const processDragEndEvent: (event: {
12
- active: {
13
- id: UniqueIdentifier;
14
- };
15
- over: {
16
- id: UniqueIdentifier;
17
- };
18
- }, data: TAsyncDataResult, rowOrder: Array<UniqueIdentifier>, idColumn: UniqueIdentifier, onChange?: ((oldIndex: number, newIndex: number, newData: TableData) => void) | undefined) => {
19
- results: Record<string, unknown>[];
20
- total: number;
21
- };
22
- export declare const getRowOrder: (data: TAsyncDataResult, idColumn: string) => UniqueIdentifier[];
23
- export declare const DragAndDropContainer: React.FC<DragAndDropContainerProps>;
24
- export {};
@@ -1,2 +0,0 @@
1
- import{useSensors as g,useSensor as u,PointerSensor as h,KeyboardSensor as C,DndContext as f,closestCenter as b}from"@dnd-kit/core";import{restrictToVerticalAxis as w}from"@dnd-kit/modifiers";import{sortableKeyboardCoordinates as y,SortableContext as x,verticalListSortingStrategy as E,arrayMove as S}from"@dnd-kit/sortable";import*as a from"react";import{useDataTable as T}from"../DataTableContext.js";const p=a.createContext({idColumn:"id"}),A=()=>{const e=a.useContext(p);if(!e)throw new Error("useDragAndDropTable can only be called within a DragAndDropContainer");return e},m=(e,i,o,t,s)=>{const{active:d,over:l}=e,c=o.indexOf(d.id),n=o.indexOf(l==null?void 0:l.id),r=S(i.results,c,n);return s==null||s(c,n,r),{results:r,total:r.length}},D=(e,i)=>e.results.map(o=>{const t=o[i];if(t===void 0)throw new Error("To ensure drag-and-drop works correctly, please ensure that each row has a unique ID. Use the `id` property or pass DataTable an `idColumn` prop that defines the ID property on the rows.");return t}),O=({idColumn:e="id",onChange:i=void 0,children:o})=>{const{data:t,setData:s}=T(),d=a.useMemo(()=>D(t,e),[t]),l=g(u(h),u(C,{coordinateGetter:y}));return a.createElement(f,{sensors:l,collisionDetection:b,onDragEnd:c=>{const{active:n,over:r}=c;n.id&&(r==null?void 0:r.id)&&n.id!==(r==null?void 0:r.id)&&s(v=>m({active:n,over:r},v,d,e,i))},modifiers:[w]},a.createElement(x,{items:d,strategy:E},a.createElement(p.Provider,{value:{idColumn:e}},o)))};export{O as DragAndDropContainer,D as getRowOrder,m as processDragEndEvent,A as useDragAndDropTable};
2
- //# sourceMappingURL=DragAndDropContainer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DragAndDropContainer.js","sources":["../../../../src/components/data-table/drag-and-drop/DragAndDropContainer.tsx"],"sourcesContent":["import type { DragEndEvent, UniqueIdentifier } from '@dnd-kit/core'\nimport {\n closestCenter,\n DndContext,\n KeyboardSensor,\n PointerSensor,\n useSensor,\n useSensors\n} from '@dnd-kit/core'\nimport { restrictToVerticalAxis } from '@dnd-kit/modifiers'\nimport {\n arrayMove,\n SortableContext,\n sortableKeyboardCoordinates,\n verticalListSortingStrategy\n} from '@dnd-kit/sortable'\nimport * as React from 'react'\n\nimport type { TableData, TAsyncDataResult } from '../DataTable.types'\nimport { useDataTable } from '../DataTableContext'\n\nconst DragAndDropTableContext = React.createContext<{ idColumn: string }>({\n idColumn: 'id'\n})\nexport const useDragAndDropTable = () => {\n const context = React.useContext(DragAndDropTableContext)\n\n if (!context)\n throw new Error(\n 'useDragAndDropTable can only be called within a DragAndDropContainer'\n )\n\n return context\n}\n\ntype DragAndDropContainerProps = {\n idColumn?: string\n onChange?: (oldIndex: number, newIndex: number, newData: TableData) => void\n}\n\n// These two funcs are exported for testing purposes. This is a non-ideal workaround to the lack of support for drag-and-drop events\n// in the unit test JS environment.\nexport const processDragEndEvent = (\n event: { active: { id: UniqueIdentifier }; over: { id: UniqueIdentifier } },\n data: TAsyncDataResult,\n rowOrder: Array<UniqueIdentifier>,\n idColumn: UniqueIdentifier,\n onChange?: (oldIndex: number, newIndex: number, newData: TableData) => void\n) => {\n const { active, over } = event\n const oldIndex = rowOrder.indexOf(active.id)\n const newIndex = rowOrder.indexOf(over?.id)\n const results = arrayMove(data.results, oldIndex, newIndex)\n onChange?.(oldIndex, newIndex, results)\n return { results, total: results.length }\n}\n\nexport const getRowOrder = (data: TAsyncDataResult, idColumn: string) =>\n data.results.map((row) => {\n const id = row[idColumn]\n if (id === undefined)\n throw new Error(\n 'To ensure drag-and-drop works correctly, please ensure that each row has a unique ID. Use the `id` property or pass DataTable an `idColumn` prop that defines the ID property on the rows.'\n )\n return id as UniqueIdentifier\n })\n\nexport const DragAndDropContainer: React.FC<DragAndDropContainerProps> = ({\n idColumn = 'id',\n onChange = undefined,\n children\n}) => {\n const { data, setData } = useDataTable()\n\n const rowOrder = React.useMemo(() => getRowOrder(data, idColumn), [data])\n\n const sensors = useSensors(\n useSensor(PointerSensor),\n useSensor(KeyboardSensor, {\n coordinateGetter: sortableKeyboardCoordinates\n })\n )\n\n const handleDragEnd = (event: DragEndEvent) => {\n const { active, over } = event\n if (active.id && over?.id && active.id !== over?.id) {\n setData((data) => {\n return processDragEndEvent(\n { active, over },\n data,\n rowOrder,\n idColumn,\n onChange\n )\n })\n }\n }\n\n return (\n <DndContext\n sensors={sensors}\n collisionDetection={closestCenter}\n onDragEnd={handleDragEnd}\n modifiers={[restrictToVerticalAxis]}\n >\n <SortableContext items={rowOrder} strategy={verticalListSortingStrategy}>\n <DragAndDropTableContext.Provider value={{ idColumn }}>\n {children}\n </DragAndDropTableContext.Provider>\n </SortableContext>\n </DndContext>\n )\n}\n"],"names":["DragAndDropTableContext","React","useDragAndDropTable","context","processDragEndEvent","event","data","rowOrder","idColumn","onChange","active","over","oldIndex","newIndex","results","arrayMove","getRowOrder","row","id","DragAndDropContainer","children","setData","useDataTable","sensors","useSensors","useSensor","PointerSensor","KeyboardSensor","sortableKeyboardCoordinates","DndContext","closestCenter","restrictToVerticalAxis","SortableContext","verticalListSortingStrategy"],"mappings":"mZAqBA,MAAMA,EAA0BC,EAAM,cAAoC,CACxE,SAAU,IACZ,CAAC,EACYC,EAAsB,IAAM,CACvC,MAAMC,EAAUF,EAAM,WAAWD,CAAuB,EAExD,GAAI,CAACG,EACH,MAAM,IAAI,MACR,sEACF,EAEF,OAAOA,CACT,EASaC,EAAsB,CACjCC,EACAC,EACAC,EACAC,EACAC,IACG,CACH,KAAM,CAAE,OAAAC,EAAQ,KAAAC,CAAK,EAAIN,EACnBO,EAAWL,EAAS,QAAQG,EAAO,EAAE,EACrCG,EAAWN,EAAS,QAAQI,GAAA,KAAAA,OAAAA,EAAM,EAAE,EACpCG,EAAUC,EAAUT,EAAK,QAASM,EAAUC,CAAQ,EAC1D,OAAAJ,GAAA,MAAAA,EAAWG,EAAUC,EAAUC,CACxB,EAAA,CAAE,QAAAA,EAAS,MAAOA,EAAQ,MAAO,CAC1C,EAEaE,EAAc,CAACV,EAAwBE,IAClDF,EAAK,QAAQ,IAAKW,GAAQ,CACxB,MAAMC,EAAKD,EAAIT,GACf,GAAIU,IAAO,OACT,MAAM,IAAI,MACR,4LACF,EACF,OAAOA,CACT,CAAC,EAEUC,EAA4D,CAAC,CACxE,SAAAX,EAAW,KACX,SAAAC,EAAW,OACX,SAAAW,CACF,IAAM,CACJ,KAAM,CAAE,KAAAd,EAAM,QAAAe,CAAQ,EAAIC,EAAa,EAEjCf,EAAWN,EAAM,QAAQ,IAAMe,EAAYV,EAAME,CAAQ,EAAG,CAACF,CAAI,CAAC,EAElEiB,EAAUC,EACdC,EAAUC,CAAa,EACvBD,EAAUE,EAAgB,CACxB,iBAAkBC,CACpB,CAAC,CACH,EAiBA,OACE3B,EAAA,cAAC4B,EAAA,CACC,QAASN,EACT,mBAAoBO,EACpB,UAnBmBzB,GAAwB,CAC7C,KAAM,CAAE,OAAAK,EAAQ,KAAAC,CAAK,EAAIN,EACrBK,EAAO,KAAMC,GAAA,KAAA,OAAAA,EAAM,KAAMD,EAAO,MAAOC,GAAA,KAAA,OAAAA,EAAM,KAC/CU,EAASf,GACAF,EACL,CAAE,OAAAM,EAAQ,KAAAC,CAAK,EACfL,EACAC,EACAC,EACAC,CACF,CACD,CAEL,EAOI,UAAW,CAACsB,CAAsB,CAElC9B,EAAAA,EAAA,cAAC+B,EAAA,CAAgB,MAAOzB,EAAU,SAAU0B,CAAAA,EAC1ChC,EAAA,cAACD,EAAwB,SAAxB,CAAiC,MAAO,CAAE,SAAAQ,CAAS,CAAA,EACjDY,CACH,CACF,CACF,CAEJ"}
@@ -1,2 +0,0 @@
1
- import{useSortable as f}from"@dnd-kit/sortable";import{CSS as d}from"@dnd-kit/utilities";import{flexRender as g}from"@tanstack/react-table";import*as e from"react";import{Table as l}from"../../table/Table.js";import{DataTableDataCell as c}from"../DataTableDataCell.js";import{useDragAndDropTable as b}from"./DragAndDropContainer.js";import{Handle as D}from"./Handle.js";import"../DataTable.js";import"../DataTable.types.js";import"../DataTableContext.js";import"../DataTableLoading.js";const u=({row:o})=>{const{idColumn:i}=b(),{attributes:m,listeners:a,transform:n,setNodeRef:s,isDragging:t}=f({id:o.original[i]});return e.createElement(l.Row,{ref:s,css:{transform:d.Transform.toString(n),zIndex:t?5:void 0}},o.getVisibleCells().map((r,p)=>p===0?e.createElement(l.Cell,{key:r.id},e.createElement(D,{...m,...a,isDragging:t,css:{display:"inline-block"},label:"drag and drop"}),g(r.column.columnDef.cell,r.getContext())):e.createElement(c,{key:r.id,cell:r})))};export{u as DraggableRow};
2
- //# sourceMappingURL=DraggableRow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"DraggableRow.js","sources":["../../../../src/components/data-table/drag-and-drop/DraggableRow.tsx"],"sourcesContent":["import type { UniqueIdentifier } from '@dnd-kit/core'\nimport { useSortable } from '@dnd-kit/sortable'\nimport { CSS } from '@dnd-kit/utilities'\nimport type { Row } from '@tanstack/react-table'\nimport { flexRender } from '@tanstack/react-table'\nimport * as React from 'react'\n\nimport { Table } from '../../table'\nimport { DataTableDataCell } from '../DataTableDataCell'\nimport { Handle, useDragAndDropTable } from './'\nexport type DataTableDraggableRowProps = React.ComponentProps<\n typeof Table.Row\n> & {\n row: Row<Record<string, unknown>>\n}\n\nexport const DraggableRow: React.FC<DataTableDraggableRowProps> = ({ row }) => {\n const { idColumn } = useDragAndDropTable()\n\n const { attributes, listeners, transform, setNodeRef, isDragging } =\n useSortable({\n id: row.original[idColumn] as UniqueIdentifier\n })\n\n return (\n <Table.Row\n ref={setNodeRef}\n css={{\n transform: CSS.Transform.toString(transform),\n zIndex: isDragging ? 5 : undefined\n }}\n >\n {row.getVisibleCells().map((cell, i) => {\n if (i === 0) {\n return (\n <Table.Cell key={cell.id}>\n <Handle\n {...attributes}\n {...listeners}\n isDragging={isDragging}\n css={{ display: 'inline-block' }}\n label=\"drag and drop\"\n />\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </Table.Cell>\n )\n }\n return <DataTableDataCell key={cell.id} cell={cell} />\n })}\n </Table.Row>\n )\n}\n"],"names":["DraggableRow","row","idColumn","useDragAndDropTable","attributes","listeners","transform","setNodeRef","isDragging","useSortable","React","Table","CSS","cell","i","Handle","flexRender","DataTableDataCell"],"mappings":"seAgBO,MAAMA,EAAqD,CAAC,CAAE,IAAAC,CAAI,IAAM,CAC7E,KAAM,CAAE,SAAAC,CAAS,EAAIC,EAAoB,EAEnC,CAAE,WAAAC,EAAY,UAAAC,EAAW,UAAAC,EAAW,WAAAC,EAAY,WAAAC,CAAW,EAC/DC,EAAY,CACV,GAAIR,EAAI,SAASC,EACnB,CAAC,EAEH,OACEQ,EAAA,cAACC,EAAM,IAAN,CACC,IAAKJ,EACL,IAAK,CACH,UAAWK,EAAI,UAAU,SAASN,CAAS,EAC3C,OAAQE,EAAa,EAAI,MAC3B,CAECP,EAAAA,EAAI,gBAAkB,EAAA,IAAI,CAACY,EAAMC,IAC5BA,IAAM,EAENJ,EAAA,cAACC,EAAM,KAAN,CAAW,IAAKE,EAAK,EAAA,EACpBH,EAAA,cAACK,EAAA,CACE,GAAGX,EACH,GAAGC,EACJ,WAAYG,EACZ,IAAK,CAAE,QAAS,cAAe,EAC/B,MAAM,eACR,CAAA,EACCQ,EAAWH,EAAK,OAAO,UAAU,KAAMA,EAAK,YAAY,CAC3D,EAGGH,EAAA,cAACO,EAAA,CAAkB,IAAKJ,EAAK,GAAI,KAAMA,CAAM,CAAA,CACrD,CACH,CAEJ"}
@@ -1,2 +0,0 @@
1
- import{DragHandle as n}from"@atom-learning/icons";import*as r from"react";import{styled as s}from"../../../stitches.js";import{ActionIcon as m}from"../../action-icon/ActionIcon.js";import{Icon as g}from"../../icon/Icon.js";const i=s(m,{color:"inherit !important",fill:"currentColor",variants:{isDragging:{true:{cursor:"grabbing"},false:{cursor:"grab"}}}}),l=r.forwardRef(({isDragging:o,size:e,...a},t)=>r.createElement(i,{ref:t,isDragging:o,appearance:"simple",size:e,...a},r.createElement(g,{is:n,size:e})));export{l as Handle,i as StyledHandle};
2
- //# sourceMappingURL=Handle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Handle.js","sources":["../../../../src/components/data-table/drag-and-drop/Handle.tsx"],"sourcesContent":["import { DragHandle } from '@atom-learning/icons'\nimport * as React from 'react'\n\nimport { styled } from '../../../stitches'\nimport { ActionIcon } from '../../action-icon'\nimport { Icon } from '../../icon'\n\nexport const StyledHandle = styled(ActionIcon, {\n color: 'inherit !important',\n fill: 'currentColor',\n variants: {\n isDragging: {\n true: {\n cursor: 'grabbing'\n },\n false: {\n cursor: 'grab'\n }\n }\n }\n})\n\ntype HandleProps = Omit<React.ComponentProps<typeof StyledHandle>, 'children'> &\n Pick<React.ComponentProps<typeof Icon>, 'size'>\n\nexport const Handle: React.ForwardRefExoticComponent<HandleProps> =\n React.forwardRef(({ isDragging, size, ...rest }, ref) => {\n return (\n <StyledHandle\n ref={ref}\n isDragging={isDragging}\n appearance=\"simple\"\n size={size}\n {...rest}\n >\n <Icon is={DragHandle} size={size} />\n </StyledHandle>\n )\n })\n"],"names":["StyledHandle","styled","ActionIcon","Handle","React","isDragging","size","rest","ref","Icon","DragHandle"],"mappings":"+NAOa,MAAAA,EAAeC,EAAOC,EAAY,CAC7C,MAAO,qBACP,KAAM,eACN,SAAU,CACR,WAAY,CACV,KAAM,CACJ,OAAQ,UACV,EACA,MAAO,CACL,OAAQ,MACV,CACF,CACF,CACF,CAAC,EAKYC,EACXC,EAAM,WAAW,CAAC,CAAE,WAAAC,EAAY,KAAAC,KAASC,CAAK,EAAGC,IAE7CJ,EAAA,cAACJ,EAAA,CACC,IAAKQ,EACL,WAAYH,EACZ,WAAW,SACX,KAAMC,EACL,GAAGC,CAAAA,EAEJH,EAAA,cAACK,EAAA,CAAK,GAAIC,EAAY,KAAMJ,CAAAA,CAAM,CACpC,CAEH"}