igniteui-webcomponents 6.1.0 → 6.1.1-alpha.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 (304) hide show
  1. package/components/accordion/accordion.js +3 -3
  2. package/components/accordion/accordion.js.map +1 -1
  3. package/components/avatar/avatar.d.ts +8 -10
  4. package/components/avatar/avatar.js +26 -26
  5. package/components/avatar/avatar.js.map +1 -1
  6. package/components/badge/badge.d.ts +3 -4
  7. package/components/badge/badge.js +13 -13
  8. package/components/badge/badge.js.map +1 -1
  9. package/components/banner/banner.d.ts +2 -3
  10. package/components/banner/banner.js +8 -4
  11. package/components/banner/banner.js.map +1 -1
  12. package/components/button/button-base.d.ts +4 -11
  13. package/components/button/button-base.js +14 -15
  14. package/components/button/button-base.js.map +1 -1
  15. package/components/button/button.js.map +1 -1
  16. package/components/button/icon-button.d.ts +2 -2
  17. package/components/button/icon-button.js +1 -1
  18. package/components/button/icon-button.js.map +1 -1
  19. package/components/button-group/button-group.js +2 -2
  20. package/components/button-group/button-group.js.map +1 -1
  21. package/components/button-group/toggle-button.d.ts +0 -6
  22. package/components/button-group/toggle-button.js +4 -6
  23. package/components/button-group/toggle-button.js.map +1 -1
  24. package/components/calendar/calendar.js +1 -1
  25. package/components/calendar/calendar.js.map +1 -1
  26. package/components/calendar/days-view/days-view.js +3 -3
  27. package/components/calendar/days-view/days-view.js.map +1 -1
  28. package/components/calendar/months-view/months-view.js +5 -5
  29. package/components/calendar/months-view/months-view.js.map +1 -1
  30. package/components/calendar/years-view/years-view.js +5 -5
  31. package/components/calendar/years-view/years-view.js.map +1 -1
  32. package/components/card/card.actions.js +1 -1
  33. package/components/card/card.actions.js.map +1 -1
  34. package/components/card/card.content.js +1 -1
  35. package/components/card/card.content.js.map +1 -1
  36. package/components/card/card.header.js +1 -1
  37. package/components/card/card.header.js.map +1 -1
  38. package/components/card/card.js +1 -1
  39. package/components/card/card.js.map +1 -1
  40. package/components/card/card.media.js +1 -1
  41. package/components/card/card.media.js.map +1 -1
  42. package/components/carousel/carousel-indicator-container.js +1 -1
  43. package/components/carousel/carousel-indicator-container.js.map +1 -1
  44. package/components/carousel/carousel-indicator.d.ts +5 -7
  45. package/components/carousel/carousel-indicator.js +19 -19
  46. package/components/carousel/carousel-indicator.js.map +1 -1
  47. package/components/carousel/carousel-slide.d.ts +2 -3
  48. package/components/carousel/carousel-slide.js +17 -11
  49. package/components/carousel/carousel-slide.js.map +1 -1
  50. package/components/carousel/carousel.d.ts +0 -1
  51. package/components/carousel/carousel.js +15 -11
  52. package/components/carousel/carousel.js.map +1 -1
  53. package/components/chat/chat-input.d.ts +41 -0
  54. package/components/chat/chat-input.js +254 -0
  55. package/components/chat/chat-input.js.map +1 -0
  56. package/components/chat/chat-message-list.d.ts +24 -0
  57. package/components/chat/chat-message-list.js +88 -0
  58. package/components/chat/chat-message-list.js.map +1 -0
  59. package/components/chat/chat-message.d.ts +21 -0
  60. package/components/chat/chat-message.js +52 -0
  61. package/components/chat/chat-message.js.map +1 -0
  62. package/components/chat/chat.d.ts +41 -0
  63. package/components/chat/chat.js +98 -0
  64. package/components/chat/chat.js.map +1 -0
  65. package/components/chat/markdown-util.d.ts +2 -0
  66. package/components/chat/markdown-util.js +22 -0
  67. package/components/chat/markdown-util.js.map +1 -0
  68. package/components/chat/message-attachments.d.ts +28 -0
  69. package/components/chat/message-attachments.js +168 -0
  70. package/components/chat/message-attachments.js.map +1 -0
  71. package/components/chat/themes/chat.base.css.d.ts +1 -0
  72. package/components/chat/themes/chat.base.css.js +3 -0
  73. package/components/chat/themes/chat.base.css.js.map +1 -0
  74. package/components/chat/themes/input.base.css.d.ts +1 -0
  75. package/components/chat/themes/input.base.css.js +3 -0
  76. package/components/chat/themes/input.base.css.js.map +1 -0
  77. package/components/chat/themes/message-attachments.base.css.d.ts +1 -0
  78. package/components/chat/themes/message-attachments.base.css.js +3 -0
  79. package/components/chat/themes/message-attachments.base.css.js.map +1 -0
  80. package/components/chat/themes/message-list.base.css.d.ts +1 -0
  81. package/components/chat/themes/message-list.base.css.js +3 -0
  82. package/components/chat/themes/message-list.base.css.js.map +1 -0
  83. package/components/chat/themes/message.base.css.d.ts +1 -0
  84. package/components/chat/themes/message.base.css.js +3 -0
  85. package/components/chat/themes/message.base.css.js.map +1 -0
  86. package/components/chat/types.d.ts +46 -0
  87. package/components/chat/types.js +8 -0
  88. package/components/chat/types.js.map +1 -0
  89. package/components/checkbox/checkbox-base.js.map +1 -1
  90. package/components/checkbox/checkbox.js +1 -1
  91. package/components/checkbox/checkbox.js.map +1 -1
  92. package/components/checkbox/switch.js +1 -1
  93. package/components/checkbox/switch.js.map +1 -1
  94. package/components/checkbox/validators.js.map +1 -1
  95. package/components/chip/chip.js +1 -1
  96. package/components/chip/chip.js.map +1 -1
  97. package/components/combo/combo-header.js +1 -1
  98. package/components/combo/combo-header.js.map +1 -1
  99. package/components/combo/combo-item.d.ts +4 -6
  100. package/components/combo/combo-item.js +20 -18
  101. package/components/combo/combo-item.js.map +1 -1
  102. package/components/combo/combo.d.ts +1 -1
  103. package/components/combo/combo.js +14 -14
  104. package/components/combo/combo.js.map +1 -1
  105. package/components/common/abort-handler.d.ts +39 -0
  106. package/components/common/abort-handler.js +19 -0
  107. package/components/common/abort-handler.js.map +1 -0
  108. package/components/common/context.d.ts +5 -1
  109. package/components/common/context.js +2 -1
  110. package/components/common/context.js.map +1 -1
  111. package/components/common/controllers/drag.d.ts +3 -2
  112. package/components/common/controllers/drag.js +7 -6
  113. package/components/common/controllers/drag.js.map +1 -1
  114. package/components/common/controllers/focus-ring.d.ts +1 -0
  115. package/components/common/controllers/focus-ring.js +5 -4
  116. package/components/common/controllers/focus-ring.js.map +1 -1
  117. package/components/common/controllers/gestures.d.ts +6 -2
  118. package/components/common/controllers/gestures.js +15 -11
  119. package/components/common/controllers/gestures.js.map +1 -1
  120. package/components/common/controllers/internals.d.ts +33 -0
  121. package/components/common/controllers/internals.js +25 -0
  122. package/components/common/controllers/internals.js.map +1 -0
  123. package/components/common/controllers/key-bindings.d.ts +1 -0
  124. package/components/common/controllers/key-bindings.js +6 -4
  125. package/components/common/controllers/key-bindings.js.map +1 -1
  126. package/components/common/controllers/mutation-observer.d.ts +25 -15
  127. package/components/common/controllers/mutation-observer.js +23 -12
  128. package/components/common/controllers/mutation-observer.js.map +1 -1
  129. package/components/common/controllers/resize-observer.js.map +1 -1
  130. package/components/common/controllers/root-click.d.ts +58 -13
  131. package/components/common/controllers/root-click.js +47 -35
  132. package/components/common/controllers/root-click.js.map +1 -1
  133. package/components/common/decorators/shadow-options.d.ts +10 -0
  134. package/components/common/decorators/shadow-options.js +10 -0
  135. package/components/common/decorators/shadow-options.js.map +1 -0
  136. package/components/common/definitions/defineAllComponents.js +14 -12
  137. package/components/common/definitions/defineAllComponents.js.map +1 -1
  138. package/components/common/mixins/alert.d.ts +1 -2
  139. package/components/common/mixins/alert.js +13 -9
  140. package/components/common/mixins/alert.js.map +1 -1
  141. package/components/common/mixins/combo-box.d.ts +2 -1
  142. package/components/common/mixins/combo-box.js +0 -2
  143. package/components/common/mixins/combo-box.js.map +1 -1
  144. package/components/common/mixins/forms/associated.js +2 -2
  145. package/components/common/mixins/forms/associated.js.map +1 -1
  146. package/components/common/mixins/option.d.ts +1 -2
  147. package/components/common/mixins/option.js +13 -11
  148. package/components/common/mixins/option.js.map +1 -1
  149. package/components/common/part-map.js +1 -1
  150. package/components/common/part-map.js.map +1 -1
  151. package/components/common/util.d.ts +9 -0
  152. package/components/common/util.js +9 -1
  153. package/components/common/util.js.map +1 -1
  154. package/components/date-picker/date-picker.d.ts +1 -6
  155. package/components/date-picker/date-picker.js +11 -10
  156. package/components/date-picker/date-picker.js.map +1 -1
  157. package/components/date-picker/validators.js.map +1 -1
  158. package/components/date-range-picker/date-range-picker.d.ts +2 -7
  159. package/components/date-range-picker/date-range-picker.js +11 -10
  160. package/components/date-range-picker/date-range-picker.js.map +1 -1
  161. package/components/date-range-picker/predefined-ranges-area.js +1 -1
  162. package/components/date-range-picker/predefined-ranges-area.js.map +1 -1
  163. package/components/date-time-input/date-time-input.js.map +1 -1
  164. package/components/date-time-input/validators.js.map +1 -1
  165. package/components/dialog/dialog.js +1 -1
  166. package/components/dialog/dialog.js.map +1 -1
  167. package/components/divider/divider.d.ts +5 -3
  168. package/components/divider/divider.js +17 -15
  169. package/components/divider/divider.js.map +1 -1
  170. package/components/dropdown/dropdown-group.d.ts +0 -1
  171. package/components/dropdown/dropdown-group.js +7 -3
  172. package/components/dropdown/dropdown-group.js.map +1 -1
  173. package/components/dropdown/dropdown-header.js +1 -1
  174. package/components/dropdown/dropdown-header.js.map +1 -1
  175. package/components/dropdown/dropdown.d.ts +2 -1
  176. package/components/dropdown/dropdown.js +5 -2
  177. package/components/dropdown/dropdown.js.map +1 -1
  178. package/components/expansion-panel/expansion-panel.js +1 -1
  179. package/components/expansion-panel/expansion-panel.js.map +1 -1
  180. package/components/file-input/file-input.js.map +1 -1
  181. package/components/file-input/validators.js.map +1 -1
  182. package/components/focus-trap/focus-trap.js +4 -4
  183. package/components/focus-trap/focus-trap.js.map +1 -1
  184. package/components/icon/icon.d.ts +1 -1
  185. package/components/icon/icon.js +7 -5
  186. package/components/icon/icon.js.map +1 -1
  187. package/components/input/input-base.d.ts +1 -7
  188. package/components/input/input-base.js +4 -6
  189. package/components/input/input-base.js.map +1 -1
  190. package/components/input/input.js.map +1 -1
  191. package/components/input/themes/shared/input.material.css.js +1 -1
  192. package/components/input/themes/shared/input.material.css.js.map +1 -1
  193. package/components/input/validators.js.map +1 -1
  194. package/components/list/list-header.d.ts +0 -1
  195. package/components/list/list-header.js +5 -3
  196. package/components/list/list-header.js.map +1 -1
  197. package/components/list/list-item.d.ts +0 -1
  198. package/components/list/list-item.js +7 -3
  199. package/components/list/list-item.js.map +1 -1
  200. package/components/list/list.d.ts +0 -1
  201. package/components/list/list.js +7 -3
  202. package/components/list/list.js.map +1 -1
  203. package/components/mask-input/mask-input.js.map +1 -1
  204. package/components/mask-input/validators.js.map +1 -1
  205. package/components/nav-drawer/nav-drawer-header-item.js +1 -1
  206. package/components/nav-drawer/nav-drawer-header-item.js.map +1 -1
  207. package/components/nav-drawer/nav-drawer-item.js +1 -1
  208. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  209. package/components/nav-drawer/nav-drawer.js +1 -1
  210. package/components/nav-drawer/nav-drawer.js.map +1 -1
  211. package/components/navbar/navbar.js +1 -1
  212. package/components/navbar/navbar.js.map +1 -1
  213. package/components/popover/popover.js +1 -1
  214. package/components/popover/popover.js.map +1 -1
  215. package/components/progress/base.d.ts +1 -2
  216. package/components/progress/base.js +28 -26
  217. package/components/progress/base.js.map +1 -1
  218. package/components/radio/radio.js +1 -1
  219. package/components/radio/radio.js.map +1 -1
  220. package/components/radio/utils.js.map +1 -1
  221. package/components/radio-group/radio-group.d.ts +1 -1
  222. package/components/radio-group/radio-group.js +9 -8
  223. package/components/radio-group/radio-group.js.map +1 -1
  224. package/components/rating/rating-symbol.js +1 -1
  225. package/components/rating/rating-symbol.js.map +1 -1
  226. package/components/rating/rating.js +1 -1
  227. package/components/rating/rating.js.map +1 -1
  228. package/components/resize-container/resize-container.js +1 -1
  229. package/components/resize-container/resize-container.js.map +1 -1
  230. package/components/resize-container/resize-controller.d.ts +3 -2
  231. package/components/resize-container/resize-controller.js +6 -4
  232. package/components/resize-container/resize-controller.js.map +1 -1
  233. package/components/ripple/ripple.js +3 -2
  234. package/components/ripple/ripple.js.map +1 -1
  235. package/components/select/select-group.d.ts +1 -1
  236. package/components/select/select-group.js +9 -5
  237. package/components/select/select-group.js.map +1 -1
  238. package/components/select/select-header.js +1 -1
  239. package/components/select/select-header.js.map +1 -1
  240. package/components/select/select.d.ts +1 -0
  241. package/components/select/select.js +9 -6
  242. package/components/select/select.js.map +1 -1
  243. package/components/select/validators.js.map +1 -1
  244. package/components/slider/slider-base.js +6 -6
  245. package/components/slider/slider-base.js.map +1 -1
  246. package/components/slider/slider-label.js +1 -1
  247. package/components/slider/slider-label.js.map +1 -1
  248. package/components/slider/slider.js.map +1 -1
  249. package/components/snackbar/snackbar.js.map +1 -1
  250. package/components/stepper/step.js +1 -1
  251. package/components/stepper/step.js.map +1 -1
  252. package/components/stepper/stepper.js +1 -1
  253. package/components/stepper/stepper.js.map +1 -1
  254. package/components/tabs/tab.js +2 -2
  255. package/components/tabs/tab.js.map +1 -1
  256. package/components/tabs/tabs.js +4 -4
  257. package/components/tabs/tabs.js.map +1 -1
  258. package/components/textarea/textarea.d.ts +1 -7
  259. package/components/textarea/textarea.js +7 -9
  260. package/components/textarea/textarea.js.map +1 -1
  261. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  262. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  263. package/components/textarea/validators.js.map +1 -1
  264. package/components/tile-manager/position.d.ts +1 -1
  265. package/components/tile-manager/position.js.map +1 -1
  266. package/components/tile-manager/themes/container.js.map +1 -1
  267. package/components/tile-manager/tile-manager.d.ts +0 -1
  268. package/components/tile-manager/tile-manager.js +4 -6
  269. package/components/tile-manager/tile-manager.js.map +1 -1
  270. package/components/tile-manager/tile.js +1 -1
  271. package/components/tile-manager/tile.js.map +1 -1
  272. package/components/tooltip/controller.d.ts +2 -4
  273. package/components/tooltip/controller.js +11 -20
  274. package/components/tooltip/controller.js.map +1 -1
  275. package/components/tooltip/themes/themes.js +1 -1
  276. package/components/tooltip/themes/themes.js.map +1 -1
  277. package/components/tooltip/tooltip.d.ts +0 -1
  278. package/components/tooltip/tooltip.js +37 -33
  279. package/components/tooltip/tooltip.js.map +1 -1
  280. package/components/tree/tree-item.d.ts +1 -0
  281. package/components/tree/tree-item.js +24 -24
  282. package/components/tree/tree-item.js.map +1 -1
  283. package/components/tree/tree.d.ts +1 -1
  284. package/components/tree/tree.js +4 -3
  285. package/components/tree/tree.js.map +1 -1
  286. package/components/tree/tree.navigation.d.ts +1 -1
  287. package/components/tree/tree.navigation.js.map +1 -1
  288. package/components/tree/tree.selection.d.ts +1 -1
  289. package/components/tree/tree.selection.js.map +1 -1
  290. package/components/validation-container/themes/themes.js.map +1 -1
  291. package/components/validation-container/validation-container.d.ts +1 -1
  292. package/components/validation-container/validation-container.js +1 -1
  293. package/components/validation-container/validation-container.js.map +1 -1
  294. package/custom-elements.json +20068 -19253
  295. package/igniteui-webcomponents.css-data.json +1 -1
  296. package/igniteui-webcomponents.html-data.json +1 -1
  297. package/index.d.ts +7 -0
  298. package/index.js +5 -0
  299. package/index.js.map +1 -1
  300. package/package.json +1 -1
  301. package/theming/theming-controller.d.ts +1 -1
  302. package/theming/theming-controller.js +1 -1
  303. package/theming/theming-controller.js.map +1 -1
  304. package/web-types.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"nav-drawer.js","sourceRoot":"","sources":["../../../src/components/nav-drawer/nav-drawer.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partMap } from '../common/part-map.js';\nimport { isEmpty } from '../common/util.js';\nimport type { NavDrawerPosition } from '../types.js';\nimport IgcNavDrawerHeaderItemComponent from './nav-drawer-header-item.js';\nimport IgcNavDrawerItemComponent from './nav-drawer-item.js';\nimport { styles } from './themes/container.base.css.js';\nimport { all } from './themes/container.js';\nimport { styles as shared } from './themes/shared/container/nav-drawer.common.css.js';\n\n/**\n * Represents a side navigation container that provides\n * quick access between views.\n *\n * @element igc-nav-drawer\n *\n * @slot - The default slot for the igc-navigation-drawer.\n * @slot mini - The slot for the mini variant of the igc-navigation-drawer.\n *\n * @csspart base - The base wrapper of the igc-navigation-drawer.\n * @csspart main - The main container of the igc-navigation-drawer.\n * @csspart mini - The mini container of the igc-navigation-drawer.\n */\n@themes(all)\nexport default class IgcNavDrawerComponent extends LitElement {\n public static readonly tagName = 'igc-nav-drawer';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcNavDrawerComponent,\n IgcNavDrawerHeaderItemComponent,\n IgcNavDrawerItemComponent\n );\n }\n\n @queryAssignedElements({ slot: 'mini' })\n private _miniSlotElements!: Array<HTMLElement>;\n\n /**\n * The position of the drawer.\n * @attr\n */\n @property({ reflect: true })\n public position: NavDrawerPosition = 'start';\n\n /**\n * Determines whether the drawer is opened.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n private _waitTransitions() {\n return new Promise<Event>((resolve) => {\n this.renderRoot.addEventListener('transitionend', resolve, {\n once: true,\n });\n });\n }\n\n /** Opens the drawer. */\n public async show(): Promise<boolean> {\n if (this.open) {\n return false;\n }\n\n this.open = true;\n await this._waitTransitions();\n\n return true;\n }\n\n /** Closes the drawer. */\n public async hide(): Promise<boolean> {\n if (!this.open) {\n return false;\n }\n\n this.open = false;\n await this._waitTransitions();\n\n return true;\n }\n\n /** Toggles the open state of the drawer. */\n public async toggle(): Promise<boolean> {\n return this.open ? this.hide() : this.show();\n }\n\n protected override render() {\n return html`\n <div part=\"overlay\" @click=${this.hide}></div>\n\n <div part=\"base\" .inert=${!this.open}>\n <div part=\"main\">\n <slot></slot>\n </div>\n </div>\n\n <div\n part=${partMap({ mini: true, hidden: isEmpty(this._miniSlotElements) })}\n >\n <slot name=\"mini\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-nav-drawer': IgcNavDrawerComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"nav-drawer.js","sourceRoot":"","sources":["../../../src/components/nav-drawer/nav-drawer.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partMap } from '../common/part-map.js';\nimport { isEmpty } from '../common/util.js';\nimport type { NavDrawerPosition } from '../types.js';\nimport IgcNavDrawerHeaderItemComponent from './nav-drawer-header-item.js';\nimport IgcNavDrawerItemComponent from './nav-drawer-item.js';\nimport { styles } from './themes/container.base.css.js';\nimport { all } from './themes/container.js';\nimport { styles as shared } from './themes/shared/container/nav-drawer.common.css.js';\n\n/**\n * Represents a side navigation container that provides\n * quick access between views.\n *\n * @element igc-nav-drawer\n *\n * @slot - The default slot for the igc-navigation-drawer.\n * @slot mini - The slot for the mini variant of the igc-navigation-drawer.\n *\n * @csspart base - The base wrapper of the igc-navigation-drawer.\n * @csspart main - The main container of the igc-navigation-drawer.\n * @csspart mini - The mini container of the igc-navigation-drawer.\n */\n@themes(all)\nexport default class IgcNavDrawerComponent extends LitElement {\n public static readonly tagName = 'igc-nav-drawer';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(\n IgcNavDrawerComponent,\n IgcNavDrawerHeaderItemComponent,\n IgcNavDrawerItemComponent\n );\n }\n\n @queryAssignedElements({ slot: 'mini' })\n private _miniSlotElements!: Array<HTMLElement>;\n\n /**\n * The position of the drawer.\n * @attr\n */\n @property({ reflect: true })\n public position: NavDrawerPosition = 'start';\n\n /**\n * Determines whether the drawer is opened.\n * @attr\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n private _waitTransitions() {\n return new Promise<Event>((resolve) => {\n this.renderRoot.addEventListener('transitionend', resolve, {\n once: true,\n });\n });\n }\n\n /** Opens the drawer. */\n public async show(): Promise<boolean> {\n if (this.open) {\n return false;\n }\n\n this.open = true;\n await this._waitTransitions();\n\n return true;\n }\n\n /** Closes the drawer. */\n public async hide(): Promise<boolean> {\n if (!this.open) {\n return false;\n }\n\n this.open = false;\n await this._waitTransitions();\n\n return true;\n }\n\n /** Toggles the open state of the drawer. */\n public async toggle(): Promise<boolean> {\n return this.open ? this.hide() : this.show();\n }\n\n protected override render() {\n return html`\n <div part=\"overlay\" @click=${this.hide}></div>\n\n <div part=\"base\" .inert=${!this.open}>\n <div part=\"main\">\n <slot></slot>\n </div>\n </div>\n\n <div\n part=${partMap({ mini: true, hidden: isEmpty(this._miniSlotElements) })}\n >\n <slot name=\"mini\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-nav-drawer': IgcNavDrawerComponent;\n }\n}\n"]}
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  var IgcNavbarComponent_1;
8
- import { LitElement, html } from 'lit';
8
+ import { html, LitElement } from 'lit';
9
9
  import { themes } from '../../theming/theming-decorator.js';
10
10
  import { registerComponent } from '../common/definitions/register.js';
11
11
  import { styles } from './themes/navbar.base.css.js';
@@ -1 +1 @@
1
- {"version":3,"file":"navbar.js","sourceRoot":"","sources":["../../../src/components/navbar/navbar.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAkB1B,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAKjD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,oBAAkB,CAAC,CAAC;IACxC,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;;;;;;;;;KAYV,CAAC;IACJ,CAAC;;AAtBsB,0BAAO,GAAG,YAAY,AAAf,CAAgB;AACvB,yBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAF9B,kBAAkB;IADtC,MAAM,CAAC,GAAG,CAAC;GACS,kBAAkB,CAwBtC;eAxBoB,kBAAkB","sourcesContent":["import { LitElement, html } from 'lit';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { styles } from './themes/navbar.base.css.js';\nimport { styles as shared } from './themes/shared/navbar.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * A navigation bar component is used to facilitate navigation through\n * a series of hierarchical screens within an app.\n *\n * @element igc-navbar\n *\n * @slot - Renders a title inside the default slot.\n * @slot start - Renders left aligned icons.\n * @slot end - Renders right aligned action icons.\n *\n * @csspart base - The base wrapper of the navigation bar.\n * @csspart start - The left aligned icon container.\n * @csspart middle - The navigation bar title container.\n * @csspart end - The right aligned action icons container.\n */\n@themes(all)\nexport default class IgcNavbarComponent extends LitElement {\n public static readonly tagName = 'igc-navbar';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcNavbarComponent);\n }\n\n protected override render() {\n return html`\n <div part=\"base\">\n <span part=\"start\">\n <slot name=\"start\"></slot>\n </span>\n <span part=\"middle\">\n <slot></slot>\n </span>\n <span part=\"end\">\n <slot name=\"end\"></slot>\n </span>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-navbar': IgcNavbarComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"navbar.js","sourceRoot":"","sources":["../../../src/components/navbar/navbar.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AAkB1B,IAAM,kBAAkB,0BAAxB,MAAM,kBAAmB,SAAQ,UAAU;IAKjD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,oBAAkB,CAAC,CAAC;IACxC,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;;;;;;;;;KAYV,CAAC;IACJ,CAAC;;AAtBsB,0BAAO,GAAG,YAAY,AAAf,CAAgB;AACvB,yBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAF9B,kBAAkB;IADtC,MAAM,CAAC,GAAG,CAAC;GACS,kBAAkB,CAwBtC;eAxBoB,kBAAkB","sourcesContent":["import { html, LitElement } from 'lit';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { styles } from './themes/navbar.base.css.js';\nimport { styles as shared } from './themes/shared/navbar.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * A navigation bar component is used to facilitate navigation through\n * a series of hierarchical screens within an app.\n *\n * @element igc-navbar\n *\n * @slot - Renders a title inside the default slot.\n * @slot start - Renders left aligned icons.\n * @slot end - Renders right aligned action icons.\n *\n * @csspart base - The base wrapper of the navigation bar.\n * @csspart start - The left aligned icon container.\n * @csspart middle - The navigation bar title container.\n * @csspart end - The right aligned action icons container.\n */\n@themes(all)\nexport default class IgcNavbarComponent extends LitElement {\n public static readonly tagName = 'igc-navbar';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcNavbarComponent);\n }\n\n protected override render() {\n return html`\n <div part=\"base\">\n <span part=\"start\">\n <slot name=\"start\"></slot>\n </span>\n <span part=\"middle\">\n <slot></slot>\n </span>\n <span part=\"end\">\n <slot name=\"end\"></slot>\n </span>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-navbar': IgcNavbarComponent;\n }\n}\n"]}
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { arrow, autoUpdate, computePosition, flip, inline, limitShift, offset, shift, size, } from '@floating-ui/dom';
8
- import { LitElement, html } from 'lit';
8
+ import { html, LitElement } from 'lit';
9
9
  import { property, query, queryAssignedElements } from 'lit/decorators.js';
