@spectrum-web-components/theme 0.14.0 → 0.14.2

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 (140) hide show
  1. package/README.md +1 -1
  2. package/core.dev.js +1 -0
  3. package/core.dev.js.map +1 -1
  4. package/core.js +1 -1
  5. package/core.js.map +2 -2
  6. package/express/scale-large.dev.js +1 -0
  7. package/express/scale-large.dev.js.map +1 -1
  8. package/express/scale-large.js +1 -1
  9. package/express/scale-large.js.map +2 -2
  10. package/express/scale-medium.dev.js +1 -0
  11. package/express/scale-medium.dev.js.map +1 -1
  12. package/express/scale-medium.js +1 -1
  13. package/express/scale-medium.js.map +2 -2
  14. package/express/theme-dark.dev.js +1 -0
  15. package/express/theme-dark.dev.js.map +1 -1
  16. package/express/theme-dark.js +1 -1
  17. package/express/theme-dark.js.map +2 -2
  18. package/express/theme-darkest.dev.js +1 -0
  19. package/express/theme-darkest.dev.js.map +1 -1
  20. package/express/theme-darkest.js +1 -1
  21. package/express/theme-darkest.js.map +2 -2
  22. package/express/theme-light.dev.js +1 -0
  23. package/express/theme-light.dev.js.map +1 -1
  24. package/express/theme-light.js +1 -1
  25. package/express/theme-light.js.map +2 -2
  26. package/express/theme-lightest.dev.js +1 -0
  27. package/express/theme-lightest.dev.js.map +1 -1
  28. package/express/theme-lightest.js +1 -1
  29. package/express/theme-lightest.js.map +2 -2
  30. package/package.json +3 -3
  31. package/scale-large.dev.js +1 -0
  32. package/scale-large.dev.js.map +1 -1
  33. package/scale-large.js +1 -1
  34. package/scale-large.js.map +2 -2
  35. package/scale-medium.dev.js +1 -0
  36. package/scale-medium.dev.js.map +1 -1
  37. package/scale-medium.js +1 -1
  38. package/scale-medium.js.map +2 -2
  39. package/sp-theme.dev.js +1 -0
  40. package/sp-theme.dev.js.map +1 -1
  41. package/sp-theme.js +1 -1
  42. package/sp-theme.js.map +2 -2
  43. package/src/Theme.dev.js +43 -13
  44. package/src/Theme.dev.js.map +2 -2
  45. package/src/Theme.js +1 -1
  46. package/src/Theme.js.map +2 -2
  47. package/src/express/core.dev.js +1 -0
  48. package/src/express/core.dev.js.map +1 -1
  49. package/src/express/core.js +1 -1
  50. package/src/express/core.js.map +2 -2
  51. package/src/express/scale-large.css.dev.js +2 -15
  52. package/src/express/scale-large.css.dev.js.map +2 -2
  53. package/src/express/scale-large.css.js +2 -16
  54. package/src/express/scale-large.css.js.map +3 -3
  55. package/src/express/scale-medium.css.dev.js +2 -15
  56. package/src/express/scale-medium.css.dev.js.map +2 -2
  57. package/src/express/scale-medium.css.js +2 -16
  58. package/src/express/scale-medium.css.js.map +3 -3
  59. package/src/express/theme-dark.css.dev.js +3 -2
  60. package/src/express/theme-dark.css.dev.js.map +2 -2
  61. package/src/express/theme-dark.css.js +3 -3
  62. package/src/express/theme-dark.css.js.map +3 -3
  63. package/src/express/theme-light.css.dev.js +3 -2
  64. package/src/express/theme-light.css.dev.js.map +2 -2
  65. package/src/express/theme-light.css.js +3 -3
  66. package/src/express/theme-light.css.js.map +3 -3
  67. package/src/express/theme.css.dev.js +28 -3
  68. package/src/express/theme.css.dev.js.map +2 -2
  69. package/src/express/theme.css.js +28 -4
  70. package/src/express/theme.css.js.map +3 -3
  71. package/src/express/themes.dev.js +1 -0
  72. package/src/express/themes.dev.js.map +1 -1
  73. package/src/express/themes.js +1 -1
  74. package/src/express/themes.js.map +1 -1
  75. package/src/index.dev.js +1 -0
  76. package/src/index.dev.js.map +1 -1
  77. package/src/index.js +1 -1
  78. package/src/index.js.map +1 -1
  79. package/src/scale-large.css.dev.js +2 -15
  80. package/src/scale-large.css.dev.js.map +2 -2
  81. package/src/scale-large.css.js +2 -16
  82. package/src/scale-large.css.js.map +3 -3
  83. package/src/scale-medium.css.dev.js +2 -15
  84. package/src/scale-medium.css.dev.js.map +2 -2
  85. package/src/scale-medium.css.js +2 -16
  86. package/src/scale-medium.css.js.map +3 -3
  87. package/src/theme-dark.css.dev.js +3 -2
  88. package/src/theme-dark.css.dev.js.map +2 -2
  89. package/src/theme-dark.css.js +3 -3
  90. package/src/theme-dark.css.js.map +3 -3
  91. package/src/theme-darkest.css.dev.js +3 -2
  92. package/src/theme-darkest.css.dev.js.map +2 -2
  93. package/src/theme-darkest.css.js +3 -3
  94. package/src/theme-darkest.css.js.map +3 -3
  95. package/src/theme-light.css.dev.js +3 -2
  96. package/src/theme-light.css.dev.js.map +2 -2
  97. package/src/theme-light.css.js +3 -3
  98. package/src/theme-light.css.js.map +3 -3
  99. package/src/theme-lightest.css.dev.js +3 -2
  100. package/src/theme-lightest.css.dev.js.map +2 -2
  101. package/src/theme-lightest.css.js +3 -3
  102. package/src/theme-lightest.css.js.map +3 -3
  103. package/src/theme.css.dev.js +28 -3
  104. package/src/theme.css.dev.js.map +2 -2
  105. package/src/theme.css.js +28 -4
  106. package/src/theme.css.js.map +3 -3
  107. package/src/themes.dev.js +1 -0
  108. package/src/themes.dev.js.map +1 -1
  109. package/src/themes.js +1 -1
  110. package/src/themes.js.map +1 -1
  111. package/src/typography.css.dev.js +1 -0
  112. package/src/typography.css.dev.js.map +1 -1
  113. package/src/typography.css.js +1 -1
  114. package/src/typography.css.js.map +2 -2
  115. package/stories/theme.stories.js +56 -14
  116. package/stories/theme.stories.js.map +1 -1
  117. package/test/theme-devmode.test.js +29 -2
  118. package/test/theme-devmode.test.js.map +1 -1
  119. package/test/theme-lazy.test.js +118 -6
  120. package/test/theme-lazy.test.js.map +1 -1
  121. package/test/theme.test-vrt.js +4 -1
  122. package/test/theme.test-vrt.js.map +1 -1
  123. package/test/themes.test.js +145 -10
  124. package/test/themes.test.js.map +1 -1
  125. package/theme-dark.dev.js +1 -0
  126. package/theme-dark.dev.js.map +1 -1
  127. package/theme-dark.js +1 -1
  128. package/theme-dark.js.map +2 -2
  129. package/theme-darkest.dev.js +1 -0
  130. package/theme-darkest.dev.js.map +1 -1
  131. package/theme-darkest.js +1 -1
  132. package/theme-darkest.js.map +2 -2
  133. package/theme-light.dev.js +1 -0
  134. package/theme-light.dev.js.map +1 -1
  135. package/theme-light.js +1 -1
  136. package/theme-light.js.map +2 -2
  137. package/theme-lightest.dev.js +1 -0
  138. package/theme-lightest.dev.js.map +1 -1
  139. package/theme-lightest.js +1 -1
  140. package/theme-lightest.js.map +2 -2
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["theme.stories.ts"],
4
4
  "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*/\nimport '@spectrum-web-components/theme/sp-theme.js';\nimport '@spectrum-web-components/theme/src/themes.js';\nimport '@spectrum-web-components/button/sp-button.js';\nimport '@spectrum-web-components/button-group/sp-button-group.js';\nimport '@spectrum-web-components/switch/sp-switch.js';\nimport '@spectrum-web-components/slider/sp-slider.js';\nimport { html, TemplateResult } from '@spectrum-web-components/base';\nimport { Color } from '../src/index.js';\n\nexport default {\n component: 'sp-theme',\n title: 'Theme',\n argTypes: {\n colorStop: {\n control: {\n type: 'inline-radio',\n options: ['light', 'dark'],\n },\n },\n },\n args: {\n colorStop: 'light',\n },\n};\n\nconst storyStyles = html`\n <style type=\"text/css\">\n #outer,\n #example {\n width: 500px;\n padding: 3em;\n background-color: var(--spectrum-global-color-gray-100);\n color: var(--spectrum-global-color-gray-800);\n }\n\n #inner {\n margin-top: 2em;\n padding: 2em;\n background-color: var(--spectrum-global-color-gray-100);\n color: var(--spectrum-global-color-gray-800);\n }\n\n #buttons {\n margin-top: 2em;\n }\n </style>\n`;\n\nexport const Default = ({\n colorStop: color,\n}: {\n colorStop: Color;\n}): TemplateResult => {\n return html`\n ${storyStyles}\n <sp-theme\n color=\"${color}\"\n theme=${window.__swc_hack_knobs__.defaultThemeVariant}\n >\n <div id=\"example\">\n <div>\n <sp-slider\n value=\"5\"\n step=\"1\"\n min=\"1\"\n max=\"11\"\n label=\"Volume\"\n id=\"volume-slider\"\n ></sp-slider>\n </div>\n <div><sp-switch>Overdrive</sp-switch></div>\n <sp-button-group id=\"buttons\">\n <sp-button variant=\"primary\" treatment=\"outline\">\n Cancel\n </sp-button>\n <sp-button variant=\"accent\">Continue</sp-button>\n </sp-button-group>\n </div>\n </sp-theme>\n `;\n};\n\nexport const displayFlex = (): TemplateResult => html`\n <style type=\"text/css\">\n #flex-theme {\n display: flex;\n flex-direction: row;\n }\n #flex-theme sp-button {\n flex: 0 0;\n }\n #flex-theme #middle-button {\n flex: 1 0;\n }\n </style>\n <sp-theme\n id=\"flex-theme\"\n color=\"dark\"\n theme=${window.__swc_hack_knobs__.defaultThemeVariant}\n >\n <sp-button>Start</sp-button>\n <sp-button id=\"middle-button\">Middle</sp-button>\n <sp-button>End</sp-button>\n </sp-theme>\n`;\n\nexport const none = (): TemplateResult => html`\n ${storyStyles}\n <div id=\"example\">\n <div>\n <sp-slider\n value=\"5\"\n step=\"1\"\n min=\"1\"\n max=\"11\"\n label=\"Volume\"\n id=\"volume-slider\"\n ></sp-slider>\n </div>\n <div><sp-switch>Overdrive</sp-switch></div>\n <sp-button-group id=\"buttons\">\n <sp-button variant=\"primary\" treatment=\"outline\">Cancel</sp-button>\n <sp-button variant=\"accent\">Continue</sp-button>\n </sp-button-group>\n </div>\n <sp-theme></sp-theme>\n`;\n\nexport const nestedTheme = ({\n colorStop: outer,\n}: {\n colorStop: Color;\n}): TemplateResult => {\n const inner = outer === 'light' ? 'dark' : 'light';\n return html`\n ${storyStyles}\n <sp-theme\n color=\"${outer}\"\n theme=${window.__swc_hack_knobs__.defaultThemeVariant}\n >\n <div id=\"outer\">\n <div>\n <sp-slider\n value=\"5\"\n step=\"1\"\n min=\"1\"\n max=\"11\"\n label=\"Volume\"\n id=\"volume-slider\"\n ></sp-slider>\n </div>\n <div><sp-switch>Overdrive</sp-switch></div>\n <sp-button-group id=\"buttons\">\n <sp-button variant=\"primary\" treatment=\"outline\">\n Cancel\n </sp-button>\n <sp-button variant=\"accent\">Continue</sp-button>\n </sp-button-group>\n <sp-theme\n color=\"${inner}\"\n dir=\"ltr\"\n theme=${window.__swc_hack_knobs__.defaultThemeVariant}\n >\n <div id=\"inner\">\n <div>\n <sp-slider\n value=\"5\"\n step=\"1\"\n min=\"1\"\n max=\"11\"\n label=\"Volume\"\n id=\"volume-slider-inner\"\n ></sp-slider>\n </div>\n <div><sp-switch>Overdrive</sp-switch></div>\n <sp-button-group id=\"buttons-inner\">\n <sp-button variant=\"primary\" treatment=\"outline\">\n Cancel\n </sp-button>\n <sp-button variant=\"accent\">Continue</sp-button>\n </sp-button-group>\n </div>\n </sp-theme>\n </div>\n </sp-theme>\n `;\n};\n\nexport const reverseColorNestedTheme = ({\n colorStop: outer,\n}: {\n colorStop: Color;\n}): TemplateResult => {\n const inner = outer === 'light' ? 'dark' : 'light';\n return html`\n <style type=\"text/css\">\n #outer {\n width: 500px;\n padding: 3em;\n background-color: var(--spectrum-global-color-gray-100);\n color: var(--spectrum-global-color-gray-800);\n }\n\n #inner {\n margin-top: 2em;\n padding: 2em;\n background-color: var(--spectrum-global-color-gray-100);\n color: var(--spectrum-global-color-gray-800);\n }\n\n #buttons {\n margin-top: 2em;\n }\n </style>\n <sp-theme\n color=\"${inner}\"\n theme=${window.__swc_hack_knobs__.defaultThemeVariant}\n >\n <div id=\"outer\">\n <div>\n <sp-slider\n value=\"5\"\n step=\"1\"\n min=\"1\"\n max=\"11\"\n label=\"Volume\"\n id=\"volume-slider\"\n ></sp-slider>\n </div>\n <div><sp-switch>Overdrive</sp-switch></div>\n <sp-button-group id=\"buttons\">\n <sp-button variant=\"primary\" treatment=\"outline\">\n Cancel\n </sp-button>\n <sp-button variant=\"accent\">Continue</sp-button>\n </sp-button-group>\n <sp-theme\n color=\"${outer}\"\n dir=\"rtl\"\n theme=${window.__swc_hack_knobs__.defaultThemeVariant}\n >\n <div id=\"inner\">\n <div>\n <sp-slider\n value=\"5\"\n step=\"1\"\n min=\"1\"\n max=\"11\"\n label=\"Volume\"\n id=\"volume-slider-inner\"\n ></sp-slider>\n </div>\n <div><sp-switch>Overdrive</sp-switch></div>\n <sp-button-group id=\"buttons-inner\">\n <sp-button variant=\"primary\" treatment=\"outline\">\n Cancel\n </sp-button>\n <sp-button variant=\"accent\">Continue</sp-button>\n </sp-button-group>\n </div>\n </sp-theme>\n </div>\n </sp-theme>\n `;\n};\n"],
