@universal-material/web 3.0.28 → 3.0.29

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 (193) hide show
  1. package/app-bar/top-app-bar.styles.js +1 -1
  2. package/app-bar/top-app-bar.styles.js.map +1 -1
  3. package/button/button.js +1 -1
  4. package/button/button.js.map +1 -1
  5. package/button/button.styles.d.ts.map +1 -1
  6. package/button/button.styles.js +10 -5
  7. package/button/button.styles.js.map +1 -1
  8. package/button/icon-button.styles.d.ts.map +1 -1
  9. package/button/icon-button.styles.js +10 -3
  10. package/button/icon-button.styles.js.map +1 -1
  11. package/card/card.styles.d.ts.map +1 -1
  12. package/card/card.styles.js +0 -4
  13. package/card/card.styles.js.map +1 -1
  14. package/checkbox/checkbox-list-item.d.ts +11 -0
  15. package/checkbox/checkbox-list-item.d.ts.map +1 -0
  16. package/checkbox/checkbox-list-item.js +16 -0
  17. package/checkbox/checkbox-list-item.js.map +1 -0
  18. package/checkbox/checkbox.d.ts +13 -8
  19. package/checkbox/checkbox.d.ts.map +1 -1
  20. package/checkbox/checkbox.js +51 -52
  21. package/checkbox/checkbox.js.map +1 -1
  22. package/{container/container.styles.d.ts → checkbox/checkbox.styles.d.ts} +1 -1
  23. package/checkbox/checkbox.styles.d.ts.map +1 -0
  24. package/checkbox/checkbox.styles.js +126 -0
  25. package/checkbox/checkbox.styles.js.map +1 -0
  26. package/config.d.ts +3 -0
  27. package/config.d.ts.map +1 -1
  28. package/config.js +3 -0
  29. package/config.js.map +1 -1
  30. package/css/universal-material.css +3343 -327
  31. package/css/universal-material.min.css +2 -2
  32. package/custom-elements.json +3988 -2145
  33. package/field/field.d.ts +57 -0
  34. package/field/field.d.ts.map +1 -0
  35. package/field/field.js +167 -0
  36. package/field/field.js.map +1 -0
  37. package/{divider/divider.styles.d.ts → field/field.styles.d.ts} +1 -1
  38. package/field/field.styles.d.ts.map +1 -0
  39. package/field/field.styles.js +289 -0
  40. package/field/field.styles.js.map +1 -0
  41. package/index.d.ts +35 -26
  42. package/index.d.ts.map +1 -1
  43. package/index.js +35 -26
  44. package/index.js.map +1 -1
  45. package/list/list-item.d.ts +13 -0
  46. package/list/list-item.d.ts.map +1 -0
  47. package/list/list-item.js +33 -0
  48. package/list/list-item.js.map +1 -0
  49. package/{container/grid-base.styles.d.ts → list/list-item.styles.d.ts} +1 -1
  50. package/list/list-item.styles.d.ts.map +1 -0
  51. package/list/list-item.styles.js +22 -0
  52. package/list/list-item.styles.js.map +1 -0
  53. package/list/list.d.ts +11 -0
  54. package/list/list.d.ts.map +1 -0
  55. package/{container/container.js → list/list.js} +9 -16
  56. package/list/list.js.map +1 -0
  57. package/{container/grid.styles.d.ts → list/list.styles.d.ts} +1 -1
  58. package/list/list.styles.d.ts.map +1 -0
  59. package/list/list.styles.js +7 -0
  60. package/list/list.styles.js.map +1 -0
  61. package/menu/menu-item.d.ts +2 -0
  62. package/menu/menu-item.d.ts.map +1 -1
  63. package/menu/menu-item.js +6 -1
  64. package/menu/menu-item.js.map +1 -1
  65. package/menu/menu.d.ts.map +1 -1
  66. package/menu/menu.js +8 -4
  67. package/menu/menu.js.map +1 -1
  68. package/navigation/drawer-item.d.ts +1 -0
  69. package/navigation/drawer-item.d.ts.map +1 -1
  70. package/navigation/drawer-item.js +5 -1
  71. package/navigation/drawer-item.js.map +1 -1
  72. package/navigation/drawer-item.styles.d.ts.map +1 -1
  73. package/navigation/drawer-item.styles.js +3 -0
  74. package/navigation/drawer-item.styles.js.map +1 -1
  75. package/navigation/drawer.styles.js +1 -1
  76. package/navigation/drawer.styles.js.map +1 -1
  77. package/package.json +3 -3
  78. package/radio/radio-list-item.d.ts +11 -0
  79. package/radio/radio-list-item.d.ts.map +1 -0
  80. package/radio/radio-list-item.js +16 -0
  81. package/radio/radio-list-item.js.map +1 -0
  82. package/radio/radio.d.ts +24 -0
  83. package/radio/radio.d.ts.map +1 -0
  84. package/radio/radio.js +136 -0
  85. package/radio/radio.js.map +1 -0
  86. package/radio/radio.styles.d.ts +2 -0
  87. package/radio/radio.styles.d.ts.map +1 -0
  88. package/radio/radio.styles.js +97 -0
  89. package/radio/radio.styles.js.map +1 -0
  90. package/ripple/ripple.styles.js +1 -1
  91. package/ripple/ripple.styles.js.map +1 -1
  92. package/scss/_colors.scss +2 -0
  93. package/scss/_css-vars.scss +26 -12
  94. package/scss/_functions.scss +4 -0
  95. package/scss/_global.scss +23 -0
  96. package/scss/_layout.scss +5 -0
  97. package/scss/_reboot.scss +495 -0
  98. package/scss/_utilities.scss +3 -0
  99. package/scss/_variables.scss +32 -4
  100. package/scss/{text-bg → colors}/_text.scss +1 -22
  101. package/scss/layout/_container.scss +13 -0
  102. package/scss/layout/_grid.scss +6 -0
  103. package/scss/layout/_margin-and-gutters.scss +37 -0
  104. package/scss/mixins/_breakpoints.scss +51 -1
  105. package/scss/mixins/_text-bg.scss +4 -6
  106. package/scss/mixins/_typo.scss +18 -0
  107. package/scss/table/_table.scss +47 -0
  108. package/scss/universal-material.scss +11 -4
  109. package/scss/utilities/_divider.scss +13 -0
  110. package/scss/utilities/_spacing.scss +23 -0
  111. package/scss/utilities/_text.scss +21 -0
  112. package/shared/base.styles.js +5 -5
  113. package/shared/base.styles.js.map +1 -1
  114. package/shared/button-wrapper.d.ts +2 -1
  115. package/shared/button-wrapper.d.ts.map +1 -1
  116. package/shared/button-wrapper.js +8 -2
  117. package/shared/button-wrapper.js.map +1 -1
  118. package/shared/button-wrapper.styles.js +2 -2
  119. package/shared/button-wrapper.styles.js.map +1 -1
  120. package/shared/selection-control/selection-control-list-item.d.ts +5 -0
  121. package/shared/selection-control/selection-control-list-item.d.ts.map +1 -0
  122. package/shared/selection-control/selection-control-list-item.js +25 -0
  123. package/shared/selection-control/selection-control-list-item.js.map +1 -0
  124. package/shared/selection-control/selection-control.d.ts +25 -0
  125. package/shared/selection-control/selection-control.d.ts.map +1 -0
  126. package/shared/selection-control/selection-control.js +93 -0
  127. package/shared/selection-control/selection-control.js.map +1 -0
  128. package/shared/selection-control/selection-control.styles.d.ts +2 -0
  129. package/shared/selection-control/selection-control.styles.d.ts.map +1 -0
  130. package/shared/selection-control/selection-control.styles.js +67 -0
  131. package/shared/selection-control/selection-control.styles.js.map +1 -0
  132. package/snackbar/snackbar.d.ts +1 -1
  133. package/snackbar/snackbar.d.ts.map +1 -1
  134. package/snackbar/snackbar.js +1 -1
  135. package/snackbar/snackbar.js.map +1 -1
  136. package/switch/switch-list-item.d.ts +11 -0
  137. package/switch/switch-list-item.d.ts.map +1 -0
  138. package/switch/switch-list-item.js +16 -0
  139. package/switch/switch-list-item.js.map +1 -0
  140. package/switch/switch.d.ts +14 -0
  141. package/switch/switch.d.ts.map +1 -0
  142. package/switch/switch.js +33 -0
  143. package/switch/switch.js.map +1 -0
  144. package/switch/switch.styles.d.ts +2 -0
  145. package/switch/switch.styles.d.ts.map +1 -0
  146. package/switch/switch.styles.js +142 -0
  147. package/switch/switch.styles.js.map +1 -0
  148. package/text-field/text-field.d.ts +23 -0
  149. package/text-field/text-field.d.ts.map +1 -0
  150. package/text-field/text-field.js +91 -0
  151. package/text-field/text-field.js.map +1 -0
  152. package/text-field/text-field.styles.d.ts +2 -0
  153. package/text-field/text-field.styles.d.ts.map +1 -0
  154. package/text-field/text-field.styles.js +5 -0
  155. package/text-field/text-field.styles.js.map +1 -0
  156. package/theme/index.d.ts +1 -1
  157. package/theme/index.d.ts.map +1 -1
  158. package/theme/index.js +1 -1
  159. package/theme/index.js.map +1 -1
  160. package/theme/theme-builder.d.ts.map +1 -1
  161. package/theme/theme-builder.js +3 -1
  162. package/theme/theme-builder.js.map +1 -1
  163. package/container/container.d.ts +0 -12
  164. package/container/container.d.ts.map +0 -1
  165. package/container/container.js.map +0 -1
  166. package/container/container.styles.d.ts.map +0 -1
  167. package/container/container.styles.js +0 -12
  168. package/container/container.styles.js.map +0 -1
  169. package/container/grid-base.d.ts +0 -11
  170. package/container/grid-base.d.ts.map +0 -1
  171. package/container/grid-base.js +0 -33
  172. package/container/grid-base.js.map +0 -1
  173. package/container/grid-base.styles.d.ts.map +0 -1
  174. package/container/grid-base.styles.js +0 -114
  175. package/container/grid-base.styles.js.map +0 -1
  176. package/container/grid.d.ts +0 -32
  177. package/container/grid.d.ts.map +0 -1
  178. package/container/grid.js +0 -106
  179. package/container/grid.js.map +0 -1
  180. package/container/grid.styles.d.ts.map +0 -1
  181. package/container/grid.styles.js +0 -134
  182. package/container/grid.styles.js.map +0 -1
  183. package/divider/divider.d.ts +0 -14
  184. package/divider/divider.d.ts.map +0 -1
  185. package/divider/divider.js +0 -27
  186. package/divider/divider.js.map +0 -1
  187. package/divider/divider.styles.d.ts.map +0 -1
  188. package/divider/divider.styles.js +0 -15
  189. package/divider/divider.styles.js.map +0 -1
  190. package/scss/_common.scss +0 -12
  191. package/scss/data-table/_data-table.scss +0 -33
  192. package/scss/data-table/_variables.scss +0 -24
  193. /package/scss/{text-bg → colors}/_text-bg.scss +0 -0
