@universal-material/web 3.4.1 → 3.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (120) hide show
  1. package/button/button-base.d.ts +1 -1
  2. package/button/button-base.d.ts.map +1 -1
  3. package/button/button-base.js +1 -1
  4. package/button/button-base.js.map +1 -1
  5. package/button/button-base.styles.d.ts.map +1 -1
  6. package/button/button-base.styles.js +3 -0
  7. package/button/button-base.styles.js.map +1 -1
  8. package/button/button.d.ts +5 -11
  9. package/button/button.d.ts.map +1 -1
  10. package/button/button.js +29 -20
  11. package/button/button.js.map +1 -1
  12. package/button/button.styles.d.ts.map +1 -1
  13. package/button/button.styles.js +41 -50
  14. package/button/button.styles.js.map +1 -1
  15. package/button/fab-menu-color-context.d.ts +5 -0
  16. package/button/fab-menu-color-context.d.ts.map +1 -0
  17. package/button/fab-menu-color-context.js +3 -0
  18. package/button/fab-menu-color-context.js.map +1 -0
  19. package/button/fab-menu-item.d.ts +23 -0
  20. package/button/fab-menu-item.d.ts.map +1 -0
  21. package/button/fab-menu-item.js +70 -0
  22. package/button/fab-menu-item.js.map +1 -0
  23. package/button/fab-menu-item.styles.d.ts +2 -0
  24. package/button/fab-menu-item.styles.d.ts.map +1 -0
  25. package/button/fab-menu-item.styles.js +82 -0
  26. package/button/fab-menu-item.styles.js.map +1 -0
  27. package/button/fab-menu-open-context.d.ts +4 -0
  28. package/button/fab-menu-open-context.d.ts.map +1 -0
  29. package/button/fab-menu-open-context.js +3 -0
  30. package/button/fab-menu-open-context.js.map +1 -0
  31. package/button/fab-menu.d.ts +26 -0
  32. package/button/fab-menu.d.ts.map +1 -0
  33. package/button/fab-menu.js +93 -0
  34. package/button/fab-menu.js.map +1 -0
  35. package/button/fab-menu.styles.d.ts +2 -0
  36. package/button/fab-menu.styles.d.ts.map +1 -0
  37. package/button/fab-menu.styles.js +145 -0
  38. package/button/fab-menu.styles.js.map +1 -0
  39. package/button/fab.d.ts +2 -1
  40. package/button/fab.d.ts.map +1 -1
  41. package/button/fab.js +13 -7
  42. package/button/fab.js.map +1 -1
  43. package/button/fab.styles.d.ts.map +1 -1
  44. package/button/fab.styles.js +50 -56
  45. package/button/fab.styles.js.map +1 -1
  46. package/button/icon-button.d.ts +3 -2
  47. package/button/icon-button.d.ts.map +1 -1
  48. package/button/icon-button.js +12 -4
  49. package/button/icon-button.js.map +1 -1
  50. package/button/icon-button.styles.d.ts.map +1 -1
  51. package/button/icon-button.styles.js +28 -30
  52. package/button/icon-button.styles.js.map +1 -1
  53. package/button/toggle-button.d.ts +6 -5
  54. package/button/toggle-button.d.ts.map +1 -1
  55. package/button/toggle-button.js +27 -8
  56. package/button/toggle-button.js.map +1 -1
  57. package/button/toggle-button.styles.d.ts.map +1 -1
  58. package/button/toggle-button.styles.js +18 -13
  59. package/button/toggle-button.styles.js.map +1 -1
  60. package/chip/chip.d.ts +9 -23
  61. package/chip/chip.d.ts.map +1 -1
  62. package/chip/chip.js +60 -60
  63. package/chip/chip.js.map +1 -1
  64. package/chip/chip.styles.d.ts.map +1 -1
  65. package/chip/chip.styles.js +32 -39
  66. package/chip/chip.styles.js.map +1 -1
  67. package/custom-elements.json +10772 -10108
  68. package/index.d.ts +2 -0
  69. package/index.d.ts.map +1 -1
  70. package/index.js +2 -0
  71. package/index.js.map +1 -1
  72. package/list/list-item.d.ts.map +1 -1
  73. package/list/list-item.js +13 -9
  74. package/list/list-item.js.map +1 -1
  75. package/list/list-item.styles.d.ts.map +1 -1
  76. package/list/list-item.styles.js +5 -1
  77. package/list/list-item.styles.js.map +1 -1
  78. package/menu/menu-item.d.ts +6 -24
  79. package/menu/menu-item.d.ts.map +1 -1
  80. package/menu/menu-item.js +22 -44
  81. package/menu/menu-item.js.map +1 -1
  82. package/menu/menu-item.styles.d.ts.map +1 -1
  83. package/menu/menu-item.styles.js +6 -5
  84. package/menu/menu-item.styles.js.map +1 -1
  85. package/navigation/drawer-item.d.ts +5 -14
  86. package/navigation/drawer-item.d.ts.map +1 -1
  87. package/navigation/drawer-item.js +18 -21
  88. package/navigation/drawer-item.js.map +1 -1
  89. package/navigation/drawer-item.styles.d.ts.map +1 -1
  90. package/navigation/drawer-item.styles.js +8 -7
  91. package/navigation/drawer-item.styles.js.map +1 -1
  92. package/package.json +1 -1
  93. package/select/option.d.ts +1 -1
  94. package/select/option.d.ts.map +1 -1
  95. package/select/option.js +1 -1
  96. package/select/option.js.map +1 -1
  97. package/shared/base.styles.d.ts.map +1 -1
  98. package/shared/base.styles.js +1 -0
  99. package/shared/base.styles.js.map +1 -1
  100. package/shared/button-wrapper.d.ts +4 -6
  101. package/shared/button-wrapper.d.ts.map +1 -1
  102. package/shared/button-wrapper.js +20 -12
  103. package/shared/button-wrapper.js.map +1 -1
  104. package/shared/button-wrapper.styles.d.ts.map +1 -1
  105. package/shared/button-wrapper.styles.js +7 -5
  106. package/shared/button-wrapper.styles.js.map +1 -1
  107. package/tab-bar/tab.d.ts +2 -2
  108. package/tab-bar/tab.d.ts.map +1 -1
  109. package/tab-bar/tab.js +3 -3
  110. package/tab-bar/tab.js.map +1 -1
  111. package/tab-bar/tab.styles.d.ts.map +1 -1
  112. package/tab-bar/tab.styles.js +4 -1
  113. package/tab-bar/tab.styles.js.map +1 -1
  114. package/typeahead/typeahead.d.ts.map +1 -1
  115. package/typeahead/typeahead.js +2 -7
  116. package/typeahead/typeahead.js.map +1 -1
  117. package/typeahead/typeahead.styles.d.ts.map +1 -1
  118. package/typeahead/typeahead.styles.js +1 -4
  119. package/typeahead/typeahead.styles.js.map +1 -1
  120. package/vscode.html-custom-data.json +353 -336
