igniteui-webcomponents 4.6.0 → 4.7.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 (248) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/animations/player.js.map +1 -1
  3. package/components/accordion/accordion.js.map +1 -1
  4. package/components/avatar/avatar.d.ts +4 -3
  5. package/components/avatar/avatar.js +20 -24
  6. package/components/avatar/avatar.js.map +1 -1
  7. package/components/avatar/themes/themes.js +8 -9
  8. package/components/avatar/themes/themes.js.map +1 -1
  9. package/components/badge/badge.d.ts +4 -1
  10. package/components/badge/badge.js +15 -5
  11. package/components/badge/badge.js.map +1 -1
  12. package/components/badge/themes/themes.js +8 -9
  13. package/components/badge/themes/themes.js.map +1 -1
  14. package/components/button/button-base.d.ts +5 -6
  15. package/components/button/button-base.js +13 -26
  16. package/components/button/button-base.js.map +1 -1
  17. package/components/button/button.d.ts +2 -8
  18. package/components/button/button.js +6 -14
  19. package/components/button/button.js.map +1 -1
  20. package/components/button/icon-button.d.ts +1 -1
  21. package/components/button/icon-button.js +2 -1
  22. package/components/button/icon-button.js.map +1 -1
  23. package/components/button/themes/button/themes.js +8 -9
  24. package/components/button/themes/button/themes.js.map +1 -1
  25. package/components/button/themes/icon-button/themes.js +8 -9
  26. package/components/button/themes/icon-button/themes.js.map +1 -1
  27. package/components/button-group/button-group.d.ts +1 -1
  28. package/components/button-group/button-group.js +2 -1
  29. package/components/button-group/button-group.js.map +1 -1
  30. package/components/button-group/themes/button.js +6 -13
  31. package/components/button-group/themes/button.js.map +1 -1
  32. package/components/button-group/themes/group.js +8 -9
  33. package/components/button-group/themes/group.js.map +1 -1
  34. package/components/button-group/toggle-button.d.ts +2 -2
  35. package/components/button-group/toggle-button.js +7 -13
  36. package/components/button-group/toggle-button.js.map +1 -1
  37. package/components/calendar/calendar.d.ts +1 -1
  38. package/components/calendar/calendar.js +2 -1
  39. package/components/calendar/calendar.js.map +1 -1
  40. package/components/calendar/common/calendar-base.js.map +1 -1
  41. package/components/calendar/common/calendar.model.js.map +1 -1
  42. package/components/calendar/common/utils.js.map +1 -1
  43. package/components/calendar/days-view/days-view.js.map +1 -1
  44. package/components/calendar/months-view/months-view.js.map +1 -1
  45. package/components/calendar/themes/calendar.js +8 -9
  46. package/components/calendar/themes/calendar.js.map +1 -1
  47. package/components/calendar/years-view/years-view.js.map +1 -1
  48. package/components/card/card.content.d.ts +1 -1
  49. package/components/card/card.content.js +2 -1
  50. package/components/card/card.content.js.map +1 -1
  51. package/components/card/card.d.ts +1 -1
  52. package/components/card/card.header.d.ts +1 -1
  53. package/components/card/card.header.js +2 -1
  54. package/components/card/card.header.js.map +1 -1
  55. package/components/card/card.js +2 -1
  56. package/components/card/card.js.map +1 -1
  57. package/components/card/themes/container.js +8 -9
  58. package/components/card/themes/container.js.map +1 -1
  59. package/components/card/themes/content.js +8 -9
  60. package/components/card/themes/content.js.map +1 -1
  61. package/components/card/themes/header.js +8 -9
  62. package/components/card/themes/header.js.map +1 -1
  63. package/components/checkbox/checkbox-base.js.map +1 -1
  64. package/components/chip/chip.d.ts +1 -1
  65. package/components/chip/chip.js +2 -1
  66. package/components/chip/chip.js.map +1 -1
  67. package/components/chip/themes/themes.js +8 -9
  68. package/components/chip/themes/themes.js.map +1 -1
  69. package/components/combo/combo-item.d.ts +2 -0
  70. package/components/combo/combo-item.js +10 -11
  71. package/components/combo/combo-item.js.map +1 -1
  72. package/components/combo/combo-list.d.ts +0 -1
  73. package/components/combo/combo-list.js +0 -6
  74. package/components/combo/combo-list.js.map +1 -1
  75. package/components/combo/combo.d.ts +4 -5
  76. package/components/combo/combo.js +51 -39
  77. package/components/combo/combo.js.map +1 -1
  78. package/components/combo/controllers/navigation.js.map +1 -1
  79. package/components/combo/controllers/selection.js.map +1 -1
  80. package/components/combo/operations/group.d.ts +2 -2
  81. package/components/combo/operations/group.js +13 -26
  82. package/components/combo/operations/group.js.map +1 -1
  83. package/components/combo/themes/dark/combo.bootstrap.css.js +1 -1
  84. package/components/combo/themes/dark/combo.bootstrap.css.js.map +1 -1
  85. package/components/combo/themes/dark/combo.fluent.css.js +1 -1
  86. package/components/combo/themes/dark/combo.fluent.css.js.map +1 -1
  87. package/components/combo/themes/light/combo.bootstrap.css.js +1 -1
  88. package/components/combo/themes/light/combo.bootstrap.css.js.map +1 -1
  89. package/components/combo/themes/light/combo.fluent.css.js +1 -1
  90. package/components/combo/themes/light/combo.fluent.css.js.map +1 -1
  91. package/components/common/controllers/key-bindings.js.map +1 -1
  92. package/components/common/controllers/root-click.d.ts +1 -1
  93. package/components/common/controllers/root-click.js.map +1 -1
  94. package/components/common/controllers/root-scroll.js.map +1 -1
  95. package/components/common/decorators/watch.js.map +1 -1
  96. package/components/common/definitions/defineComponents.js.map +1 -1
  97. package/components/common/definitions/register.js.map +1 -1
  98. package/components/common/mixins/alert.js.map +1 -1
  99. package/components/common/mixins/combo-box.js.map +1 -1
  100. package/components/common/mixins/form-associated.js.map +1 -1
  101. package/components/common/util.js.map +1 -1
  102. package/components/date-time-input/date-time-input.js.map +1 -1
  103. package/components/date-time-input/date-util.js.map +1 -1
  104. package/components/dialog/dialog.js +2 -1
  105. package/components/dialog/dialog.js.map +1 -1
  106. package/components/dialog/themes/themes.js +8 -9
  107. package/components/dialog/themes/themes.js.map +1 -1
  108. package/components/dropdown/dropdown.js.map +1 -1
  109. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js +1 -1
  110. package/components/dropdown/themes/dark/dropdown.bootstrap.css.js.map +1 -1
  111. package/components/dropdown/themes/dark/dropdown.fluent.css.js +1 -1
  112. package/components/dropdown/themes/dark/dropdown.fluent.css.js.map +1 -1
  113. package/components/dropdown/themes/light/dropdown.bootstrap.css.js +1 -1
  114. package/components/dropdown/themes/light/dropdown.bootstrap.css.js.map +1 -1
  115. package/components/dropdown/themes/light/dropdown.fluent.css.js +1 -1
  116. package/components/dropdown/themes/light/dropdown.fluent.css.js.map +1 -1
  117. package/components/dropdown/themes/shared/item/dropdown-item.fluent.css.js +1 -1
  118. package/components/dropdown/themes/shared/item/dropdown-item.fluent.css.js.map +1 -1
  119. package/components/expansion-panel/expansion-panel.d.ts +1 -1
  120. package/components/expansion-panel/expansion-panel.js +2 -1
  121. package/components/expansion-panel/expansion-panel.js.map +1 -1
  122. package/components/expansion-panel/themes/themes.js +8 -9
  123. package/components/expansion-panel/themes/themes.js.map +1 -1
  124. package/components/form/form.js.map +1 -1
  125. package/components/icon/icon.d.ts +2 -2
  126. package/components/icon/icon.js +6 -7
  127. package/components/icon/icon.js.map +1 -1
  128. package/components/icon/icon.registry.js.map +1 -1
  129. package/components/icon/themes/themes.js +8 -9
  130. package/components/icon/themes/themes.js.map +1 -1
  131. package/components/input/input-base.js +0 -4
  132. package/components/input/input-base.js.map +1 -1
  133. package/components/list/list-header.d.ts +1 -1
  134. package/components/list/list-header.js +2 -1
  135. package/components/list/list-header.js.map +1 -1
  136. package/components/list/list-item.d.ts +1 -1
  137. package/components/list/list-item.js +2 -1
  138. package/components/list/list-item.js.map +1 -1
  139. package/components/list/themes/header.js +8 -9
  140. package/components/list/themes/header.js.map +1 -1
  141. package/components/list/themes/item.js +8 -9
  142. package/components/list/themes/item.js.map +1 -1
  143. package/components/mask-input/mask-input-base.js.map +1 -1
  144. package/components/mask-input/mask-input.js.map +1 -1
  145. package/components/mask-input/mask-parser.js.map +1 -1
  146. package/components/nav-drawer/nav-drawer-header-item.d.ts +1 -1
  147. package/components/nav-drawer/nav-drawer-header-item.js +2 -1
  148. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  149. package/components/nav-drawer/nav-drawer-item.d.ts +1 -1
  150. package/components/nav-drawer/nav-drawer-item.js +2 -1
  151. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  152. package/components/nav-drawer/nav-drawer.d.ts +1 -1
  153. package/components/nav-drawer/nav-drawer.js +2 -1
  154. package/components/nav-drawer/nav-drawer.js.map +1 -1
  155. package/components/nav-drawer/themes/container.base.css.js +1 -1
  156. package/components/nav-drawer/themes/container.base.css.js.map +1 -1
  157. package/components/nav-drawer/themes/container.js +8 -9
  158. package/components/nav-drawer/themes/container.js.map +1 -1
  159. package/components/nav-drawer/themes/header-item.js +2 -21
  160. package/components/nav-drawer/themes/header-item.js.map +1 -1
  161. package/components/nav-drawer/themes/item.js +4 -17
  162. package/components/nav-drawer/themes/item.js.map +1 -1
  163. package/components/navbar/navbar.d.ts +1 -1
  164. package/components/navbar/navbar.js +2 -1
  165. package/components/navbar/navbar.js.map +1 -1
  166. package/components/navbar/themes/themes.js +8 -9
  167. package/components/navbar/themes/themes.js.map +1 -1
  168. package/components/popover/popover.js.map +1 -1
  169. package/components/progress/base.js.map +1 -1
  170. package/components/progress/circular-progress.d.ts +1 -1
  171. package/components/progress/circular-progress.js +2 -1
  172. package/components/progress/circular-progress.js.map +1 -1
  173. package/components/progress/linear-progress.d.ts +1 -1
  174. package/components/progress/linear-progress.js +2 -1
  175. package/components/progress/linear-progress.js.map +1 -1
  176. package/components/progress/themes/circular/themes.js +8 -9
  177. package/components/progress/themes/circular/themes.js.map +1 -1
  178. package/components/progress/themes/linear/themes.js +8 -9
  179. package/components/progress/themes/linear/themes.js.map +1 -1
  180. package/components/radio/radio.js.map +1 -1
  181. package/components/radio/utils.js.map +1 -1
  182. package/components/rating/rating.d.ts +5 -0
  183. package/components/rating/rating.js +13 -2
  184. package/components/rating/rating.js.map +1 -1
  185. package/components/rating/themes/themes.js +8 -9
  186. package/components/rating/themes/themes.js.map +1 -1
  187. package/components/select/select-group.js.map +1 -1
  188. package/components/select/select-item.js.map +1 -1
  189. package/components/select/select.js.map +1 -1
  190. package/components/select/themes/dark/select.bootstrap.css.js +1 -1
  191. package/components/select/themes/dark/select.bootstrap.css.js.map +1 -1
  192. package/components/select/themes/dark/select.fluent.css.js +1 -1
  193. package/components/select/themes/dark/select.fluent.css.js.map +1 -1
  194. package/components/select/themes/light/select.bootstrap.css.js +1 -1
  195. package/components/select/themes/light/select.bootstrap.css.js.map +1 -1
  196. package/components/select/themes/light/select.fluent.css.js +1 -1
  197. package/components/select/themes/light/select.fluent.css.js.map +1 -1
  198. package/components/slider/range-slider.js.map +1 -1
  199. package/components/slider/slider-base.js.map +1 -1
  200. package/components/slider/slider.js.map +1 -1
  201. package/components/snackbar/snackbar.d.ts +1 -1
  202. package/components/snackbar/snackbar.js +2 -1
  203. package/components/snackbar/snackbar.js.map +1 -1
  204. package/components/snackbar/themes/themes.js +8 -9
  205. package/components/snackbar/themes/themes.js.map +1 -1
  206. package/components/stepper/step.d.ts +1 -1
  207. package/components/stepper/step.js +2 -1
  208. package/components/stepper/step.js.map +1 -1
  209. package/components/stepper/stepper.js.map +1 -1
  210. package/components/stepper/themes/step/themes.js +8 -9
  211. package/components/stepper/themes/step/themes.js.map +1 -1
  212. package/components/tabs/tab.d.ts +1 -1
  213. package/components/tabs/tab.js +2 -1
  214. package/components/tabs/tab.js.map +1 -1
  215. package/components/tabs/tabs.d.ts +1 -1
  216. package/components/tabs/tabs.js +2 -1
  217. package/components/tabs/tabs.js.map +1 -1
  218. package/components/tabs/themes/tab-themes.js +4 -17
  219. package/components/tabs/themes/tab-themes.js.map +1 -1
  220. package/components/tabs/themes/tabs-themes.js +8 -9
  221. package/components/tabs/themes/tabs-themes.js.map +1 -1
  222. package/components/textarea/textarea.js.map +1 -1
  223. package/components/toast/themes/themes.js +8 -9
  224. package/components/toast/themes/themes.js.map +1 -1
  225. package/components/toast/toast.js +2 -1
  226. package/components/toast/toast.js.map +1 -1
  227. package/components/tree/tree-item.d.ts +1 -1
  228. package/components/tree/tree-item.js +20 -4
  229. package/components/tree/tree-item.js.map +1 -1
  230. package/components/tree/tree.d.ts +5 -0
  231. package/components/tree/tree.js +4 -0
  232. package/components/tree/tree.js.map +1 -1
  233. package/components/tree/tree.navigation.js.map +1 -1
  234. package/components/tree/tree.selection.js.map +1 -1
  235. package/custom-elements.json +190 -378
  236. package/package.json +1 -1
  237. package/theming/config.js.map +1 -1
  238. package/theming/theming-controller.js.map +1 -1
  239. package/theming/utils.js.map +1 -1
  240. package/components/toggle/toggle.controller.d.ts +0 -52
  241. package/components/toggle/toggle.controller.js +0 -92
  242. package/components/toggle/toggle.controller.js.map +0 -1
  243. package/components/toggle/toggle.directive.d.ts +0 -20
  244. package/components/toggle/toggle.directive.js +0 -94
  245. package/components/toggle/toggle.directive.js.map +0 -1
  246. package/components/toggle/types.d.ts +0 -51
  247. package/components/toggle/types.js +0 -2
  248. package/components/toggle/types.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"button-base.js","sourceRoot":"","sources":["../../../src/components/button/button-base.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, TemplateResult, html } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { classMap } from 'lit/directives/class-map.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { EventEmitterMixin } from '../common//mixins/event-emitter.js';\nimport { alternateName } from '../common/decorators/alternateName.js';\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport { Constructor } from '../common/mixins/constructor.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\n\nexport interface IgcButtonEventMap {\n igcFocus: CustomEvent<void>;\n igcBlur: CustomEvent<void>;\n}\n\n@blazorDeepImport\nexport abstract class IgcButtonBaseComponent extends SizableMixin(\n EventEmitterMixin<IgcButtonEventMap, Constructor<LitElement>>(LitElement)\n) {\n public static readonly formAssociated = true;\n protected static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n private __internals: ElementInternals;\n\n @query('[part=\"base\"]', true)\n private nativeElement!: HTMLElement;\n\n protected _disabled = false;\n\n /**\n * The type of the button. Defaults to undefined.\n * @attr\n */\n @alternateName('displayType')\n @property()\n public type!: 'button' | 'reset' | 'submit';\n\n /**\n * The URL the button points to.\n * @attr\n */\n @property()\n public href!: string;\n\n /**\n * Prompts to save the linked URL instead of navigating to it.\n * @attr\n */\n @property()\n public download!: string;\n\n /**\n * Where to display the linked URL, as the name for a browsing context.\n * @attr\n */\n @property()\n public target!: '_blank' | '_parent' | '_self' | '_top' | undefined;\n\n /**\n * The relationship of the linked URL.\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\n * @attr\n */\n @property()\n public rel!: string;\n\n /**\n * The disabled state of the component\n * @attr [disabled=false]\n */\n @property({ type: Boolean, reflect: true })\n public get disabled(): boolean {\n return this._disabled;\n }\n\n public set disabled(value: boolean) {\n const prev = this._disabled;\n this._disabled = value;\n this.toggleAttribute('disabled', Boolean(this._disabled));\n this.requestUpdate('disabled', prev);\n }\n\n /** Returns the HTMLFormElement associated with this element. */\n public get form() {\n return this.__internals.form;\n }\n\n constructor() {\n super();\n this.__internals = this.attachInternals();\n this.size = 'medium';\n }\n\n /** Sets focus in the button. */\n @alternateName('focusComponent')\n public override focus(options?: FocusOptions) {\n this.nativeElement.focus(options);\n }\n\n /** Simulates a mouse click on the element */\n public override click() {\n this.nativeElement.click();\n }\n\n /** Removes focus from the button. */\n @alternateName('blurComponent')\n public override blur() {\n this.nativeElement.blur();\n }\n\n protected handleFocus() {\n this.emitEvent('igcFocus');\n }\n\n protected handleBlur() {\n this.emitEvent('igcBlur');\n }\n\n protected get classes() {\n return {};\n }\n\n protected handleClick() {\n switch (this.type) {\n case 'submit':\n return this.form?.requestSubmit();\n case 'reset':\n return this.form?.reset();\n default:\n return;\n }\n }\n\n protected formDisabledCallback(state: boolean) {\n this._disabled = state;\n this.requestUpdate();\n }\n\n private renderButton() {\n return html`\n <button\n part=\"base\"\n .ariaLabel=${this.ariaLabel}\n .disabled=${this.disabled}\n class=${classMap(this.classes)}\n type=${ifDefined(this.type)}\n @click=${this.handleClick}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n >\n ${this.renderContent()}\n </button>\n `;\n }\n\n private renderLinkButton() {\n return html`\n <a\n part=\"base\"\n role=\"button\"\n href=${ifDefined(this.href)}\n target=${ifDefined(this.target)}\n download=${ifDefined(this.download)}\n rel=${ifDefined(this.rel)}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n .ariaLabel=${this.ariaLabel}\n class=${classMap(this.classes)}\n @focus=${!this.disabled && this.handleFocus}\n @blur=${!this.disabled && this.handleBlur}\n >\n ${this.renderContent()}\n </a>\n `;\n }\n\n protected abstract renderContent(): TemplateResult;\n\n protected override render() {\n const link = this.href !== undefined;\n return link ? this.renderLinkButton() : this.renderButton();\n }\n}\n"]}