@@ -2,7 +2,7 @@ import { css } from 'lit';
2
2
  export const styles = css `
3
3
  :host {
4
4
  display: block;
5
- background-color: var(--u-top-app-bar-background-color, var(--u-color-background, var(--u-color-surface, rgb(254, 247, 255))));
5
+ background-color: var(--u-top-app-bar-background-color, var(--u-color-body, var(--u-color-surface, rgb(254, 247, 255))));
6
6
  color: var(--u-top-app-bar-text-color, var(--u-color-on-surface, rgb(29, 27, 32)));
7
7
  transition: background-color 100ms, inset 375ms cubic-bezier(0.19, 1, 0.22, 1);
8
8
  }
@@ -1 +1 @@
1
- {"version":3,"file":"top-app-bar.styles.js","sourceRoot":"","sources":["../../src/app-bar/top-app-bar.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoFzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: block;\n background-color: var(--u-top-app-bar-background-color, var(--u-color-background, var(--u-color-surface, rgb(254, 247, 255))));\n color: var(--u-top-app-bar-text-color, var(--u-color-on-surface, rgb(29, 27, 32)));\n transition: background-color 100ms, inset 375ms cubic-bezier(0.19, 1, 0.22, 1);\n }\n\n :host([container-scrolled]) {\n background-color: var(--u-top-app-bar-elevated-background-color, var(--u-color-surface-container, rgb(243, 237, 247)));\n }\n\n :host(:not([has-leading-icon])) .leading-icon {\n display: none;\n }\n\n :host(:not([has-trailing-icon])) .trailing-icon {\n display: none;\n }\n\n slot[name=leading-icon],\n slot[name=trailing-icon] {\n display: inline-flex;\n align-items: center;\n gap: var(--u-top-app-bar-icons-gap, 8px);\n }\n\n slot[name=leading-icon]::slotted(u-icon-button) {\n color: inherit;\n }\n\n :host([position=absolute]) .content {\n position: absolute;\n }\n\n :host([position=fixed]) .content {\n position: fixed;\n inset-inline: 0;\n inset-block-start: 0;\n inset-inline-start: var(--u-app-bar-offset, 0);\n }\n\n :host([position=absolute]),\n :host([position=fixed]) {\n padding-top: var(--_content-height);\n }\n :host([position=absolute]) .content,\n :host([position=fixed]) .content {\n z-index: var(--u-fixed-app-bar-z-index, 1010);\n }\n\n .content {\n display: flex;\n align-items: center;\n background-color: inherit;\n transition: inherit;\n min-height: var(--u-top-app-bar-min-height, 56px);\n }\n @media (min-width: 840px) {\n .content {\n min-height: var(--u-top-app-bar-extended-min-height, 64px);\n }\n }\n\n .headline {\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-top-app-bar-headline-line-height, var(--u-title-l-line-height, 1.75rem));\n font-size: var(--u-top-app-bar-headline-font-size, var(--u-title-l-font-size, 1.375rem));\n letter-spacing: var(--u-top-app-bar-headline-letter-spacing, var(--u-title-l-letter-spacing, 0rem));\n font-weight: var(--u-top-app-bar-headline-font-weight, var(--u-title-l-font-weight, var(--u-font-weight-regular, 400)));\n margin-inline: var(--u-headline-margin, 16px);\n }\n\n .leading-icon {\n margin-inline: var(--u-leading-icon-margin, 8px);\n }\n .leading-icon + .headline {\n margin-inline-start: 0;\n }\n\n .trailing-icon {\n padding-inline: var(--u-trailing-icon-margin, 8px);\n margin-inline-start: auto;\n }\n`;\n"]}
1
+ {"version":3,"file":"top-app-bar.styles.js","sourceRoot":"","sources":["../../src/app-bar/top-app-bar.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoFzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: block;\n background-color: var(--u-top-app-bar-background-color, var(--u-color-body, var(--u-color-surface, rgb(254, 247, 255))));\n color: var(--u-top-app-bar-text-color, var(--u-color-on-surface, rgb(29, 27, 32)));\n transition: background-color 100ms, inset 375ms cubic-bezier(0.19, 1, 0.22, 1);\n }\n\n :host([container-scrolled]) {\n background-color: var(--u-top-app-bar-elevated-background-color, var(--u-color-surface-container, rgb(243, 237, 247)));\n }\n\n :host(:not([has-leading-icon])) .leading-icon {\n display: none;\n }\n\n :host(:not([has-trailing-icon])) .trailing-icon {\n display: none;\n }\n\n slot[name=leading-icon],\n slot[name=trailing-icon] {\n display: inline-flex;\n align-items: center;\n gap: var(--u-top-app-bar-icons-gap, 8px);\n }\n\n slot[name=leading-icon]::slotted(u-icon-button) {\n color: inherit;\n }\n\n :host([position=absolute]) .content {\n position: absolute;\n }\n\n :host([position=fixed]) .content {\n position: fixed;\n inset-inline: 0;\n inset-block-start: 0;\n inset-inline-start: var(--u-app-bar-offset, 0);\n }\n\n :host([position=absolute]),\n :host([position=fixed]) {\n padding-top: var(--_content-height);\n }\n :host([position=absolute]) .content,\n :host([position=fixed]) .content {\n z-index: var(--u-fixed-app-bar-z-index, 1010);\n }\n\n .content {\n display: flex;\n align-items: center;\n background-color: inherit;\n transition: inherit;\n min-height: var(--u-top-app-bar-min-height, 56px);\n }\n @media (min-width: 840px) {\n .content {\n min-height: var(--u-top-app-bar-extended-min-height, 64px);\n }\n }\n\n .headline {\n font-family: var(--u-font-family, var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"));\n line-height: var(--u-top-app-bar-headline-line-height, var(--u-title-l-line-height, 1.75rem));\n font-size: var(--u-top-app-bar-headline-font-size, var(--u-title-l-font-size, 1.375rem));\n letter-spacing: var(--u-top-app-bar-headline-letter-spacing, var(--u-title-l-letter-spacing, 0rem));\n font-weight: var(--u-top-app-bar-headline-font-weight, var(--u-title-l-font-weight, var(--u-font-weight-regular, 400)));\n margin-inline: var(--u-headline-margin, 16px);\n }\n\n .leading-icon {\n margin-inline: var(--u-leading-icon-margin, 8px);\n }\n .leading-icon + .headline {\n margin-inline-start: 0;\n }\n\n .trailing-icon {\n padding-inline: var(--u-trailing-icon-margin, 8px);\n margin-inline-start: auto;\n }\n`;\n"]}
package/button/button.js CHANGED
@@ -35,7 +35,7 @@ let UmButton = class UmButton extends UmButtonBase {
35
35
  </span>`;
