@atom-learning/components 2.60.0 → 2.61.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 +12 -3
- package/dist/components/accordion/AccordionItem.js +1 -1
- package/dist/components/action-icon/ActionIcon.js +1 -1
- package/dist/components/avatar/Avatar.js +1 -1
- package/dist/components/banner/BannerContext.js +1 -1
- package/dist/components/banner/banner-regular/BannerRegularActions.js +1 -1
- package/dist/components/banner/banner-regular/BannerRegularButton.js +1 -1
- package/dist/components/banner/banner-regular/BannerRegularContent.js +1 -1
- package/dist/components/banner/banner-regular/BannerRegularHeading.js +1 -1
- package/dist/components/banner/banner-regular/BannerRegularImage.js +1 -1
- package/dist/components/banner/banner-regular/BannerRegularText.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/Checkbox.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/chip-toggle-group/ChipToggleGroupItem.js +1 -1
- package/dist/components/create-password-field/CreatePasswordField.d.ts +17 -0
- package/dist/components/create-password-field/CreatePasswordField.js +2 -0
- package/dist/components/create-password-field/CreatePasswordField.js.map +1 -0
- package/dist/components/create-password-field/index.d.ts +1 -0
- package/dist/components/data-table/DataTable.d.ts +1 -1
- package/dist/components/data-table/DataTable.js +1 -1
- package/dist/components/data-table/DataTable.js.map +1 -1
- package/dist/components/data-table/DataTableBody.js +1 -1
- package/dist/components/data-table/DataTableBulkActions.js +1 -1
- package/dist/components/data-table/DataTableBulkActions.js.map +1 -1
- package/dist/components/data-table/DataTableContext.js +1 -1
- package/dist/components/data-table/DataTableContext.js.map +1 -1
- package/dist/components/data-table/DataTableDataCell.js +1 -1
- package/dist/components/data-table/DataTableGlobalFilter.js +1 -1
- package/dist/components/data-table/DataTableHead.js +1 -1
- package/dist/components/data-table/DataTableRow.js +1 -1
- package/dist/components/data-table/DataTableRow.js.map +1 -1
- package/dist/components/data-table/DataTableRowSelectionCheckbox.js +1 -1
- package/dist/components/data-table/DataTableRowSelectionCheckbox.js.map +1 -1
- package/dist/components/data-table/DataTableSelectAllRowsCheckbox.js +1 -1
- package/dist/components/data-table/DataTableSelectAllRowsCheckbox.js.map +1 -1
- 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/form/validation.d.ts +1 -1
- package/dist/components/icon/Icon.js +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/inline-message/InlineMessage.js +1 -1
- package/dist/components/input/Input.js +1 -1
- package/dist/components/label/Label.js +1 -1
- package/dist/components/link/Link.js +1 -1
- package/dist/components/list/List.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/pagination/Pagination.js +1 -1
- package/dist/components/pagination/Pagination.js.map +1 -1
- package/dist/components/pagination/PaginationItem.js +1 -1
- package/dist/components/pagination/PaginationItem.js.map +1 -1
- package/dist/components/pagination/PaginationPages.js +1 -1
- package/dist/components/pagination/PaginationPages.js.map +1 -1
- package/dist/components/pagination/PaginationPopover.js +1 -1
- package/dist/components/pagination/PaginationPopover.js.map +1 -1
- package/dist/components/pagination/PaginationPreviousButton.js +1 -1
- package/dist/components/pagination/pagination-context/PaginationContext.js +1 -1
- package/dist/components/pagination/usePagination.js +1 -1
- package/dist/components/password-field/PasswordField.js +1 -1
- package/dist/components/password-field/PasswordField.js.map +1 -1
- package/dist/components/popover/PopoverContent.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/section-message/SectionMessageDescription.js +1 -1
- package/dist/components/section-message/SectionMessageIcon.js +1 -1
- package/dist/components/section-message/SectionMessageLayout.js +1 -1
- package/dist/components/select-field/SelectField.js +1 -1
- package/dist/components/sidedrawer/SidedrawerAccordion/SidedrawerAccordionContent.js +1 -1
- package/dist/components/sortable/SortableHandle.js +1 -1
- package/dist/components/sortable/SortableItem.js +1 -1
- package/dist/components/stack-content/StackContent.js +1 -1
- package/dist/components/stepper/StepperStepBack.js +1 -1
- package/dist/components/switch/Switch.js +1 -1
- package/dist/components/table/TableHeader.js +1 -1
- package/dist/components/table/TableRow.js +1 -1
- package/dist/components/table/TableStickyColumnsContainer.js +1 -1
- package/dist/components/table/useStickyColumnsCss.js +1 -1
- package/dist/components/tabs/Tabs.js +1 -1
- package/dist/components/tabs/TabsTrigger.js +1 -1
- package/dist/components/text/Text.js +1 -1
- package/dist/components/tile-toggle-group/TileToggleGroupItem.js +1 -1
- 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/video/Video.js +1 -1
- package/dist/docgen.json +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.js +1 -1
- package/dist/utilities/hooks/useCallbackRef.js +1 -1
- package/dist/utilities/hooks/useResizeObserver.js +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,10 +1,19 @@
|
|
|
1
|
-
# [2.
|
|
1
|
+
# [2.61.0](https://github.com/Atom-Learning/components/compare/v2.60.1...v2.61.0) (2023-07-11)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* add test to check validation styling has been applied to password input ([36886ac](https://github.com/Atom-Learning/components/commit/36886ac5500be1dead85ca9e869acc5b556efec6))
|
|
7
|
+
* extract message theme to function ([912f42b](https://github.com/Atom-Learning/components/commit/912f42b840c1361ab10520190e233266db20f8fc))
|
|
8
|
+
* update create password snapshot ([46049da](https://github.com/Atom-Learning/components/commit/46049da0ae7c02263d8010b52549f23bcad0eb65))
|
|
9
|
+
* use object.values to check validation rules ([a6a7e5f](https://github.com/Atom-Learning/components/commit/a6a7e5fb6d65c34ccbe6276ab683d2dea3bc2f8a))
|
|
2
10
|
|
|
3
11
|
|
|
4
12
|
### Features
|
|
5
13
|
|
|
6
|
-
*
|
|
7
|
-
*
|
|
14
|
+
* add create password field component ([bdad9b3](https://github.com/Atom-Learning/components/commit/bdad9b33e040f4712c614bc76a5811e739f51d66))
|
|
15
|
+
* add error state to password field ([a7b769d](https://github.com/Atom-Learning/components/commit/a7b769d25ed031dee60720933ccd78cbc614357c))
|
|
16
|
+
* wrap validation messages ([91097ba](https://github.com/Atom-Learning/components/commit/91097badd703f2ee352f9d53131ec3668f802e26))
|
|
8
17
|
|
|
9
18
|
# [1.4.0](https://github.com/Atom-Learning/components/compare/v1.3.0...v1.4.0) (2022-04-11)
|
|
10
19
|
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Item as m}from"@radix-ui/react-accordion";import r from"react";import{styled as l}from"../../stitches.js";const c=l(m,{width:"100%","&:not(:last-child)":{mb:"$1"}}),i=({children:t,value:e
|
|
1
|
+
import{Item as m}from"@radix-ui/react-accordion";import r from"react";import{styled as l}from"../../stitches.js";const c=l(m,{width:"100%","&:not(:last-child)":{mb:"$1"}}),i=({children:t,value:o,...e})=>r.createElement(c,{value:o,...e},t);export{i as AccordionItem};
|
|
2
2
|
//# sourceMappingURL=AccordionItem.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{darken as o}from"color2k";import b from"invariant";import*as e from"react";import{styled as v,theme as n}from"../../stitches.js";import{Icon as
|
|
1
|
+
import{darken as o}from"color2k";import b from"invariant";import*as e from"react";import{styled as v,theme as n}from"../../stitches.js";import{Icon as $}from"../icon/Icon.js";import{Tooltip as u}from"../tooltip/Tooltip.js";import{ActionIconSizeMap as M}from"./ActionIcon.constants.js";const l=(r,a,s)=>({bg:"transparent",color:r,"&:not(:disabled):hover, &:not(:disabled):focus":{color:a},"&:not(:disabled):active":{color:s},"&[disabled]":{color:"$tonal400",cursor:"not-allowed"}}),c=(r,a,s)=>({bg:r,color:"white","&:not(:disabled):hover, &:not(:disabled):focus":{bg:a,color:"white"},"&:not(:disabled):active":{bg:s},"&[disabled]":{bg:"$tonal100",color:"$tonal400",cursor:"not-allowed"}}),p=(r,a,s)=>({border:"1px solid",borderColor:"currentColor",color:r,"&:not(:disabled):hover, &:not(:disabled):focus":{color:a},"&:not(:disabled):active":{color:s},"&[disabled]":{borderColor:"$tonal400",color:"$tonal400",cursor:"not-allowed"}}),C=v("button",{alignItems:"center",appearance:"none",bg:"white",border:"unset",borderRadius:"$0",boxSizing:"border-box",cursor:"pointer",display:"flex",justifyContent:"center",p:"unset",transition:"all 100ms ease-out",variants:{theme:{neutral:{},primary:{},success:{},warning:{},danger:{}},appearance:{simple:{},outline:{},solid:{}},size:{xs:{size:"$2"},sm:{size:"$3"},md:{size:"$4"},lg:{size:"$5"}},isRounded:{true:{borderRadius:"$round"}}},compoundVariants:[{theme:"neutral",appearance:"simple",css:l("$tonal300","$primaryMid","$primaryDark")},{theme:"primary",appearance:"simple",css:l("$primary","$primaryMid","$primaryDark")},{theme:"primaryDark",appearance:"simple",css:l("$primaryDark",o(n.colors.primaryDark.value,.1),o(n.colors.primaryDark.value,.15))},{theme:"success",appearance:"simple",css:l("$success","$successMid","$successDark")},{theme:"warning",appearance:"simple",css:l("$warning","$warningMid","$warningDark")},{theme:"danger",appearance:"simple",css:l("$danger","$dangerMid","$dangerDark")},{theme:"primary",appearance:"solid",css:c("$primary","$primaryMid","$primaryDark")},{theme:"primaryDark",appearance:"solid",css:c("$primaryDark",o(n.colors.primaryDark.value,.1),o(n.colors.primaryDark.value,.15))},{theme:"success",appearance:"solid",css:c("$success","$successMid","$successDark")},{theme:"warning",appearance:"solid",css:c("$warning","$warningMid","$warningDark")},{theme:"danger",appearance:"solid",css:c("$danger","$dangerMid","$dangerDark")},{theme:"primary",appearance:"outline",css:p("$primary","$primaryMid","$primaryDark")},{theme:"primaryDark",appearance:"outline",css:p("$primaryDark",o(n.colors.primaryDark.value,.1),o(n.colors.primaryDark.value,.15))},{theme:"success",appearance:"outline",css:p("$success","$successMid","$successDark")},{theme:"warning",appearance:"outline",css:p("$warning","$warningMid","$warningDark")},{theme:"danger",appearance:"outline",css:p("$danger","$dangerMid","$dangerDark")}]}),z=({hasTooltip:r,label:a,tooltipSide:s,children:t})=>r?e.createElement(u,null,e.createElement(u.Trigger,{asChild:!0},t),e.createElement(u.Content,{side:s},a)):e.createElement(e.Fragment,null,t),d=e.forwardRef(({children:r,theme:a="primary",appearance:s="simple",size:t="sm",label:y,href:h,disabled:m,hasTooltip:k=!0,tooltipSide:D,...w},f)=>{const g=`A single ${$.displayName} component is permitted as a child of ${d.displayName}`;return b(e.Children.count(r)===1,g),e.createElement(z,{hasTooltip:k,label:y,tooltipSide:D},e.createElement(C,{...h?{as:"a",href:m?null:h,onClick:void 0,"aria-disabled":!!m}:{type:"button"},...w,"aria-label":y,theme:a,appearance:s,size:t,ref:f,disabled:m},e.Children.map(r,i=>{if(!e.isValidElement(i))throw new Error(g);return b(i.type===$,`Children of type ${i==null?void 0:i.type} aren't permitted. Only an ${$.displayName} component is allowed in ${d.displayName}`),e.cloneElement(i,{size:M[t],css:{...i.props.css?i.props.css:{}}})})))});d.displayName="ActionIcon";export{d as ActionIcon};
|
|
2
2
|
//# sourceMappingURL=ActionIcon.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as o from"react";import{styled as n}from"../../stitches.js";import"../../utilities/css-wrapper/CSSWrapper.js";import"../../utilities/no-overflow-wrapper/NoOverflowWrapper.js";import"color2k";import{focusVisibleStyleBlock as v}from"../../utilities/style/focus-visible-style-block.js";import"../../utilities/style/keyframe-animations.js";import{AvatarIcon as p}from"./AvatarIcon.js";import{AvatarImage as u}from"./AvatarImage.js";import{AvatarInitial as b}from"./AvatarInitial.js";import{AvatarPlaceholder as z}from"./AvatarPlaceholder.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"../../utilities/css-wrapper/CSSWrapper.js";import"../../utilities/no-overflow-wrapper/NoOverflowWrapper.js";import"color2k";import{focusVisibleStyleBlock as v}from"../../utilities/style/focus-visible-style-block.js";import"../../utilities/style/keyframe-animations.js";import{AvatarIcon as p}from"./AvatarIcon.js";import{AvatarImage as u}from"./AvatarImage.js";import{AvatarInitial as b}from"./AvatarInitial.js";import{AvatarPlaceholder as z}from"./AvatarPlaceholder.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"}}}},f=n("div",s),$=n("button",{all:"unset",...s,"&:not([disabled])":{"&:hover":{borderColor:"$tonal400",backgroundColor:"$tonal50"},"&:active":{borderColor:"$primary",backgroundColor:"$tonal100"},"&:focus-visible":v()},"&[disabled]":{opacity:"30%",cursor:"not-allowed"}}),m=o.createContext({name:void 0,size:"lg"}),d=({children:a,name:e,size:i})=>{const t=o.useMemo(()=>({name:e,size:i}),[e,i]);return o.createElement(m.Provider,{value:t},a)},c=({children:a,size:e="lg",name:i,disabled:t=!1,onClick:l})=>o.createElement(d,{name:i,size:e},l?o.createElement($,{size:e,disabled:t,onClick:t?void 0:l,css:{cursor:t?"auto":"pointer"}},a):o.createElement(f,{size:e},a)),r=c;r.Image=u,r.Initial=b,r.Placeholder=z,r.Icon=p,r.displayName="Avatar";export{r as Avatar,c as AvatarRoot,m as AvatarRootContext,d as AvatarRootProvider};
|
|
2
2
|
//# sourceMappingURL=Avatar.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as s from"react";const
|
|
1
|
+
import*as s from"react";const r=s.createContext({hasDismiss:!1,setHasDismiss:()=>null}),m=()=>{const e=s.useContext(r);if(e===void 0)throw new Error("useBannerContext must be used within a BannerProvider");return e},u=({emphasis:e,size:t,children:o})=>{const[n,i]=s.useState(!1),a=s.useMemo(()=>({emphasis:e,size:t,hasDismiss:n,setHasDismiss:i}),[e,t,n,i]);return s.createElement(r.Provider,{value:a},o)};export{r as BannerContext,u as BannerProvider,m as useBannerContext};
|
|
2
2
|
//# sourceMappingURL=BannerContext.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import i from"invariant";import*as
|
|
1
|
+
import i from"invariant";import*as n from"react";import{overrideStitchesVariantValue as c}from"../../../utilities/override-stitches-variant-value/overrideStitchesVariantValue.js";import{Stack as u}from"../../stack/Stack.js";import{useBannerContext as f}from"../BannerContext.js";import{BannerRegularButton as o}from"./BannerRegularButton.js";const m=2,y={sm:2,md:4},t=({children:r,...l})=>{const{size:a}=f(),p=n.useMemo(()=>c(a,e=>y[e]),[a]);return i(n.Children.count(r)<=m,`A maximum of ${m} ${o.displayName} component(s) are permitted as children of ${t.displayName}`),n.createElement(u,{gap:p,...l},n.Children.map(r,(e,s)=>{if(!n.isValidElement(e))throw new Error(`Child passed to ${t.displayName} is not a valid element`);i(e.type===o,`Children of type ${e==null?void 0:e.type} aren't permitted. Only an ${o.displayName} component is allowed in ${t.displayName}`);const d={appearance:s>0?"outline":void 0};return n.cloneElement(e,d)}))};t.displayName="BannerRegularActions";export{t as BannerRegularActions};
|
|
2
2
|
//# sourceMappingURL=BannerRegularActions.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"react";import{overrideStitchesVariantValue as i}from"../../../utilities/override-stitches-variant-value/overrideStitchesVariantValue.js";import{Button as s}from"../../button/Button.js";import{useBannerContext as u}from"../BannerContext.js";const r=
|
|
1
|
+
import*as e from"react";import{overrideStitchesVariantValue as i}from"../../../utilities/override-stitches-variant-value/overrideStitchesVariantValue.js";import{Button as s}from"../../button/Button.js";import{useBannerContext as u}from"../BannerContext.js";const r=o=>{const{emphasis:n,size:t}=u(),a=e.useMemo(()=>i(t,m=>m==="sm"),[t]);return e.createElement(s,{size:t,fullWidth:a,theme:n==="highContrast"?"neutral":"primary",...o})};r.displayName="BannerRegularButton";export{r as BannerRegularButton};
|
|
2
2
|
//# sourceMappingURL=BannerRegularButton.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as o from"react";import{styled as n}from"../../../stitches.js";import{Box as s}from"../../box/Box.js";import{useBannerContext as m}from"../BannerContext.js";const a=n(s,{width:"62%",flexGrow:1,variants:{size:{sm:{p:"$4"},md:{p:"$24",pr:"$5"}}}}),e=r=>{const{size:t}=m();return o.createElement(a,{size:t,...r})};e.displayName="BannerRegularContent";export{e as BannerRegularContent};
|
|
2
2
|
//# sourceMappingURL=BannerRegularContent.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as r from"react";import{styled as a}from"../../../stitches.js";import{Heading as m}from"../../heading/Heading.js";import{useBannerContext as
|
|
1
|
+
import*as r from"react";import{styled as a}from"../../../stitches.js";import{Heading as m}from"../../heading/Heading.js";import{useBannerContext as o}from"../BannerContext.js";const t=a(m,{mb:"$4",variants:{containerSize:{sm:{},md:{}},hasDismiss:{true:{}}},compoundVariants:[{containerSize:"sm",hasDismiss:!0,css:{mr:"$6"}}]}),s=e=>{const{size:i,hasDismiss:n}=o();return r.createElement(t,{size:"sm",containerSize:i,hasDismiss:n,...e})};s.displayName="BannerRegularHeading";export{s as BannerRegularHeading};
|
|
2
2
|
//# sourceMappingURL=BannerRegularHeading.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"react";import{styled as
|
|
1
|
+
import*as e from"react";import{styled as o}from"../../../stitches.js";import{Box as a}from"../../box/Box.js";import{Image as m}from"../../image/Image.js";import{useBannerContext as n}from"../BannerContext.js";const s=o(a,{position:"relative",overflow:"hidden",width:"38%",variants:{size:{sm:{display:"none"},md:{display:"block"}}}}),l=o(m,{position:"absolute",maxWidth:"auto",width:"100%",height:"100%",objectFit:"cover"}),t=i=>{const{size:r}=n();return e.createElement(s,{size:r},e.createElement(l,{...i}))};t.displayName="BannerRegularImage";export{t as BannerRegularImage};
|
|
2
2
|
//# sourceMappingURL=BannerRegularImage.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as o from"react";import{styled as a}from"../../../stitches.js";import{Text as m}from"../../text/Text.js";import{useBannerContext as n}from"../BannerContext.js";const c=a(m,{color:"$grey900",variants:{containerSize:{sm:{mb:"$4"},md:{mb:"$24"}},emphasis:{highContrast:{color:"$grey100"},midContrast:{},lowContrast:{}},hasDismiss:{true:{}}},compoundVariants:[{containerSize:"sm",hasDismiss:!0,css:{mr:"$6"}}]}),e=r=>{const{emphasis:t,size:s,hasDismiss:i}=n();return o.createElement(c,{size:s,containerSize:s,emphasis:t,hasDismiss:i,...r})};e.displayName="BannerRegularText";export{e as BannerRegularText};
|
|
2
2
|
//# sourceMappingURL=BannerRegularText.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
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 h}from"../box/Box.js";import{Button as C}from"../button/Button.js";import{Flex as Y}from"../flex/Flex.js";import{Icon as w}from"../icon/Icon.js";import{Text as K}from"../text/Text.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 g=F("div",{display:"grid",gridTemplateColumns:"repeat(7, 1fr)",gridGap:"$1 $2"}),ee=F(C,{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:f=0,monthNames:N=Q,weekdayNames:T=V,labels:y=X,date:n=new Date,minDate:l,maxDate:m,setYear:A,...L})=>{const[a,E]=e.useState(!1),[s,k]=e.useState(n==null?void 0:n.getFullYear()),O=t=>{const r=n;r.setFullYear(t),A(r),E(!1)},W=l&&s-16<=l.getFullYear(),z=m&&s>=m.getFullYear(),B=Array.from({length:16},(t,r)=>{const o=s-r;return m&&o>m.getFullYear()||l&&o<l.getFullYear()?0:o}),{calendars:d,getBackProps:I,getForwardProps:M,getDateProps:G}=J({firstDayOfWeek:f,showOutsideDays:!0,date:n,minDate:l,maxDate:m,...L});return d.length?e.createElement(h,{css:{position:"relative",width:"min-content",mt:"-$1",...i}},e.createElement(Y,{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(s-16)},disabled:a&&W},e.createElement(w,{is:q})),e.createElement(x,{label:y[a?"nextYear":"next"],theme:"neutral",size:"md",...!a&&M({calendars:d}),...a&&{onClick:()=>k(s+16)},disabled:a&&z},e.createElement(w,{is:H}))),a&&e.createElement(g,{css:{gridTemplateColumns:"repeat(4, 1fr)",pt:"$7",direction:"rtl",gridGap:"$3 $1"}},B.map((t,r)=>{const o=t===n.getFullYear();return t?e.createElement(ee,{key:`${t}${r}`,theme:o?"primary":"neutral",onClick:()=>O(t),selected:o},t):e.createElement(h,{key:r,css:{width:"$6",height:"$4"}})})),!a&&d.map(({month:t,year:r,weeks:o})=>e.createElement(h,{key:`${t}${r}`},e.createElement(Y,{css:{height:"$4",alignItems:"center",mb:"$4"}},e.createElement(C,{theme:"neutral",css:{px:"0",color:"$tonal600"},onClick:()=>E(!0)},N[t]," ",r)),e.createElement(g,{css:{mb:"$3"}},te(T,f).map(p=>e.createElement(K,{as:"span",size:"sm",key:`${t}${r}${p}`,css:{fontWeight:600,textAlign:"center"}},p))),e.createElement(g,null,o.map((p,P)=>p.map(($,j)=>{const D=`${t}${r}${P}${j}`;if(!$)return e.createElement("div",{key:D});const{date:R,selected:b,today:v,prevMonth:U,nextMonth:_}=$;return e.createElement(Z,{isOutsideMonth:U||_,isSelected:b,isToday:v,key:D,ref:b?c:v?u:null,...G({dateObj:$}),type:"button"},R.getDate())})))))):null};S.displayName="Calendar";export{S as Calendar};
|
|
2
2
|
//# sourceMappingURL=Calendar.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
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 o}from"../icon/Icon.js";import{styled as t}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=t(a,n),c=t(l,n),p=e=>r.createElement(m,{...e},r.createElement(o,{is:s})),u=e=>r.createElement(c,{...e},r.createElement(o,{is:i}));export{u as CarouselArrowNext,p as CarouselArrowPrevious};
|
|
2
2
|
//# sourceMappingURL=CarouselArrows.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Slide as
|
|
1
|
+
import{Slide as t}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(t,{}),s=({children:o,...r})=>e.createElement(l,{...r,tag:"div"},e.createElement(m,{css:{px:"$3"}},o));export{s as CarouselSlide};
|
|
2
2
|
//# sourceMappingURL=CarouselSlide.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Minus as d,Ok as m}from"@atom-learning/icons";import*as t from"@radix-ui/react-checkbox";import*as o from"react";import{styled as a}from"../../stitches.js";import{overrideStitchesVariantValue as c}from"../../utilities/override-stitches-variant-value/overrideStitchesVariantValue.js";import{Icon as p}from"../icon/Icon.js";const u=a(t.Indicator,{position:"absolute",top:"50%",left:"50%",transform:"translateX(-50%) translateY(-50%)"}),f=a(t.Root,{appearance:"none",position:"relative",backgroundColor:"transparent",border:"1px solid $colors$tonal400",borderRadius:"3px",color:"white",cursor:"pointer",size:"$1",p:0,display:"flex",alignItems:"center",justifyContent:"center",transition:"all 50ms ease-out",'&[data-state="checked"]':{backgroundColor:"$primary",borderColor:"$primary"},'&[data-state="indeterminate"]':{backgroundColor:"$primary",borderColor:"$primary"},"&:focus":{outline:"2px solid $primary",outlineOffset:"1px"},"&[disabled]":{backgroundColor:"$tonal100",borderColor:"$tonal400",cursor:"not-allowed",color:"$tonal400"},variants:{state:{error:{borderColor:"$danger"}},size:{md:{size:"$1"},lg:{size:"$2",mt:"-$1"}}}})
|
|
1
|
+
import{Minus as d,Ok as m}from"@atom-learning/icons";import*as t from"@radix-ui/react-checkbox";import*as o from"react";import{styled as a}from"../../stitches.js";import{overrideStitchesVariantValue as c}from"../../utilities/override-stitches-variant-value/overrideStitchesVariantValue.js";import{Icon as p}from"../icon/Icon.js";const u=a(t.Indicator,{position:"absolute",top:"50%",left:"50%",transform:"translateX(-50%) translateY(-50%)"}),f=a(t.Root,{appearance:"none",position:"relative",backgroundColor:"transparent",border:"1px solid $colors$tonal400",borderRadius:"3px",color:"white",cursor:"pointer",size:"$1",p:0,display:"flex",alignItems:"center",justifyContent:"center",transition:"all 50ms ease-out",'&[data-state="checked"]':{backgroundColor:"$primary",borderColor:"$primary"},'&[data-state="indeterminate"]':{backgroundColor:"$primary",borderColor:"$primary"},"&:focus":{outline:"2px solid $primary",outlineOffset:"1px"},"&[disabled]":{backgroundColor:"$tonal100",borderColor:"$tonal400",cursor:"not-allowed",color:"$tonal400"},variants:{state:{error:{borderColor:"$danger"}},size:{md:{size:"$1"},lg:{size:"$2",mt:"-$1"}}}}),b={md:"sm",lg:"md"},i=o.forwardRef(({size:r="md",...e},s)=>{const n=o.useMemo(()=>c(r,l=>b[l]),[r]);return o.createElement(f,{...e,size:r,ref:s},o.createElement(u,{asChild:!0},o.createElement(p,{is:e.checked==="indeterminate"?d:m,css:{strokeWidth:"3"},size:n})))});i.displayName="Checkbox";export{i as Checkbox};
|
|
2
2
|
//# sourceMappingURL=Checkbox.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"react";import{Box as
|
|
1
|
+
import*as e from"react";import{Box as g}from"../box/Box.js";import{Flex as $}from"../flex/Flex.js";import{Icon as p}from"../icon/Icon.js";import{getTextVariant as a}from"../text/Text.js";import{styled as m}from"../../stitches.js";import{overrideStitchesVariantValue as z}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"}}),u={sm:"sm",md:"sm",lg:"md"},y=m(p,{flexShrink:0}),l=({...r})=>{const i=e.useContext(c),{size:t}=i,n=e.useMemo(()=>z(t,o=>u[o]),[t]);return e.createElement(y,{...r,size:n})},E=({children:r,...i})=>{const t=e.Children.toArray(r),n=t.length<=1;return e.createElement(h,{...i},t.map((o,C)=>!n&&typeof o=="string"?e.createElement(g,{as:"span",css:d,key:o},o):e.isValidElement(o)&&o.type===p?e.createElement(l,{key:`icon-${C}`,...o.props}):o))},f=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"})}}}}),c=e.createContext({}),x=({size:r,children:i})=>{const t=e.useMemo(()=>({size:r}),[r]);return e.createElement(c.Provider,{value:t},i)},v=e.forwardRef(({asWorkaround:r,size:i="md",...t},n)=>e.createElement(x,{size:i},e.createElement(f,{ref:n,as:r,size:i,...t}))),s=v;s.Content=E,s.Icon=l,s.displayName="Chip";export{s as Chip,l as ChipIcon,c as ChipRootContext,x as ChipRootProvider,h as StyledChipContent,y as StyledChipIcon,f as StyledRoot};
|
|
2
2
|
//# sourceMappingURL=Chip.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
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,...e},t)=>r.createElement(a,{ref:t,direction:"row",gap:o,align:!1,...e}));export{p as ChipGroup};
|
|
2
2
|
//# sourceMappingURL=ChipGroup.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
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 e=o.forwardRef((r,i)=>o.createElement(m,{as:p,ref:i,...r}));export{e as ChipDismissibleGroupRoot};
|
|
2
2
|
//# sourceMappingURL=ChipDismissibleGroupRoot.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Ok as a}from"@atom-learning/icons";import*as n from"@radix-ui/react-toggle-group";import*as o from"react";import{Chip as
|
|
1
|
+
import{Ok as a}from"@atom-learning/icons";import*as n from"@radix-ui/react-toggle-group";import*as o from"react";import{Chip as r}from"../chip/Chip.js";import"../chip/ChipGroup.js";import{Icon as s}from"../icon/Icon.js";import{styled as t}from"../../stitches.js";import"../../utilities/css-wrapper/CSSWrapper.js";import"../../utilities/no-overflow-wrapper/NoOverflowWrapper.js";import"color2k";import{focusVisibleStyleBlock as p}from"../../utilities/style/focus-visible-style-block.js";import"../../utilities/style/keyframe-animations.js";const e=t(s,{display:"none"}),c=t(r,{"&:not([disabled])":{cursor:"pointer","&:hover":{bg:"$tonal100",color:"$tonal600",borderColor:"currentColor"},"&:focus-visible":{...p()},'&[data-state="on"]':{"&:hover":{bg:"$white",color:"$primaryDark"}}},'&[data-state="off"]':{color:"$tonal400",bg:"$tonal50",borderColor:"$tonal200"},'&[data-state="on"]':{[`& ${e}`]:{display:"block"}}}),d=({size:l="md",children:i,...m})=>o.createElement(n.Item,{...m,asChild:!0},o.createElement(c,{asWorkaround:"button"},o.createElement(e,{is:a,size:l==="lg"?"md":"sm"}),o.createElement(r.Content,null,i)));export{d as ChipToggleGroupItem};
|
|
2
2
|
//# sourceMappingURL=ChipToggleGroupItem.js.map
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import type { CSS } from '../../stitches';
|
|
3
|
+
import { FieldElementWrapperProps } from '../field-wrapper';
|
|
4
|
+
import { PasswordInput } from '../password-input';
|
|
5
|
+
declare type ValidationResult = Record<string, boolean>;
|
|
6
|
+
declare type CreatePasswordFieldProps = React.ComponentProps<typeof PasswordInput> & Omit<FieldElementWrapperProps, 'label' | 'name'> & {
|
|
7
|
+
label?: string;
|
|
8
|
+
name?: string;
|
|
9
|
+
validate: (password: string) => Promise<ValidationResult | undefined> | ValidationResult;
|
|
10
|
+
defaultValidation: ValidationResult;
|
|
11
|
+
messageDirection?: CSS['flexDirection'];
|
|
12
|
+
};
|
|
13
|
+
export declare const CreatePasswordField: {
|
|
14
|
+
({ validate, defaultValidation, messageDirection, label, name, css, validation, ...remainingProps }: CreatePasswordFieldProps): JSX.Element;
|
|
15
|
+
displayName: string;
|
|
16
|
+
};
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import*as a from"react";import{useFormContext as j}from"react-hook-form";import{throttle as E}from"throttle-debounce";import P from"invariant";import{Flex as k}from"../flex/Flex.js";import{InlineMessage as S}from"../inline-message/InlineMessage.js";import{PasswordField as $}from"../password-field/PasswordField.js";import{Box as B}from"../box/Box.js";const c=({validate:d,defaultValidation:u,messageDirection:p="row",label:f="Create a password",name:r="password",css:v,validation:b,...w})=>{var s;const{formState:l}=j(),[i,n]=a.useState(!1),[C,m]=a.useState(u),F=l.touched[r],g=((s=l.errors[r])==null?void 0:s.type)==="validate",o=a.useCallback(async e=>{const t=await d(e);return t?(P(typeof t=="object","The validate function must return an object"),m(t),Object.values(t).every(h=>h)):!1},[m]),x=a.useCallback(E(500,o),[o]),y=(e,t)=>e?"success":t?"neutral":"error";return a.createElement(B,{css:v},a.createElement($,{label:f,name:r,onChange:e=>x(e.target.value),onBlur:()=>n(!1),onFocus:()=>n(!0),validation:{...b,validate:o},...w}),(F||i||g)&&a.createElement(k,{css:{mt:"$2",mb:"$4",gap:"$2",flexWrap:"wrap",flexDirection:p}},Object.entries(C).map(([e,t])=>a.createElement(S,{key:e,theme:y(t,i)},e))))};c.displayName="CreatePasswordField";export{c as CreatePasswordField};
|
|
2
|
+
//# sourceMappingURL=CreatePasswordField.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreatePasswordField.js","sources":["../../../src/components/create-password-field/CreatePasswordField.tsx"],"sourcesContent":["import * as React from 'react'\nimport { useFormContext } from 'react-hook-form'\nimport { throttle } from 'throttle-debounce'\nimport invariant from 'invariant'\n\nimport type { CSS } from '~/stitches'\n\nimport { FieldElementWrapperProps } from '../field-wrapper'\nimport { Flex } from '../flex'\nimport { InlineMessage } from '../inline-message'\nimport { PasswordField } from '../password-field'\nimport { PasswordInput } from '../password-input'\nimport { Box } from '../box'\n\ntype ValidationResult = Record<string, boolean>\n\ntype CreatePasswordFieldProps = React.ComponentProps<typeof PasswordInput> &\n Omit<FieldElementWrapperProps, 'label' | 'name'> & {\n label?: string\n name?: string\n validate: (\n password: string\n ) => Promise<ValidationResult | undefined> | ValidationResult\n defaultValidation: ValidationResult\n messageDirection?: CSS['flexDirection']\n }\n\nexport const CreatePasswordField = ({\n validate,\n defaultValidation,\n messageDirection = 'row',\n label = 'Create a password',\n name = 'password',\n css,\n validation,\n ...remainingProps\n}: CreatePasswordFieldProps) => {\n const { formState } = useFormContext()\n const [isFocused, setIsFocused] = React.useState<boolean>(false)\n const [validationResult, setValidationResult] =\n React.useState<ValidationResult>(defaultValidation)\n\n const touched = formState.touched[name]\n const error = formState.errors[name]?.type === 'validate'\n\n const validatePassword = React.useCallback(\n async (password: string) => {\n const result = await validate(password)\n\n if (result) {\n invariant(\n typeof result === 'object',\n 'The validate function must return an object'\n )\n\n setValidationResult(result)\n return Object.values(result).every((isValid) => isValid)\n }\n\n return false\n },\n [setValidationResult]\n )\n\n const handleChange = React.useCallback(throttle(500, validatePassword), [\n validatePassword\n ])\n\n const getMessageTheme = (result: boolean, isFocused: boolean) => {\n if (result) return 'success'\n\n return isFocused ? 'neutral' : 'error'\n }\n\n return (\n <Box css={css}>\n <PasswordField\n label={label}\n name={name}\n onChange={(e) => handleChange(e.target.value)}\n onBlur={() => setIsFocused(false)}\n onFocus={() => setIsFocused(true)}\n validation={{ ...validation, validate: validatePassword }}\n {...remainingProps}\n />\n {(touched || isFocused || error) && (\n <Flex\n css={{\n mt: '$2',\n mb: '$4',\n gap: '$2',\n flexWrap: 'wrap',\n flexDirection: messageDirection\n }}\n >\n {Object.entries(validationResult).map(([message, result]) => (\n <InlineMessage\n key={message}\n theme={getMessageTheme(result, isFocused)}\n >\n {message}\n </InlineMessage>\n ))}\n </Flex>\n )}\n </Box>\n )\n}\n\nCreatePasswordField.displayName = 'CreatePasswordField'\n"],"names":["CreatePasswordField","validate","defaultValidation","messageDirection","label","name","css","validation","remainingProps","_a","formState","useFormContext","isFocused","setIsFocused","React","validationResult","setValidationResult","touched","error","validatePassword","password","result","invariant","isValid","handleChange","throttle","getMessageTheme","Box","PasswordField","Flex","message","InlineMessage"],"mappings":"gWA2Ba,MAAAA,EAAsB,CAAC,CAClC,SAAAC,EACA,kBAAAC,EACA,iBAAAC,EAAmB,MACnB,MAAAC,EAAQ,oBACR,KAAAC,EAAO,WACP,IAAAC,EACA,WAAAC,KACGC,CACL,IAAgC,CApChC,IAAAC,EAqCE,KAAM,CAAE,UAAAC,CAAU,EAAIC,EAChB,EAAA,CAACC,EAAWC,CAAY,EAAIC,EAAM,SAAkB,EAAK,EACzD,CAACC,EAAkBC,CAAmB,EAC1CF,EAAM,SAA2BZ,CAAiB,EAE9Ce,EAAUP,EAAU,QAAQL,GAC5Ba,IAAQT,EAAAC,EAAU,OAAOL,KAAjB,KAAA,OAAAI,EAAwB,QAAS,WAEzCU,EAAmBL,EAAM,YAC7B,MAAOM,GAAqB,CAC1B,MAAMC,EAAS,MAAMpB,EAASmB,CAAQ,EAEtC,OAAIC,GACFC,EACE,OAAOD,GAAW,SAClB,6CACF,EAEAL,EAAoBK,CAAM,EACnB,OAAO,OAAOA,CAAM,EAAE,MAAOE,GAAYA,CAAO,GAGlD,EACT,EACA,CAACP,CAAmB,CACtB,EAEMQ,EAAeV,EAAM,YAAYW,EAAS,IAAKN,CAAgB,EAAG,CACtEA,CACF,CAAC,EAEKO,EAAkB,CAACL,EAAiBT,IACpCS,EAAe,UAEZT,EAAY,UAAY,QAGjC,OACEE,EAAA,cAACa,EAAA,CAAI,IAAKrB,CACRQ,EAAAA,EAAA,cAACc,EAAA,CACC,MAAOxB,EACP,KAAMC,EACN,SAAW,GAAMmB,EAAa,EAAE,OAAO,KAAK,EAC5C,OAAQ,IAAMX,EAAa,EAAK,EAChC,QAAS,IAAMA,EAAa,EAAI,EAChC,WAAY,CAAE,GAAGN,EAAY,SAAUY,CAAiB,EACvD,GAAGX,CACN,CAAA,GACES,GAAWL,GAAaM,IACxBJ,EAAA,cAACe,EAAA,CACC,IAAK,CACH,GAAI,KACJ,GAAI,KACJ,IAAK,KACL,SAAU,OACV,cAAe1B,CACjB,GAEC,OAAO,QAAQY,CAAgB,EAAE,IAAI,CAAC,CAACe,EAAST,CAAM,IACrDP,EAAA,cAACiB,EAAA,CACC,IAAKD,EACL,MAAOJ,EAAgBL,EAAQT,CAAS,CAEvCkB,EAAAA,CACH,CACD,CACH,CAEJ,CAEJ,EAEA9B,EAAoB,YAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { CreatePasswordField } from './CreatePasswordField';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
|
-
import { DataTableBulkActions } from './DataTableBulkActions';
|
|
3
2
|
import { DataTableBody } from './DataTableBody';
|
|
3
|
+
import { DataTableBulkActions } from './DataTableBulkActions';
|
|
4
4
|
import { DataTableProvider } from './DataTableContext';
|
|
5
5
|
import { DataTableDataCell } from './DataTableDataCell';
|
|
6
6
|
import { DataTableEmptyState } from './DataTableEmptyState';
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as t from"react";import{
|
|
1
|
+
import*as t from"react";import{DataTableBody as e}from"./DataTableBody.js";import{DataTableBulkActions as r}from"./DataTableBulkActions.js";import{DataTableProvider as l}from"./DataTableContext.js";import{DataTableDataCell as m}from"./DataTableDataCell.js";import{DataTableEmptyState as i}from"./DataTableEmptyState.js";import{DataTableError as b}from"./DataTableError.js";import{DataTableGlobalFilter as D}from"./DataTableGlobalFilter.js";import{DataTableHead as p}from"./DataTableHead.js";import{DataTableHeaderCell as T}from"./DataTableHeaderCell.js";import{DataTableLoading as f}from"./DataTableLoading.js";import{DataTableMetaData as n}from"./DataTableMetaData.js";import{DataTableRow as c}from"./DataTableRow.js";import{DataTableRowSelectionCheckbox as d}from"./DataTableRowSelectionCheckbox.js";import{DataTableSelectAllRowsCheckbox as C}from"./DataTableSelectAllRowsCheckbox.js";import{DataTableTable as g}from"./DataTableTable.js";import{DragAndDropTable as k}from"./drag-and-drop/DragAndDropTable.js";import{Pagination as s}from"./pagination/Pagination.js";const a=o=>t.createElement(l,{...o});a.Body=e,a.DataCell=m,a.DragAndDropTable=k,a.Head=p,a.HeaderCell=T,a.MetaData=n,a.Pagination=s,a.Row=c,a.GlobalFilter=D,a.Table=g,a.Loading=f,a.Error=b,a.EmptyState=i,a.SelectAllRowsCheckbox=C,a.RowSelectionCheckbox=d,a.BulkActions=r;export{a as DataTable};
|
|
2
2
|
//# sourceMappingURL=DataTable.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTable.js","sources":["../../../src/components/data-table/DataTable.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport {
|
|
1
|
+
{"version":3,"file":"DataTable.js","sources":["../../../src/components/data-table/DataTable.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { DataTableBody } from './DataTableBody'\nimport { DataTableBulkActions } from './DataTableBulkActions'\nimport { DataTableProvider } from './DataTableContext'\nimport { DataTableDataCell } from './DataTableDataCell'\nimport { DataTableEmptyState } from './DataTableEmptyState'\nimport { DataTableError } from './DataTableError'\nimport { DataTableGlobalFilter } from './DataTableGlobalFilter'\nimport { DataTableHead } from './DataTableHead'\nimport { DataTableHeaderCell } from './DataTableHeaderCell'\nimport { DataTableLoading } from './DataTableLoading'\nimport { DataTableMetaData } from './DataTableMetaData'\nimport { DataTableRow } from './DataTableRow'\nimport { DataTableRowSelectionCheckbox } from './DataTableRowSelectionCheckbox'\nimport { DataTableSelectAllRowsCheckbox } from './DataTableSelectAllRowsCheckbox'\nimport { DataTableTable } from './DataTableTable'\nimport { DragAndDropTable } from './drag-and-drop'\nimport { Pagination } from './pagination'\n\ntype TDataTable = React.FC<React.ComponentProps<typeof DataTableProvider>> & {\n /** Default table body implementation for `DataTable`.\n *\n * Can be configured with alternating colours of rows. If you need more customisation options,\n * you can build your own implementation with `useDataTable()` and the UI-only `Table` components.\n */\n Body: typeof DataTableBody\n\n /** Default table data cell implementation for `DataTable`\n *\n *\n */\n DataCell: typeof DataTableDataCell\n /**\n * Used in place of `DataTable.Table` to render a table with rows that the user can sort by drag-and-drop\n */\n DragAndDropTable: typeof DragAndDropTable\n /** Default global search implementation for `DataTable`\n *\n * If you need more customisation options, you can compose your own implementation with our UI-only input components and `useDataTable`.\n */\n GlobalFilter: typeof DataTableGlobalFilter\n\n /** Default table head implementation\n *\n * Can be configured to be sortable and with different visual themes.\n * If you need more customisation options, you can build your own implementation\n * with `useDataTable` and the UI-only `Table` components.\n */\n\n Head: typeof DataTableHead\n /** Default header implementation for `DataTable`\n *\n * Can be configured to make the column sortable. If you need more customisation options,\n * you can build your own implementation with the UI-only `Table` components.\n */\n\n HeaderCell: typeof DataTableHeaderCell\n /** Default pagination implementation for `DataTable`\n *\n * Can navigate forward, backward, or to any specific page. If you need more customisation options,\n * you can build your own implementation with `useDataTable` and other UI components.\n *\n */\n\n MetaData: typeof DataTableMetaData\n /** Default display of amount of items and current sorting status for 'DataTable'\n *\n */\n\n Pagination: typeof Pagination\n /** Default row implementation for `DataTable`\n *\n * Renders all visible cells as `Table.Cell`. If you need more customisation options,\n * you can build your own implementation with the UI-only `Table` components.\n */\n\n Row: typeof DataTableRow\n\n /** Default table implementation for `DataTable`.\n *\n * Can be configured with sortable columns and different visual themes.\n *\n * If you need more customisation options, you can compose your own implementation with\n * lower-level `DataTable` components or build the whole thing from\n * scratch with `useDataTable` and the UI-only `Table` components.\n *\n */\n Table: typeof DataTableTable\n\n /** Default loading implementation for remote data\n *\n * Renders a loading component while fetching the paginated data using `getAsyncData`.\n *\n * If you need more customisation, you can compose your own implentation, `asyncDataState`\n * can be retrieved from `useDataTable`\n */\n Loading: typeof DataTableLoading\n\n /** Default error implementation for remote data\n *\n * Renders an error component when `getAsyncData` promise rejects.\n * Children are rendered as a function, it exposes a `runAsyncData` function to the children component.\n * `runAsyncData()` can be used to retry fetching the paginated data with the current pageIndex, pageSize\n * and sorting parameters or your own custom paginated options.\n *\n * If you need more customisation, you can compose your own implentation, `asyncDataState` and `runAsyncData()`\n * can be retrieved from `useDataTable`\n *\n */\n Error: typeof DataTableError\n\n /** Empty state implementation for `DataTable`.\n *\n * Extends the EmptyState component\n */\n EmptyState: typeof DataTableEmptyState\n\n /** Empty state implementation for `DataTable`.\n *\n * Renders a checkbox on the header, allowing for bulk selection/deselection of all selectable rows\n */\n SelectAllRowsCheckbox: typeof DataTableSelectAllRowsCheckbox\n\n /** Empty state implementation for `DataTable`.\n *\n * Renders a checkbox on the header, allowing for individual selection/deselection of any selectable row\n */\n RowSelectionCheckbox: typeof DataTableRowSelectionCheckbox\n\n /** Empty state implementation for `DataTable`.\n *\n * Renders a checkbox on the header, allowing for individual selection/deselection of any selectable row\n */\n BulkActions: typeof DataTableBulkActions\n}\n\n/** Context provider for DataTable state and logic.\n *\n * Children can call `useDataTable` to access everything provided by `@tanstack/react-table` plus\n * the functionality we've built on top.\n */\nexport const DataTable: TDataTable = (props) => <DataTableProvider {...props} />\n\nDataTable.Body = DataTableBody\nDataTable.DataCell = DataTableDataCell\nDataTable.DragAndDropTable = DragAndDropTable\nDataTable.Head = DataTableHead\nDataTable.HeaderCell = DataTableHeaderCell\nDataTable.MetaData = DataTableMetaData\nDataTable.Pagination = Pagination\nDataTable.Row = DataTableRow\nDataTable.GlobalFilter = DataTableGlobalFilter\nDataTable.Table = DataTableTable\nDataTable.Loading = DataTableLoading\nDataTable.Error = DataTableError\nDataTable.EmptyState = DataTableEmptyState\nDataTable.SelectAllRowsCheckbox = DataTableSelectAllRowsCheckbox\nDataTable.RowSelectionCheckbox = DataTableRowSelectionCheckbox\nDataTable.BulkActions = DataTableBulkActions\n"],"names":["DataTable","props","React","DataTableProvider","DataTableBody","DataTableDataCell","DragAndDropTable","DataTableHead","DataTableHeaderCell","DataTableMetaData","Pagination","DataTableRow","DataTableGlobalFilter","DataTableTable","DataTableLoading","DataTableError","DataTableEmptyState","DataTableSelectAllRowsCheckbox","DataTableRowSelectionCheckbox","DataTableBulkActions"],"mappings":"2iCA8IO,MAAMA,EAAyBC,GAAUC,EAAA,cAACC,EAAA,CAAmB,GAAGF,CAAAA,CAAO,EAE9ED,EAAU,KAAOI,EACjBJ,EAAU,SAAWK,EACrBL,EAAU,iBAAmBM,EAC7BN,EAAU,KAAOO,EACjBP,EAAU,WAAaQ,EACvBR,EAAU,SAAWS,EACrBT,EAAU,WAAaU,EACvBV,EAAU,IAAMW,EAChBX,EAAU,aAAeY,EACzBZ,EAAU,MAAQa,EAClBb,EAAU,QAAUc,EACpBd,EAAU,MAAQe,EAClBf,EAAU,WAAagB,EACvBhB,EAAU,sBAAwBiB,EAClCjB,EAAU,qBAAuBkB,EACjClB,EAAU,YAAcmB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as o 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,...t})=>{const{getRowModel:a}=p();return o.createElement(m.Body,{...t,striped:r},a().rows.map(e=>o.createElement(i.Row,{row:e,key:e.id})))};export{l as DataTableBody};
|
|
2
2
|
//# sourceMappingURL=DataTableBody.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"react";import{
|
|
1
|
+
import*as e from"react";import{Button as s}from"../button/Button.js";import{Divider as m}from"../divider/Divider.js";import{styled as u}from"../../stitches.js";import{Flex as i}from"../flex/Flex.js";import{useDataTable as o}from"./DataTableContext.js";import{DataTable as d}from"./DataTable.js";const b=u(i,{p:"$2",width:"100%",mb:"$2",justifyContent:"space-between",alignItems:"center",minHeight:"$6",borderTopLeftRadius:"$0",borderTopRightRadius:"$0",variants:{isRowSelected:{true:{bg:"$blue100"}}}}),f=({children:n})=>{const{rowSelection:t}=o();return Object.keys(t).length>0?null:n},g=({cancelLabel:n="Cancel",children:t})=>{const{toggleAllPageRowsSelected:l,rowSelection:r}=o(),a=()=>l(!1);return Object.keys(r).length===0?null:e.createElement(e.Fragment,null,t,e.Children.count(t)>0&&e.createElement(m,{orientation:"vertical",css:{mx:"$4"}}),e.createElement(s,{theme:"neutral",onClick:a},n))},c=({children:n,...t})=>{const{rowSelection:l}=o(),r=Object.keys(l||{}).length>0;return e.createElement(b,{isRowSelected:r,...t},e.createElement(d.MetaData,null),e.createElement(i,{css:{justifyContent:"flex-end",alignItems:"center"}},n))};c.DefaultActions=f,c.SelectedRowActions=g;export{c as DataTableBulkActions};
|
|
2
2
|
//# sourceMappingURL=DataTableBulkActions.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableBulkActions.js","sources":["../../../src/components/data-table/DataTableBulkActions.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport {
|
|
1
|
+
{"version":3,"file":"DataTableBulkActions.js","sources":["../../../src/components/data-table/DataTableBulkActions.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Button } from '~/components/button'\nimport { Divider } from '~/components/divider'\nimport { CSS, styled } from '~/stitches'\n\nimport { Flex } from '../flex'\nimport { DataTable } from '.'\nimport { useDataTable } from './DataTableContext'\n\ninterface DataTableBulkActionsProps {\n css?: CSS\n children: [\n React.ReactElement<React.ComponentProps<typeof BulkActionsDefaultActions>>,\n React.ReactElement<\n React.ComponentProps<typeof BulkActionsSelectedRowActions>\n >\n ]\n}\n\ninterface BulkActionsSelectedRowActionsProps {\n cancelLabel?: string\n children: React.ReactNode\n}\n\nconst StyledContainer = styled(Flex, {\n p: '$2',\n width: '100%',\n mb: '$2',\n justifyContent: 'space-between',\n alignItems: 'center',\n minHeight: '$6',\n borderTopLeftRadius: '$0',\n borderTopRightRadius: '$0',\n variants: {\n isRowSelected: {\n true: {\n bg: '$blue100'\n }\n }\n }\n})\n\nconst BulkActionsDefaultActions = ({\n children\n}: {\n children: React.ReactElement\n}): React.ReactElement | null => {\n const { rowSelection } = useDataTable()\n\n if (Object.keys(rowSelection).length > 0) return null\n\n return children\n}\n\nconst BulkActionsSelectedRowActions: React.FC<\n BulkActionsSelectedRowActionsProps\n> = ({ cancelLabel = 'Cancel', children }) => {\n const { toggleAllPageRowsSelected, rowSelection } = useDataTable()\n\n const handleDeselectAllPageRows = () => toggleAllPageRowsSelected(false)\n\n if (Object.keys(rowSelection).length === 0) return null\n\n return (\n <>\n {children}\n {React.Children.count(children) > 0 && (\n <Divider orientation=\"vertical\" css={{ mx: '$4' }} />\n )}\n <Button theme=\"neutral\" onClick={handleDeselectAllPageRows}>\n {cancelLabel}\n </Button>\n </>\n )\n}\n\nexport const DataTableBulkActions: React.FC<DataTableBulkActionsProps> & {\n DefaultActions: typeof BulkActionsDefaultActions\n SelectedRowActions: typeof BulkActionsSelectedRowActions\n} = ({ children, ...rest }) => {\n const { rowSelection } = useDataTable()\n\n const isRowSelected = Object.keys(rowSelection || {}).length > 0\n\n return (\n <StyledContainer isRowSelected={isRowSelected} {...rest}>\n <DataTable.MetaData />\n\n <Flex css={{ justifyContent: 'flex-end', alignItems: 'center' }}>\n {children}\n </Flex>\n </StyledContainer>\n )\n}\n\nDataTableBulkActions.DefaultActions = BulkActionsDefaultActions\nDataTableBulkActions.SelectedRowActions = BulkActionsSelectedRowActions\n"],"names":["StyledContainer","styled","Flex","BulkActionsDefaultActions","children","rowSelection","useDataTable","BulkActionsSelectedRowActions","cancelLabel","toggleAllPageRowsSelected","handleDeselectAllPageRows","React","Divider","Button","DataTableBulkActions","rest","isRowSelected","DataTable"],"mappings":"uSAyBA,MAAMA,EAAkBC,EAAOC,EAAM,CACnC,EAAG,KACH,MAAO,OACP,GAAI,KACJ,eAAgB,gBAChB,WAAY,SACZ,UAAW,KACX,oBAAqB,KACrB,qBAAsB,KACtB,SAAU,CACR,cAAe,CACb,KAAM,CACJ,GAAI,UACN,CACF,CACF,CACF,CAAC,EAEKC,EAA4B,CAAC,CACjC,SAAAC,CACF,IAEiC,CAC/B,KAAM,CAAE,aAAAC,CAAa,EAAIC,EAAa,EAEtC,OAAI,OAAO,KAAKD,CAAY,EAAE,OAAS,EAAU,KAE1CD,CACT,EAEMG,EAEF,CAAC,CAAE,YAAAC,EAAc,SAAU,SAAAJ,CAAS,IAAM,CAC5C,KAAM,CAAE,0BAAAK,EAA2B,aAAAJ,CAAa,EAAIC,EAAa,EAE3DI,EAA4B,IAAMD,EAA0B,EAAK,EAEvE,OAAI,OAAO,KAAKJ,CAAY,EAAE,SAAW,EAAU,KAGjDM,EAAA,cAAAA,EAAA,SACGP,KAAAA,EACAO,EAAM,SAAS,MAAMP,CAAQ,EAAI,GAChCO,EAAA,cAACC,EAAA,CAAQ,YAAY,WAAW,IAAK,CAAE,GAAI,IAAK,EAAG,EAErDD,EAAA,cAACE,EAAA,CAAO,MAAM,UAAU,QAASH,CAAAA,EAC9BF,CACH,CACF,CAEJ,EAEaM,EAGT,CAAC,CAAE,SAAAV,KAAaW,CAAK,IAAM,CAC7B,KAAM,CAAE,aAAAV,CAAa,EAAIC,EAAa,EAEhCU,EAAgB,OAAO,KAAKX,GAAgB,CAAE,CAAA,EAAE,OAAS,EAE/D,OACEM,EAAA,cAACX,EAAA,CAAgB,cAAegB,EAAgB,GAAGD,CAAAA,EACjDJ,EAAA,cAACM,EAAU,SAAV,IAAmB,EAEpBN,EAAA,cAACT,EAAA,CAAK,IAAK,CAAE,eAAgB,WAAY,WAAY,QAAS,CAC3DE,EAAAA,CACH,CACF,CAEJ,EAEAU,EAAqB,eAAiBX,EACtCW,EAAqB,mBAAqBP"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{useReactTable as B,getCoreRowModel as J,getPaginationRowModel as O,getSortedRowModel as U,getFilteredRowModel as V}from"@tanstack/react-table";import*as e from"react";import
|
|
1
|
+
import{v4 as j}from"@lukeed/uuid";import{useReactTable as B,getCoreRowModel as J,getPaginationRowModel as O,getSortedRowModel as U,getFilteredRowModel as V}from"@tanstack/react-table";import*as e from"react";import q from"use-deep-compare-effect";import{AsyncDataState as l}from"./DataTable.types.js";import{getNewAsyncData as H}from"./getNewAsyncData.js";import{usePagination as K}from"./usePagination.js";import{useSortByColumn as Q}from"./useSorting.js";const M=e.createContext(null),W=({columns:n,data:t=[],getAsyncData:o,defaultSort:F,initialState:s=void 0,enableRowSelection:g,children:I})=>{var v;const C=e.useRef(j()),[u,c]=e.useState({results:t!=null?t:[],total:(v=t==null?void 0:t.length)!=null?v:0}),[D,N]=e.useState({}),{isPaginated:i,applyPagination:P,paginationState:a,setPaginationState:T}=K(s==null?void 0:s.pagination),[h,d]=e.useState(l.NONE),[S,x]=e.useState(""),{setIsSortable:A,isSortable:m,sorting:r,setSorting:G}=Q(F),b=e.useCallback(async w=>{if(o)try{d(l.PENDING);const f=await H(o,w,a,r,S);c(f),d(l.FULFILLED)}catch{d(l.REJECTED)}},[o,a==null?void 0:a.pageIndex,a==null?void 0:a.pageSize,r,S]);e.useEffect(()=>{b({})},[b]),q(()=>{!t||c({results:t,total:t.length})},[t]);const p=()=>u.total,y=B({columns:n,data:u.results,pageCount:a?Math.ceil(p()/a.pageSize):-1,initialState:s,state:{sorting:r,globalFilter:S,pagination:a,rowSelection:D},manualPagination:o&&i,manualSorting:o&&i,enableSorting:h!==l.PENDING,enableGlobalFilter:!o,enableRowSelection:g,onRowSelectionChange:N,getCoreRowModel:J(),getPaginationRowModel:i?O():void 0,getSortedRowModel:m||r.length?U():void 0,getFilteredRowModel:V(),onPaginationChange:i?T:void 0,onSortingChange:G,onGlobalFilterChange:x,globalFilterFn:(w,f,k)=>{const E=z=>z.toLowerCase().includes(k.toLowerCase()),R=w.getValue(f);switch(typeof R){case"string":return E(R);case"boolean":case"number":return E(String(R));default:return!1}}}),L=e.useMemo(()=>({...y,columns:n,data:u,setData:c,setIsSortable:A,applyPagination:P,getTotalRows:p,isSortable:m,asyncDataState:h,runAsyncData:b,enableRowSelection:g,rowSelection:D,tableId:C.current}),[y,P,p,m,g,C]);return e.createElement(M.Provider,{value:L},I)},X=()=>{const n=e.useContext(M);if(!n)throw new Error("useDataTable can only be called from inside a DataTableProvider");return n};export{W as DataTableProvider,X as useDataTable};
|
|
2
2
|
//# sourceMappingURL=DataTableContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableContext.js","sources":["../../../src/components/data-table/DataTableContext.tsx"],"sourcesContent":["import type {\n PaginationState,\n Row,\n RowSelectionState\n} from '@tanstack/react-table'\nimport {\n getCoreRowModel,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable\n} from '@tanstack/react-table'\nimport * as React from 'react'\nimport useDeepCompareEffect from 'use-deep-compare-effect'\n\nimport {\n AsyncDataState,\n DataTableContextType,\n InitialState,\n TableData,\n TAsyncDataOptions,\n TAsyncDataResult,\n TDefaultSort,\n TGetAsyncData\n} from './DataTable.types'\nimport { getNewAsyncData } from './getNewAsyncData'\nimport { usePagination } from './usePagination'\nimport { useSortByColumn } from './useSorting'\n\
|
|
1
|
+
{"version":3,"file":"DataTableContext.js","sources":["../../../src/components/data-table/DataTableContext.tsx"],"sourcesContent":["import { v4 as uuid } from '@lukeed/uuid'\nimport type {\n PaginationState,\n Row,\n RowSelectionState\n} from '@tanstack/react-table'\nimport {\n getCoreRowModel,\n getFilteredRowModel,\n getPaginationRowModel,\n getSortedRowModel,\n useReactTable\n} from '@tanstack/react-table'\nimport * as React from 'react'\nimport useDeepCompareEffect from 'use-deep-compare-effect'\n\nimport {\n AsyncDataState,\n DataTableContextType,\n InitialState,\n TableData,\n TAsyncDataOptions,\n TAsyncDataResult,\n TDefaultSort,\n TGetAsyncData\n} from './DataTable.types'\nimport { getNewAsyncData } from './getNewAsyncData'\nimport { usePagination } from './usePagination'\nimport { useSortByColumn } from './useSorting'\n\nconst DataTableContext =\n React.createContext<DataTableContextType<unknown> | null>(null)\n\ntype DataTableProviderProps = {\n columns\n defaultSort?: TDefaultSort\n children: React.ReactNode\n initialState?: InitialState\n enableRowSelection?: boolean | ((row: Row<unknown>) => boolean)\n} & (\n | { data: TableData; getAsyncData?: never }\n | { data?: never; getAsyncData: TGetAsyncData }\n)\n\nexport const DataTableProvider = ({\n columns,\n data: dataProp = [],\n getAsyncData,\n defaultSort,\n initialState = undefined,\n enableRowSelection,\n children\n}: DataTableProviderProps): JSX.Element => {\n const tableId = React.useRef(uuid())\n\n const [data, setData] = React.useState<TAsyncDataResult>({\n results: dataProp ?? [],\n total: dataProp?.length ?? 0\n })\n\n const [rowSelection, setRowSelection] = React.useState<RowSelectionState>({})\n\n const { isPaginated, applyPagination, paginationState, setPaginationState } =\n usePagination(initialState?.pagination)\n\n const [asyncDataState, setAsyncDataState] = React.useState<AsyncDataState>(\n AsyncDataState.NONE\n )\n\n const [globalFilter, setGlobalFilter] = React.useState<string>('')\n\n const { setIsSortable, isSortable, sorting, setSorting } =\n useSortByColumn(defaultSort)\n\n const runAsyncData = React.useCallback(\n async (overrideAsyncDataOptions: Partial<TAsyncDataOptions>) => {\n if (!getAsyncData) return\n\n try {\n setAsyncDataState(AsyncDataState.PENDING)\n\n const newData = await getNewAsyncData(\n getAsyncData,\n overrideAsyncDataOptions,\n paginationState as PaginationState,\n sorting,\n globalFilter\n )\n\n setData(newData as TAsyncDataResult)\n setAsyncDataState(AsyncDataState.FULFILLED)\n } catch (error) {\n setAsyncDataState(AsyncDataState.REJECTED)\n }\n },\n [\n getAsyncData,\n paginationState?.pageIndex,\n paginationState?.pageSize,\n sorting,\n globalFilter\n ]\n )\n\n React.useEffect(() => {\n runAsyncData({})\n }, [runAsyncData])\n\n useDeepCompareEffect(() => {\n if (!dataProp) return\n\n setData({ results: dataProp, total: dataProp.length })\n }, [dataProp])\n\n const getTotalRows = () => data.total\n\n const table = useReactTable<unknown>({\n columns,\n data: data.results,\n pageCount: paginationState\n ? Math.ceil(getTotalRows() / paginationState.pageSize)\n : -1,\n initialState: initialState,\n state: {\n sorting,\n globalFilter,\n pagination: paginationState,\n rowSelection\n },\n manualPagination: getAsyncData && isPaginated,\n manualSorting: getAsyncData && isPaginated,\n enableSorting: asyncDataState !== AsyncDataState.PENDING,\n enableGlobalFilter: !getAsyncData,\n enableRowSelection,\n onRowSelectionChange: setRowSelection,\n getCoreRowModel: getCoreRowModel(),\n getPaginationRowModel: isPaginated ? getPaginationRowModel() : undefined,\n getSortedRowModel:\n isSortable || sorting.length ? getSortedRowModel() : undefined,\n getFilteredRowModel: getFilteredRowModel(),\n onPaginationChange: isPaginated ? setPaginationState : undefined,\n onSortingChange: setSorting,\n onGlobalFilterChange: setGlobalFilter,\n globalFilterFn: (row, columnId, filterValue) => {\n const checkFilterMatchesCell = (cellValue: string) =>\n cellValue.toLowerCase().includes(filterValue.toLowerCase())\n\n const value = row.getValue(columnId)\n switch (typeof value) {\n case 'string':\n return checkFilterMatchesCell(value)\n case 'boolean':\n case 'number':\n return checkFilterMatchesCell(String(value))\n default:\n return false\n }\n }\n })\n\n const value: DataTableContextType = React.useMemo(() => {\n return {\n ...table,\n columns,\n data,\n setData,\n setIsSortable,\n applyPagination,\n getTotalRows,\n isSortable,\n asyncDataState,\n runAsyncData,\n enableRowSelection,\n rowSelection,\n tableId: tableId.current\n }\n }, [\n table,\n applyPagination,\n getTotalRows,\n isSortable,\n enableRowSelection,\n tableId\n ])\n\n return (\n <DataTableContext.Provider value={value}>\n {children}\n </DataTableContext.Provider>\n )\n}\n\nexport const useDataTable = <T extends Record<string, unknown>>() => {\n const context = React.useContext(DataTableContext) as DataTableContextType<T>\n\n if (!context)\n throw new Error(\n 'useDataTable can only be called from inside a DataTableProvider'\n )\n\n return context\n}\n"],"names":["DataTableContext","React","DataTableProvider","columns","dataProp","getAsyncData","defaultSort","initialState","enableRowSelection","children","_a","tableId","uuid","data","setData","rowSelection","setRowSelection","isPaginated","applyPagination","paginationState","setPaginationState","usePagination","asyncDataState","setAsyncDataState","AsyncDataState","globalFilter","setGlobalFilter","setIsSortable","isSortable","sorting","setSorting","useSortByColumn","runAsyncData","overrideAsyncDataOptions","newData","getNewAsyncData","useDeepCompareEffect","getTotalRows","table","useReactTable","getCoreRowModel","getPaginationRowModel","getSortedRowModel","getFilteredRowModel","row","columnId","filterValue","checkFilterMatchesCell","cellValue","value","useDataTable","context"],"mappings":"ycA8BA,MAAMA,EACJC,EAAM,cAAoD,IAAI,EAanDC,EAAoB,CAAC,CAChC,QAAAC,EACA,KAAMC,EAAW,GACjB,aAAAC,EACA,YAAAC,EACA,aAAAC,EAAe,OACf,mBAAAC,EACA,SAAAC,CACF,IAA2C,CApD3C,IAAAC,EAqDE,MAAMC,EAAUV,EAAM,OAAOW,EAAM,CAAA,EAE7B,CAACC,EAAMC,CAAO,EAAIb,EAAM,SAA2B,CACvD,QAASG,GAAA,KAAAA,EAAY,CACrB,EAAA,OAAOM,EAAAN,GAAA,KAAAA,OAAAA,EAAU,SAAV,KAAAM,EAAoB,CAC7B,CAAC,EAEK,CAACK,EAAcC,CAAe,EAAIf,EAAM,SAA4B,EAAE,EAEtE,CAAE,YAAAgB,EAAa,gBAAAC,EAAiB,gBAAAC,EAAiB,mBAAAC,CAAmB,EACxEC,EAAcd,GAAA,YAAAA,EAAc,UAAU,EAElC,CAACe,EAAgBC,CAAiB,EAAItB,EAAM,SAChDuB,EAAe,IACjB,EAEM,CAACC,EAAcC,CAAe,EAAIzB,EAAM,SAAiB,EAAE,EAE3D,CAAE,cAAA0B,EAAe,WAAAC,EAAY,QAAAC,EAAS,WAAAC,CAAW,EACrDC,EAAgBzB,CAAW,EAEvB0B,EAAe/B,EAAM,YACzB,MAAOgC,GAAyD,CAC9D,GAAK5B,EAEL,GAAI,CACFkB,EAAkBC,EAAe,OAAO,EAExC,MAAMU,EAAU,MAAMC,EACpB9B,EACA4B,EACAd,EACAU,EACAJ,CACF,EAEAX,EAAQoB,CAA2B,EACnCX,EAAkBC,EAAe,SAAS,CAC5C,MAAE,CACAD,EAAkBC,EAAe,QAAQ,CAC3C,CACF,EACA,CACEnB,EACAc,GAAA,KAAA,OAAAA,EAAiB,UACjBA,GAAA,KAAA,OAAAA,EAAiB,SACjBU,EACAJ,CACF,CACF,EAEAxB,EAAM,UAAU,IAAM,CACpB+B,EAAa,CAAE,CAAA,CACjB,EAAG,CAACA,CAAY,CAAC,EAEjBI,EAAqB,IAAM,CACrB,CAAChC,GAELU,EAAQ,CAAE,QAASV,EAAU,MAAOA,EAAS,MAAO,CAAC,CACvD,EAAG,CAACA,CAAQ,CAAC,EAEb,MAAMiC,EAAe,IAAMxB,EAAK,MAE1ByB,EAAQC,EAAuB,CACnC,QAAApC,EACA,KAAMU,EAAK,QACX,UAAWM,EACP,KAAK,KAAKkB,EAAa,EAAIlB,EAAgB,QAAQ,EACnD,GACJ,aAAcZ,EACd,MAAO,CACL,QAAAsB,EACA,aAAAJ,EACA,WAAYN,EACZ,aAAAJ,CACF,EACA,iBAAkBV,GAAgBY,EAClC,cAAeZ,GAAgBY,EAC/B,cAAeK,IAAmBE,EAAe,QACjD,mBAAoB,CAACnB,EACrB,mBAAAG,EACA,qBAAsBQ,EACtB,gBAAiBwB,EAAAA,EACjB,sBAAuBvB,EAAcwB,EAAsB,EAAI,OAC/D,kBACEb,GAAcC,EAAQ,OAASa,EAAkB,EAAI,OACvD,oBAAqBC,EAAoB,EACzC,mBAAoB1B,EAAcG,EAAqB,OACvD,gBAAiBU,EACjB,qBAAsBJ,EACtB,eAAgB,CAACkB,EAAKC,EAAUC,IAAgB,CAC9C,MAAMC,EAA0BC,GAC9BA,EAAU,YAAY,EAAE,SAASF,EAAY,YAAa,CAAA,EAEtDG,EAAQL,EAAI,SAASC,CAAQ,EACnC,OAAQ,OAAOI,OACR,SACH,OAAOF,EAAuBE,CAAK,MAChC,cACA,SACH,OAAOF,EAAuB,OAAOE,CAAK,CAAC,UAE3C,MAAO,GAEb,CACF,CAAC,EAEKA,EAA8BhD,EAAM,QAAQ,KACzC,CACL,GAAGqC,EACH,QAAAnC,EACA,KAAAU,EACA,QAAAC,EACA,cAAAa,EACA,gBAAAT,EACA,aAAAmB,EACA,WAAAT,EACA,eAAAN,EACA,aAAAU,EACA,mBAAAxB,EACA,aAAAO,EACA,QAASJ,EAAQ,OACnB,GACC,CACD2B,EACApB,EACAmB,EACAT,EACApB,EACAG,CACF,CAAC,EAED,OACEV,EAAA,cAACD,EAAiB,SAAjB,CAA0B,MAAOiD,CAAAA,EAC/BxC,CACH,CAEJ,EAEayC,EAAe,IAAyC,CACnE,MAAMC,EAAUlD,EAAM,WAAWD,CAAgB,EAEjD,GAAI,CAACmD,EACH,MAAM,IAAI,MACR,iEACF,EAEF,OAAOA,CACT"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{flexRender as l}from"@tanstack/react-table";import*as
|
|
1
|
+
import{flexRender as l}from"@tanstack/react-table";import*as o from"react";import{Table as t}from"../table/Table.js";const m=({cell:e})=>o.createElement(t.Cell,{key:e.id},l(e.column.columnDef.cell,e.getContext()));export{m as DataTableDataCell};
|
|
2
2
|
//# sourceMappingURL=DataTableDataCell.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as e from"react";import{debounce as f}from"throttle-debounce";import{OptionallyVisuallyHiddenContainer as d}from"../../utilities/optionally-visually-hidden-container/OptionallyVisuallyHiddenContainer.js";import{Label as g}from"../label/Label.js";import{SearchInput as h}from"../search-input/SearchInput.js";import{AsyncDataState as D}from"./DataTable.types.js";import{useDataTable as E}from"./DataTableContext.js";const F=({onChange:a,label:t,hideLabel:r=!1,...n})=>{const{setGlobalFilter:o,getState:m,resetPagination:i,getTotalRows:s,asyncDataState:c}=E(),{globalFilter:u}=m();if(c!==D.PENDING&&s()===0)return null;const b=f(250,l=>{const{target:{value:p}}=l;a==null||a(l),i(),o(p)});return e.createElement(e.Fragment,null,e.createElement(d,{hidden:r},e.createElement(g,{css:{mb:"$3"},htmlFor:t},t)),e.createElement(h,{...n,defaultValue:u,onChange:b,name:t}))};export{F as DataTableGlobalFilter};
|
|
2
2
|
//# sourceMappingURL=DataTableGlobalFilter.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"react";import{Table as t}from"../table/Table.js";import{DataTableSelectAllRowsCheckbox as n}from"./DataTableSelectAllRowsCheckbox.js";import{useDataTable as i}from"./DataTableContext.js";import{DataTable as b}from"./DataTable.js";const p=({sortable:a=!0,theme:
|
|
1
|
+
import*as e from"react";import{Table as t}from"../table/Table.js";import{DataTableSelectAllRowsCheckbox as n}from"./DataTableSelectAllRowsCheckbox.js";import{useDataTable as i}from"./DataTableContext.js";import{DataTable as b}from"./DataTable.js";const p=({sortable:a=!0,theme:m="light",...s})=>{const{getHeaderGroups:c,setIsSortable:r,enableRowSelection:d}=i();return e.useEffect(()=>{r(a)},[a,r]),e.createElement(t.Header,{theme:m,...s},c().map(l=>e.createElement(t.Row,{key:l.id},d&&e.createElement(t.HeaderCell,{css:{width:"$4"}},e.createElement(n,null)),l.headers.map(o=>e.createElement(b.HeaderCell,{header:o,key:o.id})))))};export{p as DataTableHead};
|
|
2
2
|
//# sourceMappingURL=DataTableHead.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as t from"react";import{
|
|
1
|
+
import*as t from"react";import{styled as r}from"../../stitches.js";import{Table as a}from"../table/Table.js";import{useDataTable as c}from"./DataTableContext.js";import{DataTableDataCell as i}from"./DataTableDataCell.js";import{DataTableRowSelectionCheckbox as m}from"./DataTableRowSelectionCheckbox.js";const n=r(a.Row,{bg:"initial",variants:{isSelected:{true:{bg:"$blue100 !important"}}}}),s=({row:e})=>{const{enableRowSelection:o}=c();return t.createElement(n,{isSelected:e.getIsSelected()},o&&e.getCanSelect()&&t.createElement(a.Cell,{css:{width:"$4"}},t.createElement(m,{rowId:e.id,checked:e.getIsSelected(),onCheckedChange:e.toggleSelected})),e.getVisibleCells().map((l,d)=>t.createElement(i,{key:l.id,cell:l})))};export{s as DataTableRow};
|
|
2
2
|
//# sourceMappingURL=DataTableRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableRow.js","sources":["../../../src/components/data-table/DataTableRow.tsx"],"sourcesContent":["import type { Row } from '@tanstack/react-table'\nimport * as React from 'react'\n\nimport {
|
|
1
|
+
{"version":3,"file":"DataTableRow.js","sources":["../../../src/components/data-table/DataTableRow.tsx"],"sourcesContent":["import type { Row } from '@tanstack/react-table'\nimport * as React from 'react'\n\nimport { styled } from '~/stitches'\n\nimport { Table } from '../table'\nimport { useDataTable } from './DataTableContext'\nimport { DataTableDataCell } from './DataTableDataCell'\nimport { DataTableRowSelectionCheckbox } from './DataTableRowSelectionCheckbox'\n\nexport type DataTableRowProps = React.ComponentProps<typeof Table.Row> & {\n row: Row<Record<string, unknown>>\n}\n\nconst StyledRow = styled(Table.Row, {\n bg: 'initial',\n variants: {\n isSelected: {\n true: {\n // the !important rule is needed because the bg property is set elsewhere and it's more specific than this one would be without the !important modifier.\n bg: '$blue100 !important'\n }\n }\n }\n})\n\nexport const DataTableRow: React.FC<DataTableRowProps> = ({ row }) => {\n const { enableRowSelection } = useDataTable()\n\n return (\n <StyledRow isSelected={row.getIsSelected()}>\n {enableRowSelection && row.getCanSelect() && (\n <Table.Cell css={{ width: '$4' }}>\n <DataTableRowSelectionCheckbox\n rowId={row.id}\n checked={row.getIsSelected()}\n onCheckedChange={row.toggleSelected}\n />\n </Table.Cell>\n )}\n {row.getVisibleCells().map((cell, i) => {\n return <DataTableDataCell key={cell.id} cell={cell} />\n })}\n </StyledRow>\n )\n}\n"],"names":["StyledRow","styled","Table","DataTableRow","row","enableRowSelection","useDataTable","React","DataTableRowSelectionCheckbox","cell","i","DataTableDataCell"],"mappings":"gTAcA,MAAMA,EAAYC,EAAOC,EAAM,IAAK,CAClC,GAAI,UACJ,SAAU,CACR,WAAY,CACV,KAAM,CAEJ,GAAI,qBACN,CACF,CACF,CACF,CAAC,EAEYC,EAA4C,CAAC,CAAE,IAAAC,CAAI,IAAM,CACpE,KAAM,CAAE,mBAAAC,CAAmB,EAAIC,EAAAA,EAE/B,OACEC,EAAA,cAACP,EAAA,CAAU,WAAYI,EAAI,cAAA,CACxBC,EAAAA,GAAsBD,EAAI,gBACzBG,EAAA,cAACL,EAAM,KAAN,CAAW,IAAK,CAAE,MAAO,IAAK,CAAA,EAC7BK,EAAA,cAACC,EAAA,CACC,MAAOJ,EAAI,GACX,QAASA,EAAI,cAAc,EAC3B,gBAAiBA,EAAI,cACvB,CAAA,CACF,EAEDA,EAAI,gBAAgB,EAAE,IAAI,CAACK,EAAMC,IACzBH,EAAA,cAACI,EAAA,CAAkB,IAAKF,EAAK,GAAI,KAAMA,CAAAA,CAAM,CACrD,CACH,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"react";import{Checkbox as
|
|
1
|
+
import*as n from"@radix-ui/react-visually-hidden";import*as e from"react";import{Checkbox as c}from"../checkbox/Checkbox.js";import{Label as m}from"../label/Label.js";import{useDataTable as h}from"./DataTableContext.js";const i=({rowId:o,checked:r,onCheckedChange:a,label:l=`Row ${o} selection`})=>{const{tableId:t}=h();return e.createElement(e.Fragment,null,e.createElement(n.Root,null,e.createElement(m,{htmlFor:`${t}_row_${o}_selection`},l)),e.createElement(c,{checked:r,onCheckedChange:a,name:`${t}_row_${o}_selection`}))};export{i as DataTableRowSelectionCheckbox};
|
|
2
2
|
//# sourceMappingURL=DataTableRowSelectionCheckbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableRowSelectionCheckbox.js","sources":["../../../src/components/data-table/DataTableRowSelectionCheckbox.tsx"],"sourcesContent":["import * as
|
|
1
|
+
{"version":3,"file":"DataTableRowSelectionCheckbox.js","sources":["../../../src/components/data-table/DataTableRowSelectionCheckbox.tsx"],"sourcesContent":["import * as VisuallyHidden from '@radix-ui/react-visually-hidden'\nimport * as React from 'react'\n\nimport { Checkbox } from '../checkbox'\nimport { Label } from '../label'\nimport { useDataTable } from './DataTableContext'\n\ninterface DataTableRowSelectionCheckboxProps {\n checked: boolean\n onCheckedChange: (value: boolean) => void\n rowId: string\n label?: string\n}\n\nexport const DataTableRowSelectionCheckbox = ({\n rowId,\n checked,\n onCheckedChange,\n label = `Row ${rowId} selection`\n}: DataTableRowSelectionCheckboxProps): React.ReactElement => {\n const { tableId } = useDataTable()\n\n return (\n <>\n <VisuallyHidden.Root>\n <Label htmlFor={`${tableId}_row_${rowId}_selection`}>{label}</Label>\n </VisuallyHidden.Root>\n <Checkbox\n checked={checked}\n onCheckedChange={onCheckedChange}\n name={`${tableId}_row_${rowId}_selection`}\n />\n </>\n )\n}\n"],"names":["DataTableRowSelectionCheckbox","rowId","checked","onCheckedChange","label","tableId","useDataTable","React","VisuallyHidden","Label","Checkbox"],"mappings":"4NAca,MAAAA,EAAgC,CAAC,CAC5C,MAAAC,EACA,QAAAC,EACA,gBAAAC,EACA,MAAAC,EAAQ,OAAOH,aACjB,IAA8D,CAC5D,KAAM,CAAE,QAAAI,CAAQ,EAAIC,EAEpB,EAAA,OACEC,EAAA,cAAAA,EAAA,SACEA,KAAAA,EAAA,cAACC,EAAe,KAAf,KACCD,EAAA,cAACE,EAAA,CAAM,QAAS,GAAGJ,SAAeJ,aAAAA,EAAoBG,CAAM,CAC9D,EACAG,EAAA,cAACG,EAAA,CACC,QAASR,EACT,gBAAiBC,EACjB,KAAM,GAAGE,SAAeJ,aAAAA,CAC1B,CACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as c from"@radix-ui/react-visually-hidden";import*as e from"react";import{Checkbox as s}from"../checkbox/Checkbox.js";import{Label as i}from"../label/Label.js";import{useDataTable as g}from"./DataTableContext.js";const b=({label:r="All rows selection"})=>{const{getIsAllPageRowsSelected:l,getIsSomePageRowsSelected:t,toggleAllPageRowsSelected:o,tableId:a}=g(),m=()=>t()?"indeterminate":!!l(),n=()=>t()?o(!1):o(!l());return e.createElement(e.Fragment,null,e.createElement(c.Root,null,e.createElement(i,{htmlFor:`${a}_all_rows_selection`},r)),e.createElement(s,{checked:m(),onCheckedChange:n,name:`${a}_allRowsSelection`}))};export{b as DataTableSelectAllRowsCheckbox};
|
|
2
2
|
//# sourceMappingURL=DataTableSelectAllRowsCheckbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataTableSelectAllRowsCheckbox.js","sources":["../../../src/components/data-table/DataTableSelectAllRowsCheckbox.tsx"],"sourcesContent":["import * as
|
|
1
|
+
{"version":3,"file":"DataTableSelectAllRowsCheckbox.js","sources":["../../../src/components/data-table/DataTableSelectAllRowsCheckbox.tsx"],"sourcesContent":["import * as VisuallyHidden from '@radix-ui/react-visually-hidden'\nimport * as React from 'react'\n\nimport { Checkbox } from '../checkbox'\nimport { Label } from '../label'\nimport { useDataTable } from './DataTableContext'\n\ninterface DataTableSelectAllRowsCheckboxProps {\n label?: string\n}\n\nexport const DataTableSelectAllRowsCheckbox = ({\n label = 'All rows selection'\n}: DataTableSelectAllRowsCheckboxProps) => {\n const {\n getIsAllPageRowsSelected,\n getIsSomePageRowsSelected,\n toggleAllPageRowsSelected,\n tableId\n } = useDataTable()\n\n const getCheckedState = () => {\n if (getIsSomePageRowsSelected()) return 'indeterminate'\n if (getIsAllPageRowsSelected()) return true\n return false\n }\n\n const updateCheckedState = () => {\n if (getIsSomePageRowsSelected()) {\n return toggleAllPageRowsSelected(false)\n }\n return toggleAllPageRowsSelected(!getIsAllPageRowsSelected())\n }\n\n return (\n <>\n <VisuallyHidden.Root>\n <Label htmlFor={`${tableId}_all_rows_selection`}>{label}</Label>\n </VisuallyHidden.Root>\n\n <Checkbox\n checked={getCheckedState()}\n onCheckedChange={updateCheckedState}\n name={`${tableId}_allRowsSelection`}\n />\n </>\n )\n}\n"],"names":["DataTableSelectAllRowsCheckbox","label","getIsAllPageRowsSelected","getIsSomePageRowsSelected","toggleAllPageRowsSelected","tableId","useDataTable","getCheckedState","updateCheckedState","React","VisuallyHidden","Label","Checkbox"],"mappings":"4NAWa,MAAAA,EAAiC,CAAC,CAC7C,MAAAC,EAAQ,oBACV,IAA2C,CACzC,KAAM,CACJ,yBAAAC,EACA,0BAAAC,EACA,0BAAAC,EACA,QAAAC,CACF,EAAIC,EAEEC,EAAAA,EAAkB,IAClBJ,EAA0B,EAAU,gBACpC,CAAAD,CAAAA,EAAAA,EAIAM,EAAqB,IACrBL,EACKC,EAAAA,EAA0B,EAAK,EAEjCA,EAA0B,CAACF,EAAyB,CAAC,EAG9D,OACEO,EAAA,cAAAA,EAAA,SAAA,KACEA,EAAA,cAACC,EAAe,KAAf,KACCD,EAAA,cAACE,EAAA,CAAM,QAAS,GAAGN,sBAAAA,EAA+BJ,CAAM,CAC1D,EAEAQ,EAAA,cAACG,EAAA,CACC,QAASL,IACT,gBAAiBC,EACjB,KAAM,GAAGH,oBAAAA,CACX,CACF,CAEJ"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Close as u}from"@atom-learning/icons";import{Overlay as x,Content as b,Portal as g,Close as w}from"@radix-ui/react-dialog";import*as
|
|
1
|
+
import{Close as u}from"@atom-learning/icons";import{Overlay as x,Content as b,Portal as g,Close as w}from"@radix-ui/react-dialog";import*as t from"react";import{DIALOG_Z_INDEX as r}from"../../constants/zIndices.js";import{keyframes as n,styled as l}from"../../stitches.js";import"../../utilities/css-wrapper/CSSWrapper.js";import"../../utilities/no-overflow-wrapper/NoOverflowWrapper.js";import"color2k";import{fadeIn as v,fadeOut as $}from"../../utilities/style/keyframe-animations.js";import{ActionIcon as C}from"../action-icon/ActionIcon.js";import{Icon as z}from"../icon/Icon.js";import{DialogBackground as s}from"./DialogBackground.js";const e="translate3d(-50%, -50%, 0)",m="translate3d(-50%, 50vh, 0)",d="modal_overlay",D=n({"0%":{transform:m},"100%":{transform:e}}),I=n({"0%":{transform:e},"100%":{transform:m}}),y=l(x,{backgroundColor:"$alpha600",top:0,right:0,bottom:0,left:0,position:"fixed",overflowY:"auto",zIndex:r,"@allowMotion":{'&[data-state="open"]':{animation:`${v} 250ms ease-out`},'&[data-state="closed"]':{animation:`${$} 550ms ease-out`}}}),E=l(b,{bg:"white",borderRadius:"$1",boxShadow:"$3",boxSizing:"border-box",left:"50%",maxWidth:"90vw",maxHeight:"90vh",overflowY:"auto",p:"$5",position:"fixed",top:"50%",transform:e,zIndex:r,"&:focus":{outline:"none"},"@allowMotion":{'&[data-state="open"]':{animation:`${D} 550ms cubic-bezier(0.22, 1, 0.36, 1)`},'&[data-state="closed"]':{animation:`${I} 550ms cubic-bezier(0.22, 1, 0.36, 1)`}},variants:{size:{xs:{width:"380px"},sm:{width:"480px"},md:{width:"600px"},lg:{width:"800px"},xl:{width:"1100px"}}}}),O=({size:p="sm",children:a,closeDialogText:f="Close dialog",showCloseButton:c=!0,...h})=>t.createElement(g,null,t.createElement(y,{id:d},t.Children.map(a,o=>(o==null?void 0:o.type)===s&&o),t.createElement(E,{size:p,"aria-label":"Dialog",onPointerDownOutside:o=>{const i=o.target;(i==null?void 0:i.id)!==d&&o.preventDefault()},...h},c&&t.createElement(C,{as:w,css:{position:"absolute",right:"$4",top:"$4"},label:f,hasTooltip:!1,size:"md",theme:"neutral"},t.createElement(z,{is:u})),t.Children.map(a,o=>(o==null?void 0:o.type)!==s&&o))));export{O as DialogContent};
|
|
2
2
|
//# sourceMappingURL=DialogContent.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Slot as c}from"@radix-ui/react-slot";import*as e from"react";const r=e.createContext({isDismissed:!1,setIsDismissed:()=>null}),n=({children:
|
|
1
|
+
import{Slot as c}from"@radix-ui/react-slot";import*as e from"react";const r=e.createContext({isDismissed:!1,setIsDismissed:()=>null}),n=({children:i,disabled:s})=>{const[t,o]=e.useState(!1),l=e.useMemo(()=>({disabled:s,isDismissed:t,setIsDismissed:o}),[s,t]);return e.createElement(r.Provider,{value:l},i)},u=({asChild:i=!1,value:s,onDismiss:t,...o})=>{const l=e.useContext(r),{isDismissed:d,disabled:a}=l;if(e.useEffect(()=>{d&&(t==null||t(s))},[d]),d)return null;const m={...a&&{["data-disabled"]:""},...o};return e.createElement(i?c:"div",{...m})},b=({disabled:i=!1,...s})=>e.createElement(n,{disabled:i},e.createElement(u,{...s}));export{b as DismissibleRoot,r as DismissibleRootContext,n as DismissibleRootProvider};
|
|
2
2
|
//# sourceMappingURL=DismissibleRoot.js.map
|