@shortfuse/materialdesignweb 0.9.3 → 0.10.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.
Files changed (53) hide show
  1. package/README.md +51 -37
  2. package/api/README.md +5 -0
  3. package/api/css.css-data.json +23 -0
  4. package/api/custom-elements.json +116343 -0
  5. package/api/html.html-data.json +2994 -0
  6. package/bin/mdw-css.js +8 -8
  7. package/components/BottomSheet.js +2 -2
  8. package/components/Box.js +2 -2
  9. package/components/NavItem.js +4 -1
  10. package/components/Page.js +3 -0
  11. package/components/Pane.js +0 -2
  12. package/components/SideSheet.js +2 -2
  13. package/components/Surface.js +2 -2
  14. package/core/Composition.js +57 -16
  15. package/core/CompositionAdapter.js +55 -12
  16. package/core/CustomElement.js +177 -34
  17. package/core/customTypes.js +66 -0
  18. package/core/jsonMergePatch.js +203 -20
  19. package/core/observe.js +256 -10
  20. package/dist/CustomElement.min.js +1 -1
  21. package/dist/CustomElement.min.js.map +3 -3
  22. package/dist/index.min.js +171 -158
  23. package/dist/index.min.js.map +4 -4
  24. package/dist/meta.json +1 -1
  25. package/loaders/theme.js +4 -1
  26. package/mixins/{FlexableMixin.js → FlexboxMixin.js} +5 -3
  27. package/package.json +32 -10
  28. package/services/theme.js +115 -97
  29. package/types/components/NavBarItem.d.ts +1 -0
  30. package/types/components/NavDrawerItem.d.ts +1 -0
  31. package/types/components/NavItem.d.ts +1 -0
  32. package/types/components/NavItem.d.ts.map +1 -1
  33. package/types/components/NavRailItem.d.ts +1 -0
  34. package/types/components/Page.d.ts.map +1 -1
  35. package/types/core/Composition.d.ts +5 -1
  36. package/types/core/Composition.d.ts.map +1 -1
  37. package/types/core/CompositionAdapter.d.ts +0 -25
  38. package/types/core/CompositionAdapter.d.ts.map +1 -1
  39. package/types/core/CustomElement.d.ts +122 -19
  40. package/types/core/CustomElement.d.ts.map +1 -1
  41. package/types/core/customTypes.d.ts +8 -0
  42. package/types/core/customTypes.d.ts.map +1 -1
  43. package/types/core/jsonMergePatch.d.ts +58 -4
  44. package/types/core/jsonMergePatch.d.ts.map +1 -1
  45. package/types/core/observe.d.ts +21 -2
  46. package/types/core/observe.d.ts.map +1 -1
  47. package/types/index.d.ts +1 -1
  48. package/types/mixins/FlexboxMixin.d.ts +14 -0
  49. package/types/mixins/FlexboxMixin.d.ts.map +1 -0
  50. package/types/services/theme.d.ts +6 -0
  51. package/types/services/theme.d.ts.map +1 -1
  52. package/types/mixins/FlexableMixin.d.ts +0 -14
  53. package/types/mixins/FlexableMixin.d.ts.map +0 -1
package/dist/meta.json CHANGED
@@ -1 +1 @@
1
- {"inputs":{"core/optimizations.js":{"bytes":597,"imports":[],"format":"esm"},"core/CompositionAdapter.js":{"bytes":9660,"imports":[{"path":"core/optimizations.js","kind":"import-statement","original":"./optimizations.js"}],"format":"esm"},"core/css.js":{"bytes":4807,"imports":[],"format":"esm"},"core/dom.js":{"bytes":2583,"imports":[],"format":"esm"},"core/jsonMergePatch.js":{"bytes":3901,"imports":[],"format":"esm"},"core/observe.js":{"bytes":13341,"imports":[{"path":"core/dom.js","kind":"import-statement","original":"./dom.js"},{"path":"core/jsonMergePatch.js","kind":"import-statement","original":"./jsonMergePatch.js"}],"format":"esm"},"core/uid.js":{"bytes":475,"imports":[],"format":"esm"},"core/template.js":{"bytes":3062,"imports":[{"path":"core/uid.js","kind":"import-statement","original":"./uid.js"}],"format":"esm"},"core/Composition.js":{"bytes":45317,"imports":[{"path":"core/CompositionAdapter.js","kind":"import-statement","original":"./CompositionAdapter.js"},{"path":"core/css.js","kind":"import-statement","original":"./css.js"},{"path":"core/observe.js","kind":"import-statement","original":"./observe.js"},{"path":"core/optimizations.js","kind":"import-statement","original":"./optimizations.js"},{"path":"core/template.js","kind":"import-statement","original":"./template.js"},{"path":"core/uid.js","kind":"import-statement","original":"./uid.js"}],"format":"esm"},"core/CustomElement.js":{"bytes":38833,"imports":[{"path":"core/Composition.js","kind":"import-statement","original":"./Composition.js"},{"path":"core/css.js","kind":"import-statement","original":"./css.js"},{"path":"core/dom.js","kind":"import-statement","original":"./dom.js"},{"path":"core/jsonMergePatch.js","kind":"import-statement","original":"./jsonMergePatch.js"},{"path":"core/observe.js","kind":"import-statement","original":"./observe.js"},{"path":"core/template.js","kind":"import-statement","original":"./template.js"}],"format":"esm"}},"outputs":{"dist/CustomElement.min.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":174150},"dist/CustomElement.min.js":{"imports":[],"exports":["cloneAttributeCallback","default"],"entryPoint":"core/CustomElement.js","inputs":{"core/optimizations.js":{"bytesInOutput":108},"core/CompositionAdapter.js":{"bytesInOutput":2522},"core/css.js":{"bytesInOutput":1031},"core/dom.js":{"bytesInOutput":586},"core/jsonMergePatch.js":{"bytesInOutput":1011},"core/observe.js":{"bytesInOutput":3341},"core/uid.js":{"bytesInOutput":131},"core/template.js":{"bytesInOutput":723},"core/Composition.js":{"bytesInOutput":12418},"core/CustomElement.js":{"bytesInOutput":8967}},"bytes":30935}}}
1
+ {"inputs":{"core/optimizations.js":{"bytes":597,"imports":[],"format":"esm"},"core/CompositionAdapter.js":{"bytes":10868,"imports":[{"path":"core/optimizations.js","kind":"import-statement","original":"./optimizations.js"}],"format":"esm"},"core/css.js":{"bytes":4807,"imports":[],"format":"esm"},"core/dom.js":{"bytes":2583,"imports":[],"format":"esm"},"core/jsonMergePatch.js":{"bytes":9129,"imports":[],"format":"esm"},"core/observe.js":{"bytes":20743,"imports":[{"path":"core/dom.js","kind":"import-statement","original":"./dom.js"},{"path":"core/jsonMergePatch.js","kind":"import-statement","original":"./jsonMergePatch.js"}],"format":"esm"},"core/uid.js":{"bytes":475,"imports":[],"format":"esm"},"core/template.js":{"bytes":3062,"imports":[{"path":"core/uid.js","kind":"import-statement","original":"./uid.js"}],"format":"esm"},"core/Composition.js":{"bytes":47177,"imports":[{"path":"core/CompositionAdapter.js","kind":"import-statement","original":"./CompositionAdapter.js"},{"path":"core/css.js","kind":"import-statement","original":"./css.js"},{"path":"core/observe.js","kind":"import-statement","original":"./observe.js"},{"path":"core/optimizations.js","kind":"import-statement","original":"./optimizations.js"},{"path":"core/template.js","kind":"import-statement","original":"./template.js"},{"path":"core/uid.js","kind":"import-statement","original":"./uid.js"}],"format":"esm"},"core/CustomElement.js":{"bytes":43089,"imports":[{"path":"core/Composition.js","kind":"import-statement","original":"./Composition.js"},{"path":"core/css.js","kind":"import-statement","original":"./css.js"},{"path":"core/dom.js","kind":"import-statement","original":"./dom.js"},{"path":"core/jsonMergePatch.js","kind":"import-statement","original":"./jsonMergePatch.js"},{"path":"core/observe.js","kind":"import-statement","original":"./observe.js"},{"path":"core/template.js","kind":"import-statement","original":"./template.js"}],"format":"esm"}},"outputs":{"dist/CustomElement.min.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":204290},"dist/CustomElement.min.js":{"imports":[],"exports":["cloneAttributeCallback","default"],"entryPoint":"core/CustomElement.js","inputs":{"core/optimizations.js":{"bytesInOutput":108},"core/CompositionAdapter.js":{"bytesInOutput":2966},"core/css.js":{"bytesInOutput":1043},"core/dom.js":{"bytesInOutput":586},"core/jsonMergePatch.js":{"bytesInOutput":2335},"core/observe.js":{"bytesInOutput":5589},"core/uid.js":{"bytesInOutput":131},"core/template.js":{"bytesInOutput":723},"core/Composition.js":{"bytesInOutput":12901},"core/CustomElement.js":{"bytesInOutput":9970}},"bytes":36449}}}
package/loaders/theme.js CHANGED
@@ -1,12 +1,15 @@
1
1
  import { addGlobalCss } from '../core/css.js';
