@caspeco/casper-ui-library 9.0.0-alpha.6 → 9.0.1

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.
Files changed (33) hide show
  1. package/README.md +103 -103
  2. package/dist/components/box/box.d.ts +3 -2
  3. package/dist/components/box/box.d.ts.map +1 -1
  4. package/dist/components/breadcrumbs/breadcrumb-link.d.ts +4 -3
  5. package/dist/components/breadcrumbs/breadcrumb-link.d.ts.map +1 -1
  6. package/dist/components/combobox/combobox-recipe.d.ts.map +1 -1
  7. package/dist/components/combobox/combobox-recipe.js +3 -0
  8. package/dist/components/form-control/form-control.d.ts +1 -1
  9. package/dist/components/form-control/form-control.d.ts.map +1 -1
  10. package/dist/components/form-control/form-label.d.ts +1 -1
  11. package/dist/components/form-control/form-label.d.ts.map +1 -1
  12. package/dist/components/link/link.d.ts +1 -1
  13. package/dist/components/link/link.d.ts.map +1 -1
  14. package/dist/components/menu/menu-box-button.d.ts +4 -1
  15. package/dist/components/menu/menu-box-button.d.ts.map +1 -1
  16. package/dist/components/menu/menu-box-button.js +3 -1
  17. package/dist/components/menu/menu-list.d.ts.map +1 -1
  18. package/dist/components/menu/menu-list.js +4 -4
  19. package/dist/components/menu/menu.js +1 -1
  20. package/dist/components/modal/modal-recipe.d.ts.map +1 -1
  21. package/dist/components/modal/modal-recipe.js +20 -14
  22. package/dist/components/navigation-list/types.d.ts +1 -1
  23. package/dist/components/navigation-list/types.d.ts.map +1 -1
  24. package/dist/components/table/table-content.d.ts.map +1 -1
  25. package/dist/components/table/table-content.js +35 -32
  26. package/dist/components/table/table-header-dropdown.d.ts.map +1 -1
  27. package/dist/components/table/table-header-dropdown.js +29 -28
  28. package/dist/components/table/table-header-row.d.ts.map +1 -1
  29. package/dist/components/table/table-header-row.js +34 -33
  30. package/dist/node_modules/@dnd-kit/dom/index.js +15 -15
  31. package/dist/theme/theme-style-props.d.ts +2 -1
  32. package/dist/theme/theme-style-props.d.ts.map +1 -1
  33. package/package.json +83 -81