5
- "mappings": "AAWA,mDACA,qDACA,qDACA,iEACA,qDACA,qDACA,qDAGA,cAAe,CACX,UAAW,WACX,MAAO,QACP,SAAU,CACN,UAAW,CACP,QAAS,CACL,KAAM,eACN,QAAS,CAAC,QAAS,MAAM,CAC7B,CACJ,CACJ,EACA,KAAM,CACF,UAAW,OACf,CACJ,EAEA,KAAM,GAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAuBb,YAAM,SAAU,CAAC,CACpB,UAAW,KAIJ;AAAA,UACD;AAAA;AAAA,qBAEW;AAAA,oBACD,OAAO,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAyBjC,YAAc,IAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAgBjC,OAAO,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAQ7B,KAAO,IAAsB;AAAA,MACpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAqBO,YAAc,CAAC,CACxB,UAAW,KAGO,CAClB,KAAM,GAAQ,IAAU,QAAU,OAAS,QAC3C,MAAO;AAAA,UACD;AAAA;AAAA,qBAEW;AAAA,oBACD,OAAO,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAqBjB;AAAA;AAAA,4BAED,OAAO,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,KAyBtD,EAEa,wBAA0B,CAAC,CACpC,UAAW,KAKJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBADO,IAAU,QAAU,OAAS;AAAA,oBAuB3B,OAAO,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAqBjB;AAAA;AAAA,4BAED,OAAO,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;",
5
+ "mappings": ";AAWA,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,OAAO;AACP,SAAS,YAA4B;AAGrC,eAAe;AAAA,EACX,WAAW;AAAA,EACX,OAAO;AAAA,EACP,UAAU;AAAA,IACN,WAAW;AAAA,MACP,SAAS;AAAA,QACL,MAAM;AAAA,QACN,SAAS,CAAC,SAAS,MAAM;AAAA,MAC7B;AAAA,IACJ;AAAA,EACJ;AAAA,EACA,MAAM;AAAA,IACF,WAAW;AAAA,EACf;AACJ;AAEA,MAAM,cAAc;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuBb,aAAM,UAAU,CAAC;AAAA,EACpB,WAAW;AACf,MAEsB;AAClB,SAAO;AAAA,UACD;AAAA;AAAA,qBAEW;AAAA,oBACD,OAAO,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAuB9C;AAEO,aAAM,cAAc,MAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAgBjC,OAAO,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQnC,aAAM,OAAO,MAAsB;AAAA,MACpC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAqBC,aAAM,cAAc,CAAC;AAAA,EACxB,WAAW;AACf,MAEsB;AAClB,QAAM,QAAQ,UAAU,UAAU,SAAS;AAC3C,SAAO;AAAA,UACD;AAAA;AAAA,qBAEW;AAAA,oBACD,OAAO,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAqBjB;AAAA;AAAA,4BAED,OAAO,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBtD;AAEO,aAAM,0BAA0B,CAAC;AAAA,EACpC,WAAW;AACf,MAEsB;AAClB,QAAM,QAAQ,UAAU,UAAU,SAAS;AAC3C,SAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAqBU;AAAA,oBACD,OAAO,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,6BAqBjB;AAAA;AAAA,4BAED,OAAO,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAyBtD;",
6
6
  "names": []
