@spectrum-web-components/theme 0.10.3-express.0 → 0.11.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 (75) hide show
  1. package/README.md +4 -6
  2. package/core.d.ts +1 -0
  3. package/core.js +15 -0
  4. package/core.js.map +1 -0
  5. package/custom-elements.json +29 -11
  6. package/express/scale-large.d.ts +1 -1
  7. package/express/scale-large.js +1 -0
  8. package/express/scale-large.js.map +1 -1
  9. package/express/scale-medium.d.ts +1 -1
  10. package/express/scale-medium.js +1 -0
  11. package/express/scale-medium.js.map +1 -1
  12. package/express/theme-dark.d.ts +1 -1
  13. package/express/theme-dark.js +1 -0
  14. package/express/theme-dark.js.map +1 -1
  15. package/express/theme-darkest.d.ts +1 -0
  16. package/express/theme-darkest.js +16 -0
  17. package/express/theme-darkest.js.map +1 -0
  18. package/express/theme-light.d.ts +1 -1
  19. package/express/theme-light.js +1 -0
  20. package/express/theme-light.js.map +1 -1
  21. package/express/theme-lightest.d.ts +1 -0
  22. package/express/theme-lightest.js +16 -0
  23. package/express/theme-lightest.js.map +1 -0
  24. package/package.json +7 -5
  25. package/scale-large.d.ts +1 -1
  26. package/scale-large.js +1 -0
  27. package/scale-large.js.map +1 -1
  28. package/scale-medium.d.ts +1 -1
  29. package/scale-medium.js +1 -0
  30. package/scale-medium.js.map +1 -1
  31. package/src/Theme.js +0 -2
  32. package/src/Theme.js.map +1 -1
  33. package/src/express/scale-large.css.js +6 -6
  34. package/src/express/scale-large.css.js.map +1 -1
  35. package/src/express/scale-medium.css.js +7 -5
  36. package/src/express/scale-medium.css.js.map +1 -1
  37. package/src/express/theme-dark.css.js +3 -3
  38. package/src/express/theme-dark.css.js.map +1 -1
  39. package/src/express/theme-light.css.js +4 -4
  40. package/src/express/theme-light.css.js.map +1 -1
  41. package/src/express/theme.css.js +92 -36
  42. package/src/express/theme.css.js.map +1 -1
  43. package/src/express/themes.d.ts +2 -1
  44. package/src/express/themes.js +2 -1
  45. package/src/express/themes.js.map +1 -1
  46. package/src/scale-large.css.js +1 -1
  47. package/src/scale-large.css.js.map +1 -1
  48. package/src/scale-medium.css.js +1 -1
  49. package/src/scale-medium.css.js.map +1 -1
  50. package/src/theme-dark.css.js +5 -5
  51. package/src/theme-dark.css.js.map +1 -1
  52. package/src/theme-darkest.css.js +5 -5
  53. package/src/theme-darkest.css.js.map +1 -1
  54. package/src/theme-light.css.js +6 -6
  55. package/src/theme-light.css.js.map +1 -1
  56. package/src/theme-lightest.css.js +5 -5
  57. package/src/theme-lightest.css.js.map +1 -1
  58. package/src/theme.css.js +19 -19
  59. package/src/theme.css.js.map +1 -1
  60. package/src/typography.css.js +2 -2
  61. package/src/typography.css.js.map +1 -1
  62. package/stories/theme.stories.js +27 -6
  63. package/stories/theme.stories.js.map +1 -1
  64. package/theme-dark.d.ts +1 -1
  65. package/theme-dark.js +1 -0
  66. package/theme-dark.js.map +1 -1
  67. package/theme-darkest.d.ts +1 -1
  68. package/theme-darkest.js +1 -0
  69. package/theme-darkest.js.map +1 -1
  70. package/theme-light.d.ts +1 -1
  71. package/theme-light.js +1 -0
  72. package/theme-light.js.map +1 -1
  73. package/theme-lightest.d.ts +1 -1
  74. package/theme-lightest.js +1 -0
  75. package/theme-lightest.js.map +1 -1
@@ -1 +1 @@
1
- export {};
1
+ import '../src/express/core.js';
@@ -11,5 +11,6 @@ governing permissions and limitations under the License.
11
11
  */
12
12
  import largeStyles from '../src/express/scale-large.css.js';
13
13
  import { Theme } from '../src/Theme.js';
14
+ import '../src/express/core.js';
14
15
  Theme.registerThemeFragment('large-express', 'scale', largeStyles);
15
16
  //# sourceMappingURL=scale-large.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scale-large.js","sourceRoot":"","sources":["scale-large.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,WAAW,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,KAAK,CAAC,qBAAqB,CAAC,eAAe,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport largeStyles from '../src/express/scale-large.css.js';\nimport { Theme } from '../src/Theme.js';\n\nTheme.registerThemeFragment('large-express', 'scale', largeStyles);\n"]}
1
+ {"version":3,"file":"scale-large.js","sourceRoot":"","sources":["scale-large.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,WAAW,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,wBAAwB,CAAC;AAEhC,KAAK,CAAC,qBAAqB,CAAC,eAAe,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport largeStyles from '../src/express/scale-large.css.js';\nimport { Theme } from '../src/Theme.js';\nimport '../src/express/core.js';\n\nTheme.registerThemeFragment('large-express', 'scale', largeStyles);\n"]}
@@ -1 +1 @@
1
- export {};
1
+ import '../src/express/core.js';
@@ -11,5 +11,6 @@ governing permissions and limitations under the License.
11
11
  */
12
12
  import mediumStyles from '../src/express/scale-medium.css.js';
13
13
  import { Theme } from '../src/Theme.js';
14
+ import '../src/express/core.js';
14
15
  Theme.registerThemeFragment('medium-express', 'scale', mediumStyles);
15
16
  //# sourceMappingURL=scale-medium.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scale-medium.js","sourceRoot":"","sources":["scale-medium.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,YAAY,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,KAAK,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport mediumStyles from '../src/express/scale-medium.css.js';\nimport { Theme } from '../src/Theme.js';\n\nTheme.registerThemeFragment('medium-express', 'scale', mediumStyles);\n"]}
1
+ {"version":3,"file":"scale-medium.js","sourceRoot":"","sources":["scale-medium.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,YAAY,MAAM,oCAAoC,CAAC;AAC9D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,wBAAwB,CAAC;AAEhC,KAAK,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport mediumStyles from '../src/express/scale-medium.css.js';\nimport { Theme } from '../src/Theme.js';\nimport '../src/express/core.js';\n\nTheme.registerThemeFragment('medium-express', 'scale', mediumStyles);\n"]}
@@ -1 +1 @@
1
- export {};
1
+ import '../src/express/core.js';
@@ -11,5 +11,6 @@ governing permissions and limitations under the License.
11
11
  */
12
12
  import darkStyles from '../src/express/theme-dark.css.js';
13
13
  import { Theme } from '../src/Theme.js';
14
+ import '../src/express/core.js';
14
15
  Theme.registerThemeFragment('dark-express', 'color', darkStyles);
15
16
  //# sourceMappingURL=theme-dark.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-dark.js","sourceRoot":"","sources":["theme-dark.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,KAAK,CAAC,qBAAqB,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport darkStyles from '../src/express/theme-dark.css.js';\nimport { Theme } from '../src/Theme.js';\n\nTheme.registerThemeFragment('dark-express', 'color', darkStyles);\n"]}
1
+ {"version":3,"file":"theme-dark.js","sourceRoot":"","sources":["theme-dark.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,wBAAwB,CAAC;AAEhC,KAAK,CAAC,qBAAqB,CAAC,cAAc,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport darkStyles from '../src/express/theme-dark.css.js';\nimport { Theme } from '../src/Theme.js';\nimport '../src/express/core.js';\n\nTheme.registerThemeFragment('dark-express', 'color', darkStyles);\n"]}
@@ -0,0 +1 @@
1
+ import '../src/express/core.js';
@@ -0,0 +1,16 @@
1
+ /*
2
+ Copyright 2020 Adobe. All rights reserved.
3
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License. You may obtain a copy
5
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ Unless required by applicable law or agreed to in writing, software distributed under
8
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ OF ANY KIND, either express or implied. See the License for the specific language
10
+ governing permissions and limitations under the License.
11
+ */
12
+ import darkStyles from '../src/express/theme-dark.css.js';
13
+ import { Theme } from '../src/Theme.js';
14
+ import '../src/express/core.js';
15
+ Theme.registerThemeFragment('darkest-express', 'color', darkStyles);
16
+ //# sourceMappingURL=theme-darkest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-darkest.js","sourceRoot":"","sources":["theme-darkest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,UAAU,MAAM,kCAAkC,CAAC;AAC1D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,wBAAwB,CAAC;AAEhC,KAAK,CAAC,qBAAqB,CAAC,iBAAiB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport darkStyles from '../src/express/theme-dark.css.js';\nimport { Theme } from '../src/Theme.js';\nimport '../src/express/core.js';\n\nTheme.registerThemeFragment('darkest-express', 'color', darkStyles);\n"]}
@@ -1 +1 @@
1
- export {};
1
+ import '../src/express/core.js';
@@ -11,5 +11,6 @@ governing permissions and limitations under the License.
11
11
  */
