@atom-learning/components 2.28.0-beta.0 → 2.28.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.
- package/CHANGELOG.md +31 -0
- package/dist/components/accordion/AccordionContent.js +1 -1
- package/dist/components/accordion/AccordionItem.js +1 -1
- package/dist/components/accordion/AccordionTrigger.d.ts +4 -5
- package/dist/components/accordion/AccordionTrigger.js +1 -1
- package/dist/components/alert-dialog/AlertDialogContent.js +1 -1
- package/dist/components/avatar/Avatar.js +1 -1
- package/dist/components/button/Button.js +1 -1
- package/dist/components/calendar/Calendar.js +1 -1
- package/dist/components/carousel/CarouselArrows.js +1 -1
- package/dist/components/carousel/CarouselSlide.js +1 -1
- package/dist/components/checkbox-field/CheckboxField.js +1 -1
- package/dist/components/chip/Chip.js +1 -1
- package/dist/components/chip/ChipGroup.js +1 -1
- package/dist/components/chip-dismissible-group/ChipDismissibleGroupRoot.js +1 -1
- package/dist/components/data-table/DataTable.d.ts +5 -0
- package/dist/components/data-table/DataTable.js +1 -1
- package/dist/components/data-table/DataTable.types.d.ts +18 -2
- package/dist/components/data-table/DataTableBody.js +1 -1
- package/dist/components/data-table/DataTableContext.d.ts +5 -10
- package/dist/components/data-table/DataTableContext.js +1 -1
- package/dist/components/data-table/DataTableDataCell.js +1 -1
- package/dist/components/data-table/DataTableRow.d.ts +1 -2
- package/dist/components/data-table/DataTableRow.js +1 -1
- package/dist/components/data-table/DataTableTable.d.ts +1 -2
- package/dist/components/data-table/drag-and-drop/DragAndDropContainer.d.ts +21 -0
- package/dist/components/data-table/drag-and-drop/DragAndDropContainer.js +1 -0
- package/dist/components/data-table/drag-and-drop/DragAndDropTable.d.ts +8 -0
- package/dist/components/data-table/drag-and-drop/DragAndDropTable.js +1 -0
- package/dist/components/data-table/drag-and-drop/DragAndDropTableBody.d.ts +5 -0
- package/dist/components/data-table/drag-and-drop/DragAndDropTableBody.js +1 -0
- package/dist/components/data-table/drag-and-drop/DraggableRow.d.ts +7 -0
- package/dist/components/data-table/drag-and-drop/DraggableRow.js +1 -0
- package/dist/components/data-table/drag-and-drop/Handle.d.ts +564 -0
- package/dist/components/data-table/drag-and-drop/Handle.js +1 -0
- package/dist/components/data-table/drag-and-drop/index.d.ts +4 -0
- package/dist/components/data-table/usePagination.d.ts +8 -0
- package/dist/components/data-table/usePagination.js +1 -0
- package/dist/components/data-table/useSorting.d.ts +9 -0
- package/dist/components/data-table/useSorting.js +1 -0
- package/dist/components/dialog/DialogContent.js +1 -1
- package/dist/components/dismissible/DismissibleRoot.js +1 -1
- package/dist/components/dismissible/DismissibleTrigger.js +1 -1
- package/dist/components/dropdown-menu/DropdownMenuLinkItem.js +1 -1
- package/dist/components/field-wrapper/FieldDescription.js +1 -1
- package/dist/components/field-wrapper/InlineFieldWrapper.js +1 -1
- package/dist/components/file-input/FileInput.js +1 -1
- package/dist/components/grid/Grid.js +1 -1
- package/dist/components/icon/Icon.js +1 -1
- package/dist/components/inline-message/InlineMessage.js +1 -1
- package/dist/components/label/Label.js +1 -1
- package/dist/components/link/Link.js +1 -1
- package/dist/components/markdown-content/components/MarkdownEmphasis.js +1 -1
- package/dist/components/markdown-content/components/MarkdownHeading.js +1 -1
- package/dist/components/markdown-content/components/MarkdownImage.js +1 -1
- package/dist/components/markdown-content/components/MarkdownInlineCode.js +1 -1
- package/dist/components/markdown-content/components/MarkdownLink.js +1 -1
- package/dist/components/markdown-content/components/MarkdownListItem.js +1 -1
- package/dist/components/markdown-content/components/MarkdownParagraph.js +1 -1
- package/dist/components/markdown-content/components/MarkdownStrong.js +1 -1
- package/dist/components/markdown-content/components/MarkdownThematicBreak.js +1 -1
- package/dist/components/navigation/NavigationMenuDropdownContent.js +1 -1
- package/dist/components/navigation/NavigationMenuLink.js +1 -1
- package/dist/components/notification-badge/NotificationBadge.js +1 -1
- package/dist/components/number-input/NumberInput.js +1 -1
- package/dist/components/number-input-field/NumberInputField.js +1 -1
- package/dist/components/popover/PopoverContent.js +1 -1
- package/dist/components/radio-button/RadioButton.js +1 -1
- package/dist/components/radio-button-field/RadioButtonField.js +1 -1
- package/dist/components/radio-button-field/RadioField.js +1 -1
- package/dist/components/radio-card/RadioCardGroup.js +1 -1
- package/dist/components/search-input/SearchInput.js +1 -1
- package/dist/components/select-field/SelectField.js +1 -1
- package/dist/components/sidedrawer/SidedrawerAccordion/SidedrawerAccordionContent.js +1 -1
- package/dist/components/sidedrawer/SidedrawerContent.js +1 -1
- package/dist/components/slider-field/SliderField.js +1 -1
- package/dist/components/stack-content/StackContent.js +1 -1
- package/dist/components/stepper/StepperStepBack.js +1 -1
- package/dist/components/table/Table.js +1 -1
- package/dist/components/table/TableBody.js +1 -1
- package/dist/components/table/TableHeader.js +1 -1
- package/dist/components/table/TableRow.d.ts +272 -1
- package/dist/components/table/TableRow.js +1 -1
- package/dist/components/tabs/{TabsTrigger.d.ts → TabTrigger.d.ts} +6 -3
- package/dist/components/tabs/TabTrigger.js +1 -0
- package/dist/components/tabs/Tabs.d.ts +276 -7
- package/dist/components/tabs/Tabs.js +1 -1
- package/dist/components/tabs/TabsTriggerList.d.ts +9 -5
- package/dist/components/tabs/TabsTriggerList.js +1 -1
- package/dist/components/tabs/utils.d.ts +2 -0
- package/dist/components/tabs/utils.js +1 -0
- package/dist/components/toast/Toast.js +1 -1
- package/dist/components/toast/ToastProvider.js +1 -1
- package/dist/components/toggle-group/ToggleGroupButton.js +1 -1
- package/dist/components/tooltip/TooltipContent.js +1 -1
- package/dist/components/video/Video.js +1 -1
- package/dist/docgen.json +1 -1
- package/dist/docs/Accordion.mdx +7 -56
- package/dist/docs/DataTable.mdx +37 -1
- package/dist/docs/Tabs.mdx +57 -31
- package/dist/index.cjs.js +1 -1
- package/dist/utilities/hooks/useCallbackRef.js +1 -1
- package/package.json +6 -3
- package/dist/components/tabs/TabsContent.d.ts +0 -267
- package/dist/components/tabs/TabsContent.js +0 -1
- package/dist/components/tabs/TabsTrigger.js +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,34 @@
|
|
|
1
|
+
# [2.28.0](https://github.com/Atom-Learning/components/compare/v2.27.0...v2.28.0) (2023-01-16)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* declare @dnd-kit/utilities dep ([aa4d9dd](https://github.com/Atom-Learning/components/commit/aa4d9dd0b9923c4a2b159e3435294d9ce74ee44f))
|
|
7
|
+
* failing test with incorrect assertion ([f3cca92](https://github.com/Atom-Learning/components/commit/f3cca92da2bd3989b10afe809a11301424856b1c))
|
|
8
|
+
* import types explicitly ([d765fec](https://github.com/Atom-Learning/components/commit/d765fec26549eafca2671d1869b42641fde3d923))
|
|
9
|
+
* import types explicitly ([8b4d604](https://github.com/Atom-Learning/components/commit/8b4d6045f9daa1ffbd2d08bdf51f668e55219539))
|
|
10
|
+
* infinite loop in new table ([1335ba2](https://github.com/Atom-Learning/components/commit/1335ba201aadf3ab1291b52aaa9797e005725a0b))
|
|
11
|
+
* match handle size to icon size ([5c8f1ce](https://github.com/Atom-Learning/components/commit/5c8f1cebecfd4845aa9528a8382472a2f654f02a))
|
|
12
|
+
* revert bizzare text replace issue ([59132a7](https://github.com/Atom-Learning/components/commit/59132a756ae5d48d517e3e9bcfd0604a45f6329d))
|
|
13
|
+
* row ID nonsense ([b76b7cc](https://github.com/Atom-Learning/components/commit/b76b7cce1b583813c24801280b239d3752f26b80))
|
|
14
|
+
* target stitches component for table row styling ([b6f524b](https://github.com/Atom-Learning/components/commit/b6f524b12c1ad9cb2b4e0c5a86f1fee8aa586d36))
|
|
15
|
+
* typo ([f87db2f](https://github.com/Atom-Learning/components/commit/f87db2f842ac22b0762d5d7cc2fc87b246fa3d6c))
|
|
16
|
+
* update docs ([96d2a44](https://github.com/Atom-Learning/components/commit/96d2a441d322a33f0057cfc3c256e5f68cf2d0ea))
|
|
17
|
+
* update docs ([fc1b6e7](https://github.com/Atom-Learning/components/commit/fc1b6e7d16aaa0d36864db52866a6768e38ffc5c))
|
|
18
|
+
* update rowOrder usage ([6a546ab](https://github.com/Atom-Learning/components/commit/6a546abfbbed2600958ff7d44023af55fc06e568))
|
|
19
|
+
* update snapshots ([d02adaf](https://github.com/Atom-Learning/components/commit/d02adafcc44071f4e983d34ed7750126beafcb9b))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
### Features
|
|
23
|
+
|
|
24
|
+
* DragAndDropTable ([c7a45c7](https://github.com/Atom-Learning/components/commit/c7a45c7130e4e05bb8112761aaf30e3e773589c4))
|
|
25
|
+
* DragAndDropTable ([31ef457](https://github.com/Atom-Learning/components/commit/31ef457c10cbd92393129f2122a0dbf3b05dd734))
|
|
26
|
+
* IDK why this doesn't work ([927414b](https://github.com/Atom-Learning/components/commit/927414bac03f69d51417ffecbfefcff873c64b5f))
|
|
27
|
+
* it basically works ([9934134](https://github.com/Atom-Learning/components/commit/99341343a17d1809a7f2a7709acf446f908eb934))
|
|
28
|
+
* separate drag-and-drop logic into DragAndDropContainer ([0be01bf](https://github.com/Atom-Learning/components/commit/0be01bf4961e735d1740d9ac64138f10ca1172cc))
|
|
29
|
+
* throw error if id is missing ([79af78d](https://github.com/Atom-Learning/components/commit/79af78dde39a0b620aaeb48310f1e487c9a83efe))
|
|
30
|
+
* WIP reorg of providers ([7bfbbb2](https://github.com/Atom-Learning/components/commit/7bfbbb2914f342178be6747a329b614841f31929))
|
|
31
|
+
|
|
1
32
|
# [1.4.0](https://github.com/Atom-Learning/components/compare/v1.3.0...v1.4.0) (2022-04-11)
|
|
2
33
|
|
|
3
34
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Content as
|
|
1
|
+
import{Content as i}from"@radix-ui/react-accordion";import t from"react";import{keyframes as e,styled as n}from"../../stitches.js";import{CSSWrapper as c}from"../../utilities/css-wrapper/CSSWrapper.js";const d=e({from:{height:0},to:{height:"var(--radix-accordion-content-height)"}}),m=e({from:{height:"var(--radix-accordion-content-height)"},to:{height:0}}),s=n(i,{border:0,width:"100%",bg:"#fff",'&[data-state="open"]':{borderRadius:"0 0 $0 $0"},"@allowMotion":{'&[data-state="open"]':{animation:`${d} 300ms ease-out`},'&[data-state="closed"]':{animation:`${m} 300ms ease-out`}}}),h=({children:o,css:a,...r})=>t.createElement(s,{...r},t.createElement(c,{css:a},o));export{h as AccordionContent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Item as
|
|
1
|
+
import{Item as r}from"@radix-ui/react-accordion";import m from"react";import{styled as d}from"../../stitches.js";const l=d(r,{width:"100%",overflow:"hidden","&:not(:last-child)":{mb:"$1"}}),i=({children:t,value:e,...o})=>m.createElement(l,{value:e,...o},t);export{i as AccordionItem};
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
|
|
3
|
-
|
|
2
|
+
declare const StyledTrigger: import("@stitches/react/types/styled-component").StyledComponent<React.ForwardRefExoticComponent<import("@radix-ui/react-accordion").AccordionTriggerProps & React.RefAttributes<HTMLButtonElement>>, {
|
|
3
|
+
theme?: "primaryDark" | "light" | "tonal" | undefined;
|
|
4
|
+
}, {
|
|
4
5
|
sm: string;
|
|
5
6
|
md: string;
|
|
6
7
|
lg: string;
|
|
@@ -266,8 +267,6 @@ declare const StyledTrigger: import("@stitches/react/types/styled-component").St
|
|
|
266
267
|
};
|
|
267
268
|
};
|
|
268
269
|
}>>;
|
|
269
|
-
declare type AccordionTriggerProps = React.ComponentProps<typeof StyledTrigger
|
|
270
|
-
colorScheme?: typeof ColorScheme;
|
|
271
|
-
};
|
|
270
|
+
declare type AccordionTriggerProps = React.ComponentProps<typeof StyledTrigger>;
|
|
272
271
|
export declare const AccordionTrigger: React.FC<AccordionTriggerProps>;
|
|
273
272
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ChevronDown as
|
|
1
|
+
import{ChevronDown as s}from"@atom-learning/icons";import{Trigger as l}from"@radix-ui/react-accordion";import{darken as r}from"color2k";import n from"react";import{styled as i,theme as f}from"../../stitches.js";import{Icon as d}from"../icon/Icon.js";const a=(t,e,o,m="#fff")=>({bg:t,color:m,"&[disabled]":{bg:"$tonal100",cursor:"not-allowed",color:"$tonal400"},"&:not([disabled]):hover":{bg:e},"&:not([disabled]):active":{bg:o}}),p=i(d,{transition:"transform 300ms",'[data-state="open"] > &':{transform:"rotate(180deg)"},'[data-state="closed"] > &':{transform:"rotate(0deg)"}}),c=i(l,{border:0,py:"$3",px:"$4",width:"100%",display:"flex",justifyContent:"space-between",alignItems:"center",cursor:"pointer",'&[data-state="open"]':{borderRadius:"$0 $0 0 0"},'&[data-state="closed"]':{borderRadius:"$0"},variants:{theme:{primaryDark:a("$primaryDark",r(f.colors.primaryDark.value,.1),r(f.colors.primaryDark.value,.15)),light:a("#fff",r("#fff",.1),r("#fff",.15),"$tonal600"),tonal:a("$tonal100",r("#fff",.1),r("#fff",.15),"$tonal500")}}}),g=({theme:t="primaryDark",children:e,...o})=>n.createElement(c,{theme:t,...o},e,n.createElement(p,{is:s}));export{g as AccordionTrigger};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Overlay as m,Content as d,Portal as l}from"@radix-ui/react-alert-dialog";import*as t from"react";import{DIALOG_Z_INDEX as e}from"../../constants/zIndices.js";import{keyframes as a,styled as n}from"../../stitches.js";import{fadeIn as f,fadeOut as p}from"../../utilities/style/keyframe-animations.js";const o="translate3d(-50%, -50%, 0)",i="translate3d(-50%, 50vh, 0)",c=a({"0%":{transform:i},"100%":{transform:o}}),x=a({"0%":{transform:o},"100%":{transform:i}}),b=n(m,{backgroundColor:"$alpha600",inset:0,position:"fixed",zIndex:e,"@allowMotion":{'&[data-state="open"]':{animation:`${f} 250ms ease-out`},'&[data-state="closed"]':{animation:`${p} 550ms ease-out`}}}),u=n(d,{bg:"white",borderRadius:"$1",boxShadow:"$3",boxSizing:"border-box",left:"50%",maxWidth:"90vw",p:"$5",position:"fixed",top:"50%",transform:o,"&:focus":{outline:"none"},zIndex:e,"@allowMotion":{'&[data-state="open"]':{animation:`${c} 550ms cubic-bezier(0.22, 1, 0.36, 1)`},'&[data-state="closed"]':{animation:`${x} 550ms cubic-bezier(0.22, 1, 0.36, 1)`}},variants:{size:{sm:{width:"380px"},md:{width:"480px"},lg:{width:"600px"}}}})
|
|
1
|
+
import{Overlay as m,Content as d,Portal as l}from"@radix-ui/react-alert-dialog";import*as t from"react";import{DIALOG_Z_INDEX as e}from"../../constants/zIndices.js";import{keyframes as a,styled as n}from"../../stitches.js";import{fadeIn as f,fadeOut as p}from"../../utilities/style/keyframe-animations.js";const o="translate3d(-50%, -50%, 0)",i="translate3d(-50%, 50vh, 0)",c=a({"0%":{transform:i},"100%":{transform:o}}),x=a({"0%":{transform:o},"100%":{transform:i}}),b=n(m,{backgroundColor:"$alpha600",inset:0,position:"fixed",zIndex:e,"@allowMotion":{'&[data-state="open"]':{animation:`${f} 250ms ease-out`},'&[data-state="closed"]':{animation:`${p} 550ms ease-out`}}}),u=n(d,{bg:"white",borderRadius:"$1",boxShadow:"$3",boxSizing:"border-box",left:"50%",maxWidth:"90vw",p:"$5",position:"fixed",top:"50%",transform:o,"&:focus":{outline:"none"},zIndex:e,"@allowMotion":{'&[data-state="open"]':{animation:`${c} 550ms cubic-bezier(0.22, 1, 0.36, 1)`},'&[data-state="closed"]':{animation:`${x} 550ms cubic-bezier(0.22, 1, 0.36, 1)`}},variants:{size:{sm:{width:"380px"},md:{width:"480px"},lg:{width:"600px"}}}}),h=({size:r="sm",...s})=>t.createElement(l,null,t.createElement(b,null),t.createElement(u,{size:r,...s}));export{h as AlertDialogContent};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as o from"react";import{styled as n}from"../../stitches.js";import{AvatarPlaceholder as v}from"./AvatarPlaceholder.js";import{AvatarIcon as u}from"./AvatarIcon.js";import{AvatarInitial as b}from"./AvatarInitial.js";import{AvatarImage as p}from"./AvatarImage.js";import{focusVisibleStyleBlock as z}from"../../utilities/style/focus-visible-style-block.js";const s={display:"flex",justifyContent:"center",alignItems:"center",color:"$tonal400",borderRadius:"$round",border:"2px solid $tonal100",backgroundColor:"$white",overflow:"hidden",variants:{size:{xs:{size:"$2"},sm:{size:"$3"},md:{size:"$4"},lg:{size:"$5"},xl:{size:"$6"},xxl:{size:"$7"}}}}
|
|
1
|
+
import*as o from"react";import{styled as n}from"../../stitches.js";import{AvatarPlaceholder as v}from"./AvatarPlaceholder.js";import{AvatarIcon as u}from"./AvatarIcon.js";import{AvatarInitial as b}from"./AvatarInitial.js";import{AvatarImage as p}from"./AvatarImage.js";import{focusVisibleStyleBlock as z}from"../../utilities/style/focus-visible-style-block.js";const s={display:"flex",justifyContent:"center",alignItems:"center",color:"$tonal400",borderRadius:"$round",border:"2px solid $tonal100",backgroundColor:"$white",overflow:"hidden",variants:{size:{xs:{size:"$2"},sm:{size:"$3"},md:{size:"$4"},lg:{size:"$5"},xl:{size:"$6"},xxl:{size:"$7"}}}},$=n("div",s),f=n("button",{all:"unset",...s,"&:not([disabled])":{"&:hover":{borderColor:"$tonal400",backgroundColor:"$tonal50"},"&:active":{borderColor:"$primary",backgroundColor:"$tonal100"},"&:focus-visible":z()},"&[disabled]":{opacity:"30%",cursor:"not-allowed"}}),d=o.createContext({name:void 0,size:"lg"}),m=({children:a,name:e,size:i})=>{const t=o.useMemo(()=>({name:e,size:i}),[e,i]);return o.createElement(d.Provider,{value:t},a)},c=({children:a,size:e="lg",name:i,disabled:t=!1,onClick:l})=>o.createElement(m,{name:i,size:e},l?o.createElement(f,{size:e,disabled:t,onClick:t?void 0:l,css:{cursor:t?"auto":"pointer"}},a):o.createElement($,{size:e},a)),r=c;r.Image=p,r.Initial=b,r.Placeholder=v,r.Icon=u,r.displayName="Avatar";export{r as Avatar,c as AvatarRoot,d as AvatarRootContext,m as AvatarRootProvider};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{darken as i,opacify as s}from"color2k";import*as o from"react";import{Box as b}from"../box/Box.js";import{Icon as w}from"../icon/Icon.js";import{Loader as k}from"../loader/Loader.js";import{styled as v,theme as l}from"../../stitches.js";const d=(e,r,a)=>({border:"1px solid",borderColor:"currentColor",color:e,"&[disabled]":{borderColor:"$tonal400",color:"$tonal400",cursor:"not-allowed"},"&:not([disabled]):hover, &:not([disabled]):focus":{textDecoration:"none",color:r},"&:not([disabled]):active":{color:a}}),n=(e,r,a,t="white")=>({bg:e,color:t,"&[disabled]":{bg:"$tonal100",color:"$tonal400",cursor:"not-allowed"},"&:not([disabled]):hover, &:not([disabled]):focus":{bg:r,color:t},"&:not([disabled]):active":{bg:a}}),p=v("button",{alignItems:"center",bg:"unset",border:"unset",borderRadius:"$0",cursor:"pointer",display:"flex",fontFamily:"$body",fontWeight:600,justifyContent:"center",p:"unset",textDecoration:"none",transition:"all 100ms ease-out",whiteSpace:"nowrap",width:"max-content",variants:{theme:{primary:{},secondary:{},success:{},warning:{},danger:{},neutral:{}},appearance:{solid:{},outline:{}},size:{sm:{fontSize:"$sm",lineHeight:1.53,height:"$3",px:"$4"},md:{fontSize:"$md",lineHeight:1.5,height:"$4",px:"$5"},lg:{fontSize:"$lg",lineHeight:1.5,height:"$5",px:"$5"}},isLoading:{true:{cursor:"not-allowed",opacity:.6,pointerEvents:"none"}},fullWidth:{false:{width:"max-content"},true:{width:"100%"}},isRounded:{true:{borderRadius:"$round"}}},compoundVariants:[{theme:"primary",appearance:"solid",css:n("$primary","$primaryMid","$primaryDark")},{theme:"secondary",appearance:"solid",css:n("$primaryDark",i(l.colors.primaryDark.value,.1),i(l.colors.primaryDark.value,.15))},{theme:"success",appearance:"solid",css:n("$success","$successMid","$successDark")},{theme:"warning",appearance:"solid",css:n("$warning","$warningMid","$warningDark","$tonal500")},{theme:"danger",appearance:"solid",css:n("$danger","$dangerMid","$dangerDark")},{theme:"neutral",appearance:"solid",css:n("white",s("white",-.1),s("white",-.25),"$primary")},{theme:"primary",appearance:"outline",css:d("$primary","$primaryMid","$primaryDark")},{theme:"neutral",appearance:"outline",css:d("white",s("white",-.2),s("white",-.35))},{theme:"secondary",appearance:"outline",css:d("$primaryDark",i(l.colors.primaryDark.value,.1),i(l.colors.primaryDark.value,.15))}]}),D=({isLoading:e,children:r})=>o.createElement(o.Fragment,null,o.createElement(k,{css:{opacity:e?1:0,position:"absolute",transition:"opacity 150ms"}}),o.createElement(b,{as:"span",css:e?{opacity:0,transition:"opacity 150ms"}:{}},r)),x=e=>{switch(e){case"lg":return 22;case"md":return 20;case"sm":default:return 16}},m=(e,r)=>o.Children.map(e,(a,t)=>(a==null?void 0:a.type)===w?o.cloneElement(a,{css:{[t===0?"mr":"ml"]:r==="sm"?"$2":"$3",size:x(r),...a.props.css?a.props.css:{}}}):a),u=o.forwardRef(({children:e,isLoading:r,onClick:a,href:t,appearance:h="solid",size:c="md",theme:y="primary",type
|
|
1
|
+
import{darken as i,opacify as s}from"color2k";import*as o from"react";import{Box as b}from"../box/Box.js";import{Icon as w}from"../icon/Icon.js";import{Loader as k}from"../loader/Loader.js";import{styled as v,theme as l}from"../../stitches.js";const d=(e,r,a)=>({border:"1px solid",borderColor:"currentColor",color:e,"&[disabled]":{borderColor:"$tonal400",color:"$tonal400",cursor:"not-allowed"},"&:not([disabled]):hover, &:not([disabled]):focus":{textDecoration:"none",color:r},"&:not([disabled]):active":{color:a}}),n=(e,r,a,t="white")=>({bg:e,color:t,"&[disabled]":{bg:"$tonal100",color:"$tonal400",cursor:"not-allowed"},"&:not([disabled]):hover, &:not([disabled]):focus":{bg:r,color:t},"&:not([disabled]):active":{bg:a}}),p=v("button",{alignItems:"center",bg:"unset",border:"unset",borderRadius:"$0",cursor:"pointer",display:"flex",fontFamily:"$body",fontWeight:600,justifyContent:"center",p:"unset",textDecoration:"none",transition:"all 100ms ease-out",whiteSpace:"nowrap",width:"max-content",variants:{theme:{primary:{},secondary:{},success:{},warning:{},danger:{},neutral:{}},appearance:{solid:{},outline:{}},size:{sm:{fontSize:"$sm",lineHeight:1.53,height:"$3",px:"$4"},md:{fontSize:"$md",lineHeight:1.5,height:"$4",px:"$5"},lg:{fontSize:"$lg",lineHeight:1.5,height:"$5",px:"$5"}},isLoading:{true:{cursor:"not-allowed",opacity:.6,pointerEvents:"none"}},fullWidth:{false:{width:"max-content"},true:{width:"100%"}},isRounded:{true:{borderRadius:"$round"}}},compoundVariants:[{theme:"primary",appearance:"solid",css:n("$primary","$primaryMid","$primaryDark")},{theme:"secondary",appearance:"solid",css:n("$primaryDark",i(l.colors.primaryDark.value,.1),i(l.colors.primaryDark.value,.15))},{theme:"success",appearance:"solid",css:n("$success","$successMid","$successDark")},{theme:"warning",appearance:"solid",css:n("$warning","$warningMid","$warningDark","$tonal500")},{theme:"danger",appearance:"solid",css:n("$danger","$dangerMid","$dangerDark")},{theme:"neutral",appearance:"solid",css:n("white",s("white",-.1),s("white",-.25),"$primary")},{theme:"primary",appearance:"outline",css:d("$primary","$primaryMid","$primaryDark")},{theme:"neutral",appearance:"outline",css:d("white",s("white",-.2),s("white",-.35))},{theme:"secondary",appearance:"outline",css:d("$primaryDark",i(l.colors.primaryDark.value,.1),i(l.colors.primaryDark.value,.15))}]}),D=({isLoading:e,children:r})=>o.createElement(o.Fragment,null,o.createElement(k,{css:{opacity:e?1:0,position:"absolute",transition:"opacity 150ms"}}),o.createElement(b,{as:"span",css:e?{opacity:0,transition:"opacity 150ms"}:{}},r)),x=e=>{switch(e){case"lg":return 22;case"md":return 20;case"sm":default:return 16}},m=(e,r)=>o.Children.map(e,(a,t)=>(a==null?void 0:a.type)===w?o.cloneElement(a,{css:{[t===0?"mr":"ml"]:r==="sm"?"$2":"$3",size:x(r),...a.props.css?a.props.css:{}}}):a),u=o.forwardRef(({children:e,isLoading:r,onClick:a,href:t,appearance:h="solid",size:c="md",theme:y="primary",type:$="button",...g},f)=>o.createElement(p,{isLoading:r||!1,onClick:r?void 0:a,appearance:h,size:c,theme:y,...g,...t?{as:"a",href:t,onClick:void 0}:{},...t?{}:{type:$},ref:f},typeof r=="boolean"?o.createElement(D,{isLoading:r},m(e,c)):m(e,c)));u.displayName="Button";export{u as Button,p as StyledButton};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ChevronLeft as q,ChevronRight as H}from"@atom-learning/icons";import{useDayzed as J}from"dayzed";import*as e from"react";import{ActionIcon as x}from"../action-icon/ActionIcon.js";import{Box as
|
|
1
|
+
import{ChevronLeft as q,ChevronRight as H}from"@atom-learning/icons";import{useDayzed as J}from"dayzed";import*as e from"react";import{ActionIcon as x}from"../action-icon/ActionIcon.js";import{Box as g}from"../box/Box.js";import{Flex as C}from"../flex/Flex.js";import{Icon as Y}from"../icon/Icon.js";import{Text as K}from"../text/Text.js";import{Button as w}from"../button/Button.js";import{styled as F}from"../../stitches.js";import{monthNamesShort as Q,weekdayNamesShort as V,DEFAULT_LABELS as X}from"./constants.js";import{Day as Z}from"./Day.js";const f=F("div",{display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gridGap:"$1 $2"}),ee=F(w,{color:"$tonal600",p:"$3",width:"$6",variants:{selected:{false:{color:"$tonal600 !important",fontWeight:"400","&:hover":{bg:"$tonal100 !important",color:"$tonal600 !important"},"&[disabled]":{bg:"white !important"}}}}}),te=(i,c)=>{const u=i.slice(0,c);return i.slice(c).concat(u)},S=({css:i,refDateSelected:c,refDateToday:u,firstDayOfWeek:$=0,monthNames:N=Q,weekdayNames:T=V,labels:y=X,date:o=new Date,minDate:l,maxDate:s,setYear:A,...L})=>{const[a,E]=e.useState(!1),[m,k]=e.useState(o==null?void 0:o.getFullYear()),O=t=>{const r=o;r.setFullYear(t),A(r),E(!1)},W=l&&m-16<=l.getFullYear(),z=s&&m>=s.getFullYear(),B=Array.from({length:16},(t,r)=>{const n=m-r;return s&&n>s.getFullYear()||l&&n<l.getFullYear()?0:n}),{calendars:d,getBackProps:I,getForwardProps:M,getDateProps:G}=J({firstDayOfWeek:$,showOutsideDays:!0,date:o,minDate:l,maxDate:s,...L});return d.length?e.createElement(g,{css:{position:"relative",width:"min-content",mt:"-$1",...i}},e.createElement(C,{css:{position:"absolute",top:0,right:"-$1"}},e.createElement(x,{label:y[a?"previousYear":"previous"],theme:"neutral",size:"md",...!a&&I({calendars:d}),...a&&{onClick:()=>k(m-16)},disabled:a&&W},e.createElement(Y,{is:q})),e.createElement(x,{label:y[a?"nextYear":"next"],theme:"neutral",size:"md",...!a&&M({calendars:d}),...a&&{onClick:()=>k(m+16)},disabled:a&&z},e.createElement(Y,{is:H}))),a&&e.createElement(f,{css:{gridTemplateColumns:"repeat(4, 1fr)",pt:"$7",direction:"rtl",gridGap:"$3 $1"}},B.map((t,r)=>{const n=t===o.getFullYear();return t?e.createElement(ee,{key:`${t}${r}`,theme:n?"primary":"neutral",isRounded:!0,onClick:()=>O(t),selected:n},t):e.createElement(g,{key:r,css:{width:"$6",height:"$4"}})})),!a&&d.map(({month:t,year:r,weeks:n})=>e.createElement(g,{key:`${t}${r}`},e.createElement(C,{css:{height:"$4",alignItems:"center",mb:"$4"}},e.createElement(w,{theme:"neutral",css:{px:"0",color:"$tonal600"},onClick:()=>E(!0)},N[t]," ",r)),e.createElement(f,{css:{mb:"$3"}},te(T,$).map(p=>e.createElement(K,{as:"span",size:"sm",key:`${t}${r}${p}`,css:{fontWeight:600,textAlign:"center"}},p))),e.createElement(f,null,n.map((p,P)=>p.map((h,R)=>{const D=`${t}${r}${P}${R}`;if(!h)return e.createElement("div",{key:D});const{date:j,selected:b,today:v,prevMonth:U,nextMonth:_}=h;return e.createElement(Z,{isOutsideMonth:U||_,isSelected:b,isToday:v,key:D,ref:b?c:v?u:null,...G({dateObj:h}),type:"button"},j.getDate())})))))):null};S.displayName="Calendar";export{S as Calendar};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{ChevronLeft as s,ChevronRight as i}from"@atom-learning/icons";import{ButtonBack as a,ButtonNext as l}from"pure-react-carousel";import*as r from"react";import{Icon as
|
|
1
|
+
import{ChevronLeft as s,ChevronRight as i}from"@atom-learning/icons";import{ButtonBack as a,ButtonNext as l}from"pure-react-carousel";import*as r from"react";import{Icon as t}from"../icon/Icon.js";import{styled as o}from"../../stitches.js";const n={alignItems:"center",bg:"unset",border:"unset",color:"$primary",cursor:"pointer",display:"flex",justifyContent:"center",p:"unset",size:"$5",top:"50%",transform:"translateY(-50%)",transition:"color 0.15s ease-in-out","&:hover":{color:"$primaryMid"},"&:active":{color:"$primaryDark"},"&:disabled":{color:"$tonal100"}},m=o(a,n),c=o(l,n),p=e=>r.createElement(m,{...e},r.createElement(t,{is:s})),u=e=>r.createElement(c,{...e},r.createElement(t,{is:i}));export{u as CarouselArrowNext,p as CarouselArrowPrevious};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Slide as
|
|
1
|
+
import{Slide as r}from"pure-react-carousel";import*as e from"react";import{Box as m}from"../box/Box.js";import{styled as i}from"../../stitches.js";const l=i(r,{}),s=({children:t,...o})=>e.createElement(l,{...o,tag:"div"},e.createElement(m,{css:{px:"$3"}},t));export{s as CarouselSlide};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as t from"react";import{useFormContext as p,Controller as C}from"react-hook-form";import{Checkbox as h}from"../checkbox/Checkbox.js";import"../field-wrapper/FieldWrapper.js";import{InlineFieldWrapper as F}from"../field-wrapper/InlineFieldWrapper.js";import"../form/Form.js";import{useFieldError as k}from"../form/useFieldError.js";var b=(e=>(e.ON="on",e.OFF="off",e))(b||{});const i=({css:e,defaultChecked:r=!1,label:m,name:n,validation:o,description:d,...c})=>{const{control:f}=p(),{error:a}=k(n);return t.createElement(C,{control:f,name:n,defaultValue:r,rules:o,render:({onChange:u,value:l,name:s})=>t.createElement(F,{css:e,description:d,error:a,label:m,required:Boolean(o==null?void 0:o.required)},t.createElement(h,{defaultChecked:r,defaultValue:r?"on":"off",checked:l,name:s,onCheckedChange:u,value:l?"on":"off",...a&&{state:"error"},...c}))})};i.displayName="CheckboxField";export{i as CheckboxField};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as e from"react";import{Box as C}from"../box/Box.js";import{Flex as
|
|
1
|
+
import*as e from"react";import{Box as C}from"../box/Box.js";import{Flex as $}from"../flex/Flex.js";import{Icon as c}from"../icon/Icon.js";import{getTextVariant as a}from"../text/Text.js";import{styled as m}from"../../stitches.js";import{overrideStitchesVariantValue as g}from"../../utilities/override-stitches-variant-value/overrideStitchesVariantValue.js";const d={overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},h=m("span",{display:"inline-flex",alignItems:"center",px:"$1",flexGrow:1,...d,"& > *:not(:last-child)":{mr:"$1"}}),z={sm:"sm",md:"sm",lg:"md"},f=m(c,{flexShrink:0}),l=({...r})=>{const i=e.useContext(p),{size:t}=i,n=e.useMemo(()=>g(t,o=>z[o]),[t]);return e.createElement(f,{...r,size:n})},u=({children:r,...i})=>{const t=e.Children.toArray(r),n=t.length<=1;return e.createElement(h,{...i},t.map(o=>!n&&typeof o=="string"?e.createElement(C,{as:"span",css:d,key:o},o):e.isValidElement(o)&&o.type===c?e.createElement(l,{...o.props}):o))},x=m($,{px:"$2",border:"1px solid",borderRadius:"$0",alignItems:"center",fontFamily:"$body",maxWidth:"100%",borderColor:"$primary",color:"$primaryMid",bg:"$primaryLight","&[data-disabled]":{opacity:"0.3",pointerEvents:"none"},variants:{size:{sm:{height:"$2",...a({size:"sm"})},md:{height:"$3",...a({size:"sm"})},lg:{height:"$4",...a({size:"md"})}}}}),p=e.createContext({}),y=({size:r,children:i})=>{const t=e.useMemo(()=>({size:r}),[r]);return e.createElement(p.Provider,{value:t},i)},E=e.forwardRef(({asWorkaround:r,size:i="md",...t},n)=>e.createElement(y,{size:i},e.createElement(x,{ref:n,as:r,size:i,...t}))),s=E;s.Content=u,s.Icon=l,s.displayName="Chip";export{s as Chip,l as ChipIcon,p as ChipRootContext,y as ChipRootProvider,h as StyledChipContent,f as StyledChipIcon,x as StyledRoot};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as r from"react";import{Stack as a}from"../stack/Stack.js";const p=r.forwardRef(({gap:o=2,...
|
|
1
|
+
import*as r from"react";import{Stack as a}from"../stack/Stack.js";const p=r.forwardRef(({gap:o=2,...t},e)=>r.createElement(a,{ref:e,direction:"row",gap:o,align:!1,...t}));export{p as ChipGroup};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as o from"react";import"../chip/Chip.js";import{ChipGroup as m}from"../chip/ChipGroup.js";import{DismissibleGroup as p}from"../dismissible-group/index.js";const
|
|
1
|
+
import*as o from"react";import"../chip/Chip.js";import{ChipGroup as m}from"../chip/ChipGroup.js";import{DismissibleGroup as p}from"../dismissible-group/index.js";const t=o.forwardRef((r,i)=>o.createElement(m,{as:p,ref:i,...r}));export{t as ChipDismissibleGroupRoot};
|
|
@@ -9,6 +9,7 @@ import { DataTableHeaderCell } from './DataTableHeaderCell';
|
|
|
9
9
|
import { DataTableLoading } from './DataTableLoading';
|
|
10
10
|
import { DataTableRow } from './DataTableRow';
|
|
11
11
|
import { DataTableTable } from './DataTableTable';
|
|
12
|
+
import { DragAndDropTable } from './drag-and-drop';
|
|
12
13
|
import { Pagination } from './pagination';
|
|
13
14
|
declare type TDataTable = React.FC<React.ComponentProps<typeof DataTableProvider>> & {
|
|
14
15
|
/** Default table body implementation for `DataTable`.
|
|
@@ -22,6 +23,10 @@ declare type TDataTable = React.FC<React.ComponentProps<typeof DataTableProvider
|
|
|
22
23
|
*
|
|
23
24
|
*/
|
|
24
25
|
DataCell: typeof DataTableDataCell;
|
|
26
|
+
/**
|
|
27
|
+
* Used in place of `DataTable.Table` to render a table with rows that the user can sort by drag-and-drop
|
|
28
|
+
*/
|
|
29
|
+
DragAndDropTable: typeof DragAndDropTable;
|
|
25
30
|
/** Default global search implementation for `DataTable`
|
|
26
31
|
*
|
|
27
32
|
* If you need more customisation options, you can compose your own implementation with our UI-only input components and `useDataTable`.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as o from"react";import{DataTableBody as t}from"./DataTableBody.js";import{DataTableProvider as m}from"./DataTableContext.js";import{DataTableDataCell as e}from"./DataTableDataCell.js";import{DataTableError as l}from"./DataTableError.js";import{DataTableGlobalFilter as i}from"./DataTableGlobalFilter.js";import{DataTableHead as p}from"./DataTableHead.js";import{DataTableHeaderCell as b}from"./DataTableHeaderCell.js";import{DataTableLoading as D}from"./DataTableLoading.js";import{DataTableRow as T}from"./DataTableRow.js";import{DataTableTable as f}from"./DataTableTable.js";import"@dnd-kit/core";import"@dnd-kit/modifiers";import"@dnd-kit/sortable";import"../table/Table.js";import"@dnd-kit/utilities";import"@tanstack/react-table";import"./drag-and-drop/Handle.js";import{DragAndDropTable as d}from"./drag-and-drop/DragAndDropTable.js";import{Pagination as n}from"./pagination/Pagination.js";const a=r=>o.createElement(m,{...r});a.Body=t,a.DataCell=e,a.DragAndDropTable=d,a.Head=p,a.HeaderCell=b,a.Pagination=n,a.Row=T,a.GlobalFilter=i,a.Table=f,a.Loading=D,a.Error=l;export{a as DataTable};
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import type { Table
|
|
1
|
+
import type { Table } from '@tanstack/react-table';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
+
import type { VisibilityTableState, ColumnOrderTableState, ColumnPinningTableState, FiltersTableState, SortingTableState, ExpandedTableState, GroupingTableState, ColumnSizingTableState, PaginationTableState, RowSelectionTableState, SortDirection } from '@tanstack/react-table';
|
|
3
4
|
export declare enum AsyncDataState {
|
|
4
5
|
NONE = "none",
|
|
5
6
|
PENDING = "pending",
|
|
@@ -8,7 +9,7 @@ export declare enum AsyncDataState {
|
|
|
8
9
|
}
|
|
9
10
|
export declare type TAsyncDataResult = {
|
|
10
11
|
total: number;
|
|
11
|
-
results:
|
|
12
|
+
results: TableData;
|
|
12
13
|
};
|
|
13
14
|
export declare type TAsyncDataOptions = {
|
|
14
15
|
pageIndex: number;
|
|
@@ -25,4 +26,19 @@ export declare type DataTableContextType<T = unknown> = Table<T> & {
|
|
|
25
26
|
isSortable: boolean;
|
|
26
27
|
asyncDataState?: AsyncDataState;
|
|
27
28
|
runAsyncData?: (options: Partial<TAsyncDataOptions>) => Promise<void>;
|
|
29
|
+
data: TAsyncDataResult;
|
|
30
|
+
/**
|
|
31
|
+
* Directly update the data array that the table rows are built from.
|
|
32
|
+
* This is useful when re-ordering rows, but is high-risk if you're not sure what you're doing!
|
|
33
|
+
*
|
|
34
|
+
* Note in particular that this value is also updated if you update the value of the `DataTable`'s `data` prop
|
|
35
|
+
* — it's probably best to only use one of those two methods for any given table.
|
|
36
|
+
*/
|
|
37
|
+
setData: React.Dispatch<React.SetStateAction<TAsyncDataResult>>;
|
|
38
|
+
};
|
|
39
|
+
export declare type TableData = Array<Record<string, unknown>>;
|
|
40
|
+
export declare type InitialState = Partial<VisibilityTableState & ColumnOrderTableState & ColumnPinningTableState & FiltersTableState & SortingTableState & ExpandedTableState & GroupingTableState & ColumnSizingTableState & PaginationTableState & RowSelectionTableState>;
|
|
41
|
+
export declare type TDefaultSort = {
|
|
42
|
+
column: string;
|
|
43
|
+
direction: SortDirection;
|
|
28
44
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as t from"react";import{Table as m}from"../table/Table.js";import{useDataTable as p}from"./DataTableContext.js";import{DataTable as i}from"./DataTable.js";const l=({striped:r=!1,...o})=>{const{getRowModel:a}=p();return t.createElement(m.Body,{...o,striped:r},a().rows.map(e=>t.createElement(i.Row,{row:e,key:e.id})))};export{l as DataTableBody};
|
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
declare type InitialState = Partial<VisibilityTableState & ColumnOrderTableState & ColumnPinningTableState & FiltersTableState & SortingTableState & ExpandedTableState & GroupingTableState & ColumnSizingTableState & PaginationTableState & RowSelectionTableState>;
|
|
5
|
-
declare type TableProviderProps = {
|
|
2
|
+
import { DataTableContextType, TDefaultSort, TGetAsyncData, TableData, InitialState } from './DataTable.types';
|
|
3
|
+
declare type DataTableProviderProps = {
|
|
6
4
|
columns: any;
|
|
7
|
-
defaultSort?:
|
|
8
|
-
column: string;
|
|
9
|
-
direction: SortDirection;
|
|
10
|
-
};
|
|
5
|
+
defaultSort?: TDefaultSort;
|
|
11
6
|
children: React.ReactNode;
|
|
12
7
|
initialState?: InitialState;
|
|
13
8
|
} & ({
|
|
14
|
-
data:
|
|
9
|
+
data: TableData;
|
|
15
10
|
getAsyncData?: never;
|
|
16
11
|
} | {
|
|
17
12
|
data?: never;
|
|
18
13
|
getAsyncData: TGetAsyncData;
|
|
19
14
|
});
|
|
20
|
-
export declare const DataTableProvider: ({ columns, data: dataProp, getAsyncData, defaultSort, initialState, children }:
|
|
15
|
+
export declare const DataTableProvider: ({ columns, data: dataProp, getAsyncData, defaultSort, initialState, children }: DataTableProviderProps) => JSX.Element;
|
|
21
16
|
export declare const useDataTable: <T extends Record<string, unknown>>() => DataTableContextType<T>;
|
|
22
17
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as t from"react";import N from"use-deep-compare-effect";import{useReactTable as I,getCoreRowModel as x,getPaginationRowModel as A,getSortedRowModel as G,getFilteredRowModel as L}from"@tanstack/react-table";import{AsyncDataState as l}from"./DataTable.types.js";import{getNewAsyncData as z}from"./getNewAsyncData.js";import{useSortByColumn as k}from"./useSorting.js";import{usePagination as B}from"./usePagination.js";const w=t.createContext(null),J=({columns:n,data:a=[],getAsyncData:o,defaultSort:P,initialState:s=void 0,children:y})=>{var b;const[g,u]=t.useState({results:a!=null?a:[],total:(b=a==null?void 0:a.length)!=null?b:0}),{isPaginated:i,applyPagination:D,paginationState:e,setPaginationState:C}=B(s==null?void 0:s.pagination),[f,d]=t.useState(l.NONE),[c,h]=t.useState(""),{setIsSortable:E,isSortable:S,sorting:r,setSorting:M}=k(P),m=t.useCallback(async F=>{if(o)try{d(l.PENDING);const T=await z(o,F,e,r,c);u(T),d(l.FULFILLED)}catch{d(l.REJECTED)}},[o,e==null?void 0:e.pageIndex,e==null?void 0:e.pageSize,r,c]);t.useEffect(()=>{m({})},[m]),N(()=>{!a||u({results:a,total:a.length})},[a]);const p=()=>g.total,v=I({columns:n,data:g.results,pageCount:e?Math.ceil(p()/e.pageSize):-1,initialState:s,state:{sorting:r,globalFilter:c,pagination:e},manualPagination:o&&i,manualSorting:o&&i,enableSorting:f!==l.PENDING,enableGlobalFilter:!o,getCoreRowModel:x(),getPaginationRowModel:i?A():void 0,getSortedRowModel:S||r.length?G():void 0,getFilteredRowModel:L(),onPaginationChange:i?C:void 0,onSortingChange:M,onGlobalFilterChange:h}),R=t.useMemo(()=>({...v,data:g,setData:u,setIsSortable:E,applyPagination:D,getTotalRows:p,isSortable:S,asyncDataState:f,runAsyncData:m}),[v,D,p,S]);return t.createElement(w.Provider,{value:R},y)},O=()=>{const n=t.useContext(w);if(!n)throw new Error("useDataTable can only be called from inside a DataTableProvider");return n};export{J as DataTableProvider,O as useDataTable};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as l from"react";import{Table as
|
|
1
|
+
import*as l from"react";import{Table as t}from"../table/Table.js";import{flexRender as o}from"@tanstack/react-table";const m=({cell:e})=>l.createElement(t.Cell,{key:e.id},o(e.column.columnDef.cell,e.getContext()));export{m as DataTableDataCell};
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { Row } from '@tanstack/react-table';
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import { Table } from '../table';
|
|
4
|
-
declare type DataTableRowProps = React.ComponentProps<typeof Table.Row> & {
|
|
4
|
+
export declare type DataTableRowProps = React.ComponentProps<typeof Table.Row> & {
|
|
5
5
|
row: Row<Record<string, unknown>>;
|
|
6
6
|
};
|
|
7
7
|
export declare const DataTableRow: React.FC<DataTableRowProps>;
|
|
8
|
-
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import*as l from"react";import{Table as
|
|
1
|
+
import*as l from"react";import{Table as a}from"../table/Table.js";import{DataTableDataCell as o}from"./DataTableDataCell.js";const r=({row:t})=>l.createElement(a.Row,null,t.getVisibleCells().map((e,m)=>l.createElement(o,{key:e.id,cell:e})));export{r as DataTableRow};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import { Table } from '../table';
|
|
3
3
|
import { DataTable } from './DataTable';
|
|
4
|
-
declare type DataTableTableProps = Omit<React.ComponentProps<typeof Table>, 'children'> & Partial<Pick<React.ComponentProps<typeof DataTable.Head>, 'theme' | 'sortable'>> & Partial<Pick<React.ComponentProps<typeof Table.Body>, 'striped'>>;
|
|
4
|
+
export declare type DataTableTableProps = Omit<React.ComponentProps<typeof Table>, 'children'> & Partial<Pick<React.ComponentProps<typeof DataTable.Head>, 'theme' | 'sortable'>> & Partial<Pick<React.ComponentProps<typeof Table.Body>, 'striped'>>;
|
|
5
5
|
export declare const DataTableTable: React.FC<DataTableTableProps>;
|
|
6
|
-
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TAsyncDataResult, TableData } from '../DataTable.types';
|
|
2
|
+
import type { UniqueIdentifier } from '@dnd-kit/core';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
declare type DragAndDropContainerProps = {
|
|
5
|
+
idColumn?: string;
|
|
6
|
+
onChange?: (oldIndex: number, newIndex: number, newData: TableData) => void;
|
|
7
|
+
};
|
|
8
|
+
export declare const processDragEndEvent: (event: {
|
|
9
|
+
active: {
|
|
10
|
+
id: UniqueIdentifier;
|
|
11
|
+
};
|
|
12
|
+
over: {
|
|
13
|
+
id: UniqueIdentifier;
|
|
14
|
+
};
|
|
15
|
+
}, data: TAsyncDataResult, rowOrder: Array<UniqueIdentifier>, idColumn: UniqueIdentifier, onChange?: ((oldIndex: number, newIndex: number, newData: TableData) => void) | undefined) => {
|
|
16
|
+
results: Record<string, unknown>[];
|
|
17
|
+
total: number;
|
|
18
|
+
};
|
|
19
|
+
export declare const getRowOrder: (data: TAsyncDataResult, idColumn: string) => UniqueIdentifier[];
|
|
20
|
+
export declare const DragAndDropContainer: React.FC<DragAndDropContainerProps>;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{useDataTable as h}from"../DataTableContext.js";import{useSensors as D,useSensor as u,PointerSensor as f,KeyboardSensor as g,DndContext as y,closestCenter as C}from"@dnd-kit/core";import{restrictToVerticalAxis as S}from"@dnd-kit/modifiers";import{sortableKeyboardCoordinates as b,SortableContext as w,verticalListSortingStrategy as x,arrayMove as E}from"@dnd-kit/sortable";import*as c from"react";const p=(t,s,o,r,a)=>{const{active:i,over:d}=t,l=o.indexOf(i[r]),n=o.indexOf(d==null?void 0:d[r]),e=E(s.results,l,n);return a==null||a(l,n,e),{results:e,total:e.length}},m=(t,s)=>t.results.map(o=>{const r=o[s];if(r===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 r}),T=({idColumn:t="id",onChange:s=void 0,children:o})=>{const{data:r,setData:a}=h(),i=c.useMemo(()=>m(r,t),[r]),d=D(u(f),u(g,{coordinateGetter:b}));return c.createElement(y,{sensors:d,collisionDetection:C,onDragEnd:l=>{const{active:n,over:e}=l;n.id&&(e==null?void 0:e.id)&&n.id!==(e==null?void 0:e.id)&&a(v=>p({active:n,over:e},v,i,t,s))},modifiers:[S]},c.createElement(w,{items:i,strategy:x},o))};export{T as DragAndDropContainer,m as getRowOrder,p as processDragEndEvent};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { DataTableTableProps } from '../DataTableTable';
|
|
3
|
+
declare type DragAndDropTableProps = DataTableTableProps & {
|
|
4
|
+
idColumn?: string;
|
|
5
|
+
onDragAndDrop?: (oldIndex: number, newIndex: number, newData: Record<string, unknown>[]) => void;
|
|
6
|
+
};
|
|
7
|
+
export declare const DragAndDropTable: React.FC<DragAndDropTableProps>;
|
|
8
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"react";import{Table as s}from"../../table/Table.js";import{DataTable as D}from"../DataTable.js";import{AsyncDataState as c}from"../DataTable.types.js";import{useDataTable as d}from"../DataTableContext.js";import{DataTableLoading as b}from"../DataTableLoading.js";import{DragAndDropContainer as f}from"./DragAndDropContainer.js";import{DragAndDropTableBody as E}from"./DragAndDropTableBody.js";const g=({idColumn:t,onDragAndDrop:r,sortable:a,striped:o,theme:n,css:m,...i})=>{const{asyncDataState:l}=d(),p=l===c.PENDING;return e.createElement(f,{onChange:r,idColumn:t},e.createElement(b,null),e.createElement(s,{...i,css:{...m,...p&&{opacity:.5,pointerEvents:"none",transition:"opacity 250ms linear 150ms"}}},e.createElement(D.Head,{theme:n,sortable:a}),e.createElement(E,{striped:o})))};export{g as DragAndDropTable};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as r from"react";import{Table as m}from"../../table/Table.js";import{useDataTable as p}from"../DataTableContext.js";import{DraggableRow as d}from"./DraggableRow.js";const i=({striped:o=!1,...t})=>{const{getRowModel:a}=p();return r.createElement(m.Body,{...t,striped:o},a().rows.map(e=>r.createElement(d,{row:e,key:e.id})))};export{i as DragAndDropTableBody};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Row } from '@tanstack/react-table';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { Table } from '../../table';
|
|
4
|
+
export declare type DataTableDraggableRowProps = React.ComponentProps<typeof Table.Row> & {
|
|
5
|
+
row: Row<Record<string, unknown>>;
|
|
6
|
+
};
|
|
7
|
+
export declare const DraggableRow: React.FC<DataTableDraggableRowProps>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import*as e from"react";import{Table as i}from"../../table/Table.js";import{DataTableDataCell as p}from"../DataTableDataCell.js";import"../DataTableContext.js";import"@dnd-kit/core";import"@dnd-kit/modifiers";import{useSortable as f}from"@dnd-kit/sortable";import{CSS as c}from"@dnd-kit/utilities";import{flexRender as d}from"@tanstack/react-table";import{Handle as g}from"./Handle.js";import"../DataTable.js";import"../DataTable.types.js";import"../DataTableLoading.js";const b=({row:t})=>{const{attributes:l,listeners:m,transform:a,setNodeRef:n,isDragging:o}=f({id:t.original.id});return e.createElement(i.Row,{ref:n,css:{transform:c.Transform.toString(a),zIndex:o?5:void 0}},t.getVisibleCells().map((r,s)=>s===0?e.createElement(i.Cell,{key:r.id},e.createElement(g,{...l,...m,isDragging:o,css:{display:"inline-block"},label:"drag and drop"}),d(r.column.columnDef.cell,r.getContext())):e.createElement(p,{key:r.id,cell:r})))};export{b as DraggableRow};
|