@atom-learning/components 2.58.1 → 2.58.3

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 CHANGED
@@ -1,10 +1,10 @@
1
- ## [2.58.1](https://github.com/Atom-Learning/components/compare/v2.58.0...v2.58.1) (2023-06-08)
1
+ ## [2.58.3](https://github.com/Atom-Learning/components/compare/v2.58.2...v2.58.3) (2023-06-20)
2
2
 
3
3
 
4
4
  ### Bug Fixes
5
5
 
6
- * section message content vertical alignment ([cf9dcf1](https://github.com/Atom-Learning/components/commit/cf9dcf12abcf0d83e59aa5109b0af11b858e1ded))
7
- * section message page codeblocks formatting ([3c04545](https://github.com/Atom-Learning/components/commit/3c04545c7da50a721394440df400413d5d71baf5))
6
+ * change all uses of absolute urls to relative ([963a854](https://github.com/Atom-Learning/components/commit/963a8541a2c2ae959b7ee98aa850c3edf33b7c40))
7
+ * data table pagination styles so it is responsive in small screens ([8927ef9](https://github.com/Atom-Learning/components/commit/8927ef938ffd512684303f9d11b0e6622fc271a7))
8
8
 
9
9
  # [1.4.0](https://github.com/Atom-Learning/components/compare/v1.3.0...v1.4.0) (2022-04-11)
10
10
 
@@ -1,2 +1,2 @@
1
- import*as e from"react";import{styled as E}from"../../../stitches.js";import{Flex as P}from"../../flex/Flex.js";import{Text as I}from"../../text/Text.js";import{AsyncDataState as o}from"../DataTable.types.js";import{useDataTable as D}from"../DataTableContext.js";import{GotoPageSelect as y,DirectionButton as m}from"./PaginationButtons.js";const C=E("nav",{display:"flex",justifyContent:"space-between",alignItems:"center",fontVariantNumeric:"tabular-nums"}),S=c=>{const{applyPagination:i,getState:g,getRowModel:p,getPageCount:r,previousPage:d,nextPage:f,setPageIndex:u,getTotalRows:s,asyncDataState:n}=D();e.useEffect(()=>{i()},[i]);const{pagination:t}=g();if(n!==o.PENDING&&s()===0)return null;const l=t.pageIndex*t.pageSize+1,x=l+p().rows.length-1,a=n===o.PENDING||n===o.REJECTED;return e.createElement(C,{...c},e.createElement(I,{size:"sm"},`${l.toString()} - ${x.toString()} of ${s()} items`),e.createElement(y,{gotoPage:u,pageCount:r(),pageIndex:t.pageIndex,disabled:a}),e.createElement(P,{css:{justifyContent:"flex-end"}},e.createElement(m,{direction:"previous",disabled:t.pageIndex===0||a,onClick:d,css:{mr:"$4"}}),e.createElement(m,{direction:"next",disabled:t.pageIndex===r()-1||a,onClick:f})))};export{S as Pagination};
1
+ import*as e from"react";import{styled as P}from"../../../stitches.js";import{Flex as m}from"../../flex/Flex.js";import{Text as I}from"../../text/Text.js";import{AsyncDataState as o}from"../DataTable.types.js";import{useDataTable as b}from"../DataTableContext.js";import{GotoPageSelect as w,DirectionButton as c}from"./PaginationButtons.js";const y=P("nav",{display:"flex",justifyContent:"space-between",alignItems:"center",fontVariantNumeric:"tabular-nums",flexWrap:"wrap",rowGap:"$4"}),C=p=>{const{applyPagination:r,getState:g,getRowModel:f,getPageCount:i,previousPage:d,nextPage:u,setPageIndex:x,getTotalRows:s,asyncDataState:a}=b();e.useEffect(()=>{r()},[r]);const{pagination:t}=g();if(a!==o.PENDING&&s()===0)return null;const l=t.pageIndex*t.pageSize+1,E=l+f().rows.length-1,n=a===o.PENDING||a===o.REJECTED;return e.createElement(y,{...p},e.createElement(I,{size:"sm",css:{pr:"$4","@sm":{flexBasis:"50%"}}},`${l.toString()} - ${E.toString()} of ${s()} items`),e.createElement(m,{css:{justifyContent:"space-between",width:"100%","@sm":{flexBasis:"50%"}}},e.createElement(w,{gotoPage:x,pageCount:i(),pageIndex:t.pageIndex,disabled:n}),e.createElement(m,null,e.createElement(c,{direction:"previous",disabled:t.pageIndex===0||n,onClick:d,css:{mr:"$4"}}),e.createElement(c,{direction:"next",disabled:t.pageIndex===i()-1||n,onClick:u}))))};export{C as Pagination};
2
2
  //# sourceMappingURL=Pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../../../src/components/data-table/pagination/Pagination.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { styled } from '~/stitches'\n\nimport { Flex } from '../../flex'\nimport { Text } from '../../text'\nimport { AsyncDataState } from '../DataTable.types'\nimport { useDataTable } from '../DataTableContext'\nimport { DirectionButton, GotoPageSelect } from './PaginationButtons'\n\nconst StyledNav = styled('nav', {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n fontVariantNumeric: 'tabular-nums'\n})\n\ntype PaginationProps = React.ComponentProps<typeof StyledNav>\n\n/** Applies pagination to parent DataTableProvider and renders UI to switch pages etc */\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n applyPagination,\n getState,\n getRowModel,\n getPageCount,\n previousPage,\n nextPage,\n setPageIndex,\n getTotalRows,\n asyncDataState\n } = useDataTable()\n\n React.useEffect(() => {\n applyPagination()\n }, [applyPagination])\n\n const { pagination: paginationState } = getState()\n const isPending = asyncDataState === AsyncDataState.PENDING\n const isEmpty = !isPending && getTotalRows() === 0\n\n if (isEmpty) return null\n\n const recordsCountFrom =\n paginationState.pageIndex * paginationState.pageSize + 1\n const recordsCountTo = recordsCountFrom + getRowModel().rows.length - 1\n const isPaginationDisabled =\n asyncDataState === AsyncDataState.PENDING ||\n asyncDataState === AsyncDataState.REJECTED\n\n return (\n <StyledNav {...props}>\n <Text size=\"sm\">\n {`${recordsCountFrom.toString()} - ${recordsCountTo.toString()} of ${getTotalRows()} items`}\n </Text>\n\n <GotoPageSelect\n gotoPage={setPageIndex}\n pageCount={getPageCount()}\n pageIndex={paginationState.pageIndex}\n disabled={isPaginationDisabled}\n />\n\n <Flex css={{ justifyContent: 'flex-end' }}>\n <DirectionButton\n direction=\"previous\"\n disabled={paginationState.pageIndex === 0 || isPaginationDisabled}\n onClick={previousPage}\n css={{ mr: '$4' }}\n />\n <DirectionButton\n direction=\"next\"\n disabled={\n paginationState.pageIndex === getPageCount() - 1 ||\n isPaginationDisabled\n }\n onClick={nextPage}\n />\n </Flex>\n </StyledNav>\n )\n}\n"],"names":["StyledNav","styled","Pagination","props","applyPagination","getState","getRowModel","getPageCount","previousPage","nextPage","setPageIndex","getTotalRows","asyncDataState","useDataTable","React","paginationState","AsyncDataState","recordsCountFrom","recordsCountTo","isPaginationDisabled","Text","GotoPageSelect","Flex","DirectionButton"],"mappings":"oVAUA,MAAMA,EAAYC,EAAO,MAAO,CAC9B,QAAS,OACT,eAAgB,gBAChB,WAAY,SACZ,mBAAoB,cACtB,CAAC,EAKYC,EAAyCC,GAAU,CAC9D,KAAM,CACJ,gBAAAC,EACA,SAAAC,EACA,YAAAC,EACA,aAAAC,EACA,aAAAC,EACA,SAAAC,EACA,aAAAC,EACA,aAAAC,EACA,eAAAC,CACF,EAAIC,EAEJC,EAAAA,EAAM,UAAU,IAAM,CACpBV,EACF,CAAA,EAAG,CAACA,CAAe,CAAC,EAEpB,KAAM,CAAE,WAAYW,CAAgB,EAAIV,EAAS,EAIjD,GAHkBO,IAAmBI,EAAe,SACtBL,MAAmB,EAEpC,OAAO,KAEpB,MAAMM,EACJF,EAAgB,UAAYA,EAAgB,SAAW,EACnDG,EAAiBD,EAAmBX,EAAc,EAAA,KAAK,OAAS,EAChEa,EACJP,IAAmBI,EAAe,SAClCJ,IAAmBI,EAAe,SAEpC,OACEF,EAAA,cAACd,EAAA,CAAW,GAAGG,CAAAA,EACbW,EAAA,cAACM,EAAA,CAAK,KAAK,IAAA,EACR,GAAGH,EAAiB,SAAgBC,OAAAA,EAAe,iBAAiBP,WACvE,EAEAG,EAAA,cAACO,EAAA,CACC,SAAUX,EACV,UAAWH,IACX,UAAWQ,EAAgB,UAC3B,SAAUI,EACZ,EAEAL,EAAA,cAACQ,EAAA,CAAK,IAAK,CAAE,eAAgB,UAAW,GACtCR,EAAA,cAACS,EAAA,CACC,UAAU,WACV,SAAUR,EAAgB,YAAc,GAAKI,EAC7C,QAASX,EACT,IAAK,CAAE,GAAI,IAAK,CAAA,CAClB,EACAM,EAAA,cAACS,EAAA,CACC,UAAU,OACV,SACER,EAAgB,YAAcR,IAAiB,GAC/CY,EAEF,QAASV,CAAAA,CACX,CACF,CACF,CAEJ"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../../../src/components/data-table/pagination/Pagination.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { styled } from '~/stitches'\n\nimport { Flex } from '../../flex'\nimport { Text } from '../../text'\nimport { AsyncDataState } from '../DataTable.types'\nimport { useDataTable } from '../DataTableContext'\nimport { DirectionButton, GotoPageSelect } from './PaginationButtons'\n\nconst StyledNav = styled('nav', {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n fontVariantNumeric: 'tabular-nums',\n flexWrap: 'wrap',\n rowGap: '$4'\n})\n\ntype PaginationProps = React.ComponentProps<typeof StyledNav>\n\n/** Applies pagination to parent DataTableProvider and renders UI to switch pages etc */\nexport const Pagination: React.FC<PaginationProps> = (props) => {\n const {\n applyPagination,\n getState,\n getRowModel,\n getPageCount,\n previousPage,\n nextPage,\n setPageIndex,\n getTotalRows,\n asyncDataState\n } = useDataTable()\n\n React.useEffect(() => {\n applyPagination()\n }, [applyPagination])\n\n const { pagination: paginationState } = getState()\n const isPending = asyncDataState === AsyncDataState.PENDING\n const isEmpty = !isPending && getTotalRows() === 0\n\n if (isEmpty) return null\n\n const recordsCountFrom =\n paginationState.pageIndex * paginationState.pageSize + 1\n const recordsCountTo = recordsCountFrom + getRowModel().rows.length - 1\n const isPaginationDisabled =\n asyncDataState === AsyncDataState.PENDING ||\n asyncDataState === AsyncDataState.REJECTED\n\n return (\n <StyledNav {...props}>\n <Text\n size=\"sm\"\n css={{\n pr: '$4',\n '@sm': { flexBasis: '50%' }\n }}\n >\n {`${recordsCountFrom.toString()} - ${recordsCountTo.toString()} of ${getTotalRows()} items`}\n </Text>\n\n <Flex\n css={{\n justifyContent: 'space-between',\n width: '100%',\n '@sm': { flexBasis: '50%' }\n }}\n >\n <GotoPageSelect\n gotoPage={setPageIndex}\n pageCount={getPageCount()}\n pageIndex={paginationState.pageIndex}\n disabled={isPaginationDisabled}\n />\n\n <Flex>\n <DirectionButton\n direction=\"previous\"\n disabled={paginationState.pageIndex === 0 || isPaginationDisabled}\n onClick={previousPage}\n css={{ mr: '$4' }}\n />\n <DirectionButton\n direction=\"next\"\n disabled={\n paginationState.pageIndex === getPageCount() - 1 ||\n isPaginationDisabled\n }\n onClick={nextPage}\n />\n </Flex>\n </Flex>\n </StyledNav>\n )\n}\n"],"names":["StyledNav","styled","Pagination","props","applyPagination","getState","getRowModel","getPageCount","previousPage","nextPage","setPageIndex","getTotalRows","asyncDataState","useDataTable","React","paginationState","AsyncDataState","recordsCountFrom","recordsCountTo","isPaginationDisabled","Text","Flex","GotoPageSelect","DirectionButton"],"mappings":"oVAUA,MAAMA,EAAYC,EAAO,MAAO,CAC9B,QAAS,OACT,eAAgB,gBAChB,WAAY,SACZ,mBAAoB,eACpB,SAAU,OACV,OAAQ,IACV,CAAC,EAKYC,EAAyCC,GAAU,CAC9D,KAAM,CACJ,gBAAAC,EACA,SAAAC,EACA,YAAAC,EACA,aAAAC,EACA,aAAAC,EACA,SAAAC,EACA,aAAAC,EACA,aAAAC,EACA,eAAAC,CACF,EAAIC,IAEJC,EAAM,UAAU,IAAM,CACpBV,EACF,CAAA,EAAG,CAACA,CAAe,CAAC,EAEpB,KAAM,CAAE,WAAYW,CAAgB,EAAIV,IAIxC,GAHkBO,IAAmBI,EAAe,SACtBL,EAAa,IAAM,EAEpC,OAAO,KAEpB,MAAMM,EACJF,EAAgB,UAAYA,EAAgB,SAAW,EACnDG,EAAiBD,EAAmBX,IAAc,KAAK,OAAS,EAChEa,EACJP,IAAmBI,EAAe,SAClCJ,IAAmBI,EAAe,SAEpC,OACEF,EAAA,cAACd,EAAA,CAAW,GAAGG,CACbW,EAAAA,EAAA,cAACM,EAAA,CACC,KAAK,KACL,IAAK,CACH,GAAI,KACJ,MAAO,CAAE,UAAW,KAAM,CAC5B,CAAA,EAEC,GAAGH,EAAiB,gBAAgBC,EAAe,SAAS,QAAQP,WACvE,EAEAG,EAAA,cAACO,EAAA,CACC,IAAK,CACH,eAAgB,gBAChB,MAAO,OACP,MAAO,CAAE,UAAW,KAAM,CAC5B,CAAA,EAEAP,EAAA,cAACQ,EAAA,CACC,SAAUZ,EACV,UAAWH,EACX,EAAA,UAAWQ,EAAgB,UAC3B,SAAUI,CAAAA,CACZ,EAEAL,EAAA,cAACO,EAAA,KACCP,EAAA,cAACS,EAAA,CACC,UAAU,WACV,SAAUR,EAAgB,YAAc,GAAKI,EAC7C,QAASX,EACT,IAAK,CAAE,GAAI,IAAK,EAClB,EACAM,EAAA,cAACS,EAAA,CACC,UAAU,OACV,SACER,EAAgB,YAAcR,IAAiB,GAC/CY,EAEF,QAASV,CACX,CAAA,CACF,CACF,CACF,CAEJ"}
@@ -1,2 +1,2 @@
1
- import*as e from"react";import{styled as r}from"../../stitches.js";import{textVariants as d}from"../text/Text.js";const t=r("li",{}),l=r("ul",{fontFamily:"$body",m:"unset",p:"unset",[`& > ${t}`]:{"&:not(:last-child)":{mb:"$2"},"&:last-child":{mb:0}},variants:{...d,as:{ol:{pl:"$4",listStyle:"decimal",[`& > ${t}`]:{pl:"$1","&::marker":{fontSize:"$sm",fontWeight:"bold"}}},ul:{pl:"$3",[`& > ${t}`]:{pl:"$2","&::marker":{content:"\u2022",fontWeight:"bold"}}}},theme:{primary:{[`& > ${t}`]:{"&::marker":{color:"$primary"}}}}}}),o=e.forwardRef(({size:i="md",noCapsize:m=!0,ordered:a,...s},n)=>e.createElement(l,{ref:n,as:a?"ol":"ul",size:i,noCapsize:m,...s}));o.Item=t;export{o as List,t as StyledLi,l as StyledList};
1
+ import*as e from"react";import{styled as i}from"../../stitches.js";import{textVariants as d}from"../text/Text.js";const t=i("li",{}),l=i("ul",{listStylePosition:"inside",fontFamily:"$body",m:"unset",p:"unset",[`& > ${t}`]:{"&:not(:last-child)":{mb:"$2"},"&:last-child":{mb:0}},variants:{...d,as:{ol:{pl:"$4",listStyleType:"decimal",[`& > ${t}`]:{pl:"$1","&::marker":{fontSize:".875em",fontWeight:"bold"}}},ul:{pl:"$3",[`& > ${t}`]:{pl:"$2","&::marker":{content:"\u2022 ",fontWeight:"bold"}}}},theme:{primary:{[`& > ${t}`]:{"&::marker":{color:"$primary"}}}}}}),o=e.forwardRef(({size:r="md",noCapsize:m=!0,ordered:s,...a},n)=>e.createElement(l,{ref:n,as:s?"ol":"ul",size:r,noCapsize:m,...a}));o.Item=t;export{o as List,t as StyledLi,l as StyledList};
2
2
  //# sourceMappingURL=List.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"List.js","sources":["../../../src/components/list/List.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { styled } from '~/stitches'\n\nimport { textVariants } from '../text'\n\nexport const StyledLi = styled('li', {})\n\nexport const StyledList = styled('ul', {\n fontFamily: '$body',\n m: 'unset',\n p: 'unset',\n [`& > ${StyledLi}`]: {\n '&:not(:last-child)': { mb: '$2' },\n '&:last-child': { mb: 0 }\n },\n variants: {\n ...textVariants,\n as: {\n ol: {\n pl: '$4',\n listStyle: 'decimal',\n [`& > ${StyledLi}`]: {\n pl: '$1',\n '&::marker': { fontSize: '$sm', fontWeight: 'bold' }\n }\n },\n ul: {\n pl: '$3',\n [`& > ${StyledLi}`]: {\n pl: '$2',\n '&::marker': { content: '•', fontWeight: 'bold' }\n }\n }\n },\n theme: {\n primary: {\n [`& > ${StyledLi}`]: {\n '&::marker': { color: '$primary' }\n }\n }\n }\n }\n})\n\ntype ListProps = React.ComponentProps<typeof StyledList> & {\n ordered?: boolean\n}\n\ntype ListType = React.ForwardRefExoticComponent<ListProps> & {\n Item: typeof StyledLi\n}\n\nexport const List = React.forwardRef(\n ({ size = 'md', noCapsize = true, ordered, ...remainingProps }, ref) => (\n <StyledList\n ref={ref}\n as={ordered ? 'ol' : 'ul'}\n size={size}\n noCapsize={noCapsize}\n {...remainingProps}\n />\n )\n) as ListType\n\nList.Item = StyledLi\n"],"names":["StyledLi","styled","StyledList","textVariants","List","React","size","noCapsize","ordered","remainingProps","ref"],"mappings":"kHAMO,MAAMA,EAAWC,EAAO,KAAM,CAAE,CAAA,EAE1BC,EAAaD,EAAO,KAAM,CACrC,WAAY,QACZ,EAAG,QACH,EAAG,QACH,CAAC,OAAOD,KAAa,CACnB,qBAAsB,CAAE,GAAI,IAAK,EACjC,eAAgB,CAAE,GAAI,CAAE,CAC1B,EACA,SAAU,CACR,GAAGG,EACH,GAAI,CACF,GAAI,CACF,GAAI,KACJ,UAAW,UACX,CAAC,OAAOH,KAAa,CACnB,GAAI,KACJ,YAAa,CAAE,SAAU,MAAO,WAAY,MAAO,CACrD,CACF,EACA,GAAI,CACF,GAAI,KACJ,CAAC,OAAOA,KAAa,CACnB,GAAI,KACJ,YAAa,CAAE,QAAS,SAAK,WAAY,MAAO,CAClD,CACF,CACF,EACA,MAAO,CACL,QAAS,CACP,CAAC,OAAOA,KAAa,CACnB,YAAa,CAAE,MAAO,UAAW,CACnC,CACF,CACF,CACF,CACF,CAAC,EAUYI,EAAOC,EAAM,WACxB,CAAC,CAAE,KAAAC,EAAO,KAAM,UAAAC,EAAY,GAAM,QAAAC,KAAYC,CAAe,EAAGC,IAC9DL,EAAA,cAACH,EAAA,CACC,IAAKQ,EACL,GAAIF,EAAU,KAAO,KACrB,KAAMF,EACN,UAAWC,EACV,GAAGE,CAAAA,CACN,CAEJ,EAEAL,EAAK,KAAOJ"}
1
+ {"version":3,"file":"List.js","sources":["../../../src/components/list/List.tsx"],"sourcesContent":["import * as React from 'react'\n\nimport { styled } from '~/stitches'\n\nimport { textVariants } from '../text'\n\nexport const StyledLi = styled('li', {})\n\nexport const StyledList = styled('ul', {\n listStylePosition: 'inside',\n fontFamily: '$body',\n m: 'unset',\n p: 'unset',\n [`& > ${StyledLi}`]: {\n '&:not(:last-child)': { mb: '$2' },\n '&:last-child': { mb: 0 }\n },\n variants: {\n ...textVariants,\n as: {\n ol: {\n pl: '$4',\n listStyleType: 'decimal',\n [`& > ${StyledLi}`]: {\n pl: '$1',\n '&::marker': { fontSize: '.875em', fontWeight: 'bold' }\n }\n },\n ul: {\n pl: '$3',\n [`& > ${StyledLi}`]: {\n pl: '$2',\n '&::marker': { content: '• ', fontWeight: 'bold' }\n }\n }\n },\n theme: {\n primary: {\n [`& > ${StyledLi}`]: {\n '&::marker': { color: '$primary' }\n }\n }\n }\n }\n})\n\ntype ListProps = React.ComponentProps<typeof StyledList> & {\n ordered?: boolean\n}\n\ntype ListType = React.ForwardRefExoticComponent<ListProps> & {\n Item: typeof StyledLi\n}\n\nexport const List = React.forwardRef(\n ({ size = 'md', noCapsize = true, ordered, ...remainingProps }, ref) => (\n <StyledList\n ref={ref}\n as={ordered ? 'ol' : 'ul'}\n size={size}\n noCapsize={noCapsize}\n {...remainingProps}\n />\n )\n) as ListType\n\nList.Item = StyledLi\n"],"names":["StyledLi","styled","StyledList","textVariants","List","React","size","noCapsize","ordered","remainingProps","ref"],"mappings":"kHAMO,MAAMA,EAAWC,EAAO,KAAM,CAAA,CAAE,EAE1BC,EAAaD,EAAO,KAAM,CACrC,kBAAmB,SACnB,WAAY,QACZ,EAAG,QACH,EAAG,QACH,CAAC,OAAOD,KAAa,CACnB,qBAAsB,CAAE,GAAI,IAAK,EACjC,eAAgB,CAAE,GAAI,CAAE,CAC1B,EACA,SAAU,CACR,GAAGG,EACH,GAAI,CACF,GAAI,CACF,GAAI,KACJ,cAAe,UACf,CAAC,OAAOH,KAAa,CACnB,GAAI,KACJ,YAAa,CAAE,SAAU,SAAU,WAAY,MAAO,CACxD,CACF,EACA,GAAI,CACF,GAAI,KACJ,CAAC,OAAOA,KAAa,CACnB,GAAI,KACJ,YAAa,CAAE,QAAS,UAAM,WAAY,MAAO,CACnD,CACF,CACF,EACA,MAAO,CACL,QAAS,CACP,CAAC,OAAOA,KAAa,CACnB,YAAa,CAAE,MAAO,UAAW,CACnC,CACF,CACF,CACF,CACF,CAAC,EAUYI,EAAOC,EAAM,WACxB,CAAC,CAAE,KAAAC,EAAO,KAAM,UAAAC,EAAY,GAAM,QAAAC,KAAYC,CAAe,EAAGC,IAC9DL,EAAA,cAACH,EAAA,CACC,IAAKQ,EACL,GAAIF,EAAU,KAAO,KACrB,KAAMF,EACN,UAAWC,EACV,GAAGE,CAAAA,CACN,CAEJ,EAEAL,EAAK,KAAOJ"}