1
+ {"version":3,"file":"button-base.js","sourceRoot":"","sources":["../../../src/components/button/button-base.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, TemplateResult, html, nothing } from 'lit';\nimport { property, query } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { EventEmitterMixin } from '../common//mixins/event-emitter.js';\nimport { blazorDeepImport } from '../common/decorators/blazorDeepImport.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { SizableMixin } from '../common/mixins/sizable.js';\n\nexport interface IgcButtonEventMap {\n igcFocus: CustomEvent<void>;\n igcBlur: CustomEvent<void>;\n}\n\n@blazorDeepImport\nexport abstract class IgcButtonBaseComponent extends SizableMixin(\n EventEmitterMixin<IgcButtonEventMap, Constructor<LitElement>>(LitElement)\n) {\n public static readonly formAssociated = true;\n\n protected static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n protected __internals: ElementInternals;\n protected _disabled = false;\n\n @query('[part=\"base\"]', true)\n private _nativeButton!: HTMLButtonElement;\n\n /* alternateName: displayType */\n /**\n * The type of the button. Defaults to `button`.\n * @attr\n */\n @property({ reflect: true })\n public type: 'button' | 'reset' | 'submit' = 'button';\n\n /**\n * The URL the button points to.\n * @attr\n */\n @property()\n public href!: string;\n\n /**\n * Prompts to save the linked URL instead of navigating to it.\n * @attr\n */\n @property()\n public download!: string;\n\n /**\n * Where to display the linked URL, as the name for a browsing context.\n * @attr\n */\n @property()\n public target?: '_blank' | '_parent' | '_self' | '_top';\n\n /**\n * The relationship of the linked URL.\n * See https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types\n * @attr\n */\n @property()\n public rel!: string;\n\n /**\n * The disabled state of the component\n * @attr [disabled=false]\n */\n @property({ type: Boolean, reflect: true })\n public get disabled(): boolean {\n return this._disabled;\n }\n\n public set disabled(value: boolean) {\n const prev = this._disabled;\n this._disabled = value;\n this.toggleAttribute('disabled', Boolean(this._disabled));\n this.requestUpdate('disabled', prev);\n }\n\n /** Returns the HTMLFormElement associated with this element. */\n public get form() {\n return this.__internals.form;\n }\n\n constructor() {\n super();\n this.__internals = this.attachInternals();\n this.size = 'medium';\n }\n\n /* alternateName: focusComponent */\n /** Sets focus in the button. */\n public override focus(options?: FocusOptions) {\n this._nativeButton.focus(options);\n }\n\n /** Simulates a mouse click on the element */\n public override click() {\n this._nativeButton.click();\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the button. */\n public override blur() {\n this._nativeButton.blur();\n }\n\n protected handleFocus() {\n this.emitEvent('igcFocus');\n }\n\n protected handleBlur() {\n this.emitEvent('igcBlur');\n }\n\n protected handleClick() {\n switch (this.type) {\n case 'submit':\n return this.form?.requestSubmit();\n case 'reset':\n return this.form?.reset();\n default:\n return;\n }\n }\n\n protected formDisabledCallback(state: boolean) {\n this._disabled = state;\n this.requestUpdate();\n }\n\n private renderButton() {\n return html`\n <button\n part=\"base\"\n aria-label=${ifDefined(this.ariaLabel ?? nothing)}\n ?disabled=${this.disabled}\n type=${ifDefined(this.type)}\n @click=${this.handleClick}\n @focus=${this.handleFocus}\n @blur=${this.handleBlur}\n >\n ${this.renderContent()}\n </button>\n `;\n }\n\n private renderLinkButton() {\n return html`\n <a\n part=\"base\"\n role=\"button\"\n aria-label=${ifDefined(this.ariaLabel ?? nothing)}\n aria-disabled=${this.disabled ? 'true' : 'false'}\n href=${ifDefined(this.href)}\n target=${ifDefined(this.target)}\n download=${ifDefined(this.download)}\n rel=${ifDefined(this.rel)}\n @focus=${this.disabled ? nothing : this.handleFocus}\n @blur=${this.disabled ? nothing : this.handleBlur}\n >\n ${this.renderContent()}\n </a>\n `;\n }\n\n protected abstract renderContent(): TemplateResult;\n\n protected override render() {\n const link = this.href !== undefined;\n return link ? this.renderLinkButton() : this.renderButton();\n }\n}\n"]}
@@ -18,20 +18,14 @@ import { IgcButtonBaseComponent } from './button-base.js';
18
18
  */