7
7
  }
@@ -1,4 +1,31 @@
1
- import"@spectrum-web-components/theme/sp-theme.js";import{elementUpdated as o,expect as t,fixture as s,html as m}from"@open-wc/testing";import{stub as l}from"sinon";describe("Dev mode",()=>{window.__swc.verbose=!0,it("warns in Dev Mode when no attributes or fragments",async()=>{const e=l(console,"warn"),r=await s(m`
1
+ "use strict";
2
+ import "@spectrum-web-components/theme/sp-theme.js";
3
+ import { elementUpdated, expect, fixture, html } from "@open-wc/testing";
4
+ import { stub } from "sinon";
5
+ describe("Dev mode", () => {
6
+ window.__swc.verbose = true;
7
+ it("warns in Dev Mode when no attributes or fragments", async () => {
8
+ const consoleWarnStub = stub(console, "warn");
9
+ const el = await fixture(
10
+ html`
2
11
  <sp-theme></sp-theme>
3
- `);await o(r),t(e.called).to.be.true;const a=e.getCall(0);t(a.args.at(0).includes("theme delivery"),'confirm "theme delivery"-centric message').to.be.true,t(a.args.at(-1),"confirm `data` shape").to.deep.equal({data:{localName:"sp-theme",type:"api",level:"default"}}),e.restore()})});
12
+ `
13
+ );
14
+ await elementUpdated(el);
15
+ expect(consoleWarnStub.called).to.be.true;
16
+ const spyCall = consoleWarnStub.getCall(0);
17
+ expect(
18
+ spyCall.args.at(0).includes("theme delivery"),
19
+ 'confirm "theme delivery"-centric message'
20
+ ).to.be.true;
21
+ expect(spyCall.args.at(-1), "confirm `data` shape").to.deep.equal({
22
+ data: {
23
+ localName: "sp-theme",
24
+ type: "api",
25
+ level: "default"
26
+ }
27
+ });
28
+ consoleWarnStub.restore();
29
+ });
30
+ });
4
31
  //# sourceMappingURL=theme-devmode.test.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["theme-devmode.test.ts"],
4
4
  "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 '@spectrum-web-components/theme/sp-theme.js';\nimport { Theme } from '@spectrum-web-components/theme';\nimport { elementUpdated, expect, fixture, html } from '@open-wc/testing';\nimport { stub } from 'sinon';\n\ndescribe('Dev mode', () => {\n window.__swc.verbose = true;\n it('warns in Dev Mode when no attributes or fragments', async () => {\n const consoleWarnStub = stub(console, 'warn');\n const el = await fixture<Theme>(\n html`\n <sp-theme></sp-theme>\n `\n );\n\n await elementUpdated(el);\n\n expect(consoleWarnStub.called).to.be.true;\n const spyCall = consoleWarnStub.getCall(0);\n expect(\n spyCall.args.at(0).includes('theme delivery'),\n 'confirm \"theme delivery\"-centric message'\n ).to.be.true;\n expect(spyCall.args.at(-1), 'confirm `data` shape').to.deep.equal({\n data: {\n localName: 'sp-theme',\n type: 'api',\n level: 'default',\n },\n });\n consoleWarnStub.restore();\n });\n});\n"],