12
12
  import lightStyles from '../src/express/theme-light.css.js';
13
13
  import { Theme } from '../src/Theme.js';
14
+ import '../src/express/core.js';
14
15
  Theme.registerThemeFragment('light-express', 'color', lightStyles);
15
16
  //# sourceMappingURL=theme-light.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"theme-light.js","sourceRoot":"","sources":["theme-light.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,WAAW,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,KAAK,CAAC,qBAAqB,CAAC,eAAe,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport lightStyles from '../src/express/theme-light.css.js';\nimport { Theme } from '../src/Theme.js';\n\nTheme.registerThemeFragment('light-express', 'color', lightStyles);\n"]}
1
+ {"version":3,"file":"theme-light.js","sourceRoot":"","sources":["theme-light.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,WAAW,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,wBAAwB,CAAC;AAEhC,KAAK,CAAC,qBAAqB,CAAC,eAAe,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport lightStyles from '../src/express/theme-light.css.js';\nimport { Theme } from '../src/Theme.js';\nimport '../src/express/core.js';\n\nTheme.registerThemeFragment('light-express', 'color', lightStyles);\n"]}
@@ -0,0 +1 @@
1
+ import '../src/express/core.js';
@@ -0,0 +1,16 @@
1
+ /*
2
+ Copyright 2020 Adobe. All rights reserved.
3
+ This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
+ you may not use this file except in compliance with the License. You may obtain a copy
5
+ of the License at http://www.apache.org/licenses/LICENSE-2.0
6
+
7
+ Unless required by applicable law or agreed to in writing, software distributed under
8
+ the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9
+ OF ANY KIND, either express or implied. See the License for the specific language
10
+ governing permissions and limitations under the License.
11
+ */
12
+ import lightStyles from '../src/express/theme-light.css.js';
13
+ import { Theme } from '../src/Theme.js';
14
+ import '../src/express/core.js';
15
+ Theme.registerThemeFragment('lightest-express', 'color', lightStyles);
16
+ //# sourceMappingURL=theme-lightest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme-lightest.js","sourceRoot":"","sources":["theme-lightest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,WAAW,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,wBAAwB,CAAC;AAEhC,KAAK,CAAC,qBAAqB,CAAC,kBAAkB,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport lightStyles from '../src/express/theme-light.css.js';\nimport { Theme } from '../src/Theme.js';\nimport '../src/express/core.js';\n\nTheme.registerThemeFragment('lightest-express', 'color', lightStyles);\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@spectrum-web-components/theme",
3
- "version": "0.10.3-express.0+781feb2fe",
3
+ "version": "0.11.1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -25,6 +25,8 @@
25
25
  "./express/*": "./express/*",
26
26
  "./src/express/*": "./src/express/*",
27
27
  "./package.json": "./package.json",
28
+ "./core": "./core.js",
29
+ "./core.js": "./core.js",
28
30
  "./sp-theme": "./sp-theme.js",
29
31
  "./sp-theme.js": "./sp-theme.js",
30
32
  "./scale-medium": "./scale-medium.js",
@@ -58,22 +60,22 @@
58
60
  "lit-html"
59
61
  ],
60
62
  "dependencies": {
61
- "@spectrum-web-components/base": "^0.5.4",
62
- "@spectrum-web-components/styles": "^0.12.3-express.0+781feb2fe",
63
+ "@spectrum-web-components/base": "^0.5.6",
64
+ "@spectrum-web-components/styles": "^0.13.1",
63
65
  "tslib": "^2.0.0"
64
66
  },
65
67
  "types": "./src/index.d.ts",
66
68
  "customElements": "custom-elements.json",
67
69
  "sideEffects": [
68
70
  "./sp-*.js",
71
+ "./core.js",
69
72
  "./theme-*.js",
70
73
  "./scale-*.js",
71
74
  "./express/theme-*.js",
72
- "./express/theme-*.ts",
73
75
  "./express/scale-*.js",
74
76
  "./src/themes.js",
75
77
  "./src/express/core.js",
76
78
  "./src/express/themes.js"
77
79
  ],
78
- "gitHead": "781feb2fe1053c2861a9b768a86e403b1ab30581"
80
+ "gitHead": "32e049a0da090ffc1a54cfe3234be4d5efc73339"
79
81
  }
package/scale-large.d.ts CHANGED
@@ -1 +1 @@
1
- export {};
1
+ import './core.js';
package/scale-large.js CHANGED
@@ -11,5 +11,6 @@ governing permissions and limitations under the License.
11
11
  */
12
12
  import largeStyles from './src/scale-large.css.js';
13
13
  import { Theme } from './src/Theme.js';
14
+ import './core.js';
14
15
  Theme.registerThemeFragment('large', 'scale', largeStyles);
15
16
  //# sourceMappingURL=scale-large.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scale-large.js","sourceRoot":"","sources":["scale-large.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,KAAK,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport largeStyles from './src/scale-large.css.js';\nimport { Theme } from './src/Theme.js';\n\nTheme.registerThemeFragment('large', 'scale', largeStyles);\n"]}
1
+ {"version":3,"file":"scale-large.js","sourceRoot":"","sources":["scale-large.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,WAAW,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,WAAW,CAAC;AAEnB,KAAK,CAAC,qBAAqB,CAAC,OAAO,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport largeStyles from './src/scale-large.css.js';\nimport { Theme } from './src/Theme.js';\nimport './core.js';\n\nTheme.registerThemeFragment('large', 'scale', largeStyles);\n"]}
package/scale-medium.d.ts CHANGED
@@ -1 +1 @@
1
- export {};
1
+ import './core.js';
package/scale-medium.js CHANGED
@@ -11,5 +11,6 @@ governing permissions and limitations under the License.
11
11
  */
12
12
  import mediumStyles from './src/scale-medium.css.js';
13
13
  import { Theme } from './src/Theme.js';
14
+ import './core.js';
14
15
  Theme.registerThemeFragment('medium', 'scale', mediumStyles);
15
16
  //# sourceMappingURL=scale-medium.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scale-medium.js","sourceRoot":"","sources":["scale-medium.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,KAAK,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport mediumStyles from './src/scale-medium.css.js';\nimport { Theme } from './src/Theme.js';\n\nTheme.registerThemeFragment('medium', 'scale', mediumStyles);\n"]}
1
+ {"version":3,"file":"scale-medium.js","sourceRoot":"","sources":["scale-medium.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,WAAW,CAAC;AAEnB,KAAK,CAAC,qBAAqB,CAAC,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport mediumStyles from './src/scale-medium.css.js';\nimport { Theme } from './src/Theme.js';\nimport './core.js';\n\nTheme.registerThemeFragment('medium', 'scale', mediumStyles);\n"]}
package/src/Theme.js CHANGED
@@ -10,7 +10,6 @@ OF ANY KIND, either express or implied. See the License for the specific languag
10
10
  governing permissions and limitations under the License.
11
11
  */
12
12
  import { supportsAdoptingStyleSheets, } from '@spectrum-web-components/base';
13
- import coreStyles from './theme.css.js';
14
13
  const ThemeVariantValues = ['spectrum', 'express'];
15
14
  const ScaleValues = ['medium', 'large', 'medium-express', 'large-express'];