@@ -1 +1 @@
1
- {"version":3,"file":"fab.styles.js","sourceRoot":"","sources":["../../src/button/fab.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAsFzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n aspect-ratio: 1;\n --u-elevation-level: var(--u-fab-button-elevation-level, 3);\n }\n\n :host([lowered]) {\n --u-elevation-level: var(--u-fab-button-elevation-level, 1);\n }\n\n @media (hover: hover) {\n :host(:hover:not(:focus-within):not(:active)) {\n --u-elevation-level: var(--u-fab-button-hover-elevation-level, 4);\n }\n :host(:hover:not(:focus-within):not(:active)[lowered]) {\n --u-elevation-level: var(--u-fab-button-elevation-level, 2);\n }\n }\n @media (hover: hover) {\n :host(:hover:not(:focus-within):not(:active)) {\n --u-elevation-level: var(--u-fab-button-hover-elevation-level, 4);\n }\n }\n :host([size=small]) {\n width: var(--u-fab-button-small-size, 40px);\n border-radius: var(--u-fab-button-medium-shape-corner, var(--u-shape-corner-medium, 12px));\n }\n\n :host([size=large]) {\n width: var(--u-fab-button-medium-size, 96px);\n border-radius: var(--u-fab-button-medium-shape-corner, var(--u-shape-corner-extra-large, 28px));\n }\n\n :host([extended]),\n :host([size=medium]) {\n width: var(--u-fab-button-medium-size, 56px);\n border-radius: var(--u-fab-button-medium-shape-corner, var(--u-shape-corner-large, 16px));\n }\n\n :host([size=large]) .icon {\n font-size: var(--u-fab-button-icon-size, 2rem);\n }\n\n :host([extended]) .icon,\n :host([size=small]) .icon,\n :host([size=medium]) .icon {\n font-size: var(--u-fab-button-icon-size, 1.5rem);\n }\n\n :host([extended]) {\n width: auto;\n height: var(--u-extended-fab-button-height, 56px);\n aspect-ratio: auto;\n min-width: var(--u-extended-fab-button-min-width, 80px);\n padding-inline: var(--u-extended-fab-button-padding, 16px 24px);\n }\n\n :host([extended]) .icon {\n margin-inline-end: var(--u-extended-fab-button-icon-margin, 12px);\n }\n\n :host([color=primary]) {\n background-color: var(--u-fab-button-primary-bg-color, var(--u-color-primary-container, rgb(234, 221, 255)));\n color: var(--u-fab-button-primary-text-color, var(--u-color-on-primary-container, rgb(33, 0, 93)));\n }\n\n :host([color=secondary]) {\n background-color: var(--u-fab-button-secondary-bg-color, var(--u-color-secondary-container, rgb(232, 222, 248)));\n color: var(--u-fab-button-secondary-text-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n }\n\n :host([color=tertiary]) {\n background-color: var(--u-fab-button-tertiary-bg-color, var(--u-color-tertiary-container, rgb(255, 216, 228)));\n color: var(--u-fab-button-tertiary-text-color, var(--u-color-on-tertiary-container, rgb(49, 17, 29)));\n }\n\n :host([color=branded]),\n :host([color=surface]) {\n background-color: var(--u-fab-button-surface-bg-color, var(--u-color-surface-container-high, rgb(236, 230, 240)));\n color: var(--u-fab-button-surface-text-color, var(--_color-primary));\n }\n\n :host([color=branded][lowered]),\n :host([color=surface][lowered]) {\n background-color: var(--u-fab-button-surface-bg-color, var(--u-color-surface-container-low, rgb(247, 242, 250)));\n }\n`;\n"]}
1
+ {"version":3,"file":"fab.styles.js","sourceRoot":"","sources":["../../src/button/fab.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgFzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n .container {\n --u-elevation-level: var(--u-fab-elevation-level, 3);\n aspect-ratio: 1;\n }\n @media (hover: hover) {\n .container:hover:not(:focus-within):not(:active) {\n --u-elevation-level: var(--u-fab-hover-elevation-level, 4);\n }\n }\n\n .lowered {\n --u-elevation-level: var(--u-fab-elevation-level, 1);\n }\n @media (hover: hover) {\n .lowered:hover:not(:focus-within):not(:active) {\n --u-elevation-level: var(--u-fab-elevation-level, 2);\n }\n }\n\n .small {\n width: var(--u-fab-small-size, 40px);\n border-radius: var(--u-fab-small-shape-corner, var(--u-shape-corner-medium, 12px));\n }\n\n .large {\n width: var(--u-fab-large-size, 96px);\n border-radius: var(--u-fab-large-shape-corner, var(--u-shape-corner-extra-large, 28px));\n }\n .large .icon {\n font-size: var(--u-fab-large-icon-size, 2rem);\n }\n\n .extended,\n .medium {\n width: var(--u-fab-medium-size, 56px);\n border-radius: var(--u-fab-medium-shape-corner, var(--u-shape-corner-large, 16px));\n }\n\n .extended .icon,\n .small .icon,\n .medium .icon {\n font-size: var(--u-fab-icon-size, 1.5rem);\n }\n\n .extended {\n width: auto;\n height: var(--u-extended-fab-height, 56px);\n aspect-ratio: auto;\n min-width: var(--u-extended-fab-min-width, 80px);\n padding-inline: var(--u-extended-fab-padding, 16px 24px);\n }\n .extended .icon {\n margin-inline-end: var(--u-extended-fab-icon-margin, 12px);\n }\n\n .primary {\n background-color: var(--u-fab-primary-container-color, var(--u-color-primary-container, rgb(234, 221, 255)));\n color: var(--u-fab-primary-text-color, var(--u-color-on-primary-container, rgb(33, 0, 93)));\n }\n\n .secondary {\n background-color: var(--u-fab-secondary-container-color, var(--u-color-secondary-container, rgb(232, 222, 248)));\n color: var(--u-fab-secondary-text-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n }\n\n .tertiary {\n background-color: var(--u-fab-tertiary-container-color, var(--u-color-tertiary-container, rgb(255, 216, 228)));\n color: var(--u-fab-tertiary-text-color, var(--u-color-on-tertiary-container, rgb(49, 17, 29)));\n }\n\n .branded,\n .surface {\n background-color: var(--u-fab-surface-container-color, var(--u-color-surface-container-high, rgb(236, 230, 240)));\n color: var(--u-fab-surface-text-color, var(--_color-primary));\n }\n .branded.lowered,\n .surface.lowered {\n background-color: var(--u-fab-surface-container-color, var(--u-color-surface-container-low, rgb(247, 242, 250)));\n }\n`;\n"]}
@@ -1,12 +1,13 @@
1
1
  import { HTMLTemplateResult } from 'lit';
2
2
  import { UmToggleButton } from './toggle-button.js';
3
3
  export type UmIconButtonVariant = 'standard' | 'filled' | 'tonal' | 'outlined';
4
- export type UmIconButtonWidth = 'default' | 'narrow' | 'wide' | undefined;
4
+ export type UmIconButtonWidth = 'default' | 'narrow' | 'wide';
5
5
  export declare class UmIconButton extends UmToggleButton {
6
6
  static styles: import("lit").CSSResultGroup[];
7
7
  variant: UmIconButtonVariant;
8
8
  width: UmIconButtonWidth;
9
- protected renderContent(): HTMLTemplateResult;
9
+ protected _getContainerClasses(): Record<string, boolean>;
10
+ protected _renderContent(): HTMLTemplateResult;
10
11
  }