5
- "mappings": "AAYA,mDAEA,qFACA,6BAEA,SAAS,WAAY,IAAM,CACvB,OAAO,MAAM,QAAU,GACvB,GAAG,oDAAqD,SAAY,CAChE,KAAM,GAAkB,EAAK,QAAS,MAAM,EACtC,EAAK,KAAM,GACb;AAAA;AAAA,aAGJ,EAEA,KAAM,GAAe,CAAE,EAEvB,EAAO,EAAgB,MAAM,EAAE,GAAG,GAAG,KACrC,KAAM,GAAU,EAAgB,QAAQ,CAAC,EACzC,EACI,EAAQ,KAAK,GAAG,CAAC,EAAE,SAAS,gBAAgB,EAC5C,0CACJ,EAAE,GAAG,GAAG,KACR,EAAO,EAAQ,KAAK,GAAG,EAAE,EAAG,sBAAsB,EAAE,GAAG,KAAK,MAAM,CAC9D,KAAM,CACF,UAAW,WACX,KAAM,MACN,MAAO,SACX,CACJ,CAAC,EACD,EAAgB,QAAQ,CAC5B,CAAC,CACL,CAAC",
5
+ "mappings": ";AAYA,OAAO;AAEP,SAAS,gBAAgB,QAAQ,SAAS,YAAY;AACtD,SAAS,YAAY;AAErB,SAAS,YAAY,MAAM;AACvB,SAAO,MAAM,UAAU;AACvB,KAAG,qDAAqD,YAAY;AAChE,UAAM,kBAAkB,KAAK,SAAS,MAAM;AAC5C,UAAM,KAAK,MAAM;AAAA,MACb;AAAA;AAAA;AAAA,IAGJ;AAEA,UAAM,eAAe,EAAE;AAEvB,WAAO,gBAAgB,MAAM,EAAE,GAAG,GAAG;AACrC,UAAM,UAAU,gBAAgB,QAAQ,CAAC;AACzC;AAAA,MACI,QAAQ,KAAK,GAAG,CAAC,EAAE,SAAS,gBAAgB;AAAA,MAC5C;AAAA,IACJ,EAAE,GAAG,GAAG;AACR,WAAO,QAAQ,KAAK,GAAG,EAAE,GAAG,sBAAsB,EAAE,GAAG,KAAK,MAAM;AAAA,MAC9D,MAAM;AAAA,QACF,WAAW;AAAA,QACX,MAAM;AAAA,QACN,OAAO;AAAA,MACX;AAAA,IACJ,CAAC;AACD,oBAAgB,QAAQ;AAAA,EAC5B,CAAC;AACL,CAAC;",
6
6
  "names": []
7
7
  }
@@ -1,12 +1,124 @@
1
- import"@spectrum-web-components/theme/sp-theme.js";import{Theme as t}from"@spectrum-web-components/theme";import g from"@spectrum-web-components/theme/src/theme.css.js";import r from"@spectrum-web-components/theme/src/theme-light.css.js";import m from"@spectrum-web-components/theme/src/theme-lightest.css.js";import d from"@spectrum-web-components/theme/src/theme-dark.css.js";import n from"@spectrum-web-components/theme/src/theme-darkest.css.js";import i from"@spectrum-web-components/theme/src/scale-large.css.js";import h from"@spectrum-web-components/theme/src/scale-medium.css.js";import{elementUpdated as a,expect as o,fixture as l,html as s}from"@open-wc/testing";describe("Themes - lazy",()=>{beforeEach(()=>{t.themeFragmentsByKind.clear(),t.registerThemeFragment("spectrum","theme",g)}),after(()=>{t.registerThemeFragment("light","color",r),t.registerThemeFragment("lightest","color",m),t.registerThemeFragment("dark","color",d),t.registerThemeFragment("darkest","color",n),t.registerThemeFragment("large","scale",i),t.registerThemeFragment("medium","scale",h)}),it("loads w/ no themes and none set",async()=>{const e=await l(s`
1
+ "use strict";
2
+ import "@spectrum-web-components/theme/sp-theme.js";
3
+ import { Theme } from "@spectrum-web-components/theme";
4
+ import coreStyles from "@spectrum-web-components/theme/src/theme.css.js";
5
+ import lightStyles from "@spectrum-web-components/theme/src/theme-light.css.js";
6
+ import lightestStyles from "@spectrum-web-components/theme/src/theme-lightest.css.js";
7
+ import darkStyles from "@spectrum-web-components/theme/src/theme-dark.css.js";
8
+ import darkestStyles from "@spectrum-web-components/theme/src/theme-darkest.css.js";
9
+ import largeStyles from "@spectrum-web-components/theme/src/scale-large.css.js";
10
+ import mediumStyles from "@spectrum-web-components/theme/src/scale-medium.css.js";
11
+ import { elementUpdated, expect, fixture, html } from "@open-wc/testing";
12
+ describe("Themes - lazy", () => {
13
+ beforeEach(() => {
14
+ Theme.themeFragmentsByKind.clear();
15
+ Theme.registerThemeFragment("spectrum", "theme", coreStyles);
16
+ });
17
+ after(() => {
18
+ Theme.registerThemeFragment("light", "color", lightStyles);
19
+ Theme.registerThemeFragment("lightest", "color", lightestStyles);
20
+ Theme.registerThemeFragment("dark", "color", darkStyles);
21
+ Theme.registerThemeFragment("darkest", "color", darkestStyles);
22
+ Theme.registerThemeFragment("large", "scale", largeStyles);
23
+ Theme.registerThemeFragment("medium", "scale", mediumStyles);
24
+ });
25
+ it("loads w/ no themes and none set", async () => {
26
+ const el = await fixture(
27
+ html`
2
28
  <sp-theme></sp-theme>
3
- `);await a(e),e.shadowRoot.adoptedStyleSheets?o(e.shadowRoot.adoptedStyleSheets.length).to.equal(1):o([...e.shadowRoot.querySelectorAll("style")].length).to.equal(1),o(e.color).to.equal(""),o(e.scale).to.equal("")}),it("loads w/ themes and none set",async()=>{const e=await l(s`
29
+ `
30
+ );
31
+ await elementUpdated(el);
32
+ if (el.shadowRoot.adoptedStyleSheets) {
33
+ expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(1);
34
+ } else {
35
+ expect(
36
+ [...el.shadowRoot.querySelectorAll("style")].length
37
+ ).to.equal(1);
38
+ }
39
+ expect(el.color).to.equal("");
40
+ expect(el.scale).to.equal("");
41
+ });
42
+ it("loads w/ themes and none set", async () => {
43
+ const el = await fixture(
44
+ html`
4
45
  <sp-theme></sp-theme>
5
- `);await a(e),t.registerThemeFragment("light","color",r),t.registerThemeFragment("medium","scale",h),await a(e),e.shadowRoot.adoptedStyleSheets?o(e.shadowRoot.adoptedStyleSheets.length).to.equal(1):o([...e.shadowRoot.querySelectorAll("style")].length).to.equal(1),o(e.color).to.equal("light"),o(e.scale).to.equal("medium")}),it("loads w/ no themes",async()=>{const e=await l(s`
46
+ `
47
+ );
48
+ await elementUpdated(el);
49
+ Theme.registerThemeFragment("light", "color", lightStyles);
50
+ Theme.registerThemeFragment("medium", "scale", mediumStyles);
51
+ await elementUpdated(el);
52
+ if (el.shadowRoot.adoptedStyleSheets) {
53
+ expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(1);
54
+ } else {
55
+ expect(
56
+ [...el.shadowRoot.querySelectorAll("style")].length
57
+ ).to.equal(1);
58
+ }
59
+ expect(el.color).to.equal("light");
60
+ expect(el.scale).to.equal("medium");
61
+ });
62
+ it("loads w/ no themes", async () => {
63
+ const el = await fixture(
64
+ html`
6
65
  <sp-theme color="lightest" scale="large"></sp-theme>
7
- `);await a(e),e.shadowRoot.adoptedStyleSheets?o(e.shadowRoot.adoptedStyleSheets.length).to.equal(1):o([...e.shadowRoot.querySelectorAll("style")].length).to.equal(1)}),it("loads w/ not enough themes",async()=>{const e=await l(s`
66
+ `
67
+ );
68
+ await elementUpdated(el);
69
+ if (el.shadowRoot.adoptedStyleSheets) {
70
+ expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(1);
71
+ } else {
72
+ expect(
73
+ [...el.shadowRoot.querySelectorAll("style")].length
74
+ ).to.equal(1);
75
+ }
76
+ });
77
+ it("loads w/ not enough themes", async () => {
78
+ const el = await fixture(
79
+ html`
8
80
  <sp-theme color="lightest" scale="large"></sp-theme>
9
- `);await a(e),t.registerThemeFragment("light","color",r),t.registerThemeFragment("medium","scale",h),await a(e),e.shadowRoot.adoptedStyleSheets?o(e.shadowRoot.adoptedStyleSheets.length).to.equal(1):o([...e.shadowRoot.querySelectorAll("style")].length).to.equal(1)}),it("loads w/ lazy themes",async()=>{const e=await l(s`
81
+ `
82
+ );
83
+ await elementUpdated(el);
84
+ Theme.registerThemeFragment("light", "color", lightStyles);
85
+ Theme.registerThemeFragment("medium", "scale", mediumStyles);
86
+ await elementUpdated(el);
87
+ if (el.shadowRoot.adoptedStyleSheets) {
88
+ expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(1);
89
+ } else {
90
+ expect(
91
+ [...el.shadowRoot.querySelectorAll("style")].length
92
+ ).to.equal(1);
93
+ }
94
+ });
95
+ it("loads w/ lazy themes", async () => {
96
+ const el = await fixture(
97
+ html`
10
98
  <sp-theme color="lightest" scale="large"></sp-theme>
11
- `);await a(e),t.registerThemeFragment("light","color",r),t.registerThemeFragment("medium","scale",h),await a(e),e.shadowRoot.adoptedStyleSheets?o(e.shadowRoot.adoptedStyleSheets.length).to.equal(1):o([...e.shadowRoot.querySelectorAll("style")].length).to.equal(1),t.registerThemeFragment("lightest","color",m),t.registerThemeFragment("large","scale",i),await a(e),e.shadowRoot.adoptedStyleSheets?o(e.shadowRoot.adoptedStyleSheets.length).to.equal(3):o([...e.shadowRoot.querySelectorAll("style")].length).to.equal(3)})});
99
+ `
100
+ );
101
+ await elementUpdated(el);
102
+ Theme.registerThemeFragment("light", "color", lightStyles);
103
+ Theme.registerThemeFragment("medium", "scale", mediumStyles);
104
+ await elementUpdated(el);
105
+ if (el.shadowRoot.adoptedStyleSheets) {
106
+ expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(1);
107
+ } else {
108
+ expect(
109
+ [...el.shadowRoot.querySelectorAll("style")].length
110
+ ).to.equal(1);
111
+ }
112
+ Theme.registerThemeFragment("lightest", "color", lightestStyles);
113
+ Theme.registerThemeFragment("large", "scale", largeStyles);
114
+ await elementUpdated(el);
115
+ if (el.shadowRoot.adoptedStyleSheets) {
116
+ expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(3);
117
+ } else {
118
+ expect(
119
+ [...el.shadowRoot.querySelectorAll("style")].length
120
+ ).to.equal(3);
121
+ }
122
+ });
123
+ });
12
124
  //# sourceMappingURL=theme-lazy.test.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["theme-lazy.test.ts"],