10
10
  import { watch } from '../common/decorators/watch.js';
11
11
  import { registerComponent } from '../common/definitions/register.js';
@@ -1 +1 @@
1
- {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../src/components/popover/popover.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n type Middleware,\n type MiddlewareData,\n type Placement,\n arrow,\n autoUpdate,\n computePosition,\n flip,\n inline,\n limitShift,\n offset,\n shift,\n size,\n} from '@floating-ui/dom';\nimport { LitElement, html } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\n\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n first,\n getElementByIdFromRoot,\n isEmpty,\n isString,\n roundByDPR,\n} from '../common/util.js';\nimport { styles } from './themes/light/popover.base.css.js';\n\n/**\n * Describes the preferred placement of a toggle component.\n */\nexport type PopoverPlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end';\n\n/* blazorSuppress */\n/**\n * @element igc-popover\n *\n * @slot - Content of the popover.\n * @slot anchor - The element the popover will be anchored to.\n *\n * @csspart container - The container wrapping the slotted content in the popover.\n */\nexport default class IgcPopoverComponent extends LitElement {\n public static readonly tagName = 'igc-popover';\n public static override styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcPopoverComponent);\n }\n\n private dispose?: ReturnType<typeof autoUpdate>;\n private target?: Element;\n\n @query('#container')\n private _container!: HTMLElement;\n\n @queryAssignedElements({ slot: 'anchor', flatten: true })\n private _anchors!: HTMLElement[];\n\n /**\n * Pass an IDREF or an DOM element reference to use as the\n * anchor target for the floating element.\n */\n @property()\n public anchor?: Element | string;\n\n /**\n * Element to render as an \"arrow\" element for the current popover.\n */\n @property({ attribute: false })\n public arrow: HTMLElement | null = null;\n\n /** Additional offset to apply to the arrow element if enabled. */\n @property({ type: Number, attribute: 'arrow-offset' })\n public arrowOffset = 0;\n\n /**\n * Improves positioning for inline reference elements that span over multiple lines.\n * Useful for tooltips or similar components.\n */\n @property({ type: Boolean, reflect: true })\n public inline = false;\n\n /**\n * When enabled this changes the placement of the floating element in order to keep it\n * in view along the main axis.\n */\n @property({ type: Boolean, reflect: true })\n public flip = false;\n\n /**\n * Placement modifier which translates the floating element along the main axis.\n */\n @property({ type: Number })\n public offset = 0;\n\n /**\n * The visibility state of the popover component.\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n /**\n * Where to place the floating element relative to the parent anchor element.\n */\n @property()\n public placement: PopoverPlacement = 'bottom-start';\n\n /**\n * When enabled the floating element will match the width of its parent anchor element.\n */\n @property({ type: Boolean, reflect: true, attribute: 'same-width' })\n public sameWidth = false;\n\n /**\n * When enabled this tries to shift the floating element along the main axis\n * keeping it in view, preventing overflow while maintaining the desired placement.\n */\n @property({ type: Boolean, reflect: true })\n public shift = false;\n\n /**\n * Virtual padding for the resolved overflow detection offsets in pixels.\n */\n @property({ type: Number, attribute: 'shift-padding' })\n public shiftPadding = 0;\n\n @watch('anchor')\n protected anchorChange() {\n const newTarget = isString(this.anchor)\n ? getElementByIdFromRoot(this, this.anchor)\n : this.anchor;\n\n if (newTarget) {\n this.target = newTarget;\n this._updateState();\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n protected openChange() {\n this.open ? this.show() : this.hide();\n }\n\n @watch('arrow', { waitUntilFirstUpdate: true })\n @watch('arrowOffset', { waitUntilFirstUpdate: true })\n @watch('flip', { waitUntilFirstUpdate: true })\n @watch('inline', { waitUntilFirstUpdate: true })\n @watch('offset', { waitUntilFirstUpdate: true })\n @watch('placement', { waitUntilFirstUpdate: true })\n @watch('sameWidth', { waitUntilFirstUpdate: true })\n @watch('shift', { waitUntilFirstUpdate: true })\n @watch('shiftPadding', { waitUntilFirstUpdate: true })\n protected floatingPropChange() {\n this._updateState();\n }\n\n public override async connectedCallback() {\n super.connectedCallback();\n\n await this.updateComplete;\n if (this.open) {\n this.show();\n }\n }\n\n public override disconnectedCallback() {\n this.hide();\n super.disconnectedCallback();\n }\n\n protected show() {\n if (!this.target) {\n return;\n }\n\n this._showPopover();\n\n this.dispose = autoUpdate(\n this.target,\n this._container,\n this._updatePosition.bind(this)\n );\n }\n\n protected async hide(): Promise<void> {\n this._hidePopover();\n\n return new Promise((resolve) => {\n this.dispose?.();\n this.dispose = undefined;\n resolve();\n });\n }\n\n private _showPopover() {\n this._container?.showPopover();\n }\n\n private _hidePopover() {\n this._container?.hidePopover();\n }\n\n private _createMiddleware(): Middleware[] {\n const middleware: Middleware[] = [];\n const styles = this._container.style;\n\n if (this.offset) {\n middleware.push(offset(this.offset));\n }\n\n if (this.inline) {\n middleware.push(inline());\n }\n\n if (this.shift) {\n middleware.push(\n shift({\n padding: this.shiftPadding,\n limiter: limitShift(),\n })\n );\n }\n\n if (this.arrow) {\n middleware.push(arrow({ element: this.arrow }));\n }\n\n if (this.flip) {\n middleware.push(flip());\n }\n\n if (this.sameWidth) {\n middleware.push(\n size({\n apply: ({ rects }) => {\n Object.assign(styles, { width: `${rects.reference.width}px` });\n },\n })\n );\n } else {\n Object.assign(styles, { width: '' });\n }\n\n return middleware;\n }\n\n private async _updateState() {\n if (this.open) {\n await this.hide();\n this.show();\n }\n }\n\n private async _updatePosition() {\n if (!(this.open && this.target)) {\n return;\n }\n\n const { x, y, middlewareData, placement } = await computePosition(\n this.target,\n this._container,\n {\n placement: this.placement ?? 'bottom-start',\n middleware: this._createMiddleware(),\n strategy: 'absolute',\n }\n );\n\n Object.assign(this._container.style, {\n left: 0,\n top: 0,\n transform: `translate(${roundByDPR(x)}px,${roundByDPR(y)}px)`,\n });\n\n this._positionArrow(placement, middlewareData);\n }\n\n private _positionArrow(placement: Placement, data: MiddlewareData) {\n if (!(data.arrow && this.arrow)) {\n return;\n }\n\n const { x, y } = data.arrow;\n\n // The current placement of the popover along the x/y axis\n const currentPlacement = first(placement.split('-'));\n\n // The opposite side where the arrow element should render based on the `currentPlacement`\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[currentPlacement]!;\n\n this.arrow.part = currentPlacement;\n\n Object.assign(this.arrow.style, {\n left: x != null ? `${roundByDPR(x + this.arrowOffset)}px` : '',\n top: y != null ? `${roundByDPR(y + this.arrowOffset)}px` : '',\n [staticSide]: '-4px',\n });\n }\n\n private _anchorSlotChange() {\n if (this.anchor || isEmpty(this._anchors)) {\n return;\n }\n\n this.target = this._anchors[0];\n this._updateState();\n }\n\n protected override render() {\n return html`\n <slot name=\"anchor\" @slotchange=${this._anchorSlotChange}></slot>\n <div id=\"container\" part=\"container\" popover=\"manual\">\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-popover': IgcPopoverComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"popover.js","sourceRoot":"","sources":["../../../src/components/popover/popover.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n arrow,\n autoUpdate,\n computePosition,\n flip,\n inline,\n limitShift,\n type Middleware,\n type MiddlewareData,\n offset,\n type Placement,\n shift,\n size,\n} from '@floating-ui/dom';\nimport { html, LitElement } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\n\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport {\n first,\n getElementByIdFromRoot,\n isEmpty,\n isString,\n roundByDPR,\n} from '../common/util.js';\nimport { styles } from './themes/light/popover.base.css.js';\n\n/**\n * Describes the preferred placement of a toggle component.\n */\nexport type PopoverPlacement =\n | 'top'\n | 'top-start'\n | 'top-end'\n | 'bottom'\n | 'bottom-start'\n | 'bottom-end'\n | 'right'\n | 'right-start'\n | 'right-end'\n | 'left'\n | 'left-start'\n | 'left-end';\n\n/* blazorSuppress */\n/**\n * @element igc-popover\n *\n * @slot - Content of the popover.\n * @slot anchor - The element the popover will be anchored to.\n *\n * @csspart container - The container wrapping the slotted content in the popover.\n */\nexport default class IgcPopoverComponent extends LitElement {\n public static readonly tagName = 'igc-popover';\n public static override styles = styles;\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcPopoverComponent);\n }\n\n private dispose?: ReturnType<typeof autoUpdate>;\n private target?: Element;\n\n @query('#container')\n private _container!: HTMLElement;\n\n @queryAssignedElements({ slot: 'anchor', flatten: true })\n private _anchors!: HTMLElement[];\n\n /**\n * Pass an IDREF or an DOM element reference to use as the\n * anchor target for the floating element.\n */\n @property()\n public anchor?: Element | string;\n\n /**\n * Element to render as an \"arrow\" element for the current popover.\n */\n @property({ attribute: false })\n public arrow: HTMLElement | null = null;\n\n /** Additional offset to apply to the arrow element if enabled. */\n @property({ type: Number, attribute: 'arrow-offset' })\n public arrowOffset = 0;\n\n /**\n * Improves positioning for inline reference elements that span over multiple lines.\n * Useful for tooltips or similar components.\n */\n @property({ type: Boolean, reflect: true })\n public inline = false;\n\n /**\n * When enabled this changes the placement of the floating element in order to keep it\n * in view along the main axis.\n */\n @property({ type: Boolean, reflect: true })\n public flip = false;\n\n /**\n * Placement modifier which translates the floating element along the main axis.\n */\n @property({ type: Number })\n public offset = 0;\n\n /**\n * The visibility state of the popover component.\n */\n @property({ type: Boolean, reflect: true })\n public open = false;\n\n /**\n * Where to place the floating element relative to the parent anchor element.\n */\n @property()\n public placement: PopoverPlacement = 'bottom-start';\n\n /**\n * When enabled the floating element will match the width of its parent anchor element.\n */\n @property({ type: Boolean, reflect: true, attribute: 'same-width' })\n public sameWidth = false;\n\n /**\n * When enabled this tries to shift the floating element along the main axis\n * keeping it in view, preventing overflow while maintaining the desired placement.\n */\n @property({ type: Boolean, reflect: true })\n public shift = false;\n\n /**\n * Virtual padding for the resolved overflow detection offsets in pixels.\n */\n @property({ type: Number, attribute: 'shift-padding' })\n public shiftPadding = 0;\n\n @watch('anchor')\n protected anchorChange() {\n const newTarget = isString(this.anchor)\n ? getElementByIdFromRoot(this, this.anchor)\n : this.anchor;\n\n if (newTarget) {\n this.target = newTarget;\n this._updateState();\n }\n }\n\n @watch('open', { waitUntilFirstUpdate: true })\n protected openChange() {\n this.open ? this.show() : this.hide();\n }\n\n @watch('arrow', { waitUntilFirstUpdate: true })\n @watch('arrowOffset', { waitUntilFirstUpdate: true })\n @watch('flip', { waitUntilFirstUpdate: true })\n @watch('inline', { waitUntilFirstUpdate: true })\n @watch('offset', { waitUntilFirstUpdate: true })\n @watch('placement', { waitUntilFirstUpdate: true })\n @watch('sameWidth', { waitUntilFirstUpdate: true })\n @watch('shift', { waitUntilFirstUpdate: true })\n @watch('shiftPadding', { waitUntilFirstUpdate: true })\n protected floatingPropChange() {\n this._updateState();\n }\n\n public override async connectedCallback() {\n super.connectedCallback();\n\n await this.updateComplete;\n if (this.open) {\n this.show();\n }\n }\n\n public override disconnectedCallback() {\n this.hide();\n super.disconnectedCallback();\n }\n\n protected show() {\n if (!this.target) {\n return;\n }\n\n this._showPopover();\n\n this.dispose = autoUpdate(\n this.target,\n this._container,\n this._updatePosition.bind(this)\n );\n }\n\n protected async hide(): Promise<void> {\n this._hidePopover();\n\n return new Promise((resolve) => {\n this.dispose?.();\n this.dispose = undefined;\n resolve();\n });\n }\n\n private _showPopover() {\n this._container?.showPopover();\n }\n\n private _hidePopover() {\n this._container?.hidePopover();\n }\n\n private _createMiddleware(): Middleware[] {\n const middleware: Middleware[] = [];\n const styles = this._container.style;\n\n if (this.offset) {\n middleware.push(offset(this.offset));\n }\n\n if (this.inline) {\n middleware.push(inline());\n }\n\n if (this.shift) {\n middleware.push(\n shift({\n padding: this.shiftPadding,\n limiter: limitShift(),\n })\n );\n }\n\n if (this.arrow) {\n middleware.push(arrow({ element: this.arrow }));\n }\n\n if (this.flip) {\n middleware.push(flip());\n }\n\n if (this.sameWidth) {\n middleware.push(\n size({\n apply: ({ rects }) => {\n Object.assign(styles, { width: `${rects.reference.width}px` });\n },\n })\n );\n } else {\n Object.assign(styles, { width: '' });\n }\n\n return middleware;\n }\n\n private async _updateState() {\n if (this.open) {\n await this.hide();\n this.show();\n }\n }\n\n private async _updatePosition() {\n if (!(this.open && this.target)) {\n return;\n }\n\n const { x, y, middlewareData, placement } = await computePosition(\n this.target,\n this._container,\n {\n placement: this.placement ?? 'bottom-start',\n middleware: this._createMiddleware(),\n strategy: 'absolute',\n }\n );\n\n Object.assign(this._container.style, {\n left: 0,\n top: 0,\n transform: `translate(${roundByDPR(x)}px,${roundByDPR(y)}px)`,\n });\n\n this._positionArrow(placement, middlewareData);\n }\n\n private _positionArrow(placement: Placement, data: MiddlewareData) {\n if (!(data.arrow && this.arrow)) {\n return;\n }\n\n const { x, y } = data.arrow;\n\n // The current placement of the popover along the x/y axis\n const currentPlacement = first(placement.split('-'));\n\n // The opposite side where the arrow element should render based on the `currentPlacement`\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[currentPlacement]!;\n\n this.arrow.part = currentPlacement;\n\n Object.assign(this.arrow.style, {\n left: x != null ? `${roundByDPR(x + this.arrowOffset)}px` : '',\n top: y != null ? `${roundByDPR(y + this.arrowOffset)}px` : '',\n [staticSide]: '-4px',\n });\n }\n\n private _anchorSlotChange() {\n if (this.anchor || isEmpty(this._anchors)) {\n return;\n }\n\n this.target = this._anchors[0];\n this._updateState();\n }\n\n protected override render() {\n return html`\n <slot name=\"anchor\" @slotchange=${this._anchorSlotChange}></slot>\n <div id=\"container\" part=\"container\" popover=\"manual\">\n <slot></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-popover': IgcPopoverComponent;\n }\n}\n"]}
@@ -2,7 +2,7 @@ import { LitElement } from 'lit';
2
2
  import type { StyleInfo } from 'lit/directives/style-map.js';