36
36
  return html `
37
37
  ${this.trailingIcon ? nothing : icon}
38
- <span><slot></slot></span>
38
+ <span id="text"><slot></slot></span>
39
39
  ${this.trailingIcon ? icon : nothing}
40
40
  `;
41
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/button/button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAa,IAAI,EAAsB,OAAO,EAAE,MAAM,KAAK,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEnF,OAAO,EAAE,MAAM,IAAI,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,qBAAqB,CAAC;AAMtB,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,YAAY;IAAnC;;QAIL;;WAEG;QACwB,YAAO,GAAoB,QAAQ,CAAC;QASO,iBAAY,GAAG,KAAK,CAAC;QAE3F;;;;WAIG;QAC8D,YAAO,GAAG,KAAK,CAAC;IAwBnF,CAAC;IAnBoB,aAAa;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAA;;;;;yBAKI,IAAI,CAAC,gBAAgB;cAChC,CAAC;QAEX,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;;QAElC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;KACrC,CAAC;IACJ,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/C,CAAC;;AA5Ce,eAAM,GAA4B,CAAC,mBAAmB,EAAE,MAAM,CAAC,AAAzD,CAA0D;AAKrD;IAA1B,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;yCAAqC;AAOpC;IAA1B,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;uCAAsB;AAEsB;IAArE,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;8CAAsB;AAO1B;IAAhE,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;yCAAiB;AAGhE;IADhB,qBAAqB,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;+CACN;AA1BpC,QAAQ;IADpB,aAAa,CAAC,UAAU,CAAC;GACb,QAAQ,CA+CpB","sourcesContent":["import { CSSResult, html, HTMLTemplateResult, nothing } from 'lit';\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js';\n\nimport { styles as buttonWrapperStyles } from '../shared/button-wrapper.styles.js';\nimport { UmButtonBase } from './button-base.js';\nimport { styles } from './button.styles.js';\nimport '../ripple/ripple.js';\n\nexport type UmButtonVariant = 'filled' | 'tonal' | 'elevated' | 'outlined' | 'text';\nexport type UmButtonColor = 'primary' | 'secondary' | 'tertiary' | 'error' | undefined;\n\n@customElement('u-button')\nexport class UmButton extends UmButtonBase {\n\n static override styles: CSSResult | CSSResult[] = [buttonWrapperStyles, styles];\n\n /**\n * The Button variant to render\n */\n @property({reflect: true}) variant: UmButtonVariant = 'filled';\n\n /**\n * The Button color\n *\n * _Note:_ Filled buttons only\n */\n @property({reflect: true}) color: UmButtonColor;\n\n @property({type: Boolean, attribute: 'trailing-icon', reflect: true}) trailingIcon = false;\n\n /**\n * Whether the button has icon or not\n *\n * _Note:_ Readonly\n */\n @property({type: Boolean, attribute: 'has-icon', reflect: true}) hasIcon = false;\n\n @queryAssignedElements({slot: 'icon', flatten: true})\n private readonly assignedIcons!: HTMLElement[];\n\n protected override renderContent(): HTMLTemplateResult {\n const icon = html`\n <span class=\"icon\">\n <slot\n name=\"icon\"\n aria-hidden=\"true\"\n @slotchange=\"${this.handleSlotChange}\"></slot>\n </span>`;\n\n return html`\n ${this.trailingIcon ? nothing : icon}\n <span><slot></slot></span>\n ${this.trailingIcon ? icon : nothing}\n `;\n }\n\n private handleSlotChange() {\n this.hasIcon = this.assignedIcons.length > 0;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-button': UmButton;\n }\n}\n"]}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../src/button/button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAa,IAAI,EAAsB,OAAO,EAAE,MAAM,KAAK,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAEnF,OAAO,EAAE,MAAM,IAAI,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AACnF,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,qBAAqB,CAAC;AAMtB,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,YAAY;IAAnC;;QAIL;;WAEG;QACwB,YAAO,GAAoB,QAAQ,CAAC;QASO,iBAAY,GAAG,KAAK,CAAC;QAE3F;;;;WAIG;QAC8D,YAAO,GAAG,KAAK,CAAC;IAwBnF,CAAC;IAnBoB,aAAa;QAC9B,MAAM,IAAI,GAAG,IAAI,CAAA;;;;;yBAKI,IAAI,CAAC,gBAAgB;cAChC,CAAC;QAEX,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;;QAElC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO;KACrC,CAAC;IACJ,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC;IAC/C,CAAC;;AA5Ce,eAAM,GAA4B,CAAC,mBAAmB,EAAE,MAAM,CAAC,AAAzD,CAA0D;AAKrD;IAA1B,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;yCAAqC;AAOpC;IAA1B,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC;uCAAsB;AAEsB;IAArE,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;8CAAsB;AAO1B;IAAhE,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;yCAAiB;AAGhE;IADhB,qBAAqB,CAAC,EAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;+CACN;AA1BpC,QAAQ;IADpB,aAAa,CAAC,UAAU,CAAC;GACb,QAAQ,CA+CpB","sourcesContent":["import { CSSResult, html, HTMLTemplateResult, nothing } from 'lit';\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js';\n\nimport { styles as buttonWrapperStyles } from '../shared/button-wrapper.styles.js';\nimport { UmButtonBase } from './button-base.js';\nimport { styles } from './button.styles.js';\nimport '../ripple/ripple.js';\n\nexport type UmButtonVariant = 'filled' | 'tonal' | 'elevated' | 'outlined' | 'text';\nexport type UmButtonColor = 'primary' | 'secondary' | 'tertiary' | 'error' | undefined;\n\n@customElement('u-button')\nexport class UmButton extends UmButtonBase {\n\n static override styles: CSSResult | CSSResult[] = [buttonWrapperStyles, styles];\n\n /**\n * The Button variant to render\n */\n @property({reflect: true}) variant: UmButtonVariant = 'filled';\n\n /**\n * The Button color\n *\n * _Note:_ Filled buttons only\n */\n @property({reflect: true}) color: UmButtonColor;\n\n @property({type: Boolean, attribute: 'trailing-icon', reflect: true}) trailingIcon = false;\n\n /**\n * Whether the button has icon or not\n *\n * _Note:_ Readonly\n */\n @property({type: Boolean, attribute: 'has-icon', reflect: true}) hasIcon = false;\n\n @queryAssignedElements({slot: 'icon', flatten: true})\n private readonly assignedIcons!: HTMLElement[];\n\n protected override renderContent(): HTMLTemplateResult {\n const icon = html`\n <span class=\"icon\">\n <slot\n name=\"icon\"\n aria-hidden=\"true\"\n @slotchange=\"${this.handleSlotChange}\"></slot>\n </span>`;\n\n return html`\n ${this.trailingIcon ? nothing : icon}\n <span id=\"text\"><slot></slot></span>\n ${this.trailingIcon ? icon : nothing}\n `;\n }\n\n private handleSlotChange() {\n this.hasIcon = this.assignedIcons.length > 0;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-button': UmButton;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"button.styles.d.ts","sourceRoot":"","sources":["../../src/button/button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAiGlB,CAAC"}
1
+ {"version":3,"file":"button.styles.d.ts","sourceRoot":"","sources":["../../src/button/button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAsGlB,CAAC"}
@@ -55,18 +55,23 @@ export const styles = css `
55
55
  --u-elevation-level: var(--u-filled-button-hover-elevation-level, 1);
56
56
  }
57
57
  }
58
- :host([variant=outlined]),
59
- :host([variant=text]),
60
- :host([variant=elevated]) {
61
- color: var(--_color-primary);
58
+ :host([variant=text]) {
59
+ color: var(--u-text-button-text-color, var(--_color-primary));
62
60
  }
63
61
 
64
62
  :host([variant=outlined]) {
65
- border: 1px solid var(--u-color-outline, rgb(121, 116, 126));
63
+ color: var(--u-outlined-button-text-color, var(--u-text-button-text-color, var(--_color-primary)));
64
+ border: 1px solid var(--u-outlined-button-outline-color, var(--u-color-outline, rgb(121, 116, 126)));
66
65
  }
67
66
 
68
67
  :host([variant=elevated]) {
69
68
  --u-elevation-level: var(--u-elevated-button-elevation-level, 1);
69
+ color: var(--u-elevated-button-text-color, var(--_color-primary));
70
+ }
71
+
72
+ :host([disabled][variant=outlined]) {
73
+ background-color: transparent !important;
74
+ border-color: var(--u-outlined-button-disabled-border-color, rgba(var(--u-color-on-surface-rgb, 29, 27, 32), var(--u-outlined-button-disabled-border-opacity, 0.12))) !important;
70
75
  }
71
76
 
72
77
  @media (hover: hover) {
@@ -1 +1 @@
1
- {"version":3,"file":"button.styles.js","sourceRoot":"","sources":["../../src/button/button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiGzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --u-common-button-line-height: var(--u-label-large-line-height, 1.25rem);\n --u-common-button-font-size: var(--u-label-large-font-size, 0.875rem);\n --u-common-button-font-weight: var(--u-font-weight-medium, 500);\n --_common-button-height: var(--u-common-button-height, 2.5rem);\n --_common-button-padding: var(--u-common-button-padding, 24px);\n --_common-button-icon-size: var(--u-common-button-icon-size, 1.125rem);\n --_common-button-icon-padding: var(--u-common-button-icon-padding, 16px);\n --_common-button-icon-margin: var(--u-common-button-icon-margin, 8px);\n border-radius: var(--u-common-button-shape-corner, var(--u-shape-corner-full, 9999px));\n font-family: var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n height: var(--u-common-button-height, 40px);\n font-size: var(--u-common-button-font-size);\n font-weight: var(--u-common-button-font-weight);\n padding-inline: var(--_common-button-padding);\n box-sizing: border-box;\n }\n\n :host([variant=filled]),\n :host([variant=filled][color=primary]) {\n background-color: var(--u-filled-button-primary-container-color, var(--_color-primary));\n color: var(--u-filled-button-primary-text-color, var(--u-color-on-primary, rgb(255, 255, 255)));\n }\n\n :host([variant=filled][color=secondary]) {\n background-color: var(--u-filled-button-secondary-container-color, var(--u-color-secondary, rgb(98, 91, 113)));\n color: var(--u-filled-button-secondary-text-color, var(--u-color-on-secondary, rgb(255, 255, 255)));\n }\n\n :host([variant=filled][color=tertiary]) {\n background-color: var(--u-filled-button-tertiary-container-color, var(--u-color-tertiary, rgb(125, 82, 96)));\n color: var(--u-filled-button-tertiary-text-color, var(--u-color-on-tertiary, rgb(255, 255, 255)));\n }\n\n :host([variant=filled][color=error]) {\n background-color: var(--u-filled-button-error-container-color, var(--u-color-error, rgb(179, 38, 30)));\n color: var(--u-filled-button-error-text-color, var(--u-color-on-error, rgb(255, 255, 255)));\n }\n\n :host([variant=tonal]) {\n background-color: var(--u-tonal-button-background-color, var(--u-color-secondary-container, rgb(232, 222, 248)));\n color: var(--u-tonal-button-text-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n }\n\n :host([variant=elevated]) {\n background-color: var(--u-elevated-button-background-color, var(--u-color-surface-container-low, rgb(247, 242, 250)));\n color: var(--u-tonal-button-text-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n }\n\n @media (hover: hover) {\n :host([variant=filled]:hover:not(:focus-within):not(:active)),\n :host([variant=tonal]:hover:not(:focus-within):not(:active)) {\n --u-elevation-level: var(--u-filled-button-hover-elevation-level, 1);\n }\n }\n :host([variant=outlined]),\n :host([variant=text]),\n :host([variant=elevated]) {\n color: var(--_color-primary);\n }\n\n :host([variant=outlined]) {\n border: 1px solid var(--u-color-outline, rgb(121, 116, 126));\n }\n\n :host([variant=elevated]) {\n --u-elevation-level: var(--u-elevated-button-elevation-level, 1);\n }\n\n @media (hover: hover) {\n :host([variant=elevated]:hover) {\n --u-elevation-level: var(--u-elevated-button-hover-elevation-level, 2);\n }\n }\n :host([has-icon]) {\n padding-inline: var(--_common-button-icon-padding) var(--_common-button-padding);\n }\n\n :host([has-icon][trailing-icon]) {\n padding-inline: var(--_common-button-padding) var(--_common-button-icon-padding);\n }\n\n :host(:not([has-icon])) .icon {\n display: none;\n }\n\n .icon {\n font-size: var(--_common-button-icon-size);\n padding-inline-end: var(--_common-button-icon-margin);\n margin-inline-end: auto;\n }\n\n :host([trailing-icon]) .icon {\n padding-inline: var(--_common-button-icon-margin) 0;\n margin-inline: auto 0;\n }\n`;\n"]}
1
+ {"version":3,"file":"button.styles.js","sourceRoot":"","sources":["../../src/button/button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsGzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --u-common-button-line-height: var(--u-label-large-line-height, 1.25rem);\n --u-common-button-font-size: var(--u-label-large-font-size, 0.875rem);\n --u-common-button-font-weight: var(--u-font-weight-medium, 500);\n --_common-button-height: var(--u-common-button-height, 2.5rem);\n --_common-button-padding: var(--u-common-button-padding, 24px);\n --_common-button-icon-size: var(--u-common-button-icon-size, 1.125rem);\n --_common-button-icon-padding: var(--u-common-button-icon-padding, 16px);\n --_common-button-icon-margin: var(--u-common-button-icon-margin, 8px);\n border-radius: var(--u-common-button-shape-corner, var(--u-shape-corner-full, 9999px));\n font-family: var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n height: var(--u-common-button-height, 40px);\n font-size: var(--u-common-button-font-size);\n font-weight: var(--u-common-button-font-weight);\n padding-inline: var(--_common-button-padding);\n box-sizing: border-box;\n }\n\n :host([variant=filled]),\n :host([variant=filled][color=primary]) {\n background-color: var(--u-filled-button-primary-container-color, var(--_color-primary));\n color: var(--u-filled-button-primary-text-color, var(--u-color-on-primary, rgb(255, 255, 255)));\n }\n\n :host([variant=filled][color=secondary]) {\n background-color: var(--u-filled-button-secondary-container-color, var(--u-color-secondary, rgb(98, 91, 113)));\n color: var(--u-filled-button-secondary-text-color, var(--u-color-on-secondary, rgb(255, 255, 255)));\n }\n\n :host([variant=filled][color=tertiary]) {\n background-color: var(--u-filled-button-tertiary-container-color, var(--u-color-tertiary, rgb(125, 82, 96)));\n color: var(--u-filled-button-tertiary-text-color, var(--u-color-on-tertiary, rgb(255, 255, 255)));\n }\n\n :host([variant=filled][color=error]) {\n background-color: var(--u-filled-button-error-container-color, var(--u-color-error, rgb(179, 38, 30)));\n color: var(--u-filled-button-error-text-color, var(--u-color-on-error, rgb(255, 255, 255)));\n }\n\n :host([variant=tonal]) {\n background-color: var(--u-tonal-button-background-color, var(--u-color-secondary-container, rgb(232, 222, 248)));\n color: var(--u-tonal-button-text-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n }\n\n :host([variant=elevated]) {\n background-color: var(--u-elevated-button-background-color, var(--u-color-surface-container-low, rgb(247, 242, 250)));\n color: var(--u-tonal-button-text-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n }\n\n @media (hover: hover) {\n :host([variant=filled]:hover:not(:focus-within):not(:active)),\n :host([variant=tonal]:hover:not(:focus-within):not(:active)) {\n --u-elevation-level: var(--u-filled-button-hover-elevation-level, 1);\n }\n }\n :host([variant=text]) {\n color: var(--u-text-button-text-color, var(--_color-primary));\n }\n\n :host([variant=outlined]) {\n color: var(--u-outlined-button-text-color, var(--u-text-button-text-color, var(--_color-primary)));\n border: 1px solid var(--u-outlined-button-outline-color, var(--u-color-outline, rgb(121, 116, 126)));\n }\n\n :host([variant=elevated]) {\n --u-elevation-level: var(--u-elevated-button-elevation-level, 1);\n color: var(--u-elevated-button-text-color, var(--_color-primary));\n }\n\n :host([disabled][variant=outlined]) {\n background-color: transparent !important;\n border-color: var(--u-outlined-button-disabled-border-color, rgba(var(--u-color-on-surface-rgb, 29, 27, 32), var(--u-outlined-button-disabled-border-opacity, 0.12))) !important;\n }\n\n @media (hover: hover) {\n :host([variant=elevated]:hover) {\n --u-elevation-level: var(--u-elevated-button-hover-elevation-level, 2);\n }\n }\n :host([has-icon]) {\n padding-inline: var(--_common-button-icon-padding) var(--_common-button-padding);\n }\n\n :host([has-icon][trailing-icon]) {\n padding-inline: var(--_common-button-padding) var(--_common-button-icon-padding);\n }\n\n :host(:not([has-icon])) .icon {\n display: none;\n }\n\n .icon {\n font-size: var(--_common-button-icon-size);\n padding-inline-end: var(--_common-button-icon-margin);\n margin-inline-end: auto;\n }\n\n :host([trailing-icon]) .icon {\n padding-inline: var(--_common-button-icon-margin) 0;\n margin-inline: auto 0;\n }\n`;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.styles.d.ts","sourceRoot":"","sources":["../../src/button/icon-button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAmElB,CAAC"}
1
+ {"version":3,"file":"icon-button.styles.d.ts","sourceRoot":"","sources":["../../src/button/icon-button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA0ElB,CAAC"}
@@ -19,10 +19,10 @@ export const styles = css `
19
19
  display: none;
20
20
  }
21
21
 
22
- :host([selected]) .icon:not(.icon-selected) {
22
+ :host([selected][has-selection-icon]) .icon:not(.icon-selected) {
23
23
  display: none;
24
24
  }
25
- :host([selected]) .icon.icon-selected {
25
+ :host([selected][has-selection-icon]) .icon.icon-selected {
26
26
  display: inline-block;
27
27
  }
28
28
 
@@ -50,11 +50,12 @@ export const styles = css `
50
50
 
51
51
  :host([variant=standard]),
52
52
  :host([variant=outlined]) {
53
- color: var(--u-color-on-surface-variant, rgb(73, 69, 79));
53
+ color: var(--u-standard-icon-button-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));
54
54
  }
55
55
 
56
56
  :host([variant=outlined]) {
57
57
  border: 1px solid var(--u-color-outline, rgb(121, 116, 126));
58
+ color: var(--u-outlined-icon-button-color, var(--u-standard-icon-button-color, var(--u-color-on-surface-variant, rgb(73, 69, 79))));
58
59
  }
59
60
 
60
61
  :host([selected][variant=outlined]) {
@@ -65,6 +66,12 @@ export const styles = css `
65
66
 
66
67
  :host([selected][variant=standard]) {
67
68
  color: var(--u-standard-icon-button-selected-text-color, var(--_color-primary));
69
+ background-color: var(--u-standard-icon-button-selected-background-color, transparent);
70
+ }
71
+
72
+ :host([disabled][variant=outlined]) {
73
+ background-color: transparent !important;
74
+ border-color: var(--u-outlined-icon-button-disabled-border-color, rgba(var(--u-color-on-surface-rgb, 29, 27, 32), var(--u-outlined-icon-button-disabled-border-opacity, 0.12))) !important;
68
75
  }
69
76
  `;
70
77
  //# sourceMappingURL=icon-button.styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.styles.js","sourceRoot":"","sources":["../../src/button/icon-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmEzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --_icon-button-size: var(--u-icon-button-size, 2.5rem);\n --_color-surface-container-highest: var(--u-color-surface-container-highest, rgb(230, 224, 233));\n width: var(--_icon-button-size);\n height: var(--_icon-button-size);\n border-radius: var(--u-icon-button-shape-corner, 9999px);\n font-family: var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n }\n\n .icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: var(--u-icon-button-icon-size, 1.5rem);\n }\n .icon.icon-selected {\n display: none;\n }\n\n :host([selected]) .icon:not(.icon-selected) {\n display: none;\n }\n :host([selected]) .icon.icon-selected {\n display: inline-block;\n }\n\n :host([variant=filled]) {\n background-color: var(--u-filled-icon-button-unselected-background-color, var(--_color-surface-container-highest));\n color: var(--u-filled-icon-button-unselected-text-color, var(--_color-primary));\n }\n\n :host([variant=tonal]) {\n background-color: var(--u-total-icon-button-unselected-background-color, var(--_color-surface-container-highest));\n color: var(--u-tonal-icon-button-unselected-text-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n\n :host([selected][variant=filled]),\n :host([variant=filled]:not([has-selection-icon])) {\n background-color: var(--u-filled-icon-button-background-color, var(--_color-primary));\n color: var(--u-filled-icon-button-text-color, var(--u-color-on-primary, rgb(255, 255, 255)));\n }\n\n :host([selected][variant=tonal]),\n :host([variant=tonal]:not([has-selection-icon])) {\n background-color: var(--u-tonal-icon-button-background-color, var(--u-color-secondary-container, rgb(232, 222, 248)));\n color: var(--u-tonal-icon-button-text-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n }\n\n :host([variant=standard]),\n :host([variant=outlined]) {\n color: var(--u-color-on-surface-variant, rgb(73, 69, 79));\n }\n\n :host([variant=outlined]) {\n border: 1px solid var(--u-color-outline, rgb(121, 116, 126));\n }\n\n :host([selected][variant=outlined]) {\n border: none;\n background-color: var(--u-outlined-icon-button-selected-background-color, var(--u-color-inverse-surface, rgb(50, 47, 53)));\n color: var(--u-outlined-icon-button-selected-text-color, var(--u-color-on-inverse-surface, rgb(245, 239, 247)));\n }\n\n :host([selected][variant=standard]) {\n color: var(--u-standard-icon-button-selected-text-color, var(--_color-primary));\n }\n`;\n"]}
1
+ {"version":3,"file":"icon-button.styles.js","sourceRoot":"","sources":["../../src/button/icon-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0EzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --_icon-button-size: var(--u-icon-button-size, 2.5rem);\n --_color-surface-container-highest: var(--u-color-surface-container-highest, rgb(230, 224, 233));\n width: var(--_icon-button-size);\n height: var(--_icon-button-size);\n border-radius: var(--u-icon-button-shape-corner, 9999px);\n font-family: var(--u-font-family, system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", \"Noto Sans\", \"Liberation Sans\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\");\n }\n\n .icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: var(--u-icon-button-icon-size, 1.5rem);\n }\n .icon.icon-selected {\n display: none;\n }\n\n :host([selected][has-selection-icon]) .icon:not(.icon-selected) {\n display: none;\n }\n :host([selected][has-selection-icon]) .icon.icon-selected {\n display: inline-block;\n }\n\n :host([variant=filled]) {\n background-color: var(--u-filled-icon-button-unselected-background-color, var(--_color-surface-container-highest));\n color: var(--u-filled-icon-button-unselected-text-color, var(--_color-primary));\n }\n\n :host([variant=tonal]) {\n background-color: var(--u-total-icon-button-unselected-background-color, var(--_color-surface-container-highest));\n color: var(--u-tonal-icon-button-unselected-text-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n\n :host([selected][variant=filled]),\n :host([variant=filled]:not([has-selection-icon])) {\n background-color: var(--u-filled-icon-button-background-color, var(--_color-primary));\n color: var(--u-filled-icon-button-text-color, var(--u-color-on-primary, rgb(255, 255, 255)));\n }\n\n :host([selected][variant=tonal]),\n :host([variant=tonal]:not([has-selection-icon])) {\n background-color: var(--u-tonal-icon-button-background-color, var(--u-color-secondary-container, rgb(232, 222, 248)));\n color: var(--u-tonal-icon-button-text-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n }\n\n :host([variant=standard]),\n :host([variant=outlined]) {\n color: var(--u-standard-icon-button-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n\n :host([variant=outlined]) {\n border: 1px solid var(--u-color-outline, rgb(121, 116, 126));\n color: var(--u-outlined-icon-button-color, var(--u-standard-icon-button-color, var(--u-color-on-surface-variant, rgb(73, 69, 79))));\n }\n\n :host([selected][variant=outlined]) {\n border: none;\n background-color: var(--u-outlined-icon-button-selected-background-color, var(--u-color-inverse-surface, rgb(50, 47, 53)));\n color: var(--u-outlined-icon-button-selected-text-color, var(--u-color-on-inverse-surface, rgb(245, 239, 247)));\n }\n\n :host([selected][variant=standard]) {\n color: var(--u-standard-icon-button-selected-text-color, var(--_color-primary));\n background-color: var(--u-standard-icon-button-selected-background-color, transparent);\n }\n\n :host([disabled][variant=outlined]) {\n background-color: transparent !important;\n border-color: var(--u-outlined-icon-button-disabled-border-color, rgba(var(--u-color-on-surface-rgb, 29, 27, 32), var(--u-outlined-icon-button-disabled-border-opacity, 0.12))) !important;\n }\n`;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"card.styles.d.ts","sourceRoot":"","sources":["../../src/card/card.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA8BlB,CAAC"}
1
+ {"version":3,"file":"card.styles.d.ts","sourceRoot":"","sources":["../../src/card/card.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA0BlB,CAAC"}
@@ -6,10 +6,6 @@ export const styles = css `
6
6
  border-radius: var(--u-card-shape-corner, var(--u-shape-corner-medium, 12px));
7
7
  }
8
8
 
9
- :host(:not(:first-child)) {
10
- margin-top: 8px;
11
- }
12
-
13
9
  :host([variant=elevated]) {
14
10
  background-color: var(--u-color-surface-container-low, rgb(247, 242, 250));
15
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"card.styles.js","sourceRoot":"","sources":["../../src/card/card.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8BzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: block;\n position: relative;\n border-radius: var(--u-card-shape-corner, var(--u-shape-corner-medium, 12px));\n }\n\n :host(:not(:first-child)) {\n margin-top: 8px;\n }\n\n :host([variant=elevated]) {\n background-color: var(--u-color-surface-container-low, rgb(247, 242, 250));\n }\n :host([variant=elevated]) u-elevation {\n --u-elevation-level: var(--u-elevated-card-elevation-level, 1);\n }\n\n :host([variant=filled]) {\n background-color: var(--u-color-surface-container-highest, rgb(230, 224, 233));\n }\n\n :host([variant=outlined]) {\n border: var(--u-outlined-card-outline-width, 1px) solid var(--u-outlined-card-outline-color, var(--u-color-outline-variant, rgb(202, 196, 208)));\n }\n\n u-card-content,\n slot {\n border-radius: inherit;\n }\n`;\n"]}
1
+ {"version":3,"file":"card.styles.js","sourceRoot":"","sources":["../../src/card/card.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;CA0BzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n display: block;\n position: relative;\n border-radius: var(--u-card-shape-corner, var(--u-shape-corner-medium, 12px));\n }\n\n :host([variant=elevated]) {\n background-color: var(--u-color-surface-container-low, rgb(247, 242, 250));\n }\n :host([variant=elevated]) u-elevation {\n --u-elevation-level: var(--u-elevated-card-elevation-level, 1);\n }\n\n :host([variant=filled]) {\n background-color: var(--u-color-surface-container-highest, rgb(230, 224, 233));\n }\n\n :host([variant=outlined]) {\n border: var(--u-outlined-card-outline-width, 1px) solid var(--u-outlined-card-outline-color, var(--u-color-outline-variant, rgb(202, 196, 208)));\n }\n\n u-card-content,\n slot {\n border-radius: inherit;\n }\n`;\n"]}
@@ -0,0 +1,11 @@
1
+ import { UmCheckbox } from './checkbox.js';
2
+ declare const UmCheckboxListItem_base: import("../shared/selection-control/selection-control-list-item.js").MixinReturn<typeof UmCheckbox, object>;
3
+ export declare class UmCheckboxListItem extends UmCheckboxListItem_base {
4
+ }
5
+ declare global {
6
+ interface HTMLElementTagNameMap {
7
+ 'u-checkbox-list-item': UmCheckboxListItem;
8
+ }
9
+ }
10
+ export {};
11
+ //# sourceMappingURL=checkbox-list-item.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-list-item.d.ts","sourceRoot":"","sources":["../../src/checkbox/checkbox-list-item.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;;AAE3C,qBACa,kBAAmB,SAAQ,uBAAyC;CAEhF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,sBAAsB,EAAE,kBAAkB,CAAC;KAC5C;CACF"}
@@ -0,0 +1,16 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { customElement } from 'lit/decorators.js';
8
+ import { mixinSelectionControlListItem } from '../shared/selection-control/selection-control-list-item.js';
9
+ import { UmCheckbox } from './checkbox.js';
10
+ let UmCheckboxListItem = class UmCheckboxListItem extends mixinSelectionControlListItem(UmCheckbox) {
11
+ };
12
+ UmCheckboxListItem = __decorate([
13
+ customElement('u-checkbox-list-item')
14
+ ], UmCheckboxListItem);
15
+ export { UmCheckboxListItem };
16
+ //# sourceMappingURL=checkbox-list-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox-list-item.js","sourceRoot":"","sources":["../../src/checkbox/checkbox-list-item.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,EAAE,6BAA6B,EAAE,MAAM,4DAA4D,CAAC;AAC3G,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAGpC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,6BAA6B,CAAC,UAAU,CAAC;CAEhF,CAAA;AAFY,kBAAkB;IAD9B,aAAa,CAAC,sBAAsB,CAAC;GACzB,kBAAkB,CAE9B","sourcesContent":["import { customElement } from 'lit/decorators.js';\n\nimport { mixinSelectionControlListItem } from '../shared/selection-control/selection-control-list-item.js';\nimport { UmCheckbox } from './checkbox.js';\n\n@customElement('u-checkbox-list-item')\nexport class UmCheckboxListItem extends mixinSelectionControlListItem(UmCheckbox) {\n\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-checkbox-list-item': UmCheckboxListItem;\n }\n}\n"]}
@@ -1,12 +1,17 @@
1
- import { HTMLTemplateResult, LitElement } from 'lit';
2
- export declare class UmCheckbox extends LitElement {
1
+ import { PropertyValues } from '@lit/reactive-element';
2
+ import { HTMLTemplateResult } from 'lit';
3
+ import { UmSelectionControl } from '../shared/selection-control/selection-control.js';
4
+ export declare class UmCheckbox extends UmSelectionControl {
5
+ #private;
3
6
  static styles: import("lit").CSSResult[];
4
- private readonly ripple;
5
- private readonly assignedInputs;
6
- private input;
7
- render(): HTMLTemplateResult;
8
- private handleSlotChange;
9
- private handleInputChange;
7
+ hideStateLayer: boolean;
8
+ get indeterminate(): boolean;
9
+ set indeterminate(indeterminate: boolean);
10
+ get checked(): boolean;
11
+ set checked(checked: boolean);
12
+ constructor();
13
+ firstUpdated(changedProperties: PropertyValues): void;
14
+ protected renderIndicator(): HTMLTemplateResult;
10
15
  }
11
16
  declare global {
12
17
  interface HTMLElementTagNameMap {
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/checkbox/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,kBAAkB,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAMhE,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,4BA4BpB;IAEiB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAY;IAEtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsB;IAErD,OAAO,CAAC,KAAK,CAA+B;IAEnC,MAAM,IAAI,kBAAkB;IAOrC,OAAO,CAAC,gBAAgB;IAaxB,OAAO,CAAC,iBAAiB,CAIvB;CACH;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,UAAU,CAAC;KAC1B;CACF"}
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../../src/checkbox/checkbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAQ,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAI/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AAGtF,qBACa,UAAW,SAAQ,kBAAkB;;IAChD,OAAgB,MAAM,4BAGpB;IAIuE,cAAc,UAAS;IAEhG,IACI,aAAa,IAAI,OAAO,CAE3B;IACD,IAAI,aAAa,CAAC,aAAa,EAAE,OAAO,EAUvC;IAED,IAAa,OAAO,IAAI,OAAO,CAE9B;IACD,IAAa,OAAO,CAAC,OAAO,EAAE,OAAO,EAGpC;;IAMQ,YAAY,CAAC,iBAAiB,EAAE,cAAc;cAMpC,eAAe,IAAI,kBAAkB;CAGzD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,YAAY,EAAE,UAAU,CAAC;KAC1B;CACF"}
@@ -4,69 +4,68 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { css, html, LitElement } from 'lit';
8
- import { customElement, query, queryAssignedElements } from 'lit/decorators.js';
7
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
8
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
11
+ };
12
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
13
+ if (kind === "m") throw new TypeError("Private method is not writable");
14
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
15
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
16
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
17
+ };
18
+ var _UmCheckbox_indeterminate;
19
+ import { html } from 'lit';
20
+ import { customElement, property } from 'lit/decorators.js';
9
21
  import { styles as baseStyles } from '../shared/base.styles.js';
10
- let UmCheckbox = class UmCheckbox extends LitElement {
22
+ import { UmSelectionControl } from '../shared/selection-control/selection-control.js';
23
+ import { styles } from './checkbox.styles.js';
24
+ let UmCheckbox = class UmCheckbox extends UmSelectionControl {
25
+ get indeterminate() {
26
+ return __classPrivateFieldGet(this, _UmCheckbox_indeterminate, "f");
27
+ }
28
+ set indeterminate(indeterminate) {
29
+ __classPrivateFieldSet(this, _UmCheckbox_indeterminate, indeterminate, "f");
30
+ if (!indeterminate) {
31
+ this.input?.classList.remove('indeterminate');
32
+ return;
33
+ }
34
+ this.input?.classList.add('indeterminate');
35
+ this.elementInternals.setFormValue(null);
36
+ }
37
+ get checked() {
38
+ return super.checked;
39
+ }
40
+ set checked(checked) {
41
+ super.checked = checked;
42
+ this.indeterminate = false;
43
+ }
11
44
  constructor() {
12
- super(...arguments);
13
- this.handleInputChange = (e) => {
14
- if (this.input !== document.elementFromPoint(e.clientX, e.clientY)) {
15
- this.ripple.createRipple();
16
- }
17
- };
45
+ super();
46
+ _UmCheckbox_indeterminate.set(this, false);
47
+ this.hideStateLayer = false;
18
48
  }
19
- render() {
20
- return html `
21
- <div class="touch">
22
- <u-ripple><slot @slotchange="${this.handleSlotChange}"></slot></u-ripple>
23
- </div>`;
49
+ firstUpdated(changedProperties) {
50
+ super.firstUpdated(changedProperties);
51
+ // eslint-disable-next-line no-self-assign
52
+ this.indeterminate = this.indeterminate;
24
53
  }
25
- handleSlotChange() {
26
- if (this.input) {
27
- this.input.removeEventListener('click', this.handleInputChange);
28
- }
29
- this.input = this.assignedInputs[0];
30
- if (this.input) {
31
- this.input.addEventListener('click', this.handleInputChange);
32
- }
54
+ renderIndicator() {
55
+ return html `<div class="border"><div class="indicator"></div></div>`;
33
56
  }
34
57
  };
58
+ _UmCheckbox_indeterminate = new WeakMap();
35
59
  UmCheckbox.styles = [
36
60
  baseStyles,
37
- css `
38
- :host {
39
- position: relative;
40
- display: inline-flex;
41
- justify-content: center;
42
- align-items: center;
43
- width: 48px;
44
- height: 48px;
45
- }
46
-
47
- ::slotted(input) {
48
- position: relative;
49
- padding: 0;
50
- margin: 0;
51
- aspect-ratio: 1;
52
- height: 100%;
53
- z-index: 1;
54
- appearance: none;
55
- }
56
-
57
- .touch {
58
- position: absolute;
59
- inset: 0;
60
- border-radius: 9999px;
61
- }
62
- `
61
+ styles
63
62
  ];
64
63
  __decorate([
65
- query('u-ripple')
66
- ], UmCheckbox.prototype, "ripple", void 0);
64
+ property({ type: Boolean, attribute: 'hide-state-layer', reflect: true })
65
+ ], UmCheckbox.prototype, "hideStateLayer", void 0);
67
66
  __decorate([
68
- queryAssignedElements({ selector: 'input', flatten: true })
69
- ], UmCheckbox.prototype, "assignedInputs", void 0);
67
+ property({ type: Boolean })
68
+ ], UmCheckbox.prototype, "indeterminate", null);
70
69
  UmCheckbox = __decorate([
71
70
  customElement('u-checkbox')
72
71
  ], UmCheckbox);
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/checkbox/checkbox.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAsB,UAAU,EAAE,MAAM,KAAK,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAGhF,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGzD,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,UAAU;IAAnC;;QAyDG,sBAAiB,GAAG,CAAC,CAAa,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,gBAAgB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnE,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;YAC7B,CAAC;QACH,CAAC,CAAC;IACJ,CAAC;IAzBU,MAAM;QACb,OAAO,IAAI,CAAA;;uCAEwB,IAAI,CAAC,gBAAgB;aAC/C,CAAC;IACZ,CAAC;IAEO,gBAAgB;QAEtB,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QAEpC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;;AAtDe,iBAAM,GAAG;IACvB,UAAU;IACV,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;KAyBF;CACF,AA5BqB,CA4BpB;AAEkC;IAAnC,KAAK,CAAC,UAAU,CAAC;0CAAoC;AAErC;IADhB,qBAAqB,CAAC,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;kDACL;AAjC1C,UAAU;IADtB,aAAa,CAAC,YAAY,CAAC;GACf,UAAU,CA8DtB","sourcesContent":["import { css, html, HTMLTemplateResult, LitElement } from 'lit';\nimport { customElement, query, queryAssignedElements } from 'lit/decorators.js';\n\nimport { UmRipple } from '../ripple/ripple.js';\nimport { styles as baseStyles } from '../shared/base.styles.js';\n\n@customElement('u-checkbox')\nexport class UmCheckbox extends LitElement {\n static override styles = [\n baseStyles,\n css`\n :host {\n position: relative;\n display: inline-flex;\n justify-content: center;\n align-items: center;\n width: 48px;\n height: 48px;\n }\n \n ::slotted(input) {\n position: relative;\n padding: 0;\n margin: 0;\n aspect-ratio: 1;\n height: 100%;\n z-index: 1;\n appearance: none;\n }\n \n .touch {\n position: absolute;\n inset: 0;\n border-radius: 9999px;\n }\n `\n ];\n\n @query('u-ripple') private readonly ripple!: UmRipple;\n @queryAssignedElements({selector: 'input', flatten: true})\n private readonly assignedInputs!: HTMLInputElement[];\n\n private input: HTMLInputElement | undefined;\n\n override render(): HTMLTemplateResult {\n return html`\n <div class=\"touch\">\n <u-ripple><slot @slotchange=\"${this.handleSlotChange}\"></slot></u-ripple>\n </div>`;\n }\n\n private handleSlotChange(): void {\n\n if (this.input) {\n this.input.removeEventListener('click', this.handleInputChange);\n }\n\n this.input = this.assignedInputs[0];\n\n if (this.input) {\n this.input.addEventListener('click', this.handleInputChange);\n }\n }\n\n private handleInputChange = (e: MouseEvent) => {\n if (this.input !== document.elementFromPoint(e.clientX, e.clientY)) {\n this.ripple.createRipple();\n }\n };\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-checkbox': UmCheckbox;\n }\n}\n"]}
1
+ {"version":3,"file":"checkbox.js","sourceRoot":"","sources":["../../src/checkbox/checkbox.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,IAAI,EAAsB,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kDAAkD,CAAC;AACtF,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGvC,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,kBAAkB;IAWhD,IAAI,aAAa;QACf,OAAO,uBAAA,IAAI,iCAAe,CAAC;IAC7B,CAAC;IACD,IAAI,aAAa,CAAC,aAAsB;QACtC,uBAAA,IAAI,6BAAkB,aAAa,MAAA,CAAC;QAEpC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;YAC9C,OAAO;QACT,CAAC;QAED,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IAC3C,CAAC;IAED,IAAa,OAAO;QAClB,OAAO,KAAK,CAAC,OAAO,CAAC;IACvB,CAAC;IACD,IAAa,OAAO,CAAC,OAAgB;QACnC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAED;QACE,KAAK,EAAE,CAAC;QA7BV,oCAAiB,KAAK,EAAC;QAEkD,mBAAc,GAAG,KAAK,CAAC;IA4BhG,CAAC;IAEQ,YAAY,CAAC,iBAAiC;QACrD,KAAK,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACtC,0CAA0C;QAC1C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC;IAC1C,CAAC;IAEkB,eAAe;QAChC,OAAO,IAAI,CAAA,yDAAyD,CAAC;IACvE,CAAC;;;AA7Ce,iBAAM,GAAG;IACvB,UAAU;IACV,MAAM;CACP,AAHqB,CAGpB;AAIuE;IAAxE,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,OAAO,EAAE,IAAI,EAAC,CAAC;kDAAwB;AAGhG;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;+CAGzB;AAbU,UAAU;IADtB,aAAa,CAAC,YAAY,CAAC;GACf,UAAU,CA+CtB","sourcesContent":["import { PropertyValues } from '@lit/reactive-element';\nimport { html, HTMLTemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { styles as baseStyles } from '../shared/base.styles.js';\nimport { UmSelectionControl } from '../shared/selection-control/selection-control.js';\nimport { styles } from './checkbox.styles.js';\n\n@customElement('u-checkbox')\nexport class UmCheckbox extends UmSelectionControl {\n static override styles = [\n baseStyles,\n styles\n ];\n\n #indeterminate = false;\n\n @property({type: Boolean, attribute: 'hide-state-layer', reflect: true}) hideStateLayer = false;\n\n @property({type: Boolean})\n get indeterminate(): boolean {\n return this.#indeterminate;\n }\n set indeterminate(indeterminate: boolean) {\n this.#indeterminate = indeterminate;\n\n if (!indeterminate) {\n this.input?.classList.remove('indeterminate');\n return;\n }\n \n this.input?.classList.add('indeterminate');\n this.elementInternals.setFormValue(null);\n }\n\n override get checked(): boolean {\n return super.checked;\n }\n override set checked(checked: boolean) {\n super.checked = checked;\n this.indeterminate = false;\n }\n\n constructor() {\n super();\n }\n\n override firstUpdated(changedProperties: PropertyValues) {\n super.firstUpdated(changedProperties);\n // eslint-disable-next-line no-self-assign\n this.indeterminate = this.indeterminate;\n }\n\n protected override renderIndicator(): HTMLTemplateResult {\n return html`<div class=\"border\"><div class=\"indicator\"></div></div>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-checkbox': UmCheckbox;\n }\n}\n"]}
@@ -1,2 +1,2 @@
1
1
  export declare const styles: import("lit").CSSResult;
2
- //# sourceMappingURL=container.styles.d.ts.map
2
+ //# sourceMappingURL=checkbox.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.styles.d.ts","sourceRoot":"","sources":["../../src/checkbox/checkbox.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA2HlB,CAAC"}
@@ -0,0 +1,126 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ --_state-layer-padding: var(--u-checkbox-state-layer-padding, 4px);
5
+ --_input-size: calc(var(--_width) - var(--_state-layer-padding) * 2);
6
+ --_indicator-color: var(--u-checkbox-indicator-unselected-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));
7
+ display: inline-block;
8
+ vertical-align: middle;
9
+ }
10
+
11
+ .container {
12
+ cursor: pointer;
13
+ position: relative;
14
+ width: var(--_width);
15
+ height: var(--_height);
16
+ padding: var(--_state-layer-padding);
17
+ border-radius: var(--u-shape-corner-full, 9999px);
18
+ }
19
+
20
+ :host([hide-state-layer]) .container {
21
+ width: var(--_indicator-size);
22
+ height: var(--_indicator-size);
23
+ padding: 0;
24
+ }
25
+ :host([hide-state-layer]) u-ripple {
26
+ display: none;
27
+ }
28
+
29
+ input {
30
+ cursor: pointer;
31
+ width: 100%;
32
+ height: 100%;
33
+ padding: 0;
34
+ margin: 0;
35
+ border-radius: inherit;
36
+ appearance: none;
37
+ }
38
+
39
+ u-ripple {
40
+ padding: var(--_state-layer-padding);
41
+ }
42
+
43
+ .indicator-container {
44
+ position: absolute;
45
+ display: flex;
46
+ align-items: center;
47
+ justify-content: center;
48
+ inset: 0;
49
+ pointer-events: none;
50
+ }
51
+
52
+ input:checked ~ .indicator-container {
53
+ --_indicator-color: var(--u-checkbox-indicator-unselected-color, var(--u-color-primary, rgb(103, 80, 164)));
54
+ }
55
+
56
+ :host([disabled]) {
57
+ opacity: var(--u-checkbox-disabled-state-opacity, 0.38);
58
+ }
59
+ :host([disabled]) input,
60
+ :host([disabled]) .container {
61
+ cursor: default;
62
+ }
63
+ :host([disabled]) .indicator-container {
64
+ --_indicator-color: var(--u-checkbox-indicator-disabled-color, var(--u-color-on-surface, rgb(29, 27, 32)));
65
+ }
66
+
67
+ :host {
68
+ --_indicator-size: var(--u-checkbox-size, 1.125rem);
69
+ --_width: var(--u-checkbox-size, 3rem);
70
+ --_height: var(--_width);
71
+ }
72
+
73
+ .border {
74
+ width: var(--_indicator-size);
75
+ height: var(--_indicator-size);
76
+ box-shadow: 0 0 0 var(--u-checkbox-indicator-border-width, 0.125rem) var(--_indicator-color) inset;
77
+ border-radius: var(--u-checkbox-indicator-shaper-coner, 2px);
78
+ transition: box-shadow 175ms 175ms;
79
+ }
80
+
81
+ .indicator {
82
+ position: absolute;
83
+ display: flex;
84
+ justify-content: center;
85
+ width: var(--_indicator-size);
86
+ height: var(--_indicator-size);
87
+ overflow: hidden;
88
+ clip: rect(0, 0, var(--_indicator-size), 0);
89
+ transition: clip 275ms;
90
+ }
91
+ .indicator::before {
92
+ position: relative;
93
+ top: 25%;
94
+ box-sizing: border-box;
95
+ display: block;
96
+ width: 0.75rem;
97
+ height: 0.35rem;
98
+ content: "";
99
+ border: var(--u-checkbox-indicator-border-width, 0.125rem) solid var(--u-color-on-primary);
100
+ border-top-style: none;
101
+ border-right-style: none;
102
+ transform: rotate(-45deg);
103
+ transition: border 175ms, transform 175ms;
104
+ }
105
+
106
+ input.indeterminate ~ .indicator-container .border,
107
+ input:checked ~ .indicator-container .border {
108
+ box-shadow: 0 0 0 calc(var(--_indicator-size) / 2) var(--_indicator-color) inset;
109
+ transition: box-shadow 175ms;
110
+ }
111
+ input.indeterminate ~ .indicator-container .indicator,
112
+ input:checked ~ .indicator-container .indicator {
113
+ clip: rect(0, var(--_indicator-size), var(--_indicator-size), 0);
114
+ transition: clip 175ms 175ms;
115
+ }
116
+
117
+ input.indeterminate ~ .indicator-container {
118
+ --_indicator-color: var(--u-checkbox-indicator-indeterminate-color, var(--u-color-primary, rgb(103, 80, 164)));
119
+ }
120
+ input.indeterminate ~ .indicator-container .indicator::before {
121
+ border-left-style: none;
122
+ transform: rotate(0);
123
+ width: 0.6rem;
124
+ }
125
+ `;
126
+ //# sourceMappingURL=checkbox.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.styles.js","sourceRoot":"","sources":["../../src/checkbox/checkbox.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2HzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --_state-layer-padding: var(--u-checkbox-state-layer-padding, 4px);\n --_input-size: calc(var(--_width) - var(--_state-layer-padding) * 2);\n --_indicator-color: var(--u-checkbox-indicator-unselected-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n display: inline-block;\n vertical-align: middle;\n }\n\n .container {\n cursor: pointer;\n position: relative;\n width: var(--_width);\n height: var(--_height);\n padding: var(--_state-layer-padding);\n border-radius: var(--u-shape-corner-full, 9999px);\n }\n\n :host([hide-state-layer]) .container {\n width: var(--_indicator-size);\n height: var(--_indicator-size);\n padding: 0;\n }\n :host([hide-state-layer]) u-ripple {\n display: none;\n }\n\n input {\n cursor: pointer;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n border-radius: inherit;\n appearance: none;\n }\n\n u-ripple {\n padding: var(--_state-layer-padding);\n }\n\n .indicator-container {\n position: absolute;\n display: flex;\n align-items: center;\n justify-content: center;\n inset: 0;\n pointer-events: none;\n }\n\n input:checked ~ .indicator-container {\n --_indicator-color: var(--u-checkbox-indicator-unselected-color, var(--u-color-primary, rgb(103, 80, 164)));\n }\n\n :host([disabled]) {\n opacity: var(--u-checkbox-disabled-state-opacity, 0.38);\n }\n :host([disabled]) input,\n :host([disabled]) .container {\n cursor: default;\n }\n :host([disabled]) .indicator-container {\n --_indicator-color: var(--u-checkbox-indicator-disabled-color, var(--u-color-on-surface, rgb(29, 27, 32)));\n }\n\n :host {\n --_indicator-size: var(--u-checkbox-size, 1.125rem);\n --_width: var(--u-checkbox-size, 3rem);\n --_height: var(--_width);\n }\n\n .border {\n width: var(--_indicator-size);\n height: var(--_indicator-size);\n box-shadow: 0 0 0 var(--u-checkbox-indicator-border-width, 0.125rem) var(--_indicator-color) inset;\n border-radius: var(--u-checkbox-indicator-shaper-coner, 2px);\n transition: box-shadow 175ms 175ms;\n }\n\n .indicator {\n position: absolute;\n display: flex;\n justify-content: center;\n width: var(--_indicator-size);\n height: var(--_indicator-size);\n overflow: hidden;\n clip: rect(0, 0, var(--_indicator-size), 0);\n transition: clip 275ms;\n }\n .indicator::before {\n position: relative;\n top: 25%;\n box-sizing: border-box;\n display: block;\n width: 0.75rem;\n height: 0.35rem;\n content: \"\";\n border: var(--u-checkbox-indicator-border-width, 0.125rem) solid var(--u-color-on-primary);\n border-top-style: none;\n border-right-style: none;\n transform: rotate(-45deg);\n transition: border 175ms, transform 175ms;\n }\n\n input.indeterminate ~ .indicator-container .border,\n input:checked ~ .indicator-container .border {\n box-shadow: 0 0 0 calc(var(--_indicator-size) / 2) var(--_indicator-color) inset;\n transition: box-shadow 175ms;\n }\n input.indeterminate ~ .indicator-container .indicator,\n input:checked ~ .indicator-container .indicator {\n clip: rect(0, var(--_indicator-size), var(--_indicator-size), 0);\n transition: clip 175ms 175ms;\n }\n\n input.indeterminate ~ .indicator-container {\n --_indicator-color: var(--u-checkbox-indicator-indeterminate-color, var(--u-color-primary, rgb(103, 80, 164)));\n }\n input.indeterminate ~ .indicator-container .indicator::before {\n border-left-style: none;\n transform: rotate(0);\n width: 0.6rem;\n }\n`;\n"]}
package/config.d.ts CHANGED
@@ -1,4 +1,7 @@
1
1
  export declare const config: {
2
+ fields: {
3
+ defaultAppearance: "filled" | "outlined";
4
+ };
2
5
  navigationDrawer: {
3
6
  useSwiperJs: boolean;
4
7
  };
package/config.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,MAAM;;;;CAAU,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,MAAM;;;;;;;CAAU,CAAC"}
package/config.js CHANGED
@@ -1,4 +1,7 @@
1
1
  const _config = {
2
+ fields: {
3
+ defaultAppearance: 'filled'
4
+ },
2
5
  navigationDrawer: {
3
6
  useSwiperJs: false
4
7
  }
package/config.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;IACd,gBAAgB,EAAE;QAChB,WAAW,EAAE,KAAK;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC","sourcesContent":["const _config = {\n navigationDrawer: {\n useSwiperJs: false\n }\n};\n\nexport const config = _config;\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG;IACd,MAAM,EAAE;QACN,iBAAiB,EAAE,QAAiC;KACrD;IACD,gBAAgB,EAAE;QAChB,WAAW,EAAE,KAAK;KACnB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,MAAM,GAAG,OAAO,CAAC","sourcesContent":["const _config = {\n fields: {\n defaultAppearance: 'filled' as 'filled' | 'outlined'\n },\n navigationDrawer: {\n useSwiperJs: false\n }\n};\n\nexport const config = _config;\n"]}