4
4
  "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 '@spectrum-web-components/theme/sp-theme.js';\nimport { Theme, ThemeFragmentMap } from '@spectrum-web-components/theme';\nimport coreStyles from '@spectrum-web-components/theme/src/theme.css.js';\nimport lightStyles from '@spectrum-web-components/theme/src/theme-light.css.js';\nimport lightestStyles from '@spectrum-web-components/theme/src/theme-lightest.css.js';\nimport darkStyles from '@spectrum-web-components/theme/src/theme-dark.css.js';\nimport darkestStyles from '@spectrum-web-components/theme/src/theme-darkest.css.js';\nimport largeStyles from '@spectrum-web-components/theme/src/scale-large.css.js';\nimport mediumStyles from '@spectrum-web-components/theme/src/scale-medium.css.js';\nimport { elementUpdated, expect, fixture, html } from '@open-wc/testing';\n\ntype TestableThemeConstructor = {\n instances: Set<Theme>;\n themeFragmentsByKind: ThemeFragmentMap;\n};\n\ndescribe('Themes - lazy', () => {\n beforeEach(() => {\n (\n Theme as unknown as TestableThemeConstructor\n ).themeFragmentsByKind.clear();\n // Core is registered by default in `theme.ts`\n Theme.registerThemeFragment('spectrum', 'theme', coreStyles);\n });\n after(() => {\n Theme.registerThemeFragment('light', 'color', lightStyles);\n Theme.registerThemeFragment('lightest', 'color', lightestStyles);\n Theme.registerThemeFragment('dark', 'color', darkStyles);\n Theme.registerThemeFragment('darkest', 'color', darkestStyles);\n Theme.registerThemeFragment('large', 'scale', largeStyles);\n Theme.registerThemeFragment('medium', 'scale', mediumStyles);\n });\n it('loads w/ no themes and none set', async () => {\n const el = await fixture<Theme>(\n html`\n <sp-theme></sp-theme>\n `\n );\n\n await elementUpdated(el);\n\n if (el.shadowRoot.adoptedStyleSheets) {\n expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(1);\n } else {\n expect(\n [...el.shadowRoot.querySelectorAll('style')].length\n ).to.equal(1);\n }\n expect(el.color).to.equal('');\n expect(el.scale).to.equal('');\n });\n it('loads w/ themes and none set', async () => {\n const el = await fixture<Theme>(\n html`\n <sp-theme></sp-theme>\n `\n );\n\n await elementUpdated(el);\n\n Theme.registerThemeFragment('light', 'color', lightStyles);\n Theme.registerThemeFragment('medium', 'scale', mediumStyles);\n\n await elementUpdated(el);\n\n if (el.shadowRoot.adoptedStyleSheets) {\n expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(1);\n } else {\n expect(\n [...el.shadowRoot.querySelectorAll('style')].length\n ).to.equal(1);\n }\n expect(el.color).to.equal('light');\n expect(el.scale).to.equal('medium');\n });\n it('loads w/ no themes', async () => {\n const el = await fixture<Theme>(\n html`\n <sp-theme color=\"lightest\" scale=\"large\"></sp-theme>\n `\n );\n\n await elementUpdated(el);\n\n if (el.shadowRoot.adoptedStyleSheets) {\n expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(1);\n } else {\n expect(\n [...el.shadowRoot.querySelectorAll('style')].length\n ).to.equal(1);\n }\n });\n it('loads w/ not enough themes', async () => {\n const el = await fixture<Theme>(\n html`\n <sp-theme color=\"lightest\" scale=\"large\"></sp-theme>\n `\n );\n\n await elementUpdated(el);\n\n Theme.registerThemeFragment('light', 'color', lightStyles);\n Theme.registerThemeFragment('medium', 'scale', mediumStyles);\n\n await elementUpdated(el);\n\n if (el.shadowRoot.adoptedStyleSheets) {\n expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(1);\n } else {\n expect(\n [...el.shadowRoot.querySelectorAll('style')].length\n ).to.equal(1);\n }\n });\n it('loads w/ lazy themes', async () => {\n const el = await fixture<Theme>(\n html`\n <sp-theme color=\"lightest\" scale=\"large\"></sp-theme>\n `\n );\n\n await elementUpdated(el);\n\n Theme.registerThemeFragment('light', 'color', lightStyles);\n Theme.registerThemeFragment('medium', 'scale', mediumStyles);\n\n await elementUpdated(el);\n\n if (el.shadowRoot.adoptedStyleSheets) {\n expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(1);\n } else {\n expect(\n [...el.shadowRoot.querySelectorAll('style')].length\n ).to.equal(1);\n }\n\n Theme.registerThemeFragment('lightest', 'color', lightestStyles);\n Theme.registerThemeFragment('large', 'scale', largeStyles);\n\n await elementUpdated(el);\n\n if (el.shadowRoot.adoptedStyleSheets) {\n expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(3);\n } else {\n expect(\n [...el.shadowRoot.querySelectorAll('style')].length\n ).to.equal(3);\n }\n });\n});\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