2
2
  import {
3
+ generateResetCSS,
3
4
  generateThemeCSS,
4
5
  generateTypographyGlobalCSS,
5
6
  themeOptionsFromSearchParams,
6
7
  } from '../services/theme.js';
7
8
  import { getCurrentSearchParams } from '../utils/searchParams.js';
8
9
 
10
+ const options = themeOptionsFromSearchParams(getCurrentSearchParams());
9
11
  addGlobalCss([
10
- generateThemeCSS(themeOptionsFromSearchParams(getCurrentSearchParams())),
12
+ generateThemeCSS(options),
11
13
  generateTypographyGlobalCSS(),
14
+ options.resetCSS ? generateResetCSS() : '',
12
15
  ].join('\n'));
@@ -1,8 +1,8 @@
1
1
  /**
2
- * Layout helper mixin providing flexible box utilities (gap, padding, axis).
2
+ * Layout helper mixin providing flexbox utilities (gap, padding, axis).
3
3
  * @param {typeof import('../core/CustomElement.js').default} Base
4
4
  */
5
- export default function FlexableMixin(Base) {
5
+ export default function FlexboxMixin(Base) {
6
6
  return Base
7
7
  .observe({
8
8
  /** Set `display: block` on the host (boolean) */
@@ -130,7 +130,7 @@ export default function FlexableMixin(Base) {
130
130
  :host(:is([gap="24"])) {gap: 24px;}
131
131
 
132
132
  :host(:is([padding])) {padding: 0;}
133
- :host(:is([padding="pane"])) { padding-inline: var(--mdw-pane__padding-inline, 0) }
133
+ :host(:is([padding="pane"])) { padding: var(--mdw-pane__padding, 16px) }
134
134
  :host(:is([padding="4"])) {padding: 4px;}
135
135
  :host(:is([padding="8"])) {padding: 8px;}
136
136
  :host(:is([padding="12"])) {padding: 12px;}
@@ -138,6 +138,7 @@ export default function FlexableMixin(Base) {
138
138
  :host(:is([padding="20"])) {padding: 20px;}
139
139
  :host(:is([padding="24"])) {padding: 24px;}
140
140
  :host(:is([padding-x])) {padding-inline: 0;}
141
+ :host(:is([padding-x="pane"])) {padding-inline: var(--mdw-pane__padding-inline, 16px);}
141
142
  :host(:is([padding-x="4"])) {padding-inline: 4px;}
142
143
  :host(:is([padding-x="8"])) {padding-inline: 8px;}
143
144
  :host(:is([padding-x="12"])) {padding-inline: 12px;}
@@ -145,6 +146,7 @@ export default function FlexableMixin(Base) {
145
146
  :host(:is([padding-x="20"])) {padding-inline: 20px;}
146
147
  :host(:is([padding-x="24"])) {padding-inline: 24px;}
147
148
  :host(:is([padding-y])) {padding-block: 0;}
149
+ :host(:is([padding-y="pane"])) {padding-block: var(--mdw-pane__padding-block, 16px);}
148
150
  :host(:is([padding-y="4"])) {padding-block: 4px;}
149
151
  :host(:is([padding-y="8"])) {padding-block: 8px;}
150
152
  :host(:is([padding-y="12"])) {padding-block: 12px;}
package/package.json CHANGED
@@ -7,12 +7,13 @@
7
7
  "bugs": {
8
8
  "url": "https://github.com/clshortfuse/materialdesignweb/issues"
9
9
  },
10
- "customElements": "docs/custom-elements.json",
10
+ "customElements": "api/custom-elements.json",
11
11
  "description": "Material Design for Web",
12
12
  "devDependencies": {
13
13
  "@babel/preset-env": "^7.26.9",
14
14
  "@esm-bundle/chai": "^4.3.4-fix.0",
15
15
  "@playwright/test": "^1.50.1",
16
+ "@pwrs/cem": "^0.7.5",
16
17
  "@rollup/plugin-babel": "^6.0.4",
17
18
  "@rollup/plugin-node-resolve": "^15.3.1",
18
19
  "@rollup/plugin-terser": "^0.4.4",
@@ -31,9 +32,10 @@
31
32
  "ajv": "^8.17.1",
32
33
  "browserslist-to-esbuild": "^2.1.1",
33
34
  "clean-css": "^5.3.3",
35
+ "custom-element-vs-code-integration": "^1.5.0",
34
36
  "custom-elements-manifest": "^2.1.0",
35
37
  "element-internals-polyfill": "^1.3.13",
36
- "esbuild": "^0.25.12",
38
+ "esbuild": "^0.27.2",
37
39
  "esbuild-postcss": "^0.0.4",
38
40
  "eslint": "^8.57.1",
39
41
  "eslint-config-airbnb-base": "^15.0.0",
@@ -65,6 +67,7 @@
65
67
  "./utils/*": "./utils/*"
66
68
  },
67
69
  "files": [
70
+ "/api",
68
71
  "/bin",
69
72
  "/dist",
70
73
  "/constants",
@@ -98,20 +101,27 @@
98
101
  "url": "git+https://github.com/clshortfuse/materialdesignweb.git"
99
102
  },
100
103
  "scripts": {
101
- "cem": "node scripts/cem-generate.js",
102
- "demo": "node build/esbuild.js demo/demo.js --outdir=demo --minify --metafile",
104
+ "cem": "node scripts/cem-generate.js && node scripts/cem-vscode.js",
103
105
  "demo:rollup": "rollup -c build/rollup.config.js demo/demo.js --dir=demo --compact",
104
106
  "build:index": "node build/esbuild.js index.js --outdir=dist --minify --metafile --production --format=iife",
107
+ "build:demo:css": "node bin/mdw-css.js --custom=yellow,orange:orange,green:0f0,alias:aqua | npx esbuild --minify --loader=css > demo/theme.css",
108
+ "build:demo:css-alt": "node bin/mdw-css.js --color=a46750 --custom=yellow,orange:orange,green:0f0,alias:aqua | npx esbuild --minify --loader=css > demo/alt-theme.css",
109
+ "build:demo:js": "node build/esbuild.js demo/demo.js --outdir=demo --minify --metafile",
110
+ "build:demo": "npm run build:demo:css && npm run build:demo:css-alt && npm run build:demo:js",
105
111
  "build:custom-element": "node build/esbuild.js core/CustomElement.js --outdir=dist --minify --metafile --production --format=esm",
106
- "dist": "npm run build:index && npm run build:custom-element",
107
- "predemo": "node bin/mdw-css.js --custom=yellow,orange:orange,green:0f0,alias:aqua | npx esbuild --minify --loader=css > demo/theme.css",
108
- "predemo-alt": "node bin/mdw-css.js --color=a46750 --custom=yellow,orange:orange,green:0f0,alias:aqua | npx esbuild --minify --loader=css > demo/alt-theme.css",
109
- "prepublishOnly": "npm run types && npm run cem && npm run dist",
110
- "pretest": "eslint --ignore-path .gitignore",
112
+ "build": "npm run build:index && npm run build:custom-element",
113
+ "demo": "npm run build:demo",
114
+ "dist": "npm run build",
115
+ "api": "npm run cem",
116
+ "prepublishOnly": "npm run types && npm run api && npm run dist",
117
+ "eslint": "eslint core components mixins --ignore-path .gitignore --ext .js",
118
+ "lint": "npm run eslint && tsc --noEmit",
119
+ "pretest": "npm run eslint && npm run build:index",
111
120
  "preversion": "npm run prepublishOnly",
112
121
  "serve": "node build/esbuild.js demo/demo.js --outdir=demo --metafile --serve --live --tree-shaking=true",
113
122
  "serve:rollup": "rollup -c build/rollup.config.js demo/demo.js --dir=demo --watch --environment SERVE",
114
123
  "test": "web-test-runner \"test/**/*.test.js\" --node-resolve --playwright --browsers chromium firefox webkit --concurrency 1",
124
+ "test:cem": "npx @pwrs/cem validate",
115
125
  "test:custom": "web-test-runner \"test/**/*.test.js\" --node-resolve --concurrency 1",
116
126
  "test:chromium": "web-test-runner \"test/**/*.test.js\" --node-resolve --playwright --browsers chromium",
117
127
  "test:firefox": "web-test-runner \"test/**/*.test.js\" --node-resolve --playwright --browsers firefox --concurrency 1",
@@ -133,6 +143,18 @@
133
143
  "./demo/demo/*.js",
134
144
  "./demo/polyfills/*.js"
135
145
  ],
146
+ "contributes": {
147
+ "html": {
148
+ "customData": [
149
+ "./api/html.html-data.json"
150
+ ]
151
+ },
152
+ "css": {
153
+ "customData": [
154
+ "./api/css.css-data.json"
155
+ ]
156
+ }
157
+ },
136
158
  "type": "module",
137
159
  "typesVersions": {
138
160
  "*": {
@@ -141,5 +163,5 @@
141
163
  ]
142
164
  }
143
165
  },
144
- "version": "0.9.3"
166
+ "version": "0.10.0"
145
167
  }
package/services/theme.js CHANGED
@@ -25,6 +25,7 @@ export const TYPE_STYLES = [
25
25
  * @prop {string} [color]
26
26
  * @prop {Iterable<[string,string?]>} [custom] Map()
27
27
  * @prop {'auto'|'light'|'dark'} [lightness='auto']
28
+ * @prop {boolean} [resetCSS=true] defaults to true
28
29
  * @return {string}
29
30
  */
30
31
 
@@ -95,102 +96,102 @@ function getShapeEdgesSVGs() {
95
96
  */
96
97
  export function generateTypographyCSS(config = TYPOGRAPHY_DEFAULT) {
97
98
  return /* css */ `
98
- :root {
99
- --mdw-typeface__brand: ${config.face.brand};
100
- --mdw-typeface__weight-regular: ${config.face.weight.regular};
101
- --mdw-typeface__weight-medium: ${config.face.weight.medium};
102
- --mdw-typeface__plain: ${config.face.plain};
103
-
104
- --mdw-typescale__display-large__font-family: ${config.scale.display.large.fontFamily};
105
- --mdw-typescale__display-large__line-height: calc(${config.scale.display.large.lineHeight} * 0.0625rem);
106
- --mdw-typescale__display-large__font-size: calc(${config.scale.display.large.fontSize} * 0.0625rem);
107
- --mdw-typescale__display-large__letter-spacing: calc(${config.scale.display.large.letterSpacing} * 0.0625rem);
108
- --mdw-typescale__display-large__font-weight: ${config.scale.display.large.weight};
109
-
110
- --mdw-typescale__display-medium__font-family: ${config.scale.display.medium.fontFamily};
111
- --mdw-typescale__display-medium__line-height: calc(${config.scale.display.medium.lineHeight} * 0.0625rem);
112
- --mdw-typescale__display-medium__font-size: calc(${config.scale.display.medium.fontSize} * 0.0625rem);
113
- --mdw-typescale__display-medium__letter-spacing: calc(${config.scale.display.medium.letterSpacing} * 0.0625rem);
114
- --mdw-typescale__display-medium__font-weight: ${config.scale.display.medium.weight};
115
-
116
- --mdw-typescale__display-small__font-family: ${config.scale.display.small.fontFamily};
117
- --mdw-typescale__display-small__line-height: calc(${config.scale.display.small.lineHeight} * 0.0625rem);
118
- --mdw-typescale__display-small__font-size: calc(${config.scale.display.small.fontSize} * 0.0625rem);
119
- --mdw-typescale__display-small__letter-spacing: calc(${config.scale.display.small.letterSpacing} * 0.0625rem);
120
- --mdw-typescale__display-small__font-weight: ${config.scale.display.small.weight};
121
-
122
- --mdw-typescale__headline-large__font-family: ${config.scale.headline.large.fontFamily};
123
- --mdw-typescale__headline-large__line-height: calc(${config.scale.headline.large.lineHeight} * 0.0625rem);
124
- --mdw-typescale__headline-large__font-size: calc(${config.scale.headline.large.fontSize} * 0.0625rem);
125
- --mdw-typescale__headline-large__letter-spacing: calc(${config.scale.headline.large.letterSpacing} * 0.0625rem);
126
- --mdw-typescale__headline-large__font-weight: ${config.scale.headline.large.weight};
127
-
128
- --mdw-typescale__headline-medium__font-family: ${config.scale.headline.medium.fontFamily};
129
- --mdw-typescale__headline-medium__line-height: calc(${config.scale.headline.medium.lineHeight} * 0.0625rem);
130
- --mdw-typescale__headline-medium__font-size: calc(${config.scale.headline.medium.fontSize} * 0.0625rem);
131
- --mdw-typescale__headline-medium__letter-spacing: calc(${config.scale.headline.medium.letterSpacing} * 0.0625rem);
132
- --mdw-typescale__headline-medium__font-weight: ${config.scale.headline.medium.weight};
133
-
134
- --mdw-typescale__headline-small__font-family: ${config.scale.headline.small.fontFamily};
135
- --mdw-typescale__headline-small__line-height: calc(${config.scale.headline.small.lineHeight} * 0.0625rem);
136
- --mdw-typescale__headline-small__font-size: calc(${config.scale.headline.small.fontSize} * 0.0625rem);
137
- --mdw-typescale__headline-small__letter-spacing: calc(${config.scale.headline.small.letterSpacing} * 0.0625rem);
138
- --mdw-typescale__headline-small__font-weight: ${config.scale.headline.small.weight};
139
-
140
- --mdw-typescale__title-large__font-family: ${config.scale.title.large.fontFamily};
141
- --mdw-typescale__title-large__line-height: calc(${config.scale.title.large.lineHeight} * 0.0625rem);
142
- --mdw-typescale__title-large__font-size: calc(${config.scale.title.large.fontSize} * 0.0625rem);
143
- --mdw-typescale__title-large__letter-spacing: calc(${config.scale.title.large.letterSpacing} * 0.0625rem);
144
- --mdw-typescale__title-large__font-weight: ${config.scale.title.large.weight};
145
-
146
- --mdw-typescale__title-medium__font-family: ${config.scale.title.medium.fontFamily};
147
- --mdw-typescale__title-medium__line-height: calc(${config.scale.title.medium.lineHeight} * 0.0625rem);
148
- --mdw-typescale__title-medium__font-size: calc(${config.scale.title.medium.fontSize} * 0.0625rem);
149
- --mdw-typescale__title-medium__letter-spacing: calc(${config.scale.title.medium.letterSpacing} * 0.0625rem);
150
- --mdw-typescale__title-medium__font-weight: ${config.scale.title.medium.weight};
151
-
152
- --mdw-typescale__title-small__font-family: ${config.scale.title.small.fontFamily};
153
- --mdw-typescale__title-small__line-height: calc(${config.scale.title.small.lineHeight} * 0.0625rem);
154
- --mdw-typescale__title-small__font-size: calc(${config.scale.title.small.fontSize} * 0.0625rem);
155
- --mdw-typescale__title-small__letter-spacing: calc(${config.scale.title.small.letterSpacing} * 0.0625rem);
156
- --mdw-typescale__title-small__font-weight: ${config.scale.title.small.weight};
157
-
158
- --mdw-typescale__label-large__font-family: ${config.scale.label.large.fontFamily};
159
- --mdw-typescale__label-large__line-height: calc(${config.scale.label.large.lineHeight} * 0.0625rem);
160
- --mdw-typescale__label-large__font-size: calc(${config.scale.label.large.fontSize} * 0.0625rem);
161
- --mdw-typescale__label-large__letter-spacing: calc(${config.scale.label.large.letterSpacing} * 0.0625rem);
162
- --mdw-typescale__label-large__font-weight: ${config.scale.label.large.weight};
163
-
164
- --mdw-typescale__label-medium__font-family: ${config.scale.label.medium.fontFamily};
165
- --mdw-typescale__label-medium__line-height: calc(${config.scale.label.medium.lineHeight} * 0.0625rem);
166
- --mdw-typescale__label-medium__font-size: calc(${config.scale.label.medium.fontSize} * 0.0625rem);
167
- --mdw-typescale__label-medium__letter-spacing: calc(${config.scale.label.medium.letterSpacing} * 0.0625rem);
168
- --mdw-typescale__label-medium__font-weight: ${config.scale.label.medium.weight};
169
-
170
- --mdw-typescale__label-small__font-family: ${config.scale.label.small.fontFamily};
171
- --mdw-typescale__label-small__line-height: calc(${config.scale.label.small.lineHeight} * 0.0625rem);
172
- --mdw-typescale__label-small__font-size: calc(${config.scale.label.small.fontSize} * 0.0625rem);
173
- --mdw-typescale__label-small__letter-spacing: calc(${config.scale.label.small.letterSpacing} * 0.0625rem);
174
- --mdw-typescale__label-small__font-weight: ${config.scale.label.small.weight};
175
-
176
- --mdw-typescale__body-large__font-family: ${config.scale.body.large.fontFamily};
177
- --mdw-typescale__body-large__line-height: calc(${config.scale.body.large.lineHeight} * 0.0625rem);
178
- --mdw-typescale__body-large__font-size: calc(${config.scale.body.large.fontSize} * 0.0625rem);
179
- --mdw-typescale__body-large__letter-spacing: calc(${config.scale.body.large.letterSpacing} * 0.0625rem);
180
- --mdw-typescale__body-large__font-weight: ${config.scale.body.large.weight};
181
-
182
- --mdw-typescale__body-medium__font-family: ${config.scale.body.medium.fontFamily};
183
- --mdw-typescale__body-medium__line-height: calc(${config.scale.body.medium.lineHeight} * 0.0625rem);
184
- --mdw-typescale__body-medium__font-size: calc(${config.scale.body.medium.fontSize} * 0.0625rem);
185
- --mdw-typescale__body-medium__letter-spacing: calc(${config.scale.body.medium.letterSpacing} * 0.0625rem);
186
- --mdw-typescale__body-medium__font-weight: ${config.scale.body.medium.weight};
187
-
188
- --mdw-typescale__body-small__font-family: ${config.scale.body.small.fontFamily};
189
- --mdw-typescale__body-small__line-height: calc(${config.scale.body.small.lineHeight} * 0.0625rem);
190
- --mdw-typescale__body-small__font-size: calc(${config.scale.body.small.fontSize} * 0.0625rem);
191
- --mdw-typescale__body-small__letter-spacing: calc(${config.scale.body.small.letterSpacing} * 0.0625rem);
192
- --mdw-typescale__body-small__font-weight: ${config.scale.body.small.weight};
193
- }`;
99
+ :root {
100
+ --mdw-typeface__brand: ${config.face.brand};
101
+ --mdw-typeface__weight-regular: ${config.face.weight.regular};
102
+ --mdw-typeface__weight-medium: ${config.face.weight.medium};
103
+ --mdw-typeface__plain: ${config.face.plain};
104
+
105
+ --mdw-typescale__display-large__font-family: ${config.scale.display.large.fontFamily};
106
+ --mdw-typescale__display-large__line-height: calc(${config.scale.display.large.lineHeight} * 0.0625rem);
107
+ --mdw-typescale__display-large__font-size: calc(${config.scale.display.large.fontSize} * 0.0625rem);
108
+ --mdw-typescale__display-large__letter-spacing: calc(${config.scale.display.large.letterSpacing} * 0.0625rem);
109
+ --mdw-typescale__display-large__font-weight: ${config.scale.display.large.weight};
110
+
111
+ --mdw-typescale__display-medium__font-family: ${config.scale.display.medium.fontFamily};
112
+ --mdw-typescale__display-medium__line-height: calc(${config.scale.display.medium.lineHeight} * 0.0625rem);
113
+ --mdw-typescale__display-medium__font-size: calc(${config.scale.display.medium.fontSize} * 0.0625rem);
114
+ --mdw-typescale__display-medium__letter-spacing: calc(${config.scale.display.medium.letterSpacing} * 0.0625rem);
115
+ --mdw-typescale__display-medium__font-weight: ${config.scale.display.medium.weight};
116
+
117
+ --mdw-typescale__display-small__font-family: ${config.scale.display.small.fontFamily};
118
+ --mdw-typescale__display-small__line-height: calc(${config.scale.display.small.lineHeight} * 0.0625rem);
119
+ --mdw-typescale__display-small__font-size: calc(${config.scale.display.small.fontSize} * 0.0625rem);
120
+ --mdw-typescale__display-small__letter-spacing: calc(${config.scale.display.small.letterSpacing} * 0.0625rem);
121
+ --mdw-typescale__display-small__font-weight: ${config.scale.display.small.weight};
122
+
123
+ --mdw-typescale__headline-large__font-family: ${config.scale.headline.large.fontFamily};
124
+ --mdw-typescale__headline-large__line-height: calc(${config.scale.headline.large.lineHeight} * 0.0625rem);
125
+ --mdw-typescale__headline-large__font-size: calc(${config.scale.headline.large.fontSize} * 0.0625rem);
126
+ --mdw-typescale__headline-large__letter-spacing: calc(${config.scale.headline.large.letterSpacing} * 0.0625rem);
127
+ --mdw-typescale__headline-large__font-weight: ${config.scale.headline.large.weight};
128
+
129
+ --mdw-typescale__headline-medium__font-family: ${config.scale.headline.medium.fontFamily};
130
+ --mdw-typescale__headline-medium__line-height: calc(${config.scale.headline.medium.lineHeight} * 0.0625rem);
131
+ --mdw-typescale__headline-medium__font-size: calc(${config.scale.headline.medium.fontSize} * 0.0625rem);
132
+ --mdw-typescale__headline-medium__letter-spacing: calc(${config.scale.headline.medium.letterSpacing} * 0.0625rem);
133
+ --mdw-typescale__headline-medium__font-weight: ${config.scale.headline.medium.weight};
134
+
135
+ --mdw-typescale__headline-small__font-family: ${config.scale.headline.small.fontFamily};
136
+ --mdw-typescale__headline-small__line-height: calc(${config.scale.headline.small.lineHeight} * 0.0625rem);
137
+ --mdw-typescale__headline-small__font-size: calc(${config.scale.headline.small.fontSize} * 0.0625rem);
138
+ --mdw-typescale__headline-small__letter-spacing: calc(${config.scale.headline.small.letterSpacing} * 0.0625rem);
139
+ --mdw-typescale__headline-small__font-weight: ${config.scale.headline.small.weight};
140
+
141
+ --mdw-typescale__title-large__font-family: ${config.scale.title.large.fontFamily};
142
+ --mdw-typescale__title-large__line-height: calc(${config.scale.title.large.lineHeight} * 0.0625rem);
143
+ --mdw-typescale__title-large__font-size: calc(${config.scale.title.large.fontSize} * 0.0625rem);
144
+ --mdw-typescale__title-large__letter-spacing: calc(${config.scale.title.large.letterSpacing} * 0.0625rem);
145
+ --mdw-typescale__title-large__font-weight: ${config.scale.title.large.weight};
146
+
147
+ --mdw-typescale__title-medium__font-family: ${config.scale.title.medium.fontFamily};
148
+ --mdw-typescale__title-medium__line-height: calc(${config.scale.title.medium.lineHeight} * 0.0625rem);
149
+ --mdw-typescale__title-medium__font-size: calc(${config.scale.title.medium.fontSize} * 0.0625rem);
150
+ --mdw-typescale__title-medium__letter-spacing: calc(${config.scale.title.medium.letterSpacing} * 0.0625rem);
151
+ --mdw-typescale__title-medium__font-weight: ${config.scale.title.medium.weight};
152
+
153
+ --mdw-typescale__title-small__font-family: ${config.scale.title.small.fontFamily};
154
+ --mdw-typescale__title-small__line-height: calc(${config.scale.title.small.lineHeight} * 0.0625rem);
155
+ --mdw-typescale__title-small__font-size: calc(${config.scale.title.small.fontSize} * 0.0625rem);
156
+ --mdw-typescale__title-small__letter-spacing: calc(${config.scale.title.small.letterSpacing} * 0.0625rem);
157
+ --mdw-typescale__title-small__font-weight: ${config.scale.title.small.weight};
158
+
159
+ --mdw-typescale__label-large__font-family: ${config.scale.label.large.fontFamily};
160
+ --mdw-typescale__label-large__line-height: calc(${config.scale.label.large.lineHeight} * 0.0625rem);
161
+ --mdw-typescale__label-large__font-size: calc(${config.scale.label.large.fontSize} * 0.0625rem);
162
+ --mdw-typescale__label-large__letter-spacing: calc(${config.scale.label.large.letterSpacing} * 0.0625rem);
163
+ --mdw-typescale__label-large__font-weight: ${config.scale.label.large.weight};
164
+
165
+ --mdw-typescale__label-medium__font-family: ${config.scale.label.medium.fontFamily};
166
+ --mdw-typescale__label-medium__line-height: calc(${config.scale.label.medium.lineHeight} * 0.0625rem);
167
+ --mdw-typescale__label-medium__font-size: calc(${config.scale.label.medium.fontSize} * 0.0625rem);
168
+ --mdw-typescale__label-medium__letter-spacing: calc(${config.scale.label.medium.letterSpacing} * 0.0625rem);
169
+ --mdw-typescale__label-medium__font-weight: ${config.scale.label.medium.weight};
170
+
171
+ --mdw-typescale__label-small__font-family: ${config.scale.label.small.fontFamily};
172
+ --mdw-typescale__label-small__line-height: calc(${config.scale.label.small.lineHeight} * 0.0625rem);
173
+ --mdw-typescale__label-small__font-size: calc(${config.scale.label.small.fontSize} * 0.0625rem);
174
+ --mdw-typescale__label-small__letter-spacing: calc(${config.scale.label.small.letterSpacing} * 0.0625rem);
175
+ --mdw-typescale__label-small__font-weight: ${config.scale.label.small.weight};
176
+
177
+ --mdw-typescale__body-large__font-family: ${config.scale.body.large.fontFamily};
178
+ --mdw-typescale__body-large__line-height: calc(${config.scale.body.large.lineHeight} * 0.0625rem);
179
+ --mdw-typescale__body-large__font-size: calc(${config.scale.body.large.fontSize} * 0.0625rem);
180
+ --mdw-typescale__body-large__letter-spacing: calc(${config.scale.body.large.letterSpacing} * 0.0625rem);
181
+ --mdw-typescale__body-large__font-weight: ${config.scale.body.large.weight};
182
+
183
+ --mdw-typescale__body-medium__font-family: ${config.scale.body.medium.fontFamily};
184
+ --mdw-typescale__body-medium__line-height: calc(${config.scale.body.medium.lineHeight} * 0.0625rem);
185
+ --mdw-typescale__body-medium__font-size: calc(${config.scale.body.medium.fontSize} * 0.0625rem);
186
+ --mdw-typescale__body-medium__letter-spacing: calc(${config.scale.body.medium.letterSpacing} * 0.0625rem);
187
+ --mdw-typescale__body-medium__font-weight: ${config.scale.body.medium.weight};
188
+
189
+ --mdw-typescale__body-small__font-family: ${config.scale.body.small.fontFamily};
190
+ --mdw-typescale__body-small__line-height: calc(${config.scale.body.small.lineHeight} * 0.0625rem);
191
+ --mdw-typescale__body-small__font-size: calc(${config.scale.body.small.fontSize} * 0.0625rem);
192
+ --mdw-typescale__body-small__letter-spacing: calc(${config.scale.body.small.letterSpacing} * 0.0625rem);
193
+ --mdw-typescale__body-small__font-weight: ${config.scale.body.small.weight};
194
+ }`;
194
195
  }
195
196
 
196
197
  /** @return {string} */
@@ -208,6 +209,21 @@ export function generateTypographyGlobalCSS() {
208
209
  .join('\n')}}`;
209
210
  }
210
211
 
212
+ /** @return {string} */
213
+ export function generateResetCSS() {
214
+ return /* css */ `
215
+ html{
216
+ background-color:rgb(var(--mdw-color__background));
217
+ color:rgb(var(--mdw-color__on-background));
218
+ }
219
+ html,body{
220
+ font:var(--mdw-typescale__body-large__font);
221
+ letter-spacing:var(--mdw-typescale__body-large__letter-spacing);
222
+ margin:0;
223
+ padding:0;
224
+ }`;
225
+ }
226
+
211
227
  /**
212
228
  * @param {typeof SHAPE_ROUNDED_DEFAULT} [config]
213
229
  * @return {string}
@@ -293,7 +309,9 @@ export function themeOptionsFromSearchParams(searchParams) {
293
309
  .map((c) => c.split(':')) ?? []);
294
310
 
295
311
  const lightness = /** @type {ThemeOptions['lightness']} */(searchParams?.get('lightness') ?? 'auto');
296
- return { color, custom, lightness };
312
+ const resetCSSParam = searchParams?.get('resetCSS') ?? searchParams?.get('resetCss');
313
+ const resetCSS = resetCSSParam !== 'false';
314
+ return { color, custom, lightness, resetCSS };
297
315
  }
298
316
 
299
317
  /**
@@ -92,6 +92,7 @@ declare const _default: typeof import("../index.js").CustomElement & import("../
92
92
  _anchorAriaLabelledby: never;
93
93
  _anchorHref: never;
94
94
  iconVariation: () => string;
95
+ _customRippleState: never;
95
96
  }, any[]>;
96
97
  export default _default;
97
98
  //# sourceMappingURL=NavBarItem.d.ts.map
@@ -92,6 +92,7 @@ declare const _default: typeof import("../index.js").CustomElement & import("../
92
92
  _anchorAriaLabelledby: never;
93
93
  _anchorHref: never;
94
94
  iconVariation: () => string;
95
+ _customRippleState: never;
95
96
  }, any[]>;
96
97
  export default _default;
97
98
  //# sourceMappingURL=NavDrawerItem.d.ts.map
@@ -92,6 +92,7 @@ declare const _default: typeof CustomElement & import("../core/CustomElement.js"
92
92
  _anchorAriaLabelledby: never;
93
93
  _anchorHref: never;
94
94
  iconVariation: () => string;
95
+ _customRippleState: never;
95
96
  }, any[]>;
96
97
  export default _default;
97
98
  export type DeprecatedHTMLAnchorElementProperties = "charset" | "coords" | "name" | "shape";
@@ -1 +1 @@
1
- {"version":3,"file":"NavItem.d.ts","sourceRoot":"","sources":["../../components/NavItem.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDAYc,SAAS,GAAC,QAAQ,GAAC,MAAM,GAAC,OAAO;0BAPrB,0BAA0B"}
1
+ {"version":3,"file":"NavItem.d.ts","sourceRoot":"","sources":["../../components/NavItem.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oDAYc,SAAS,GAAC,QAAQ,GAAC,MAAM,GAAC,OAAO;0BAPrB,0BAA0B"}
@@ -92,6 +92,7 @@ declare const _default: typeof import("../index.js").CustomElement & import("../
92
92
  _anchorAriaLabelledby: never;
93
93
  _anchorHref: never;
94
94
  iconVariation: () => string;
95
+ _customRippleState: never;
95
96
  }, any[]>;
96
97
  export default _default;
97
98
  //# sourceMappingURL=NavRailItem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../components/Page.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;IAiHI,oFAAoF;;;;0BA/G9D,0BAA0B"}
1
+ {"version":3,"file":"Page.d.ts","sourceRoot":"","sources":["../../components/Page.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;IAoHI,oFAAoF;;;;0BAlH9D,0BAA0B"}
@@ -17,6 +17,7 @@ export default class Composition<T> {
17
17
  searchIndex: number;
18
18
  cacheIndex: number;
19
19
  commentIndex: number;
20
+ adapterIndex: number;
20
21
  /** @type {this['nodesToBind'][0]} */
21
22
  nodeEntry: this["nodesToBind"][0];
22
23
  };
@@ -156,6 +157,7 @@ export type RenderOptions<T> = {
156
157
  */
157
158
  context?: any;
158
159
  injections?: any;
160
+ iterationIndex?: number;
159
161
  };
160
162
  export type RenderDraw<T> = {
161
163
  target: Element | DocumentFragment;
@@ -229,6 +231,7 @@ export type RenderGraphAction = {
229
231
  defaultValue?: any;
230
232
  search: RenderGraphSearch;
231
233
  injections?: InterpolateOptions["injections"];
234
+ adapterIndex?: number;
232
235
  };
233
236
  export type InterpolateOptions = {
234
237
  /**
@@ -247,7 +250,7 @@ export type InterpolateOptions = {
247
250
  export type InitializationState = {
248
251
  lastElement: Element;
249
252
  lastChildNode: ChildNode;
250
- nodes: (Element | Text)[];
253
+ nodes: (ChildNode)[];
251
254
  caches: any[];
252
255
  comments: Comment[];
253
256
  nodeStates: Uint8Array;
@@ -255,6 +258,7 @@ export type InitializationState = {
255
258
  refs: HTMLElement[];
256
259
  lastChildNodeIndex: number;
257
260
  options: RenderOptions<unknown>;
261
+ adapters: CompositionAdapter<any>[][];
258
262
  };
259
263
  import CompositionAdapter from './CompositionAdapter.js';
260
264
  //# sourceMappingURL=Composition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Composition.d.ts","sourceRoot":"","sources":["../../core/Composition.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Composition.d.ts","sourceRoot":"","sources":["../../core/Composition.js"],"names":[],"mappings":"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"}
@@ -1,28 +1,3 @@
1
- /**
2
- * @template T
3
- * @typedef {import('./Composition.js').default<T>} Composition
4
- */
5
- /**
6
- * @template T
7
- * @typedef {import('./Composition.js').RenderOptions<T>} RenderOptions
8
- */
9
- /**
10
- * @template T
11
- * @typedef {Object} DomAdapterCreateOptions
12
- * @prop {Comment} anchorNode
13
- * @prop {(...args:any[]) => HTMLElement} [create]
14
- * @prop {Composition<T>} composition
15
- * @prop {RenderOptions<T>} renderOptions
16
- */
17
- /**
18
- * @typedef {Object} ItemMetadata
19
- * @prop {Element} element
20
- * @prop {any} key
21
- * @prop {Element|Comment} domNode
22
- * @prop {Function} render
23
- * @prop {boolean} [hidden]
24
- * @prop {Comment} [comment]
25
- */
26
1
  /** @template T */
27
2
  export default class CompositionAdapter<T> {
28
3
  /** @param {DomAdapterCreateOptions<T>} options */
@@ -1 +1 @@
1
- {"version":3,"file":"CompositionAdapter.d.ts","sourceRoot":"","sources":["../../core/CompositionAdapter.js"],"names":[],"mappings":"AAEA;;;GAGG;AAEH;;;GAGG;AAEH;;;;;;;GAOG;AAEH;;;;;;;;GAQG;AAEH,kBAAkB;AAClB,wCADc,CAAC;IAEb,kDAAkD;IAClD,qBADY,uBAAuB,CAAC,CAAC,CAAC,EAmCrC;IAjCC,oBAAoC;IAEpC,6BAA6B;IAC7B,UADW,YAAY,EAAE,CACP;IAClB;;;;;;OAMG;IACH,MAFU,GAAG,EAAE,CAED;IAEd;;OAEG;IACH,+BAAkC;IAElC,6BAA6B;IAC7B,aADW,WAAW,CAAC,CAAC,CAAC,CACa;IACtC,+BAA+B;IAC/B,eADW,aAAa,CAAC,CAAC,CAAC,CACe;IAE1C,qCAAqC;IACrC,eADW,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CACR;IAEzB,wBAAwB;IACxB,gBADW,OAAO,EAAE,CACI;IAExB,0BAA0B;IAC1B,iBADW,MAAM,GAAC,IAAI,CACK;IAC3B,0BAA0B;IAC1B,eADW,MAAM,GAAC,IAAI,CACG;IAG3B;;;;OAIG;IACH,gBAJW,OAAO,CAAC,CAAC,CAAC,QACV,CAAC,GACA,OAAO,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAC,CAInD;IAED,mBAGC;IAED,mBAMC;IAED,kBAYC;IAED,4BAA4B;IAC5B,qBADY,MAAM,QAajB;IAED;;;;;;;;;;;OAWG;IACH,qBAVW,MAAM,WACN,GAAC,QACD,GAAC,OACD,GAAC,UACD,GAAC,gBACD,OAAO,QAuIjB;IAhGK,4BAA+B;IAkGrC,yCAOC;IAED;;;;;OAKG;IACH,aALW,MAAM,aACN,YAAY,QACZ,GAAG,GACF,OAAO,CAyBlB;IAED;;;;;OAKG;IACH,aALW,MAAM,aACN,YAAY,QACZ,GAAG,GACF,OAAO,CAqBlB;CACF;wBAxUY,CAAC,IACD,OAAO,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;0BAIrC,CAAC,IACD,OAAO,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC;oCAI3C,CAAC;gBAEJ,OAAO;aACP,CAAC,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,WAAW;iBAC9B,WAAW,CAAC,CAAC,CAAC;mBACd,aAAa,CAAC,CAAC,CAAC;;;aAKhB,OAAO;SACP,GAAG;aACH,OAAO,GAAC,OAAO;;aAEf,OAAO;cACP,OAAO"}
1
+ {"version":3,"file":"CompositionAdapter.d.ts","sourceRoot":"","sources":["../../core/CompositionAdapter.js"],"names":[],"mappings":"AA+DA,kBAAkB;AAClB,wCADc,CAAC;IAEb,kDAAkD;IAClD,qBADY,uBAAuB,CAAC,CAAC,CAAC,EAmCrC;IAjCC,oBAAoC;IAEpC,6BAA6B;IAC7B,UADW,YAAY,EAAE,CACP;IAClB;;;;;;OAMG;IACH,MAFU,GAAG,EAAE,CAED;IAEd;;OAEG;IACH,+BAAkC;IAElC,6BAA6B;IAC7B,aADW,WAAW,CAAC,CAAC,CAAC,CACa;IACtC,+BAA+B;IAC/B,eADW,aAAa,CAAC,CAAC,CAAC,CACe;IAE1C,qCAAqC;IACrC,eADW,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CACR;IAEzB,wBAAwB;IACxB,gBADW,OAAO,EAAE,CACI;IAExB,0BAA0B;IAC1B,iBADW,MAAM,GAAC,IAAI,CACK;IAC3B,0BAA0B;IAC1B,eADW,MAAM,GAAC,IAAI,CACG;IAG3B;;;;OAIG;IACH,gBAJW,OAAO,CAAC,CAAC,CAAC,QACV,CAAC,GACA,OAAO,kBAAkB,EAAE,UAAU,CAAC,CAAC,CAAC,CAInD;IAED,mBAGC;IAED,mBAMC;IAED,kBAYC;IAED,4BAA4B;IAC5B,qBADY,MAAM,QAajB;IAED;;;;;;;;;;;OAWG;IACH,qBAVW,MAAM,WACN,GAAC,QACD,GAAC,OACD,GAAC,UACD,GAAC,gBACD,OAAO,QAgJjB;IAzGK,4BAA+B;IA2GrC,yCASC;IAED;;;;;OAKG;IACH,aALW,MAAM,aACN,YAAY,QACZ,GAAG,GACF,OAAO,CAyBlB;IAED;;;;;OAKG;IACH,aALW,MAAM,aACN,YAAY,QACZ,GAAG,GACF,OAAO,CAqBlB;CACF;wBAnXY,CAAC,IACD,OAAO,kBAAkB,EAAE,OAAO,CAAC,CAAC,CAAC;0BAIrC,CAAC,IACD,OAAO,kBAAkB,EAAE,aAAa,CAAC,CAAC,CAAC;oCAI3C,CAAC;gBAEJ,OAAO;aACP,CAAC,GAAG,IAAI,EAAC,GAAG,EAAE,KAAK,WAAW;iBAC9B,WAAW,CAAC,CAAC,CAAC;mBACd,aAAa,CAAC,CAAC,CAAC;;;aAKhB,OAAO;SACP,GAAG;aACH,OAAO,GAAC,OAAO;;aAEf,OAAO;cACP,OAAO"}