11
12
  declare global {
12
13
  interface HTMLElementTagNameMap {
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.d.ts","sourceRoot":"","sources":["../../src/button/icon-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAI/C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAC/E,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,CAAC;AAE1E,qBACa,YAAa,SAAQ,cAAc;IAE9C,OAAgB,MAAM,iCAAmC;IAE5B,OAAO,EAAE,mBAAmB,CAAc;IAC1C,KAAK,EAAE,iBAAiB,CAAC;cAEnC,aAAa,IAAI,kBAAkB;CAavD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,YAAY,CAAC;KAC/B;CACF"}
1
+ {"version":3,"file":"icon-button.d.ts","sourceRoot":"","sources":["../../src/button/icon-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAI/C,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEpD,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,CAAC;AAC/E,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE9D,qBACa,YAAa,SAAQ,cAAc;IAE9C,OAAgB,MAAM,iCAAmC;IAE7C,OAAO,EAAE,mBAAmB,CAAc;IAC1C,KAAK,EAAE,iBAAiB,CAAa;cAE9B,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAQ/C,cAAc,IAAI,kBAAkB;CAaxD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,YAAY,CAAC;KAC/B;CACF"}
@@ -7,26 +7,34 @@ let UmIconButton = class UmIconButton extends UmToggleButton {
7
7
  constructor() {
8
8
  super(...arguments);
9
9
  this.variant = 'standard';
10
+ this.width = 'default';
10
11
  }
11
12
  static { this.styles = [UmToggleButton.styles, styles]; }
12
- renderContent() {
13
+ _getContainerClasses() {
14
+ return {
15
+ ...super._getContainerClasses(),
16
+ [this.variant]: true,
17
+ [this.width]: true,
18
+ };
19
+ }
20
+ _renderContent() {
13
21
  return html `
14
22
  <span class="icon-container" aria-hidden="true">
15
23
  <span class="icon icon-default">
16
24
  <slot></slot>
17
25
  </span>
18
26
  <span class="icon icon-selected">
19
- <slot name="selected" @slotchange="${this.handleSelectedIconSlotChange}"></slot>
27
+ <slot name="selected" @slotchange="${this._handleSelectedIconSlotChange}"></slot>
20
28
  </span>
21
29
  </span>
22
30
  `;
23
31
  }
24
32
  };
25
33
  __decorate([
26
- property({ reflect: true })
34
+ property()
27
35
  ], UmIconButton.prototype, "variant", void 0);
28
36
  __decorate([
29
- property({ reflect: true })
37
+ property()
30
38
  ], UmIconButton.prototype, "width", void 0);
31
39
  UmIconButton = __decorate([
32
40
  customElement('u-icon-button')
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../src/button/icon-button.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAsB,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAM7C,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,cAAc;IAAzC;;QAIwB,YAAO,GAAwB,UAAU,CAAC;IAgBzE,CAAC;aAlBiB,WAAM,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,AAAlC,CAAmC;IAKtC,aAAa;QAE9B,OAAO,IAAI,CAAA;;;;;;+CAMgC,IAAI,CAAC,4BAA4B;;;KAG3E,CAAC;IACJ,CAAC;;AAf4B;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CAA2C;AAC1C;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;2CAA0B;AAL3C,YAAY;IADxB,aAAa,CAAC,eAAe,CAAC;GAClB,YAAY,CAoBxB","sourcesContent":["import { html, HTMLTemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { styles } from './icon-button.styles.js';\nimport { UmToggleButton } from './toggle-button.js';\n\nexport type UmIconButtonVariant = 'standard' | 'filled' | 'tonal' | 'outlined';\nexport type UmIconButtonWidth = 'default' | 'narrow' | 'wide' | undefined;\n\n@customElement('u-icon-button')\nexport class UmIconButton extends UmToggleButton {\n\n static override styles = [UmToggleButton.styles, styles];\n\n @property({ reflect: true }) variant: UmIconButtonVariant = 'standard';\n @property({ reflect: true }) width: UmIconButtonWidth;\n\n protected override renderContent(): HTMLTemplateResult {\n\n return html`\n <span class=\"icon-container\" aria-hidden=\"true\">\n <span class=\"icon icon-default\">\n <slot></slot>\n </span>\n <span class=\"icon icon-selected\">\n <slot name=\"selected\" @slotchange=\"${this.handleSelectedIconSlotChange}\"></slot>\n </span>\n </span>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-icon-button': UmIconButton;\n }\n}\n"]}
1
+ {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../src/button/icon-button.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAsB,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE5D,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAM7C,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,cAAc;IAAzC;;QAIO,YAAO,GAAwB,UAAU,CAAC;QAC1C,UAAK,GAAsB,SAAS,CAAC;IAuBnD,CAAC;aA1BiB,WAAM,GAAG,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,AAAlC,CAAmC;IAKtC,oBAAoB;QACrC,OAAO;YACL,GAAG,KAAK,CAAC,oBAAoB,EAAE;YAC/B,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,IAAI;YACpB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;IAEkB,cAAc;QAE/B,OAAO,IAAI,CAAA;;;;;;+CAMgC,IAAI,CAAC,6BAA6B;;;KAG5E,CAAC;IACJ,CAAC;;AAvBW;IAAX,QAAQ,EAAE;6CAA2C;AAC1C;IAAX,QAAQ,EAAE;2CAAsC;AALtC,YAAY;IADxB,aAAa,CAAC,eAAe,CAAC;GAClB,YAAY,CA4BxB","sourcesContent":["import { html, HTMLTemplateResult } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\n\nimport { styles } from './icon-button.styles.js';\nimport { UmToggleButton } from './toggle-button.js';\n\nexport type UmIconButtonVariant = 'standard' | 'filled' | 'tonal' | 'outlined';\nexport type UmIconButtonWidth = 'default' | 'narrow' | 'wide';\n\n@customElement('u-icon-button')\nexport class UmIconButton extends UmToggleButton {\n\n static override styles = [UmToggleButton.styles, styles];\n\n @property() variant: UmIconButtonVariant = 'standard';\n @property() width: UmIconButtonWidth = 'default';\n\n protected override _getContainerClasses(): Record<string, boolean> {\n return {\n ...super._getContainerClasses(),\n [this.variant]: true,\n [this.width]: true,\n };\n }\n\n protected override _renderContent(): HTMLTemplateResult {\n\n return html`\n <span class=\"icon-container\" aria-hidden=\"true\">\n <span class=\"icon icon-default\">\n <slot></slot>\n </span>\n <span class=\"icon icon-selected\">\n <slot name=\"selected\" @slotchange=\"${this._handleSelectedIconSlotChange}\"></slot>\n </span>\n </span>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'u-icon-button': UmIconButton;\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,yBAkHlB,CAAC"}
1
+ {"version":3,"file":"icon-button.styles.d.ts","sourceRoot":"","sources":["../../src/button/icon-button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAgHlB,CAAC"}
@@ -35,83 +35,81 @@ export const styles = css `
35
35
  --_extra-large-pressed-shape-corner: var(--u-icon-button-extra-large-pressed-shape-corner, 16px);
36
36
  --_narrow-width: var(--_small-narrow-width);
37
37
  --_wide-width: var(--_small-wide-width);
38
+ }
39
+
40
+ .container {
38
41
  width: var(--_size);
39
42
  height: var(--_size);
40
43
  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");
41
44
  }
42
45
 
43
- :host([size=extra-small]) {
46
+ .extra-small {
44
47
  --_narrow-width: var(--_extra-small-narrow-width);
45
48
  --_wide-width: var(--_extra-small-wide-width);
46
49
  }
47
50
 
48
- :host([size=medium]) {
51
+ .medium {
49
52
  --_narrow-width: var(--_medium-narrow-width);
50
53
  --_wide-width: var(--_medium-wide-width);
51
54
  }
52
55
 
53
- :host([size=large]) {
56
+ .large {
54
57
  --_narrow-width: var(--_large-narrow-width);
55
58
  --_wide-width: var(--_large-wide-width);
56
59
  }
57
60
 
58
- :host([size=extra-large]) {
61
+ .extra-large {
59
62
  --_narrow-width: var(--_extra-large-narrow-width);
60
63
  --_wide-width: var(--_extra-large-wide-width);
61
64
  }
62
65
 
63
- :host([width=narrow]) {
66
+ .narrow {
64
67
  width: var(--_narrow-width);
65
68
  }
66
69
 
67
- :host([width=wide]) {
70
+ .wide {
68
71
  width: var(--_wide-width);
69
72
  }
70
73
 
71
- :host([variant=filled]) {
74
+ .filled, .filled.selected {
75
+ background-color: var(--u-filled-icon-button-container-color, var(--u-color-primary, rgb(103, 80, 164)));
76
+ color: var(--u-filled-icon-button-text-color, var(--u-color-on-primary, rgb(255, 255, 255)));
77
+ }
78
+ .filled.toggle {
72
79
  background-color: var(--u-filled-icon-button-unselected-container-color, var(--u-color-surface-container, rgb(243, 237, 247)));
73
80
  color: var(--u-filled-icon-button-unselected-text-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));
74
81
  }
75
82
 
76
- :host([variant=tonal]) {
83
+ .tonal {
77
84
  background-color: var(--u-total-icon-button-unselected-container-color, var(--u-color-secondary-container, rgb(232, 222, 248)));
78
85
  color: var(--u-tonal-icon-button-unselected-text-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));
79
86
  }
80
-
81
- :host([selected][variant=filled]),
82
- :host([variant=filled]:not([toggle])) {
83
- background-color: var(--u-filled-icon-button-container-color, var(--u-color-primary, rgb(103, 80, 164)));
84
- color: var(--u-filled-icon-button-text-color, var(--u-color-on-primary, rgb(255, 255, 255)));
85
- }
86
-
87
- :host([selected][variant=tonal]) {
87
+ .tonal.selected {
88
88
  background-color: var(--u-tonal-icon-button-container-color, var(--u-color-secondary, rgb(98, 91, 113)));
89
89
  color: var(--u-tonal-icon-button-text-color, var(--u-color-on-secondary, rgb(255, 255, 255)));
90
90
  }
91
91
 
92
- :host([variant=standard]) {
92
+ .standard {
93
93
  color: var(--u-standard-icon-button-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));
94
94
  }
95
+ .standard.selected {
96
+ color: var(--u-standard-icon-button-selected-text-color, var(--u-color-primary, rgb(103, 80, 164)));
97
+ background-color: var(--u-standard-icon-button-selected-container-color, transparent);
98
+ }
95
99
 
96
- :host([variant=outlined]) {
97
- border: 1px solid var(--u-color-outline, rgb(121, 116, 126));
100
+ .outlined {
98
101
  color: var(--u-outlined-icon-button-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));
99
102
  }
100
-
101
- :host([selected][variant=outlined]) {
103
+ .outlined, .outlined.selected.disabled {
104
+ border: 1px solid var(--u-color-outline-variant, rgb(202, 196, 208));
105
+ }
106
+ .outlined.selected {
102
107
  border: none;
103
108
  background-color: var(--u-outlined-icon-button-selected-container-color, var(--u-color-inverse-surface, rgb(50, 47, 53)));
104
109
  color: var(--u-outlined-icon-button-selected-text-color, var(--u-color-on-inverse-surface, rgb(245, 239, 247)));
105
110
  }
106
-
107
- :host([selected][variant=standard]) {
108
- color: var(--u-standard-icon-button-selected-text-color, var(--u-color-primary, rgb(103, 80, 164)));
109
- background-color: var(--u-standard-icon-button-selected-container-color, transparent);
110
- }
111
-
112
- :host([disabled][variant=outlined]) {
113
- background-color: transparent !important;
114
- border-color: var(--u-outlined-icon-button-disabled-border-color, color-mix(in srgb, var(--u-color-on-surface, rgb(29, 27, 32)) var(--u-outlined-icon-button-disabled-border-opacity, 12%), transparent)) !important;
111
+ .outlined.disabled {
112
+ color: var(--u-outlined-icon-button-disabled-icon-color, color-mix(in srgb, var(--u-color-on-surface, rgb(29, 27, 32)) var(--u-outlined-icon-button-disabled-border-opacity, 10%), transparent)) !important;
115
113
  }
116
114
  `;
117
115
  //# 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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkHzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --_round-shape-corner: var(--u-icon-button-round-shape-corner, calc(var(--_size) / 2));\n --_square-shape-corner: var(--u-icon-button-square-shape-corner, 12px);\n --_extra-small-size: var(--u-icon-button-extra-small-height, 32px);\n --_small-size: var(--u-icon-button-small-height, 40px);\n --_medium-size: var(--u-icon-button-medium-height, 56px);\n --_large-size: var(--u-icon-button-large-height, 96px);\n --_extra-large-size: var(--u-icon-button-extra-large-height, 136px);\n --_extra-small-narrow-width: var(--u-icon-button-extra-small-narrow-width, 28px);\n --_small-narrow-width: var(--u-icon-button-small-narrow-width, 32px);\n --_medium-narrow-width: var(--u-icon-button-medium-narrow-width, 48px);\n --_large-narrow-width: var(--u-icon-button-large-narrow-width, 64px);\n --_extra-large-narrow-width: var(--u-icon-button-extra-large-narrow-width, 104px);\n --_extra-small-wide-width: var(--u-icon-button-extra-small-wide-width, 40px);\n --_small-wide-width: var(--u-icon-button-small-wide-width, 52px);\n --_medium-wide-width: var(--u-icon-button-medium-wide-width, 72px);\n --_large-wide-width: var(--u-icon-button-large-wide-width, 128px);\n --_extra-large-wide-width: var(--u-icon-button-extra-large-wide-width, 184px);\n --_extra-small-icon-size: var(--u-icon-button-extra-small-icon-size, 1.25rem);\n --_small-icon-size: var(--u-icon-button-small-icon-size, 1.5rem);\n --_medium-icon-size: var(--u-icon-button-medium-icon-size, 1.5rem);\n --_large-icon-size: var(--u-icon-button-large-icon-size, 2rem);\n --_extra-large-icon-size: var(--u-icon-button-extra-large-icon-size, 2.5rem);\n --_extra-small-square-shape-corner: var(--u-icon-button-extra-small-square-shape-corner, 12px);\n --_small-square-shape-corner: var(--u-icon-button-small-square-shape-corner, 12px);\n --_medium-square-shape-corner: var(--u-icon-button-medium-square-shape-corner, 16px);\n --_large-square-shape-corner: var(--u-icon-button-large-square-shape-corner, 28px);\n --_extra-large-square-shape-corner: var(--u-icon-button-extra-large-square-shape-corner, 28px);\n --_extra-small-pressed-shape-corner: var(--u-icon-button-extra-small-pressed-shape-corner, 8px);\n --_small-pressed-shape-corner: var(--u-icon-button-small-pressed-shape-corner, 8px);\n --_medium-pressed-shape-corner: var(--u-icon-button-medium-pressed-shape-corner, 12px);\n --_large-pressed-shape-corner: var(--u-icon-button-large-pressed-shape-corner, 16px);\n --_extra-large-pressed-shape-corner: var(--u-icon-button-extra-large-pressed-shape-corner, 16px);\n --_narrow-width: var(--_small-narrow-width);\n --_wide-width: var(--_small-wide-width);\n width: var(--_size);\n height: var(--_size);\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 :host([size=extra-small]) {\n --_narrow-width: var(--_extra-small-narrow-width);\n --_wide-width: var(--_extra-small-wide-width);\n }\n\n :host([size=medium]) {\n --_narrow-width: var(--_medium-narrow-width);\n --_wide-width: var(--_medium-wide-width);\n }\n\n :host([size=large]) {\n --_narrow-width: var(--_large-narrow-width);\n --_wide-width: var(--_large-wide-width);\n }\n\n :host([size=extra-large]) {\n --_narrow-width: var(--_extra-large-narrow-width);\n --_wide-width: var(--_extra-large-wide-width);\n }\n\n :host([width=narrow]) {\n width: var(--_narrow-width);\n }\n\n :host([width=wide]) {\n width: var(--_wide-width);\n }\n\n :host([variant=filled]) {\n background-color: var(--u-filled-icon-button-unselected-container-color, var(--u-color-surface-container, rgb(243, 237, 247)));\n color: var(--u-filled-icon-button-unselected-text-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n\n :host([variant=tonal]) {\n background-color: var(--u-total-icon-button-unselected-container-color, var(--u-color-secondary-container, rgb(232, 222, 248)));\n color: var(--u-tonal-icon-button-unselected-text-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n }\n\n :host([selected][variant=filled]),\n :host([variant=filled]:not([toggle])) {\n background-color: var(--u-filled-icon-button-container-color, var(--u-color-primary, rgb(103, 80, 164)));\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 background-color: var(--u-tonal-icon-button-container-color, var(--u-color-secondary, rgb(98, 91, 113)));\n color: var(--u-tonal-icon-button-text-color, var(--u-color-on-secondary, rgb(255, 255, 255)));\n }\n\n :host([variant=standard]) {\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-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-container-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(--u-color-primary, rgb(103, 80, 164)));\n background-color: var(--u-standard-icon-button-selected-container-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, color-mix(in srgb, var(--u-color-on-surface, rgb(29, 27, 32)) var(--u-outlined-icon-button-disabled-border-opacity, 12%), transparent)) !important;\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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgHzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --_round-shape-corner: var(--u-icon-button-round-shape-corner, calc(var(--_size) / 2));\n --_square-shape-corner: var(--u-icon-button-square-shape-corner, 12px);\n --_extra-small-size: var(--u-icon-button-extra-small-height, 32px);\n --_small-size: var(--u-icon-button-small-height, 40px);\n --_medium-size: var(--u-icon-button-medium-height, 56px);\n --_large-size: var(--u-icon-button-large-height, 96px);\n --_extra-large-size: var(--u-icon-button-extra-large-height, 136px);\n --_extra-small-narrow-width: var(--u-icon-button-extra-small-narrow-width, 28px);\n --_small-narrow-width: var(--u-icon-button-small-narrow-width, 32px);\n --_medium-narrow-width: var(--u-icon-button-medium-narrow-width, 48px);\n --_large-narrow-width: var(--u-icon-button-large-narrow-width, 64px);\n --_extra-large-narrow-width: var(--u-icon-button-extra-large-narrow-width, 104px);\n --_extra-small-wide-width: var(--u-icon-button-extra-small-wide-width, 40px);\n --_small-wide-width: var(--u-icon-button-small-wide-width, 52px);\n --_medium-wide-width: var(--u-icon-button-medium-wide-width, 72px);\n --_large-wide-width: var(--u-icon-button-large-wide-width, 128px);\n --_extra-large-wide-width: var(--u-icon-button-extra-large-wide-width, 184px);\n --_extra-small-icon-size: var(--u-icon-button-extra-small-icon-size, 1.25rem);\n --_small-icon-size: var(--u-icon-button-small-icon-size, 1.5rem);\n --_medium-icon-size: var(--u-icon-button-medium-icon-size, 1.5rem);\n --_large-icon-size: var(--u-icon-button-large-icon-size, 2rem);\n --_extra-large-icon-size: var(--u-icon-button-extra-large-icon-size, 2.5rem);\n --_extra-small-square-shape-corner: var(--u-icon-button-extra-small-square-shape-corner, 12px);\n --_small-square-shape-corner: var(--u-icon-button-small-square-shape-corner, 12px);\n --_medium-square-shape-corner: var(--u-icon-button-medium-square-shape-corner, 16px);\n --_large-square-shape-corner: var(--u-icon-button-large-square-shape-corner, 28px);\n --_extra-large-square-shape-corner: var(--u-icon-button-extra-large-square-shape-corner, 28px);\n --_extra-small-pressed-shape-corner: var(--u-icon-button-extra-small-pressed-shape-corner, 8px);\n --_small-pressed-shape-corner: var(--u-icon-button-small-pressed-shape-corner, 8px);\n --_medium-pressed-shape-corner: var(--u-icon-button-medium-pressed-shape-corner, 12px);\n --_large-pressed-shape-corner: var(--u-icon-button-large-pressed-shape-corner, 16px);\n --_extra-large-pressed-shape-corner: var(--u-icon-button-extra-large-pressed-shape-corner, 16px);\n --_narrow-width: var(--_small-narrow-width);\n --_wide-width: var(--_small-wide-width);\n }\n\n .container {\n width: var(--_size);\n height: var(--_size);\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 .extra-small {\n --_narrow-width: var(--_extra-small-narrow-width);\n --_wide-width: var(--_extra-small-wide-width);\n }\n\n .medium {\n --_narrow-width: var(--_medium-narrow-width);\n --_wide-width: var(--_medium-wide-width);\n }\n\n .large {\n --_narrow-width: var(--_large-narrow-width);\n --_wide-width: var(--_large-wide-width);\n }\n\n .extra-large {\n --_narrow-width: var(--_extra-large-narrow-width);\n --_wide-width: var(--_extra-large-wide-width);\n }\n\n .narrow {\n width: var(--_narrow-width);\n }\n\n .wide {\n width: var(--_wide-width);\n }\n\n .filled, .filled.selected {\n background-color: var(--u-filled-icon-button-container-color, var(--u-color-primary, rgb(103, 80, 164)));\n color: var(--u-filled-icon-button-text-color, var(--u-color-on-primary, rgb(255, 255, 255)));\n }\n .filled.toggle {\n background-color: var(--u-filled-icon-button-unselected-container-color, var(--u-color-surface-container, rgb(243, 237, 247)));\n color: var(--u-filled-icon-button-unselected-text-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n\n .tonal {\n background-color: var(--u-total-icon-button-unselected-container-color, var(--u-color-secondary-container, rgb(232, 222, 248)));\n color: var(--u-tonal-icon-button-unselected-text-color, var(--u-color-on-secondary-container, rgb(29, 25, 43)));\n }\n .tonal.selected {\n background-color: var(--u-tonal-icon-button-container-color, var(--u-color-secondary, rgb(98, 91, 113)));\n color: var(--u-tonal-icon-button-text-color, var(--u-color-on-secondary, rgb(255, 255, 255)));\n }\n\n .standard {\n color: var(--u-standard-icon-button-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n .standard.selected {\n color: var(--u-standard-icon-button-selected-text-color, var(--u-color-primary, rgb(103, 80, 164)));\n background-color: var(--u-standard-icon-button-selected-container-color, transparent);\n }\n\n .outlined {\n color: var(--u-outlined-icon-button-color, var(--u-color-on-surface-variant, rgb(73, 69, 79)));\n }\n .outlined, .outlined.selected.disabled {\n border: 1px solid var(--u-color-outline-variant, rgb(202, 196, 208));\n }\n .outlined.selected {\n border: none;\n background-color: var(--u-outlined-icon-button-selected-container-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 .outlined.disabled {\n color: var(--u-outlined-icon-button-disabled-icon-color, color-mix(in srgb, var(--u-color-on-surface, rgb(29, 27, 32)) var(--u-outlined-icon-button-disabled-border-opacity, 10%), transparent)) !important;\n }\n`;\n"]}
@@ -1,7 +1,7 @@
1
1
  import { CSSResultGroup } from '@lit/reactive-element/css-tag';
2
2
  import { UmButtonBase } from './button-base.js';
3
- export type UmButtonShape = 'round' | 'square' | undefined;
4
- export type UmButtonSize = 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | undefined;
3
+ export type UmButtonShape = 'round' | 'square';
4
+ export type UmButtonSize = 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large';
5
5
  export declare abstract class UmToggleButton extends UmButtonBase {
6
6
  static styles: CSSResultGroup;
7
7
  /**
@@ -29,9 +29,10 @@ export declare abstract class UmToggleButton extends UmButtonBase {
29
29
  * The `aria-label` of the button when the button is toggleable and selected.
30
30
  */
31
31
  ariaLabelSelected: string;
32
- hasSelectionIcon: boolean;
33
- protected handleClick(event: UIEvent): void;
32
+ _hasSelectionIcon: boolean;
33
+ protected _getContainerClasses(): Record<string, boolean>;
34
+ protected _handleClick(event: UIEvent): void;
34
35
  getAriaLabel(): string | null;
35
- protected handleSelectedIconSlotChange(e: Event): void;
36
+ protected _handleSelectedIconSlotChange(e: Event): void;
36
37
  }
37
38
  //# sourceMappingURL=toggle-button.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-button.d.ts","sourceRoot":"","sources":["../../src/button/toggle-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAI/D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC3D,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,CAAC;AAEpG,8BAAsB,cAAe,SAAQ,YAAY;IAEvD,OAAgB,MAAM,EAAE,cAAc,CAAiC;IAEvE;;;OAGG;IACyC,MAAM,UAAS;IAE3D;;OAEG;IACoE,WAAW,UAAS;IAE3F;;OAEG;IACyC,QAAQ,UAAS;IAE7D;;OAEG;IAC0B,KAAK,EAAE,aAAa,CAAC;IAElD;;OAEG;IAC0B,IAAI,EAAE,YAAY,CAAC;IAEhD;;OAEG;IAC6C,iBAAiB,SAAM;IAEM,gBAAgB,UAAS;cAEnF,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAW3C,YAAY,IAAI,MAAM,GAAG,IAAI;IAMtC,SAAS,CAAC,4BAA4B,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;CAGvD"}
1
+ {"version":3,"file":"toggle-button.d.ts","sourceRoot":"","sources":["../../src/button/toggle-button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAI/D,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGhD,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,QAAQ,CAAC;AAC/C,MAAM,MAAM,YAAY,GAAG,aAAa,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC;AAExF,8BAAsB,cAAe,SAAQ,YAAY;IAEvD,OAAgB,MAAM,EAAE,cAAc,CAAiC;IAEvE;;;OAGG;IACyC,MAAM,UAAS;IAE3D;;OAEG;IACoE,WAAW,UAAS;IAE3F;;OAEG;IACyC,QAAQ,UAAS;IAE7D;;OAEG;IAC0B,KAAK,EAAE,aAAa,CAAW;IAE5D;;OAEG;IAC0B,IAAI,EAAE,YAAY,CAAW;IAE1D;;OAEG;IAC6C,iBAAiB,SAAM;IAE9D,iBAAiB,UAAS;cAEhB,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAY/C,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;IAW5C,YAAY,IAAI,MAAM,GAAG,IAAI;IAMtC,SAAS,CAAC,6BAA6B,CAAC,CAAC,EAAE,KAAK,GAAG,IAAI;CAGxD"}
@@ -1,5 +1,5 @@
1
1
  import { __decorate } from "tslib";
2
- import { property } from 'lit/decorators.js';
2
+ import { property, state } from 'lit/decorators.js';
3
3
  import { UmButtonBase } from './button-base.js';
4
4
  import { styles } from './toggle-button.styles.js';
5
5
  export class UmToggleButton extends UmButtonBase {
@@ -18,15 +18,34 @@ export class UmToggleButton extends UmButtonBase {
18
18
  * Sets the selected state
19
19
  */
20
20
  this.selected = false;
21
+ /**
22
+ * Sets the shape of the button
23
+ */
24
+ this.shape = 'round';
25
+ /**
26
+ * Sets the size of the button
27
+ */
28
+ this.size = 'small';
21
29
  /**
22
30
  * The `aria-label` of the button when the button is toggleable and selected.
23
31
  */
24
32
  this.ariaLabelSelected = '';
25
- this.hasSelectionIcon = false;
33
+ this._hasSelectionIcon = false;
26
34
  }
27
35
  static { this.styles = [UmButtonBase.styles, styles]; }
28
- handleClick(event) {
29
- super.handleClick(event);
36
+ _getContainerClasses() {
37
+ return {
38
+ ...super._getContainerClasses(),
39
+ [this.shape]: true,
40
+ [this.size]: true,
41
+ selected: this.selected,
42
+ toggle: this.toggle,
43
+ 'toggle-shape': this.toggleShape,
44
+ 'selection-icon': this._hasSelectionIcon,
45
+ };
46
+ }
47
+ _handleClick(event) {
48
+ super._handleClick(event);
30
49
  if (!this.toggle) {
31
50
  return;
32
51
  }
@@ -38,8 +57,8 @@ export class UmToggleButton extends UmButtonBase {
38
57
  ? this.ariaLabelSelected || super.getAriaLabel()
39
58
  : super.getAriaLabel();
40
59
  }
41
- handleSelectedIconSlotChange(e) {
42
- this.hasSelectionIcon = e.target.assignedElements({ flatten: true }).length > 0;
60
+ _handleSelectedIconSlotChange(e) {
61
+ this._hasSelectionIcon = e.target.assignedElements({ flatten: true }).length > 0;
43
62
  }
44
63
  }
45
64
  __decorate([
@@ -61,6 +80,6 @@ __decorate([
61
80
  property({ attribute: 'aria-label-selected' })
62
81
  ], UmToggleButton.prototype, "ariaLabelSelected", void 0);
63
82
  __decorate([
64
- property({ type: Boolean, attribute: 'has-selection-icon', reflect: true })
65
- ], UmToggleButton.prototype, "hasSelectionIcon", void 0);
83
+ state()
84
+ ], UmToggleButton.prototype, "_hasSelectionIcon", void 0);
66
85
  //# sourceMappingURL=toggle-button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-button.js","sourceRoot":"","sources":["../../src/button/toggle-button.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAKnD,MAAM,OAAgB,cAAe,SAAQ,YAAY;IAAzD;;QAIE;;;WAGG;QACyC,WAAM,GAAG,KAAK,CAAC;QAE3D;;WAEG;QACoE,gBAAW,GAAG,KAAK,CAAC;QAE3F;;WAEG;QACyC,aAAQ,GAAG,KAAK,CAAC;QAY7D;;WAEG;QAC6C,sBAAiB,GAAG,EAAE,CAAC;QAEM,qBAAgB,GAAG,KAAK,CAAC;IAsBxG,CAAC;aAvDiB,WAAM,GAAmB,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,AAAhD,CAAiD;IAmCpD,WAAW,CAAC,KAAc;QAC3C,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEzB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEQ,YAAY;QACnB,OAAO,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC,YAAY,EAAE;YAChD,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;IAC3B,CAAC;IAES,4BAA4B,CAAC,CAAQ;QAC7C,IAAI,CAAC,gBAAgB,GAAI,CAAC,CAAC,MAA0B,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACvG,CAAC;;AAhD2C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAAgB;AAKY;IAAtE,QAAQ,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDAAqB;AAK/C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDAAkB;AAKhC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CAAsB;AAKrB;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CAAoB;AAKA;IAA/C,QAAQ,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;yDAAwB;AAEM;IAA5E,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wDAA0B","sourcesContent":["import { CSSResultGroup } from '@lit/reactive-element/css-tag';\n\nimport { property } from 'lit/decorators.js';\n\nimport { UmButtonBase } from './button-base.js';\nimport { styles } from './toggle-button.styles.js';\n\nexport type UmButtonShape = 'round' | 'square' | undefined;\nexport type UmButtonSize = 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large' | undefined;\n\nexport abstract class UmToggleButton extends UmButtonBase {\n\n static override styles: CSSResultGroup = [UmButtonBase.styles, styles];\n\n /**\n * When true, the button will toggle between selected and unselected\n * states\n */\n @property({ type: Boolean, reflect: true }) toggle = false;\n\n /**\n * When true, the button will toggle between round and square shapes\n */\n @property({ attribute: 'toggle-shape', type: Boolean, reflect: true }) toggleShape = false;\n\n /**\n * Sets the selected state\n */\n @property({ type: Boolean, reflect: true }) selected = false;\n\n /**\n * Sets the shape of the button\n */\n @property({ reflect: true }) shape: UmButtonShape;\n\n /**\n * Sets the size of the button\n */\n @property({ reflect: true }) size: UmButtonSize;\n\n /**\n * The `aria-label` of the button when the button is toggleable and selected.\n */\n @property({ attribute: 'aria-label-selected' }) ariaLabelSelected = '';\n\n @property({ type: Boolean, attribute: 'has-selection-icon', reflect: true }) hasSelectionIcon = false;\n\n protected override handleClick(event: UIEvent): void {\n super.handleClick(event);\n\n if (!this.toggle) {\n return;\n }\n\n this.selected = !this.selected;\n this.dispatchEvent(new Event('change', { bubbles: true }));\n }\n\n override getAriaLabel(): string | null {\n return this.selected\n ? this.ariaLabelSelected || super.getAriaLabel()\n : super.getAriaLabel();\n }\n\n protected handleSelectedIconSlotChange(e: Event): void {\n this.hasSelectionIcon = (e.target as HTMLSlotElement).assignedElements({ flatten: true }).length > 0;\n }\n}\n"]}
1
+ {"version":3,"file":"toggle-button.js","sourceRoot":"","sources":["../../src/button/toggle-button.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAKnD,MAAM,OAAgB,cAAe,SAAQ,YAAY;IAAzD;;QAIE;;;WAGG;QACyC,WAAM,GAAG,KAAK,CAAC;QAE3D;;WAEG;QACoE,gBAAW,GAAG,KAAK,CAAC;QAE3F;;WAEG;QACyC,aAAQ,GAAG,KAAK,CAAC;QAE7D;;WAEG;QAC0B,UAAK,GAAkB,OAAO,CAAC;QAE5D;;WAEG;QAC0B,SAAI,GAAiB,OAAO,CAAC;QAE1D;;WAEG;QAC6C,sBAAiB,GAAG,EAAE,CAAC;QAE9D,sBAAiB,GAAG,KAAK,CAAC;IAkCrC,CAAC;aAnEiB,WAAM,GAAmB,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,AAAhD,CAAiD;IAmCpD,oBAAoB;QACrC,OAAO;YACL,GAAG,KAAK,CAAC,oBAAoB,EAAE;YAC/B,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI;YAClB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,cAAc,EAAE,IAAI,CAAC,WAAW;YAChC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB;SACzC,CAAC;IACJ,CAAC;IAEkB,YAAY,CAAC,KAAc;QAC5C,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAE1B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC/B,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEQ,YAAY;QACnB,OAAO,IAAI,CAAC,QAAQ;YAClB,CAAC,CAAC,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC,YAAY,EAAE;YAChD,CAAC,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;IAC3B,CAAC;IAES,6BAA6B,CAAC,CAAQ;QAC9C,IAAI,CAAC,iBAAiB,GAAI,CAAC,CAAC,MAA0B,CAAC,gBAAgB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;IACxG,CAAC;;AA5D2C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;8CAAgB;AAKY;IAAtE,QAAQ,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDAAqB;AAK/C;IAA3C,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;gDAAkB;AAKhC;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CAAgC;AAK/B;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;4CAA8B;AAKV;IAA/C,QAAQ,CAAC,EAAE,SAAS,EAAE,qBAAqB,EAAE,CAAC;yDAAwB;AAE9D;IAAR,KAAK,EAAE;yDAA2B","sourcesContent":["import { CSSResultGroup } from '@lit/reactive-element/css-tag';\n\nimport { property, state } from 'lit/decorators.js';\n\nimport { UmButtonBase } from './button-base.js';\nimport { styles } from './toggle-button.styles.js';\n\nexport type UmButtonShape = 'round' | 'square';\nexport type UmButtonSize = 'extra-small' | 'small' | 'medium' | 'large' | 'extra-large';\n\nexport abstract class UmToggleButton extends UmButtonBase {\n\n static override styles: CSSResultGroup = [UmButtonBase.styles, styles];\n\n /**\n * When true, the button will toggle between selected and unselected\n * states\n */\n @property({ type: Boolean, reflect: true }) toggle = false;\n\n /**\n * When true, the button will toggle between round and square shapes\n */\n @property({ attribute: 'toggle-shape', type: Boolean, reflect: true }) toggleShape = false;\n\n /**\n * Sets the selected state\n */\n @property({ type: Boolean, reflect: true }) selected = false;\n\n /**\n * Sets the shape of the button\n */\n @property({ reflect: true }) shape: UmButtonShape = 'round';\n\n /**\n * Sets the size of the button\n */\n @property({ reflect: true }) size: UmButtonSize = 'small';\n\n /**\n * The `aria-label` of the button when the button is toggleable and selected.\n */\n @property({ attribute: 'aria-label-selected' }) ariaLabelSelected = '';\n\n @state() _hasSelectionIcon = false;\n\n protected override _getContainerClasses(): Record<string, boolean> {\n return {\n ...super._getContainerClasses(),\n [this.shape]: true,\n [this.size]: true,\n selected: this.selected,\n toggle: this.toggle,\n 'toggle-shape': this.toggleShape,\n 'selection-icon': this._hasSelectionIcon,\n };\n }\n\n protected override _handleClick(event: UIEvent): void {\n super._handleClick(event);\n\n if (!this.toggle) {\n return;\n }\n\n this.selected = !this.selected;\n this.dispatchEvent(new Event('change', { bubbles: true }));\n }\n\n override getAriaLabel(): string | null {\n return this.selected\n ? this.ariaLabelSelected || super.getAriaLabel()\n : super.getAriaLabel();\n }\n\n protected _handleSelectedIconSlotChange(e: Event): void {\n this._hasSelectionIcon = (e.target as HTMLSlotElement).assignedElements({ flatten: true }).length > 0;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-button.styles.d.ts","sourceRoot":"","sources":["../../src/button/toggle-button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAyFlB,CAAC"}
1
+ {"version":3,"file":"toggle-button.styles.d.ts","sourceRoot":"","sources":["../../src/button/toggle-button.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA8FlB,CAAC"}
@@ -5,51 +5,56 @@ export const styles = css `
5
5
  --_square-shape-corner: var(--_small-square-shape-corner);
6
6
  --_pressed-shape-corner: var(--_small-pressed-shape-corner);
7
7
  --_icon-size: var(--_small-icon-size);
8
- border-radius: var(--_round-shape-corner);
9
- height: var(--_size);
10
8
  }
11
9
 
12
- :host([size=extra-small]) {
10
+ .extra-small {
13
11
  --_size: var(--_extra-small-size);
14
12
  --_icon-size: var(--_extra-small-icon-size);
15
13
  --_square-shape-corner: var(--_extra-small-square-shape-corner);
16
14
  --_pressed-shape-corner: var(--_extra-small-pressed-shape-corner);
17
15
  }
18
16
 
19
- :host([size=medium]) {
17
+ .medium {
20
18
  --_size: var(--_medium-size);
21
19
  --_icon-size: var(--_medium-icon-size);
22
20
  --_square-shape-corner: var(--_medium-square-shape-corner);
23
21
  --_pressed-shape-corner: var(--_medium-pressed-shape-corner);
24
22
  }
25
23
 
26
- :host([size=large]) {
24
+ .large {
27
25
  --_size: var(--_large-size);
28
26
  --_icon-size: var(--_large-icon-size);
29
27
  --_square-shape-corner: var(--_large-square-shape-corner);
30
28
  --_pressed-shape-corner: var(--_large-pressed-shape-corner);
31
29
  }
32
30
 
33
- :host([size=extra-large]) {
31
+ .extra-large {
34
32
  --_size: var(--_extra-large-size);
35
33
  --_icon-size: var(--_extra-large-icon-size);
36
34
  --_square-shape-corner: var(--_extra-large-square-shape-corner);
37
35
  --_pressed-shape-corner: var(--_extra-large-pressed-shape-corner);
38
36
  }
39
37
 
40
- :host([selected][toggle-shape]) {
41
- border-radius: var(--_square-shape-corner);
38
+ .container {
39
+ height: var(--_size);
42
40
  }
43
41
 
44
- :host([shape=square]) {
42
+ .round {
43
+ border-radius: var(--_round-shape-corner);
44
+ }
45
+
46
+ .square {
45
47
  border-radius: var(--_square-shape-corner);
46
48
  }
47
49
 
48
- :host([shape=square][selected][toggle-shape]) {
50
+ .selected.toggle-shape.round {
51
+ border-radius: var(--_square-shape-corner);
52
+ }
53
+ .selected.toggle-shape.square {
49
54
  border-radius: var(--_round-shape-corner);
50
55
  }
51
56
 
52
- :host([toggle-shape]:not([disabled]):active) {
57
+ :host(:active) .toggle-shape:not(.disabled) {
53
58
  border-radius: var(--_pressed-shape-corner);
54
59
  }
55
60
 
@@ -68,11 +73,11 @@ export const styles = css `
68
73
  transition-delay: calc(var(--_morph-duration) / 2);
69
74
  }
70
75
 
71
- :host([selected][has-selection-icon]) .icon-default {
76
+ .selected.selection-icon .icon-default {
72
77
  opacity: 0;
73
78
  transition-delay: 0ms;
74
79
  }
75
- :host([selected][has-selection-icon]) .icon-selected {
80
+ .selected.selection-icon .icon-selected {
76
81
  opacity: 1;
77
82
  transition-delay: calc(var(--_morph-duration) / 2);
78
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"toggle-button.styles.js","sourceRoot":"","sources":["../../src/button/toggle-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyFzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --_size: var(--_small-size);\n --_square-shape-corner: var(--_small-square-shape-corner);\n --_pressed-shape-corner: var(--_small-pressed-shape-corner);\n --_icon-size: var(--_small-icon-size);\n border-radius: var(--_round-shape-corner);\n height: var(--_size);\n }\n\n :host([size=extra-small]) {\n --_size: var(--_extra-small-size);\n --_icon-size: var(--_extra-small-icon-size);\n --_square-shape-corner: var(--_extra-small-square-shape-corner);\n --_pressed-shape-corner: var(--_extra-small-pressed-shape-corner);\n }\n\n :host([size=medium]) {\n --_size: var(--_medium-size);\n --_icon-size: var(--_medium-icon-size);\n --_square-shape-corner: var(--_medium-square-shape-corner);\n --_pressed-shape-corner: var(--_medium-pressed-shape-corner);\n }\n\n :host([size=large]) {\n --_size: var(--_large-size);\n --_icon-size: var(--_large-icon-size);\n --_square-shape-corner: var(--_large-square-shape-corner);\n --_pressed-shape-corner: var(--_large-pressed-shape-corner);\n }\n\n :host([size=extra-large]) {\n --_size: var(--_extra-large-size);\n --_icon-size: var(--_extra-large-icon-size);\n --_square-shape-corner: var(--_extra-large-square-shape-corner);\n --_pressed-shape-corner: var(--_extra-large-pressed-shape-corner);\n }\n\n :host([selected][toggle-shape]) {\n border-radius: var(--_square-shape-corner);\n }\n\n :host([shape=square]) {\n border-radius: var(--_square-shape-corner);\n }\n\n :host([shape=square][selected][toggle-shape]) {\n border-radius: var(--_round-shape-corner);\n }\n\n :host([toggle-shape]:not([disabled]):active) {\n border-radius: var(--_pressed-shape-corner);\n }\n\n .icon-container {\n position: relative;\n width: var(--_icon-size);\n height: 1px;\n }\n\n .icon-default {\n opacity: 1;\n }\n\n .icon-selected {\n opacity: 0;\n transition-delay: calc(var(--_morph-duration) / 2);\n }\n\n :host([selected][has-selection-icon]) .icon-default {\n opacity: 0;\n transition-delay: 0ms;\n }\n :host([selected][has-selection-icon]) .icon-selected {\n opacity: 1;\n transition-delay: calc(var(--_morph-duration) / 2);\n }\n\n .icon {\n position: absolute;\n top: 50%;\n left: 50%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: var(--_icon-size);\n transform: translate3d(-50%, -50%, 0);\n transition: opacity var(--_morph-duration) linear;\n }\n`;\n"]}
1
+ {"version":3,"file":"toggle-button.styles.js","sourceRoot":"","sources":["../../src/button/toggle-button.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FzB,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css `\n :host {\n --_size: var(--_small-size);\n --_square-shape-corner: var(--_small-square-shape-corner);\n --_pressed-shape-corner: var(--_small-pressed-shape-corner);\n --_icon-size: var(--_small-icon-size);\n }\n\n .extra-small {\n --_size: var(--_extra-small-size);\n --_icon-size: var(--_extra-small-icon-size);\n --_square-shape-corner: var(--_extra-small-square-shape-corner);\n --_pressed-shape-corner: var(--_extra-small-pressed-shape-corner);\n }\n\n .medium {\n --_size: var(--_medium-size);\n --_icon-size: var(--_medium-icon-size);\n --_square-shape-corner: var(--_medium-square-shape-corner);\n --_pressed-shape-corner: var(--_medium-pressed-shape-corner);\n }\n\n .large {\n --_size: var(--_large-size);\n --_icon-size: var(--_large-icon-size);\n --_square-shape-corner: var(--_large-square-shape-corner);\n --_pressed-shape-corner: var(--_large-pressed-shape-corner);\n }\n\n .extra-large {\n --_size: var(--_extra-large-size);\n --_icon-size: var(--_extra-large-icon-size);\n --_square-shape-corner: var(--_extra-large-square-shape-corner);\n --_pressed-shape-corner: var(--_extra-large-pressed-shape-corner);\n }\n\n .container {\n height: var(--_size);\n }\n\n .round {\n border-radius: var(--_round-shape-corner);\n }\n\n .square {\n border-radius: var(--_square-shape-corner);\n }\n\n .selected.toggle-shape.round {\n border-radius: var(--_square-shape-corner);\n }\n .selected.toggle-shape.square {\n border-radius: var(--_round-shape-corner);\n }\n\n :host(:active) .toggle-shape:not(.disabled) {\n border-radius: var(--_pressed-shape-corner);\n }\n\n .icon-container {\n position: relative;\n width: var(--_icon-size);\n height: 1px;\n }\n\n .icon-default {\n opacity: 1;\n }\n\n .icon-selected {\n opacity: 0;\n transition-delay: calc(var(--_morph-duration) / 2);\n }\n\n .selected.selection-icon .icon-default {\n opacity: 0;\n transition-delay: 0ms;\n }\n .selected.selection-icon .icon-selected {\n opacity: 1;\n transition-delay: calc(var(--_morph-duration) / 2);\n }\n\n .icon {\n position: absolute;\n top: 50%;\n left: 50%;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n font-size: var(--_icon-size);\n transform: translate3d(-50%, -50%, 0);\n transition: opacity var(--_morph-duration) linear;\n }\n`;\n"]}
package/chip/chip.d.ts CHANGED
@@ -30,31 +30,17 @@ export declare class UmChip extends UmButtonWrapper {
30
30
  * Hide the selected icon
31
31
  */
32
32
  hideSelectedIcon: boolean;
33
- /**
34
- * Whether the chip has a leading icon or not
35
- *
36
- * _Note:_ Readonly
37
- */
38
- hasLeadingIcon: boolean;
39
- /**
40
- * Whether the chip has a selected icon or not
41
- *
42
- * _Note:_ Readonly
43
- */
44
- hasSelectedIcon: boolean;
45
- /**
46
- * Whether the chip has a trailing icon or not
47
- *
48
- * _Note:_ Readonly
49
- */
50
- hasTrailingIcon: boolean;
51
- private readonly assignedLeadingIcons;
52
- private readonly assignedSelectedIcons;
53
- private readonly assignedTrailingIcons;
33
+ private _hasLeadingIcon;
34
+ private _hasSelectedIcon;
35
+ private _hasTrailingIcon;
36
+ private readonly _assignedLeadingIcons;
37
+ private readonly _assignedSelectedIcons;
38
+ private readonly _assignedTrailingIcons;
54
39
  removeRipple: UmRipple;
55
40
  connectedCallback(): void;
56
- protected handleClick(event: UIEvent): void;
57
- protected renderContent(): HTMLTemplateResult;
41
+ protected _handleClick(event: UIEvent): void;
42
+ protected _getContainerClasses(): Record<string, boolean>;
43
+ protected _renderContent(): HTMLTemplateResult;
58
44
  }
59
45
  declare global {
60
46
  interface HTMLElementTagNameMap {
@@ -1 +1 @@
1
- {"version":3,"file":"chip.d.ts","sourceRoot":"","sources":["../../src/chip/chip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAW,MAAM,KAAK,CAAC;AAGxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,qBAAqB,CAAC;AAC7B,OAAO,2BAA2B,CAAC;AAEnC,qBACa,MAAO,SAAQ,eAAe;;IACzC,OAAgB,MAAM,iCAAoC;IAK1D;;OAEG;IACyC,QAAQ,UAAS;IAE7D,IACI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAG3B;IAED;;OAEG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IACH,IACI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAGxB;IAED;;OAEG;IACyC,SAAS,UAAS;IAE9D;;OAEG;IAC0E,gBAAgB,UAAS;IAEtG;;;;OAIG;IACwE,cAAc,UAAS;IAElG;;;;OAIG;IACyE,eAAe,UAAS;IAEpG;;;;OAIG;IACyE,eAAe,UAAS;IAGpG,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAiB;IAGtD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAGvD,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAE9B,YAAY,EAAG,QAAQ,CAAC;IAExC,iBAAiB;cAgCP,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;cAWjC,aAAa,IAAI,kBAAkB;CA2CvD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,QAAQ,EAAE,MAAM,CAAC;KAClB;CACF"}
1
+ {"version":3,"file":"chip.d.ts","sourceRoot":"","sources":["../../src/chip/chip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAW,MAAM,KAAK,CAAC;AAGxD,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAG9D,OAAO,qBAAqB,CAAC;AAC7B,OAAO,2BAA2B,CAAC;AAEnC,qBACa,MAAO,SAAQ,eAAe;;IACzC,OAAgB,MAAM,iCAAoC;IAK1D;;OAEG;IACyC,QAAQ,UAAS;IAE7D,IACI,SAAS,IAAI,OAAO,CAEvB;IAED,IAAI,SAAS,CAAC,KAAK,EAAE,OAAO,EAG3B;IAED;;OAEG;IACyC,QAAQ,UAAS;IAE7D;;;OAGG;IACH,IACI,MAAM,IAAI,OAAO,CAEpB;IAED,IAAI,MAAM,CAAC,KAAK,EAAE,OAAO,EAGxB;IAED;;OAEG;IACyC,SAAS,UAAS;IAE9D;;OAEG;IAC0E,gBAAgB,UAAS;IAE7F,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,gBAAgB,CAAS;IACjC,OAAO,CAAC,gBAAgB,CAAS;IAG1C,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAiB;IAGvD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiB;IAGxD,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAiB;IAE/B,YAAY,EAAG,QAAQ,CAAC;IAExC,iBAAiB;cAgCP,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI;cAWlC,oBAAoB,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAe/C,cAAc,IAAI,kBAAkB;CA6CxD;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,QAAQ,EAAE,MAAM,CAAC;KAClB;CACF"}