@@ -1,2 +1,5 @@
1
- import*as r from"../stories/theme.stories.js";import{regressVisuals as s}from"../../../test/visual/test.js";s("ThemeStories",r);
1
+ "use strict";
2
+ import * as stories from "../stories/theme.stories.js";
3
+ import { regressVisuals } from "../../../test/visual/test.js";
4
+ regressVisuals("ThemeStories", stories);
2
5
  //# sourceMappingURL=theme.test-vrt.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["theme.test-vrt.ts"],
4
4
  "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 * as stories from '../stories/theme.stories.js';\nimport { regressVisuals } from '../../../test/visual/test.js';\n\nregressVisuals('ThemeStories', stories);\n"],
5
- "mappings": "AAYA,8CACA,8DAEA,EAAe,eAAgB,CAAO",
5
+ "mappings": ";AAYA,YAAY,aAAa;AACzB,SAAS,sBAAsB;AAE/B,eAAe,gBAAgB,OAAO;",
6
6
  "names": []
7
7
  }
@@ -1,16 +1,86 @@
1
- import"@spectrum-web-components/theme/sp-theme.js";import"@spectrum-web-components/theme/src/themes.js";import{Theme as i}from"@spectrum-web-components/theme";import{elementUpdated as s,expect as t,fixture as o,html as l}from"@open-wc/testing";import{css as d}from"@spectrum-web-components/base";describe("Themes",()=>{it("loads - light",async()=>{const e=await o(l`
1
+ "use strict";
2
+ import "@spectrum-web-components/theme/sp-theme.js";
3
+ import "@spectrum-web-components/theme/src/themes.js";
4
+ import { Theme } from "@spectrum-web-components/theme";
5
+ import { elementUpdated, expect, fixture, html } from "@open-wc/testing";
6
+ import { css } from "@spectrum-web-components/base";
7
+ describe("Themes", () => {
8
+ it("loads - light", async () => {
9
+ const el = await fixture(
10
+ html`
2
11
  <sp-theme theme="classic" color="light"></sp-theme>
3
- `);await s(e),t(e).to.exist,t(e).shadowDom.to.exist}),it("loads - dark",async()=>{const e=await o(l`
12
+ `
13
+ );
14
+ await elementUpdated(el);
15
+ expect(el).to.exist;
16
+ expect(el).shadowDom.to.exist;
17
+ });
18
+ it("loads - dark", async () => {
19
+ const el = await fixture(
20
+ html`
4
21
  <sp-theme color="dark"></sp-theme>
5
- `);await s(e),t(e).to.exist,t(e).shadowDom.to.exist}),it("loads - unkown",async()=>{const e=await o(l`
22
+ `
23
+ );
24
+ await elementUpdated(el);
25
+ expect(el).to.exist;
26
+ expect(el).shadowDom.to.exist;
27
+ });
28
+ it("loads - unkown", async () => {
29
+ const el = await fixture(
30
+ html`
6
31
  <sp-theme color="unknown" scale="unknown"></sp-theme>
7
- `);await s(e),t(e).to.exist,t(e).shadowDom.to.exist}),it("adds an instance only once",async()=>{const e=await o(l`
32
+ `
33
+ );
34
+ await elementUpdated(el);
35
+ expect(el).to.exist;
36
+ expect(el).shadowDom.to.exist;
37
+ });
38
+ it("adds an instance only once", async () => {
39
+ const el = await fixture(
40
+ html`
8
41
  <sp-theme theme="express"></sp-theme>
9
- `);await s(e);const a=i;t(a.instances.has(e),"first").to.be.true,t(a.instances.size).to.equal(1),e.remove(),t(a.instances.has(e),"second").to.be.false,t(a.instances.size).to.equal(0),document.body.append(e),t(a.instances.has(e),"third").to.be.true,t(a.instances.size).to.equal(1)})}),describe("Lightest",()=>{it("loads",async()=>{const e=await o(l`
42
+ `
43
+ );
44
+ await elementUpdated(el);
45
+ const testableTheme = Theme;
46
+ expect(testableTheme.instances.has(el), "first").to.be.true;
47
+ expect(testableTheme.instances.size).to.equal(1);
48
+ el.remove();
49
+ expect(testableTheme.instances.has(el), "second").to.be.false;
50
+ expect(testableTheme.instances.size).to.equal(0);
51
+ document.body.append(el);
52
+ expect(testableTheme.instances.has(el), "third").to.be.true;
53
+ expect(testableTheme.instances.size).to.equal(1);
54
+ });
55
+ });
56
+ describe("Lightest", () => {
57
+ it("loads", async () => {
58
+ const el = await fixture(
59
+ html`
10
60
  <sp-theme color="lightest"></sp-theme>
11
- `);await s(e),t(e).to.exist,t(e).shadowDom.to.exist})}),describe("Medium",()=>{it("loads",async()=>{const e=await o(l`
61
+ `
62
+ );
63
+ await elementUpdated(el);
64
+ expect(el).to.exist;
65
+ expect(el).shadowDom.to.exist;
66
+ });
67
+ });
68
+ describe("Medium", () => {
69
+ it("loads", async () => {
70
+ const el = await fixture(
71
+ html`
12
72
  <sp-theme scale="medium"></sp-theme>
13
- `);await s(e),t(e).to.exist,t(e).shadowDom.to.exist})}),describe("App styles",()=>{it("applies app fragments",async()=>{const e=await o(l`
73
+ `
74
+ );
75
+ await elementUpdated(el);
76
+ expect(el).to.exist;
77
+ expect(el).shadowDom.to.exist;
78
+ });
79
+ });
80
+ describe("App styles", () => {
81
+ it("applies app fragments", async () => {
82
+ const el = await fixture(
83
+ html`
14
84
  <sp-theme color="light">
15
85
  <style>
16
86
  div {
@@ -19,11 +89,76 @@ import"@spectrum-web-components/theme/sp-theme.js";import"@spectrum-web-componen
19
89
  </style>
20
90
  <div></div>
21
91
  </sp-theme>
22
- `),a=e.querySelector("div");await s(e);const h=getComputedStyle(a);t(h.paddingBlockStart).to.equal("0px"),i.registerThemeFragment("app","app",d`
92
+ `
93
+ );
94
+ const div = el.querySelector("div");
95
+ await elementUpdated(el);
96
+ const preStylesDiv = getComputedStyle(div);
97
+ expect(preStylesDiv.paddingBlockStart).to.equal("0px");
98
+ Theme.registerThemeFragment(
99
+ "app",
100
+ "app",
101
+ css`
23
102
  :host {
24
103
  --app-padding: 10px;
25
104
  }
26
- `),await s(e);const n=getComputedStyle(a);t(n.paddingBlockStart).to.equal("10px"),i.themeFragmentsByKind.delete("app")})}),describe("Setting attributes",()=>{it("loads",async()=>{const e=await o(l`
105
+ `
106
+ );
107
+ await elementUpdated(el);
108
+ const postStylesDiv = getComputedStyle(div);
109
+ expect(postStylesDiv.paddingBlockStart).to.equal("10px");
110
+ Theme.themeFragmentsByKind.delete("app");
111
+ });
112
+ });
113
+ describe("Setting attributes", () => {
114
+ it("loads", async () => {
115
+ const el = await fixture(
116
+ html`
27
117
  <sp-theme color="light"></sp-theme>
28
- `);await s(e),t(e).to.not.be.undefined,t(e.hasAttribute("scale")).to.be.false,e.shadowRoot.adoptedStyleSheets?t(e.shadowRoot.adoptedStyleSheets.length).to.equal(2):t([...e.shadowRoot.querySelectorAll("style")].length).to.equal(2),await s(e),e.setAttribute("scale","fish"),t(e.getAttribute("scale")).to.equal("medium"),e.shadowRoot.adoptedStyleSheets?t(e.shadowRoot.adoptedStyleSheets.length).to.equal(2):t([...e.shadowRoot.querySelectorAll("style")].length).to.equal(2),e.color="dark",e.scale="medium",await s(e),t(e.getAttribute("color")).to.equal("dark"),t(e.getAttribute("scale")).to.equal("medium"),e.shadowRoot.adoptedStyleSheets?t(e.shadowRoot.adoptedStyleSheets.length,"all").to.equal(3):t([...e.shadowRoot.querySelectorAll("style")].length).to.equal(3),e.setAttribute("color","fish"),await s(e),t(e.getAttribute("color")).to.equal("dark"),e.shadowRoot.adoptedStyleSheets?t(e.shadowRoot.adoptedStyleSheets.length,"last").to.equal(3):t([...e.shadowRoot.querySelectorAll("style")].length).to.equal(3)})});
118
+ `
119
+ );
120
+ await elementUpdated(el);
121
+ expect(el).to.not.be.undefined;
122
+ expect(el.hasAttribute("scale")).to.be.false;
123
+ if (el.shadowRoot.adoptedStyleSheets) {
124
+ expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(2);
125
+ } else {
126
+ expect(
127
+ [...el.shadowRoot.querySelectorAll("style")].length
128
+ ).to.equal(2);
129
+ }
130
+ await elementUpdated(el);
131
+ el.setAttribute("scale", "fish");
132
+ expect(el.getAttribute("scale")).to.equal("medium");
133
+ if (el.shadowRoot.adoptedStyleSheets) {
134
+ expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(2);
135
+ } else {
136
+ expect(
137
+ [...el.shadowRoot.querySelectorAll("style")].length
138
+ ).to.equal(2);
139
+ }
140
+ el.color = "dark";
141
+ el.scale = "medium";
142
+ await elementUpdated(el);
143
+ expect(el.getAttribute("color")).to.equal("dark");
144
+ expect(el.getAttribute("scale")).to.equal("medium");
145
+ if (el.shadowRoot.adoptedStyleSheets) {
146
+ expect(el.shadowRoot.adoptedStyleSheets.length, "all").to.equal(3);
147
+ } else {
148
+ expect(
149
+ [...el.shadowRoot.querySelectorAll("style")].length
150
+ ).to.equal(3);
151
+ }
152
+ el.setAttribute("color", "fish");
153
+ await elementUpdated(el);
154
+ expect(el.getAttribute("color")).to.equal("dark");
155
+ if (el.shadowRoot.adoptedStyleSheets) {
156
+ expect(el.shadowRoot.adoptedStyleSheets.length, "last").to.equal(3);
157
+ } else {
158
+ expect(
159
+ [...el.shadowRoot.querySelectorAll("style")].length
160
+ ).to.equal(3);
161
+ }
162
+ });
163
+ });
29
164
  //# sourceMappingURL=themes.test.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["themes.test.ts"],
4
4
  "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 '@spectrum-web-components/theme/sp-theme.js';\nimport '@spectrum-web-components/theme/src/themes.js';\nimport { Theme, ThemeFragmentMap } from '@spectrum-web-components/theme';\nimport { elementUpdated, expect, fixture, html } from '@open-wc/testing';\nimport { css } from '@spectrum-web-components/base';\n\ntype TestableThemeConstructor = {\n instances: Set<Theme>;\n themeFragmentsByKind: ThemeFragmentMap;\n};\n\ndescribe('Themes', () => {\n it('loads - light', async () => {\n const el = await fixture<Theme>(\n html`\n <sp-theme theme=\"classic\" color=\"light\"></sp-theme>\n `\n );\n\n await elementUpdated(el);\n\n expect(el).to.exist;\n expect(el).shadowDom.to.exist;\n });\n it('loads - dark', async () => {\n const el = await fixture<Theme>(\n html`\n <sp-theme color=\"dark\"></sp-theme>\n `\n );\n\n await elementUpdated(el);\n\n expect(el).to.exist;\n expect(el).shadowDom.to.exist;\n });\n it('loads - unkown', async () => {\n const el = await fixture<Theme>(\n html`\n <sp-theme color=\"unknown\" scale=\"unknown\"></sp-theme>\n `\n );\n\n await elementUpdated(el);\n\n expect(el).to.exist;\n expect(el).shadowDom.to.exist;\n });\n it('adds an instance only once', async () => {\n const el = await fixture<Theme>(\n html`\n <sp-theme theme=\"express\"></sp-theme>\n `\n );\n\n await elementUpdated(el);\n const testableTheme = Theme as unknown as TestableThemeConstructor;\n expect(testableTheme.instances.has(el), 'first').to.be.true;\n expect(testableTheme.instances.size).to.equal(1);\n\n el.remove();\n expect(testableTheme.instances.has(el), 'second').to.be.false;\n expect(testableTheme.instances.size).to.equal(0);\n\n document.body.append(el);\n expect(testableTheme.instances.has(el), 'third').to.be.true;\n expect(testableTheme.instances.size).to.equal(1);\n });\n});\n\ndescribe('Lightest', () => {\n it('loads', async () => {\n const el = await fixture<Theme>(\n html`\n <sp-theme color=\"lightest\"></sp-theme>\n `\n );\n\n await elementUpdated(el);\n\n expect(el).to.exist;\n expect(el).shadowDom.to.exist;\n });\n});\n\ndescribe('Medium', () => {\n it('loads', async () => {\n const el = await fixture<Theme>(\n html`\n <sp-theme scale=\"medium\"></sp-theme>\n `\n );\n\n await elementUpdated(el);\n\n expect(el).to.exist;\n expect(el).shadowDom.to.exist;\n });\n});\n\ndescribe('App styles', () => {\n it('applies app fragments', async () => {\n const el = await fixture<Theme>(\n html`\n <sp-theme color=\"light\">\n <style>\n div {\n padding: var(--app-padding);\n }\n </style>\n <div></div>\n </sp-theme>\n `\n );\n const div = el.querySelector('div') as HTMLDivElement;\n\n await elementUpdated(el);\n\n const preStylesDiv = getComputedStyle(div);\n expect(preStylesDiv.paddingBlockStart).to.equal('0px');\n\n Theme.registerThemeFragment(\n 'app',\n 'app',\n css`\n :host {\n --app-padding: 10px;\n }\n `\n );\n await elementUpdated(el);\n\n const postStylesDiv = getComputedStyle(div);\n expect(postStylesDiv.paddingBlockStart).to.equal('10px');\n\n (\n Theme as unknown as TestableThemeConstructor\n ).themeFragmentsByKind.delete('app');\n });\n});\n\ndescribe('Setting attributes', () => {\n it('loads', async () => {\n const el = await fixture<Theme>(\n html`\n <sp-theme color=\"light\"></sp-theme>\n `\n );\n\n await elementUpdated(el);\n\n expect(el).to.not.be.undefined;\n expect(el.hasAttribute('scale')).to.be.false;\n\n if (el.shadowRoot.adoptedStyleSheets) {\n expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(2);\n } else {\n expect(\n [...el.shadowRoot.querySelectorAll('style')].length\n ).to.equal(2);\n }\n\n await elementUpdated(el);\n\n // Invalid initial value falls back to default\n el.setAttribute('scale', 'fish');\n expect(el.getAttribute('scale')).to.equal('medium');\n\n if (el.shadowRoot.adoptedStyleSheets) {\n expect(el.shadowRoot.adoptedStyleSheets.length).to.equal(2);\n } else {\n expect(\n [...el.shadowRoot.querySelectorAll('style')].length\n ).to.equal(2);\n }\n\n el.color = 'dark';\n el.scale = 'medium';\n\n await elementUpdated(el);\n expect(el.getAttribute('color')).to.equal('dark');\n expect(el.getAttribute('scale')).to.equal('medium');\n\n if (el.shadowRoot.adoptedStyleSheets) {\n expect(el.shadowRoot.adoptedStyleSheets.length, 'all').to.equal(3);\n } else {\n expect(\n [...el.shadowRoot.querySelectorAll('style')].length\n ).to.equal(3);\n }\n\n // Invalid second + value fallsback to previous\n el.setAttribute('color', 'fish');\n\n await elementUpdated(el);\n expect(el.getAttribute('color')).to.equal('dark');\n\n if (el.shadowRoot.adoptedStyleSheets) {\n expect(el.shadowRoot.adoptedStyleSheets.length, 'last').to.equal(3);\n } else {\n expect(\n [...el.shadowRoot.querySelectorAll('style')].length\n ).to.equal(3);\n }\n });\n});\n"],