package/README.md CHANGED
@@ -1,103 +1,103 @@
1
- # @caspeco/casper-ui-library
2
-
3
- [![NPM Version](https://img.shields.io/npm/v/%40caspeco%2Fcasper-ui-library)](https://www.npmjs.com/package/@caspeco/casper-ui-library)
4
-
5
- Caspeco's UI component library, built on top of [Chakra UI](https://chakra-ui.com/).
6
-
7
- 👉 **The usage documentation can be found at https://caspeco.github.io/casper-ui-library**
8
-
9
- ## Local development
10
-
11
- To build this project you need to have [Node.js](https://nodejs.org/en) installed.
12
-
13
- ### Commands
14
-
15
- All commands are run from the root of the project, from a terminal.
16
-
17
- <!-- prettier-ignore -->
18
- | Command | Description |
19
- | ------- | ----------- |
20
- | `npm install` | Install dependencies. |
21
- | `npm run dev` | Build a local development version of the entire library, compiled into a single .js file for improved HMR. Automatically rebuilds when the file contents change. |
22
- | `npm run build` | Build the library as it will be shipped on npm. Does not automatically rebuild when files change, but you can still use this build output to verify your changes in the documentation website or in another project. |
23
- | `cd ../docs && npm run dev` | Starts the documentation website. Usually you want to run this alongside the library in dev mode, so open a new terminal for this. See [/docs](../docs) for more info. |
24
- | `npm run test` | Run unit tests. |
25
- | `npm run test:visual` | Run visual regression tests using Playwright in Docker. Automatically starts/stops Docker container. |
26
- | `npm run test:visual:ui` | Opens the HTML report viewer for visual test results. |
27
- | `npm run test:visual:update` | Update visual regression baseline screenshots. Run this after intentional UI changes. |
28
- | `npm run lint` | Run linting with [@caspeco/eslint-config](https://github.com/Caspeco/eslint-config). If you use the recommended [ESLint VSCode extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) you can see your eslint errors directly in your editor without having to run this. |
29
- | `npm run prettier:fix` | Reformat all files with [@caspeco/prettier-config](https://github.com/Caspeco/prettier-config). If you use the recommended [Prettier VSCode extension](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) you can have your files automatically formatted on file save. |
30
- | `npm run chakra:types` | Generate Chakra UI type definitions for the theme. Happens automatically on `npm install`. |
31
-
32
- ### Preview locally in another project
33
-
34
- 1. Build local development version (see above).
35
- 2. In the consuming app, run `npm install --no-save ./relative/path/to/this/directory` (no trailing slash).
36
- - For example: `npm install --no-save ../../casper-ui-library/packages/casper-ui-library`
37
-
38
- Now when you make a change in the component library, it should rebuild automatically and the consuming app's HMR should kick in and reload the page (preserving state is not possible as the entire library is rebuilt).
39
-
40
- To unlink again you just need to run `npm install` in the consuming app. If it fails, you may need to delete `node_modules` first.
41
-
42
- If you get an error about duplicate react versions, make sure this is in the `vite.config.ts` in the consuming app:
43
-
44
- ```ts
45
- import path from "node:path";
46
-
47
- export default defineConfig({
48
- // ...
49
- resolve: {
50
- alias: {
51
- react: path.resolve("./node_modules/react"),
52
- },
53
- },
54
- });
55
- ```
56
-
57
- ### Visual Regression Tests
58
-
59
- Visual regression tests catch unintended UI changes by comparing screenshots of component variants to committed baselines in `__screenshots__/`. They run with Playwright in Docker to ensure consistent rendering across different development environments and CI.
60
-
61
- **Requirements**: Docker must be installed and running.
62
-
63
- **Running tests**:
64
-
65
- - `npm run test:visual` - Runs all visual tests
66
- - `npm run test:visual:ui` - Opens the HTML report viewer
67
- - `npm run test:visual:update` - Updates baseline screenshots after intentional UI changes
68
-
69
- > [!TIP]
70
- > CI fails but local passes?
71
- >
72
- > 1. Go to the `visual-tests` job in GitHub Actions
73
- > 2. Download and extract the HTML artifact under the `Upload visual test report` step
74
- > 3. Run `npx vite preview --outDir .` in the extracted directory to see diff report from CI
75
-
76
- You may need to tweak the [pixelmatch comparator options](https://vitest.dev/api/browser/assertions.html#pixelmatch-comparator-options) if you see false positives due to anti-aliasing or sub-pixel rendering differences. See existing tests for examples.
77
-
78
- ## Contributing
79
-
80
- 1. Make sure your repository is up to date.
81
- ```bash
82
- git pull
83
- ```
84
- 2. Create a new branch and make your changes there. Preferrably use a branch name that includes any related Jira issue and some short descriptive name.
85
- ```bash
86
- git checkout -b UTF-837-add-checkbox-component
87
- ```
88
- 3. Make your changes.
89
- 4. Bump the `version` field in `package.json` (following [Semantic versioning](https://semver.org/)) and run `npm install`. The version reflects API changes only (e.g. removing a prop → MAJOR, adding a prop → MINOR, no public API changes → PATCH). UI changes are **NOT** API changes.
90
- 5. Open a [pull request](https://github.com/Caspeco/casper-ui-library/pulls) using the template and assign a reviewer.
91
- 6. If the PR makes significant changes to the UI (e.g. changes the sizes for all buttons), clearly announce this in the [Mattermost channel](https://snack.azure.caspeco.com/default/channels/casper-ui-20---devs).
92
- 7. After approval, merge the PR. If you have a new version in package.json it will automatically publish your changes to npm. The documentation website is always rebuilt.
93
-
94
- ### How to add new icons
95
-
96
- 1. **Export from Figma**
97
- In the [Figma Icons document](https://www.figma.com/file/NE7GL10FbQcEPSL4M0gpNh/Casper-UI-2.0?type=design&node-id=9837-10627&mode=design), choose **File → Export** and export all icons as **SVG**.
98
-
99
- 2. **Update assets**
100
- Clear `lib/components/icon/assets`, then drop in the exported SVGs. Verify changes with `git diff`.
101
-
102
- 3. **Generate components**
103
- From the repository root, run `node scripts/generate-icons.js` to generate React components for each icon.
1
+ # @caspeco/casper-ui-library
2
+
3
+ [![NPM Version](https://img.shields.io/npm/v/%40caspeco%2Fcasper-ui-library)](https://www.npmjs.com/package/@caspeco/casper-ui-library)
4
+
5
+ Caspeco's UI component library, built on top of [Chakra UI](https://chakra-ui.com/).
6
+
7
+ 👉 **The usage documentation can be found at https://caspeco.github.io/casper-ui-library**
8
+
9
+ ## Local development
10
+
11
+ To build this project you need to have [Node.js](https://nodejs.org/en) installed.
12
+
13
+ ### Commands
14
+
15
+ All commands are run from the root of the project, from a terminal.
16
+
17
+ <!-- prettier-ignore -->
18
+ | Command | Description |
19
+ | ------- | ----------- |
20
+ | `npm install` | Install dependencies. |
21
+ | `npm run dev` | Build a local development version of the entire library, compiled into a single .js file for improved HMR. Automatically rebuilds when the file contents change. |
22
+ | `npm run build` | Build the library as it will be shipped on npm. Does not automatically rebuild when files change, but you can still use this build output to verify your changes in the documentation website or in another project. |
23
+ | `cd ../docs && npm run dev` | Starts the documentation website. Usually you want to run this alongside the library in dev mode, so open a new terminal for this. See [/docs](../docs) for more info. |
24
+ | `npm run test` | Run unit tests. |
25
+ | `npm run test:visual` | Run visual regression tests using Playwright in Docker. Automatically starts/stops Docker container. |
26
+ | `npm run test:visual:ui` | Opens the HTML report viewer for visual test results. |
27
+ | `npm run test:visual:update` | Update visual regression baseline screenshots. Run this after intentional UI changes. |
28
+ | `npm run lint` | Run linting with [@caspeco/eslint-config](https://github.com/Caspeco/eslint-config). If you use the recommended [ESLint VSCode extension](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) you can see your eslint errors directly in your editor without having to run this. |
29
+ | `npm run prettier:fix` | Reformat all files with [@caspeco/prettier-config](https://github.com/Caspeco/prettier-config). If you use the recommended [Prettier VSCode extension](https://marketplace.visualstudio.com/items?itemName=esbenp.prettier-vscode) you can have your files automatically formatted on file save. |
30
+ | `npm run chakra:types` | Generate Chakra UI type definitions for the theme. Happens automatically on `npm install`. |
31
+
32
+ ### Preview locally in another project
33
+
34
+ 1. Build local development version (see above).
35
+ 2. In the consuming app, run `npm install --no-save ./relative/path/to/this/directory` (no trailing slash).
36
+ - For example: `npm install --no-save ../../casper-ui-library/packages/casper-ui-library`
37
+
38
+ Now when you make a change in the component library, it should rebuild automatically and the consuming app's HMR should kick in and reload the page (preserving state is not possible as the entire library is rebuilt).
39
+
40
+ To unlink again you just need to run `npm install` in the consuming app. If it fails, you may need to delete `node_modules` first.
41
+
42
+ If you get an error about duplicate react versions, make sure this is in the `vite.config.ts` in the consuming app:
43
+
44
+ ```ts
45
+ import path from "node:path";
46
+
47
+ export default defineConfig({
48
+ // ...
49
+ resolve: {
50
+ alias: {
51
+ react: path.resolve("./node_modules/react"),
52
+ },
53
+ },
54
+ });
55
+ ```
56
+
57
+ ### Visual Regression Tests
58
+
59
+ Visual regression tests catch unintended UI changes by comparing screenshots of component variants to committed baselines in `__screenshots__/`. They run with Playwright in Docker to ensure consistent rendering across different development environments and CI.
60
+
61
+ **Requirements**: Docker must be installed and running.
62
+
63
+ **Running tests**:
64
+
65
+ - `npm run test:visual` - Runs all visual tests
66
+ - `npm run test:visual:ui` - Opens the HTML report viewer
67
+ - `npm run test:visual:update` - Updates baseline screenshots after intentional UI changes
68
+
69
+ > [!TIP]
70
+ > CI fails but local passes?
71
+ >
72
+ > 1. Go to the `visual-tests` job in GitHub Actions
73
+ > 2. Download and extract the HTML artifact under the `Upload visual test report` step
74
+ > 3. Run `npx vite preview --outDir .` in the extracted directory to see diff report from CI
75
+
76
+ You may need to tweak the [pixelmatch comparator options](https://vitest.dev/api/browser/assertions.html#pixelmatch-comparator-options) if you see false positives due to anti-aliasing or sub-pixel rendering differences. See existing tests for examples.
77
+
78
+ ## Contributing
79
+
80
+ 1. Make sure your repository is up to date.
81
+ ```bash
82
+ git pull
83
+ ```
84
+ 2. Create a new branch and make your changes there. Preferrably use a branch name that includes any related Jira issue and some short descriptive name.
85
+ ```bash
86
+ git checkout -b UTF-837-add-checkbox-component
87
+ ```
88
+ 3. Make your changes.
89
+ 4. Bump the `version` field in `package.json` (following [Semantic versioning](https://semver.org/)) and run `npm install`. The version reflects API changes only (e.g. removing a prop → MAJOR, adding a prop → MINOR, no public API changes → PATCH). UI changes are **NOT** API changes.
90
+ 5. Open a [pull request](https://github.com/Caspeco/casper-ui-library/pulls) using the template and assign a reviewer.
91
+ 6. If the PR makes significant changes to the UI (e.g. changes the sizes for all buttons), clearly announce this in the [Mattermost channel](https://snack.azure.caspeco.com/default/channels/casper-ui-20---devs).
92
+ 7. After approval, merge the PR. If you have a new version in package.json it will automatically publish your changes to npm. The documentation website is always rebuilt.
93
+
94
+ ### How to add new icons
95
+
96
+ 1. **Export from Figma**
97
+ In the [Figma Icons document](https://www.figma.com/file/NE7GL10FbQcEPSL4M0gpNh/Casper-UI-2.0?type=design&node-id=9837-10627&mode=design), choose **File → Export** and export all icons as **SVG**.
98
+
99
+ 2. **Update assets**
100
+ Clear `lib/components/icon/assets`, then drop in the exported SVGs. Verify changes with `git diff`.
101
+
102
+ 3. **Generate components**
103
+ From the repository root, run `node scripts/generate-icons.js` to generate React components for each icon.
@@ -1,6 +1,7 @@
1
1
  import { ThemeStyleProps } from '../../theme/index.js';
2
+ import { InteractionProps } from '../../theme/theme-style-props.js';
2
3
  import { BoxProps as ChakraBoxProps } from '@chakra-ui/react';
3
- export type BoxProps = ThemeStyleProps & Pick<ChakraBoxProps, "children" | "as" | "asChild">;
4
+ export type BoxProps = ThemeStyleProps & Pick<ChakraBoxProps, "children" | InteractionProps>;
4
5
  /** @see Docs https://caspeco.github.io/casper-ui-library/components/box */
5
- export declare const Box: import('react').ForwardRefExoticComponent<ThemeStyleProps & Pick<ChakraBoxProps, "children" | "as" | "asChild"> & import('react').RefAttributes<HTMLDivElement>>;
6
+ export declare const Box: import('react').ForwardRefExoticComponent<ThemeStyleProps & Pick<ChakraBoxProps, "children" | InteractionProps> & import('react').RefAttributes<HTMLDivElement>>;
6
7
  //# sourceMappingURL=box.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../../lib/components/box/box.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAoB,KAAK,QAAQ,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGrF,MAAM,MAAM,QAAQ,GAAG,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;AAE7F,2EAA2E;AAC3E,eAAO,MAAM,GAAG,kKAMd,CAAC"}
1
+ {"version":3,"file":"box.d.ts","sourceRoot":"","sources":["../../../lib/components/box/box.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAAoB,KAAK,QAAQ,IAAI,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGrF,MAAM,MAAM,QAAQ,GAAG,eAAe,GAAG,IAAI,CAAC,cAAc,EAAE,UAAU,GAAG,gBAAgB,CAAC,CAAC;AAE7F,2EAA2E;AAC3E,eAAO,MAAM,GAAG,kKAMd,CAAC"}
@@ -1,9 +1,10 @@
1
+ import { ThemeStyleProps } from '../../theme/index.js';
1
2
  import { BreadcrumbLinkProps as ChakraBreadcrumbLinkProps } from '@chakra-ui/react';
2
- type ChakraBreadcrumbLinkProperties = Pick<ChakraBreadcrumbLinkProps, "children" | "as" | "href">;
3
- export type BreadcrumbLinkProps = ChakraBreadcrumbLinkProperties & {
3
+ type ChakraBreadcrumbLinkProperties = Pick<ChakraBreadcrumbLinkProps, "children" | "href">;
4
+ export type BreadcrumbLinkProps = ChakraBreadcrumbLinkProperties & ThemeStyleProps & {
4
5
  to?: string;
5
6
  };
6
- export declare const BreadcrumbLink: import('react').ForwardRefExoticComponent<ChakraBreadcrumbLinkProperties & {
7
+ export declare const BreadcrumbLink: import('react').ForwardRefExoticComponent<ChakraBreadcrumbLinkProperties & ThemeStyleProps & {
7
8
  to?: string;
8
9
  } & import('react').RefAttributes<HTMLAnchorElement>>;
9
10
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb-link.d.ts","sourceRoot":"","sources":["../../../lib/components/breadcrumbs/breadcrumb-link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEN,KAAK,mBAAmB,IAAI,yBAAyB,EACrD,MAAM,kBAAkB,CAAC;AAG1B,KAAK,8BAA8B,GAAG,IAAI,CAAC,yBAAyB,EAAE,UAAU,GAAG,IAAI,GAAG,MAAM,CAAC,CAAC;AAClG,MAAM,MAAM,mBAAmB,GAAG,8BAA8B,GAAG;IAClE,EAAE,CAAC,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,eAAO,MAAM,cAAc;SAHrB,MAAM;qDAiBX,CAAC"}
1
+ {"version":3,"file":"breadcrumb-link.d.ts","sourceRoot":"","sources":["../../../lib/components/breadcrumbs/breadcrumb-link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAEN,KAAK,mBAAmB,IAAI,yBAAyB,EACrD,MAAM,kBAAkB,CAAC;AAG1B,KAAK,8BAA8B,GAAG,IAAI,CAAC,yBAAyB,EAAE,UAAU,GAAG,MAAM,CAAC,CAAC;AAC3F,MAAM,MAAM,mBAAmB,GAAG,8BAA8B,GAC/D,eAAe,GAAG;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;CACZ,CAAC;AAEH,eAAO,MAAM,cAAc;SAHpB,MAAM;qDAiBZ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"combobox-recipe.d.ts","sourceRoot":"","sources":["../../../lib/components/combobox/combobox-recipe.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAkGxE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;EAMzB,CAAC"}
1
+ {"version":3,"file":"combobox-recipe.d.ts","sourceRoot":"","sources":["../../../lib/components/combobox/combobox-recipe.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,KAAK,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAqGxE,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;EAMzB,CAAC"}
@@ -5,6 +5,9 @@ const a = {
5
5
  justifyContent: "space-between",
6
6
  cursor: "text",
7
7
  border: `${r.XSmall} transparent`,
8
+ "& input": {
9
+ background: "none"
10
+ },
8
11
  '&[aria-disabled="true"]': {
9
12
  borderColor: "transparent",
10
13
  cursor: "not-allowed"
@@ -1,6 +1,6 @@
1
1
  import { ThemeStyleProps } from '../../theme/index.js';
2
2
  import { Field as ChakraField } from '@chakra-ui/react';
3
- type ChakraFormControlProperties = Pick<ChakraField.RootProps, "id" | "children" | "as">;
3
+ type ChakraFormControlProperties = Pick<ChakraField.RootProps, "id" | "children">;
4
4
  type CustomProps = {
5
5
  isDisabled?: boolean;
6
6
  isReadOnly?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"form-control.d.ts","sourceRoot":"","sources":["../../../lib/components/form-control/form-control.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAExD,KAAK,2BAA2B,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,GAAG,UAAU,GAAG,IAAI,CAAC,CAAC;AAEzF,KAAK,WAAW,GAAG;IAElB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,2BAA2B,GAAG,eAAe,CAAC;AAE3F;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAC3B,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,GAAG,KAAK,EACR,EAAE,gBAAgB,2CAYlB"}
1
+ {"version":3,"file":"form-control.d.ts","sourceRoot":"","sources":["../../../lib/components/form-control/form-control.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAExD,KAAK,2BAA2B,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,EAAE,IAAI,GAAG,UAAU,CAAC,CAAC;AAElF,KAAK,WAAW,GAAG;IAElB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,WAAW,GAAG,2BAA2B,GAAG,eAAe,CAAC;AAE3F;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAC3B,QAAQ,EACR,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACV,GAAG,KAAK,EACR,EAAE,gBAAgB,2CAYlB"}
@@ -5,7 +5,7 @@ type CustomFormLabelProps = {
5
5
  /** Icon to be displayed left of the label text. Inherits the color of the label text. */
6
6
  icon?: CasperIconComponent;
7
7
  };
8
- export type ChakraFormLabelProperties = Pick<ChakraField.LabelProps, "children" | "as">;
8
+ export type ChakraFormLabelProperties = Pick<ChakraField.LabelProps, "children">;
9
9
  export type FormLabelProps = ChakraFormLabelProperties & ThemeStyleProps & CustomFormLabelProps;
10
10
  /**
11
11
  * Used to enhance the usability of form controls.
@@ -1 +1 @@
1
- {"version":3,"file":"form-label.d.ts","sourceRoot":"","sources":["../../../lib/components/form-control/form-label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAExD,KAAK,oBAAoB,GAAG;IAC3B,yFAAyF;IACzF,IAAI,CAAC,EAAE,mBAAmB,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI,CAAC,CAAC;AAExF,MAAM,MAAM,cAAc,GAAG,yBAAyB,GAAG,eAAe,GAAG,oBAAoB,CAAC;AAEhG;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,2CASrE"}
1
+ {"version":3,"file":"form-label.d.ts","sourceRoot":"","sources":["../../../lib/components/form-control/form-label.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAyB,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAExD,KAAK,oBAAoB,GAAG;IAC3B,yFAAyF;IACzF,IAAI,CAAC,EAAE,mBAAmB,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;AAEjF,MAAM,MAAM,cAAc,GAAG,yBAAyB,GAAG,eAAe,GAAG,oBAAoB,CAAC;AAEhG;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,KAAK,EAAE,EAAE,cAAc,2CASrE"}
@@ -1,6 +1,6 @@
1
1
  import { ThemeStyleProps } from '../../theme/index.js';
2
2
  import { LinkProps as ChakraLinkProps } from '@chakra-ui/react';
3
- export type LinkProps = ThemeStyleProps & Pick<ChakraLinkProps, "children" | "href" | "rel" | "target" | "as" | "asChild" | "download">;
3
+ export type LinkProps = ThemeStyleProps & Pick<ChakraLinkProps, "children" | "href" | "rel" | "target" | "download">;
4
4
  /**
5
5
  * Links are accessible elements used primarily for navigation.
6
6
  * Can be integrated with other routing libraries like React Router and Reach Router
@@ -1 +1 @@
1
- {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../lib/components/link/link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAsB,KAAK,SAAS,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEzF,MAAM,MAAM,SAAS,GAAG,eAAe,GACtC,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,IAAI,GAAG,SAAS,GAAG,UAAU,CAAC,CAAC;AAE/F;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,2CAErD"}
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../../lib/components/link/link.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAsB,KAAK,SAAS,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEzF,MAAM,MAAM,SAAS,GAAG,eAAe,GACtC,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,CAAC,CAAC;AAE5E;;;;;;;GAOG;AACH,wBAAgB,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,2CAErD"}
@@ -1,6 +1,9 @@
1
+ import { BoxProps } from '../box/index.js';
2
+ import { InteractionProps } from '../../theme/theme-style-props.js';
3
+ import { ButtonProps } from '@chakra-ui/react';
1
4
  /**
2
5
  * A Box that acts as a trigger for Menu
3
6
  * @see Docs https://caspeco.github.io/casper-ui-library/components/menu/
4
7
  */
5
- export declare const MenuBoxButton: import('react').ForwardRefExoticComponent<import('../../index.js').ThemeStyleProps & Pick<import('@chakra-ui/react').BoxProps, "children" | "as" | "asChild"> & import('react').RefAttributes<HTMLButtonElement>>;
8
+ export declare const MenuBoxButton: import('react').ForwardRefExoticComponent<Omit<BoxProps, InteractionProps> & Pick<ButtonProps, InteractionProps> & import('react').RefAttributes<HTMLButtonElement>>;
6
9
  //# sourceMappingURL=menu-box-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-box-button.d.ts","sourceRoot":"","sources":["../../../lib/components/menu/menu-box-button.tsx"],"names":[],"mappings":"AAIA;;;GAGG;AACH,eAAO,MAAM,aAAa,0MAQxB,CAAC"}
1
+ {"version":3,"file":"menu-box-button.d.ts","sourceRoot":"","sources":["../../../lib/components/menu/menu-box-button.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAA4C,KAAK,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAK9F;;;GAGG;AACH,eAAO,MAAM,aAAa,sKAUzB,CAAC"}
@@ -1,7 +1,9 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import { MenuTrigger as n, Button as u } from "@chakra-ui/react";
3
3
  import { forwardRef as i } from "react";
4
- const m = i(({ children: t, ...o }, e) => /* @__PURE__ */ r(n, { asChild: !0, children: /* @__PURE__ */ r(u, { ref: e, unstyled: !0, ...o, children: t }) }));
4
+ const m = i(
5
+ ({ children: t, ...o }, e) => /* @__PURE__ */ r(n, { asChild: !0, children: /* @__PURE__ */ r(u, { ref: e, unstyled: !0, ...o, children: t }) })
6
+ );
5
7
  m.displayName = "MenuBoxButton";
6
8
  export {
7
9
  m as MenuBoxButton
@@ -1 +1 @@
1
- {"version":3,"file":"menu-list.d.ts","sourceRoot":"","sources":["../../../lib/components/menu/menu-list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,IAAI,IAAI,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAExF,eAAO,MAAM,QAAQ,GAAI,wBAAwB,aAAa,4CAM7D,CAAC"}
1
+ {"version":3,"file":"menu-list.d.ts","sourceRoot":"","sources":["../../../lib/components/menu/menu-list.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,EAAE,IAAI,IAAI,UAAU,EAAU,MAAM,kBAAkB,CAAC;AAE9D,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,IAAI,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAExF,eAAO,MAAM,QAAQ,GAAI,wBAAwB,aAAa,4CAQ7D,CAAC"}
@@ -1,6 +1,6 @@
1
- import { jsx as o } from "react/jsx-runtime";
2
- import { Menu as r } from "@chakra-ui/react";
3
- const m = ({ children: t, ...n }) => /* @__PURE__ */ o(r.Positioner, { children: /* @__PURE__ */ o(r.Content, { ...n, children: t }) });
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { Portal as e, Menu as o } from "@chakra-ui/react";
3
+ const s = ({ children: t, ...n }) => /* @__PURE__ */ r(e, { children: /* @__PURE__ */ r(o.Positioner, { children: /* @__PURE__ */ r(o.Content, { ...n, children: t }) }) });
4
4
  export {
5
- m as MenuList
5
+ s as MenuList
6
6
  };
@@ -13,7 +13,7 @@ const v = d(function({
13
13
  const m = {
14
14
  placement: i,
15
15
  sameWidth: r,
16
- offset: n ? { mainAxis: n[0], crossAxis: n[1] } : void 0,
16
+ offset: n ? { mainAxis: n[1], crossAxis: n[0] } : void 0,
17
17
  gutter: 0,
18
18
  flip: !1,
19
19
  overflowPadding: 0
@@ -1 +1 @@
1
- {"version":3,"file":"modal-recipe.d.ts","sourceRoot":"","sources":["../../../lib/components/modal/modal-recipe.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAoB,MAAM,kBAAkB,CAAC;AAG/E,eAAO,MAAM,WAAW,EAAE,oBAgIxB,CAAC"}
1
+ {"version":3,"file":"modal-recipe.d.ts","sourceRoot":"","sources":["../../../lib/components/modal/modal-recipe.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,oBAAoB,EAAoB,MAAM,kBAAkB,CAAC;AAG/E,eAAO,MAAM,WAAW,EAAE,oBAsIxB,CAAC"}
@@ -1,10 +1,10 @@
1
- import { buttonRecipe as t } from "../button/button-recipe.js";
2
- import { ThemeColorToken as e, ThemeRadiusToken as o, ThemeFontToken as a, ThemeFontSizeToken as r } from "../../theme/theme-tokens.js";
1
+ import { buttonRecipe as o } from "../button/button-recipe.js";
2
+ import { ThemeColorToken as e, ThemeRadiusToken as n, ThemeFontToken as a, ThemeFontSizeToken as t } from "../../theme/theme-tokens.js";
3
3
  import { defineSlotRecipe as i } from "@chakra-ui/react";
4
- import { dialogAnatomy as n } from "../../node_modules/@chakra-ui/react/dist/esm/anatomy.js";
4
+ import { dialogAnatomy as r } from "../../node_modules/@chakra-ui/react/dist/esm/anatomy.js";
5
5
  const x = i({
6
6
  className: "modal",
7
- slots: n.keys(),
7
+ slots: r.keys(),
8
8
  base: {
9
9
  backdrop: {
10
10
  // Non white label-overridable color based on black, always
@@ -14,17 +14,17 @@ const x = i({
14
14
  display: "block",
15
15
  bg: e.Surface,
16
16
  position: "relative",
17
- fontSize: r.XLarge,
17
+ fontSize: t.XLarge,
18
18
  fontFamily: a.SubHeader,
19
19
  color: e.OnSurfaceHeader,
20
20
  fontWeight: "medium",
21
- borderTopRadius: o.Large,
21
+ borderTopRadius: n.Large,
22
22
  minHeight: "72px",
23
23
  px: 0,
24
24
  py: 0
25
25
  },
26
26
  body: {
27
- borderTopRadius: o.Large,
27
+ borderTopRadius: n.Large,
28
28
  fontFamily: a.Body,
29
29
  px: 0,
30
30
  paddingTop: 0,
@@ -33,7 +33,7 @@ const x = i({
33
33
  content: {
34
34
  maxW: "384px",
35
35
  my: "48px",
36
- borderRadius: o.Large,
36
+ borderRadius: n.Large,
37
37
  bg: e.Surface,
38
38
  color: e.OnSurface
39
39
  },
@@ -41,7 +41,7 @@ const x = i({
41
41
  height: "100dvh"
42
42
  },
43
43
  footer: {
44
- borderBottomRadius: o.Large,
44
+ borderBottomRadius: n.Large,
45
45
  bg: e.Surface,
46
46
  gap: "unset",
47
47
  paddingTop: 0,
@@ -63,8 +63,8 @@ const x = i({
63
63
  right: "unset",
64
64
  top: "unset",
65
65
  alignSelf: "flex-start",
66
- ...t.base,
67
- ...t.variants?.variant?.secondary
66
+ ...o.base,
67
+ ...o.variants?.variant?.secondary
68
68
  }
69
69
  },
70
70
  variants: {
@@ -95,19 +95,25 @@ const x = i({
95
95
  md: {
96
96
  content: {
97
97
  maxW: "560px",
98
- mx: "48px"
98
+ marginInline: "48px",
99
+ marginInlineStart: "48px",
100
+ marginInlineEnd: "48px"
99
101
  }
100
102
  },
101
103
  lg: {
102
104
  content: {
103
105
  maxW: "960px",
104
- mx: "80px"
106
+ marginInline: "80px",
107
+ marginInlineStart: "80px",
108
+ marginInlineEnd: "80px"
105
109
  }
106
110
  },
107
111
  xl: {
108
112
  content: {
109
113
  maxW: "100%",
110
- mx: "80px"
114
+ marginInline: "80px",
115
+ marginInlineStart: "80px",
116
+ marginInlineEnd: "80px"
111
117
  }
112
118
  },
113
119
  full: {
@@ -13,7 +13,7 @@ type To = {
13
13
  * Link from routing libraries like React Router, Reach Router and Next.js. Use instead of href. */
14
14
  to?: string;
15
15
  };
16
- export type NavigationLinkProps = NavigationItemProps & To & Pick<ChakraLinkProps, "as" | "asChild" | "href" | "target" | "rel" | "children">;
16
+ export type NavigationLinkProps = NavigationItemProps & To & Pick<ChakraLinkProps, "href" | "target" | "rel" | "children">;
17
17
  export type NavigationButtonProps = NavigationItemProps & Pick<ChakraButtonProps, "onClick" | "children">;
18
18
  export {};
19
19
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/components/navigation-list/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,KAAK,mBAAmB,GAAG;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,eAAe,CAAC;AAEpB,MAAM,MAAM,mBAAmB,GAAG;IACjC,QAAQ,EAAE,SAAS,CAAC;CACpB,GAAG,eAAe,CAAC;AAEpB,KAAK,EAAE,GAAG;IACT;uGACmG;IACnG,EAAE,CAAC,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,GACpD,EAAE,GACF,IAAI,CAAC,eAAe,EAAE,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC;AAElF,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../lib/components/navigation-list/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC/C,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,SAAS,IAAI,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACvG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,KAAK,mBAAmB,GAAG;IAC1B,QAAQ,EAAE,SAAS,CAAC;IACpB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,eAAe,CAAC;AAEpB,MAAM,MAAM,mBAAmB,GAAG;IACjC,QAAQ,EAAE,SAAS,CAAC;CACpB,GAAG,eAAe,CAAC;AAEpB,KAAK,EAAE,GAAG;IACT;uGACmG;IACnG,EAAE,CAAC,EAAE,MAAM,CAAC;CACZ,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,mBAAmB,GACpD,EAAE,GACF,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,QAAQ,GAAG,KAAK,GAAG,UAAU,CAAC,CAAC;AAE/D,MAAM,MAAM,qBAAqB,GAAG,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,EAAE,SAAS,GAAG,UAAU,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"table-content.d.ts","sourceRoot":"","sources":["../../../lib/components/table/table-content.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAS/C,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnE,UAAU,qBAAqB;IAC9B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS;IACrE;;OAEG;IACH,UAAU,CAAC,EAAE,CACZ,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,EACxB,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,KACnF,IAAI,CAAC;IAEV;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC;;OAEG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACzD;AAED,KAAK,sBAAsB,CAAC,KAAK,SAAS,SAAS,IAAI,iBAAiB,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC;AAElG,QAAA,MAAM,iBAAiB,GAAI,KAAK,SAAS,SAAS,EAAE,8BAGjD,sBAAsB,CAAC,KAAK,CAAC,4CAM/B,CAAC;AA4MF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAA8B,OAAO,iBAAiB,CAAC"}
1
+ {"version":3,"file":"table-content.d.ts","sourceRoot":"","sources":["../../../lib/components/table/table-content.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAS/C,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,SAAS,CAAC;AAEnE,UAAU,qBAAqB;IAC9B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,iBAAiB,CAAC,KAAK,SAAS,SAAS,GAAG,SAAS;IACrE;;OAEG;IACH,UAAU,CAAC,EAAE,CACZ,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,EACxB,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,mBAAmB,CAAC,GAAG,KAAK,CAAC,aAAa,CAAC,mBAAmB,CAAC,KACnF,IAAI,CAAC;IAEV;;OAEG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;OAEG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC;;OAEG;IACH,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;CACzD;AAED,KAAK,sBAAsB,CAAC,KAAK,SAAS,SAAS,IAAI,iBAAiB,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC;AAElG,QAAA,MAAM,iBAAiB,GAAI,KAAK,SAAS,SAAS,EAAE,8BAGjD,sBAAsB,CAAC,KAAK,CAAC,4CAM/B,CAAC;AA+MF;;;;GAIG;AACH,eAAO,MAAM,YAAY,EAA8B,OAAO,iBAAiB,CAAC"}