16
15
  const ColorValues = [
@@ -331,5 +330,4 @@ export class Theme extends HTMLElement {
331
330
  Theme.themeFragmentsByKind = new Map();
332
331
  Theme.defaultFragments = new Set(['spectrum']);
333
332
  Theme.instances = new Set();
334
- Theme.registerThemeFragment('spectrum', 'theme', coreStyles);
335
333
  //# sourceMappingURL=Theme.js.map
package/src/Theme.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Theme.js","sourceRoot":"","sources":["Theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,EAGH,2BAA2B,GAC9B,MAAM,+BAA+B,CAAC;AAEvC,OAAO,UAAU,MAAM,gBAAgB,CAAC;AAyCxC,MAAM,kBAAkB,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACnD,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAC3E,MAAM,WAAW,GAAG;IAChB,OAAO;IACP,UAAU;IACV,MAAM;IACN,SAAS;IACT,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,iBAAiB;CACpB,CAAC;AAkBF;;;;GAIG;AACH,MAAM,OAAO,KAAM,SAAQ,WAAW;IAsKlC;QACI,KAAK,EAAE,CAAC;QA/HJ,WAAM,GAAsB,UAAU,CAAC;QA0BvC,WAAM,GAAe,EAAE,CAAC;QA0BxB,WAAM,GAAe,EAAE,CAAC;QA2KxB,oBAAe,GAAqB,IAAI,GAAG,EAAE,CAAC;QAE9C,qBAAgB,GAAG,KAAK,CAAC;QAmFzB,sBAAiB,GAAG,IAAI,GAAG,EAAwC,CAAC;QApLxE,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,gBAAgB,CACjB,gBAAgB,EAChB,IAAI,CAAC,YAA6B,CACrC,CAAC;QACF,IAAI,CAAC,gBAAgB,CACjB,qBAAqB,EACrB,IAAI,CAAC,sBAAuC,CAC/C,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACzD,CAAC;IA/KD,MAAM,KAAK,kBAAkB;QACzB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAES,wBAAwB,CAC9B,QAAwC,EACxC,GAAkB,EAClB,KAAoB;QAEpB,IAAI,GAAG,KAAK,KAAK,EAAE;YACf,OAAO;SACV;QACD,IAAI,QAAQ,KAAK,OAAO,EAAE;YACtB,IAAI,CAAC,KAAK,GAAG,KAAc,CAAC;SAC/B;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE;YAC7B,IAAI,CAAC,KAAK,GAAG,KAAc,CAAC;SAC/B;aAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE;YACvC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE;YAC7B,IAAI,CAAC,KAAK,GAAG,KAAqB,CAAC;SACtC;IACL,CAAC;IAEO,aAAa;QACjB,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE;YAChE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACtC;aAAM;YACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B;IACL,CAAC;IAMD,IAAI,KAAK;QACL,MAAM,cAAc,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,EAAE,IAAI,EAAE,GACV,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,MAAM,IAAK,IAAqB,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,IAAI,KAAK,CAAC,QAA2B;QACjC,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO;QACrC,MAAM,KAAK,GACP,CAAC,CAAC,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC/C,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACrB,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE;YACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;QACD,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACrC;aAAM;YACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SACjC;IACL,CAAC;IAID,IAAI,KAAK;QACL,MAAM,cAAc,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,EAAE,IAAI,EAAE,GACV,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,MAAM,IAAK,IAAc,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,KAAK,CAAC,QAAoB;QAC1B,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO;QACrC,MAAM,KAAK,GACP,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACxC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACrB,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE;YACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;QACD,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACrC;aAAM;YACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SACjC;IACL,CAAC;IAID,IAAI,KAAK;QACL,MAAM,cAAc,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,EAAE,IAAI,EAAE,GACV,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,MAAM,IAAK,IAAc,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,KAAK,CAAC,QAAoB;QAC1B,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO;QACrC,MAAM,KAAK,GACP,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACxC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACrB,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE;YACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;QACD,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACrC;aAAM;YACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SACjC;IACL,CAAC;IAED,IAAY,MAAM;QACd,MAAM,UAAU,GAAmB;YAC/B,GAAG,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE;SACvC,CAAC;QACF,MAAM,QAAQ,GAAG,CACb,SAAsB,EACtB,IAAkB,EAClB,IAAmB,EACO,EAAE;YAC5B,MAAM,aAAa,GACf,IAAI,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAChD,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,CAAC;gBAClC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,2EAA2E;YAC3E,MAAM,iBAAiB,GACnB,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,aAAa,IAAI,iBAAiB,EAAE;gBACpC,OAAO,aAAa,CAAC,MAAM,CAAC;aAC/B;YACD,OAAO;QACX,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC3C,MAAM,aAAa,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAChD,IAAI,CACQ,CAAC;YACjB,IAAI,KAAiC,CAAC;YACtC,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,EAAE;gBACnC,KAAK,GAAG,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;aACzC;iBAAM;gBACH,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;gBAC9B,KAAK,GAAG,QAAQ,CAAC,aAAa,EAAgB,IAAI,EAAE,IAAI,CAAC,CAAC;aAC7D;YACD,IAAI,KAAK,EAAE;gBACP,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACnB;YACD,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAsB,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IACvB,CAAC;IAEO,MAAM,KAAK,QAAQ;QACvB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,eAAe,CAAC;SACpD;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAsBO,uBAAuB;QAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,YAAY,CAAC,KAA6B;QAC9C,IAAI,KAAK,CAAC,gBAAgB,EAAE;YACxB,OAAO;SACV;QACD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAChC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;QACtC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;QACtC,KAAK,CAAC,IAAI;YACN,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC;QACrE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;IAC1C,CAAC;IAES,iBAAiB;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,yEAAyE;QACzE,gCAAgC;QAChC,sBAAsB;QACtB,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC/B,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACtC;QACD,qCAAqC;QACrC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,GAAS,EAAE;YACzB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBAChC,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;SACnD;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;YACxB,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,CAAC,KAAK,CAAC;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,SAAS,GAAG,CAAE,IAAoB,CAAC,YAAY;gBAC/C,IAAI,CAAC,UAAU,CAAgD,CAAC;YACpE,OACI,SAAS,KAAK,QAAQ,CAAC,eAAe;gBACtC,CAAC,CAAC,SAAS,YAAY,KAAK,CAAC,EAC/B;gBACE,SAAS,GAAG,CAAE,SAAyB,CAAC,YAAY,IAAI,2DAA2D;oBAC/G,SAAS,CAAC,UAAU,IAAI,uBAAuB;oBAC9C,SAAwB,CAAC,IAAI,CAGlB,CAAC;aACpB;YACD,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;SAC9D;QACD,qBAAqB,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IAES,oBAAoB;QAC1B,wCAAwC;QACxC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;IAIM,6BAA6B,CAAC,EAAe;QAChD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAEM,4BAA4B,CAAC,EAAe;QAC/C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAMO,KAAK,CAAC,iBAAiB;QAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,gBAAgB,GAAG,MAAM,KAAK,CAAC;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACxB;IACL,CAAC;IAES,WAAW;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,2BAA2B;QAEvD,mEAAmE;QACnE,0CAA0C;QAC1C,uDAAuD;QACvD,oEAAoE;QACpE,YAAY;QACZ,oBAAoB,CAAC,IACjB,MAAM,CAAC,QAAQ,KAAK,SAAS;YAC7B,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY;YAC7B,MAAM,CAAC,QAAQ,CAAC,WAAW,EAC7B;YACE,4DAA4D;YAC5D,mEAAmE;YACnE,oEAAoE;YACpE,6CAA6C;YAC7C,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC,oBAAoB,EAAE;gBACxD,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE;oBACxC,IAAI,IAAI,KAAK,SAAS;wBAAE,SAAS;oBACjC,IAAI,OAAO,GAAI,MAAoB,CAAC,OAAO,CAAC;oBAC5C,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAoB,CAAC,EAAE;wBACnD,OAAO,GAAG,OAAO,CAAC,OAAO,CACrB,OAAO,EACP,UAAU,IAAI,KAAK,IAAI,KAAK,CAC/B,CAAC;qBACL;oBACD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7B;aACJ;YACD,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,qBAAqB,CAC7C,WAAW,EACX,IAAI,CAAC,SAAS,CACjB,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACnE;aAAM,IAAI,2BAA2B,EAAE;YACpC,MAAM,WAAW,GAAoB,EAAE,CAAC;YACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBACxB,WAAW,CAAC,IAAI,CACX,KAAmB,CAAC,UAA2B,CACnD,CAAC;aACL;YACD,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,WAAW,CAAC;SACpD;aAAM;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC7D,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC9C,KAAK,CAAC,WAAW,GAAI,CAAe,CAAC,OAAO,CAAC;gBAC7C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED,MAAM,CAAC,qBAAqB,CACxB,IAAkB,EAClB,IAAkB,EAClB,MAAsB;QAEtB,MAAM,WAAW,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QACtE,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAClD,gEAAgE;YAChE,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7C,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxE,CAAC;IAIO,eAAe;QACnB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,sBAAsB,CAAC,KAA+B;QAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAgB,CAAC;QACtD,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACpC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACzC;aAAM;YACH,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,QAAQ,EAAE;gBACV,QAAQ,CACJ,IAAI,CAAC,IAAI;oBACL,QAAQ,CAAC,eAAe,CAAC,IAAI;oBAC7B,SAAS,CAAC,QAAQ,CACzB,CAAC;aACL;SACJ;IACL,CAAC;;AAhXc,0BAAoB,GAAqB,IAAI,GAAG,EAAE,CAAC;AACnD,sBAAgB,GAAsB,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAE5D,eAAS,GAAe,IAAI,GAAG,EAAE,CAAC;AAgXrD,KAAK,CAAC,qBAAqB,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport {\n CSSResult,\n CSSResultGroup,\n supportsAdoptingStyleSheets,\n} from '@spectrum-web-components/base';\n\nimport coreStyles from './theme.css.js';\n\ndeclare global {\n interface Window {\n ShadyCSS: {\n nativeShadow: boolean;\n prepareTemplate(\n template: HTMLTemplateElement,\n elementName: string,\n typeExtension?: string\n ): void;\n styleElement(host: HTMLElement): void;\n ScopingShim: {\n prepareAdoptedCssText(\n cssTextArray: string[],\n elementName: string\n ): void;\n };\n };\n }\n}\n\ntype ShadowRootWithAdoptedStyleSheets = HTMLElement['shadowRoot'] & {\n adoptedStyleSheets?: CSSStyleSheet[];\n};\n\ntype FragmentType = 'color' | 'scale' | 'theme' | 'core' | 'app';\ntype SettableFragmentTypes = 'color' | 'scale' | 'theme';\ntype FragmentMap = Map<string, { name: string; styles: CSSResultGroup }>;\nexport type ThemeFragmentMap = Map<FragmentType, FragmentMap>;\nexport type Color =\n | 'light'\n | 'lightest'\n | 'dark'\n | 'darkest'\n | 'light-express'\n | 'lightest-express'\n | 'dark-express'\n | 'darkest-express';\nexport type Scale = 'medium' | 'large' | 'medium-express' | 'large-express';\nexport type ThemeVariant = 'spectrum' | 'express';\nconst ThemeVariantValues = ['spectrum', 'express'];\nconst ScaleValues = ['medium', 'large', 'medium-express', 'large-express'];\nconst ColorValues = [\n 'light',\n 'lightest',\n 'dark',\n 'darkest',\n 'light-express',\n 'lightest-express',\n 'dark-express',\n 'darkest-express',\n];\ntype FragmentName = Color | Scale | ThemeVariant | 'core' | 'app';\n\nexport interface ThemeData {\n color?: Color;\n scale?: Scale;\n lang?: string;\n theme?: ThemeVariant;\n}\n\ntype ThemeKindProvider = {\n [P in SettableFragmentTypes]: ThemeVariant | Color | Scale | '';\n};\n\nexport interface ProvideLang {\n callback: (lang: string) => void;\n}\n\n/**\n * @element sp-theme\n *\n * @slot - Content on which to apply the CSS Custom Properties defined by the current theme configuration\n */\nexport class Theme extends HTMLElement implements ThemeKindProvider {\n private static themeFragmentsByKind: ThemeFragmentMap = new Map();\n private static defaultFragments: Set<FragmentName> = new Set(['spectrum']);\n private static templateElement?: HTMLTemplateElement;\n private static instances: Set<Theme> = new Set();\n\n static get observedAttributes(): string[] {\n return ['color', 'scale', 'theme', 'lang'];\n }\n\n protected attributeChangedCallback(\n attrName: SettableFragmentTypes | 'lang',\n old: string | null,\n value: string | null\n ): void {\n if (old === value) {\n return;\n }\n if (attrName === 'color') {\n this.color = value as Color;\n } else if (attrName === 'scale') {\n this.scale = value as Scale;\n } else if (attrName === 'lang' && !!value) {\n this.lang = value;\n this._provideContext();\n } else if (attrName === 'theme') {\n this.theme = value as ThemeVariant;\n }\n }\n\n private requestUpdate(): void {\n if (window.ShadyCSS !== undefined && !window.ShadyCSS.nativeShadow) {\n window.ShadyCSS.styleElement(this);\n } else {\n this.shouldAdoptStyles();\n }\n }\n\n public shadowRoot!: ShadowRootWithAdoptedStyleSheets;\n\n private _theme: ThemeVariant | '' = 'spectrum';\n\n get theme(): ThemeVariant | '' {\n const themeFragments = Theme.themeFragmentsByKind.get('theme');\n const { name } =\n (themeFragments && themeFragments.get('default')) || {};\n return this._theme || (name as ThemeVariant) || '';\n }\n\n set theme(newValue: ThemeVariant | '') {\n if (newValue === this._theme) return;\n const theme =\n !!newValue && ThemeVariantValues.includes(newValue)\n ? newValue\n : this.theme;\n if (theme !== this._theme) {\n this._theme = theme;\n this.requestUpdate();\n }\n if (theme) {\n this.setAttribute('theme', theme);\n } else {\n this.removeAttribute('theme');\n }\n }\n\n private _color: Color | '' = '';\n\n get color(): Color | '' {\n const themeFragments = Theme.themeFragmentsByKind.get('color');\n const { name } =\n (themeFragments && themeFragments.get('default')) || {};\n return this._color || (name as Color) || '';\n }\n\n set color(newValue: Color | '') {\n if (newValue === this._color) return;\n const color =\n !!newValue && ColorValues.includes(newValue)\n ? newValue\n : this.color;\n if (color !== this._color) {\n this._color = color;\n this.requestUpdate();\n }\n if (color) {\n this.setAttribute('color', color);\n } else {\n this.removeAttribute('color');\n }\n }\n\n private _scale: Scale | '' = '';\n\n get scale(): Scale | '' {\n const themeFragments = Theme.themeFragmentsByKind.get('scale');\n const { name } =\n (themeFragments && themeFragments.get('default')) || {};\n return this._scale || (name as Scale) || '';\n }\n\n set scale(newValue: Scale | '') {\n if (newValue === this._scale) return;\n const scale =\n !!newValue && ScaleValues.includes(newValue)\n ? newValue\n : this.scale;\n if (scale !== this._scale) {\n this._scale = scale;\n this.requestUpdate();\n }\n if (scale) {\n this.setAttribute('scale', scale);\n } else {\n this.removeAttribute('scale');\n }\n }\n\n private get styles(): CSSResultGroup[] {\n const themeKinds: FragmentType[] = [\n ...Theme.themeFragmentsByKind.keys(),\n ];\n const getStyle = (\n fragments: FragmentMap,\n name: FragmentName,\n kind?: FragmentType\n ): CSSResultGroup | undefined => {\n const currentStyles =\n kind && kind !== 'theme' && this.theme === 'express'\n ? fragments.get(`${name}-express`)\n : fragments.get(name);\n // theme=\"spectrum\" is available by default and doesn't need to be applied.\n const isAppliedFragment =\n name === 'spectrum' || !kind || this.hasAttribute(kind);\n if (currentStyles && isAppliedFragment) {\n return currentStyles.styles;\n }\n return;\n };\n const styles = themeKinds.reduce((acc, kind) => {\n const kindFragments = Theme.themeFragmentsByKind.get(\n kind\n ) as FragmentMap;\n let style: CSSResultGroup | undefined;\n if (kind === 'app' || kind === 'core') {\n style = getStyle(kindFragments, kind);\n } else {\n const { [kind]: name } = this;\n style = getStyle(kindFragments, <FragmentName>name, kind);\n }\n if (style) {\n acc.push(style);\n }\n return acc;\n }, [] as CSSResultGroup[]);\n return [...styles];\n }\n\n private static get template(): HTMLTemplateElement {\n if (!this.templateElement) {\n this.templateElement = document.createElement('template');\n this.templateElement.innerHTML = '<slot></slot>';\n }\n return this.templateElement;\n }\n\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const node = document.importNode(Theme.template.content, true);\n this.shadowRoot.appendChild(node);\n this.shouldAdoptStyles();\n this.addEventListener(\n 'sp-query-theme',\n this.onQueryTheme as EventListener\n );\n this.addEventListener(\n 'sp-language-context',\n this._handleContextPresence as EventListener\n );\n this.updateComplete = this.__createDeferredPromise();\n }\n\n public updateComplete!: Promise<boolean>;\n private __resolve!: (compelted: boolean) => void;\n\n private __createDeferredPromise(): Promise<boolean> {\n return new Promise((resolve) => {\n this.__resolve = resolve;\n });\n }\n\n private onQueryTheme(event: CustomEvent<ThemeData>): void {\n if (event.defaultPrevented) {\n return;\n }\n event.preventDefault();\n const { detail: theme } = event;\n theme.color = this.color || undefined;\n theme.scale = this.scale || undefined;\n theme.lang =\n this.lang || document.documentElement.lang || navigator.language;\n theme.theme = this.theme || undefined;\n }\n\n protected connectedCallback(): void {\n this.shouldAdoptStyles();\n // Note, first update/render handles styleElement so we only call this if\n // connected after first update.\n /* c8 ignore next 3 */\n if (window.ShadyCSS !== undefined) {\n window.ShadyCSS.styleElement(this);\n }\n // Add `this` to the instances array.\n Theme.instances.add(this);\n const manageDir = (): void => {\n const { dir } = this;\n this.trackedChildren.forEach((el) => {\n el.setAttribute('dir', dir === 'rtl' ? dir : 'ltr');\n });\n };\n if (!this.observer) {\n this.observer = new MutationObserver(manageDir);\n }\n this.observer.observe(this, {\n attributes: true,\n attributeFilter: ['dir'],\n });\n if (!this.hasAttribute('dir')) {\n let dirParent = ((this as HTMLElement).assignedSlot ||\n this.parentNode) as HTMLElement | DocumentFragment | ShadowRoot;\n while (\n dirParent !== document.documentElement &&\n !(dirParent instanceof Theme)\n ) {\n dirParent = ((dirParent as HTMLElement).assignedSlot || // step into the shadow DOM of the parent of a slotted node\n dirParent.parentNode || // DOM Element detected\n (dirParent as ShadowRoot).host) as\n | HTMLElement\n | DocumentFragment\n | ShadowRoot;\n }\n this.dir = dirParent.dir === 'rtl' ? dirParent.dir : 'ltr';\n }\n requestAnimationFrame(() => manageDir());\n }\n\n protected disconnectedCallback(): void {\n // Remove `this` to the instances array.\n Theme.instances.delete(this);\n this.observer.disconnect();\n }\n\n private observer!: MutationObserver;\n\n public startManagingContentDirection(el: HTMLElement): void {\n this.trackedChildren.add(el);\n }\n\n public stopManagingContentDirection(el: HTMLElement): void {\n this.trackedChildren.delete(el);\n }\n\n private trackedChildren: Set<HTMLElement> = new Set();\n\n private _updateRequested = false;\n\n private async shouldAdoptStyles(): Promise<void> {\n if (!this._updateRequested) {\n this.updateComplete = this.__createDeferredPromise();\n this._updateRequested = true;\n this._updateRequested = await false;\n this.adoptStyles();\n this.__resolve(true);\n }\n }\n\n protected adoptStyles(): void {\n const styles = this.styles; // No test coverage on Edge\n\n // There are three separate cases here based on Shadow DOM support.\n // (1) shadowRoot polyfilled: use ShadyCSS\n // (2) shadowRoot.adoptedStyleSheets available: use it.\n // (3) shadowRoot.adoptedStyleSheets polyfilled: append styles after\n // rendering\n /* c8 ignore next */ if (\n window.ShadyCSS !== undefined &&\n !window.ShadyCSS.nativeShadow &&\n window.ShadyCSS.ScopingShim\n ) {\n // For browsers using the shim, there seems to be one set of\n // processed styles per template, so it is hard to nest styles. So,\n // for those, we load in all style fragments and then switch using a\n // host selector (e.g. :host([color='dark']))\n const fragmentCSS: string[] = [];\n for (const [kind, fragments] of Theme.themeFragmentsByKind) {\n for (const [name, { styles }] of fragments) {\n if (name === 'default') continue;\n let cssText = (styles as CSSResult).cssText;\n if (!Theme.defaultFragments.has(name as FragmentName)) {\n cssText = cssText.replace(\n ':host',\n `:host([${kind}='${name}'])`\n );\n }\n fragmentCSS.push(cssText);\n }\n }\n window.ShadyCSS.ScopingShim.prepareAdoptedCssText(\n fragmentCSS,\n this.localName\n );\n window.ShadyCSS.prepareTemplate(Theme.template, this.localName);\n } else if (supportsAdoptingStyleSheets) {\n const styleSheets: CSSStyleSheet[] = [];\n for (const style of styles) {\n styleSheets.push(\n (style as CSSResult).styleSheet as CSSStyleSheet\n );\n }\n this.shadowRoot.adoptedStyleSheets = styleSheets;\n } else {\n const styleNodes = this.shadowRoot.querySelectorAll('style');\n styleNodes.forEach((element) => element.remove());\n styles.forEach((s) => {\n const style = document.createElement('style');\n style.textContent = (s as CSSResult).cssText;\n this.shadowRoot.appendChild(style);\n });\n }\n }\n\n static registerThemeFragment(\n name: FragmentName,\n kind: FragmentType,\n styles: CSSResultGroup\n ): void {\n const fragmentMap = Theme.themeFragmentsByKind.get(kind) || new Map();\n if (fragmentMap.size === 0) {\n Theme.themeFragmentsByKind.set(kind, fragmentMap);\n // we're adding our first fragment for this kind, set as default\n fragmentMap.set('default', { name, styles });\n Theme.defaultFragments.add(name);\n }\n fragmentMap.set(name, { name, styles });\n Theme.instances.forEach((instance) => instance.shouldAdoptStyles());\n }\n\n private _contextConsumers = new Map<HTMLElement, ProvideLang['callback']>();\n\n private _provideContext(): void {\n this._contextConsumers.forEach((consume) => consume(this.lang));\n }\n\n private _handleContextPresence(event: CustomEvent<ProvideLang>): void {\n const target = event.composedPath()[0] as HTMLElement;\n if (this._contextConsumers.has(target)) {\n this._contextConsumers.delete(target);\n } else {\n this._contextConsumers.set(target, event.detail.callback);\n const callback = this._contextConsumers.get(target);\n if (callback) {\n callback(\n this.lang ||\n document.documentElement.lang ||\n navigator.language\n );\n }\n }\n }\n}\n\nTheme.registerThemeFragment('spectrum', 'theme', coreStyles);\n"]}
1
+ {"version":3,"file":"Theme.js","sourceRoot":"","sources":["Theme.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;EAUE;AAEF,OAAO,EAGH,2BAA2B,GAC9B,MAAM,+BAA+B,CAAC;AAyCvC,MAAM,kBAAkB,GAAG,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACnD,MAAM,WAAW,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,eAAe,CAAC,CAAC;AAC3E,MAAM,WAAW,GAAG;IAChB,OAAO;IACP,UAAU;IACV,MAAM;IACN,SAAS;IACT,eAAe;IACf,kBAAkB;IAClB,cAAc;IACd,iBAAiB;CACpB,CAAC;AAkBF;;;;GAIG;AACH,MAAM,OAAO,KAAM,SAAQ,WAAW;IAsKlC;QACI,KAAK,EAAE,CAAC;QA/HJ,WAAM,GAAsB,UAAU,CAAC;QA0BvC,WAAM,GAAe,EAAE,CAAC;QA0BxB,WAAM,GAAe,EAAE,CAAC;QA2KxB,oBAAe,GAAqB,IAAI,GAAG,EAAE,CAAC;QAE9C,qBAAgB,GAAG,KAAK,CAAC;QAmFzB,sBAAiB,GAAG,IAAI,GAAG,EAAwC,CAAC;QApLxE,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACpC,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAClC,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,gBAAgB,CACjB,gBAAgB,EAChB,IAAI,CAAC,YAA6B,CACrC,CAAC;QACF,IAAI,CAAC,gBAAgB,CACjB,qBAAqB,EACrB,IAAI,CAAC,sBAAuC,CAC/C,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;IACzD,CAAC;IA/KD,MAAM,KAAK,kBAAkB;QACzB,OAAO,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAES,wBAAwB,CAC9B,QAAwC,EACxC,GAAkB,EAClB,KAAoB;QAEpB,IAAI,GAAG,KAAK,KAAK,EAAE;YACf,OAAO;SACV;QACD,IAAI,QAAQ,KAAK,OAAO,EAAE;YACtB,IAAI,CAAC,KAAK,GAAG,KAAc,CAAC;SAC/B;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE;YAC7B,IAAI,CAAC,KAAK,GAAG,KAAc,CAAC;SAC/B;aAAM,IAAI,QAAQ,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,EAAE;YACvC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;YAClB,IAAI,CAAC,eAAe,EAAE,CAAC;SAC1B;aAAM,IAAI,QAAQ,KAAK,OAAO,EAAE;YAC7B,IAAI,CAAC,KAAK,GAAG,KAAqB,CAAC;SACtC;IACL,CAAC;IAEO,aAAa;QACjB,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,EAAE;YAChE,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACtC;aAAM;YACH,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC5B;IACL,CAAC;IAMD,IAAI,KAAK;QACL,MAAM,cAAc,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,EAAE,IAAI,EAAE,GACV,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,MAAM,IAAK,IAAqB,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,IAAI,KAAK,CAAC,QAA2B;QACjC,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO;QACrC,MAAM,KAAK,GACP,CAAC,CAAC,QAAQ,IAAI,kBAAkB,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC/C,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACrB,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE;YACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;QACD,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACrC;aAAM;YACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SACjC;IACL,CAAC;IAID,IAAI,KAAK;QACL,MAAM,cAAc,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,EAAE,IAAI,EAAE,GACV,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,MAAM,IAAK,IAAc,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,KAAK,CAAC,QAAoB;QAC1B,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO;QACrC,MAAM,KAAK,GACP,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACxC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACrB,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE;YACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;QACD,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACrC;aAAM;YACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SACjC;IACL,CAAC;IAID,IAAI,KAAK;QACL,MAAM,cAAc,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC/D,MAAM,EAAE,IAAI,EAAE,GACV,CAAC,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,MAAM,IAAK,IAAc,IAAI,EAAE,CAAC;IAChD,CAAC;IAED,IAAI,KAAK,CAAC,QAAoB;QAC1B,IAAI,QAAQ,KAAK,IAAI,CAAC,MAAM;YAAE,OAAO;QACrC,MAAM,KAAK,GACP,CAAC,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACxC,CAAC,CAAC,QAAQ;YACV,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;QACrB,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,EAAE;YACvB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;YACpB,IAAI,CAAC,aAAa,EAAE,CAAC;SACxB;QACD,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SACrC;aAAM;YACH,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;SACjC;IACL,CAAC;IAED,IAAY,MAAM;QACd,MAAM,UAAU,GAAmB;YAC/B,GAAG,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE;SACvC,CAAC;QACF,MAAM,QAAQ,GAAG,CACb,SAAsB,EACtB,IAAkB,EAClB,IAAmB,EACO,EAAE;YAC5B,MAAM,aAAa,GACf,IAAI,IAAI,IAAI,KAAK,OAAO,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;gBAChD,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,IAAI,UAAU,CAAC;gBAClC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC9B,2EAA2E;YAC3E,MAAM,iBAAiB,GACnB,IAAI,KAAK,UAAU,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,aAAa,IAAI,iBAAiB,EAAE;gBACpC,OAAO,aAAa,CAAC,MAAM,CAAC;aAC/B;YACD,OAAO;QACX,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;YAC3C,MAAM,aAAa,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAChD,IAAI,CACQ,CAAC;YACjB,IAAI,KAAiC,CAAC;YACtC,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,MAAM,EAAE;gBACnC,KAAK,GAAG,QAAQ,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;aACzC;iBAAM;gBACH,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;gBAC9B,KAAK,GAAG,QAAQ,CAAC,aAAa,EAAgB,IAAI,EAAE,IAAI,CAAC,CAAC;aAC7D;YACD,IAAI,KAAK,EAAE;gBACP,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACnB;YACD,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAsB,CAAC,CAAC;QAC3B,OAAO,CAAC,GAAG,MAAM,CAAC,CAAC;IACvB,CAAC;IAEO,MAAM,KAAK,QAAQ;QACvB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,IAAI,CAAC,eAAe,GAAG,QAAQ,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;YAC1D,IAAI,CAAC,eAAe,CAAC,SAAS,GAAG,eAAe,CAAC;SACpD;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAsBO,uBAAuB;QAC3B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC;QAC7B,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,YAAY,CAAC,KAA6B;QAC9C,IAAI,KAAK,CAAC,gBAAgB,EAAE;YACxB,OAAO;SACV;QACD,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QAChC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;QACtC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;QACtC,KAAK,CAAC,IAAI;YACN,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,eAAe,CAAC,IAAI,IAAI,SAAS,CAAC,QAAQ,CAAC;QACrE,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC;IAC1C,CAAC;IAES,iBAAiB;QACvB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,yEAAyE;QACzE,gCAAgC;QAChC,sBAAsB;QACtB,IAAI,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC/B,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;SACtC;QACD,qCAAqC;QACrC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,MAAM,SAAS,GAAG,GAAS,EAAE;YACzB,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;YACrB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;gBAChC,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;QACP,CAAC,CAAC;QACF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,IAAI,CAAC,QAAQ,GAAG,IAAI,gBAAgB,CAAC,SAAS,CAAC,CAAC;SACnD;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE;YACxB,UAAU,EAAE,IAAI;YAChB,eAAe,EAAE,CAAC,KAAK,CAAC;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE;YAC3B,IAAI,SAAS,GAAG,CAAE,IAAoB,CAAC,YAAY;gBAC/C,IAAI,CAAC,UAAU,CAAgD,CAAC;YACpE,OACI,SAAS,KAAK,QAAQ,CAAC,eAAe;gBACtC,CAAC,CAAC,SAAS,YAAY,KAAK,CAAC,EAC/B;gBACE,SAAS,GAAG,CAAE,SAAyB,CAAC,YAAY,IAAI,2DAA2D;oBAC/G,SAAS,CAAC,UAAU,IAAI,uBAAuB;oBAC9C,SAAwB,CAAC,IAAI,CAGlB,CAAC;aACpB;YACD,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC;SAC9D;QACD,qBAAqB,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC;IAC7C,CAAC;IAES,oBAAoB;QAC1B,wCAAwC;QACxC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;IAC/B,CAAC;IAIM,6BAA6B,CAAC,EAAe;QAChD,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC;IAEM,4BAA4B,CAAC,EAAe;QAC/C,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAMO,KAAK,CAAC,iBAAiB;QAC3B,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;YACxB,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACrD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,gBAAgB,GAAG,MAAM,KAAK,CAAC;YACpC,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACxB;IACL,CAAC;IAES,WAAW;QACjB,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,2BAA2B;QAEvD,mEAAmE;QACnE,0CAA0C;QAC1C,uDAAuD;QACvD,oEAAoE;QACpE,YAAY;QACZ,oBAAoB,CAAC,IACjB,MAAM,CAAC,QAAQ,KAAK,SAAS;YAC7B,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY;YAC7B,MAAM,CAAC,QAAQ,CAAC,WAAW,EAC7B;YACE,4DAA4D;YAC5D,mEAAmE;YACnE,oEAAoE;YACpE,6CAA6C;YAC7C,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,KAAK,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,KAAK,CAAC,oBAAoB,EAAE;gBACxD,KAAK,MAAM,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE;oBACxC,IAAI,IAAI,KAAK,SAAS;wBAAE,SAAS;oBACjC,IAAI,OAAO,GAAI,MAAoB,CAAC,OAAO,CAAC;oBAC5C,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAoB,CAAC,EAAE;wBACnD,OAAO,GAAG,OAAO,CAAC,OAAO,CACrB,OAAO,EACP,UAAU,IAAI,KAAK,IAAI,KAAK,CAC/B,CAAC;qBACL;oBACD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;iBAC7B;aACJ;YACD,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,qBAAqB,CAC7C,WAAW,EACX,IAAI,CAAC,SAAS,CACjB,CAAC;YACF,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACnE;aAAM,IAAI,2BAA2B,EAAE;YACpC,MAAM,WAAW,GAAoB,EAAE,CAAC;YACxC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE;gBACxB,WAAW,CAAC,IAAI,CACX,KAAmB,CAAC,UAA2B,CACnD,CAAC;aACL;YACD,IAAI,CAAC,UAAU,CAAC,kBAAkB,GAAG,WAAW,CAAC;SACpD;aAAM;YACH,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;YAC7D,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;gBAC9C,KAAK,CAAC,WAAW,GAAI,CAAe,CAAC,OAAO,CAAC;gBAC7C,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;SACN;IACL,CAAC;IAED,MAAM,CAAC,qBAAqB,CACxB,IAAkB,EAClB,IAAkB,EAClB,MAAsB;QAEtB,MAAM,WAAW,GAAG,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC;QACtE,IAAI,WAAW,CAAC,IAAI,KAAK,CAAC,EAAE;YACxB,KAAK,CAAC,oBAAoB,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAClD,gEAAgE;YAChE,WAAW,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7C,KAAK,CAAC,gBAAgB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SACpC;QACD,WAAW,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACxC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACxE,CAAC;IAIO,eAAe;QACnB,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,CAAC;IAEO,sBAAsB,CAAC,KAA+B;QAC1D,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC,CAAC,CAAgB,CAAC;QACtD,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YACpC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;SACzC;aAAM;YACH,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;YAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpD,IAAI,QAAQ,EAAE;gBACV,QAAQ,CACJ,IAAI,CAAC,IAAI;oBACL,QAAQ,CAAC,eAAe,CAAC,IAAI;oBAC7B,SAAS,CAAC,QAAQ,CACzB,CAAC;aACL;SACJ;IACL,CAAC;;AAhXc,0BAAoB,GAAqB,IAAI,GAAG,EAAE,CAAC;AACnD,sBAAgB,GAAsB,IAAI,GAAG,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;AAE5D,eAAS,GAAe,IAAI,GAAG,EAAE,CAAC","sourcesContent":["/*\nCopyright 2020 Adobe. All rights reserved.\nThis file is licensed to you under the Apache License, Version 2.0 (the \"License\");\nyou may not use this file except in compliance with the License. You may obtain a copy\nof the License at http://www.apache.org/licenses/LICENSE-2.0\n\nUnless required by applicable law or agreed to in writing, software distributed under\nthe License is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\nOF ANY KIND, either express or implied. See the License for the specific language\ngoverning permissions and limitations under the License.\n*/\n\nimport {\n CSSResult,\n CSSResultGroup,\n supportsAdoptingStyleSheets,\n} from '@spectrum-web-components/base';\n\ndeclare global {\n interface Window {\n ShadyCSS: {\n nativeShadow: boolean;\n prepareTemplate(\n template: HTMLTemplateElement,\n elementName: string,\n typeExtension?: string\n ): void;\n styleElement(host: HTMLElement): void;\n ScopingShim: {\n prepareAdoptedCssText(\n cssTextArray: string[],\n elementName: string\n ): void;\n };\n };\n }\n}\n\ntype ShadowRootWithAdoptedStyleSheets = HTMLElement['shadowRoot'] & {\n adoptedStyleSheets?: CSSStyleSheet[];\n};\n\ntype FragmentType = 'color' | 'scale' | 'theme' | 'core' | 'app';\ntype SettableFragmentTypes = 'color' | 'scale' | 'theme';\ntype FragmentMap = Map<string, { name: string; styles: CSSResultGroup }>;\nexport type ThemeFragmentMap = Map<FragmentType, FragmentMap>;\nexport type Color =\n | 'light'\n | 'lightest'\n | 'dark'\n | 'darkest'\n | 'light-express'\n | 'lightest-express'\n | 'dark-express'\n | 'darkest-express';\nexport type Scale = 'medium' | 'large' | 'medium-express' | 'large-express';\nexport type ThemeVariant = 'spectrum' | 'express';\nconst ThemeVariantValues = ['spectrum', 'express'];\nconst ScaleValues = ['medium', 'large', 'medium-express', 'large-express'];\nconst ColorValues = [\n 'light',\n 'lightest',\n 'dark',\n 'darkest',\n 'light-express',\n 'lightest-express',\n 'dark-express',\n 'darkest-express',\n];\ntype FragmentName = Color | Scale | ThemeVariant | 'core' | 'app';\n\nexport interface ThemeData {\n color?: Color;\n scale?: Scale;\n lang?: string;\n theme?: ThemeVariant;\n}\n\ntype ThemeKindProvider = {\n [P in SettableFragmentTypes]: ThemeVariant | Color | Scale | '';\n};\n\nexport interface ProvideLang {\n callback: (lang: string) => void;\n}\n\n/**\n * @element sp-theme\n *\n * @slot - Content on which to apply the CSS Custom Properties defined by the current theme configuration\n */\nexport class Theme extends HTMLElement implements ThemeKindProvider {\n private static themeFragmentsByKind: ThemeFragmentMap = new Map();\n private static defaultFragments: Set<FragmentName> = new Set(['spectrum']);\n private static templateElement?: HTMLTemplateElement;\n private static instances: Set<Theme> = new Set();\n\n static get observedAttributes(): string[] {\n return ['color', 'scale', 'theme', 'lang'];\n }\n\n protected attributeChangedCallback(\n attrName: SettableFragmentTypes | 'lang',\n old: string | null,\n value: string | null\n ): void {\n if (old === value) {\n return;\n }\n if (attrName === 'color') {\n this.color = value as Color;\n } else if (attrName === 'scale') {\n this.scale = value as Scale;\n } else if (attrName === 'lang' && !!value) {\n this.lang = value;\n this._provideContext();\n } else if (attrName === 'theme') {\n this.theme = value as ThemeVariant;\n }\n }\n\n private requestUpdate(): void {\n if (window.ShadyCSS !== undefined && !window.ShadyCSS.nativeShadow) {\n window.ShadyCSS.styleElement(this);\n } else {\n this.shouldAdoptStyles();\n }\n }\n\n public shadowRoot!: ShadowRootWithAdoptedStyleSheets;\n\n private _theme: ThemeVariant | '' = 'spectrum';\n\n get theme(): ThemeVariant | '' {\n const themeFragments = Theme.themeFragmentsByKind.get('theme');\n const { name } =\n (themeFragments && themeFragments.get('default')) || {};\n return this._theme || (name as ThemeVariant) || '';\n }\n\n set theme(newValue: ThemeVariant | '') {\n if (newValue === this._theme) return;\n const theme =\n !!newValue && ThemeVariantValues.includes(newValue)\n ? newValue\n : this.theme;\n if (theme !== this._theme) {\n this._theme = theme;\n this.requestUpdate();\n }\n if (theme) {\n this.setAttribute('theme', theme);\n } else {\n this.removeAttribute('theme');\n }\n }\n\n private _color: Color | '' = '';\n\n get color(): Color | '' {\n const themeFragments = Theme.themeFragmentsByKind.get('color');\n const { name } =\n (themeFragments && themeFragments.get('default')) || {};\n return this._color || (name as Color) || '';\n }\n\n set color(newValue: Color | '') {\n if (newValue === this._color) return;\n const color =\n !!newValue && ColorValues.includes(newValue)\n ? newValue\n : this.color;\n if (color !== this._color) {\n this._color = color;\n this.requestUpdate();\n }\n if (color) {\n this.setAttribute('color', color);\n } else {\n this.removeAttribute('color');\n }\n }\n\n private _scale: Scale | '' = '';\n\n get scale(): Scale | '' {\n const themeFragments = Theme.themeFragmentsByKind.get('scale');\n const { name } =\n (themeFragments && themeFragments.get('default')) || {};\n return this._scale || (name as Scale) || '';\n }\n\n set scale(newValue: Scale | '') {\n if (newValue === this._scale) return;\n const scale =\n !!newValue && ScaleValues.includes(newValue)\n ? newValue\n : this.scale;\n if (scale !== this._scale) {\n this._scale = scale;\n this.requestUpdate();\n }\n if (scale) {\n this.setAttribute('scale', scale);\n } else {\n this.removeAttribute('scale');\n }\n }\n\n private get styles(): CSSResultGroup[] {\n const themeKinds: FragmentType[] = [\n ...Theme.themeFragmentsByKind.keys(),\n ];\n const getStyle = (\n fragments: FragmentMap,\n name: FragmentName,\n kind?: FragmentType\n ): CSSResultGroup | undefined => {\n const currentStyles =\n kind && kind !== 'theme' && this.theme === 'express'\n ? fragments.get(`${name}-express`)\n : fragments.get(name);\n // theme=\"spectrum\" is available by default and doesn't need to be applied.\n const isAppliedFragment =\n name === 'spectrum' || !kind || this.hasAttribute(kind);\n if (currentStyles && isAppliedFragment) {\n return currentStyles.styles;\n }\n return;\n };\n const styles = themeKinds.reduce((acc, kind) => {\n const kindFragments = Theme.themeFragmentsByKind.get(\n kind\n ) as FragmentMap;\n let style: CSSResultGroup | undefined;\n if (kind === 'app' || kind === 'core') {\n style = getStyle(kindFragments, kind);\n } else {\n const { [kind]: name } = this;\n style = getStyle(kindFragments, <FragmentName>name, kind);\n }\n if (style) {\n acc.push(style);\n }\n return acc;\n }, [] as CSSResultGroup[]);\n return [...styles];\n }\n\n private static get template(): HTMLTemplateElement {\n if (!this.templateElement) {\n this.templateElement = document.createElement('template');\n this.templateElement.innerHTML = '<slot></slot>';\n }\n return this.templateElement;\n }\n\n constructor() {\n super();\n this.attachShadow({ mode: 'open' });\n const node = document.importNode(Theme.template.content, true);\n this.shadowRoot.appendChild(node);\n this.shouldAdoptStyles();\n this.addEventListener(\n 'sp-query-theme',\n this.onQueryTheme as EventListener\n );\n this.addEventListener(\n 'sp-language-context',\n this._handleContextPresence as EventListener\n );\n this.updateComplete = this.__createDeferredPromise();\n }\n\n public updateComplete!: Promise<boolean>;\n private __resolve!: (compelted: boolean) => void;\n\n private __createDeferredPromise(): Promise<boolean> {\n return new Promise((resolve) => {\n this.__resolve = resolve;\n });\n }\n\n private onQueryTheme(event: CustomEvent<ThemeData>): void {\n if (event.defaultPrevented) {\n return;\n }\n event.preventDefault();\n const { detail: theme } = event;\n theme.color = this.color || undefined;\n theme.scale = this.scale || undefined;\n theme.lang =\n this.lang || document.documentElement.lang || navigator.language;\n theme.theme = this.theme || undefined;\n }\n\n protected connectedCallback(): void {\n this.shouldAdoptStyles();\n // Note, first update/render handles styleElement so we only call this if\n // connected after first update.\n /* c8 ignore next 3 */\n if (window.ShadyCSS !== undefined) {\n window.ShadyCSS.styleElement(this);\n }\n // Add `this` to the instances array.\n Theme.instances.add(this);\n const manageDir = (): void => {\n const { dir } = this;\n this.trackedChildren.forEach((el) => {\n el.setAttribute('dir', dir === 'rtl' ? dir : 'ltr');\n });\n };\n if (!this.observer) {\n this.observer = new MutationObserver(manageDir);\n }\n this.observer.observe(this, {\n attributes: true,\n attributeFilter: ['dir'],\n });\n if (!this.hasAttribute('dir')) {\n let dirParent = ((this as HTMLElement).assignedSlot ||\n this.parentNode) as HTMLElement | DocumentFragment | ShadowRoot;\n while (\n dirParent !== document.documentElement &&\n !(dirParent instanceof Theme)\n ) {\n dirParent = ((dirParent as HTMLElement).assignedSlot || // step into the shadow DOM of the parent of a slotted node\n dirParent.parentNode || // DOM Element detected\n (dirParent as ShadowRoot).host) as\n | HTMLElement\n | DocumentFragment\n | ShadowRoot;\n }\n this.dir = dirParent.dir === 'rtl' ? dirParent.dir : 'ltr';\n }\n requestAnimationFrame(() => manageDir());\n }\n\n protected disconnectedCallback(): void {\n // Remove `this` to the instances array.\n Theme.instances.delete(this);\n this.observer.disconnect();\n }\n\n private observer!: MutationObserver;\n\n public startManagingContentDirection(el: HTMLElement): void {\n this.trackedChildren.add(el);\n }\n\n public stopManagingContentDirection(el: HTMLElement): void {\n this.trackedChildren.delete(el);\n }\n\n private trackedChildren: Set<HTMLElement> = new Set();\n\n private _updateRequested = false;\n\n private async shouldAdoptStyles(): Promise<void> {\n if (!this._updateRequested) {\n this.updateComplete = this.__createDeferredPromise();\n this._updateRequested = true;\n this._updateRequested = await false;\n this.adoptStyles();\n this.__resolve(true);\n }\n }\n\n protected adoptStyles(): void {\n const styles = this.styles; // No test coverage on Edge\n\n // There are three separate cases here based on Shadow DOM support.\n // (1) shadowRoot polyfilled: use ShadyCSS\n // (2) shadowRoot.adoptedStyleSheets available: use it.\n // (3) shadowRoot.adoptedStyleSheets polyfilled: append styles after\n // rendering\n /* c8 ignore next */ if (\n window.ShadyCSS !== undefined &&\n !window.ShadyCSS.nativeShadow &&\n window.ShadyCSS.ScopingShim\n ) {\n // For browsers using the shim, there seems to be one set of\n // processed styles per template, so it is hard to nest styles. So,\n // for those, we load in all style fragments and then switch using a\n // host selector (e.g. :host([color='dark']))\n const fragmentCSS: string[] = [];\n for (const [kind, fragments] of Theme.themeFragmentsByKind) {\n for (const [name, { styles }] of fragments) {\n if (name === 'default') continue;\n let cssText = (styles as CSSResult).cssText;\n if (!Theme.defaultFragments.has(name as FragmentName)) {\n cssText = cssText.replace(\n ':host',\n `:host([${kind}='${name}'])`\n );\n }\n fragmentCSS.push(cssText);\n }\n }\n window.ShadyCSS.ScopingShim.prepareAdoptedCssText(\n fragmentCSS,\n this.localName\n );\n window.ShadyCSS.prepareTemplate(Theme.template, this.localName);\n } else if (supportsAdoptingStyleSheets) {\n const styleSheets: CSSStyleSheet[] = [];\n for (const style of styles) {\n styleSheets.push(\n (style as CSSResult).styleSheet as CSSStyleSheet\n );\n }\n this.shadowRoot.adoptedStyleSheets = styleSheets;\n } else {\n const styleNodes = this.shadowRoot.querySelectorAll('style');\n styleNodes.forEach((element) => element.remove());\n styles.forEach((s) => {\n const style = document.createElement('style');\n style.textContent = (s as CSSResult).cssText;\n this.shadowRoot.appendChild(style);\n });\n }\n }\n\n static registerThemeFragment(\n name: FragmentName,\n kind: FragmentType,\n styles: CSSResultGroup\n ): void {\n const fragmentMap = Theme.themeFragmentsByKind.get(kind) || new Map();\n if (fragmentMap.size === 0) {\n Theme.themeFragmentsByKind.set(kind, fragmentMap);\n // we're adding our first fragment for this kind, set as default\n fragmentMap.set('default', { name, styles });\n Theme.defaultFragments.add(name);\n }\n fragmentMap.set(name, { name, styles });\n Theme.instances.forEach((instance) => instance.shouldAdoptStyles());\n }\n\n private _contextConsumers = new Map<HTMLElement, ProvideLang['callback']>();\n\n private _provideContext(): void {\n this._contextConsumers.forEach((consume) => consume(this.lang));\n }\n\n private _handleContextPresence(event: CustomEvent<ProvideLang>): void {\n const target = event.composedPath()[0] as HTMLElement;\n if (this._contextConsumers.has(target)) {\n this._contextConsumers.delete(target);\n } else {\n this._contextConsumers.set(target, event.detail.callback);\n const callback = this._contextConsumers.get(target);\n if (callback) {\n callback(\n this.lang ||\n document.documentElement.lang ||\n navigator.language\n );\n }\n }\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  /*
2
- Copyright 2020 Adobe. All rights reserved.
2
+ Copyright 2022 Adobe. All rights reserved.
3
3
  This file is licensed to you under the Apache License, Version 2.0 (the "License");
4
4
  you may not use this file except in compliance with the License. You may obtain a copy
5
5
  of the License at http://www.apache.org/licenses/LICENSE-2.0
@@ -37,7 +37,11 @@ const styles = css `
37
37
  --spectrum-global-dimension-static-size-450
38
38
  );--spectrum-alias-item-control-3-width-l:41px;--spectrum-alias-item-control-3-width-xl:46px;--spectrum-alias-item-mark-size-m:var(
39
39
  --spectrum-global-dimension-static-size-325
40
- );--spectrum-alias-control-three-width-m:34px;--spectrum-alias-control-three-width-l:38px;--spectrum-alias-control-three-width-xl:var(
40
+ );--spectrum-alias-component-focusring-border-radius:var(
41
+ --spectrum-alias-focus-ring-border-radius-regular
42
+ );--spectrum-alias-focus-ring-border-radius-small:var(
43
+ --spectrum-global-dimension-size-75
44
+ );--spectrum-alias-focus-ring-border-radius-regular:12px;--spectrum-alias-control-three-width-m:34px;--spectrum-alias-control-three-width-l:38px;--spectrum-alias-control-three-width-xl:var(
41
45
  --spectrum-global-dimension-static-size-550
42
46
  );--spectrum-alias-tag-text-padding-top-s:var(
43
47
  --spectrum-global-dimension-size-40
@@ -3081,8 +3085,6 @@ const styles = css `
3081
3085
  --spectrum-global-dimension-static-size-50
3082
3086
  );--spectrum-picker-m-quiet-texticon-touch-hit-y:var(
3083
3087
  --spectrum-global-dimension-static-size-50
3084
- );--spectrum-picker-m-texticon-popover-offset-x:var(
3085
- --spectrum-global-dimension-static-size-150
3086
3088
  );--spectrum-picker-m-texticon-padding-left:var(
3087
3089
  --spectrum-global-dimension-static-size-150
3088
3090
  );--spectrum-picker-m-texticon-touch-hit-x:var(
@@ -3101,8 +3103,6 @@ const styles = css `
3101
3103
  --spectrum-global-dimension-static-size-50
3102
3104
  );--spectrum-picker-m-quiet-textthumbnail-touch-hit-y:var(
3103
3105
  --spectrum-global-dimension-static-size-50
3104
- );--spectrum-picker-m-textthumbnail-popover-offset-x:var(
3105
- --spectrum-global-dimension-static-size-150
3106
3106
  );--spectrum-picker-m-textthumbnail-padding-left:var(
3107
3107
  --spectrum-global-dimension-static-size-150
3108
3108
  );--spectrum-picker-m-textthumbnail-touch-hit-x:var(