5
- "mappings": "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",
5
+ "mappings": "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",
6
6
  "names": []
7
7
  }
package/theme-dark.dev.js CHANGED
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  import darkStyles from "./src/theme-dark.css.js";
2
3
  import { Theme } from "./src/Theme.dev.js";
3
4
  import "./core.dev.js";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["theme-dark.ts"],
4
4
  "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/theme-dark.css.js';\nimport { Theme } from './src/Theme.dev.js'\nimport './core.dev.js'\n\nTheme.registerThemeFragment('dark', 'color', darkStyles);\n"],
5
- "mappings": "AAYA;AACA;AACA;AAEA,MAAM,sBAAsB,QAAQ,SAAS,UAAU;",
5
+ "mappings": ";AAYA,OAAO,gBAAgB;AACvB,SAAS,aAAa;AACtB,OAAO;AAEP,MAAM,sBAAsB,QAAQ,SAAS,UAAU;",
6
6
  "names": []
7
7
  }
package/theme-dark.js CHANGED
@@ -1,2 +1,2 @@
1
- import r from"./src/theme-dark.css.js";import{Theme as e}from"./src/Theme.js";import"./core.js";e.registerThemeFragment("dark","color",r);
1
+ "use strict";import r from"./src/theme-dark.css.js";import{Theme as e}from"./src/Theme.js";import"./core.js";e.registerThemeFragment("dark","color",r);
2
2
  //# sourceMappingURL=theme-dark.js.map