19
19
  export default class IgcButtonComponent extends IgcButtonBaseComponent {
20
20
  static readonly tagName = "igc-button";
21
- protected static styles: import("lit").CSSResult;
21
+ protected static styles: import("lit").CSSResult[];
22
22
  static register(): void;
23
23
  /**
24
24
  * Sets the variant of the button.
25
25
  * @attr
26
26
  */
27
27
  variant: 'flat' | 'contained' | 'outlined' | 'fab';
28
- protected get classes(): {
29
- flat: boolean;
30
- outlined: boolean;
31
- contained: boolean;
32
- fab: boolean;
33
- disabled: boolean;
34
- };
28
+ constructor();
35
29
  protected renderContent(): import("lit-html").TemplateResult<1>;
36
30
  }
37
31
  declare global {
@@ -8,26 +8,18 @@ import { html } from 'lit';
8
8
  import { property } from 'lit/decorators.js';
9
9
  import { IgcButtonBaseComponent } from './button-base.js';
10
10
  import { styles } from './themes/button/button.base.css.js';
11
+ import { styles as shared } from './themes/button/shared/button.common.css.js';
11
12
  import { all } from './themes/button/themes.js';
12
13
  import { themes } from '../../theming/theming-decorator.js';
13
14
  import { registerComponent } from '../common/definitions/register.js';
14
15
  let IgcButtonComponent = class IgcButtonComponent extends IgcButtonBaseComponent {
15
- constructor() {
16
- super(...arguments);
17
- this.variant = 'contained';
18
- }
19
16
  static register() {
20
17
  registerComponent(this);
21
18
  }
22
- get classes() {
23
- const { variant } = this;
24
- return {
25
- flat: variant === 'flat',
26
- outlined: variant === 'outlined',
27
- contained: variant === 'contained',
28
- fab: variant === 'fab',
29
- disabled: this.disabled,
30
- };
19
+ constructor() {
20
+ super();
21
+ this.variant = 'contained';
22
+ this.size = 'medium';
31
23
  }
32
24
  renderContent() {
33
25
  return html `
@@ -38,7 +30,7 @@ let IgcButtonComponent = class IgcButtonComponent extends IgcButtonBaseComponent
38
30
  }
39
31
  };
40
32
  IgcButtonComponent.tagName = 'igc-button';
41
- IgcButtonComponent.styles = styles;
33
+ IgcButtonComponent.styles = [styles, shared];
42
34
  __decorate([
43
35
  property({ reflect: true })
44
36
  ], IgcButtonComponent.prototype, "variant", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/button/button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAoBvD,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,sBAAsB;IAAvD;;QAaN,YAAO,GAA8C,WAAW,CAAC;IAqB1E,CAAC;IA9BQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IASD,IAAuB,OAAO;QAC5B,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;QAEzB,OAAO;YACL,IAAI,EAAE,OAAO,KAAK,MAAM;YACxB,QAAQ,EAAE,OAAO,KAAK,UAAU;YAChC,SAAS,EAAE,OAAO,KAAK,WAAW;YAClC,GAAG,EAAE,OAAO,KAAK,KAAK;YACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IAES,aAAa;QACrB,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AAhCsB,0BAAO,GAAG,YAAY,AAAf,CAAgB;AAC7B,yBAAM,GAAG,MAAM,AAAT,CAAU;AAW1B;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDAC4C;AAbrD,kBAAkB;IADtC,MAAM,CAAC,GAAG,CAAC;GACS,kBAAkB,CAkCtC;eAlCoB,kBAAkB","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { IgcButtonBaseComponent } from './button-base.js';\nimport { styles } from './themes/button/button.base.css.js';\nimport { all } from './themes/button/themes.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\n\n/**\n * Represents a clickable button, used to submit forms or anywhere in a\n * document for accessible, standard button functionality.\n *\n * @element igc-button\n *\n * @slot - Renders the label of the button.\n * @slot prefix - Renders content before the label of the button.\n * @slot suffix - Renders content after the label of the button.\n *\n * @fires igcFocus - Emitted when the button gains focus.\n * @fires igcBlur - Emitted when the button loses focus.\n *\n * @csspart base - The native button element.\n * @csspart prefix - The prefix container.\n * @csspart suffix - The suffix container.\n */\n@themes(all)\nexport default class IgcButtonComponent extends IgcButtonBaseComponent {\n public static readonly tagName = 'igc-button';\n protected static styles = styles;\n\n public static register() {\n registerComponent(this);\n }\n\n /**\n * Sets the variant of the button.\n * @attr\n */\n @property({ reflect: true })\n public variant: 'flat' | 'contained' | 'outlined' | 'fab' = 'contained';\n\n protected override get classes() {\n const { variant } = this;\n\n return {\n flat: variant === 'flat',\n outlined: variant === 'outlined',\n contained: variant === 'contained',\n fab: variant === 'fab',\n disabled: this.disabled,\n };\n }\n\n protected renderContent() {\n return html`\n <slot name=\"prefix\"></slot>\n <slot></slot>\n <slot name=\"suffix\"></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-button': IgcButtonComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../src/components/button/button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,MAAM,2BAA2B,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAoBvD,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,sBAAsB;IAI7D,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IASD;QACE,KAAK,EAAE,CAAC;QAHH,YAAO,GAA8C,WAAW,CAAC;QAItE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;IACvB,CAAC;IAES,aAAa;QACrB,OAAO,IAAI,CAAA;;;;KAIV,CAAC;IACJ,CAAC;;AAzBsB,0BAAO,GAAG,YAAY,AAAf,CAAgB;AAC7B,yBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAWpC;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;mDAC4C;AAbrD,kBAAkB;IADtC,MAAM,CAAC,GAAG,CAAC;GACS,kBAAkB,CA2BtC;eA3BoB,kBAAkB","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport { IgcButtonBaseComponent } from './button-base.js';\nimport { styles } from './themes/button/button.base.css.js';\nimport { styles as shared } from './themes/button/shared/button.common.css.js';\nimport { all } from './themes/button/themes.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\n\n/**\n * Represents a clickable button, used to submit forms or anywhere in a\n * document for accessible, standard button functionality.\n *\n * @element igc-button\n *\n * @slot - Renders the label of the button.\n * @slot prefix - Renders content before the label of the button.\n * @slot suffix - Renders content after the label of the button.\n *\n * @fires igcFocus - Emitted when the button gains focus.\n * @fires igcBlur - Emitted when the button loses focus.\n *\n * @csspart base - The native button element.\n * @csspart prefix - The prefix container.\n * @csspart suffix - The suffix container.\n */\n@themes(all)\nexport default class IgcButtonComponent extends IgcButtonBaseComponent {\n public static readonly tagName = 'igc-button';\n protected static styles = [styles, shared];\n\n public static register() {\n registerComponent(this);\n }\n\n /**\n * Sets the variant of the button.\n * @attr\n */\n @property({ reflect: true })\n public variant: 'flat' | 'contained' | 'outlined' | 'fab' = 'contained';\n\n constructor() {\n super();\n this.size = 'medium';\n }\n\n protected renderContent() {\n return html`\n <slot name=\"prefix\"></slot>\n <slot></slot>\n <slot name=\"suffix\"></slot>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-button': IgcButtonComponent;\n }\n}\n"]}
@@ -7,7 +7,7 @@ import { IgcButtonBaseComponent } from './button-base.js';
7
7
  */
8
8
  export default class IgcIconButtonComponent extends IgcButtonBaseComponent {
9
9
  static readonly tagName = "igc-icon-button";
10
- protected static styles: import("lit").CSSResult;
10
+ protected static styles: import("lit").CSSResult[];
11
11
  static register(): void;
12
12
  /**
13
13
  * The name of the icon.
@@ -9,6 +9,7 @@ import { property } from 'lit/decorators.js';
9
9
  import { ifDefined } from 'lit/directives/if-defined.js';
10
10
  import { IgcButtonBaseComponent } from './button-base.js';
11
11
  import { styles } from './themes/icon-button/icon-button.base.css.js';
12
+ import { styles as shared } from './themes/icon-button/shared/icon-button.common.css.js';
12
13
  import { all } from './themes/icon-button/themes.js';
13
14
  import { themes } from '../../theming/theming-decorator.js';
14
15
  import { alternateName } from '../common/decorators/alternateName.js';
@@ -50,7 +51,7 @@ let IgcIconButtonComponent = class IgcIconButtonComponent extends IgcButtonBaseC
50
51
  }
51
52
  };
52
53
  IgcIconButtonComponent.tagName = 'igc-icon-button';
53
- IgcIconButtonComponent.styles = styles;
54
+ IgcIconButtonComponent.styles = [styles, shared];
54
55
  __decorate([
55
56
  alternateName('iconName'),
56
57
  property()
@@ -1 +1 @@
1
- {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/button/icon-button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,oBAAoB,IAAI,yBAAyB,EACjD,YAAY,IAAI,iBAAiB,GAClC,MAAM,0BAA0B,CAAC;AASnB,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,sBAAsB;IAA3D;;QA4BN,aAAQ,GAAG,KAAK,CAAC;QAOjB,YAAO,GAAsC,WAAW,CAAC;IAuClE,CAAC;IAtEQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IA+BS,aAAa;QACrB,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAC1B,CAAC,CAAC,IAAI,CAAA;;;qBAGO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;2BACd,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;0BAC3B,IAAI,CAAC,QAAQ;;;;;WAK5B;YACH,CAAC,CAAC,IAAI,CAAA,eAAe;KACxB,CAAC;IACJ,CAAC;IAIe,AAAN,KAAK,CAAC,YAAY,CAC1B,IAAY,EACZ,GAAW,EACX,UAAU,GAAG,SAAS;QAEtB,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAIS,oBAAoB,CAC5B,IAAY,EACZ,QAAgB,EAChB,UAAU,GAAG,SAAS;QAEtB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;;AAxEsB,8BAAO,GAAG,iBAAiB,AAApB,CAAqB;AAClC,6BAAM,GAAG,MAAM,AAAT,CAAU;AAY1B;IAFN,aAAa,CAAC,UAAU,CAAC;IACzB,QAAQ,EAAE;oDACU;AAOd;IADN,QAAQ,EAAE;0DACgB;AAOpB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wDACJ;AAOjB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDACoC;AAsBhD;IADf,aAAa,EAAE;0DAOf;AAIS;IADT,aAAa,EAAE;kEAOf;AAzEkB,sBAAsB;IAD1C,MAAM,CAAC,GAAG,CAAC;GACS,sBAAsB,CA0E1C;eA1EoB,sBAAsB","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { IgcButtonBaseComponent } from './button-base.js';\nimport { styles } from './themes/icon-button/icon-button.base.css.js';\nimport { all } from './themes/icon-button/themes.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { alternateName } from '../common/decorators/alternateName.js';\nimport { blazorInclude } from '../common/decorators/blazorInclude.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport {\n registerIconFromText as registerIconFromText_impl,\n registerIcon as registerIcon_impl,\n} from '../icon/icon.registry.js';\n\n/**\n * @element igc-icon-button\n *\n * @csspart base - The wrapping element.\n * @csspart icon - The icon element.\n */\n@themes(all)\nexport default class IgcIconButtonComponent extends IgcButtonBaseComponent {\n public static readonly tagName = 'igc-icon-button';\n protected static styles = styles;\n\n public static register() {\n registerComponent(this, IgcIconComponent);\n }\n\n /**\n * The name of the icon.\n * @attr\n */\n @alternateName('iconName')\n @property()\n public name!: string;\n\n /**\n * The name of the icon collection.\n * @attr\n */\n @property()\n public collection!: string;\n\n /**\n * Whether to flip the icon button. Useful for RTL layouts.\n * @attr\n */\n @property({ type: Boolean })\n public mirrored = false;\n\n /**\n * The visual variant of the icon button.\n * @attr\n */\n @property({ reflect: true })\n public variant: 'flat' | 'contained' | 'outlined' = 'contained';\n\n protected renderContent() {\n return html`\n ${this.name || this.mirrored\n ? html`\n <igc-icon\n part=\"icon\"\n name=${ifDefined(this.name)}\n collection=${ifDefined(this.collection)}\n .mirrored=${this.mirrored}\n size=\"small\"\n aria-hidden=\"true\"\n ></igc-icon>\n <slot></slot>\n `\n : html`<slot></slot>`}\n `;\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected async registerIcon(\n name: string,\n url: string,\n collection = 'default'\n ) {\n await registerIcon_impl(name, url, collection);\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected registerIconFromText(\n name: string,\n iconText: string,\n collection = 'default'\n ) {\n registerIconFromText_impl(name, iconText, collection);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-icon-button': IgcIconButtonComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"icon-button.js","sourceRoot":"","sources":["../../../src/components/button/icon-button.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAC3B,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,8CAA8C,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,uDAAuD,CAAC;AACzF,OAAO,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,gBAAgB,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EACL,oBAAoB,IAAI,yBAAyB,EACjD,YAAY,IAAI,iBAAiB,GAClC,MAAM,0BAA0B,CAAC;AASnB,IAAM,sBAAsB,GAA5B,MAAM,sBAAuB,SAAQ,sBAAsB;IAA3D;;QA4BN,aAAQ,GAAG,KAAK,CAAC;QAOjB,YAAO,GAAsC,WAAW,CAAC;IAuClE,CAAC;IAtEQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC;IAC5C,CAAC;IA+BS,aAAa;QACrB,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ;YAC1B,CAAC,CAAC,IAAI,CAAA;;;qBAGO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;2BACd,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;0BAC3B,IAAI,CAAC,QAAQ;;;;;WAK5B;YACH,CAAC,CAAC,IAAI,CAAA,eAAe;KACxB,CAAC;IACJ,CAAC;IAIe,AAAN,KAAK,CAAC,YAAY,CAC1B,IAAY,EACZ,GAAW,EACX,UAAU,GAAG,SAAS;QAEtB,MAAM,iBAAiB,CAAC,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;IACjD,CAAC;IAIS,oBAAoB,CAC5B,IAAY,EACZ,QAAgB,EAChB,UAAU,GAAG,SAAS;QAEtB,yBAAyB,CAAC,IAAI,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;IACxD,CAAC;;AAxEsB,8BAAO,GAAG,iBAAiB,AAApB,CAAqB;AAClC,6BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAYpC;IAFN,aAAa,CAAC,UAAU,CAAC;IACzB,QAAQ,EAAE;oDACU;AAOd;IADN,QAAQ,EAAE;0DACgB;AAOpB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;wDACJ;AAOjB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;uDACoC;AAsBhD;IADf,aAAa,EAAE;0DAOf;AAIS;IADT,aAAa,EAAE;kEAOf;AAzEkB,sBAAsB;IAD1C,MAAM,CAAC,GAAG,CAAC;GACS,sBAAsB,CA0E1C;eA1EoB,sBAAsB","sourcesContent":["import { html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\n\nimport { IgcButtonBaseComponent } from './button-base.js';\nimport { styles } from './themes/icon-button/icon-button.base.css.js';\nimport { styles as shared } from './themes/icon-button/shared/icon-button.common.css.js';\nimport { all } from './themes/icon-button/themes.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { alternateName } from '../common/decorators/alternateName.js';\nimport { blazorInclude } from '../common/decorators/blazorInclude.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcIconComponent from '../icon/icon.js';\nimport {\n registerIconFromText as registerIconFromText_impl,\n registerIcon as registerIcon_impl,\n} from '../icon/icon.registry.js';\n\n/**\n * @element igc-icon-button\n *\n * @csspart base - The wrapping element.\n * @csspart icon - The icon element.\n */\n@themes(all)\nexport default class IgcIconButtonComponent extends IgcButtonBaseComponent {\n public static readonly tagName = 'igc-icon-button';\n protected static styles = [styles, shared];\n\n public static register() {\n registerComponent(this, IgcIconComponent);\n }\n\n /**\n * The name of the icon.\n * @attr\n */\n @alternateName('iconName')\n @property()\n public name!: string;\n\n /**\n * The name of the icon collection.\n * @attr\n */\n @property()\n public collection!: string;\n\n /**\n * Whether to flip the icon button. Useful for RTL layouts.\n * @attr\n */\n @property({ type: Boolean })\n public mirrored = false;\n\n /**\n * The visual variant of the icon button.\n * @attr\n */\n @property({ reflect: true })\n public variant: 'flat' | 'contained' | 'outlined' = 'contained';\n\n protected renderContent() {\n return html`\n ${this.name || this.mirrored\n ? html`\n <igc-icon\n part=\"icon\"\n name=${ifDefined(this.name)}\n collection=${ifDefined(this.collection)}\n .mirrored=${this.mirrored}\n size=\"small\"\n aria-hidden=\"true\"\n ></igc-icon>\n <slot></slot>\n `\n : html`<slot></slot>`}\n `;\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected async registerIcon(\n name: string,\n url: string,\n collection = 'default'\n ) {\n await registerIcon_impl(name, url, collection);\n }\n\n /* c8 ignore next 8 */\n @blazorInclude()\n protected registerIconFromText(\n name: string,\n iconText: string,\n collection = 'default'\n ) {\n registerIconFromText_impl(name, iconText, collection);\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-icon-button': IgcIconButtonComponent;\n }\n}\n"]}
@@ -8,36 +8,35 @@ import { styles as fluentLight } from './light/button.fluent.css.js';
8
8
  import { styles as indigoLight } from './light/button.indigo.css.js';
9
9
  import { styles as materialLight } from './light/button.material.css.js';
10
10
  import { styles as bootstrap } from './shared/button.bootstrap.css.js';
11
- import { styles as shared } from './shared/button.common.css.js';
12
11
  import { styles as fluent } from './shared/button.fluent.css.js';
13
12
  import { styles as indigo } from './shared/button.indigo.css.js';
14
13
  import { styles as material } from './shared/button.material.css.js';
15
14
  const light = {
16
15
  bootstrap: css `
17
- ${shared} ${bootstrap} ${bootstrapLight}
16
+ ${bootstrap} ${bootstrapLight}
18
17
  `,
19
18
  material: css `
20
- ${shared} ${material} ${materialLight}
19
+ ${material} ${materialLight}
21
20
  `,
22
21
  fluent: css `
23
- ${shared} ${fluent} ${fluentLight}
22
+ ${fluent} ${fluentLight}
24
23
  `,
25
24
  indigo: css `
26
- ${shared} ${indigo} ${indigoLight}
25
+ ${indigo} ${indigoLight}
27
26
  `,
28
27
  };
29
28
  const dark = {
30
29
  bootstrap: css `
31
- ${shared} ${bootstrap} ${bootstrapDark}
30
+ ${bootstrap} ${bootstrapDark}
32
31
  `,
33
32
  material: css `
34
- ${shared} ${material} ${materialDark}
33
+ ${material} ${materialDark}
35
34
  `,
36
35
  fluent: css `
37
- ${shared} ${fluent} ${fluentDark}
36
+ ${fluent} ${fluentDark}
38
37
  `,
39
38
  indigo: css `
40
- ${shared} ${indigo} ${indigoDark}
39
+ ${indigo} ${indigoDark}
41
40
  `,
42
41
  };
43
42
  export const all = { light, dark };
@@ -1 +1 @@
1
- {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../../src/components/button/themes/button/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAGrE,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,GAAG,CAAA;MACV,MAAM,IAAI,SAAS,IAAI,cAAc;GACxC;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,MAAM,IAAI,QAAQ,IAAI,aAAa;GACtC;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,WAAW;GAClC;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,WAAW;GAClC;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,SAAS,EAAE,GAAG,CAAA;MACV,MAAM,IAAI,SAAS,IAAI,aAAa;GACvC;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,MAAM,IAAI,QAAQ,IAAI,YAAY;GACrC;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,UAAU;GACjC;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,UAAU;GACjC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/button.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/button.fluent.css.js';\nimport { styles as indigoDark } from './dark/button.indigo.css.js';\nimport { styles as materialDark } from './dark/button.material.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/button.bootstrap.css.js';\nimport { styles as fluentLight } from './light/button.fluent.css.js';\nimport { styles as indigoLight } from './light/button.indigo.css.js';\nimport { styles as materialLight } from './light/button.material.css.js';\n// Shared Styles\nimport { styles as bootstrap } from './shared/button.bootstrap.css.js';\nimport { styles as shared } from './shared/button.common.css.js';\nimport { styles as fluent } from './shared/button.fluent.css.js';\nimport { styles as indigo } from './shared/button.indigo.css.js';\nimport { styles as material } from './shared/button.material.css.js';\nimport { Themes } from '../../../../theming/types.js';\n\nconst light = {\n bootstrap: css`\n ${shared} ${bootstrap} ${bootstrapLight}\n `,\n material: css`\n ${shared} ${material} ${materialLight}\n `,\n fluent: css`\n ${shared} ${fluent} ${fluentLight}\n `,\n indigo: css`\n ${shared} ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n bootstrap: css`\n ${shared} ${bootstrap} ${bootstrapDark}\n `,\n material: css`\n ${shared} ${material} ${materialDark}\n `,\n fluent: css`\n ${shared} ${fluent} ${fluentDark}\n `,\n indigo: css`\n ${shared} ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
1
+ {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../../src/components/button/themes/button/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAEzE,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAGrE,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,cAAc;GAC9B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,QAAQ,IAAI,aAAa;GAC5B;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,aAAa;GAC7B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,QAAQ,IAAI,YAAY;GAC3B;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/button.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/button.fluent.css.js';\nimport { styles as indigoDark } from './dark/button.indigo.css.js';\nimport { styles as materialDark } from './dark/button.material.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/button.bootstrap.css.js';\nimport { styles as fluentLight } from './light/button.fluent.css.js';\nimport { styles as indigoLight } from './light/button.indigo.css.js';\nimport { styles as materialLight } from './light/button.material.css.js';\n// Shared Styles\nimport { styles as bootstrap } from './shared/button.bootstrap.css.js';\nimport { styles as fluent } from './shared/button.fluent.css.js';\nimport { styles as indigo } from './shared/button.indigo.css.js';\nimport { styles as material } from './shared/button.material.css.js';\nimport { Themes } from '../../../../theming/types.js';\n\nconst light = {\n bootstrap: css`\n ${bootstrap} ${bootstrapLight}\n `,\n material: css`\n ${material} ${materialLight}\n `,\n fluent: css`\n ${fluent} ${fluentLight}\n `,\n indigo: css`\n ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n bootstrap: css`\n ${bootstrap} ${bootstrapDark}\n `,\n material: css`\n ${material} ${materialDark}\n `,\n fluent: css`\n ${fluent} ${fluentDark}\n `,\n indigo: css`\n ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
@@ -8,36 +8,35 @@ import { styles as fluentLight } from './light/icon-button.fluent.css.js';
8
8
  import { styles as indigoLight } from './light/icon-button.indigo.css.js';
9
9
  import { styles as materialLight } from './light/icon-button.material.css.js';
10
10
  import { styles as bootstrap } from './shared/icon-button.bootstrap.css.js';
11
- import { styles as shared } from './shared/icon-button.common.css.js';
12
11
  import { styles as fluent } from './shared/icon-button.fluent.css.js';
13
12
  import { styles as indigo } from './shared/icon-button.indigo.css.js';
14
13
  import { styles as material } from './shared/icon-button.material.css.js';
15
14
  const light = {
16
15
  bootstrap: css `
17
- ${shared} ${bootstrap} ${bootstrapLight}
16
+ ${bootstrap} ${bootstrapLight}
18
17
  `,
19
18
  material: css `
20
- ${shared} ${material} ${materialLight}
19
+ ${material} ${materialLight}
21
20
  `,
22
21
  fluent: css `
23
- ${shared} ${fluent} ${fluentLight}
22
+ ${fluent} ${fluentLight}
24
23
  `,
25
24
  indigo: css `
26
- ${shared} ${indigo} ${indigoLight}
25
+ ${indigo} ${indigoLight}
27
26
  `,
28
27
  };
29
28
  const dark = {
30
29
  bootstrap: css `
31
- ${shared} ${bootstrap} ${bootstrapDark}
30
+ ${bootstrap} ${bootstrapDark}
32
31
  `,
33
32
  material: css `
34
- ${shared} ${material} ${materialDark}
33
+ ${material} ${materialDark}
35
34
  `,
36
35
  fluent: css `
37
- ${shared} ${fluent} ${fluentDark}
36
+ ${fluent} ${fluentDark}
38
37
  `,
39
38
  indigo: css `
40
- ${shared} ${indigo} ${indigoDark}
39
+ ${indigo} ${indigoDark}
41
40
  `,
42
41
  };
43
42
  export const all = { light, dark };
@@ -1 +1 @@
1
- {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../../src/components/button/themes/icon-button/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAG1E,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,GAAG,CAAA;MACV,MAAM,IAAI,SAAS,IAAI,cAAc;GACxC;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,MAAM,IAAI,QAAQ,IAAI,aAAa;GACtC;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,WAAW;GAClC;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,WAAW;GAClC;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,SAAS,EAAE,GAAG,CAAA;MACV,MAAM,IAAI,SAAS,IAAI,aAAa;GACvC;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,MAAM,IAAI,QAAQ,IAAI,YAAY;GACrC;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,UAAU;GACjC;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,UAAU;GACjC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/icon-button.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/icon-button.fluent.css.js';\nimport { styles as indigoDark } from './dark/icon-button.indigo.css.js';\nimport { styles as materialDark } from './dark/icon-button.material.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/icon-button.bootstrap.css.js';\nimport { styles as fluentLight } from './light/icon-button.fluent.css.js';\nimport { styles as indigoLight } from './light/icon-button.indigo.css.js';\nimport { styles as materialLight } from './light/icon-button.material.css.js';\n// Shared Styles\nimport { styles as bootstrap } from './shared/icon-button.bootstrap.css.js';\nimport { styles as shared } from './shared/icon-button.common.css.js';\nimport { styles as fluent } from './shared/icon-button.fluent.css.js';\nimport { styles as indigo } from './shared/icon-button.indigo.css.js';\nimport { styles as material } from './shared/icon-button.material.css.js';\nimport { Themes } from '../../../../theming/types.js';\n\nconst light = {\n bootstrap: css`\n ${shared} ${bootstrap} ${bootstrapLight}\n `,\n material: css`\n ${shared} ${material} ${materialLight}\n `,\n fluent: css`\n ${shared} ${fluent} ${fluentLight}\n `,\n indigo: css`\n ${shared} ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n bootstrap: css`\n ${shared} ${bootstrap} ${bootstrapDark}\n `,\n material: css`\n ${shared} ${material} ${materialDark}\n `,\n fluent: css`\n ${shared} ${fluent} ${fluentDark}\n `,\n indigo: css`\n ${shared} ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
1
+ {"version":3,"file":"themes.js","sourceRoot":"","sources":["../../../../../src/components/button/themes/icon-button/themes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAE5E,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAChF,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAE9E,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAE,MAAM,sCAAsC,CAAC;AAG1E,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,cAAc;GAC9B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,QAAQ,IAAI,aAAa;GAC5B;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,aAAa;GAC7B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,QAAQ,IAAI,YAAY;GAC3B;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/icon-button.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/icon-button.fluent.css.js';\nimport { styles as indigoDark } from './dark/icon-button.indigo.css.js';\nimport { styles as materialDark } from './dark/icon-button.material.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/icon-button.bootstrap.css.js';\nimport { styles as fluentLight } from './light/icon-button.fluent.css.js';\nimport { styles as indigoLight } from './light/icon-button.indigo.css.js';\nimport { styles as materialLight } from './light/icon-button.material.css.js';\n// Shared Styles\nimport { styles as bootstrap } from './shared/icon-button.bootstrap.css.js';\nimport { styles as fluent } from './shared/icon-button.fluent.css.js';\nimport { styles as indigo } from './shared/icon-button.indigo.css.js';\nimport { styles as material } from './shared/icon-button.material.css.js';\nimport { Themes } from '../../../../theming/types.js';\n\nconst light = {\n bootstrap: css`\n ${bootstrap} ${bootstrapLight}\n `,\n material: css`\n ${material} ${materialLight}\n `,\n fluent: css`\n ${fluent} ${fluentLight}\n `,\n indigo: css`\n ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n bootstrap: css`\n ${bootstrap} ${bootstrapDark}\n `,\n material: css`\n ${material} ${materialDark}\n `,\n fluent: css`\n ${fluent} ${fluentDark}\n `,\n indigo: css`\n ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
@@ -19,7 +19,7 @@ declare const IgcButtonGroupComponent_base: import("../common/mixins/constructor
19
19
  */
20
20
  export default class IgcButtonGroupComponent extends IgcButtonGroupComponent_base {
21
21
  static readonly tagName = "igc-button-group";
22
- static styles: import("lit").CSSResult;
22
+ static styles: import("lit").CSSResult[];
23
23
  static register(): void;
24
24
  private _selectedItems;
25
25
  private mutationObserver;
@@ -8,6 +8,7 @@ import { LitElement, html } from 'lit';
8
8
  import { property, queryAssignedElements } from 'lit/decorators.js';
9
9
  import { styles } from './themes/group.base.css.js';
10
10
  import { all } from './themes/group.js';
11
+ import { styles as shared } from './themes/shared/group/group.common.css.js';
11
12
  import IgcToggleButtonComponent from './toggle-button.js';
12
13
  import { themes } from '../../theming/theming-decorator.js';
13
14
  import { watch } from '../common/decorators/watch.js';
@@ -163,7 +164,7 @@ let IgcButtonGroupComponent = class IgcButtonGroupComponent extends EventEmitter
163
164
  }
164
165
  };
165
166
  IgcButtonGroupComponent.tagName = 'igc-button-group';
166
- IgcButtonGroupComponent.styles = styles;
167
+ IgcButtonGroupComponent.styles = [styles, shared];
167
168
  __decorate([
168
169
  queryAssignedElements({ selector: 'igc-toggle-button' })
169
170
  ], IgcButtonGroupComponent.prototype, "toggleButtons", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"button-group.js","sourceRoot":"","sources":["../../../src/components/button-group/button-group.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\n\nimport { styles } from './themes/group.base.css.js';\nimport { all } from './themes/group.js';\nimport IgcToggleButtonComponent from './toggle-button.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\n\nexport interface IgcButtonGroupComponentEventMap {\n igcSelect: CustomEvent<string | undefined>;\n igcDeselect: CustomEvent<string | undefined>;\n}\n\n/**\n * The `igc-button-group` groups a series of `igc-toggle-button`s together, exposing features such as layout and selection.\n *\n * @element igc-button-group\n *\n * @slot - Renders `igc-toggle-button` component.\n *\n * @fires igcSelect - Emitted when a button is selected through user interaction.\n * @fires igcDeselect - Emitted when a button is deselected through user interaction.\n *\n * @csspart group - The button group container.\n */\n@themes(all, true)\nexport default class IgcButtonGroupComponent extends EventEmitterMixin<\n IgcButtonGroupComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-button-group';\n public static styles = styles;\n\n public static register() {\n registerComponent(this, IgcToggleButtonComponent);\n }\n\n private _selectedItems: Set<string> = new Set();\n\n private mutationObserver: MutationObserver = this.setMutationsObserver();\n private observerConfig: MutationObserverInit = {\n attributeFilter: ['selected'],\n childList: true,\n subtree: true,\n };\n\n private get _selectedButtons(): Array<IgcToggleButtonComponent> {\n return this.toggleButtons.filter((b) => b.selected);\n }\n\n @queryAssignedElements({ selector: 'igc-toggle-button' })\n private toggleButtons!: Array<IgcToggleButtonComponent>;\n\n /**\n * Disables all buttons inside the group.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * Sets the orientation of the buttons in the group.\n * @attr\n */\n @property({ reflect: true })\n public alignment: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * Controls the mode of selection for the button group.\n * @attr\n */\n @property({ reflect: false })\n public selection: 'single' | 'single-required' | 'multiple' = 'single';\n\n /**\n * Gets/Sets the currently selected buttons (their values).\n * @attr\n */\n @property({ attribute: 'selected-items', type: Array, reflect: false })\n public get selectedItems(): string[] {\n return this._selectedButtons.map((b) => b.value).filter((v) => v);\n }\n\n public set selectedItems(values: string[]) {\n if (values && values.length) {\n this._selectedItems = new Set(values);\n this.setSelection(this._selectedItems);\n }\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n protected updateDisabledState() {\n this.toggleButtons.forEach((b) => (b.disabled = this.disabled));\n }\n\n @watch('selection', { waitUntilFirstUpdate: true })\n protected updateSelectionState() {\n if (this._selectedButtons.length) {\n this.toggleButtons.forEach((b) => (b.selected = false));\n }\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.mutationObserver.observe(this, this.observerConfig);\n }\n\n public override disconnectedCallback() {\n this.mutationObserver.disconnect();\n super.disconnectedCallback();\n }\n\n protected override firstUpdated() {\n if (this.disabled) {\n this.updateDisabledState();\n }\n\n const buttons = this._selectedButtons;\n\n if (buttons.length) {\n if (this.selection !== 'multiple') {\n const index = buttons.indexOf(buttons.at(-1)!);\n\n for (let i = 0; i < index; i++) {\n buttons[i].selected = false;\n }\n }\n } else {\n this.setSelection(this._selectedItems);\n }\n }\n\n private handleClick(event: MouseEvent) {\n const button = event\n .composedPath()\n .find(\n (element) => element instanceof IgcToggleButtonComponent\n ) as IgcToggleButtonComponent;\n\n if (button) {\n this.selection === 'multiple'\n ? this.handleMultipleSelection(button)\n : this.handleSingleSelection(button);\n }\n }\n\n private handleSingleSelection(button: IgcToggleButtonComponent) {\n const singleRequired = this.selection === 'single-required';\n const selectedButton = this._selectedButtons.at(0);\n const isSame = selectedButton && selectedButton.value === button.value;\n\n if (selectedButton) {\n if (singleRequired && isSame) return;\n this.emitDeselectEvent(selectedButton);\n }\n if (isSame) return;\n this.emitSelectEvent(button);\n }\n\n private handleMultipleSelection(button: IgcToggleButtonComponent) {\n button.selected\n ? this.emitDeselectEvent(button)\n : this.emitSelectEvent(button);\n }\n\n private emitSelectEvent(button: IgcToggleButtonComponent) {\n button.selected = true;\n this.emitEvent('igcSelect', { detail: button.value });\n }\n\n private emitDeselectEvent(button: IgcToggleButtonComponent) {\n button.selected = false;\n this.emitEvent('igcDeselect', { detail: button.value });\n }\n\n private setSelection(values: Set<string>) {\n for (const button of this.toggleButtons) {\n if (values.has(button.value)) {\n button.selected = true;\n if (this.selection !== 'multiple') {\n break;\n }\n }\n }\n }\n\n private setMutationsObserver() {\n return new MutationObserver((records, observer) => {\n // Stop observing while handling changes\n observer.disconnect();\n\n if (this.selection !== 'multiple' && this._selectedButtons.length > 1) {\n const added = this.getAddedButtons(records);\n\n const button = added.buttons.length\n ? (added.buttons.at(-1) as IgcToggleButtonComponent)\n : (records.at(-1)?.target as IgcToggleButtonComponent);\n\n const index = this.toggleButtons.indexOf(button);\n\n this.toggleButtons.forEach((b, i) => {\n if (b.selected && i !== index) {\n b.selected = false;\n }\n });\n }\n\n // Watch for changes again\n observer.observe(this, this.observerConfig);\n });\n }\n\n private getAddedButtons(records: MutationRecord[]) {\n const added: { buttons: IgcToggleButtonComponent[] } = { buttons: [] };\n\n records\n .filter((x) => x.type === 'childList')\n .reduce((prev, curr) => {\n prev.buttons = prev.buttons.concat(\n Array.from(curr.addedNodes).map(\n (node) => node as IgcToggleButtonComponent\n )\n );\n return prev;\n }, added);\n\n return added;\n }\n\n protected override render() {\n return html`\n <div\n part=\"group\"\n role=\"group\"\n aria-disabled=${this.disabled}\n @click=${this.handleClick}\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-button-group': IgcButtonGroupComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"button-group.js","sourceRoot":"","sources":["../../../src/components/button-group/button-group.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\n\nimport { styles } from './themes/group.base.css.js';\nimport { all } from './themes/group.js';\nimport { styles as shared } from './themes/shared/group/group.common.css.js';\nimport IgcToggleButtonComponent from './toggle-button.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\n\nexport interface IgcButtonGroupComponentEventMap {\n igcSelect: CustomEvent<string | undefined>;\n igcDeselect: CustomEvent<string | undefined>;\n}\n\n/**\n * The `igc-button-group` groups a series of `igc-toggle-button`s together, exposing features such as layout and selection.\n *\n * @element igc-button-group\n *\n * @slot - Renders `igc-toggle-button` component.\n *\n * @fires igcSelect - Emitted when a button is selected through user interaction.\n * @fires igcDeselect - Emitted when a button is deselected through user interaction.\n *\n * @csspart group - The button group container.\n */\n@themes(all, true)\nexport default class IgcButtonGroupComponent extends EventEmitterMixin<\n IgcButtonGroupComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-button-group';\n public static styles = [styles, shared];\n\n public static register() {\n registerComponent(this, IgcToggleButtonComponent);\n }\n\n private _selectedItems: Set<string> = new Set();\n\n private mutationObserver: MutationObserver = this.setMutationsObserver();\n private observerConfig: MutationObserverInit = {\n attributeFilter: ['selected'],\n childList: true,\n subtree: true,\n };\n\n private get _selectedButtons(): Array<IgcToggleButtonComponent> {\n return this.toggleButtons.filter((b) => b.selected);\n }\n\n @queryAssignedElements({ selector: 'igc-toggle-button' })\n private toggleButtons!: Array<IgcToggleButtonComponent>;\n\n /**\n * Disables all buttons inside the group.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public disabled = false;\n\n /**\n * Sets the orientation of the buttons in the group.\n * @attr\n */\n @property({ reflect: true })\n public alignment: 'horizontal' | 'vertical' = 'horizontal';\n\n /**\n * Controls the mode of selection for the button group.\n * @attr\n */\n @property({ reflect: false })\n public selection: 'single' | 'single-required' | 'multiple' = 'single';\n\n /**\n * Gets/Sets the currently selected buttons (their values).\n * @attr\n */\n @property({ attribute: 'selected-items', type: Array, reflect: false })\n public get selectedItems(): string[] {\n return this._selectedButtons.map((b) => b.value).filter((v) => v);\n }\n\n public set selectedItems(values: string[]) {\n if (values && values.length) {\n this._selectedItems = new Set(values);\n this.setSelection(this._selectedItems);\n }\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n protected updateDisabledState() {\n this.toggleButtons.forEach((b) => (b.disabled = this.disabled));\n }\n\n @watch('selection', { waitUntilFirstUpdate: true })\n protected updateSelectionState() {\n if (this._selectedButtons.length) {\n this.toggleButtons.forEach((b) => (b.selected = false));\n }\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.mutationObserver.observe(this, this.observerConfig);\n }\n\n public override disconnectedCallback() {\n this.mutationObserver.disconnect();\n super.disconnectedCallback();\n }\n\n protected override firstUpdated() {\n if (this.disabled) {\n this.updateDisabledState();\n }\n\n const buttons = this._selectedButtons;\n\n if (buttons.length) {\n if (this.selection !== 'multiple') {\n const index = buttons.indexOf(buttons.at(-1)!);\n\n for (let i = 0; i < index; i++) {\n buttons[i].selected = false;\n }\n }\n } else {\n this.setSelection(this._selectedItems);\n }\n }\n\n private handleClick(event: MouseEvent) {\n const button = event\n .composedPath()\n .find(\n (element) => element instanceof IgcToggleButtonComponent\n ) as IgcToggleButtonComponent;\n\n if (button) {\n this.selection === 'multiple'\n ? this.handleMultipleSelection(button)\n : this.handleSingleSelection(button);\n }\n }\n\n private handleSingleSelection(button: IgcToggleButtonComponent) {\n const singleRequired = this.selection === 'single-required';\n const selectedButton = this._selectedButtons.at(0);\n const isSame = selectedButton && selectedButton.value === button.value;\n\n if (selectedButton) {\n if (singleRequired && isSame) return;\n this.emitDeselectEvent(selectedButton);\n }\n if (isSame) return;\n this.emitSelectEvent(button);\n }\n\n private handleMultipleSelection(button: IgcToggleButtonComponent) {\n button.selected\n ? this.emitDeselectEvent(button)\n : this.emitSelectEvent(button);\n }\n\n private emitSelectEvent(button: IgcToggleButtonComponent) {\n button.selected = true;\n this.emitEvent('igcSelect', { detail: button.value });\n }\n\n private emitDeselectEvent(button: IgcToggleButtonComponent) {\n button.selected = false;\n this.emitEvent('igcDeselect', { detail: button.value });\n }\n\n private setSelection(values: Set<string>) {\n for (const button of this.toggleButtons) {\n if (values.has(button.value)) {\n button.selected = true;\n if (this.selection !== 'multiple') {\n break;\n }\n }\n }\n }\n\n private setMutationsObserver() {\n return new MutationObserver((records, observer) => {\n // Stop observing while handling changes\n observer.disconnect();\n\n if (this.selection !== 'multiple' && this._selectedButtons.length > 1) {\n const added = this.getAddedButtons(records);\n\n const button = added.buttons.length\n ? (added.buttons.at(-1) as IgcToggleButtonComponent)\n : (records.at(-1)?.target as IgcToggleButtonComponent);\n\n const index = this.toggleButtons.indexOf(button);\n\n this.toggleButtons.forEach((b, i) => {\n if (b.selected && i !== index) {\n b.selected = false;\n }\n });\n }\n\n // Watch for changes again\n observer.observe(this, this.observerConfig);\n });\n }\n\n private getAddedButtons(records: MutationRecord[]) {\n const added: { buttons: IgcToggleButtonComponent[] } = { buttons: [] };\n\n records\n .filter((x) => x.type === 'childList')\n .reduce((prev, curr) => {\n prev.buttons = prev.buttons.concat(\n Array.from(curr.addedNodes).map(\n (node) => node as IgcToggleButtonComponent\n )\n );\n return prev;\n }, added);\n\n return added;\n }\n\n protected override render() {\n return html`\n <div\n part=\"group\"\n role=\"group\"\n aria-disabled=${this.disabled}\n @click=${this.handleClick}\n >\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-button-group': IgcButtonGroupComponent;\n }\n}\n"]}
@@ -1,34 +1,27 @@
1
1
  import { css } from 'lit';
2
2
  import { styles as bootstrap } from './shared/button/button.bootstrap.css.js';
3
- import { styles as shared } from './shared/button/button.common.css.js';
4
3
  import { styles as fluent } from './shared/button/button.fluent.css.js';
5
4
  import { styles as indigo } from './shared/button/button.indigo.css.js';
6
5
  const light = {
7
6
  bootstrap: css `
8
- ${shared} ${bootstrap}
9
- `,
10
- material: css `
11
- ${shared}
7
+ ${bootstrap}
12
8
  `,
13
9
  fluent: css `
14
- ${shared} ${fluent}
10
+ ${fluent}
15
11
  `,
16
12
  indigo: css `
17
- ${shared} ${indigo}
13
+ ${indigo}
18
14
  `,
19
15
  };
20
16
  const dark = {
21
17
  bootstrap: css `
22
- ${shared} ${bootstrap}
23
- `,
24
- material: css `
25
- ${shared}
18
+ ${bootstrap}
26
19
  `,
27
20
  fluent: css `
28
- ${shared} ${fluent}
21
+ ${fluent}
29
22
  `,
30
23
  indigo: css `
31
- ${shared} ${indigo}
24
+ ${indigo}
32
25
  `,
33
26
  };
34
27
  export const all = { light, dark };
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../src/components/button-group/themes/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAGxE,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,GAAG,CAAA;MACV,MAAM,IAAI,SAAS;GACtB;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,MAAM;GACT;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM;GACnB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM;GACnB;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,SAAS,EAAE,GAAG,CAAA;MACV,MAAM,IAAI,SAAS;GACtB;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,MAAM;GACT;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM;GACnB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM;GACnB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\n// Shared Styles\nimport { styles as bootstrap } from './shared/button/button.bootstrap.css.js';\nimport { styles as shared } from './shared/button/button.common.css.js';\nimport { styles as fluent } from './shared/button/button.fluent.css.js';\nimport { styles as indigo } from './shared/button/button.indigo.css.js';\nimport type { Themes } from '../../../theming/types';\n\nconst light = {\n bootstrap: css`\n ${shared} ${bootstrap}\n `,\n material: css`\n ${shared}\n `,\n fluent: css`\n ${shared} ${fluent}\n `,\n indigo: css`\n ${shared} ${indigo}\n `,\n};\n\nconst dark = {\n bootstrap: css`\n ${shared} ${bootstrap}\n `,\n material: css`\n ${shared}\n `,\n fluent: css`\n ${shared} ${fluent}\n `,\n indigo: css`\n ${shared} ${indigo}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
1
+ {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../../src/components/button-group/themes/button.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAGxE,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,GAAG,CAAA;MACV,SAAS;GACZ;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,SAAS,EAAE,GAAG,CAAA;MACV,SAAS;GACZ;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM;GACT;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\n// Shared Styles\nimport { styles as bootstrap } from './shared/button/button.bootstrap.css.js';\nimport { styles as fluent } from './shared/button/button.fluent.css.js';\nimport { styles as indigo } from './shared/button/button.indigo.css.js';\nimport type { Themes } from '../../../theming/types';\n\nconst light = {\n bootstrap: css`\n ${bootstrap}\n `,\n fluent: css`\n ${fluent}\n `,\n indigo: css`\n ${indigo}\n `,\n};\n\nconst dark = {\n bootstrap: css`\n ${bootstrap}\n `,\n fluent: css`\n ${fluent}\n `,\n indigo: css`\n ${indigo}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
@@ -8,35 +8,34 @@ import { styles as fluentLight } from './light/button-group.fluent.css.js';
8
8
  import { styles as indigoLight } from './light/button-group.indigo.css.js';
9
9
  import { styles as materialLight } from './light/button-group.material.css.js';
10
10
  import { styles as bootstrap } from './shared/group/group.bootstrap.css.js';
11
- import { styles as shared } from './shared/group/group.common.css.js';
12
11
  import { styles as fluent } from './shared/group/group.fluent.css.js';
13
12
  import { styles as indigo } from './shared/group/group.indigo.css.js';
14
13
  const light = {
15
14
  bootstrap: css `
16
- ${shared} ${bootstrap} ${bootstrapLight}
15
+ ${bootstrap} ${bootstrapLight}
17
16
  `,
18
17
  material: css `
19
- ${shared} ${materialLight}
18
+ ${materialLight}
20
19
  `,
21
20
  fluent: css `
22
- ${shared} ${fluent} ${fluentLight}
21
+ ${fluent} ${fluentLight}
23
22
  `,
24
23
  indigo: css `
25
- ${shared} ${indigo} ${indigoLight}
24
+ ${indigo} ${indigoLight}
26
25
  `,
27
26
  };
28
27
  const dark = {
29
28
  bootstrap: css `
30
- ${shared} ${bootstrap} ${bootstrapDark}
29
+ ${bootstrap} ${bootstrapDark}
31
30
  `,
32
31
  material: css `
33
- ${shared} ${materialDark}
32
+ ${materialDark}
34
33
  `,
35
34
  fluent: css `
36
- ${shared} ${fluent} ${fluentDark}
35
+ ${fluent} ${fluentDark}
37
36
  `,
38
37
  indigo: css `
39
- ${shared} ${indigo} ${indigoDark}
38
+ ${indigo} ${indigoDark}
40
39
  `,
41
40
  };
42
41
  export const all = { light, dark };
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../src/components/button-group/themes/group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAGtE,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,GAAG,CAAA;MACV,MAAM,IAAI,SAAS,IAAI,cAAc;GACxC;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,MAAM,IAAI,aAAa;GAC1B;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,WAAW;GAClC;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,WAAW;GAClC;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,SAAS,EAAE,GAAG,CAAA;MACV,MAAM,IAAI,SAAS,IAAI,aAAa;GACvC;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,MAAM,IAAI,YAAY;GACzB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,UAAU;GACjC;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,MAAM,IAAI,UAAU;GACjC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/button-group.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/button-group.fluent.css.js';\nimport { styles as indigoDark } from './dark/button-group.indigo.css.js';\nimport { styles as materialDark } from './dark/button-group.material.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/button-group.bootstrap.css.js';\nimport { styles as fluentLight } from './light/button-group.fluent.css.js';\nimport { styles as indigoLight } from './light/button-group.indigo.css.js';\nimport { styles as materialLight } from './light/button-group.material.css.js';\n// Shared Styles\nimport { styles as bootstrap } from './shared/group/group.bootstrap.css.js';\nimport { styles as shared } from './shared/group/group.common.css.js';\nimport { styles as fluent } from './shared/group/group.fluent.css.js';\nimport { styles as indigo } from './shared/group/group.indigo.css.js';\nimport type { Themes } from '../../../theming/types';\n\nconst light = {\n bootstrap: css`\n ${shared} ${bootstrap} ${bootstrapLight}\n `,\n material: css`\n ${shared} ${materialLight}\n `,\n fluent: css`\n ${shared} ${fluent} ${fluentLight}\n `,\n indigo: css`\n ${shared} ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n bootstrap: css`\n ${shared} ${bootstrap} ${bootstrapDark}\n `,\n material: css`\n ${shared} ${materialDark}\n `,\n fluent: css`\n ${shared} ${fluent} ${fluentDark}\n `,\n indigo: css`\n ${shared} ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
1
+ {"version":3,"file":"group.js","sourceRoot":"","sources":["../../../../src/components/button-group/themes/group.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAG1B,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAE7E,OAAO,EAAE,MAAM,IAAI,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,MAAM,IAAI,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,uCAAuC,CAAC;AAC5E,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAGtE,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,cAAc;GAC9B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,aAAa;GAChB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,WAAW;GACxB;CACF,CAAC;AAEF,MAAM,IAAI,GAAG;IACX,SAAS,EAAE,GAAG,CAAA;MACV,SAAS,IAAI,aAAa;GAC7B;IACD,QAAQ,EAAE,GAAG,CAAA;MACT,YAAY;GACf;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;IACD,MAAM,EAAE,GAAG,CAAA;MACP,MAAM,IAAI,UAAU;GACvB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,GAAG,GAAW,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC","sourcesContent":["import { css } from 'lit';\n\n// Dark Overrides\nimport { styles as bootstrapDark } from './dark/button-group.bootstrap.css.js';\nimport { styles as fluentDark } from './dark/button-group.fluent.css.js';\nimport { styles as indigoDark } from './dark/button-group.indigo.css.js';\nimport { styles as materialDark } from './dark/button-group.material.css.js';\n// Light Overrides\nimport { styles as bootstrapLight } from './light/button-group.bootstrap.css.js';\nimport { styles as fluentLight } from './light/button-group.fluent.css.js';\nimport { styles as indigoLight } from './light/button-group.indigo.css.js';\nimport { styles as materialLight } from './light/button-group.material.css.js';\n// Shared Styles\nimport { styles as bootstrap } from './shared/group/group.bootstrap.css.js';\nimport { styles as fluent } from './shared/group/group.fluent.css.js';\nimport { styles as indigo } from './shared/group/group.indigo.css.js';\nimport type { Themes } from '../../../theming/types';\n\nconst light = {\n bootstrap: css`\n ${bootstrap} ${bootstrapLight}\n `,\n material: css`\n ${materialLight}\n `,\n fluent: css`\n ${fluent} ${fluentLight}\n `,\n indigo: css`\n ${indigo} ${indigoLight}\n `,\n};\n\nconst dark = {\n bootstrap: css`\n ${bootstrap} ${bootstrapDark}\n `,\n material: css`\n ${materialDark}\n `,\n fluent: css`\n ${fluent} ${fluentDark}\n `,\n indigo: css`\n ${indigo} ${indigoDark}\n `,\n};\n\nexport const all: Themes = { light, dark };\n"]}
@@ -10,7 +10,7 @@ import { LitElement } from 'lit';
10
10
  * @csspart toggle - The native button element.
11
11
  */
12
12
  export default class IgcToggleButtonComponent extends LitElement {
13
- static styles: import("lit").CSSResult;
13
+ static styles: import("lit").CSSResult[];
14
14
  static readonly tagName = "igc-toggle-button";
15
15
  static shadowRootOptions: {
16
16
  delegatesFocus: boolean;
@@ -18,7 +18,7 @@ export default class IgcToggleButtonComponent extends LitElement {
18
18
  slotAssignment?: SlotAssignmentMode | undefined;
19
19
  };
20
20
  static register(): void;
21
- private nativeElement;
21
+ private _nativeButton;
22
22
  /**
23
23
  * The value attribute of the control.
24
24
  * @attr
@@ -8,8 +8,8 @@ import { LitElement, html } from 'lit';
8
8
  import { property, query } from 'lit/decorators.js';
9
9
  import { styles } from './themes/button.base.css.js';
10
10
  import { all } from './themes/button.js';
11
+ import { styles as shared } from './themes/shared/button/button.common.css.js';
11
12
  import { themes } from '../../theming/theming-decorator.js';
12
- import { alternateName } from '../common/decorators/alternateName.js';
13
13
  import { registerComponent } from '../common/definitions/register.js';
14
14
  let IgcToggleButtonComponent = class IgcToggleButtonComponent extends LitElement {
15
15
  constructor() {
@@ -21,20 +21,20 @@ let IgcToggleButtonComponent = class IgcToggleButtonComponent extends LitElement
21
21
  registerComponent(this);
22
22
  }
23
23
  focus(options) {
24
- this.nativeElement.focus(options);
24
+ this._nativeButton.focus(options);
25
25
  }
26
26
  blur() {
27
- this.nativeElement.blur();
27
+ this._nativeButton.blur();
28
28
  }
29
29
  click() {
30
- this.nativeElement.click();
30
+ this._nativeButton.click();
31
31
  }
32
32
  render() {
33
33
  return html `
34
34
  <button
35
35
  part="toggle"
36
36
  type="button"
37
- .disabled=${this.disabled}
37
+ ?disabled=${this.disabled}
38
38
  .ariaLabel=${this.ariaLabel}
39
39
  aria-pressed=${this.selected}
40
40
  aria-disabled=${this.disabled}
@@ -44,7 +44,7 @@ let IgcToggleButtonComponent = class IgcToggleButtonComponent extends LitElement
44
44
  `;
45
45
  }
46
46
  };
47
- IgcToggleButtonComponent.styles = styles;
47
+ IgcToggleButtonComponent.styles = [styles, shared];
48
48
  IgcToggleButtonComponent.tagName = 'igc-toggle-button';
49
49
  IgcToggleButtonComponent.shadowRootOptions = {
50
50
  ...LitElement.shadowRootOptions,
@@ -52,7 +52,7 @@ IgcToggleButtonComponent.shadowRootOptions = {
52
52
  };
53
53
  __decorate([
54
54
  query('[part="toggle"]', true)
55
- ], IgcToggleButtonComponent.prototype, "nativeElement", void 0);
55
+ ], IgcToggleButtonComponent.prototype, "_nativeButton", void 0);
56
56
  __decorate([
57
57
  property()
58
58
  ], IgcToggleButtonComponent.prototype, "value", void 0);
@@ -62,12 +62,6 @@ __decorate([
62
62
  __decorate([
63
63
  property({ type: Boolean, reflect: true })
64
64
  ], IgcToggleButtonComponent.prototype, "disabled", void 0);
65
- __decorate([
66
- alternateName('focusComponent')
67
- ], IgcToggleButtonComponent.prototype, "focus", null);
68
- __decorate([
69
- alternateName('blurComponent')
70
- ], IgcToggleButtonComponent.prototype, "blur", null);
71
65
  IgcToggleButtonComponent = __decorate([
72
66
  themes(all, true)
73
67
  ], IgcToggleButtonComponent);