@atom-learning/components 4.5.0 → 4.6.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/dist/components/file-drop/FileDrop.d.ts +14 -0
- package/dist/components/file-drop/FileDrop.js +2 -0
- package/dist/components/file-drop/FileDrop.js.map +1 -0
- package/dist/components/file-drop/FileDropContext.d.ts +3 -0
- package/dist/components/file-drop/FileDropContext.js +2 -0
- package/dist/components/file-drop/FileDropContext.js.map +1 -0
- package/dist/components/file-drop/index.d.ts +2 -0
- package/dist/components/file-drop/types.d.ts +4 -0
- package/dist/components/file-drop/useFileDrop.d.ts +2 -0
- package/dist/components/file-drop/useFileDrop.js +2 -0
- package/dist/components/file-drop/useFileDrop.js.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/pagination/PaginationPopover.js +1 -1
- package/dist/components/pagination/PaginationPopover.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControl.d.ts +1 -1
- package/dist/components/segmented-control/SegmentedControlContext.d.ts +4 -6
- package/dist/components/segmented-control/SegmentedControlContext.js +1 -1
- package/dist/components/segmented-control/SegmentedControlContext.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlItemList.js +1 -1
- package/dist/components/segmented-control/SegmentedControlItemList.js.map +1 -1
- package/dist/components/segmented-control/SegmentedControlRoot.d.ts +1 -1
- package/dist/components/segmented-control/SegmentedControlRoot.js +1 -1
- package/dist/components/segmented-control/SegmentedControlRoot.js.map +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/package.json +1 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { Flex } from '../flex';
|
|
3
|
+
import { type FileDropContextValue } from './types';
|
|
4
|
+
interface FileDropProps extends Omit<React.ComponentProps<typeof Flex>, 'onDrop'> {
|
|
5
|
+
onDrop: (files: File[]) => void;
|
|
6
|
+
children?: React.ReactNode | ((value: FileDropContextValue) => React.ReactNode);
|
|
7
|
+
accept?: React.InputHTMLAttributes<HTMLInputElement>['accept'];
|
|
8
|
+
multiple?: React.InputHTMLAttributes<HTMLInputElement>['multiple'];
|
|
9
|
+
}
|
|
10
|
+
export declare const FileDrop: {
|
|
11
|
+
({ css, children, accept, multiple, onDrop, ...props }: FileDropProps): JSX.Element;
|
|
12
|
+
displayName: string;
|
|
13
|
+
};
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import*as r from"react";import{Flex as x}from"../flex/Flex.js";import{FileDropContext as E}from"./FileDropContext.js";const c=({css:p,children:n,accept:s,multiple:u,onDrop:d,...f})=>{const[m,i]=r.useState(!1),[v,D]=r.useState([]),o=r.useRef(null),g=e=>{e.preventDefault(),i(!0)},y=()=>i(!1),l=e=>{if(!e)return;i(!1);const t=Array.from(e);d(t),D(t)},b=e=>{var t;["Space","Enter"].includes(e.key)&&((t=o.current)==null||t.click())},a={isDragging:m,files:v};return r.createElement(E.Provider,{value:a},r.createElement(x,{direction:"column",gap:"24",align:"center",onDragOver:g,onDragLeave:y,onDrop:e=>{e.preventDefault(),l(e.dataTransfer.files)},onClick:()=>{var e;return(e=o.current)==null?void 0:e.click()},css:{border:"1px dashed $grey500",p:"$5 $7",borderRadius:"$1",cursor:"pointer","& *":{pointerEvents:"none"},...p},role:"button",onKeyDown:b,tabIndex:0,...f},typeof n=="function"?n(a):n,r.createElement("input",{type:"file",ref:o,style:{visibility:"hidden"},accept:s,multiple:u,onChange:e=>{l(e.target.files)}})))};c.displayName="FileDrop";export{c as FileDrop};
|
|
2
|
+
//# sourceMappingURL=FileDrop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileDrop.js","sources":["../../../src/components/file-drop/FileDrop.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { Flex } from '../flex'\nimport { FileDropContext } from './FileDropContext'\nimport { type FileDropContextValue } from './types'\n\ninterface FileDropProps\n extends Omit<React.ComponentProps<typeof Flex>, 'onDrop'> {\n onDrop: (files: File[]) => void\n children?:\n | React.ReactNode\n | ((value: FileDropContextValue) => React.ReactNode)\n accept?: React.InputHTMLAttributes<HTMLInputElement>['accept']\n multiple?: React.InputHTMLAttributes<HTMLInputElement>['multiple']\n}\n\nexport const FileDrop = ({\n css,\n children,\n accept,\n multiple,\n onDrop,\n ...props\n}: FileDropProps): JSX.Element => {\n const [isDragging, setIsDragging] = React.useState(false)\n const [files, setFiles] = React.useState<File[]>([])\n const fileUploadInputRef = React.useRef<HTMLInputElement>(null)\n\n const handleDragOver = (event: React.DragEvent<HTMLDivElement>) => {\n event.preventDefault()\n setIsDragging(true)\n }\n\n const handleDragLeave = () => setIsDragging(false)\n\n const handleDrop = (fileList: FileList | null) => {\n if (!fileList) return\n\n setIsDragging(false)\n\n const files = Array.from(fileList)\n onDrop(files)\n setFiles(files)\n }\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (['Space', 'Enter'].includes(event.key)) {\n fileUploadInputRef.current?.click()\n }\n }\n\n const value: FileDropContextValue = { isDragging, files }\n\n return (\n <FileDropContext.Provider value={value}>\n <Flex\n direction=\"column\"\n gap=\"24\"\n align=\"center\"\n onDragOver={handleDragOver}\n onDragLeave={handleDragLeave}\n onDrop={(event) => {\n event.preventDefault()\n handleDrop(event.dataTransfer.files)\n }}\n onClick={() => fileUploadInputRef.current?.click()}\n css={{\n border: '1px dashed $grey500',\n p: '$5 $7',\n borderRadius: '$1',\n cursor: 'pointer',\n '& *': { pointerEvents: 'none' },\n ...css\n }}\n role=\"button\"\n onKeyDown={handleKeyDown}\n tabIndex={0}\n {...props}\n >\n {typeof children === 'function' ? children(value) : children}\n <input\n type=\"file\"\n ref={fileUploadInputRef}\n style={{ visibility: 'hidden' }}\n accept={accept}\n multiple={multiple}\n onChange={(event) => {\n handleDrop(event.target.files)\n }}\n />\n </Flex>\n </FileDropContext.Provider>\n )\n}\n\nFileDrop.displayName = 'FileDrop'\n"],"names":["FileDrop","css","children","accept","multiple","onDrop","props","isDragging","setIsDragging","React","files","setFiles","fileUploadInputRef","handleDragOver","event","handleDragLeave","handleDrop","fileList","handleKeyDown","_a","value","FileDropContext","Flex"],"mappings":"sHAgBa,MAAAA,EAAW,CAAC,CACvB,IAAAC,EACA,SAAAC,EACA,OAAAC,EACA,SAAAC,EACA,OAAAC,KACGC,CACL,IAAkC,CAChC,KAAM,CAACC,EAAYC,CAAa,EAAIC,EAAM,SAAS,EAAK,EAClD,CAACC,EAAOC,CAAQ,EAAIF,EAAM,SAAiB,EAAE,EAC7CG,EAAqBH,EAAM,OAAyB,IAAI,EAExDI,EAAkBC,GAA2C,CACjEA,EAAM,eAAA,EACNN,EAAc,EAAI,CACpB,EAEMO,EAAkB,IAAMP,EAAc,EAAK,EAE3CQ,EAAcC,GAA8B,CAChD,GAAI,CAACA,EAAU,OAEfT,EAAc,EAAK,EAEnB,MAAME,EAAQ,MAAM,KAAKO,CAAQ,EACjCZ,EAAOK,CAAK,EACZC,EAASD,CAAK,CAChB,EAEMQ,EAAiBJ,GAA+C,CA7CxE,IAAAK,EA8CQ,CAAC,QAAS,OAAO,EAAE,SAASL,EAAM,GAAG,KACvCK,EAAAP,EAAmB,UAAnB,MAAAO,EAA4B,QAEhC,EAEMC,EAA8B,CAAE,WAAAb,EAAY,MAAAG,CAAM,EAExD,OACED,EAAA,cAACY,EAAgB,SAAhB,CAAyB,MAAOD,CAC/BX,EAAAA,EAAA,cAACa,EAAA,CACC,UAAU,SACV,IAAI,KACJ,MAAM,SACN,WAAYT,EACZ,YAAaE,EACb,OAASD,GAAU,CACjBA,EAAM,iBACNE,EAAWF,EAAM,aAAa,KAAK,CACrC,EACA,QAAS,IAAG,CAjEpB,IAAAK,EAiEuB,OAAAA,EAAAP,EAAmB,UAAnB,KAAA,OAAAO,EAA4B,MAAA,CAAA,EAC3C,IAAK,CACH,OAAQ,sBACR,EAAG,QACH,aAAc,KACd,OAAQ,UACR,MAAO,CAAE,cAAe,MAAO,EAC/B,GAAGlB,CACL,EACA,KAAK,SACL,UAAWiB,EACX,SAAU,EACT,GAAGZ,CAEH,EAAA,OAAOJ,GAAa,WAAaA,EAASkB,CAAK,EAAIlB,EACpDO,EAAA,cAAC,QAAA,CACC,KAAK,OACL,IAAKG,EACL,MAAO,CAAE,WAAY,QAAS,EAC9B,OAAQT,EACR,SAAUC,EACV,SAAWU,GAAU,CACnBE,EAAWF,EAAM,OAAO,KAAK,CAC/B,CACF,CAAA,CACF,CACF,CAEJ,EAEAd,EAAS,YAAc"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileDropContext.js","sources":["../../../src/components/file-drop/FileDropContext.ts"],"sourcesContent":["import React from 'react'\n\nimport { FileDropContextValue } from './types'\n\nexport const FileDropContext = React.createContext<FileDropContextValue>({\n isDragging: false,\n files: []\n})\n"],"names":["FileDropContext","React"],"mappings":"qBAIa,MAAAA,EAAkBC,EAAM,cAAoC,CACvE,WAAY,GACZ,MAAO,EACT,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFileDrop.js","sources":["../../../src/components/file-drop/useFileDrop.ts"],"sourcesContent":["import React from 'react'\n\nimport { FileDropContext } from './FileDropContext'\nimport { FileDropContextValue } from './types'\n\nexport const useFileDrop = (): FileDropContextValue =>\n React.useContext(FileDropContext)\n"],"names":["useFileDrop","React","FileDropContext"],"mappings":"4EAKO,MAAMA,EAAc,IACzBC,EAAM,WAAWC,CAAe"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{Ellypsis as s}from"@atom-learning/icons";import t from"react";import"../accordion/Accordion.js";import{ActionIcon as c}from"../action-icon/ActionIcon.js";import"../alert-dialog/AlertDialog.js";import"../alert-dialog/alert-context/AlertContext.js";import"../avatar/Avatar.js";import"../badge/Badge.js";import"../banner/banner-regular/BannerRegular.js";import"../banner/banner-slim/BannerSlim.js";import"../box/Box.js";import"../button/Button.js";import"../carousel/Carousel.js";import"../checkbox/Checkbox.js";import"../checkbox-group/CheckboxGroup.js";import"../checkbox-tree/CheckboxTree.js";import"../checkbox-field/CheckboxField.js";import"../chip/Chip.js";import"../chip/ChipGroup.js";import"../chip-dismissible-group/index.js";import"../chip-toggle-group/index.js";import"../combobox/Combobox.js";import"../create-password-field/CreatePasswordField.js";import"../data-table/DataTableContext.js";import"../data-table/DataTable.js";import"../date-field/DateField.js";import"../date-input/DateInput.js";import"../dialog/Dialog.js";import"../dismissible/index.js";import"../dismissible-group/index.js";import"../divider/Divider.js";import"../drawer/Drawer.js";import"../dropdown-menu/DropdownMenu.js";import"../empty-state/EmptyState.js";import"../field-wrapper/FieldWrapper.js";import"../field-wrapper/InlineFieldWrapper.js";import"../file-input/FileInput.js";import{Flex as g}from"../flex/Flex.js";import"../form/Form.js";import"dlv";import"react-hook-form";import"../grid/Grid.js";import"../heading/Heading.js";import{Icon as f}from"../icon/Icon.js";import"../image/Image.js";import"../inline-message/InlineMessage.js";import"../input/Input.js";import"../input-field/InputField.js";import"../label/Label.js";import"../link/Link.js";import"../list/List.js";import"../loader/Loader.js";import"../markdown-content/MarkdownContent.js";import"../navigation/NavigationMenu.js";import"../navigation-menu-vertical/NavigationMenuVertical.js";import"../notification-badge/NotificationBadge.js";import"../number-input/NumberInput.js";import"../number-input-field/NumberInputField.js";import"./Pagination.js";import"../password-field/PasswordField.js";import"../password-input/PasswordInput.js";import{Popover as r}from"../popover/Popover.js";import"../progress-bar/ProgressBar.js";import"../radio-button/RadioButton.js";import"../radio-button/RadioButtonGroup.js";import"../radio-button-field/RadioButtonField.js";import"../radio-card/RadioCard.js";import"@radix-ui/react-radio-group";import"../search-field/SearchField.js";import"../search-input/SearchInput.js";import"../section-message/SectionMessage.js";import"../select/Select.js";import"../select-field/SelectField.js";import"../side-bar/SideBar.js";import"../side-bar/SideBarContext.js";import"../slider/Slider.js";import"../slider-field/SliderField.js";import"../sortable/SortableHandle.js";import"../sortable/SortableItem.js";import"../sortable/SortableRoot.js";import"../spacer/Spacer.js";import"../stack-content/StackContent.js";import"../stepper/Stepper.js";import"../switch/Switch.js";import"../table/Table.js";import"../tabs/Tabs.js";import"../text/Text.js";import"../textarea/Textarea.js";import"../textarea-field/TextareaField.js";import"../tile/Tile.js";import"../tile-interactive/TileInteractive.js";import"../tile-toggle-group/index.js";import"../toast/Toast.js";import"../toast/ToastProvider.js";import"../toggle-group/ToggleGroupButton.js";import"../toggle-group/ToggleGroupItem.js";import"../toggle-group/ToggleGroupRoot.js";import"../tooltip/Tooltip.js";import"../top-bar/TopBar.js";import"../tree/Tree.js";import"../video/Video.js";import"../keyboard-shortcut/index.js";import"../segmented-control/SegmentedControlContext.js";import"../segmented-control/SegmentedControlContent.js";import"../segmented-control/SegmentedControlDescription.js";import"../segmented-control/SegmentedControlHeading.js";import"../segmented-control/SegmentedControlItem.js";import"../segmented-control/SegmentedControlItemList.js";import"../segmented-control/SegmentedControlRoot.js";import{PaginationPage as u}from"./PaginationPage.js";import{usePagination as d}from"./usePagination.js";const E=({children:e})=>{const{pagesCount:n,labels:i}=d(),p=Array.from({length:n},(o,l)=>l+1),[a,m]=t.useState(!1);return t.createElement(r,{open:a,onOpenChange:m,defaultOpen:!1},t.createElement(r.Trigger,{asChild:!0},e||t.createElement(c,{hasTooltip:!1,size:"md",theme:"neutral",label:(i==null?void 0:i.popoverTriggerLabel)||"Open pagination popover","data-testid":"pagination_popover_trigger"},t.createElement(f,{is:s}))),t.createElement(r.Content,{size:"md",showCloseButton:!1,css:{p:0}},t.createElement(g,{css:{p:"$4",display:"flex",flexWrap:"wrap",gap:"$1",justifyContent:"center"}},p==null?void 0:p.map(o=>t.createElement(u,{key:o,pageNumber:o,onClick:()=>m(!1)})))))};export{E as PaginationPopover};
|
|
1
|
+
import{Ellypsis as s}from"@atom-learning/icons";import t from"react";import"../accordion/Accordion.js";import{ActionIcon as c}from"../action-icon/ActionIcon.js";import"../alert-dialog/AlertDialog.js";import"../alert-dialog/alert-context/AlertContext.js";import"../avatar/Avatar.js";import"../badge/Badge.js";import"../banner/banner-regular/BannerRegular.js";import"../banner/banner-slim/BannerSlim.js";import"../box/Box.js";import"../button/Button.js";import"../carousel/Carousel.js";import"../checkbox/Checkbox.js";import"../checkbox-group/CheckboxGroup.js";import"../checkbox-tree/CheckboxTree.js";import"../checkbox-field/CheckboxField.js";import"../chip/Chip.js";import"../chip/ChipGroup.js";import"../chip-dismissible-group/index.js";import"../chip-toggle-group/index.js";import"../combobox/Combobox.js";import"../create-password-field/CreatePasswordField.js";import"../data-table/DataTableContext.js";import"../data-table/DataTable.js";import"../date-field/DateField.js";import"../date-input/DateInput.js";import"../dialog/Dialog.js";import"../dismissible/index.js";import"../dismissible-group/index.js";import"../divider/Divider.js";import"../drawer/Drawer.js";import"../dropdown-menu/DropdownMenu.js";import"../empty-state/EmptyState.js";import"../field-wrapper/FieldWrapper.js";import"../field-wrapper/InlineFieldWrapper.js";import"../file-input/FileInput.js";import{Flex as g}from"../flex/Flex.js";import"../form/Form.js";import"dlv";import"react-hook-form";import"../grid/Grid.js";import"../heading/Heading.js";import{Icon as f}from"../icon/Icon.js";import"../image/Image.js";import"../inline-message/InlineMessage.js";import"../input/Input.js";import"../input-field/InputField.js";import"../label/Label.js";import"../link/Link.js";import"../list/List.js";import"../loader/Loader.js";import"../markdown-content/MarkdownContent.js";import"../navigation/NavigationMenu.js";import"../navigation-menu-vertical/NavigationMenuVertical.js";import"../notification-badge/NotificationBadge.js";import"../number-input/NumberInput.js";import"../number-input-field/NumberInputField.js";import"./Pagination.js";import"../password-field/PasswordField.js";import"../password-input/PasswordInput.js";import{Popover as r}from"../popover/Popover.js";import"../progress-bar/ProgressBar.js";import"../radio-button/RadioButton.js";import"../radio-button/RadioButtonGroup.js";import"../radio-button-field/RadioButtonField.js";import"../radio-card/RadioCard.js";import"@radix-ui/react-radio-group";import"../search-field/SearchField.js";import"../search-input/SearchInput.js";import"../section-message/SectionMessage.js";import"../select/Select.js";import"../select-field/SelectField.js";import"../side-bar/SideBar.js";import"../side-bar/SideBarContext.js";import"../slider/Slider.js";import"../slider-field/SliderField.js";import"../sortable/SortableHandle.js";import"../sortable/SortableItem.js";import"../sortable/SortableRoot.js";import"../spacer/Spacer.js";import"../stack-content/StackContent.js";import"../stepper/Stepper.js";import"../switch/Switch.js";import"../table/Table.js";import"../tabs/Tabs.js";import"../text/Text.js";import"../textarea/Textarea.js";import"../textarea-field/TextareaField.js";import"../tile/Tile.js";import"../tile-interactive/TileInteractive.js";import"../tile-toggle-group/index.js";import"../toast/Toast.js";import"../toast/ToastProvider.js";import"../toggle-group/ToggleGroupButton.js";import"../toggle-group/ToggleGroupItem.js";import"../toggle-group/ToggleGroupRoot.js";import"../tooltip/Tooltip.js";import"../top-bar/TopBar.js";import"../tree/Tree.js";import"../video/Video.js";import"../keyboard-shortcut/index.js";import"../segmented-control/SegmentedControlContext.js";import"../segmented-control/SegmentedControlContent.js";import"../segmented-control/SegmentedControlDescription.js";import"../segmented-control/SegmentedControlHeading.js";import"../segmented-control/SegmentedControlItem.js";import"../segmented-control/SegmentedControlItemList.js";import"../segmented-control/SegmentedControlRoot.js";import"../file-drop/FileDrop.js";import"../file-drop/FileDropContext.js";import{PaginationPage as u}from"./PaginationPage.js";import{usePagination as d}from"./usePagination.js";const E=({children:e})=>{const{pagesCount:n,labels:i}=d(),p=Array.from({length:n},(o,l)=>l+1),[a,m]=t.useState(!1);return t.createElement(r,{open:a,onOpenChange:m,defaultOpen:!1},t.createElement(r.Trigger,{asChild:!0},e||t.createElement(c,{hasTooltip:!1,size:"md",theme:"neutral",label:(i==null?void 0:i.popoverTriggerLabel)||"Open pagination popover","data-testid":"pagination_popover_trigger"},t.createElement(f,{is:s}))),t.createElement(r.Content,{size:"md",showCloseButton:!1,css:{p:0}},t.createElement(g,{css:{p:"$4",display:"flex",flexWrap:"wrap",gap:"$1",justifyContent:"center"}},p==null?void 0:p.map(o=>t.createElement(u,{key:o,pageNumber:o,onClick:()=>m(!1)})))))};export{E as PaginationPopover};
|
|
2
2
|
//# sourceMappingURL=PaginationPopover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PaginationPopover.js","sources":["../../../src/components/pagination/PaginationPopover.tsx"],"sourcesContent":["import { Ellypsis } from '@atom-learning/icons'\nimport React from 'react'\n\nimport { ActionIcon, Flex, Icon, Popover } from '..'\nimport { PaginationPage } from './PaginationPage'\nimport { usePagination } from './usePagination'\n\nexport const PaginationPopover = ({\n children\n}: React.PropsWithChildren<unknown>) => {\n const { pagesCount, labels } = usePagination()\n const paginationItems = Array.from(\n { length: pagesCount },\n (_, index) => index + 1\n )\n\n const [isOpen, setIsOpen] = React.useState<boolean>(false)\n\n return (\n <Popover open={isOpen} onOpenChange={setIsOpen} defaultOpen={false}>\n <Popover.Trigger asChild>\n {children || (\n <ActionIcon\n hasTooltip={false}\n size=\"md\"\n theme=\"neutral\"\n label={labels?.popoverTriggerLabel || 'Open pagination popover'}\n data-testid=\"pagination_popover_trigger\"\n >\n <Icon is={Ellypsis} />\n </ActionIcon>\n )}\n </Popover.Trigger>\n <Popover.Content size=\"md\" showCloseButton={false} css={{ p: 0 }}>\n <Flex\n css={{\n p: '$4',\n display: 'flex',\n flexWrap: 'wrap',\n gap: '$1',\n justifyContent: 'center'\n }}\n >\n {paginationItems?.map((pageNumber) => {\n return (\n <PaginationPage\n key={pageNumber}\n pageNumber={pageNumber}\n onClick={() => setIsOpen(false)}\n />\n )\n })}\n </Flex>\n </Popover.Content>\n </Popover>\n )\n}\n"],"names":["PaginationPopover","children","pagesCount","labels","usePagination","paginationItems","_","index","isOpen","setIsOpen","React","Popover","ActionIcon","Icon","Ellypsis","Flex","pageNumber","PaginationPage"],"mappings":"
|
|
1
|
+
{"version":3,"file":"PaginationPopover.js","sources":["../../../src/components/pagination/PaginationPopover.tsx"],"sourcesContent":["import { Ellypsis } from '@atom-learning/icons'\nimport React from 'react'\n\nimport { ActionIcon, Flex, Icon, Popover } from '..'\nimport { PaginationPage } from './PaginationPage'\nimport { usePagination } from './usePagination'\n\nexport const PaginationPopover = ({\n children\n}: React.PropsWithChildren<unknown>) => {\n const { pagesCount, labels } = usePagination()\n const paginationItems = Array.from(\n { length: pagesCount },\n (_, index) => index + 1\n )\n\n const [isOpen, setIsOpen] = React.useState<boolean>(false)\n\n return (\n <Popover open={isOpen} onOpenChange={setIsOpen} defaultOpen={false}>\n <Popover.Trigger asChild>\n {children || (\n <ActionIcon\n hasTooltip={false}\n size=\"md\"\n theme=\"neutral\"\n label={labels?.popoverTriggerLabel || 'Open pagination popover'}\n data-testid=\"pagination_popover_trigger\"\n >\n <Icon is={Ellypsis} />\n </ActionIcon>\n )}\n </Popover.Trigger>\n <Popover.Content size=\"md\" showCloseButton={false} css={{ p: 0 }}>\n <Flex\n css={{\n p: '$4',\n display: 'flex',\n flexWrap: 'wrap',\n gap: '$1',\n justifyContent: 'center'\n }}\n >\n {paginationItems?.map((pageNumber) => {\n return (\n <PaginationPage\n key={pageNumber}\n pageNumber={pageNumber}\n onClick={() => setIsOpen(false)}\n />\n )\n })}\n </Flex>\n </Popover.Content>\n </Popover>\n )\n}\n"],"names":["PaginationPopover","children","pagesCount","labels","usePagination","paginationItems","_","index","isOpen","setIsOpen","React","Popover","ActionIcon","Icon","Ellypsis","Flex","pageNumber","PaginationPage"],"mappings":"onIAOO,MAAMA,EAAoB,CAAC,CAChC,SAAAC,CACF,IAAwC,CACtC,KAAM,CAAE,WAAAC,EAAY,OAAAC,CAAO,EAAIC,EAAc,EACvCC,EAAkB,MAAM,KAC5B,CAAE,OAAQH,CAAW,EACrB,CAACI,EAAGC,IAAUA,EAAQ,CACxB,EAEM,CAACC,EAAQC,CAAS,EAAIC,EAAM,SAAkB,EAAK,EAEzD,OACEA,EAAA,cAACC,EAAA,CAAQ,KAAMH,EAAQ,aAAcC,EAAW,YAAa,EAC3DC,EAAAA,EAAA,cAACC,EAAQ,QAAR,CAAgB,QAAO,EAAA,EACrBV,GACCS,EAAA,cAACE,EAAA,CACC,WAAY,GACZ,KAAK,KACL,MAAM,UACN,OAAOT,GAAA,KAAAA,OAAAA,EAAQ,sBAAuB,0BACtC,cAAY,4BAEZO,EAAAA,EAAA,cAACG,EAAA,CAAK,GAAIC,CAAAA,CAAU,CACtB,CAEJ,EACAJ,EAAA,cAACC,EAAQ,QAAR,CAAgB,KAAK,KAAK,gBAAiB,GAAO,IAAK,CAAE,EAAG,CAAE,CAC7DD,EAAAA,EAAA,cAACK,EAAA,CACC,IAAK,CACH,EAAG,KACH,QAAS,OACT,SAAU,OACV,IAAK,KACL,eAAgB,QAClB,GAECV,GAAA,KAAA,OAAAA,EAAiB,IAAKW,GAEnBN,EAAA,cAACO,EAAA,CACC,IAAKD,EACL,WAAYA,EACZ,QAAS,IAAMP,EAAU,EAAK,EAChC,CAGN,CAAA,CACF,CACF,CAEJ"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const SegmentedControl: {
|
|
2
|
-
Root: ({ size, children, theme, ...props }: import("./SegmentedControlRoot").SegmentedControlRootProps) => JSX.Element;
|
|
2
|
+
Root: ({ size, children, theme, defaultValue, ...props }: import("react").PropsWithChildren<import("./SegmentedControlRoot").SegmentedControlRootProps>) => import("react").JSX.Element;
|
|
3
3
|
Item: import("react").ForwardRefExoticComponent<Omit<Omit<Omit<Omit<Omit<import("@radix-ui/react-tabs").TabsTriggerProps & import("react").RefAttributes<HTMLButtonElement>, "css"> & import("@atom-learning/stitches-react/types/styled-component").TransformProps<{}, {
|
|
4
4
|
sm: string;
|
|
5
5
|
md: string;
|
|
@@ -1,13 +1,11 @@
|
|
|
1
1
|
import * as React from 'react';
|
|
2
2
|
import type { SegmentedControlRootProps } from './SegmentedControlRoot';
|
|
3
3
|
export type SegmentedControlTheme = 'primary' | 'marsh';
|
|
4
|
-
interface SegmentedControlContextValue {
|
|
4
|
+
export interface SegmentedControlContextValue {
|
|
5
5
|
size: SegmentedControlRootProps['size'];
|
|
6
6
|
theme: SegmentedControlTheme;
|
|
7
|
+
defaultValue: string;
|
|
7
8
|
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
export declare const SegmentedControlProvider: ({ size, theme, children }: SegmentedControlProviderProps) => JSX.Element;
|
|
9
|
+
export declare const SegmentedControlContext: React.Context<SegmentedControlContextValue>;
|
|
10
|
+
export declare const SegmentedControlProvider: ({ size, theme, defaultValue, children }: React.PropsWithChildren<SegmentedControlContextValue>) => JSX.Element;
|
|
12
11
|
export declare const useSegmentedControl: () => SegmentedControlContextValue;
|
|
13
|
-
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as e from"react";const
|
|
1
|
+
import*as e from"react";const t=e.createContext({size:"md",theme:"primary",defaultValue:""}),a=({size:r,theme:o,defaultValue:m,children:n})=>{const l=e.useMemo(()=>({size:r,theme:o,defaultValue:m}),[r,o,m]);return e.createElement(t.Provider,{value:l},n)},u=()=>e.useContext(t);export{t as SegmentedControlContext,a as SegmentedControlProvider,u as useSegmentedControl};
|
|
2
2
|
//# sourceMappingURL=SegmentedControlContext.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentedControlContext.js","sources":["../../../src/components/segmented-control/SegmentedControlContext.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport type { SegmentedControlRootProps } from './SegmentedControlRoot'\n\nexport type SegmentedControlTheme = 'primary' | 'marsh'\n\
|
|
1
|
+
{"version":3,"file":"SegmentedControlContext.js","sources":["../../../src/components/segmented-control/SegmentedControlContext.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport type { SegmentedControlRootProps } from './SegmentedControlRoot'\n\nexport type SegmentedControlTheme = 'primary' | 'marsh'\n\nexport interface SegmentedControlContextValue {\n size: SegmentedControlRootProps['size']\n theme: SegmentedControlTheme\n defaultValue: string\n}\n\nexport const SegmentedControlContext =\n React.createContext<SegmentedControlContextValue>({\n size: 'md',\n theme: 'primary',\n defaultValue: ''\n })\n\nexport const SegmentedControlProvider = ({\n size,\n theme,\n defaultValue,\n children\n}: React.PropsWithChildren<SegmentedControlContextValue>): JSX.Element => {\n const value = React.useMemo<SegmentedControlContextValue>(\n () => ({ size, theme, defaultValue }),\n [size, theme, defaultValue]\n )\n\n return (\n <SegmentedControlContext.Provider value={value}>\n {children}\n </SegmentedControlContext.Provider>\n )\n}\n\nexport const useSegmentedControl = (): SegmentedControlContextValue =>\n React.useContext(SegmentedControlContext)\n"],"names":["SegmentedControlContext","React","SegmentedControlProvider","size","theme","defaultValue","children","value","useSegmentedControl"],"mappings":"wBAYa,MAAAA,EACXC,EAAM,cAA4C,CAChD,KAAM,KACN,MAAO,UACP,aAAc,EAChB,CAAC,EAEUC,EAA2B,CAAC,CACvC,KAAAC,EACA,MAAAC,EACA,aAAAC,EACA,SAAAC,CACF,IAA0E,CACxE,MAAMC,EAAQN,EAAM,QAClB,KAAO,CAAE,KAAAE,EAAM,MAAAC,EAAO,aAAAC,CAAa,GACnC,CAACF,EAAMC,EAAOC,CAAY,CAC5B,EAEA,OACEJ,EAAA,cAACD,EAAwB,SAAxB,CAAiC,MAAOO,CAAAA,EACtCD,CACH,CAEJ,EAEaE,EAAsB,IACjCP,EAAM,WAAWD,CAAuB"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as t from"react";import{styled as d}from"../../stitches.js";import{Box as v}from"../box/Box.js";import{Tabs as w}from"../tabs/Tabs.js";import{useSegmentedControl as E}from"./SegmentedControlContext.js";const C=d(w.TriggerList,{position:"relative",p:"$1",borderRadius:"$3",overflow:"hidden",variants:{theme:{primary:{bg:"$primary200"},marsh:{bg:"$marsh200"}}}}),R=d(v,{content:"",position:"absolute",bg:"white",borderRadius:"$2",variants:{interacted:{true:{transition:"all 0.3s ease"},false:{transition:"none"}}}}),L=s=>{const{theme:u,defaultValue:l}=E(),a=t.useRef([]),c=t.Children.toArray(s.children).findIndex(e=>(e==null?void 0:e.props.value)===l),[i,f]=t.useState(c!==-1?c:0),[m,h]=t.useState({left:0,height:0,width:0}),[p,g]=t.useState(!1),b=e=>{f(e),g(!0)},n=t.useCallback(()=>{const e=a.current[i];if(!e)return;const{width:o,height:r}=e.getBoundingClientRect();h({left:e.offsetLeft,height:r,width:o})},[i]);return t.useEffect(()=>{const e=new ResizeObserver(n),o=a.current;return o.forEach(r=>{r&&e.observe(r)}),()=>{o.forEach(r=>{r&&e.unobserve(r)}),e.disconnect()}},[i,n]),t.useEffect(()=>(window.addEventListener("resize",n),()=>{window.removeEventListener("resize",n)}),[n]),t.useEffect(()=>{n()},[i,n]),t.createElement(C,{theme:u,defaultValue:l,...s},t.createElement(R,{css:{...m},interacted:p}),t.Children.map(s.children,(e,o)=>t.cloneElement(e,{onClick:()=>b(o),ref:r=>a.current[o]=r})))};export{L as SegmentedControlItemList};
|
|
2
2
|
//# sourceMappingURL=SegmentedControlItemList.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentedControlItemList.js","sources":["../../../src/components/segmented-control/SegmentedControlItemList.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { styled } from '../../stitches'\nimport { Box } from '../box'\nimport { Tabs } from '../tabs'\nimport { useSegmentedControl } from './SegmentedControlContext'\n\nconst StyledTriggerList = styled(Tabs.TriggerList, {\n position: 'relative',\n p: '$1',\n borderRadius: '$3',\n overflow: 'hidden',\n variants: {\n theme: {\n primary: { bg: '$primary200' },\n marsh: { bg: '$marsh200' }\n }\n }\n})\n\nexport const SegmentedControlItemList = (\n props: React.ComponentProps<typeof Tabs.TriggerList>\n): JSX.Element => {\n const { theme } = useSegmentedControl()\n\n const tabsRef = React.useRef<(HTMLElement | null)[]>([])\n const [selectedIndex, setSelectedIndex] = React.useState(0)\n const [indicatorStyles, setIndicatorStyles] = React.useState({\n left: 0,\n height: 0,\n width: 0\n })\n\n const updateIndicatorPosition = () => {\n const currentTab = tabsRef.current[selectedIndex]\n if (!currentTab) return\n\n const { width, height } = currentTab.getBoundingClientRect()\n setIndicatorStyles({ left: currentTab.offsetLeft, height, width })\n }\n\n React.useEffect(() => {\n updateIndicatorPosition()\n window.addEventListener('resize', updateIndicatorPosition)\n return () => {\n window.removeEventListener('resize', updateIndicatorPosition)\n }\n }, [selectedIndex])\n\n return (\n <StyledTriggerList theme={theme} {...props}>\n <
|
|
1
|
+
{"version":3,"file":"SegmentedControlItemList.js","sources":["../../../src/components/segmented-control/SegmentedControlItemList.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { styled } from '../../stitches'\nimport { Box } from '../box'\nimport { Tabs } from '../tabs'\nimport { useSegmentedControl } from './SegmentedControlContext'\n\nconst StyledTriggerList = styled(Tabs.TriggerList, {\n position: 'relative',\n p: '$1',\n borderRadius: '$3',\n overflow: 'hidden',\n variants: {\n theme: {\n primary: { bg: '$primary200' },\n marsh: { bg: '$marsh200' }\n }\n }\n})\n\nconst SelectionIndicator = styled(Box, {\n content: '',\n position: 'absolute',\n bg: 'white',\n borderRadius: '$2',\n variants: {\n interacted: {\n true: {\n transition: 'all 0.3s ease'\n },\n false: {\n transition: 'none'\n }\n }\n }\n})\n\nexport const SegmentedControlItemList = (\n props: React.ComponentProps<typeof Tabs.TriggerList>\n): JSX.Element => {\n const { theme, defaultValue } = useSegmentedControl()\n\n const tabsRef = React.useRef<(HTMLElement | null)[]>([])\n\n const defaultSelectedIndex = React.Children.toArray(props.children).findIndex(\n (child) => (child as React.ReactElement)?.props.value === defaultValue\n )\n const [selectedIndex, setSelectedIndex] = React.useState(\n defaultSelectedIndex !== -1 ? defaultSelectedIndex : 0\n )\n const [indicatorStyles, setIndicatorStyles] = React.useState({\n left: 0,\n height: 0,\n width: 0\n })\n const [hasInteracted, setHasInteracted] = React.useState(false)\n\n const setSelection = (index: number) => {\n setSelectedIndex(index)\n setHasInteracted(true)\n }\n\n const updateIndicatorPosition = React.useCallback(() => {\n const currentTab = tabsRef.current[selectedIndex]\n if (!currentTab) return\n\n const { width, height } = currentTab.getBoundingClientRect()\n setIndicatorStyles({ left: currentTab.offsetLeft, height, width })\n }, [selectedIndex])\n\n React.useEffect(() => {\n const resizeObserver = new ResizeObserver(updateIndicatorPosition)\n const currentTabs = tabsRef.current\n currentTabs.forEach((tab) => {\n if (tab) resizeObserver.observe(tab)\n })\n\n return () => {\n currentTabs.forEach((tab) => {\n if (tab) resizeObserver.unobserve(tab)\n })\n resizeObserver.disconnect()\n }\n }, [selectedIndex, updateIndicatorPosition])\n\n React.useEffect(() => {\n window.addEventListener('resize', updateIndicatorPosition)\n return () => {\n window.removeEventListener('resize', updateIndicatorPosition)\n }\n }, [updateIndicatorPosition])\n\n React.useEffect(() => {\n updateIndicatorPosition()\n }, [selectedIndex, updateIndicatorPosition])\n\n return (\n <StyledTriggerList theme={theme} defaultValue={defaultValue} {...props}>\n <SelectionIndicator\n css={{\n ...indicatorStyles\n }}\n interacted={hasInteracted}\n />\n {React.Children.map(props.children, (child, index) =>\n React.cloneElement(child as React.ReactElement, {\n onClick: () => setSelection(index),\n ref: (el) => (tabsRef.current[index] = el)\n })\n )}\n </StyledTriggerList>\n )\n}\n"],"names":["StyledTriggerList","styled","Tabs","SelectionIndicator","Box","SegmentedControlItemList","props","theme","defaultValue","useSegmentedControl","tabsRef","React","defaultSelectedIndex","child","selectedIndex","setSelectedIndex","indicatorStyles","setIndicatorStyles","hasInteracted","setHasInteracted","setSelection","index","updateIndicatorPosition","currentTab","width","height","resizeObserver","currentTabs","tab","el"],"mappings":"iNAOA,MAAMA,EAAoBC,EAAOC,EAAK,YAAa,CACjD,SAAU,WACV,EAAG,KACH,aAAc,KACd,SAAU,SACV,SAAU,CACR,MAAO,CACL,QAAS,CAAE,GAAI,aAAc,EAC7B,MAAO,CAAE,GAAI,WAAY,CAC3B,CACF,CACF,CAAC,EAEKC,EAAqBF,EAAOG,EAAK,CACrC,QAAS,GACT,SAAU,WACV,GAAI,QACJ,aAAc,KACd,SAAU,CACR,WAAY,CACV,KAAM,CACJ,WAAY,eACd,EACA,MAAO,CACL,WAAY,MACd,CACF,CACF,CACF,CAAC,EAEYC,EACXC,GACgB,CAChB,KAAM,CAAE,MAAAC,EAAO,aAAAC,CAAa,EAAIC,EAAoB,EAE9CC,EAAUC,EAAM,OAA+B,CAAE,CAAA,EAEjDC,EAAuBD,EAAM,SAAS,QAAQL,EAAM,QAAQ,EAAE,UACjEO,IAAWA,GAAA,KAAAA,OAAAA,EAA8B,MAAM,SAAUL,CAC5D,EACM,CAACM,EAAeC,CAAgB,EAAIJ,EAAM,SAC9CC,IAAyB,GAAKA,EAAuB,CACvD,EACM,CAACI,EAAiBC,CAAkB,EAAIN,EAAM,SAAS,CAC3D,KAAM,EACN,OAAQ,EACR,MAAO,CACT,CAAC,EACK,CAACO,EAAeC,CAAgB,EAAIR,EAAM,SAAS,EAAK,EAExDS,EAAgBC,GAAkB,CACtCN,EAAiBM,CAAK,EACtBF,EAAiB,EAAI,CACvB,EAEMG,EAA0BX,EAAM,YAAY,IAAM,CACtD,MAAMY,EAAab,EAAQ,QAAQI,GACnC,GAAI,CAACS,EAAY,OAEjB,KAAM,CAAE,MAAAC,EAAO,OAAAC,CAAO,EAAIF,EAAW,wBACrCN,EAAmB,CAAE,KAAMM,EAAW,WAAY,OAAAE,EAAQ,MAAAD,CAAM,CAAC,CACnE,EAAG,CAACV,CAAa,CAAC,EAElB,OAAAH,EAAM,UAAU,IAAM,CACpB,MAAMe,EAAiB,IAAI,eAAeJ,CAAuB,EAC3DK,EAAcjB,EAAQ,QAC5B,OAAAiB,EAAY,QAASC,GAAQ,CACvBA,GAAKF,EAAe,QAAQE,CAAG,CACrC,CAAC,EAEM,IAAM,CACXD,EAAY,QAASC,GAAQ,CACvBA,GAAKF,EAAe,UAAUE,CAAG,CACvC,CAAC,EACDF,EAAe,WACjB,CAAA,CACF,EAAG,CAACZ,EAAeQ,CAAuB,CAAC,EAE3CX,EAAM,UAAU,KACd,OAAO,iBAAiB,SAAUW,CAAuB,EAClD,IAAM,CACX,OAAO,oBAAoB,SAAUA,CAAuB,CAC9D,GACC,CAACA,CAAuB,CAAC,EAE5BX,EAAM,UAAU,IAAM,CACpBW,EAAwB,CAC1B,EAAG,CAACR,EAAeQ,CAAuB,CAAC,EAGzCX,EAAA,cAACX,EAAA,CAAkB,MAAOO,EAAO,aAAcC,EAAe,GAAGF,CAAAA,EAC/DK,EAAA,cAACR,EAAA,CACC,IAAK,CACH,GAAGa,CACL,EACA,WAAYE,EACd,EACCP,EAAM,SAAS,IAAIL,EAAM,SAAU,CAACO,EAAOQ,IAC1CV,EAAM,aAAaE,EAA6B,CAC9C,QAAS,IAAMO,EAAaC,CAAK,EACjC,IAAMQ,GAAQnB,EAAQ,QAAQW,GAASQ,CACzC,CAAC,CACH,CACF,CAEJ"}
|
|
@@ -1834,5 +1834,5 @@ declare const StyledSegmentedControlRoot: import("@atom-learning/stitches-react/
|
|
|
1834
1834
|
export interface SegmentedControlRootProps extends React.ComponentProps<typeof StyledSegmentedControlRoot> {
|
|
1835
1835
|
theme?: SegmentedControlTheme;
|
|
1836
1836
|
}
|
|
1837
|
-
export declare const SegmentedControlRoot: ({ size, children, theme, ...props }: SegmentedControlRootProps) => JSX.Element;
|
|
1837
|
+
export declare const SegmentedControlRoot: ({ size, children, theme, defaultValue, ...props }: React.PropsWithChildren<SegmentedControlRootProps>) => React.JSX.Element;
|
|
1838
1838
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import*as
|
|
1
|
+
import*as r from"react";import{styled as a}from"../../stitches.js";import{Tabs as l}from"../tabs/Tabs.js";import{SegmentedControlProvider as n}from"./SegmentedControlContext.js";const s=a(l,{"& > div":{border:"none"},variants:{size:{sm:{width:"unset"},md:{},lg:{}}}}),d=({size:e,children:o,theme:m="primary",defaultValue:t="",...i})=>r.createElement(n,{size:e,theme:m,defaultValue:t},r.createElement(s,{...i,size:e,defaultValue:t},o));export{d as SegmentedControlRoot};
|
|
2
2
|
//# sourceMappingURL=SegmentedControlRoot.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SegmentedControlRoot.js","sources":["../../../src/components/segmented-control/SegmentedControlRoot.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { styled } from '../../stitches'\nimport { Tabs } from '../tabs'\nimport {\n SegmentedControlProvider,\n SegmentedControlTheme\n} from './SegmentedControlContext'\n\nconst StyledSegmentedControlRoot = styled(Tabs, {\n '& > div': { border: 'none' },\n variants: {\n size: {\n sm: {\n width: 'unset'\n },\n md: {},\n lg: {}\n }\n }\n})\n\nexport interface SegmentedControlRootProps\n extends React.ComponentProps<typeof StyledSegmentedControlRoot> {\n theme?: SegmentedControlTheme\n}\n\nexport const SegmentedControlRoot = ({\n size,\n children,\n theme = 'primary',\n ...props\n}: SegmentedControlRootProps): JSX.Element => (\n <SegmentedControlProvider
|
|
1
|
+
{"version":3,"file":"SegmentedControlRoot.js","sources":["../../../src/components/segmented-control/SegmentedControlRoot.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { styled } from '../../stitches'\nimport { Tabs } from '../tabs'\nimport {\n SegmentedControlProvider,\n SegmentedControlTheme\n} from './SegmentedControlContext'\n\nconst StyledSegmentedControlRoot = styled(Tabs, {\n '& > div': { border: 'none' },\n variants: {\n size: {\n sm: {\n width: 'unset'\n },\n md: {},\n lg: {}\n }\n }\n})\n\nexport interface SegmentedControlRootProps\n extends React.ComponentProps<typeof StyledSegmentedControlRoot> {\n theme?: SegmentedControlTheme\n}\n\nexport const SegmentedControlRoot = ({\n size,\n children,\n theme = 'primary',\n defaultValue = '',\n ...props\n}: React.PropsWithChildren<SegmentedControlRootProps>): React.JSX.Element => (\n <SegmentedControlProvider\n size={size}\n theme={theme}\n defaultValue={defaultValue}\n >\n <StyledSegmentedControlRoot\n {...props}\n size={size}\n defaultValue={defaultValue}\n >\n {children}\n </StyledSegmentedControlRoot>\n </SegmentedControlProvider>\n)\n"],"names":["StyledSegmentedControlRoot","styled","Tabs","SegmentedControlRoot","size","children","theme","defaultValue","props","React","SegmentedControlProvider"],"mappings":"kLASA,MAAMA,EAA6BC,EAAOC,EAAM,CAC9C,UAAW,CAAE,OAAQ,MAAO,EAC5B,SAAU,CACR,KAAM,CACJ,GAAI,CACF,MAAO,OACT,EACA,GAAI,CACJ,EAAA,GAAI,CAAA,CACN,CACF,CACF,CAAC,EAOYC,EAAuB,CAAC,CACnC,KAAAC,EACA,SAAAC,EACA,MAAAC,EAAQ,UACR,aAAAC,EAAe,MACZC,CACL,IACEC,EAAA,cAACC,EAAA,CACC,KAAMN,EACN,MAAOE,EACP,aAAcC,GAEdE,EAAA,cAACT,EAAA,CACE,GAAGQ,EACJ,KAAMJ,EACN,aAAcG,CAAAA,EAEbF,CACH,CACF"}
|