package/theme-dark.js.map CHANGED
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["theme-dark.ts"],
4
4
  "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/theme-dark.css.js';\nimport { Theme } from './src/Theme.js';\nimport './core.js';\n\nTheme.registerThemeFragment('dark', 'color', darkStyles);\n"],
5
- "mappings": "AAYA,uCACA,uCACA,kBAEA,EAAM,sBAAsB,OAAQ,QAAS,CAAU",
6
- "names": []
5
+ "mappings": "aAYA,OAAOA,MAAgB,0BACvB,OAAS,SAAAC,MAAa,iBACtB,MAAO,YAEPA,EAAM,sBAAsB,OAAQ,QAASD,CAAU",
6
+ "names": ["darkStyles", "Theme"]
7
7
  }
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  import darkStyles from "./src/theme-darkest.css.js";
2
3
  import { Theme } from "./src/Theme.dev.js";
3
4
  import "./core.dev.js";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["theme-darkest.ts"],
4
4
  "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/theme-darkest.css.js';\nimport { Theme } from './src/Theme.dev.js'\nimport './core.dev.js'\n\nTheme.registerThemeFragment('darkest', 'color', darkStyles);\n"],
5
- "mappings": "AAYA;AACA;AACA;AAEA,MAAM,sBAAsB,WAAW,SAAS,UAAU;",
5
+ "mappings": ";AAYA,OAAO,gBAAgB;AACvB,SAAS,aAAa;AACtB,OAAO;AAEP,MAAM,sBAAsB,WAAW,SAAS,UAAU;",
6
6
  "names": []
7
7
  }
package/theme-darkest.js CHANGED
@@ -1,2 +1,2 @@
1
- import r from"./src/theme-darkest.css.js";import{Theme as e}from"./src/Theme.js";import"./core.js";e.registerThemeFragment("darkest","color",r);
1
+ "use strict";import r from"./src/theme-darkest.css.js";import{Theme as e}from"./src/Theme.js";import"./core.js";e.registerThemeFragment("darkest","color",r);
2
2
  //# sourceMappingURL=theme-darkest.js.map
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["theme-darkest.ts"],
4
4
  "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/theme-darkest.css.js';\nimport { Theme } from './src/Theme.js';\nimport './core.js';\n\nTheme.registerThemeFragment('darkest', 'color', darkStyles);\n"],
5
- "mappings": "AAYA,0CACA,uCACA,kBAEA,EAAM,sBAAsB,UAAW,QAAS,CAAU",
6
- "names": []
5
+ "mappings": "aAYA,OAAOA,MAAgB,6BACvB,OAAS,SAAAC,MAAa,iBACtB,MAAO,YAEPA,EAAM,sBAAsB,UAAW,QAASD,CAAU",
6
+ "names": ["darkStyles", "Theme"]
7
7
  }
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  import lightStyles from "./src/theme-light.css.js";
2
3
  import { Theme } from "./src/Theme.dev.js";
3
4
  import "./core.dev.js";
@@ -2,6 +2,6 @@
2
2
  "version": 3,
3
3
  "sources": ["theme-light.ts"],
4
4
  "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/theme-light.css.js';\nimport { Theme } from './src/Theme.dev.js'\nimport './core.dev.js'\n\nTheme.registerThemeFragment('light', 'color', lightStyles);\n"],
5
- "mappings": "AAYA;AACA;AACA;AAEA,MAAM,sBAAsB,SAAS,SAAS,WAAW;",
5
+ "mappings": ";AAYA,OAAO,iBAAiB;AACxB,SAAS,aAAa;AACtB,OAAO;AAEP,MAAM,sBAAsB,SAAS,SAAS,WAAW;",
6
6
  "names": []
7
7
  }
package/theme-light.js CHANGED
@@ -1,2 +1,2 @@
1
- import r from"./src/theme-light.css.js";import{Theme as e}from"./src/Theme.js";import"./core.js";e.registerThemeFragment("light","color",r);
1
+ "use strict";import r from"./src/theme-light.css.js";import{Theme as e}from"./src/Theme.js";import"./core.js";e.registerThemeFragment("light","color",r);
2
2
  //# sourceMappingURL=theme-light.js.map