3
3
  import type { StyleVariant } from '../types.js';
4
4
  export declare abstract class IgcProgressBaseComponent extends LitElement {
5
- private readonly __internals;
5
+ private readonly _internals;
6
6
  protected _assignedElements: HTMLElement[];
7
7
  protected _base: HTMLElement;
8
8
  protected _percentage: number;
@@ -50,7 +50,6 @@ export declare abstract class IgcProgressBaseComponent extends LitElement {
50
50
  protected indeterminateChange(): void;
51
51
  protected maxChange(): void;
52
52
  protected valueChange(): void;
53
- constructor();
54
53
  protected createRenderRoot(): HTMLElement | DocumentFragment;
55
54
  protected updated(): void;
56
55
  private _updateARIA;
@@ -4,12 +4,38 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { LitElement, html, nothing } from 'lit';
7
+ import { html, LitElement, nothing } from 'lit';
8
8
  import { property, query, queryAssignedElements, state, } from 'lit/decorators.js';
9
+ import { addInternalsController } from '../common/controllers/internals.js';
9
10
  import { watch } from '../common/decorators/watch.js';
10
11
  import { partMap } from '../common/part-map.js';
11
12
  import { asPercent, clamp, formatString, isEmpty } from '../common/util.js';
12
13
  export class IgcProgressBaseComponent extends LitElement {
14
+ constructor() {
15
+ super(...arguments);
16
+ this._internals = addInternalsController(this, {
17
+ initialARIA: {
18
+ role: 'progressbar',
19
+ ariaValueMin: '0',
20
+ ariaValueNow: '0',
21
+ },
22
+ });
23
+ this._percentage = 0;
24
+ this._progress = 0;
25
+ this._hasFraction = false;
26
+ this._styleInfo = {
27
+ '--_progress-whole': '0.00',
28
+ '--_progress-integer': '0',
29
+ '--_progress-fraction': '0',
30
+ '--_transition-duration': '0ms',
31
+ };
32
+ this.max = 100;
33
+ this.value = 0;
34
+ this.variant = 'primary';
35
+ this.animationDuration = 500;
36
+ this.indeterminate = false;
37
+ this.hideLabel = false;
38
+ }
13
39
  indeterminateChange() {
14
40
  if (!this.indeterminate) {
15
41
  this._updateProgress();
@@ -30,30 +56,6 @@ export class IgcProgressBaseComponent extends LitElement {
30
56
  this._updateProgress();
31
57
  }
32
58
  }
33
- constructor() {
34
- super();
35
- this._percentage = 0;
36
- this._progress = 0;
37
- this._hasFraction = false;
38
- this._styleInfo = {
39
- '--_progress-whole': '0.00',
40
- '--_progress-integer': '0',
41
- '--_progress-fraction': '0',
42
- '--_transition-duration': '0ms',
43
- };
44
- this.max = 100;
45
- this.value = 0;
46
- this.variant = 'primary';
47
- this.animationDuration = 500;
48
- this.indeterminate = false;
49
- this.hideLabel = false;
50
- this.__internals = this.attachInternals();
51
- Object.assign(this.__internals, {
52
- role: 'progressbar',
53
- ariaValueMin: '0',
54
- ariaValueNow: '0',
55
- });
56
- }
57
59
  createRenderRoot() {
58
60
  const root = super.createRenderRoot();
59
61
  root.addEventListener('slotchange', () => this.requestUpdate());
@@ -64,7 +66,7 @@ export class IgcProgressBaseComponent extends LitElement {
64
66
  }
65
67
  _updateARIA() {
66
68
  const text = this.labelFormat ? this.renderLabelFormat() : `${this.value}%`;
67
- Object.assign(this.__internals, {
69
+ this._internals.setARIA({
68
70
  ariaValueMax: this.max.toString(),
69
71
  ariaValueNow: this.indeterminate ? null : this.value.toString(),
70
72
  ariaValueText: this.indeterminate ? null : text,
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/components/progress/base.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport type { StyleInfo } from 'lit/directives/style-map.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { partMap } from '../common/part-map.js';\nimport { asPercent, clamp, formatString, isEmpty } from '../common/util.js';\nimport type { StyleVariant } from '../types.js';\n\nexport abstract class IgcProgressBaseComponent extends LitElement {\n private readonly __internals: ElementInternals;\n\n @queryAssignedElements()\n protected _assignedElements!: HTMLElement[];\n\n @query('[part=\"base\"]', true)\n protected _base!: HTMLElement;\n\n @state()\n protected _percentage = 0;\n\n @state()\n protected _progress = 0;\n\n @state()\n protected _hasFraction = false;\n\n @state()\n protected _styleInfo: StyleInfo = {\n '--_progress-whole': '0.00',\n '--_progress-integer': '0',\n '--_progress-fraction': '0',\n '--_transition-duration': '0ms',\n };\n\n /**\n * Maximum value of the control.\n * @attr\n */\n @property({ type: Number })\n public max = 100;\n\n /**\n * The value of the control.\n * @attr\n */\n @property({ type: Number })\n public value = 0;\n\n /**\n * The variant of the control.\n * @attr\n */\n @property({ reflect: true })\n public variant: StyleVariant = 'primary';\n\n /**\n * Animation duration in milliseconds.\n * @attr animation-duration\n */\n @property({ type: Number, attribute: 'animation-duration' })\n public animationDuration = 500;\n\n /**\n * The indeterminate state of the control.\n * @attr\n */\n @property({ type: Boolean, reflect: false })\n public indeterminate = false;\n\n /**\n * Shows/hides the label of the control.\n * @attr hide-label\n */\n @property({ type: Boolean, attribute: 'hide-label', reflect: false })\n public hideLabel = false;\n\n /**\n * Format string for the default label of the control.\n * Placeholders:\n * {0} - current value of the control.\n * {1} - max value of the control.\n * @attr label-format\n */\n @property({ attribute: 'label-format' })\n public labelFormat!: string;\n\n @watch('indeterminate')\n protected indeterminateChange() {\n if (!this.indeterminate) {\n this._updateProgress();\n }\n }\n\n @watch('max')\n protected maxChange() {\n this.max = Math.max(0, this.max);\n if (this.value > this.max) {\n this.value = this.max;\n }\n\n if (!this.indeterminate) {\n this._updateProgress();\n }\n }\n\n @watch('value')\n protected valueChange() {\n this.value = clamp(this.value, 0, this.max);\n\n if (!this.indeterminate) {\n this._updateProgress();\n }\n }\n\n constructor() {\n super();\n this.__internals = this.attachInternals();\n\n Object.assign(this.__internals, {\n role: 'progressbar',\n ariaValueMin: '0',\n ariaValueNow: '0',\n });\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n protected override updated() {\n this._updateARIA();\n }\n\n private _updateARIA() {\n const text = this.labelFormat ? this.renderLabelFormat() : `${this.value}%`;\n\n Object.assign(this.__internals, {\n ariaValueMax: this.max.toString(),\n ariaValueNow: this.indeterminate ? null : this.value.toString(),\n ariaValueText: this.indeterminate ? null : text,\n });\n }\n\n private _updateProgress() {\n const percentage = asPercent(this.value, Math.max(1, this.max));\n const fractionValue = Math.round((percentage % 1) * 100);\n this._hasFraction = fractionValue > 0;\n\n this._styleInfo = {\n '--_progress-whole': percentage.toFixed(2),\n '--_progress-integer': Math.floor(percentage),\n '--_progress-fraction': fractionValue,\n '--_transition-duration': `${this.animationDuration}ms`,\n };\n }\n\n protected renderLabel() {\n const parts = {\n label: true,\n value: true,\n fraction: this._hasFraction,\n };\n\n return this.labelFormat\n ? html`<span part=${partMap(parts)}>${this.renderLabelFormat()}</span>`\n : html`<span part=${partMap({ ...parts, counter: true })}></span>`;\n }\n\n protected renderLabelFormat() {\n return formatString(this.labelFormat, this.value, this.max);\n }\n\n protected renderDefaultSlot() {\n const hideDefaultLabel =\n this.indeterminate || this.hideLabel || !isEmpty(this._assignedElements);\n\n return html`\n <slot part=\"label\"></slot>\n ${hideDefaultLabel ? nothing : this.renderLabel()}\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../src/components/progress/base.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EACL,QAAQ,EACR,KAAK,EACL,qBAAqB,EACrB,KAAK,GACN,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,sBAAsB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAG5E,MAAM,OAAgB,wBAAyB,SAAQ,UAAU;IAAjE;;QACmB,eAAU,GAAG,sBAAsB,CAAC,IAAI,EAAE;YACzD,WAAW,EAAE;gBACX,IAAI,EAAE,aAAa;gBACnB,YAAY,EAAE,GAAG;gBACjB,YAAY,EAAE,GAAG;aAClB;SACF,CAAC,CAAC;QASO,gBAAW,GAAG,CAAC,CAAC;QAGhB,cAAS,GAAG,CAAC,CAAC;QAGd,iBAAY,GAAG,KAAK,CAAC;QAGrB,eAAU,GAAc;YAChC,mBAAmB,EAAE,MAAM;YAC3B,qBAAqB,EAAE,GAAG;YAC1B,sBAAsB,EAAE,GAAG;YAC3B,wBAAwB,EAAE,KAAK;SAChC,CAAC;QAOK,QAAG,GAAG,GAAG,CAAC;QAOV,UAAK,GAAG,CAAC,CAAC;QAOV,YAAO,GAAiB,SAAS,CAAC;QAOlC,sBAAiB,GAAG,GAAG,CAAC;QAOxB,kBAAa,GAAG,KAAK,CAAC;QAOtB,cAAS,GAAG,KAAK,CAAC;IAkG3B,CAAC;IArFW,mBAAmB;QAC3B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAGS,SAAS;QACjB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC;QACxB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAGS,WAAW;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAE5C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAEkB,gBAAgB;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC;IACd,CAAC;IAEkB,OAAO;QACxB,IAAI,CAAC,WAAW,EAAE,CAAC;IACrB,CAAC;IAEO,WAAW;QACjB,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,CAAC;QAE5E,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACtB,YAAY,EAAE,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE;YACjC,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC/D,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;SAChD,CAAC,CAAC;IACL,CAAC;IAEO,eAAe;QACrB,MAAM,UAAU,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,GAAG,aAAa,GAAG,CAAC,CAAC;QAEtC,IAAI,CAAC,UAAU,GAAG;YAChB,mBAAmB,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;YAC1C,qBAAqB,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC;YAC7C,sBAAsB,EAAE,aAAa;YACrC,wBAAwB,EAAE,GAAG,IAAI,CAAC,iBAAiB,IAAI;SACxD,CAAC;IACJ,CAAC;IAES,WAAW;QACnB,MAAM,KAAK,GAAG;YACZ,KAAK,EAAE,IAAI;YACX,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,IAAI,CAAC,YAAY;SAC5B,CAAC;QAEF,OAAO,IAAI,CAAC,WAAW;YACrB,CAAC,CAAC,IAAI,CAAA,cAAc,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,iBAAiB,EAAE,SAAS;YACvE,CAAC,CAAC,IAAI,CAAA,cAAc,OAAO,CAAC,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,UAAU,CAAC;IACvE,CAAC;IAES,iBAAiB;QACzB,OAAO,YAAY,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9D,CAAC;IAES,iBAAiB;QACzB,MAAM,gBAAgB,GACpB,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE3E,OAAO,IAAI,CAAA;;QAEP,gBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE;KAClD,CAAC;IACJ,CAAC;CACF;AAhKW;IADT,qBAAqB,EAAE;mEACoB;AAGlC;IADT,KAAK,CAAC,eAAe,EAAE,IAAI,CAAC;uDACC;AAGpB;IADT,KAAK,EAAE;6DACkB;AAGhB;IADT,KAAK,EAAE;2DACgB;AAGd;IADT,KAAK,EAAE;8DACuB;AAGrB;IADT,KAAK,EAAE;4DAMN;AAOK;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;qDACV;AAOV;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;uDACV;AAOV;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;yDACa;AAOlC;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,CAAC;mEAC7B;AAOxB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;+DACf;AAOtB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;2DAC5C;AAUlB;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,CAAC;6DACZ;AAGlB;IADT,KAAK,CAAC,eAAe,CAAC;mEAKtB;AAGS;IADT,KAAK,CAAC,KAAK,CAAC;yDAUZ;AAGS;IADT,KAAK,CAAC,OAAO,CAAC;2DAOd","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport type { StyleInfo } from 'lit/directives/style-map.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { partMap } from '../common/part-map.js';\nimport { asPercent, clamp, formatString, isEmpty } from '../common/util.js';\nimport type { StyleVariant } from '../types.js';\n\nexport abstract class IgcProgressBaseComponent extends LitElement {\n private readonly _internals = addInternalsController(this, {\n initialARIA: {\n role: 'progressbar',\n ariaValueMin: '0',\n ariaValueNow: '0',\n },\n });\n\n @queryAssignedElements()\n protected _assignedElements!: HTMLElement[];\n\n @query('[part=\"base\"]', true)\n protected _base!: HTMLElement;\n\n @state()\n protected _percentage = 0;\n\n @state()\n protected _progress = 0;\n\n @state()\n protected _hasFraction = false;\n\n @state()\n protected _styleInfo: StyleInfo = {\n '--_progress-whole': '0.00',\n '--_progress-integer': '0',\n '--_progress-fraction': '0',\n '--_transition-duration': '0ms',\n };\n\n /**\n * Maximum value of the control.\n * @attr\n */\n @property({ type: Number })\n public max = 100;\n\n /**\n * The value of the control.\n * @attr\n */\n @property({ type: Number })\n public value = 0;\n\n /**\n * The variant of the control.\n * @attr\n */\n @property({ reflect: true })\n public variant: StyleVariant = 'primary';\n\n /**\n * Animation duration in milliseconds.\n * @attr animation-duration\n */\n @property({ type: Number, attribute: 'animation-duration' })\n public animationDuration = 500;\n\n /**\n * The indeterminate state of the control.\n * @attr\n */\n @property({ type: Boolean, reflect: false })\n public indeterminate = false;\n\n /**\n * Shows/hides the label of the control.\n * @attr hide-label\n */\n @property({ type: Boolean, attribute: 'hide-label', reflect: false })\n public hideLabel = false;\n\n /**\n * Format string for the default label of the control.\n * Placeholders:\n * {0} - current value of the control.\n * {1} - max value of the control.\n * @attr label-format\n */\n @property({ attribute: 'label-format' })\n public labelFormat!: string;\n\n @watch('indeterminate')\n protected indeterminateChange() {\n if (!this.indeterminate) {\n this._updateProgress();\n }\n }\n\n @watch('max')\n protected maxChange() {\n this.max = Math.max(0, this.max);\n if (this.value > this.max) {\n this.value = this.max;\n }\n\n if (!this.indeterminate) {\n this._updateProgress();\n }\n }\n\n @watch('value')\n protected valueChange() {\n this.value = clamp(this.value, 0, this.max);\n\n if (!this.indeterminate) {\n this._updateProgress();\n }\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this.requestUpdate());\n return root;\n }\n\n protected override updated() {\n this._updateARIA();\n }\n\n private _updateARIA() {\n const text = this.labelFormat ? this.renderLabelFormat() : `${this.value}%`;\n\n this._internals.setARIA({\n ariaValueMax: this.max.toString(),\n ariaValueNow: this.indeterminate ? null : this.value.toString(),\n ariaValueText: this.indeterminate ? null : text,\n });\n }\n\n private _updateProgress() {\n const percentage = asPercent(this.value, Math.max(1, this.max));\n const fractionValue = Math.round((percentage % 1) * 100);\n this._hasFraction = fractionValue > 0;\n\n this._styleInfo = {\n '--_progress-whole': percentage.toFixed(2),\n '--_progress-integer': Math.floor(percentage),\n '--_progress-fraction': fractionValue,\n '--_transition-duration': `${this.animationDuration}ms`,\n };\n }\n\n protected renderLabel() {\n const parts = {\n label: true,\n value: true,\n fraction: this._hasFraction,\n };\n\n return this.labelFormat\n ? html`<span part=${partMap(parts)}>${this.renderLabelFormat()}</span>`\n : html`<span part=${partMap({ ...parts, counter: true })}></span>`;\n }\n\n protected renderLabelFormat() {\n return formatString(this.labelFormat, this.value, this.max);\n }\n\n protected renderDefaultSlot() {\n const hideDefaultLabel =\n this.indeterminate || this.hideLabel || !isEmpty(this._assignedElements);\n\n return html`\n <slot part=\"label\"></slot>\n ${hideDefaultLabel ? nothing : this.renderLabel()}\n `;\n }\n}\n"]}
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  var IgcRadioComponent_1;
8
- import { LitElement, html } from 'lit';
8
+ import { html, LitElement } from 'lit';
9
9
  import { property, query, queryAssignedNodes, state } from 'lit/decorators.js';
10
10
  import { ifDefined } from 'lit/directives/if-defined.js';
11
11
  import { live } from 'lit/directives/live.js';
@@ -1 +1 @@
1
- {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../src/components/radio/radio.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, type TemplateResult, html } from 'lit';\nimport { property, query, queryAssignedNodes, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { addKeyboardFocusRing } from '../common/controllers/focus-ring.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n} from '../common/controllers/key-bindings.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedCheckboxRequiredMixin } from '../common/mixins/forms/associated-required.js';\nimport {\n type FormValueOf,\n createFormValueState,\n defaultBooleanTransformers,\n} from '../common/mixins/forms/form-value.js';\nimport { partMap } from '../common/part-map.js';\nimport {\n createCounter,\n isDefined,\n isEmpty,\n isLTR,\n last,\n wrap,\n} from '../common/util.js';\nimport type { ToggleLabelPosition } from '../types.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { styles } from './themes/radio.base.css.js';\nimport { styles as shared } from './themes/shared/radio.common.css.js';\nimport { all } from './themes/themes.js';\nimport { getGroup } from './utils.js';\nimport { radioValidators } from './validators.js';\n\nexport interface IgcRadioChangeEventArgs {\n checked: boolean;\n value?: string;\n}\n\nexport interface IgcRadioComponentEventMap {\n igcChange: CustomEvent<IgcRadioChangeEventArgs>;\n // For analyzer meta only:\n /* skipWCPrefix */\n focus: FocusEvent;\n /* skipWCPrefix */\n blur: FocusEvent;\n}\n\n/**\n * @element igc-radio\n *\n * @slot - The radio label.\n * @slot helper-text - Renders content below the input.\n * @slot value-missing - Renders content when the required validation fails.\n * @slot custom-error - Renders content when setCustomValidity(message) is set.\n * @slot invalid - Renders content when the component is in invalid state (validity.valid = false).\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n *\n * @csspart base - The radio control base wrapper.\n * @csspart control - The radio input control.\n * @csspart label - The radio control label.\n */\n@themes(all)\nexport default class IgcRadioComponent extends FormAssociatedCheckboxRequiredMixin(\n EventEmitterMixin<IgcRadioComponentEventMap, Constructor<LitElement>>(\n LitElement\n )\n) {\n public static readonly tagName = 'igc-radio';\n protected static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcRadioComponent, IgcValidationContainerComponent);\n }\n\n private static readonly increment = createCounter();\n\n protected override get __validators() {\n return radioValidators;\n }\n\n protected override readonly _formValue: FormValueOf<boolean> =\n createFormValueState(this, {\n initialValue: false,\n transformers: defaultBooleanTransformers,\n });\n\n private readonly _inputId = `radio-${IgcRadioComponent.increment()}`;\n private readonly _labelId = `radio-label-${this._inputId}`;\n private readonly _focusRingManager = addKeyboardFocusRing(this);\n\n protected _value!: string;\n\n @query('input', true)\n protected readonly _input!: HTMLInputElement;\n\n @queryAssignedNodes({ flatten: true })\n protected readonly _label!: Array<Node>;\n\n @state()\n protected _hideLabel = false;\n\n @state()\n private _tabIndex = 0;\n\n /** Returns all radio elements from the group, that is having the same name property. */\n private get _radios() {\n return getGroup(this).radios;\n }\n\n /** All sibling radio elements of the one invoking the getter. */\n private get _siblings() {\n return getGroup(this).siblings;\n }\n\n /** All non-disabled radio elements from the group. */\n private get _active() {\n return getGroup(this).active;\n }\n\n /** All checked radio elements from the group. */\n private get _checkedRadios() {\n return getGroup(this).checked;\n }\n\n @property({ type: Boolean, reflect: true })\n public override set required(value: boolean) {\n super.required = value;\n\n if (this.hasUpdated) {\n for (const radio of this._siblings) {\n radio._validate();\n }\n }\n }\n\n public override get required(): boolean {\n return this._required;\n }\n\n /**\n * The value attribute of the control.\n * @attr\n */\n @property()\n public set value(value: string) {\n this._value = value;\n if (this.checked) {\n this._setFormValue(this._value || 'on');\n }\n }\n\n public get value(): string {\n return this._value;\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail.checked\", false) */\n /**\n * The checked state of the control.\n * @attr\n */\n @property({ type: Boolean })\n public set checked(value: boolean) {\n this._formValue.setValueAndFormState(value);\n this._tabIndex = this.checked ? 0 : -1;\n this._validate();\n if (this.hasUpdated && this.checked) {\n this._updateCheckedState();\n }\n }\n\n public get checked(): boolean {\n return this._formValue.value;\n }\n\n /**\n * The label position of the radio control.\n * @attr label-position\n */\n @property({ reflect: true, attribute: 'label-position' })\n public labelPosition: ToggleLabelPosition = 'after';\n\n constructor() {\n super();\n\n addKeybindings(this, {\n skip: () => this.disabled,\n bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },\n })\n .set(arrowLeft, () => this._navigate(isLTR(this) ? -1 : 1))\n .set(arrowRight, () => this._navigate(isLTR(this) ? 1 : -1))\n .set(arrowUp, () => this._navigate(-1))\n .set(arrowDown, () => this._navigate(1));\n }\n\n protected override createRenderRoot(): HTMLElement | DocumentFragment {\n const root = super.createRenderRoot();\n this._hideLabel = isEmpty(this._label);\n\n root.addEventListener('slotchange', () => {\n this._hideLabel = isEmpty(this._label);\n });\n return root;\n }\n\n protected override async firstUpdated(): Promise<void> {\n await this.updateComplete;\n\n if (this.checked && this === last(this._checkedRadios)) {\n for (const radio of this._siblings) {\n radio.checked = false;\n radio.defaultChecked = false;\n }\n } else {\n this._updateValidity();\n }\n }\n\n protected override _setDefaultValue(current: string | null): void {\n this._formValue.defaultValue = isDefined(current);\n for (const radio of this._siblings) {\n radio.defaultChecked = false;\n }\n }\n\n /** Simulates a click on the radio control. */\n public override click(): void {\n this._input.click();\n }\n\n /* alternateName: focusComponent */\n /** Sets focus on the radio control. */\n public override focus(options?: FocusOptions): void {\n this._input.focus(options);\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the radio control. */\n public override blur(): void {\n this._input.blur();\n }\n\n private _checkValidity(): boolean {\n return super.checkValidity();\n }\n\n private _reportValidity(): boolean {\n return super.reportValidity();\n }\n\n /** Checks for validity of the control and emits the invalid event if it invalid. */\n public override checkValidity(): boolean {\n for (const radio of this._siblings) {\n radio._checkValidity();\n }\n\n return this._checkValidity();\n }\n\n /** Checks for validity of the control and shows the browser message if it invalid. */\n public override reportValidity(): boolean {\n for (const radio of this._siblings) {\n radio._reportValidity();\n }\n\n return this._reportValidity();\n }\n\n /**\n * Sets a custom validation message for the control.\n * As long as `message` is not empty, the control is considered invalid.\n */\n public override setCustomValidity(message: string): void {\n for (const radio of this._radios) {\n radio._validate(message);\n }\n }\n\n private _updateCheckedState(): void {\n for (const radio of this._siblings) {\n radio.checked = false;\n }\n }\n\n protected override formResetCallback(): void {\n super.formResetCallback();\n this._resetTabIndexes();\n }\n\n /** Called after a form reset callback to restore default keyboard navigation. */\n private _resetTabIndexes(): void {\n const radios = this._radios;\n\n if (isEmpty(this._checkedRadios)) {\n for (const radio of radios) {\n radio._tabIndex = 0;\n }\n } else {\n for (const radio of radios) {\n radio._tabIndex = radio.checked ? 0 : -1;\n }\n }\n }\n\n protected _handleClick(event: PointerEvent) {\n event.stopPropagation();\n\n if (this.checked) {\n return;\n }\n\n this.checked = true;\n this._input.focus();\n this.emitEvent('igcChange', {\n detail: {\n checked: this.checked,\n value: this.value,\n },\n });\n }\n\n protected _navigate(idx: number): void {\n const active = this._active;\n const next = wrap(0, active.length - 1, active.indexOf(this) + idx);\n const radio = active[next];\n\n radio.focus();\n radio.checked = true;\n radio.emitEvent('igcChange', {\n detail: { checked: radio.checked, value: radio.value },\n });\n }\n\n protected _renderValidatorContainer(): TemplateResult {\n return IgcValidationContainerComponent.create(this);\n }\n\n protected override render() {\n const labelledBy = this.getAttribute('aria-labelledby');\n const checked = this.checked;\n\n return html`\n <label\n part=${partMap({\n base: true,\n checked,\n focused: this._focusRingManager.focused,\n })}\n for=${this._inputId}\n >\n <input\n id=${this._inputId}\n type=\"radio\"\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n .required=${this.required}\n .disabled=${this.disabled}\n .checked=${live(checked)}\n tabindex=${this._tabIndex}\n aria-checked=${checked}\n aria-disabled=${this.disabled}\n aria-labelledby=${labelledBy ? labelledBy : this._labelId}\n @click=${this._handleClick}\n />\n <span part=${partMap({ control: true, checked })}>\n <span\n .hidden=${this.disabled}\n part=${partMap({ ripple: true, checked })}\n ></span>\n </span>\n <span\n .hidden=${this._hideLabel}\n part=${partMap({ label: true, checked })}\n id=${this._labelId}\n >\n <slot></slot>\n </span>\n </label>\n ${this._renderValidatorContainer()}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-radio': IgcRadioComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"radio.js","sourceRoot":"","sources":["../../../src/components/radio/radio.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAE9C,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EACL,cAAc,EACd,SAAS,EACT,SAAS,EACT,UAAU,EACV,OAAO,GACR,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,mCAAmC,EAAE,MAAM,+CAA+C,CAAC;AACpG,OAAO,EACL,oBAAoB,EACpB,0BAA0B,GAE3B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EACL,aAAa,EACb,SAAS,EACT,OAAO,EACP,KAAK,EACL,IAAI,EACJ,IAAI,GACL,MAAM,mBAAmB,CAAC;AAE3B,OAAO,+BAA+B,MAAM,iDAAiD,CAAC;AAC9F,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,qCAAqC,CAAC;AACvE,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAgCnC,IAAM,iBAAiB,yBAAvB,MAAM,iBAAkB,SAAQ,mCAAmC,CAChF,iBAAiB,CACf,UAAU,CACX,CACF;IAKQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,mBAAiB,EAAE,+BAA+B,CAAC,CAAC;IACxE,CAAC;IAID,IAAuB,YAAY;QACjC,OAAO,eAAe,CAAC;IACzB,CAAC;IA2BD,IAAY,OAAO;QACjB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC/B,CAAC;IAGD,IAAY,SAAS;QACnB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC;IACjC,CAAC;IAGD,IAAY,OAAO;QACjB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;IAC/B,CAAC;IAGD,IAAY,cAAc;QACxB,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC;IAChC,CAAC;IAGD,IAAoB,QAAQ,CAAC,KAAc;QACzC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;QAEvB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnC,KAAK,CAAC,SAAS,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAoB,QAAQ;QAC1B,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAOD,IAAW,KAAK,CAAC,KAAa;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAQD,IAAW,OAAO,CAAC,KAAc;QAC/B,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAC/B,CAAC;IASD;QACE,KAAK,EAAE,CAAC;QAtGkB,eAAU,GACpC,oBAAoB,CAAC,IAAI,EAAE;YACzB,YAAY,EAAE,KAAK;YACnB,YAAY,EAAE,0BAA0B;SACzC,CAAC,CAAC;QAEY,aAAQ,GAAG,SAAS,mBAAiB,CAAC,SAAS,EAAE,EAAE,CAAC;QACpD,aAAQ,GAAG,eAAe,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC1C,sBAAiB,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAWtD,eAAU,GAAG,KAAK,CAAC;QAGrB,cAAS,GAAG,CAAC,CAAC;QA6Ef,kBAAa,GAAwB,OAAO,CAAC;QAKlD,cAAc,CAAC,IAAI,EAAE;YACnB,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,QAAQ;YACzB,eAAe,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,eAAe,CAAC,EAAE;SACvE,CAAC;aACC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC1D,GAAG,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3D,GAAG,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;aACtC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAEkB,gBAAgB;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,GAAG,EAAE;YACvC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAEkB,KAAK,CAAC,YAAY;QACnC,MAAM,IAAI,CAAC,cAAc,CAAC;QAE1B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACvD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;gBACnC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;gBACtB,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;YAC/B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;IAEkB,gBAAgB,CAAC,OAAsB;QACxD,IAAI,CAAC,UAAU,CAAC,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAClD,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;QAC/B,CAAC;IACH,CAAC;IAGe,KAAK;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAIe,KAAK,CAAC,OAAsB;QAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAIe,IAAI;QAClB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IAEO,cAAc;QACpB,OAAO,KAAK,CAAC,aAAa,EAAE,CAAC;IAC/B,CAAC;IAEO,eAAe;QACrB,OAAO,KAAK,CAAC,cAAc,EAAE,CAAC;IAChC,CAAC;IAGe,aAAa;QAC3B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,cAAc,EAAE,CAAC;QACzB,CAAC;QAED,OAAO,IAAI,CAAC,cAAc,EAAE,CAAC;IAC/B,CAAC;IAGe,cAAc;QAC5B,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,eAAe,EAAE,CAAC;QAC1B,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;IAChC,CAAC;IAMe,iBAAiB,CAAC,OAAe;QAC/C,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAEO,mBAAmB;QACzB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;QACxB,CAAC;IACH,CAAC;IAEkB,iBAAiB;QAClC,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAGO,gBAAgB;QACtB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAE5B,IAAI,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACjC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;YACtB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;IACH,CAAC;IAES,YAAY,CAAC,KAAmB;QACxC,KAAK,CAAC,eAAe,EAAE,CAAC;QAExB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACpB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YAC1B,MAAM,EAAE;gBACN,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB;SACF,CAAC,CAAC;IACL,CAAC;IAES,SAAS,CAAC,GAAW;QAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC;QACpE,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAE3B,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;QACrB,KAAK,CAAC,SAAS,CAAC,WAAW,EAAE;YAC3B,MAAM,EAAE,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE;SACvD,CAAC,CAAC;IACL,CAAC;IAES,yBAAyB;QACjC,OAAO,+BAA+B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEkB,MAAM;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC;QACxD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAE7B,OAAO,IAAI,CAAA;;eAEA,OAAO,CAAC;YACb,IAAI,EAAE,IAAI;YACV,OAAO;YACP,OAAO,EAAE,IAAI,CAAC,iBAAiB,CAAC,OAAO;SACxC,CAAC;cACI,IAAI,CAAC,QAAQ;;;eAGZ,IAAI,CAAC,QAAQ;;iBAEX,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;kBACnB,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;sBACjB,IAAI,CAAC,QAAQ;sBACb,IAAI,CAAC,QAAQ;qBACd,IAAI,CAAC,OAAO,CAAC;qBACb,IAAI,CAAC,SAAS;yBACV,OAAO;0BACN,IAAI,CAAC,QAAQ;4BACX,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ;mBAChD,IAAI,CAAC,YAAY;;qBAEf,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;sBAElC,IAAI,CAAC,QAAQ;mBAChB,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;;;;oBAIjC,IAAI,CAAC,UAAU;iBAClB,OAAO,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;eACnC,IAAI,CAAC,QAAQ;;;;;QAKpB,IAAI,CAAC,yBAAyB,EAAE;KACnC,CAAC;IACJ,CAAC;;AAzTsB,yBAAO,GAAG,WAAW,AAAd,CAAe;AAC5B,wBAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAOnB,2BAAS,GAAG,aAAa,EAAE,AAAlB,CAAmB;AAmBjC;IADlB,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC;iDACwB;AAG1B;IADlB,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDACE;AAG9B;IADT,KAAK,EAAE;qDACqB;AAGrB;IADP,KAAK,EAAE;oDACc;AAuBtB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;iDAS1C;AAWD;IADC,QAAQ,EAAE;8CAMV;AAYD;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDAQ3B;AAWM;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,gBAAgB,EAAE,CAAC;wDACL;AAtHjC,iBAAiB;IADrC,MAAM,CAAC,GAAG,CAAC;GACS,iBAAiB,CA+TrC;eA/ToB,iBAAiB","sourcesContent":["import { html, LitElement, type TemplateResult } from 'lit';\nimport { property, query, queryAssignedNodes, state } from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\n\nimport { themes } from '../../theming/theming-decorator.js';\nimport { addKeyboardFocusRing } from '../common/controllers/focus-ring.js';\nimport {\n addKeybindings,\n arrowDown,\n arrowLeft,\n arrowRight,\n arrowUp,\n} from '../common/controllers/key-bindings.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedCheckboxRequiredMixin } from '../common/mixins/forms/associated-required.js';\nimport {\n createFormValueState,\n defaultBooleanTransformers,\n type FormValueOf,\n} from '../common/mixins/forms/form-value.js';\nimport { partMap } from '../common/part-map.js';\nimport {\n createCounter,\n isDefined,\n isEmpty,\n isLTR,\n last,\n wrap,\n} from '../common/util.js';\nimport type { ToggleLabelPosition } from '../types.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { styles } from './themes/radio.base.css.js';\nimport { styles as shared } from './themes/shared/radio.common.css.js';\nimport { all } from './themes/themes.js';\nimport { getGroup } from './utils.js';\nimport { radioValidators } from './validators.js';\n\nexport interface IgcRadioChangeEventArgs {\n checked: boolean;\n value?: string;\n}\n\nexport interface IgcRadioComponentEventMap {\n igcChange: CustomEvent<IgcRadioChangeEventArgs>;\n // For analyzer meta only:\n /* skipWCPrefix */\n focus: FocusEvent;\n /* skipWCPrefix */\n blur: FocusEvent;\n}\n\n/**\n * @element igc-radio\n *\n * @slot - The radio label.\n * @slot helper-text - Renders content below the input.\n * @slot value-missing - Renders content when the required validation fails.\n * @slot custom-error - Renders content when setCustomValidity(message) is set.\n * @slot invalid - Renders content when the component is in invalid state (validity.valid = false).\n *\n * @fires igcChange - Emitted when the control's checked state changes.\n *\n * @csspart base - The radio control base wrapper.\n * @csspart control - The radio input control.\n * @csspart label - The radio control label.\n */\n@themes(all)\nexport default class IgcRadioComponent extends FormAssociatedCheckboxRequiredMixin(\n EventEmitterMixin<IgcRadioComponentEventMap, Constructor<LitElement>>(\n LitElement\n )\n) {\n public static readonly tagName = 'igc-radio';\n protected static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcRadioComponent, IgcValidationContainerComponent);\n }\n\n private static readonly increment = createCounter();\n\n protected override get __validators() {\n return radioValidators;\n }\n\n protected override readonly _formValue: FormValueOf<boolean> =\n createFormValueState(this, {\n initialValue: false,\n transformers: defaultBooleanTransformers,\n });\n\n private readonly _inputId = `radio-${IgcRadioComponent.increment()}`;\n private readonly _labelId = `radio-label-${this._inputId}`;\n private readonly _focusRingManager = addKeyboardFocusRing(this);\n\n protected _value!: string;\n\n @query('input', true)\n protected readonly _input!: HTMLInputElement;\n\n @queryAssignedNodes({ flatten: true })\n protected readonly _label!: Array<Node>;\n\n @state()\n protected _hideLabel = false;\n\n @state()\n private _tabIndex = 0;\n\n /** Returns all radio elements from the group, that is having the same name property. */\n private get _radios() {\n return getGroup(this).radios;\n }\n\n /** All sibling radio elements of the one invoking the getter. */\n private get _siblings() {\n return getGroup(this).siblings;\n }\n\n /** All non-disabled radio elements from the group. */\n private get _active() {\n return getGroup(this).active;\n }\n\n /** All checked radio elements from the group. */\n private get _checkedRadios() {\n return getGroup(this).checked;\n }\n\n @property({ type: Boolean, reflect: true })\n public override set required(value: boolean) {\n super.required = value;\n\n if (this.hasUpdated) {\n for (const radio of this._siblings) {\n radio._validate();\n }\n }\n }\n\n public override get required(): boolean {\n return this._required;\n }\n\n /**\n * The value attribute of the control.\n * @attr\n */\n @property()\n public set value(value: string) {\n this._value = value;\n if (this.checked) {\n this._setFormValue(this._value || 'on');\n }\n }\n\n public get value(): string {\n return this._value;\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail.checked\", false) */\n /**\n * The checked state of the control.\n * @attr\n */\n @property({ type: Boolean })\n public set checked(value: boolean) {\n this._formValue.setValueAndFormState(value);\n this._tabIndex = this.checked ? 0 : -1;\n this._validate();\n if (this.hasUpdated && this.checked) {\n this._updateCheckedState();\n }\n }\n\n public get checked(): boolean {\n return this._formValue.value;\n }\n\n /**\n * The label position of the radio control.\n * @attr label-position\n */\n @property({ reflect: true, attribute: 'label-position' })\n public labelPosition: ToggleLabelPosition = 'after';\n\n constructor() {\n super();\n\n addKeybindings(this, {\n skip: () => this.disabled,\n bindingDefaults: { preventDefault: true, triggers: ['keydownRepeat'] },\n })\n .set(arrowLeft, () => this._navigate(isLTR(this) ? -1 : 1))\n .set(arrowRight, () => this._navigate(isLTR(this) ? 1 : -1))\n .set(arrowUp, () => this._navigate(-1))\n .set(arrowDown, () => this._navigate(1));\n }\n\n protected override createRenderRoot(): HTMLElement | DocumentFragment {\n const root = super.createRenderRoot();\n this._hideLabel = isEmpty(this._label);\n\n root.addEventListener('slotchange', () => {\n this._hideLabel = isEmpty(this._label);\n });\n return root;\n }\n\n protected override async firstUpdated(): Promise<void> {\n await this.updateComplete;\n\n if (this.checked && this === last(this._checkedRadios)) {\n for (const radio of this._siblings) {\n radio.checked = false;\n radio.defaultChecked = false;\n }\n } else {\n this._updateValidity();\n }\n }\n\n protected override _setDefaultValue(current: string | null): void {\n this._formValue.defaultValue = isDefined(current);\n for (const radio of this._siblings) {\n radio.defaultChecked = false;\n }\n }\n\n /** Simulates a click on the radio control. */\n public override click(): void {\n this._input.click();\n }\n\n /* alternateName: focusComponent */\n /** Sets focus on the radio control. */\n public override focus(options?: FocusOptions): void {\n this._input.focus(options);\n }\n\n /* alternateName: blurComponent */\n /** Removes focus from the radio control. */\n public override blur(): void {\n this._input.blur();\n }\n\n private _checkValidity(): boolean {\n return super.checkValidity();\n }\n\n private _reportValidity(): boolean {\n return super.reportValidity();\n }\n\n /** Checks for validity of the control and emits the invalid event if it invalid. */\n public override checkValidity(): boolean {\n for (const radio of this._siblings) {\n radio._checkValidity();\n }\n\n return this._checkValidity();\n }\n\n /** Checks for validity of the control and shows the browser message if it invalid. */\n public override reportValidity(): boolean {\n for (const radio of this._siblings) {\n radio._reportValidity();\n }\n\n return this._reportValidity();\n }\n\n /**\n * Sets a custom validation message for the control.\n * As long as `message` is not empty, the control is considered invalid.\n */\n public override setCustomValidity(message: string): void {\n for (const radio of this._radios) {\n radio._validate(message);\n }\n }\n\n private _updateCheckedState(): void {\n for (const radio of this._siblings) {\n radio.checked = false;\n }\n }\n\n protected override formResetCallback(): void {\n super.formResetCallback();\n this._resetTabIndexes();\n }\n\n /** Called after a form reset callback to restore default keyboard navigation. */\n private _resetTabIndexes(): void {\n const radios = this._radios;\n\n if (isEmpty(this._checkedRadios)) {\n for (const radio of radios) {\n radio._tabIndex = 0;\n }\n } else {\n for (const radio of radios) {\n radio._tabIndex = radio.checked ? 0 : -1;\n }\n }\n }\n\n protected _handleClick(event: PointerEvent) {\n event.stopPropagation();\n\n if (this.checked) {\n return;\n }\n\n this.checked = true;\n this._input.focus();\n this.emitEvent('igcChange', {\n detail: {\n checked: this.checked,\n value: this.value,\n },\n });\n }\n\n protected _navigate(idx: number): void {\n const active = this._active;\n const next = wrap(0, active.length - 1, active.indexOf(this) + idx);\n const radio = active[next];\n\n radio.focus();\n radio.checked = true;\n radio.emitEvent('igcChange', {\n detail: { checked: radio.checked, value: radio.value },\n });\n }\n\n protected _renderValidatorContainer(): TemplateResult {\n return IgcValidationContainerComponent.create(this);\n }\n\n protected override render() {\n const labelledBy = this.getAttribute('aria-labelledby');\n const checked = this.checked;\n\n return html`\n <label\n part=${partMap({\n base: true,\n checked,\n focused: this._focusRingManager.focused,\n })}\n for=${this._inputId}\n >\n <input\n id=${this._inputId}\n type=\"radio\"\n name=${ifDefined(this.name)}\n value=${ifDefined(this.value)}\n .required=${this.required}\n .disabled=${this.disabled}\n .checked=${live(checked)}\n tabindex=${this._tabIndex}\n aria-checked=${checked}\n aria-disabled=${this.disabled}\n aria-labelledby=${labelledBy ? labelledBy : this._labelId}\n @click=${this._handleClick}\n />\n <span part=${partMap({ control: true, checked })}>\n <span\n .hidden=${this.disabled}\n part=${partMap({ ripple: true, checked })}\n ></span>\n </span>\n <span\n .hidden=${this._hideLabel}\n part=${partMap({ label: true, checked })}\n id=${this._labelId}\n >\n <slot></slot>\n </span>\n </label>\n ${this._renderValidatorContainer()}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-radio': IgcRadioComponent;\n }\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/radio/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAyB,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAc9E,MAAM,UAAU,QAAQ,CAAC,MAAyB;IAChD,MAAM,MAAM,GAAqB;QAC/B,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;KACb,CAAC;IAIF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE3B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAwC;QACnD,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAChB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;KAC9D,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,SAAS,CAAoB,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;QAC1E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { type IterNodesOptions, getRoot, iterNodes } from '../common/util.js';\nimport type IgcRadioComponent from './radio.js';\n\ntype RadioQueryResult = {\n /** Radio components under the same group name */\n radios: IgcRadioComponent[];\n /** Radio components under the same group name that are not disabled */\n active: IgcRadioComponent[];\n /** Radio components under the same group name sans the radio member passed in `getGroup` */\n siblings: IgcRadioComponent[];\n /** Radio components under the same group name that are marked as checked */\n checked: IgcRadioComponent[];\n};\n\nexport function getGroup(member: IgcRadioComponent) {\n const result: RadioQueryResult = {\n active: [],\n checked: [],\n radios: [],\n siblings: [],\n };\n\n // No name property for the passed radio. Skip DOM search and return a group of one radio\n // with appropriate states.\n if (!member.name) {\n result.radios.push(member);\n\n if (member.checked) {\n result.checked.push(member);\n }\n\n if (!member.disabled) {\n result.active.push(member);\n }\n\n return result;\n }\n\n const options: IterNodesOptions<IgcRadioComponent> = {\n show: 'SHOW_ELEMENT',\n filter: (radio) =>\n radio.matches(member.tagName) && radio.name === member.name,\n };\n\n for (const each of iterNodes<IgcRadioComponent>(getRoot(member), options)) {\n result.radios.push(each);\n\n if (!each.disabled) {\n result.active.push(each);\n }\n\n if (each.checked) {\n result.checked.push(each);\n }\n\n if (each !== member) {\n result.siblings.push(each);\n }\n }\n\n return result;\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/radio/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAyB,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAc9E,MAAM,UAAU,QAAQ,CAAC,MAAyB;IAChD,MAAM,MAAM,GAAqB;QAC/B,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,EAAE;QACX,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE,EAAE;KACb,CAAC;IAIF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACjB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE3B,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,OAAO,GAAwC;QACnD,IAAI,EAAE,cAAc;QACpB,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAChB,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI;KAC9D,CAAC;IAEF,KAAK,MAAM,IAAI,IAAI,SAAS,CAAoB,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,EAAE,CAAC;QAC1E,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEzB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACnB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","sourcesContent":["import { getRoot, type IterNodesOptions, iterNodes } from '../common/util.js';\nimport type IgcRadioComponent from './radio.js';\n\ntype RadioQueryResult = {\n /** Radio components under the same group name */\n radios: IgcRadioComponent[];\n /** Radio components under the same group name that are not disabled */\n active: IgcRadioComponent[];\n /** Radio components under the same group name sans the radio member passed in `getGroup` */\n siblings: IgcRadioComponent[];\n /** Radio components under the same group name that are marked as checked */\n checked: IgcRadioComponent[];\n};\n\nexport function getGroup(member: IgcRadioComponent) {\n const result: RadioQueryResult = {\n active: [],\n checked: [],\n radios: [],\n siblings: [],\n };\n\n // No name property for the passed radio. Skip DOM search and return a group of one radio\n // with appropriate states.\n if (!member.name) {\n result.radios.push(member);\n\n if (member.checked) {\n result.checked.push(member);\n }\n\n if (!member.disabled) {\n result.active.push(member);\n }\n\n return result;\n }\n\n const options: IterNodesOptions<IgcRadioComponent> = {\n show: 'SHOW_ELEMENT',\n filter: (radio) =>\n radio.matches(member.tagName) && radio.name === member.name,\n };\n\n for (const each of iterNodes<IgcRadioComponent>(getRoot(member), options)) {\n result.radios.push(each);\n\n if (!each.disabled) {\n result.active.push(each);\n }\n\n if (each.checked) {\n result.checked.push(each);\n }\n\n if (each !== member) {\n result.siblings.push(each);\n }\n }\n\n return result;\n}\n"]}
@@ -11,8 +11,8 @@ export default class IgcRadioGroupComponent extends LitElement {
11
11
  static readonly tagName = "igc-radio-group";
12
12
  static styles: import("lit").CSSResult[];
13
13
  static register(): void;
14
+ private readonly _internals;
14
15
  private _defaultValue;
15
- private _internals;
16
16
  private _name;
17
17
  private _value;
18
18
  private _radios;
@@ -5,9 +5,10 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  var IgcRadioGroupComponent_1;
8
- import { LitElement, html } from 'lit';
8
+ import { html, LitElement } from 'lit';
9
9
  import { property, queryAssignedElements } from 'lit/decorators.js';
10
10
  import { themes } from '../../theming/theming-decorator.js';
11
+ import { addInternalsController } from '../common/controllers/internals.js';
11
12
  import { createMutationController } from '../common/controllers/mutation-observer.js';
12
13
  import { registerComponent } from '../common/definitions/register.js';
13
14
  import IgcRadioComponent from '../radio/radio.js';
@@ -45,17 +46,17 @@ let IgcRadioGroupComponent = IgcRadioGroupComponent_1 = class IgcRadioGroupCompo
45
46
  }
46
47
  _observerCallback() {
47
48
  const radios = Array.from(this._radios);
48
- const setState = (state, condition) => condition
49
- ? this._internals.states.add(state)
50
- : this._internals.states.delete(state);
51
- setState('disabled', radios.every((radio) => radio.disabled));
52
- setState('label-before', radios.some((radio) => radio.labelPosition === 'before'));
49
+ this._internals.setState('disabled', radios.every((radio) => radio.disabled));
50
+ this._internals.setState('label-before', radios.some((radio) => radio.labelPosition === 'before'));
53
51
  }
54
52
  constructor() {
55
53
  super();
54
+ this._internals = addInternalsController(this, {
55
+ initialARIA: {
56
+ role: 'radiogroup',
57
+ },
58
+ });
56
59
  this.alignment = 'vertical';
57
- this._internals = this.attachInternals();
58
- this._internals.role = 'radiogroup';
59
60
  createMutationController(this, {
60
61
  callback: this._observerCallback,
61
62
  filter: [IgcRadioComponent.tagName],
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { createMutationController } from '../common/controllers/mutation-observer.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcRadioComponent from '../radio/radio.js';\nimport type { ContentOrientation } from '../types.js';\nimport { styles } from './themes/radio-group.base.css.js';\nimport { styles as shared } from './themes/shared/radio-group.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * The igc-radio-group component unifies one or more igc-radio buttons.\n *\n * @element igc-radio-group\n *\n * @slot - Default slot\n */\n@themes(all)\nexport default class IgcRadioGroupComponent extends LitElement {\n public static readonly tagName = 'igc-radio-group';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcRadioGroupComponent, IgcRadioComponent);\n }\n\n private _defaultValue!: string;\n private _internals: ElementInternals;\n private _name!: string;\n private _value!: string;\n\n @queryAssignedElements({ selector: 'igc-radio', flatten: true })\n private _radios!: NodeListOf<IgcRadioComponent>;\n\n /**\n * Alignment of the radio controls inside this group.\n * @attr\n */\n @property({ reflect: true })\n public alignment: ContentOrientation = 'vertical';\n\n /* blazorCSSuppress */\n @property({ attribute: false })\n public set defaultValue(value: string) {\n this._defaultValue = value;\n this._setRadiosDefaultChecked();\n }\n\n public get defaultValue(): string {\n return this._defaultValue;\n }\n\n /**\n * Gets/Sets the name for all child igc-radio components.\n * @attr\n */\n @property({ reflect: true })\n public set name(value: string) {\n this._name = value;\n this._setRadiosName();\n }\n\n public get name(): string {\n return this._name;\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail.value\", false) */\n /**\n * Gets/Sets the checked igc-radio element that matches `value`\n * @attr\n */\n @property()\n public set value(value: string) {\n this._value = value;\n this._setSelectedRadio();\n }\n\n public get value(): string {\n if (this._radios.length) {\n this._value =\n Array.from(this._radios).find((radio) => radio.checked)?.value ?? '';\n }\n\n return this._value;\n }\n\n private _observerCallback() {\n const radios = Array.from(this._radios);\n const setState = (state: string, condition: boolean) =>\n condition\n ? this._internals.states.add(state)\n : this._internals.states.delete(state);\n\n setState(\n 'disabled',\n radios.every((radio) => radio.disabled)\n );\n setState(\n 'label-before',\n radios.some((radio) => radio.labelPosition === 'before')\n );\n }\n\n constructor() {\n super();\n\n this._internals = this.attachInternals();\n this._internals.role = 'radiogroup';\n\n createMutationController(this, {\n callback: this._observerCallback,\n filter: [IgcRadioComponent.tagName],\n config: {\n attributeFilter: ['disabled', 'label-position'],\n subtree: true,\n },\n });\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this._setCSSGridVars());\n return root;\n }\n\n protected override firstUpdated() {\n const radios = Array.from(this._radios);\n const allRadiosUnchecked = radios.every((radio) => !radio.checked);\n\n this._setRadiosName();\n this._setRadiosDefaultChecked();\n\n if (allRadiosUnchecked && this._value) {\n this._setSelectedRadio();\n this._setDefaultValue();\n }\n }\n\n private _setCSSGridVars() {\n const slot = this.renderRoot.querySelector('slot');\n if (slot) {\n this.style.setProperty(\n '--layout-count',\n `${slot.assignedElements({ flatten: true }).length}`\n );\n }\n }\n\n private _setRadiosDefaultChecked() {\n if (this._defaultValue) {\n for (const radio of this._radios) {\n radio.defaultChecked = radio.value === this._defaultValue;\n }\n }\n }\n\n private _setRadiosName() {\n if (this._name) {\n for (const radio of this._radios) {\n radio.name = this._name;\n }\n }\n }\n\n private _setDefaultValue() {\n for (const radio of this._radios) {\n radio.toggleAttribute('checked', radio.checked);\n }\n }\n\n private _setSelectedRadio() {\n for (const radio of this._radios) {\n radio.checked = radio.value === this._value;\n }\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-radio-group': IgcRadioGroupComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"radio-group.js","sourceRoot":"","sources":["../../../src/components/radio-group/radio-group.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, LitElement } from 'lit';\nimport { property, queryAssignedElements } from 'lit/decorators.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { addInternalsController } from '../common/controllers/internals.js';\nimport { createMutationController } from '../common/controllers/mutation-observer.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport IgcRadioComponent from '../radio/radio.js';\nimport type { ContentOrientation } from '../types.js';\nimport { styles } from './themes/radio-group.base.css.js';\nimport { styles as shared } from './themes/shared/radio-group.common.css.js';\nimport { all } from './themes/themes.js';\n\n/**\n * The igc-radio-group component unifies one or more igc-radio buttons.\n *\n * @element igc-radio-group\n *\n * @slot - Default slot\n */\n@themes(all)\nexport default class IgcRadioGroupComponent extends LitElement {\n public static readonly tagName = 'igc-radio-group';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcRadioGroupComponent, IgcRadioComponent);\n }\n\n private readonly _internals = addInternalsController(this, {\n initialARIA: {\n role: 'radiogroup',\n },\n });\n\n private _defaultValue!: string;\n private _name!: string;\n private _value!: string;\n\n @queryAssignedElements({ selector: 'igc-radio', flatten: true })\n private _radios!: NodeListOf<IgcRadioComponent>;\n\n /**\n * Alignment of the radio controls inside this group.\n * @attr\n */\n @property({ reflect: true })\n public alignment: ContentOrientation = 'vertical';\n\n /* blazorCSSuppress */\n @property({ attribute: false })\n public set defaultValue(value: string) {\n this._defaultValue = value;\n this._setRadiosDefaultChecked();\n }\n\n public get defaultValue(): string {\n return this._defaultValue;\n }\n\n /**\n * Gets/Sets the name for all child igc-radio components.\n * @attr\n */\n @property({ reflect: true })\n public set name(value: string) {\n this._name = value;\n this._setRadiosName();\n }\n\n public get name(): string {\n return this._name;\n }\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail.value\", false) */\n /**\n * Gets/Sets the checked igc-radio element that matches `value`\n * @attr\n */\n @property()\n public set value(value: string) {\n this._value = value;\n this._setSelectedRadio();\n }\n\n public get value(): string {\n if (this._radios.length) {\n this._value =\n Array.from(this._radios).find((radio) => radio.checked)?.value ?? '';\n }\n\n return this._value;\n }\n\n private _observerCallback(): void {\n const radios = Array.from(this._radios);\n\n this._internals.setState(\n 'disabled',\n radios.every((radio) => radio.disabled)\n );\n\n this._internals.setState(\n 'label-before',\n radios.some((radio) => radio.labelPosition === 'before')\n );\n }\n\n constructor() {\n super();\n\n createMutationController(this, {\n callback: this._observerCallback,\n filter: [IgcRadioComponent.tagName],\n config: {\n attributeFilter: ['disabled', 'label-position'],\n subtree: true,\n },\n });\n }\n\n protected override createRenderRoot() {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', () => this._setCSSGridVars());\n return root;\n }\n\n protected override firstUpdated() {\n const radios = Array.from(this._radios);\n const allRadiosUnchecked = radios.every((radio) => !radio.checked);\n\n this._setRadiosName();\n this._setRadiosDefaultChecked();\n\n if (allRadiosUnchecked && this._value) {\n this._setSelectedRadio();\n this._setDefaultValue();\n }\n }\n\n private _setCSSGridVars() {\n const slot = this.renderRoot.querySelector('slot');\n if (slot) {\n this.style.setProperty(\n '--layout-count',\n `${slot.assignedElements({ flatten: true }).length}`\n );\n }\n }\n\n private _setRadiosDefaultChecked() {\n if (this._defaultValue) {\n for (const radio of this._radios) {\n radio.defaultChecked = radio.value === this._defaultValue;\n }\n }\n }\n\n private _setRadiosName() {\n if (this._name) {\n for (const radio of this._radios) {\n radio.name = this._name;\n }\n }\n }\n\n private _setDefaultValue() {\n for (const radio of this._radios) {\n radio.toggleAttribute('checked', radio.checked);\n }\n }\n\n private _setSelectedRadio() {\n for (const radio of this._radios) {\n radio.checked = radio.value === this._value;\n }\n }\n\n protected override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-radio-group': IgcRadioGroupComponent;\n }\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { LitElement, html } from 'lit';
1
+ import { html, LitElement } from 'lit';
2
2
  import { registerComponent } from '../common/definitions/register.js';
3
3
  import { styles } from './themes/rating-symbol.base.css.js';
4
4
  class IgcRatingSymbolComponent extends LitElement {
@@ -1 +1 @@
1
- {"version":3,"file":"rating-symbol.js","sourceRoot":"","sources":["../../../src/components/rating/rating-symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAe5D,MAAqB,wBAAyB,SAAQ,UAAU;IAKvD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAEe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;IACpC,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;;;;KAOV,CAAC;IACJ,CAAC;;AAtBsB,gCAAO,GAAG,mBAAmB,CAAC;AAC9B,+BAAM,GAAG,CAAC,MAAM,CAAC,CAAC;eAFtB,wBAAwB","sourcesContent":["import { LitElement, html } from 'lit';\n\nimport { registerComponent } from '../common/definitions/register.js';\nimport { styles } from './themes/rating-symbol.base.css.js';\n\n/**\n *\n * Used when a custom icon/symbol/element needs to be passed to the igc-rating component.\n *\n * @element igc-rating-symbol\n *\n * @slot - Default slot for projected full symbols/icons.\n * @slot empty - Default slot for projected empty symbols/icons.\n *\n * @csspart symbol - The symbol wrapping container.\n * @csspart full - The full symbol wrapping container.\n * @csspart empty - The empty symbol wrapping container.\n */\nexport default class IgcRatingSymbolComponent extends LitElement {\n public static readonly tagName = 'igc-rating-symbol';\n public static override styles = [styles];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcRatingSymbolComponent);\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.slot = this.slot || 'symbol';\n }\n\n protected override render() {\n return html`\n <div part=\"symbol full\">\n <slot></slot>\n </div>\n <div part=\"symbol empty\">\n <slot name=\"empty\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-rating-symbol': IgcRatingSymbolComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"rating-symbol.js","sourceRoot":"","sources":["../../../src/components/rating/rating-symbol.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAEvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAe5D,MAAqB,wBAAyB,SAAQ,UAAU;IAKvD,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,wBAAwB,CAAC,CAAC;IAC9C,CAAC;IAEe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC;IACpC,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;;;;;;KAOV,CAAC;IACJ,CAAC;;AAtBsB,gCAAO,GAAG,mBAAmB,CAAC;AAC9B,+BAAM,GAAG,CAAC,MAAM,CAAC,CAAC;eAFtB,wBAAwB","sourcesContent":["import { html, LitElement } from 'lit';\n\nimport { registerComponent } from '../common/definitions/register.js';\nimport { styles } from './themes/rating-symbol.base.css.js';\n\n/**\n *\n * Used when a custom icon/symbol/element needs to be passed to the igc-rating component.\n *\n * @element igc-rating-symbol\n *\n * @slot - Default slot for projected full symbols/icons.\n * @slot empty - Default slot for projected empty symbols/icons.\n *\n * @csspart symbol - The symbol wrapping container.\n * @csspart full - The full symbol wrapping container.\n * @csspart empty - The empty symbol wrapping container.\n */\nexport default class IgcRatingSymbolComponent extends LitElement {\n public static readonly tagName = 'igc-rating-symbol';\n public static override styles = [styles];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcRatingSymbolComponent);\n }\n\n public override connectedCallback() {\n super.connectedCallback();\n this.slot = this.slot || 'symbol';\n }\n\n protected override render() {\n return html`\n <div part=\"symbol full\">\n <slot></slot>\n </div>\n <div part=\"symbol empty\">\n <slot name=\"empty\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-rating-symbol': IgcRatingSymbolComponent;\n }\n}\n"]}
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  var IgcRatingComponent_1;
8
- import { LitElement, html, nothing } from 'lit';
8
+ import { html, LitElement, nothing } from 'lit';
9
9
  import { property, query, queryAssignedElements, queryAssignedNodes, state, } from 'lit/decorators.js';
10
10
  import { guard } from 'lit/directives/guard.js';
11
11
  import { ifDefined } from 'lit/directives/if-defined.js';