@elliemae/ds-page-number 3.0.0-next.68 → 3.0.0-next.69
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/cjs/DSPageNumber.js
CHANGED
|
@@ -164,6 +164,7 @@ const pageNumberProps = {
|
|
|
164
164
|
separator: import_react_desc.PropTypes.oneOfType([import_react_desc.PropTypes.string, import_react_desc.PropTypes.number]).description("Separator between current page and total pages").defaultValue("/")
|
|
165
165
|
};
|
|
166
166
|
DSPageNumber.propTypes = pageNumberProps;
|
|
167
|
+
DSPageNumber.displayName = "DSPageNumber";
|
|
167
168
|
const PageNumberWithSchema = (0, import_react_desc.describe)(DSPageNumber);
|
|
168
169
|
PageNumberWithSchema.propTypes = pageNumberProps;
|
|
169
170
|
DSPageNumber.defaultProps = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/DSPageNumber.tsx", "../../../../scripts/build/transpile/react-shim.js"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useState, useRef, useEffect } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { ChevronSmallDown, ChevronSmallUp } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport { DSInput, DSInputGroup } from '@elliemae/ds-form';\nimport { lengthToSize, cleanPage } from './components/utils';\n\nconst blockName = 'page-number-block';\nconst PageNumberInputContainer = aggregatedClasses(DSInputGroup)(blockName);\n\nconst DSPageNumber = ({\n className,\n disabled,\n value,\n onChange,\n containerProps,\n currentPage,\n totalPages,\n separator,\n ...otherProps\n}) => {\n const safeTotal = cleanPage(totalPages);\n const ref = useRef(null);\n const { cssClassName, classNameElement } = convertPropToCssClassName('page-number', className, {\n disabled,\n });\n const [page, setPage] = useState(cleanPage(currentPage) || 1);\n const [size, setSize] = useState(null);\n useEffect(() => {\n const { width } = ref.current.getBoundingClientRect();\n const calculatedWidth = lengthToSize(width, page);\n setSize(calculatedWidth);\n }, [page, safeTotal]);\n\n function handleUpdateInput(e) {\n const newValue = cleanPage(e.target.value);\n if (newValue > safeTotal || newValue === 0) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleIncrease() {\n const newValue = page ? parseInt(page, 10) + 1 : 1;\n if (newValue > safeTotal) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleDecrease() {\n const newValue = page ? parseInt(page, 10) - 1 : 1;\n if (newValue < 1) return;\n setPage(newValue);\n onChange(newValue);\n }\n\n return (\n <div data-testid=\"ds-page-number\" className={`${cssClassName}`} {...containerProps} {...otherProps}>\n <PageNumberInputContainer>\n <div className={`${classNameElement('pages')}`}>\n <DSInput\n className={`${classNameElement('input')}`}\n data-testid=\"page-number__current-page\"\n onChange={handleUpdateInput}\n style={{\n width: `${size}px`,\n }}\n value={page}\n />\n <div className={`${classNameElement('separator')}`}>{separator}</div>\n <div className={`${classNameElement('total')}`} data-testid=\"page-number__total-pages\">\n {totalPages}\n </div>\n <div ref={ref} className={`${classNameElement('ref')}`} />\n </div>\n <div className={`${classNameElement('limiter')}`} />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__increase\"\n icon={<ChevronSmallUp />}\n onClick={handleIncrease}\n />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__decrease\"\n icon={<ChevronSmallDown />}\n onClick={handleDecrease}\n />\n </PageNumberInputContainer>\n </div>\n );\n};\n\nconst pageNumberProps = {\n className: PropTypes.string.description('html class attribute'),\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n disabled: PropTypes.bool.description('Whether the component is disabled or not').defaultValue(false),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).description('page number value'),\n onChange: PropTypes.func.description('function executed when the page number changes'),\n currentPage: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Value of the current page'),\n totalPages: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Amount of pages').defaultValue(1),\n separator: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .description('Separator between current page and total pages')\n .defaultValue('/'),\n};\n\nDSPageNumber.propTypes = pageNumberProps;\
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["/* eslint-disable max-lines */\nimport React, { useState, useRef, useEffect } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { ChevronSmallDown, ChevronSmallUp } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport { DSInput, DSInputGroup } from '@elliemae/ds-form';\nimport { lengthToSize, cleanPage } from './components/utils';\n\nconst blockName = 'page-number-block';\nconst PageNumberInputContainer = aggregatedClasses(DSInputGroup)(blockName);\n\nconst DSPageNumber = ({\n className,\n disabled,\n value,\n onChange,\n containerProps,\n currentPage,\n totalPages,\n separator,\n ...otherProps\n}) => {\n const safeTotal = cleanPage(totalPages);\n const ref = useRef(null);\n const { cssClassName, classNameElement } = convertPropToCssClassName('page-number', className, {\n disabled,\n });\n const [page, setPage] = useState(cleanPage(currentPage) || 1);\n const [size, setSize] = useState(null);\n useEffect(() => {\n const { width } = ref.current.getBoundingClientRect();\n const calculatedWidth = lengthToSize(width, page);\n setSize(calculatedWidth);\n }, [page, safeTotal]);\n\n function handleUpdateInput(e) {\n const newValue = cleanPage(e.target.value);\n if (newValue > safeTotal || newValue === 0) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleIncrease() {\n const newValue = page ? parseInt(page, 10) + 1 : 1;\n if (newValue > safeTotal) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleDecrease() {\n const newValue = page ? parseInt(page, 10) - 1 : 1;\n if (newValue < 1) return;\n setPage(newValue);\n onChange(newValue);\n }\n\n return (\n <div data-testid=\"ds-page-number\" className={`${cssClassName}`} {...containerProps} {...otherProps}>\n <PageNumberInputContainer>\n <div className={`${classNameElement('pages')}`}>\n <DSInput\n className={`${classNameElement('input')}`}\n data-testid=\"page-number__current-page\"\n onChange={handleUpdateInput}\n style={{\n width: `${size}px`,\n }}\n value={page}\n />\n <div className={`${classNameElement('separator')}`}>{separator}</div>\n <div className={`${classNameElement('total')}`} data-testid=\"page-number__total-pages\">\n {totalPages}\n </div>\n <div ref={ref} className={`${classNameElement('ref')}`} />\n </div>\n <div className={`${classNameElement('limiter')}`} />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__increase\"\n icon={<ChevronSmallUp />}\n onClick={handleIncrease}\n />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__decrease\"\n icon={<ChevronSmallDown />}\n onClick={handleDecrease}\n />\n </PageNumberInputContainer>\n </div>\n );\n};\n\nconst pageNumberProps = {\n className: PropTypes.string.description('html class attribute'),\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n disabled: PropTypes.bool.description('Whether the component is disabled or not').defaultValue(false),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).description('page number value'),\n onChange: PropTypes.func.description('function executed when the page number changes'),\n currentPage: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Value of the current page'),\n totalPages: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Amount of pages').defaultValue(1),\n separator: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .description('Separator between current page and total pages')\n .defaultValue('/'),\n};\n\nDSPageNumber.propTypes = pageNumberProps;\nDSPageNumber.displayName = 'DSPageNumber';\nconst PageNumberWithSchema = describe(DSPageNumber);\nPageNumberWithSchema.propTypes = pageNumberProps;\n\nDSPageNumber.defaultProps = {\n className: '',\n disabled: false,\n onChange: () => null,\n containerProps: {},\n value: undefined,\n currentPage: undefined,\n totalPages: 1,\n separator: '/',\n};\n\nexport { DSPageNumber, PageNumberWithSchema };\nexport default DSPageNumber;\n", "import * as React from 'react';\nexport { React };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/dist/esm/DSPageNumber.js
CHANGED
|
@@ -139,6 +139,7 @@ const pageNumberProps = {
|
|
|
139
139
|
separator: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description("Separator between current page and total pages").defaultValue("/")
|
|
140
140
|
};
|
|
141
141
|
DSPageNumber.propTypes = pageNumberProps;
|
|
142
|
+
DSPageNumber.displayName = "DSPageNumber";
|
|
142
143
|
const PageNumberWithSchema = describe(DSPageNumber);
|
|
143
144
|
PageNumberWithSchema.propTypes = pageNumberProps;
|
|
144
145
|
DSPageNumber.defaultProps = {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../scripts/build/transpile/react-shim.js", "../../src/DSPageNumber.tsx"],
|
|
4
|
-
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useState, useRef, useEffect } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { ChevronSmallDown, ChevronSmallUp } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport { DSInput, DSInputGroup } from '@elliemae/ds-form';\nimport { lengthToSize, cleanPage } from './components/utils';\n\nconst blockName = 'page-number-block';\nconst PageNumberInputContainer = aggregatedClasses(DSInputGroup)(blockName);\n\nconst DSPageNumber = ({\n className,\n disabled,\n value,\n onChange,\n containerProps,\n currentPage,\n totalPages,\n separator,\n ...otherProps\n}) => {\n const safeTotal = cleanPage(totalPages);\n const ref = useRef(null);\n const { cssClassName, classNameElement } = convertPropToCssClassName('page-number', className, {\n disabled,\n });\n const [page, setPage] = useState(cleanPage(currentPage) || 1);\n const [size, setSize] = useState(null);\n useEffect(() => {\n const { width } = ref.current.getBoundingClientRect();\n const calculatedWidth = lengthToSize(width, page);\n setSize(calculatedWidth);\n }, [page, safeTotal]);\n\n function handleUpdateInput(e) {\n const newValue = cleanPage(e.target.value);\n if (newValue > safeTotal || newValue === 0) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleIncrease() {\n const newValue = page ? parseInt(page, 10) + 1 : 1;\n if (newValue > safeTotal) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleDecrease() {\n const newValue = page ? parseInt(page, 10) - 1 : 1;\n if (newValue < 1) return;\n setPage(newValue);\n onChange(newValue);\n }\n\n return (\n <div data-testid=\"ds-page-number\" className={`${cssClassName}`} {...containerProps} {...otherProps}>\n <PageNumberInputContainer>\n <div className={`${classNameElement('pages')}`}>\n <DSInput\n className={`${classNameElement('input')}`}\n data-testid=\"page-number__current-page\"\n onChange={handleUpdateInput}\n style={{\n width: `${size}px`,\n }}\n value={page}\n />\n <div className={`${classNameElement('separator')}`}>{separator}</div>\n <div className={`${classNameElement('total')}`} data-testid=\"page-number__total-pages\">\n {totalPages}\n </div>\n <div ref={ref} className={`${classNameElement('ref')}`} />\n </div>\n <div className={`${classNameElement('limiter')}`} />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__increase\"\n icon={<ChevronSmallUp />}\n onClick={handleIncrease}\n />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__decrease\"\n icon={<ChevronSmallDown />}\n onClick={handleDecrease}\n />\n </PageNumberInputContainer>\n </div>\n );\n};\n\nconst pageNumberProps = {\n className: PropTypes.string.description('html class attribute'),\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n disabled: PropTypes.bool.description('Whether the component is disabled or not').defaultValue(false),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).description('page number value'),\n onChange: PropTypes.func.description('function executed when the page number changes'),\n currentPage: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Value of the current page'),\n totalPages: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Amount of pages').defaultValue(1),\n separator: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .description('Separator between current page and total pages')\n .defaultValue('/'),\n};\n\nDSPageNumber.propTypes = pageNumberProps;\
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useState, useRef, useEffect } from 'react';\nimport { describe, PropTypes } from 'react-desc';\nimport { aggregatedClasses, convertPropToCssClassName } from '@elliemae/ds-classnames';\nimport { ChevronSmallDown, ChevronSmallUp } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport { DSInput, DSInputGroup } from '@elliemae/ds-form';\nimport { lengthToSize, cleanPage } from './components/utils';\n\nconst blockName = 'page-number-block';\nconst PageNumberInputContainer = aggregatedClasses(DSInputGroup)(blockName);\n\nconst DSPageNumber = ({\n className,\n disabled,\n value,\n onChange,\n containerProps,\n currentPage,\n totalPages,\n separator,\n ...otherProps\n}) => {\n const safeTotal = cleanPage(totalPages);\n const ref = useRef(null);\n const { cssClassName, classNameElement } = convertPropToCssClassName('page-number', className, {\n disabled,\n });\n const [page, setPage] = useState(cleanPage(currentPage) || 1);\n const [size, setSize] = useState(null);\n useEffect(() => {\n const { width } = ref.current.getBoundingClientRect();\n const calculatedWidth = lengthToSize(width, page);\n setSize(calculatedWidth);\n }, [page, safeTotal]);\n\n function handleUpdateInput(e) {\n const newValue = cleanPage(e.target.value);\n if (newValue > safeTotal || newValue === 0) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleIncrease() {\n const newValue = page ? parseInt(page, 10) + 1 : 1;\n if (newValue > safeTotal) return;\n setPage(newValue);\n onChange(newValue);\n }\n function handleDecrease() {\n const newValue = page ? parseInt(page, 10) - 1 : 1;\n if (newValue < 1) return;\n setPage(newValue);\n onChange(newValue);\n }\n\n return (\n <div data-testid=\"ds-page-number\" className={`${cssClassName}`} {...containerProps} {...otherProps}>\n <PageNumberInputContainer>\n <div className={`${classNameElement('pages')}`}>\n <DSInput\n className={`${classNameElement('input')}`}\n data-testid=\"page-number__current-page\"\n onChange={handleUpdateInput}\n style={{\n width: `${size}px`,\n }}\n value={page}\n />\n <div className={`${classNameElement('separator')}`}>{separator}</div>\n <div className={`${classNameElement('total')}`} data-testid=\"page-number__total-pages\">\n {totalPages}\n </div>\n <div ref={ref} className={`${classNameElement('ref')}`} />\n </div>\n <div className={`${classNameElement('limiter')}`} />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__increase\"\n icon={<ChevronSmallUp />}\n onClick={handleIncrease}\n />\n <DSButton\n aria-label=\"dropdown-indicator\"\n buttonType=\"text\"\n className=\"dropdown-indicator\"\n data-testid=\"page-number__decrease\"\n icon={<ChevronSmallDown />}\n onClick={handleDecrease}\n />\n </PageNumberInputContainer>\n </div>\n );\n};\n\nconst pageNumberProps = {\n className: PropTypes.string.description('html class attribute'),\n containerProps: PropTypes.object.description('Set of Properties attached to the main container'),\n disabled: PropTypes.bool.description('Whether the component is disabled or not').defaultValue(false),\n value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.object]).description('page number value'),\n onChange: PropTypes.func.description('function executed when the page number changes'),\n currentPage: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Value of the current page'),\n totalPages: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).description('Amount of pages').defaultValue(1),\n separator: PropTypes.oneOfType([PropTypes.string, PropTypes.number])\n .description('Separator between current page and total pages')\n .defaultValue('/'),\n};\n\nDSPageNumber.propTypes = pageNumberProps;\nDSPageNumber.displayName = 'DSPageNumber';\nconst PageNumberWithSchema = describe(DSPageNumber);\nPageNumberWithSchema.propTypes = pageNumberProps;\n\nDSPageNumber.defaultProps = {\n className: '',\n disabled: false,\n onChange: () => null,\n containerProps: {},\n value: undefined,\n currentPage: undefined,\n totalPages: 1,\n separator: '/',\n};\n\nexport { DSPageNumber, PageNumberWithSchema };\nexport default DSPageNumber;\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,YAAY;AAClB,MAAM,2BAA2B,kBAAkB,YAAY,EAAE,SAAS;AAE1E,MAAM,eAAe,CAAC,OAUhB;AAVgB,eACpB;AAAA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,MARoB,IASjB,uBATiB,IASjB;AAAA,IARH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,QAAM,YAAY,UAAU,UAAU;AACtC,QAAM,MAAM,OAAO,IAAI;AACvB,QAAM,EAAE,cAAc,qBAAqB,0BAA0B,eAAe,WAAW;AAAA,IAC7F;AAAA,EACF,CAAC;AACD,QAAM,CAAC,MAAM,WAAW,SAAS,UAAU,WAAW,KAAK,CAAC;AAC5D,QAAM,CAAC,MAAM,WAAW,SAAS,IAAI;AACrC,YAAU,MAAM;AACd,UAAM,EAAE,UAAU,IAAI,QAAQ,sBAAsB;AACpD,UAAM,kBAAkB,aAAa,OAAO,IAAI;AAChD,YAAQ,eAAe;AAAA,EACzB,GAAG,CAAC,MAAM,SAAS,CAAC;AAEpB,6BAA2B,GAAG;AAC5B,UAAM,WAAW,UAAU,EAAE,OAAO,KAAK;AACzC,QAAI,WAAW,aAAa,aAAa;AAAG;AAC5C,YAAQ,QAAQ;AAChB,aAAS,QAAQ;AAAA,EACnB;AACA,4BAA0B;AACxB,UAAM,WAAW,OAAO,SAAS,MAAM,EAAE,IAAI,IAAI;AACjD,QAAI,WAAW;AAAW;AAC1B,YAAQ,QAAQ;AAChB,aAAS,QAAQ;AAAA,EACnB;AACA,4BAA0B;AACxB,UAAM,WAAW,OAAO,SAAS,MAAM,EAAE,IAAI,IAAI;AACjD,QAAI,WAAW;AAAG;AAClB,YAAQ,QAAQ;AAChB,aAAS,QAAQ;AAAA,EACnB;AAEA,SACE,qCAAC;AAAA,IAAI,eAAY;AAAA,IAAiB,WAAW,GAAG;AAAA,KAAoB,iBAAoB,aACtF,qCAAC,gCACC,qCAAC;AAAA,IAAI,WAAW,GAAG,iBAAiB,OAAO;AAAA,KACzC,qCAAC;AAAA,IACC,WAAW,GAAG,iBAAiB,OAAO;AAAA,IACtC,eAAY;AAAA,IACZ,UAAU;AAAA,IACV,OAAO;AAAA,MACL,OAAO,GAAG;AAAA,IACZ;AAAA,IACA,OAAO;AAAA,GACT,GACA,qCAAC;AAAA,IAAI,WAAW,GAAG,iBAAiB,WAAW;AAAA,KAAM,SAAU,GAC/D,qCAAC;AAAA,IAAI,WAAW,GAAG,iBAAiB,OAAO;AAAA,IAAK,eAAY;AAAA,KACzD,UACH,GACA,qCAAC;AAAA,IAAI;AAAA,IAAU,WAAW,GAAG,iBAAiB,KAAK;AAAA,GAAK,CAC1D,GACA,qCAAC;AAAA,IAAI,WAAW,GAAG,iBAAiB,SAAS;AAAA,GAAK,GAClD,qCAAC;AAAA,IACC,cAAW;AAAA,IACX,YAAW;AAAA,IACX,WAAU;AAAA,IACV,eAAY;AAAA,IACZ,MAAM,qCAAC,oBAAe;AAAA,IACtB,SAAS;AAAA,GACX,GACA,qCAAC;AAAA,IACC,cAAW;AAAA,IACX,YAAW;AAAA,IACX,WAAU;AAAA,IACV,eAAY;AAAA,IACZ,MAAM,qCAAC,sBAAiB;AAAA,IACxB,SAAS;AAAA,GACX,CACF,CACF;AAEJ;AAEA,MAAM,kBAAkB;AAAA,EACtB,WAAW,UAAU,OAAO,YAAY,sBAAsB;AAAA,EAC9D,gBAAgB,UAAU,OAAO,YAAY,kDAAkD;AAAA,EAC/F,UAAU,UAAU,KAAK,YAAY,0CAA0C,EAAE,aAAa,KAAK;AAAA,EACnG,OAAO,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,QAAQ,UAAU,MAAM,CAAC,EAAE,YAAY,mBAAmB;AAAA,EAClH,UAAU,UAAU,KAAK,YAAY,gDAAgD;AAAA,EACrF,aAAa,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC,EAAE,YAAY,2BAA2B;AAAA,EAC9G,YAAY,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC,EAAE,YAAY,iBAAiB,EAAE,aAAa,CAAC;AAAA,EACnH,WAAW,UAAU,UAAU,CAAC,UAAU,QAAQ,UAAU,MAAM,CAAC,EAChE,YAAY,gDAAgD,EAC5D,aAAa,GAAG;AACrB;AAEA,aAAa,YAAY;AACzB,aAAa,cAAc;AAC3B,MAAM,uBAAuB,SAAS,YAAY;AAClD,qBAAqB,YAAY;AAEjC,aAAa,eAAe;AAAA,EAC1B,WAAW;AAAA,EACX,UAAU;AAAA,EACV,UAAU,MAAM;AAAA,EAChB,gBAAgB,CAAC;AAAA,EACjB,OAAO;AAAA,EACP,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,WAAW;AACb;AAGA,IAAO,uBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|