igniteui-webcomponents 6.0.1 → 6.1.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 (306) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/components/button/button-base.d.ts +5 -6
  3. package/components/button/button-base.js +15 -29
  4. package/components/button/button-base.js.map +1 -1
  5. package/components/button/themes/button/light/button.shared.css.js +1 -1
  6. package/components/button/themes/button/light/button.shared.css.js.map +1 -1
  7. package/components/button-group/toggle-button.d.ts +2 -2
  8. package/components/button-group/toggle-button.js +4 -6
  9. package/components/button-group/toggle-button.js.map +1 -1
  10. package/components/calendar/calendar.d.ts +1 -1
  11. package/components/calendar/calendar.js +12 -9
  12. package/components/calendar/calendar.js.map +1 -1
  13. package/components/calendar/days-view/days-view.d.ts +1 -1
  14. package/components/calendar/days-view/days-view.js +8 -9
  15. package/components/calendar/days-view/days-view.js.map +1 -1
  16. package/components/calendar/helpers.d.ts +12 -1
  17. package/components/calendar/helpers.js +35 -10
  18. package/components/calendar/helpers.js.map +1 -1
  19. package/components/calendar/model.d.ts +15 -1
  20. package/components/calendar/model.js +26 -5
  21. package/components/calendar/model.js.map +1 -1
  22. package/components/calendar/months-view/months-view.d.ts +1 -1
  23. package/components/calendar/months-view/months-view.js +6 -6
  24. package/components/calendar/months-view/months-view.js.map +1 -1
  25. package/components/calendar/years-view/years-view.d.ts +1 -1
  26. package/components/calendar/years-view/years-view.js +6 -6
  27. package/components/calendar/years-view/years-view.js.map +1 -1
  28. package/components/carousel/carousel-indicator-container.d.ts +2 -2
  29. package/components/carousel/carousel-indicator-container.js +8 -9
  30. package/components/carousel/carousel-indicator-container.js.map +1 -1
  31. package/components/carousel/carousel.d.ts +7 -8
  32. package/components/carousel/carousel.js +24 -20
  33. package/components/carousel/carousel.js.map +1 -1
  34. package/components/checkbox/checkbox-base.d.ts +8 -10
  35. package/components/checkbox/checkbox-base.js +20 -23
  36. package/components/checkbox/checkbox-base.js.map +1 -1
  37. package/components/checkbox/checkbox.d.ts +3 -3
  38. package/components/checkbox/checkbox.js +18 -19
  39. package/components/checkbox/checkbox.js.map +1 -1
  40. package/components/checkbox/switch.d.ts +2 -2
  41. package/components/checkbox/switch.js +15 -19
  42. package/components/checkbox/switch.js.map +1 -1
  43. package/components/chip/chip.js +3 -3
  44. package/components/chip/chip.js.map +1 -1
  45. package/components/combo/combo.d.ts +2 -2
  46. package/components/combo/combo.js +12 -11
  47. package/components/combo/combo.js.map +1 -1
  48. package/components/combo/themes/combo.base.css.js +1 -1
  49. package/components/combo/themes/combo.base.css.js.map +1 -1
  50. package/components/combo/themes/shared/combo.fluent.css.js +1 -1
  51. package/components/combo/themes/shared/combo.fluent.css.js.map +1 -1
  52. package/components/common/controllers/focus-ring.d.ts +21 -11
  53. package/components/common/controllers/focus-ring.js +16 -14
  54. package/components/common/controllers/focus-ring.js.map +1 -1
  55. package/components/common/controllers/key-bindings.d.ts +40 -33
  56. package/components/common/controllers/key-bindings.js +83 -71
  57. package/components/common/controllers/key-bindings.js.map +1 -1
  58. package/components/common/definitions/defineAllComponents.js +2 -0
  59. package/components/common/definitions/defineAllComponents.js.map +1 -1
  60. package/components/common/i18n/date-range-picker.resources.d.ts +11 -0
  61. package/components/common/i18n/date-range-picker.resources.js +12 -0
  62. package/components/common/i18n/date-range-picker.resources.js.map +1 -0
  63. package/components/common/mixins/combo-box.js +8 -2
  64. package/components/common/mixins/combo-box.js.map +1 -1
  65. package/components/common/mixins/forms/form-value.d.ts +15 -1
  66. package/components/common/mixins/forms/form-value.js +25 -4
  67. package/components/common/mixins/forms/form-value.js.map +1 -1
  68. package/components/common/mixins/option.d.ts +3 -2
  69. package/components/common/mixins/option.js.map +1 -1
  70. package/components/common/part-map.d.ts +17 -0
  71. package/components/common/part-map.js +46 -0
  72. package/components/common/part-map.js.map +1 -0
  73. package/components/common/util.d.ts +5 -6
  74. package/components/common/util.js +17 -22
  75. package/components/common/util.js.map +1 -1
  76. package/components/common/validators.js +3 -7
  77. package/components/common/validators.js.map +1 -1
  78. package/components/date-picker/date-picker.d.ts +3 -3
  79. package/components/date-picker/date-picker.js +13 -14
  80. package/components/date-picker/date-picker.js.map +1 -1
  81. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js +1 -1
  82. package/components/date-picker/themes/dark/date-picker.bootstrap.css.js.map +1 -1
  83. package/components/date-picker/themes/dark/date-picker.fluent.css.js +1 -1
  84. package/components/date-picker/themes/dark/date-picker.fluent.css.js.map +1 -1
  85. package/components/date-picker/themes/dark/date-picker.indigo.css.js +1 -1
  86. package/components/date-picker/themes/dark/date-picker.indigo.css.js.map +1 -1
  87. package/components/date-picker/themes/dark/date-picker.material.css.js +1 -1
  88. package/components/date-picker/themes/dark/date-picker.material.css.js.map +1 -1
  89. package/components/date-picker/themes/light/date-picker.bootstrap.css.js +1 -1
  90. package/components/date-picker/themes/light/date-picker.bootstrap.css.js.map +1 -1
  91. package/components/date-picker/themes/light/date-picker.fluent.css.js +1 -1
  92. package/components/date-picker/themes/light/date-picker.fluent.css.js.map +1 -1
  93. package/components/date-picker/themes/light/date-picker.indigo.css.js +1 -1
  94. package/components/date-picker/themes/light/date-picker.indigo.css.js.map +1 -1
  95. package/components/date-picker/themes/light/date-picker.material.css.js +1 -1
  96. package/components/date-picker/themes/light/date-picker.material.css.js.map +1 -1
  97. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js +1 -1
  98. package/components/date-picker/themes/shared/date-picker.bootstrap.css.js.map +1 -1
  99. package/components/date-picker/themes/shared/date-picker.common.css.js +1 -1
  100. package/components/date-picker/themes/shared/date-picker.common.css.js.map +1 -1
  101. package/components/date-picker/themes/shared/date-picker.fluent.css.js +1 -1
  102. package/components/date-picker/themes/shared/date-picker.fluent.css.js.map +1 -1
  103. package/components/date-picker/themes/shared/date-picker.indigo.css.js +1 -1
  104. package/components/date-picker/themes/shared/date-picker.indigo.css.js.map +1 -1
  105. package/components/date-picker/themes/shared/date-picker.material.css.d.ts +1 -0
  106. package/components/date-picker/themes/shared/date-picker.material.css.js +3 -0
  107. package/components/date-picker/themes/shared/date-picker.material.css.js.map +1 -0
  108. package/components/date-picker/themes/themes.js +3 -2
  109. package/components/date-picker/themes/themes.js.map +1 -1
  110. package/components/date-range-picker/date-range-picker.base.css.d.ts +1 -0
  111. package/components/date-range-picker/date-range-picker.base.css.js +3 -0
  112. package/components/date-range-picker/date-range-picker.base.css.js.map +1 -0
  113. package/components/date-range-picker/date-range-picker.d.ts +365 -0
  114. package/components/date-range-picker/date-range-picker.js +810 -0
  115. package/components/date-range-picker/date-range-picker.js.map +1 -0
  116. package/components/date-range-picker/predefined-ranges-area.base.css.d.ts +1 -0
  117. package/components/date-range-picker/predefined-ranges-area.base.css.js +3 -0
  118. package/components/date-range-picker/predefined-ranges-area.base.css.js.map +1 -0
  119. package/components/date-range-picker/predefined-ranges-area.d.ts +36 -0
  120. package/components/date-range-picker/predefined-ranges-area.js +115 -0
  121. package/components/date-range-picker/predefined-ranges-area.js.map +1 -0
  122. package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.d.ts +1 -0
  123. package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js +3 -0
  124. package/components/date-range-picker/themes/dark/date-range-picker.bootstrap.css.js.map +1 -0
  125. package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.d.ts +1 -0
  126. package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js +3 -0
  127. package/components/date-range-picker/themes/dark/date-range-picker.fluent.css.js.map +1 -0
  128. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.d.ts +1 -0
  129. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js +3 -0
  130. package/components/date-range-picker/themes/dark/date-range-picker.indigo.css.js.map +1 -0
  131. package/components/date-range-picker/themes/dark/date-range-picker.material.css.d.ts +1 -0
  132. package/components/date-range-picker/themes/dark/date-range-picker.material.css.js +3 -0
  133. package/components/date-range-picker/themes/dark/date-range-picker.material.css.js.map +1 -0
  134. package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.d.ts +1 -0
  135. package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.js +3 -0
  136. package/components/date-range-picker/themes/light/date-range-picker.bootstrap.css.js.map +1 -0
  137. package/components/date-range-picker/themes/light/date-range-picker.fluent.css.d.ts +1 -0
  138. package/components/date-range-picker/themes/light/date-range-picker.fluent.css.js +3 -0
  139. package/components/date-range-picker/themes/light/date-range-picker.fluent.css.js.map +1 -0
  140. package/components/date-range-picker/themes/light/date-range-picker.indigo.css.d.ts +1 -0
  141. package/components/date-range-picker/themes/light/date-range-picker.indigo.css.js +3 -0
  142. package/components/date-range-picker/themes/light/date-range-picker.indigo.css.js.map +1 -0
  143. package/components/date-range-picker/themes/light/date-range-picker.material.css.d.ts +1 -0
  144. package/components/date-range-picker/themes/light/date-range-picker.material.css.js +3 -0
  145. package/components/date-range-picker/themes/light/date-range-picker.material.css.js.map +1 -0
  146. package/components/date-range-picker/themes/light/date-range-picker.shared.css.d.ts +1 -0
  147. package/components/date-range-picker/themes/light/date-range-picker.shared.css.js +3 -0
  148. package/components/date-range-picker/themes/light/date-range-picker.shared.css.js.map +1 -0
  149. package/components/date-range-picker/themes/ranges-themes.d.ts +2 -0
  150. package/components/date-range-picker/themes/ranges-themes.js +14 -0
  151. package/components/date-range-picker/themes/ranges-themes.js.map +1 -0
  152. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.d.ts +1 -0
  153. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js +3 -0
  154. package/components/date-range-picker/themes/shared/date-range-picker.bootstrap.css.js.map +1 -0
  155. package/components/date-range-picker/themes/shared/date-range-picker.common.css.d.ts +1 -0
  156. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js +3 -0
  157. package/components/date-range-picker/themes/shared/date-range-picker.common.css.js.map +1 -0
  158. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.d.ts +1 -0
  159. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js +3 -0
  160. package/components/date-range-picker/themes/shared/date-range-picker.fluent.css.js.map +1 -0
  161. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.d.ts +1 -0
  162. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js +3 -0
  163. package/components/date-range-picker/themes/shared/date-range-picker.indigo.css.js.map +1 -0
  164. package/components/date-range-picker/themes/shared/date-range-picker.material.css.d.ts +1 -0
  165. package/components/date-range-picker/themes/shared/date-range-picker.material.css.js +3 -0
  166. package/components/date-range-picker/themes/shared/date-range-picker.material.css.js.map +1 -0
  167. package/components/date-range-picker/themes/shared/predefined-ranges-area.common.css.d.ts +1 -0
  168. package/components/date-range-picker/themes/shared/predefined-ranges-area.common.css.js +3 -0
  169. package/components/date-range-picker/themes/shared/predefined-ranges-area.common.css.js.map +1 -0
  170. package/components/date-range-picker/themes/shared/predefined-ranges-area.indigo.css.d.ts +1 -0
  171. package/components/date-range-picker/themes/shared/predefined-ranges-area.indigo.css.js +3 -0
  172. package/components/date-range-picker/themes/shared/predefined-ranges-area.indigo.css.js.map +1 -0
  173. package/components/date-range-picker/themes/themes.d.ts +2 -0
  174. package/components/date-range-picker/themes/themes.js +50 -0
  175. package/components/date-range-picker/themes/themes.js.map +1 -0
  176. package/components/date-range-picker/validators.d.ts +26 -0
  177. package/components/date-range-picker/validators.js +57 -0
  178. package/components/date-range-picker/validators.js.map +1 -0
  179. package/components/date-time-input/date-time-input.d.ts +2 -2
  180. package/components/date-time-input/date-time-input.js +7 -9
  181. package/components/date-time-input/date-time-input.js.map +1 -1
  182. package/components/date-time-input/date-util.d.ts +7 -0
  183. package/components/date-time-input/date-util.js +11 -0
  184. package/components/date-time-input/date-util.js.map +1 -1
  185. package/components/dialog/dialog.js +11 -10
  186. package/components/dialog/dialog.js.map +1 -1
  187. package/components/dialog/themes/dialog.base.css.js +1 -1
  188. package/components/dialog/themes/dialog.base.css.js.map +1 -1
  189. package/components/dialog/themes/shared/dialog.indigo.css.js +1 -1
  190. package/components/dialog/themes/shared/dialog.indigo.css.js.map +1 -1
  191. package/components/dropdown/dropdown.js.map +1 -1
  192. package/components/file-input/file-input.d.ts +11 -5
  193. package/components/file-input/file-input.js +23 -19
  194. package/components/file-input/file-input.js.map +1 -1
  195. package/components/file-input/themes/file-input.base.css.js +1 -1
  196. package/components/file-input/themes/file-input.base.css.js.map +1 -1
  197. package/components/input/input-base.d.ts +0 -1
  198. package/components/input/input-base.js +5 -4
  199. package/components/input/input-base.js.map +1 -1
  200. package/components/input/input.d.ts +2 -3
  201. package/components/input/input.js +10 -9
  202. package/components/input/input.js.map +1 -1
  203. package/components/input/themes/dark/input.bootstrap.css.js +1 -1
  204. package/components/input/themes/dark/input.bootstrap.css.js.map +1 -1
  205. package/components/input/themes/dark/input.indigo.css.js +1 -1
  206. package/components/input/themes/dark/input.indigo.css.js.map +1 -1
  207. package/components/input/themes/light/input.bootstrap.css.js +1 -1
  208. package/components/input/themes/light/input.bootstrap.css.js.map +1 -1
  209. package/components/input/themes/light/input.indigo.css.js +1 -1
  210. package/components/input/themes/light/input.indigo.css.js.map +1 -1
  211. package/components/input/themes/light/input.shared.css.js +1 -1
  212. package/components/input/themes/light/input.shared.css.js.map +1 -1
  213. package/components/input/themes/shared/input.bootstrap.css.js +1 -1
  214. package/components/input/themes/shared/input.bootstrap.css.js.map +1 -1
  215. package/components/input/themes/shared/input.common.css.js +1 -1
  216. package/components/input/themes/shared/input.common.css.js.map +1 -1
  217. package/components/input/themes/shared/input.fluent.css.js +1 -1
  218. package/components/input/themes/shared/input.fluent.css.js.map +1 -1
  219. package/components/input/themes/shared/input.indigo.css.js +1 -1
  220. package/components/input/themes/shared/input.indigo.css.js.map +1 -1
  221. package/components/input/themes/shared/input.material.css.js +1 -1
  222. package/components/input/themes/shared/input.material.css.js.map +1 -1
  223. package/components/mask-input/mask-input.d.ts +2 -3
  224. package/components/mask-input/mask-input.js +13 -12
  225. package/components/mask-input/mask-input.js.map +1 -1
  226. package/components/mask-input/mask-parser.d.ts +100 -14
  227. package/components/mask-input/mask-parser.js +134 -117
  228. package/components/mask-input/mask-parser.js.map +1 -1
  229. package/components/nav-drawer/nav-drawer-item.js +2 -6
  230. package/components/nav-drawer/nav-drawer-item.js.map +1 -1
  231. package/components/nav-drawer/nav-drawer.js +5 -6
  232. package/components/nav-drawer/nav-drawer.js.map +1 -1
  233. package/components/progress/base.js +6 -5
  234. package/components/progress/base.js.map +1 -1
  235. package/components/progress/circular-progress.js +7 -15
  236. package/components/progress/circular-progress.js.map +1 -1
  237. package/components/progress/linear-progress.js +5 -5
  238. package/components/progress/linear-progress.js.map +1 -1
  239. package/components/radio/radio.d.ts +11 -12
  240. package/components/radio/radio.js +39 -44
  241. package/components/radio/radio.js.map +1 -1
  242. package/components/radio/utils.js +6 -3
  243. package/components/radio/utils.js.map +1 -1
  244. package/components/rating/rating.d.ts +2 -2
  245. package/components/rating/rating.js +4 -4
  246. package/components/rating/rating.js.map +1 -1
  247. package/components/resize-container/resize-container.js +4 -4
  248. package/components/resize-container/resize-container.js.map +1 -1
  249. package/components/select/select.d.ts +2 -2
  250. package/components/select/select.js +11 -10
  251. package/components/select/select.js.map +1 -1
  252. package/components/select/themes/shared/select.fluent.css.js +1 -1
  253. package/components/select/themes/shared/select.fluent.css.js.map +1 -1
  254. package/components/slider/range-slider.js +1 -1
  255. package/components/slider/range-slider.js.map +1 -1
  256. package/components/slider/slider-base.js +1 -1
  257. package/components/slider/slider-base.js.map +1 -1
  258. package/components/slider/slider.d.ts +2 -3
  259. package/components/slider/slider.js +7 -7
  260. package/components/slider/slider.js.map +1 -1
  261. package/components/stepper/step.js +3 -3
  262. package/components/stepper/step.js.map +1 -1
  263. package/components/tabs/tabs.js +8 -6
  264. package/components/tabs/tabs.js.map +1 -1
  265. package/components/textarea/textarea.d.ts +2 -2
  266. package/components/textarea/textarea.js +7 -6
  267. package/components/textarea/textarea.js.map +1 -1
  268. package/components/textarea/themes/dark/textarea.bootstrap.css.js +1 -1
  269. package/components/textarea/themes/dark/textarea.bootstrap.css.js.map +1 -1
  270. package/components/textarea/themes/dark/textarea.indigo.css.js +1 -1
  271. package/components/textarea/themes/dark/textarea.indigo.css.js.map +1 -1
  272. package/components/textarea/themes/light/textarea.bootstrap.css.js +1 -1
  273. package/components/textarea/themes/light/textarea.bootstrap.css.js.map +1 -1
  274. package/components/textarea/themes/light/textarea.indigo.css.js +1 -1
  275. package/components/textarea/themes/light/textarea.indigo.css.js.map +1 -1
  276. package/components/textarea/themes/light/textarea.shared.css.js +1 -1
  277. package/components/textarea/themes/light/textarea.shared.css.js.map +1 -1
  278. package/components/textarea/themes/shared/textarea.bootstrap.css.js +1 -1
  279. package/components/textarea/themes/shared/textarea.bootstrap.css.js.map +1 -1
  280. package/components/textarea/themes/shared/textarea.fluent.css.js +1 -1
  281. package/components/textarea/themes/shared/textarea.fluent.css.js.map +1 -1
  282. package/components/textarea/themes/shared/textarea.indigo.css.js +1 -1
  283. package/components/textarea/themes/shared/textarea.indigo.css.js.map +1 -1
  284. package/components/textarea/themes/shared/textarea.material.css.js +1 -1
  285. package/components/textarea/themes/shared/textarea.material.css.js.map +1 -1
  286. package/components/textarea/themes/textarea.base.css.js +1 -1
  287. package/components/textarea/themes/textarea.base.css.js.map +1 -1
  288. package/components/tile-manager/tile-manager.js +5 -4
  289. package/components/tile-manager/tile-manager.js.map +1 -1
  290. package/components/tile-manager/tile.js +6 -5
  291. package/components/tile-manager/tile.js.map +1 -1
  292. package/components/tooltip/tooltip.d.ts +24 -9
  293. package/components/tooltip/tooltip.js +22 -19
  294. package/components/tooltip/tooltip.js.map +1 -1
  295. package/components/tree/tree-item.js +5 -3
  296. package/components/tree/tree-item.js.map +1 -1
  297. package/components/validation-container/validation-container.js +4 -11
  298. package/components/validation-container/validation-container.js.map +1 -1
  299. package/custom-elements.json +21432 -17768
  300. package/igniteui-webcomponents.css-data.json +1 -1
  301. package/igniteui-webcomponents.html-data.json +1 -1
  302. package/index.d.ts +4 -1
  303. package/index.js +1 -0
  304. package/index.js.map +1 -1
  305. package/package.json +3 -2
  306. package/web-types.json +2 -2
@@ -14,7 +14,7 @@ import { addAnimationController } from '../../animations/player.js';
14
14
  import { themes } from '../../theming/theming-decorator.js';
15
15
  import { watch } from '../common/decorators/watch.js';
16
16
  import { registerComponent } from '../common/definitions/register.js';
17
- import { partNameMap } from '../common/util.js';
17
+ import { partMap } from '../common/part-map.js';
18
18
  import { bodyAnimations, contentAnimations, } from './animations.js';
19
19
  import { styles as shared } from './themes/step/shared/step.common.css.js';
20
20
  import { styles } from './themes/step/step.base.css.js';
@@ -133,7 +133,7 @@ let IgcStepComponent = IgcStepComponent_1 = class IgcStepComponent extends LitEl
133
133
  }
134
134
  renderTitleAndSubtitle() {
135
135
  return html `
136
- <div part="${partNameMap(this.textParts)}">
136
+ <div part=${partMap(this.textParts)}>
137
137
  <div part="title">
138
138
  <slot name="title"></slot>
139
139
  </div>
@@ -159,7 +159,7 @@ let IgcStepComponent = IgcStepComponent_1 = class IgcStepComponent extends LitEl
159
159
  render() {
160
160
  return html `
161
161
  ${when(this.contentTop && this.orientation === 'horizontal', () => this.renderContent(), () => nothing)}
162
- <div part="${partNameMap(this.headerContainerParts)}">
162
+ <div part=${partMap(this.headerContainerParts)}>
163
163
  <div
164
164
  part="header"
165
165
  tabindex="${this.active ? '0' : '-1'}"
@@ -1 +1 @@
1
- {"version":3,"file":"step.js","sourceRoot":"","sources":["../../../src/components/stepper/step.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\nimport { type Ref, createRef, ref } from 'lit/directives/ref.js';\nimport { when } from 'lit/directives/when.js';\n\nimport { EaseInOut } from '../../animations/easings.js';\nimport { addAnimationController } from '../../animations/player.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partNameMap } from '../common/util.js';\nimport type {\n StepperOrientation,\n StepperStepType,\n StepperTitlePosition,\n} from '../types.js';\nimport {\n type Animation,\n bodyAnimations,\n contentAnimations,\n} from './animations.js';\nimport { styles as shared } from './themes/step/shared/step.common.css.js';\nimport { styles } from './themes/step/step.base.css.js';\nimport { all } from './themes/step/themes.js';\n\n/**\n * The step component is used within the `igc-stepper` element and it holds the content of each step.\n * It also supports custom indicators, title and subtitle.\n *\n * @element igc-step\n *\n * @slot - Renders the content of the step.\n * @slot indicator - Renders the indicator of the step. By default, it displays the step index + 1.\n * @slot title - Renders the title of the step.\n * @slot subtitle - Renders the subtitle of the step.\n *\n * @csspart header-container - Wrapper of the step's `header` and its separators.\n * @csspart disabled - Indicates a disabled state. Applies to `header-container`.\n * @csspart complete-start - Indicates a complete state of the current step. Applies to `header-container`.\n * @csspart complete-end - Indicates a complete state of the previous step. Applies to `header-container`.\n * @csspart optional - Indicates an optional state. Applies to `header-container`.\n * @csspart invalid - Indicates an invalid state. Applies to `header-container`.\n * @csspart top - Indicates that the title should be above the indicator. Applies to `header-container`.\n * @csspart bottom - Indicates that the title should be below the indicator. Applies to `header-container`.\n * @csspart start - Indicates that the title should be before the indicator. Applies to `header-container`.\n * @csspart end - Indicates that the title should be after the indicator. Applies to `header-container`.\n * @csspart header - Wrapper of the step's `indicator` and `text`.\n * @csspart indicator - The indicator of the step.\n * @csspart text - Wrapper of the step's `title` and `subtitle`.\n * @csspart empty - Indicates that no title and subtitle has been provided to the step. Applies to `text`.\n * @csspart title - The title of the step.\n * @csspart subtitle - The subtitle of the step.\n * @csspart body - Wrapper of the step's `content`.\n * @csspart content - The steps `content`.\n */\n@themes(all)\nexport default class IgcStepComponent extends LitElement {\n public static readonly tagName = 'igc-step';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcStepComponent);\n }\n\n private bodyRef: Ref<HTMLElement> = createRef();\n private contentRef: Ref<HTMLElement> = createRef();\n\n private bodyAnimationPlayer = addAnimationController(this, this.bodyRef);\n private contentAnimationPlayer = addAnimationController(\n this,\n this.contentRef\n );\n\n @queryAssignedElements({ slot: 'title' })\n private _titleChildren!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'subtitle' })\n private _subTitleChildren!: Array<HTMLElement>;\n\n /* blazorSuppress */\n @query('[part~=\"header\"]')\n public header!: HTMLElement;\n\n /* blazorSuppress */\n @query('[part~=\"body\"]')\n public contentBody!: HTMLElement;\n\n /** Gets/sets whether the step is invalid. */\n @property({ reflect: true, type: Boolean })\n public invalid = false;\n\n /** Gets/sets whether the step is activе. */\n @property({ reflect: true, type: Boolean })\n public active = false;\n\n /**\n * Gets/sets whether the step is optional.\n *\n * @remarks\n * Optional steps validity does not affect the default behavior when the stepper is in linear mode i.e.\n * if optional step is invalid the user could still move to the next step.\n */\n @property({ type: Boolean })\n public optional = false;\n\n /** Gets/sets whether the step is interactable. */\n @property({ reflect: true, type: Boolean })\n public disabled = false;\n\n /** Gets/sets whether the step is completed.\n *\n * @remarks\n * When set to `true` the following separator is styled `solid`.\n */\n @property({ reflect: true, type: Boolean })\n public complete = false;\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public previousComplete = false;\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public stepType: StepperStepType = 'full';\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public titlePosition: StepperTitlePosition = 'auto';\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public orientation: StepperOrientation = 'horizontal';\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public index = -1;\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public contentTop = false;\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public linearDisabled = false;\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public visited = false;\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public animation: Animation = 'fade';\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public animationDuration = 350;\n\n /**\n * @hidden @internal\n * @deprecated since 5.4.0. Use the Stepper's `navigateTo` method instead.\n */\n public async toggleAnimation(\n type: 'in' | 'out',\n direction: 'normal' | 'reverse' = 'normal'\n ) {\n const bodyAnimation = bodyAnimations.get(this.animation)!.get(type)!;\n const contentAnimation = contentAnimations.get(this.animation)!.get(type)!;\n const bodyHeight = window\n .getComputedStyle(this)\n .getPropertyValue('--vertical-body-height');\n\n const options: KeyframeAnimationOptions = {\n duration: this.animationDuration,\n easing: EaseInOut.Quad,\n direction,\n };\n\n const step = {\n height: bodyHeight,\n };\n\n const [_, event] = await Promise.all([\n this.bodyAnimationPlayer.stopAll(),\n this.bodyAnimationPlayer.play(bodyAnimation({ keyframe: options, step })),\n this.contentAnimationPlayer.stopAll(),\n this.contentAnimationPlayer.play(\n contentAnimation({ keyframe: options, step })\n ),\n ]);\n\n return event.type;\n }\n\n @watch('active', { waitUntilFirstUpdate: true })\n protected activeChange() {\n if (this.active) {\n this.dispatchEvent(\n new CustomEvent('stepActiveChanged', { bubbles: true, detail: false })\n );\n }\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n @watch('invalid', { waitUntilFirstUpdate: true })\n @watch('optional', { waitUntilFirstUpdate: true })\n protected disabledInvalidOptionalChange() {\n this.dispatchEvent(\n new CustomEvent('stepDisabledInvalidChanged', { bubbles: true })\n );\n }\n\n @watch('complete', { waitUntilFirstUpdate: true })\n protected completeChange() {\n this.dispatchEvent(\n new CustomEvent('stepCompleteChanged', { bubbles: true })\n );\n }\n\n private handleClick(event: MouseEvent): void {\n event.stopPropagation();\n if (this.isAccessible) {\n this.dispatchEvent(\n new CustomEvent('stepActiveChanged', { bubbles: true, detail: true })\n );\n }\n }\n\n private handleKeydown(event: KeyboardEvent): void {\n this.dispatchEvent(\n new CustomEvent('stepHeaderKeydown', {\n bubbles: true,\n detail: { event, focusedStep: this },\n })\n );\n }\n\n /** @hidden @internal */\n public get isAccessible(): boolean {\n return !this.disabled && !this.linearDisabled;\n }\n\n private get headerContainerParts() {\n return {\n 'header-container': true,\n disabled: !this.isAccessible,\n 'complete-start': this.complete,\n 'complete-end': this.previousComplete,\n optional: this.optional,\n invalid:\n this.invalid && this.visited && !this.active && this.isAccessible,\n top: this.titlePosition === 'top',\n bottom:\n this.titlePosition === 'bottom' ||\n (this.orientation === 'horizontal' && this.titlePosition === 'auto'),\n start: this.titlePosition === 'start',\n end:\n this.titlePosition === 'end' ||\n (this.orientation === 'vertical' && this.titlePosition === 'auto'),\n };\n }\n\n private get textParts() {\n return {\n text: true,\n empty:\n this.stepType === 'indicator'\n ? true\n : this.stepType === 'full' &&\n !this._titleChildren.length &&\n !this._subTitleChildren.length,\n };\n }\n\n protected renderIndicator() {\n if (this.stepType !== 'title') {\n return html`\n <div part=\"indicator\">\n <slot name=\"indicator\">\n <span>${this.index + 1}</span>\n </slot>\n </div>\n `;\n }\n return nothing;\n }\n\n protected renderTitleAndSubtitle() {\n return html`\n <div part=\"${partNameMap(this.textParts)}\">\n <div part=\"title\">\n <slot name=\"title\"></slot>\n </div>\n <div part=\"subtitle\">\n <slot name=\"subtitle\"></slot>\n </div>\n </div>\n `;\n }\n\n protected renderContent() {\n return html`<div\n ${ref(this.bodyRef)}\n id=\"igc-step-content-${this.index}\"\n part=\"body\"\n role=\"tabpanel\"\n aria-labelledby=\"igc-step-header-${this.index}\"\n >\n <div part=\"content\" ${ref(this.contentRef)}>\n <slot></slot>\n </div>\n </div>`;\n }\n\n protected override render() {\n return html`\n ${when(\n this.contentTop && this.orientation === 'horizontal',\n () => this.renderContent(),\n () => nothing\n )}\n <div part=\"${partNameMap(this.headerContainerParts)}\">\n <div\n part=\"header\"\n tabindex=\"${this.active ? '0' : '-1'}\"\n role=\"tab\"\n aria-selected=\"${this.active}\"\n @click=${this.handleClick}\n @keydown=${this.handleKeydown}\n >\n ${this.renderIndicator()} ${this.renderTitleAndSubtitle()}\n </div>\n </div>\n ${when(\n this.orientation === 'vertical' || !this.contentTop,\n () => this.renderContent(),\n () => nothing\n )}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-step': IgcStepComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"step.js","sourceRoot":"","sources":["../../../src/components/stepper/step.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport { property, query, queryAssignedElements } from 'lit/decorators.js';\nimport { type Ref, createRef, ref } from 'lit/directives/ref.js';\nimport { when } from 'lit/directives/when.js';\n\nimport { EaseInOut } from '../../animations/easings.js';\nimport { addAnimationController } from '../../animations/player.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport { partMap } from '../common/part-map.js';\nimport type {\n StepperOrientation,\n StepperStepType,\n StepperTitlePosition,\n} from '../types.js';\nimport {\n type Animation,\n bodyAnimations,\n contentAnimations,\n} from './animations.js';\nimport { styles as shared } from './themes/step/shared/step.common.css.js';\nimport { styles } from './themes/step/step.base.css.js';\nimport { all } from './themes/step/themes.js';\n\n/**\n * The step component is used within the `igc-stepper` element and it holds the content of each step.\n * It also supports custom indicators, title and subtitle.\n *\n * @element igc-step\n *\n * @slot - Renders the content of the step.\n * @slot indicator - Renders the indicator of the step. By default, it displays the step index + 1.\n * @slot title - Renders the title of the step.\n * @slot subtitle - Renders the subtitle of the step.\n *\n * @csspart header-container - Wrapper of the step's `header` and its separators.\n * @csspart disabled - Indicates a disabled state. Applies to `header-container`.\n * @csspart complete-start - Indicates a complete state of the current step. Applies to `header-container`.\n * @csspart complete-end - Indicates a complete state of the previous step. Applies to `header-container`.\n * @csspart optional - Indicates an optional state. Applies to `header-container`.\n * @csspart invalid - Indicates an invalid state. Applies to `header-container`.\n * @csspart top - Indicates that the title should be above the indicator. Applies to `header-container`.\n * @csspart bottom - Indicates that the title should be below the indicator. Applies to `header-container`.\n * @csspart start - Indicates that the title should be before the indicator. Applies to `header-container`.\n * @csspart end - Indicates that the title should be after the indicator. Applies to `header-container`.\n * @csspart header - Wrapper of the step's `indicator` and `text`.\n * @csspart indicator - The indicator of the step.\n * @csspart text - Wrapper of the step's `title` and `subtitle`.\n * @csspart empty - Indicates that no title and subtitle has been provided to the step. Applies to `text`.\n * @csspart title - The title of the step.\n * @csspart subtitle - The subtitle of the step.\n * @csspart body - Wrapper of the step's `content`.\n * @csspart content - The steps `content`.\n */\n@themes(all)\nexport default class IgcStepComponent extends LitElement {\n public static readonly tagName = 'igc-step';\n public static override styles = [styles, shared];\n\n /* blazorSuppress */\n public static register() {\n registerComponent(IgcStepComponent);\n }\n\n private bodyRef: Ref<HTMLElement> = createRef();\n private contentRef: Ref<HTMLElement> = createRef();\n\n private bodyAnimationPlayer = addAnimationController(this, this.bodyRef);\n private contentAnimationPlayer = addAnimationController(\n this,\n this.contentRef\n );\n\n @queryAssignedElements({ slot: 'title' })\n private _titleChildren!: Array<HTMLElement>;\n\n @queryAssignedElements({ slot: 'subtitle' })\n private _subTitleChildren!: Array<HTMLElement>;\n\n /* blazorSuppress */\n @query('[part~=\"header\"]')\n public header!: HTMLElement;\n\n /* blazorSuppress */\n @query('[part~=\"body\"]')\n public contentBody!: HTMLElement;\n\n /** Gets/sets whether the step is invalid. */\n @property({ reflect: true, type: Boolean })\n public invalid = false;\n\n /** Gets/sets whether the step is activе. */\n @property({ reflect: true, type: Boolean })\n public active = false;\n\n /**\n * Gets/sets whether the step is optional.\n *\n * @remarks\n * Optional steps validity does not affect the default behavior when the stepper is in linear mode i.e.\n * if optional step is invalid the user could still move to the next step.\n */\n @property({ type: Boolean })\n public optional = false;\n\n /** Gets/sets whether the step is interactable. */\n @property({ reflect: true, type: Boolean })\n public disabled = false;\n\n /** Gets/sets whether the step is completed.\n *\n * @remarks\n * When set to `true` the following separator is styled `solid`.\n */\n @property({ reflect: true, type: Boolean })\n public complete = false;\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public previousComplete = false;\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public stepType: StepperStepType = 'full';\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public titlePosition: StepperTitlePosition = 'auto';\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public orientation: StepperOrientation = 'horizontal';\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public index = -1;\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public contentTop = false;\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public linearDisabled = false;\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public visited = false;\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public animation: Animation = 'fade';\n\n /** @hidden @internal @private */\n @property({ attribute: false })\n public animationDuration = 350;\n\n /**\n * @hidden @internal\n * @deprecated since 5.4.0. Use the Stepper's `navigateTo` method instead.\n */\n public async toggleAnimation(\n type: 'in' | 'out',\n direction: 'normal' | 'reverse' = 'normal'\n ) {\n const bodyAnimation = bodyAnimations.get(this.animation)!.get(type)!;\n const contentAnimation = contentAnimations.get(this.animation)!.get(type)!;\n const bodyHeight = window\n .getComputedStyle(this)\n .getPropertyValue('--vertical-body-height');\n\n const options: KeyframeAnimationOptions = {\n duration: this.animationDuration,\n easing: EaseInOut.Quad,\n direction,\n };\n\n const step = {\n height: bodyHeight,\n };\n\n const [_, event] = await Promise.all([\n this.bodyAnimationPlayer.stopAll(),\n this.bodyAnimationPlayer.play(bodyAnimation({ keyframe: options, step })),\n this.contentAnimationPlayer.stopAll(),\n this.contentAnimationPlayer.play(\n contentAnimation({ keyframe: options, step })\n ),\n ]);\n\n return event.type;\n }\n\n @watch('active', { waitUntilFirstUpdate: true })\n protected activeChange() {\n if (this.active) {\n this.dispatchEvent(\n new CustomEvent('stepActiveChanged', { bubbles: true, detail: false })\n );\n }\n }\n\n @watch('disabled', { waitUntilFirstUpdate: true })\n @watch('invalid', { waitUntilFirstUpdate: true })\n @watch('optional', { waitUntilFirstUpdate: true })\n protected disabledInvalidOptionalChange() {\n this.dispatchEvent(\n new CustomEvent('stepDisabledInvalidChanged', { bubbles: true })\n );\n }\n\n @watch('complete', { waitUntilFirstUpdate: true })\n protected completeChange() {\n this.dispatchEvent(\n new CustomEvent('stepCompleteChanged', { bubbles: true })\n );\n }\n\n private handleClick(event: MouseEvent): void {\n event.stopPropagation();\n if (this.isAccessible) {\n this.dispatchEvent(\n new CustomEvent('stepActiveChanged', { bubbles: true, detail: true })\n );\n }\n }\n\n private handleKeydown(event: KeyboardEvent): void {\n this.dispatchEvent(\n new CustomEvent('stepHeaderKeydown', {\n bubbles: true,\n detail: { event, focusedStep: this },\n })\n );\n }\n\n /** @hidden @internal */\n public get isAccessible(): boolean {\n return !this.disabled && !this.linearDisabled;\n }\n\n private get headerContainerParts() {\n return {\n 'header-container': true,\n disabled: !this.isAccessible,\n 'complete-start': this.complete,\n 'complete-end': this.previousComplete,\n optional: this.optional,\n invalid:\n this.invalid && this.visited && !this.active && this.isAccessible,\n top: this.titlePosition === 'top',\n bottom:\n this.titlePosition === 'bottom' ||\n (this.orientation === 'horizontal' && this.titlePosition === 'auto'),\n start: this.titlePosition === 'start',\n end:\n this.titlePosition === 'end' ||\n (this.orientation === 'vertical' && this.titlePosition === 'auto'),\n };\n }\n\n private get textParts() {\n return {\n text: true,\n empty:\n this.stepType === 'indicator'\n ? true\n : this.stepType === 'full' &&\n !this._titleChildren.length &&\n !this._subTitleChildren.length,\n };\n }\n\n protected renderIndicator() {\n if (this.stepType !== 'title') {\n return html`\n <div part=\"indicator\">\n <slot name=\"indicator\">\n <span>${this.index + 1}</span>\n </slot>\n </div>\n `;\n }\n return nothing;\n }\n\n protected renderTitleAndSubtitle() {\n return html`\n <div part=${partMap(this.textParts)}>\n <div part=\"title\">\n <slot name=\"title\"></slot>\n </div>\n <div part=\"subtitle\">\n <slot name=\"subtitle\"></slot>\n </div>\n </div>\n `;\n }\n\n protected renderContent() {\n return html`<div\n ${ref(this.bodyRef)}\n id=\"igc-step-content-${this.index}\"\n part=\"body\"\n role=\"tabpanel\"\n aria-labelledby=\"igc-step-header-${this.index}\"\n >\n <div part=\"content\" ${ref(this.contentRef)}>\n <slot></slot>\n </div>\n </div>`;\n }\n\n protected override render() {\n return html`\n ${when(\n this.contentTop && this.orientation === 'horizontal',\n () => this.renderContent(),\n () => nothing\n )}\n <div part=${partMap(this.headerContainerParts)}>\n <div\n part=\"header\"\n tabindex=\"${this.active ? '0' : '-1'}\"\n role=\"tab\"\n aria-selected=\"${this.active}\"\n @click=${this.handleClick}\n @keydown=${this.handleKeydown}\n >\n ${this.renderIndicator()} ${this.renderTitleAndSubtitle()}\n </div>\n </div>\n ${when(\n this.orientation === 'vertical' || !this.contentTop,\n () => this.renderContent(),\n () => nothing\n )}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-step': IgcStepComponent;\n }\n}\n"]}
@@ -18,7 +18,8 @@ import { createResizeObserverController } from '../common/controllers/resize-obs
18
18
  import { watch } from '../common/decorators/watch.js';
19
19
  import { registerComponent } from '../common/definitions/register.js';
20
20
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
21
- import { findElementFromEventPath, first, getRoot, isEmpty, isLTR, isString, last, partNameMap, scrollIntoView, wrap, } from '../common/util.js';
21
+ import { partMap } from '../common/part-map.js';
22
+ import { findElementFromEventPath, first, getRoot, isEmpty, isLTR, isString, last, scrollIntoView, wrap, } from '../common/util.js';
22
23
  import { createTabHelpers, getTabHeader } from './tab-dom.js';
23
24
  import IgcTabComponent from './tab.js';
24
25
  import { styles as shared } from './themes/shared/tabs/tabs.common.css.js';
@@ -227,10 +228,6 @@ let IgcTabsComponent = IgcTabsComponent_1 = class IgcTabsComponent extends Event
227
228
  : nothing)}`;
228
229
  }
229
230
  render() {
230
- const part = partNameMap({
231
- inner: true,
232
- scrollable: this._domHelpers.hasScrollButtons,
233
- });
234
231
  return html `
235
232
  <div
236
233
  ${ref(this._headerRef)}
@@ -238,7 +235,12 @@ let IgcTabsComponent = IgcTabsComponent_1 = class IgcTabsComponent extends Event
238
235
  style=${styleMap(this._domHelpers.styleProperties)}
239
236
  @scroll=${this._handleScroll}
240
237
  >
241
- <div part=${part}>
238
+ <div
239
+ part=${partMap({
240
+ inner: true,
241
+ scrollable: this._domHelpers.hasScrollButtons,
242
+ })}
243
+ >
242
244
  ${this._renderScrollButton('start')}
243
245
  <slot @click=${this._handleClick}></slot>
244
246
  ${this._renderScrollButton('end')}
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/components/tabs/tabs.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport {\n eventOptions,\n property,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { cache } from 'lit/directives/cache.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\n\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport IgcIconButtonComponent from '../button/icon-button.js';\nimport {\n addKeybindings,\n arrowLeft,\n arrowRight,\n endKey,\n homeKey,\n} from '../common/controllers/key-bindings.js';\nimport {\n type MutationControllerParams,\n createMutationController,\n} from '../common/controllers/mutation-observer.js';\nimport { createResizeObserverController } from '../common/controllers/resize-observer.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport {\n findElementFromEventPath,\n first,\n getRoot,\n isEmpty,\n isLTR,\n isString,\n last,\n partNameMap,\n scrollIntoView,\n wrap,\n} from '../common/util.js';\nimport type { TabsActivation, TabsAlignment } from '../types.js';\nimport { createTabHelpers, getTabHeader } from './tab-dom.js';\nimport IgcTabComponent from './tab.js';\nimport { styles as shared } from './themes/shared/tabs/tabs.common.css.js';\nimport { all } from './themes/tabs-themes.js';\nimport { styles } from './themes/tabs.base.css.js';\n\nexport interface IgcTabsComponentEventMap {\n igcChange: CustomEvent<IgcTabComponent>;\n}\n\n/* blazorAdditionalDependency: IgcTabComponent */\n/**\n * Tabs organize and allow navigation between groups of content that are related and at the same level of hierarchy.\n *\n * The `<igc-tabs>` component allows the user to navigate between multiple `<igc-tab>` elements.\n * It supports keyboard navigation and provides API methods to control the selected tab.\n *\n * @element igc-tabs\n *\n * @fires igcChange - Emitted when the selected tab changes.\n *\n * @slot - Renders the `IgcTabComponents` inside default slot.\n *\n * @csspart start-scroll-button - The start scroll button displayed when the tabs overflow.\n * @csspart end-scroll-button - The end scroll button displayed when the tabs overflow.\n * @csspart selected-indicator - The indicator that shows which tab is selected.\n */\n@themes(all)\nexport default class IgcTabsComponent extends EventEmitterMixin<\n IgcTabsComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-tabs';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcTabsComponent,\n IgcTabComponent,\n IgcIconButtonComponent\n );\n }\n\n //#region Private state & properties\n\n private readonly _resizeController = createResizeObserverController(this, {\n callback: this._resizeCallback,\n options: { box: 'border-box' },\n target: null,\n });\n\n /** The tabs container reference holding the tab headers. */\n private readonly _headerRef = createRef<HTMLElement>();\n\n /** The selected tab indicator reference. */\n private readonly _indicatorRef = createRef<HTMLElement>();\n\n private readonly _domHelpers = createTabHelpers(\n this,\n this._headerRef,\n this._indicatorRef\n );\n\n @queryAssignedElements({ selector: IgcTabComponent.tagName })\n private _tabs!: IgcTabComponent[];\n\n protected get _enabledTabs(): IgcTabComponent[] {\n return this._tabs.filter((tab) => !tab.disabled);\n }\n\n @state()\n private _activeTab?: IgcTabComponent;\n\n //#endregion\n\n //#region Public properties\n\n /**\n * Sets the alignment for the tab headers\n * @attr\n */\n @property({ reflect: true })\n public alignment: TabsAlignment = 'start';\n\n /**\n * Determines the tab activation. When set to auto,\n * the tab is instantly selected while navigating with the Left/Right Arrows, Home or End keys\n * and the corresponding panel is displayed.\n * When set to manual, the tab is only focused. The selection happens after pressing Space or Enter.\n * @attr\n */\n @property()\n public activation: TabsActivation = 'auto';\n\n /* blazorSuppress */\n /** Returns the direct `igc-tab` elements that are children of this element. */\n public get tabs(): IgcTabComponent[] {\n return this._tabs;\n }\n\n /** Returns the currently selected tab label or IDREF if no label property is set. */\n public get selected(): string {\n if (this._activeTab) {\n return this._activeTab.label || this._activeTab.id;\n }\n\n return '';\n }\n\n //#endregion\n\n @watch('alignment', { waitUntilFirstUpdate: true })\n protected _alignmentChanged(): void {\n this._domHelpers.setIndicator(this._activeTab);\n }\n\n //#region Life-cycle hooks\n\n constructor() {\n super();\n\n addKeybindings(this, {\n ref: this._headerRef,\n skip: this._skipKeyboard,\n bindingDefaults: { preventDefault: true },\n })\n .set(arrowLeft, () => this._handleArrowKeys(isLTR(this) ? -1 : 1))\n .set(arrowRight, () => this._handleArrowKeys(isLTR(this) ? 1 : -1))\n .set(homeKey, this._handleHomeKey)\n .set(endKey, this._handleEndKey)\n .setActivateHandler(this._handleActivationKeys, {\n preventDefault: false,\n });\n\n createMutationController(this, {\n callback: this._mutationCallback,\n config: {\n attributeFilter: ['selected'],\n childList: true,\n subtree: true,\n },\n filter: [IgcTabComponent.tagName],\n });\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n\n const selectedTab =\n this._tabs.findLast((tab) => tab.selected) ?? first(this._enabledTabs);\n\n this._domHelpers.setStyleProperties();\n this._domHelpers.setScrollButtonState();\n this._setSelectedTab(selectedTab, false);\n\n this._resizeController.observe(this._headerRef.value!);\n }\n\n /** @internal */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.role = 'tablist';\n }\n\n protected override updated(): void {\n if (this._domHelpers.isLeftToRightChanged) {\n this._domHelpers.setIndicator(this._activeTab);\n }\n }\n\n //#endregion\n\n //#region Observers callbacks\n\n private _resizeCallback(): void {\n this._domHelpers.setStyleProperties();\n this._domHelpers.setScrollButtonState();\n this._domHelpers.setIndicator(this._activeTab);\n }\n\n private _mutationCallback(\n parameters: MutationControllerParams<IgcTabComponent>\n ): void {\n this._selectedAttributeChanged(parameters);\n this._handleTabsRemoved(parameters);\n this._handleTabsAdded(parameters);\n\n this._domHelpers.setStyleProperties();\n this._domHelpers.setScrollButtonState();\n this._domHelpers.setIndicator(this._activeTab);\n }\n\n private _selectedAttributeChanged({\n changes,\n }: MutationControllerParams<IgcTabComponent>): void {\n const selected = changes.attributes.find(\n (tab) => this._tabs.includes(tab) && tab.selected\n );\n this._setSelectedTab(selected, false);\n }\n\n private _handleTabsAdded({\n changes,\n }: MutationControllerParams<IgcTabComponent>): void {\n if (!isEmpty(changes.added)) {\n const lastAdded = changes.added.findLast(\n (change) =>\n change.target.closest(this.tagName) === this && change.node.selected\n )?.node;\n\n this._setSelectedTab(lastAdded, false);\n }\n }\n\n private _handleTabsRemoved({\n changes,\n }: MutationControllerParams<IgcTabComponent>): void {\n if (!isEmpty(changes.removed)) {\n let nextSelectedTab: IgcTabComponent | null = null;\n\n const removed = changes.removed.filter(\n (change) => change.target.closest(this.tagName) === this\n );\n\n for (const each of removed) {\n if (each.node.selected && each.node === this._activeTab) {\n nextSelectedTab = first(this._enabledTabs);\n break;\n }\n }\n\n if (nextSelectedTab) {\n this._setSelectedTab(nextSelectedTab, false);\n }\n }\n }\n\n //#endregion\n\n //#region Private API\n\n private _getClosestActiveTabIndex(): number {\n const active = getRoot(this).activeElement;\n const tab = active ? active.closest(IgcTabComponent.tagName) : null;\n return tab ? this._enabledTabs.indexOf(tab) : -1;\n }\n\n private _setSelectedTab(tab?: IgcTabComponent, shouldEmit = true): void {\n if (!tab || tab === this._activeTab) {\n return;\n }\n\n if (this._activeTab) {\n this._activeTab.selected = false;\n }\n\n tab.selected = true;\n this._activeTab = tab;\n\n scrollIntoView(getTabHeader(tab));\n this._domHelpers.setIndicator(this._activeTab);\n\n if (shouldEmit) {\n this.emitEvent('igcChange', { detail: this._activeTab });\n }\n }\n\n private _keyboardActivateTab(tab: IgcTabComponent) {\n const header = getTabHeader(tab);\n\n this._domHelpers.setScrollSnap();\n scrollIntoView(header);\n header.focus({ preventScroll: true });\n\n if (this.activation === 'auto') {\n this._setSelectedTab(tab);\n }\n }\n\n private _skipKeyboard(node: Element, event: KeyboardEvent): boolean {\n return !(\n this._isEventFromTabHeader(event) &&\n this._tabs.includes(node.closest(IgcTabComponent.tagName)!)\n );\n }\n\n private _isEventFromTabHeader(event: Event) {\n return findElementFromEventPath('[part~=\"tab-header\"]', event);\n }\n\n //#endregion\n\n //#region Event handlers\n\n protected _handleArrowKeys(delta: -1 | 1): void {\n const tabs = this._enabledTabs;\n this._keyboardActivateTab(\n tabs[wrap(0, tabs.length - 1, this._getClosestActiveTabIndex() + delta)]\n );\n }\n\n protected _handleHomeKey(): void {\n this._keyboardActivateTab(first(this._enabledTabs));\n }\n\n protected _handleEndKey(): void {\n this._keyboardActivateTab(last(this._enabledTabs));\n }\n\n protected _handleActivationKeys(): void {\n const tabs = this._enabledTabs;\n const index = this._getClosestActiveTabIndex();\n\n if (index > -1) {\n this._setSelectedTab(tabs[index], false);\n this._keyboardActivateTab(tabs[index]);\n }\n }\n\n protected _handleClick(event: PointerEvent): void {\n if (!this._isEventFromTabHeader(event)) {\n return;\n }\n\n const tab = findElementFromEventPath<IgcTabComponent>(\n IgcTabComponent.tagName,\n event\n );\n\n if (!(tab && this._tabs.includes(tab)) || tab?.disabled) {\n return;\n }\n\n this._domHelpers.setScrollSnap();\n getTabHeader(tab).focus();\n this._setSelectedTab(tab);\n }\n\n @eventOptions({ passive: true })\n protected _handleScroll(): void {\n this._domHelpers.setScrollButtonState();\n }\n\n //#endregion\n\n //#region Public API methods\n\n /** Selects the specified tab and displays the corresponding panel. */\n public select(id: string): void;\n /* blazorSuppress (ref is reserved) */\n public select(ref: IgcTabComponent): void;\n /* blazorSuppress (ref is reserved) */\n public select(ref: IgcTabComponent | string): void {\n const tab = isString(ref) ? this._tabs.find((t) => t.id === ref) : ref;\n\n if (tab) {\n this._setSelectedTab(tab, false);\n }\n }\n\n //#endregion\n\n //#region Render\n\n protected _renderScrollButton(direction: 'start' | 'end') {\n const isStart = direction === 'start';\n const { start, end } = this._domHelpers.scrollButtonsDisabled;\n\n return html`${cache(\n this._domHelpers.hasScrollButtons\n ? html`\n <igc-icon-button\n tabindex=\"-1\"\n variant=\"flat\"\n collection=\"default\"\n part=\"${direction}-scroll-button\"\n exportparts=\"icon\"\n name=${isStart ? 'prev' : 'next'}\n ?disabled=${isStart ? start : end}\n @click=${() => this._domHelpers.scrollTabs(direction)}\n >\n </igc-icon-button>\n `\n : nothing\n )}`;\n }\n\n protected override render() {\n const part = partNameMap({\n inner: true,\n scrollable: this._domHelpers.hasScrollButtons,\n });\n\n return html`\n <div\n ${ref(this._headerRef)}\n part=\"tabs\"\n style=${styleMap(this._domHelpers.styleProperties)}\n @scroll=${this._handleScroll}\n >\n <div part=${part}>\n ${this._renderScrollButton('start')}\n <slot @click=${this._handleClick}></slot>\n ${this._renderScrollButton('end')}\n <div part=\"selected-indicator\">\n <span ${ref(this._indicatorRef)}></span>\n </div>\n </div>\n </div>\n `;\n }\n\n //#endregion\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tabs': IgcTabsComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../../src/components/tabs/tabs.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, html, nothing } from 'lit';\nimport {\n eventOptions,\n property,\n queryAssignedElements,\n state,\n} from 'lit/decorators.js';\nimport { cache } from 'lit/directives/cache.js';\nimport { createRef, ref } from 'lit/directives/ref.js';\n\nimport { styleMap } from 'lit/directives/style-map.js';\nimport { themes } from '../../theming/theming-decorator.js';\nimport IgcIconButtonComponent from '../button/icon-button.js';\nimport {\n addKeybindings,\n arrowLeft,\n arrowRight,\n endKey,\n homeKey,\n} from '../common/controllers/key-bindings.js';\nimport {\n type MutationControllerParams,\n createMutationController,\n} from '../common/controllers/mutation-observer.js';\nimport { createResizeObserverController } from '../common/controllers/resize-observer.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { partMap } from '../common/part-map.js';\nimport {\n findElementFromEventPath,\n first,\n getRoot,\n isEmpty,\n isLTR,\n isString,\n last,\n scrollIntoView,\n wrap,\n} from '../common/util.js';\nimport type { TabsActivation, TabsAlignment } from '../types.js';\nimport { createTabHelpers, getTabHeader } from './tab-dom.js';\nimport IgcTabComponent from './tab.js';\nimport { styles as shared } from './themes/shared/tabs/tabs.common.css.js';\nimport { all } from './themes/tabs-themes.js';\nimport { styles } from './themes/tabs.base.css.js';\n\nexport interface IgcTabsComponentEventMap {\n igcChange: CustomEvent<IgcTabComponent>;\n}\n\n/* blazorAdditionalDependency: IgcTabComponent */\n/**\n * Tabs organize and allow navigation between groups of content that are related and at the same level of hierarchy.\n *\n * The `<igc-tabs>` component allows the user to navigate between multiple `<igc-tab>` elements.\n * It supports keyboard navigation and provides API methods to control the selected tab.\n *\n * @element igc-tabs\n *\n * @fires igcChange - Emitted when the selected tab changes.\n *\n * @slot - Renders the `IgcTabComponents` inside default slot.\n *\n * @csspart start-scroll-button - The start scroll button displayed when the tabs overflow.\n * @csspart end-scroll-button - The end scroll button displayed when the tabs overflow.\n * @csspart selected-indicator - The indicator that shows which tab is selected.\n */\n@themes(all)\nexport default class IgcTabsComponent extends EventEmitterMixin<\n IgcTabsComponentEventMap,\n Constructor<LitElement>\n>(LitElement) {\n public static readonly tagName = 'igc-tabs';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(\n IgcTabsComponent,\n IgcTabComponent,\n IgcIconButtonComponent\n );\n }\n\n //#region Private state & properties\n\n private readonly _resizeController = createResizeObserverController(this, {\n callback: this._resizeCallback,\n options: { box: 'border-box' },\n target: null,\n });\n\n /** The tabs container reference holding the tab headers. */\n private readonly _headerRef = createRef<HTMLElement>();\n\n /** The selected tab indicator reference. */\n private readonly _indicatorRef = createRef<HTMLElement>();\n\n private readonly _domHelpers = createTabHelpers(\n this,\n this._headerRef,\n this._indicatorRef\n );\n\n @queryAssignedElements({ selector: IgcTabComponent.tagName })\n private _tabs!: IgcTabComponent[];\n\n protected get _enabledTabs(): IgcTabComponent[] {\n return this._tabs.filter((tab) => !tab.disabled);\n }\n\n @state()\n private _activeTab?: IgcTabComponent;\n\n //#endregion\n\n //#region Public properties\n\n /**\n * Sets the alignment for the tab headers\n * @attr\n */\n @property({ reflect: true })\n public alignment: TabsAlignment = 'start';\n\n /**\n * Determines the tab activation. When set to auto,\n * the tab is instantly selected while navigating with the Left/Right Arrows, Home or End keys\n * and the corresponding panel is displayed.\n * When set to manual, the tab is only focused. The selection happens after pressing Space or Enter.\n * @attr\n */\n @property()\n public activation: TabsActivation = 'auto';\n\n /* blazorSuppress */\n /** Returns the direct `igc-tab` elements that are children of this element. */\n public get tabs(): IgcTabComponent[] {\n return this._tabs;\n }\n\n /** Returns the currently selected tab label or IDREF if no label property is set. */\n public get selected(): string {\n if (this._activeTab) {\n return this._activeTab.label || this._activeTab.id;\n }\n\n return '';\n }\n\n //#endregion\n\n @watch('alignment', { waitUntilFirstUpdate: true })\n protected _alignmentChanged(): void {\n this._domHelpers.setIndicator(this._activeTab);\n }\n\n //#region Life-cycle hooks\n\n constructor() {\n super();\n\n addKeybindings(this, {\n ref: this._headerRef,\n skip: this._skipKeyboard,\n bindingDefaults: { preventDefault: true },\n })\n .set(arrowLeft, () => this._handleArrowKeys(isLTR(this) ? -1 : 1))\n .set(arrowRight, () => this._handleArrowKeys(isLTR(this) ? 1 : -1))\n .set(homeKey, this._handleHomeKey)\n .set(endKey, this._handleEndKey)\n .setActivateHandler(this._handleActivationKeys, {\n preventDefault: false,\n });\n\n createMutationController(this, {\n callback: this._mutationCallback,\n config: {\n attributeFilter: ['selected'],\n childList: true,\n subtree: true,\n },\n filter: [IgcTabComponent.tagName],\n });\n }\n\n protected override async firstUpdated() {\n await this.updateComplete;\n\n const selectedTab =\n this._tabs.findLast((tab) => tab.selected) ?? first(this._enabledTabs);\n\n this._domHelpers.setStyleProperties();\n this._domHelpers.setScrollButtonState();\n this._setSelectedTab(selectedTab, false);\n\n this._resizeController.observe(this._headerRef.value!);\n }\n\n /** @internal */\n public override connectedCallback(): void {\n super.connectedCallback();\n this.role = 'tablist';\n }\n\n protected override updated(): void {\n if (this._domHelpers.isLeftToRightChanged) {\n this._domHelpers.setIndicator(this._activeTab);\n }\n }\n\n //#endregion\n\n //#region Observers callbacks\n\n private _resizeCallback(): void {\n this._domHelpers.setStyleProperties();\n this._domHelpers.setScrollButtonState();\n this._domHelpers.setIndicator(this._activeTab);\n }\n\n private _mutationCallback(\n parameters: MutationControllerParams<IgcTabComponent>\n ): void {\n this._selectedAttributeChanged(parameters);\n this._handleTabsRemoved(parameters);\n this._handleTabsAdded(parameters);\n\n this._domHelpers.setStyleProperties();\n this._domHelpers.setScrollButtonState();\n this._domHelpers.setIndicator(this._activeTab);\n }\n\n private _selectedAttributeChanged({\n changes,\n }: MutationControllerParams<IgcTabComponent>): void {\n const selected = changes.attributes.find(\n (tab) => this._tabs.includes(tab) && tab.selected\n );\n this._setSelectedTab(selected, false);\n }\n\n private _handleTabsAdded({\n changes,\n }: MutationControllerParams<IgcTabComponent>): void {\n if (!isEmpty(changes.added)) {\n const lastAdded = changes.added.findLast(\n (change) =>\n change.target.closest(this.tagName) === this && change.node.selected\n )?.node;\n\n this._setSelectedTab(lastAdded, false);\n }\n }\n\n private _handleTabsRemoved({\n changes,\n }: MutationControllerParams<IgcTabComponent>): void {\n if (!isEmpty(changes.removed)) {\n let nextSelectedTab: IgcTabComponent | null = null;\n\n const removed = changes.removed.filter(\n (change) => change.target.closest(this.tagName) === this\n );\n\n for (const each of removed) {\n if (each.node.selected && each.node === this._activeTab) {\n nextSelectedTab = first(this._enabledTabs);\n break;\n }\n }\n\n if (nextSelectedTab) {\n this._setSelectedTab(nextSelectedTab, false);\n }\n }\n }\n\n //#endregion\n\n //#region Private API\n\n private _getClosestActiveTabIndex(): number {\n const active = getRoot(this).activeElement;\n const tab = active ? active.closest(IgcTabComponent.tagName) : null;\n return tab ? this._enabledTabs.indexOf(tab) : -1;\n }\n\n private _setSelectedTab(tab?: IgcTabComponent, shouldEmit = true): void {\n if (!tab || tab === this._activeTab) {\n return;\n }\n\n if (this._activeTab) {\n this._activeTab.selected = false;\n }\n\n tab.selected = true;\n this._activeTab = tab;\n\n scrollIntoView(getTabHeader(tab));\n this._domHelpers.setIndicator(this._activeTab);\n\n if (shouldEmit) {\n this.emitEvent('igcChange', { detail: this._activeTab });\n }\n }\n\n private _keyboardActivateTab(tab: IgcTabComponent) {\n const header = getTabHeader(tab);\n\n this._domHelpers.setScrollSnap();\n scrollIntoView(header);\n header.focus({ preventScroll: true });\n\n if (this.activation === 'auto') {\n this._setSelectedTab(tab);\n }\n }\n\n private _skipKeyboard(node: Element, event: KeyboardEvent): boolean {\n return !(\n this._isEventFromTabHeader(event) &&\n this._tabs.includes(node.closest(IgcTabComponent.tagName)!)\n );\n }\n\n private _isEventFromTabHeader(event: Event) {\n return findElementFromEventPath('[part~=\"tab-header\"]', event);\n }\n\n //#endregion\n\n //#region Event handlers\n\n protected _handleArrowKeys(delta: -1 | 1): void {\n const tabs = this._enabledTabs;\n this._keyboardActivateTab(\n tabs[wrap(0, tabs.length - 1, this._getClosestActiveTabIndex() + delta)]\n );\n }\n\n protected _handleHomeKey(): void {\n this._keyboardActivateTab(first(this._enabledTabs));\n }\n\n protected _handleEndKey(): void {\n this._keyboardActivateTab(last(this._enabledTabs));\n }\n\n protected _handleActivationKeys(): void {\n const tabs = this._enabledTabs;\n const index = this._getClosestActiveTabIndex();\n\n if (index > -1) {\n this._setSelectedTab(tabs[index], false);\n this._keyboardActivateTab(tabs[index]);\n }\n }\n\n protected _handleClick(event: PointerEvent): void {\n if (!this._isEventFromTabHeader(event)) {\n return;\n }\n\n const tab = findElementFromEventPath<IgcTabComponent>(\n IgcTabComponent.tagName,\n event\n );\n\n if (!(tab && this._tabs.includes(tab)) || tab?.disabled) {\n return;\n }\n\n this._domHelpers.setScrollSnap();\n getTabHeader(tab).focus();\n this._setSelectedTab(tab);\n }\n\n @eventOptions({ passive: true })\n protected _handleScroll(): void {\n this._domHelpers.setScrollButtonState();\n }\n\n //#endregion\n\n //#region Public API methods\n\n /** Selects the specified tab and displays the corresponding panel. */\n public select(id: string): void;\n /* blazorSuppress (ref is reserved) */\n public select(ref: IgcTabComponent): void;\n /* blazorSuppress (ref is reserved) */\n public select(ref: IgcTabComponent | string): void {\n const tab = isString(ref) ? this._tabs.find((t) => t.id === ref) : ref;\n\n if (tab) {\n this._setSelectedTab(tab, false);\n }\n }\n\n //#endregion\n\n //#region Render\n\n protected _renderScrollButton(direction: 'start' | 'end') {\n const isStart = direction === 'start';\n const { start, end } = this._domHelpers.scrollButtonsDisabled;\n\n return html`${cache(\n this._domHelpers.hasScrollButtons\n ? html`\n <igc-icon-button\n tabindex=\"-1\"\n variant=\"flat\"\n collection=\"default\"\n part=\"${direction}-scroll-button\"\n exportparts=\"icon\"\n name=${isStart ? 'prev' : 'next'}\n ?disabled=${isStart ? start : end}\n @click=${() => this._domHelpers.scrollTabs(direction)}\n >\n </igc-icon-button>\n `\n : nothing\n )}`;\n }\n\n protected override render() {\n return html`\n <div\n ${ref(this._headerRef)}\n part=\"tabs\"\n style=${styleMap(this._domHelpers.styleProperties)}\n @scroll=${this._handleScroll}\n >\n <div\n part=${partMap({\n inner: true,\n scrollable: this._domHelpers.hasScrollButtons,\n })}\n >\n ${this._renderScrollButton('start')}\n <slot @click=${this._handleClick}></slot>\n ${this._renderScrollButton('end')}\n <div part=\"selected-indicator\">\n <span ${ref(this._indicatorRef)}></span>\n </div>\n </div>\n </div>\n `;\n }\n\n //#endregion\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-tabs': IgcTabsComponent;\n }\n}\n"]}
@@ -1,6 +1,6 @@
1
1
  import { LitElement, type TemplateResult, nothing } from 'lit';
2
2
  import type { Constructor } from '../common/mixins/constructor.js';
3
- import { type FormValue } from '../common/mixins/forms/form-value.js';
3
+ import { type FormValueOf } from '../common/mixins/forms/form-value.js';
4
4
  import type { RangeTextSelectMode, SelectionRangeDirection, TextareaResize } from '../types.js';
5
5
  export interface IgcTextareaComponentEventMap {
6
6
  igcInput: CustomEvent<string>;
@@ -48,7 +48,7 @@ export default class IgcTextareaComponent extends IgcTextareaComponent_base {
48
48
  };
49
49
  private static readonly increment;
50
50
  protected get __validators(): import("../common/validators.js").Validator<IgcTextareaComponent>[];
51
- protected readonly _formValue: FormValue<string>;
51
+ protected readonly _formValue: FormValueOf<string>;
52
52
  protected readonly _inputId: string;
53
53
  private readonly _projected;
54
54
  protected readonly _prefixes: HTMLElement[];
@@ -17,7 +17,8 @@ import { registerComponent } from '../common/definitions/register.js';
17
17
  import { EventEmitterMixin } from '../common/mixins/event-emitter.js';
18
18
  import { FormAssociatedRequiredMixin } from '../common/mixins/forms/associated-required.js';
19
19
  import { createFormValueState, } from '../common/mixins/forms/form-value.js';
20
- import { asNumber, createCounter, isEmpty, partNameMap, } from '../common/util.js';
20
+ import { partMap } from '../common/part-map.js';
21
+ import { asNumber, createCounter, isEmpty } from '../common/util.js';
21
22
  import IgcValidationContainerComponent from '../validation-container/validation-container.js';
22
23
  import { styles as shared } from './themes/shared/textarea.common.css.js';
23
24
  import { styles } from './themes/textarea.base.css.js';
@@ -60,6 +61,7 @@ let IgcTextareaComponent = IgcTextareaComponent_1 = class IgcTextareaComponent e
60
61
  }
61
62
  constructor() {
62
63
  super();
64
+ this._formValue = createFormValueState(this, { initialValue: '' });
63
65
  this._inputId = `textarea-${IgcTextareaComponent_1.increment()}`;
64
66
  this.outlined = false;
65
67
  this.readOnly = false;
@@ -71,7 +73,6 @@ let IgcTextareaComponent = IgcTextareaComponent_1 = class IgcTextareaComponent e
71
73
  createResizeObserverController(this, {
72
74
  callback: this._setAreaHeight,
73
75
  });
74
- this._formValue = createFormValueState(this, { initialValue: '' });
75
76
  this.addEventListener('focus', this._handleFocus);
76
77
  this.addEventListener('blur', this._handleBlur);
77
78
  }
@@ -162,7 +163,7 @@ let IgcTextareaComponent = IgcTextareaComponent_1 = class IgcTextareaComponent e
162
163
  _renderStandard() {
163
164
  return html `
164
165
  ${this._renderLabel()}
165
- <div part=${partNameMap(this._resolvePartNames())}>
166
+ <div part=${partMap(this._resolvePartNames())}>
166
167
  ${this._renderPrefix()} ${this._renderInput()} ${this._renderSuffix()}
167
168
  </div>
168
169
  ${this._renderValidationContainer()}
@@ -171,10 +172,10 @@ let IgcTextareaComponent = IgcTextareaComponent_1 = class IgcTextareaComponent e
171
172
  _renderMaterial() {
172
173
  return html `
173
174
  <div
174
- part=${partNameMap({
175
+ part=${partMap({
175
176
  ...this._resolvePartNames(),
176
- labelled: this.label,
177
- placeholder: this.placeholder,
177
+ labelled: !!this.label,
178
+ placeholder: !!this.placeholder,
178
179
  })}
179
180
  >
180
181
  <div part="start">${this._renderPrefix()}</div>
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../src/components/textarea/textarea.ts"],"names":[],"mappings":";;;;;;;AAAA,OAAO,EAAE,UAAU,EAAuB,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACrE,OAAO,EACL,QAAQ,EACR,KAAK,EACL,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,EAAE,IAAI,EAAE,MAAM,wBAAwB,CAAC;AAC9C,OAAO,EAAkB,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvE,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,8BAA8B,EAAE,MAAM,0CAA0C,CAAC;AAC1F,OAAO,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAEtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC5F,OAAO,EAEL,oBAAoB,GACrB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,QAAQ,EACR,aAAa,EACb,OAAO,EACP,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAM3B,OAAO,+BAA+B,MAAM,iDAAiD,CAAC;AAC9F,OAAO,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAwCtC,IAAM,oBAAoB,4BAA1B,MAAM,oBAAqB,SAAQ,2BAA2B,CAC3E,iBAAiB,CACf,UAAU,CACX,CACF;IAKQ,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,sBAAoB,EAAE,+BAA+B,CAAC,CAAC;IAC3E,CAAC;IAWD,IAAuB,YAAY;QACjC,OAAO,kBAAkB,CAAC;IAC5B,CAAC;IAwBD,IAAY,aAAa;QACvB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM;SACtD,CAAC;IACJ,CAAC;IAED,IAAc,WAAW;QACvB,OAAO,kBAAkB,CAAC,IAAI,CAAC,EAAE,KAAK,KAAK,UAAU,CAAC;IACxD,CAAC;IA8GD,IAAW,KAAK,CAAC,KAAa;QAC5B,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,IAAW,KAAK;QACd,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;IAC/B,CAAC;IAwCe,AAAN,KAAK,CAAC,aAAa;QAC3B,MAAM,IAAI,CAAC,cAAc,CAAC;QAC1B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAIS,cAAc;QACtB,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;IAMD;QACE,KAAK,EAAE,CAAC;QA9MS,aAAQ,GAAG,YAAY,sBAAoB,CAAC,SAAS,EAAE,EAAE,CAAC;QA+FtE,aAAQ,GAAG,KAAK,CAAC;QAgBjB,aAAQ,GAAG,KAAK,CAAC;QASjB,WAAM,GAAmB,UAAU,CAAC;QASpC,SAAI,GAAG,CAAC,CAAC;QA8BA,eAAU,GAAG,IAAI,CAAC;QAU3B,SAAI,GAA4B,MAAM,CAAC;QASvC,iBAAY,GAAG,KAAK,CAAC;QA8B1B,8BAA8B,CAAC,IAAI,EAAE;YACnC,QAAQ,EAAE,IAAI,CAAC,cAAc;SAC9B,CAAC,CAAC;QAEH,IAAI,CAAC,UAAU,GAAG,oBAAoB,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAClD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAEkB,gBAAgB;QACjC,MAAM,IAAI,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACtC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,CAAC,KAAK,EAAE,EAAE,CAC5C,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAC9B,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAMS,iBAAiB;QACzB,OAAO;YACL,SAAS,EAAE,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YACnC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YACnC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK;SACrB,CAAC;IACJ,CAAC;IAEO,cAAc;QACpB,MAAM,EAAE,cAAc,EAAE,iBAAiB,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5E,OAAO,CACL,IAAI,CAAC,MAAM,CAAC,YAAY;YACxB,QAAQ,CAAC,cAAc,CAAC;YACxB,QAAQ,CAAC,iBAAiB,CAAC,CAC5B,CAAC;IACJ,CAAC;IAMS,iBAAiB,CAAC,EAAE,MAAM,EAAS;QAC3C,MAAM,IAAI,GAAG,MAAyB,CAAC;QAGvC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACf,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU;iBAC1B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC;iBACvC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;iBAC/B,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhB,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;YACrB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAES,YAAY;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACrD,CAAC;IAES,aAAa;QACrB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IACtD,CAAC;IAES,YAAY;QACpB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;IACrB,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAOM,MAAM;QACX,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACvB,CAAC;IAGM,iBAAiB,CACtB,KAAa,EACb,GAAW,EACX,YAAqC,MAAM;QAE3C,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,CAAC;IACvD,CAAC;IAGM,YAAY,CACjB,WAAmB,EACnB,KAAa,EACb,GAAW,EACX,aAAkC,UAAU;QAE5C,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,WAAW,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;IACjC,CAAC;IAMe,QAAQ,CAAC,CAAW,EAAE,CAAW;QAC/C,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI;YACpB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAW,EAAE,CAAW,CAAC;YAChD,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAoB,CAAC,CAAC;IACjD,CAAC;IAMS,aAAa;QACrB,OAAO,IAAI,CAAA;mCACoB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;;;KAGrD,CAAC;IACJ,CAAC;IAES,aAAa;QACrB,OAAO,IAAI,CAAA;mCACoB,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;;;KAGrD,CAAC;IACJ,CAAC;IAES,YAAY;QACpB,OAAO,IAAI,CAAC,KAAK;YACf,CAAC,CAAC,IAAI,CAAA;oCACwB,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ;cAC9C,IAAI,CAAC,KAAK;;SAEf;YACH,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IAES,eAAe;QACvB,OAAO,IAAI,CAAA;QACP,IAAI,CAAC,YAAY,EAAE;kBACT,WAAW,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;UAC7C,IAAI,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,aAAa,EAAE;;QAErE,IAAI,CAAC,0BAA0B,EAAE;KACpC,CAAC;IACJ,CAAC;IAES,eAAe;QACvB,OAAO,IAAI,CAAA;;eAEA,WAAW,CAAC;YACjB,GAAG,IAAI,CAAC,iBAAiB,EAAE;YAC3B,QAAQ,EAAE,IAAI,CAAC,KAAK;YACpB,WAAW,EAAE,IAAI,CAAC,WAAW;SAC9B,CAAC;;4BAEkB,IAAI,CAAC,aAAa,EAAE;UACtC,IAAI,CAAC,YAAY,EAAE;4BACD,IAAI,CAAC,YAAY,EAAE;;0BAErB,IAAI,CAAC,aAAa,EAAE;;QAEtC,IAAI,CAAC,0BAA0B,EAAE;KACpC,CAAC;IACJ,CAAC;IAES,YAAY;QACpB,OAAO,IAAI,CAAA;;;aAGF,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,QAAQ;;gBAErB,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;iBAC3B,IAAI,CAAC,YAAY;kBAChB,IAAI,CAAC,aAAa;sBACd,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC;gBACjC,IAAI,CAAC,IAAI;iBACR,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBACjB,IAAI,CAAC,IAAI;uBACF,SAAS,CAAC,IAAI,CAAC,YAAmB,CAAC;yBACjC,SAAS,CAAC,IAAI,CAAC,cAAqB,CAAC;oBAC1C,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;qBACxB,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC;oBAC3B,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC;oBACzB,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC;oBACzD,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;oBACb,IAAI,CAAC,QAAQ;uBACV,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;;KAEjD,CAAC;IACJ,CAAC;IAES,0BAA0B;QAClC,OAAO,+BAA+B,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;IAC5E,CAAC;;AA1bsB,4BAAO,GAAG,cAAc,AAAjB,CAAkB;AAClC,2BAAM,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,AAAnB,CAAoB;AAOvB,sCAAiB,GAAG;IACnC,GAAG,UAAU,CAAC,iBAAiB;IAC/B,cAAc,EAAE,IAAI;CACrB,AAHiC,CAGhC;AAIsB,8BAAS,GAAG,aAAa,EAAE,AAAlB,CAAmB;AAWnC;IADhB,kBAAkB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wDACD;AAMlB;IAJlB,qBAAqB,CAAC;QACrB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,+BAA+B;KAC1C,CAAC;uDAC2C;AAM1B;IAJlB,qBAAqB,CAAC;QACrB,IAAI,EAAE,QAAQ;QACd,QAAQ,EAAE,+BAA+B;KAC1C,CAAC;uDAC2C;AAG5B;IADhB,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC;oDACsB;AAwBvC;IADN,QAAQ,EAAE;0DACkB;AAUb;IADf,QAAQ,EAAE;4DAC6B;AAWxB;IADf,QAAQ,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;uDACF;AAQ5B;IADN,QAAQ,EAAE;mDACW;AASf;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;uDACzB;AAQnB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;uDACzB;AAOnB;IADN,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;sDACnB;AAQjB;IADN,QAAQ,EAAE;yDACiB;AAQrB;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,CAAC;sDAC1C;AASjB;IADN,QAAQ,EAAE;oDACgC;AASpC;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;kDACX;AAShB;IADC,QAAQ,EAAE;iDAIV;AAkBe;IAPf,QAAQ,CAAC;QACR,IAAI,EAAE,OAAO;QACb,SAAS,EAAE;YACT,aAAa,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,KAAK,KAAK,OAAO,CAAC;YACxD,WAAW,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;SACnD;KACF,CAAC;wDACgC;AAU3B;IADN,QAAQ,EAAE;kDACmC;AASvC;IADN,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,CAAC;0DAC3C;AAOZ;IADf,KAAK,CAAC,OAAO,CAAC;yDAId;AAIS;IAFT,KAAK,CAAC,MAAM,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;IAC7C,KAAK,CAAC,QAAQ,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;0DAQ/C;AAnOkB,oBAAoB;IADxC,MAAM,CAAC,GAAG,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;GACnB,oBAAoB,CAkcxC;eAlcoB,oBAAoB","sourcesContent":["import { LitElement, type TemplateResult, html, nothing } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n queryAssignedNodes,\n} from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { type StyleInfo, styleMap } from 'lit/directives/style-map.js';\n\nimport { getThemeController, themes } from '../../theming/theming-decorator.js';\nimport { createResizeObserverController } from '../common/controllers/resize-observer.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedRequiredMixin } from '../common/mixins/forms/associated-required.js';\nimport {\n type FormValue,\n createFormValueState,\n} from '../common/mixins/forms/form-value.js';\nimport {\n asNumber,\n createCounter,\n isEmpty,\n partNameMap,\n} from '../common/util.js';\nimport type {\n RangeTextSelectMode,\n SelectionRangeDirection,\n TextareaResize,\n} from '../types.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { styles as shared } from './themes/shared/textarea.common.css.js';\nimport { styles } from './themes/textarea.base.css.js';\nimport { all } from './themes/themes.js';\nimport { textAreaValidators } from './validators.js';\n\nexport interface IgcTextareaComponentEventMap {\n igcInput: CustomEvent<string>;\n igcChange: CustomEvent<string>;\n // For analyzer meta only:\n /* skipWCPrefix */\n focus: FocusEvent;\n /* skipWCPrefix */\n blur: FocusEvent;\n}\n\n/**\n * This element represents a multi-line plain-text editing control,\n * useful when you want to allow users to enter a sizeable amount of free-form text,\n * for example a comment on a review or feedback form.\n *\n * @element igc-textarea\n *\n * @slot - Text content from the default slot will be used as the value of the component.\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot helper-text - Renders content below the input.\n * @slot value-missing - Renders content when the required validation fails.\n * @slot too-long - Renders content when the maxlength validation fails.\n * @slot too-short - Renders content when the minlength 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 igcInput - Emitted when the control receives user input.\n * @fires igcChange - Emitted when the a change to the control value is committed by the user.\n *\n * @csspart container - The main wrapper that holds all main input elements of the textarea.\n * @csspart input - The native input element of the igc-textarea.\n * @csspart label - The native label element of the igc-textarea.\n * @csspart prefix - The prefix wrapper of the igc-textarea.\n * @csspart suffix - The suffix wrapper of the igc-textarea.\n * @csspart helper-text - The helper text wrapper of the igc-textarea.\n */\n@themes(all, { exposeController: true })\nexport default class IgcTextareaComponent extends FormAssociatedRequiredMixin(\n EventEmitterMixin<IgcTextareaComponentEventMap, Constructor<LitElement>>(\n LitElement\n )\n) {\n public static readonly tagName = 'igc-textarea';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcTextareaComponent, IgcValidationContainerComponent);\n }\n\n protected static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n //#region Private properties and state\n\n private static readonly increment = createCounter();\n\n protected override get __validators() {\n return textAreaValidators;\n }\n\n protected override readonly _formValue: FormValue<string>;\n\n protected readonly _inputId = `textarea-${IgcTextareaComponent.increment()}`;\n\n @queryAssignedNodes({ flatten: true })\n private readonly _projected!: Node[];\n\n @queryAssignedElements({\n slot: 'prefix',\n selector: '[slot=\"prefix\"]:not([hidden])',\n })\n protected readonly _prefixes!: HTMLElement[];\n\n @queryAssignedElements({\n slot: 'suffix',\n selector: '[slot=\"suffix\"]:not([hidden])',\n })\n protected readonly _suffixes!: HTMLElement[];\n\n @query('textarea', true)\n private readonly _input!: HTMLTextAreaElement;\n\n private get _resizeStyles(): StyleInfo {\n return {\n resize: this.resize === 'auto' ? 'none' : this.resize,\n };\n }\n\n protected get _isMaterial(): boolean {\n return getThemeController(this)?.theme === 'material';\n }\n\n //#endregion\n\n //#region Public properties and attributes\n\n /**\n * Specifies what if any permission the browser has to provide for automated assistance in filling out form field values,\n * as well as guidance to the browser as to the type of information expected in the field.\n * Refer to [this page](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for additional information.\n *\n * @attr\n */\n @property()\n public autocomplete!: string;\n\n /**\n * Controls whether and how text input is automatically capitalized as it is entered/edited by the user.\n *\n * [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize).\n *\n * @attr\n */\n @property()\n public override autocapitalize!: string;\n\n /**\n * Hints at the type of data that might be entered by the user while editing the element or its contents.\n * This allows a browser to display an appropriate virtual keyboard.\n *\n * [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode)\n *\n * @attr inputmode\n */\n @property({ attribute: 'inputmode' })\n public override inputMode!: string;\n\n /**\n * The label for the control.\n *\n * @attr\n */\n @property()\n public label!: string;\n\n /**\n * The maximum number of characters (UTF-16 code units) that the user can enter.\n * If this value isn't specified, the user can enter an unlimited number of characters.\n *\n * @attr maxlength\n */\n @property({ type: Number, attribute: 'maxlength' })\n public maxLength!: number;\n\n /**\n * The minimum number of characters (UTF-16 code units) required that the user should enter.\n *\n * @attr minlength\n */\n @property({ type: Number, attribute: 'minlength' })\n public minLength!: number;\n\n /**\n * Whether the control will have outlined appearance.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public outlined = false;\n\n /**\n * The placeholder attribute of the control.\n *\n * @attr\n */\n @property()\n public placeholder!: string;\n\n /**\n * Makes the control a readonly field.\n *\n * @attr readonly\n */\n @property({ type: Boolean, reflect: true, attribute: 'readonly' })\n public readOnly = false;\n\n /**\n * Controls whether the control can be resized.\n * When `auto` is set, the control will try to expand and fit its content.\n *\n * @attr\n */\n @property()\n public resize: TextareaResize = 'vertical';\n\n /**\n * The number of visible text lines for the control. If it is specified, it must be a positive integer.\n * If it is not specified, the default value is 2.\n *\n * @attr\n */\n @property({ type: Number })\n public rows = 2;\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail\", false) */\n /**\n * The value of the component\n *\n * @attr\n */\n @property()\n public set value(value: string) {\n this._formValue.setValueAndFormState(value);\n this._validate();\n }\n\n public get value(): string {\n return this._formValue.value;\n }\n\n /**\n * Controls whether the element may be checked for spelling errors.\n *\n * @attr\n */\n @property({\n type: Boolean,\n converter: {\n fromAttribute: (value) => !(!value || value === 'false'),\n toAttribute: (value) => (value ? 'true' : 'false'),\n },\n })\n public override spellcheck = true;\n\n /**\n * Indicates how the control should wrap the value for form submission.\n * Refer to [this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attributes)\n * for explanation of the available values.\n *\n * @attr\n */\n @property()\n public wrap: 'hard' | 'soft' | 'off' = 'soft';\n\n /**\n * Enables validation rules to be evaluated without restricting user input. This applies to the `maxLength` property\n * when it is defined.\n *\n * @attr validate-only\n */\n @property({ type: Boolean, reflect: true, attribute: 'validate-only' })\n public validateOnly = false;\n\n //#endregion\n\n //#region Watchers\n\n @watch('value')\n protected async _valueChanged(): Promise<void> {\n await this.updateComplete;\n this._setAreaHeight();\n }\n\n @watch('rows', { waitUntilFirstUpdate: true })\n @watch('resize', { waitUntilFirstUpdate: true })\n protected _setAreaHeight(): void {\n if (this.resize === 'auto') {\n this._input.style.height = 'auto';\n this._input.style.height = `${this._setAutoHeight()}px`;\n } else {\n Object.assign(this._input.style, { height: undefined });\n }\n }\n\n //#endregion\n\n //#region Life-cycle hooks\n\n constructor() {\n super();\n\n createResizeObserverController(this, {\n callback: this._setAreaHeight,\n });\n\n this._formValue = createFormValueState(this, { initialValue: '' });\n\n this.addEventListener('focus', this._handleFocus);\n this.addEventListener('blur', this._handleBlur);\n }\n\n protected override createRenderRoot(): HTMLElement | DocumentFragment {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', (event) =>\n this._handleSlotChange(event)\n );\n return root;\n }\n\n //#endregion\n\n //#region Internal methods\n\n protected _resolvePartNames() {\n return {\n container: true,\n prefixed: this._prefixes.length > 0,\n suffixed: this._suffixes.length > 0,\n filled: !!this.value,\n };\n }\n\n private _setAutoHeight(): number {\n const { borderTopWidth, borderBottomWidth } = getComputedStyle(this._input);\n return (\n this._input.scrollHeight +\n asNumber(borderTopWidth) +\n asNumber(borderBottomWidth)\n );\n }\n\n //#endregion\n\n //#region Event handlers\n\n protected _handleSlotChange({ target }: Event): void {\n const slot = target as HTMLSlotElement;\n\n // Default slot used for declarative value projection\n if (!slot.name) {\n const value = this._projected\n .map((node) => node.textContent?.trim())\n .filter((node) => Boolean(node))\n .join('\\r\\n');\n\n if (value !== this.value) {\n this.value = value;\n }\n }\n\n this.requestUpdate();\n }\n\n protected _handleInput(): void {\n this.value = this._input.value;\n this.emitEvent('igcInput', { detail: this.value });\n }\n\n protected _handleChange(): void {\n this.value = this._input.value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n protected _handleFocus(): void {\n this._dirty = true;\n }\n\n protected _handleBlur(): void {\n this._validate();\n }\n\n //#endregion\n\n //#region Public methods\n\n /** Selects all text within the control. */\n public select(): void {\n this._input.select();\n }\n\n /** Sets the text selection range of the control */\n public setSelectionRange(\n start: number,\n end: number,\n direction: SelectionRangeDirection = 'none'\n ): void {\n this._input.setSelectionRange(start, end, direction);\n }\n\n /** Replaces the selected text in the control. */\n public setRangeText(\n replacement: string,\n start: number,\n end: number,\n selectMode: RangeTextSelectMode = 'preserve'\n ): void {\n this._input.setRangeText(replacement, start, end, selectMode);\n this.value = this._input.value;\n }\n\n /* blazorSuppress */\n public override scrollTo(options?: ScrollToOptions | undefined): void;\n /* blazorSuppress */\n public override scrollTo(x: number, y: number): void;\n public override scrollTo(x?: unknown, y?: unknown): void {\n x != null && y != null\n ? this._input.scrollTo(x as number, y as number)\n : this._input.scrollTo(x as ScrollToOptions);\n }\n\n //#endregion\n\n //#region Renderers\n\n protected _renderPrefix() {\n return html`\n <div part=\"prefix\" .hidden=${isEmpty(this._prefixes)}>\n <slot name=\"prefix\"></slot>\n </div>\n `;\n }\n\n protected _renderSuffix() {\n return html`\n <div part=\"suffix\" .hidden=${isEmpty(this._suffixes)}>\n <slot name=\"suffix\"></slot>\n </div>\n `;\n }\n\n protected _renderLabel() {\n return this.label\n ? html`\n <label part=\"label\" for=${this.id || this._inputId}>\n ${this.label}\n </label>\n `\n : nothing;\n }\n\n protected _renderStandard() {\n return html`\n ${this._renderLabel()}\n <div part=${partNameMap(this._resolvePartNames())}>\n ${this._renderPrefix()} ${this._renderInput()} ${this._renderSuffix()}\n </div>\n ${this._renderValidationContainer()}\n `;\n }\n\n protected _renderMaterial() {\n return html`\n <div\n part=${partNameMap({\n ...this._resolvePartNames(),\n labelled: this.label,\n placeholder: this.placeholder,\n })}\n >\n <div part=\"start\">${this._renderPrefix()}</div>\n ${this._renderInput()}\n <div part=\"notch\">${this._renderLabel()}</div>\n <div part=\"filler\"></div>\n <div part=\"end\">${this._renderSuffix()}</div>\n </div>\n ${this._renderValidationContainer()}\n `;\n }\n\n protected _renderInput() {\n return html`\n <slot style=\"display: none\"></slot>\n <textarea\n id=${this.id || this._inputId}\n part=\"input\"\n style=${styleMap(this._resizeStyles)}\n @input=${this._handleInput}\n @change=${this._handleChange}\n placeholder=${ifDefined(this.placeholder)}\n .rows=${this.rows}\n .value=${live(this.value)}\n .wrap=${this.wrap}\n autocomplete=${ifDefined(this.autocomplete as any)}\n autocapitalize=${ifDefined(this.autocapitalize as any)}\n inputmode=${ifDefined(this.inputMode)}\n spellcheck=${ifDefined(this.spellcheck)}\n minlength=${ifDefined(this.minLength)}\n maxlength=${ifDefined(this.validateOnly ? undefined : this.maxLength)}\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?readonly=${this.readOnly}\n aria-invalid=${this.invalid ? 'true' : 'false'}\n ></textarea>\n `;\n }\n\n protected _renderValidationContainer(): TemplateResult {\n return IgcValidationContainerComponent.create(this);\n }\n\n protected override render() {\n return this._isMaterial ? this._renderMaterial() : this._renderStandard();\n }\n\n //#endregion\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-textarea': IgcTextareaComponent;\n }\n}\n"]}
1
+ {"version":3,"file":"textarea.js","sourceRoot":"","sources":["../../../src/components/textarea/textarea.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, type TemplateResult, html, nothing } from 'lit';\nimport {\n property,\n query,\n queryAssignedElements,\n queryAssignedNodes,\n} from 'lit/decorators.js';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport { live } from 'lit/directives/live.js';\nimport { type StyleInfo, styleMap } from 'lit/directives/style-map.js';\n\nimport { getThemeController, themes } from '../../theming/theming-decorator.js';\nimport { createResizeObserverController } from '../common/controllers/resize-observer.js';\nimport { watch } from '../common/decorators/watch.js';\nimport { registerComponent } from '../common/definitions/register.js';\nimport type { Constructor } from '../common/mixins/constructor.js';\nimport { EventEmitterMixin } from '../common/mixins/event-emitter.js';\nimport { FormAssociatedRequiredMixin } from '../common/mixins/forms/associated-required.js';\nimport {\n type FormValueOf,\n createFormValueState,\n} from '../common/mixins/forms/form-value.js';\nimport { partMap } from '../common/part-map.js';\nimport { asNumber, createCounter, isEmpty } from '../common/util.js';\nimport type {\n RangeTextSelectMode,\n SelectionRangeDirection,\n TextareaResize,\n} from '../types.js';\nimport IgcValidationContainerComponent from '../validation-container/validation-container.js';\nimport { styles as shared } from './themes/shared/textarea.common.css.js';\nimport { styles } from './themes/textarea.base.css.js';\nimport { all } from './themes/themes.js';\nimport { textAreaValidators } from './validators.js';\n\nexport interface IgcTextareaComponentEventMap {\n igcInput: CustomEvent<string>;\n igcChange: CustomEvent<string>;\n // For analyzer meta only:\n /* skipWCPrefix */\n focus: FocusEvent;\n /* skipWCPrefix */\n blur: FocusEvent;\n}\n\n/**\n * This element represents a multi-line plain-text editing control,\n * useful when you want to allow users to enter a sizeable amount of free-form text,\n * for example a comment on a review or feedback form.\n *\n * @element igc-textarea\n *\n * @slot - Text content from the default slot will be used as the value of the component.\n * @slot prefix - Renders content before the input.\n * @slot suffix - Renders content after input.\n * @slot helper-text - Renders content below the input.\n * @slot value-missing - Renders content when the required validation fails.\n * @slot too-long - Renders content when the maxlength validation fails.\n * @slot too-short - Renders content when the minlength 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 igcInput - Emitted when the control receives user input.\n * @fires igcChange - Emitted when the a change to the control value is committed by the user.\n *\n * @csspart container - The main wrapper that holds all main input elements of the textarea.\n * @csspart input - The native input element of the igc-textarea.\n * @csspart label - The native label element of the igc-textarea.\n * @csspart prefix - The prefix wrapper of the igc-textarea.\n * @csspart suffix - The suffix wrapper of the igc-textarea.\n * @csspart helper-text - The helper text wrapper of the igc-textarea.\n */\n@themes(all, { exposeController: true })\nexport default class IgcTextareaComponent extends FormAssociatedRequiredMixin(\n EventEmitterMixin<IgcTextareaComponentEventMap, Constructor<LitElement>>(\n LitElement\n )\n) {\n public static readonly tagName = 'igc-textarea';\n public static styles = [styles, shared];\n\n /* blazorSuppress */\n public static register(): void {\n registerComponent(IgcTextareaComponent, IgcValidationContainerComponent);\n }\n\n protected static shadowRootOptions = {\n ...LitElement.shadowRootOptions,\n delegatesFocus: true,\n };\n\n //#region Private properties and state\n\n private static readonly increment = createCounter();\n\n protected override get __validators() {\n return textAreaValidators;\n }\n\n protected override readonly _formValue: FormValueOf<string> =\n createFormValueState(this, { initialValue: '' });\n\n protected readonly _inputId = `textarea-${IgcTextareaComponent.increment()}`;\n\n @queryAssignedNodes({ flatten: true })\n private readonly _projected!: Node[];\n\n @queryAssignedElements({\n slot: 'prefix',\n selector: '[slot=\"prefix\"]:not([hidden])',\n })\n protected readonly _prefixes!: HTMLElement[];\n\n @queryAssignedElements({\n slot: 'suffix',\n selector: '[slot=\"suffix\"]:not([hidden])',\n })\n protected readonly _suffixes!: HTMLElement[];\n\n @query('textarea', true)\n private readonly _input!: HTMLTextAreaElement;\n\n private get _resizeStyles(): StyleInfo {\n return {\n resize: this.resize === 'auto' ? 'none' : this.resize,\n };\n }\n\n protected get _isMaterial(): boolean {\n return getThemeController(this)?.theme === 'material';\n }\n\n //#endregion\n\n //#region Public properties and attributes\n\n /**\n * Specifies what if any permission the browser has to provide for automated assistance in filling out form field values,\n * as well as guidance to the browser as to the type of information expected in the field.\n * Refer to [this page](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for additional information.\n *\n * @attr\n */\n @property()\n public autocomplete!: string;\n\n /**\n * Controls whether and how text input is automatically capitalized as it is entered/edited by the user.\n *\n * [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/autocapitalize).\n *\n * @attr\n */\n @property()\n public override autocapitalize!: string;\n\n /**\n * Hints at the type of data that might be entered by the user while editing the element or its contents.\n * This allows a browser to display an appropriate virtual keyboard.\n *\n * [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/inputmode)\n *\n * @attr inputmode\n */\n @property({ attribute: 'inputmode' })\n public override inputMode!: string;\n\n /**\n * The label for the control.\n *\n * @attr\n */\n @property()\n public label!: string;\n\n /**\n * The maximum number of characters (UTF-16 code units) that the user can enter.\n * If this value isn't specified, the user can enter an unlimited number of characters.\n *\n * @attr maxlength\n */\n @property({ type: Number, attribute: 'maxlength' })\n public maxLength!: number;\n\n /**\n * The minimum number of characters (UTF-16 code units) required that the user should enter.\n *\n * @attr minlength\n */\n @property({ type: Number, attribute: 'minlength' })\n public minLength!: number;\n\n /**\n * Whether the control will have outlined appearance.\n * @attr\n */\n @property({ reflect: true, type: Boolean })\n public outlined = false;\n\n /**\n * The placeholder attribute of the control.\n *\n * @attr\n */\n @property()\n public placeholder!: string;\n\n /**\n * Makes the control a readonly field.\n *\n * @attr readonly\n */\n @property({ type: Boolean, reflect: true, attribute: 'readonly' })\n public readOnly = false;\n\n /**\n * Controls whether the control can be resized.\n * When `auto` is set, the control will try to expand and fit its content.\n *\n * @attr\n */\n @property()\n public resize: TextareaResize = 'vertical';\n\n /**\n * The number of visible text lines for the control. If it is specified, it must be a positive integer.\n * If it is not specified, the default value is 2.\n *\n * @attr\n */\n @property({ type: Number })\n public rows = 2;\n\n /* @tsTwoWayProperty(true, \"igcChange\", \"detail\", false) */\n /**\n * The value of the component\n *\n * @attr\n */\n @property()\n public set value(value: string) {\n this._formValue.setValueAndFormState(value);\n this._validate();\n }\n\n public get value(): string {\n return this._formValue.value;\n }\n\n /**\n * Controls whether the element may be checked for spelling errors.\n *\n * @attr\n */\n @property({\n type: Boolean,\n converter: {\n fromAttribute: (value) => !(!value || value === 'false'),\n toAttribute: (value) => (value ? 'true' : 'false'),\n },\n })\n public override spellcheck = true;\n\n /**\n * Indicates how the control should wrap the value for form submission.\n * Refer to [this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/textarea#attributes)\n * for explanation of the available values.\n *\n * @attr\n */\n @property()\n public wrap: 'hard' | 'soft' | 'off' = 'soft';\n\n /**\n * Enables validation rules to be evaluated without restricting user input. This applies to the `maxLength` property\n * when it is defined.\n *\n * @attr validate-only\n */\n @property({ type: Boolean, reflect: true, attribute: 'validate-only' })\n public validateOnly = false;\n\n //#endregion\n\n //#region Watchers\n\n @watch('value')\n protected async _valueChanged(): Promise<void> {\n await this.updateComplete;\n this._setAreaHeight();\n }\n\n @watch('rows', { waitUntilFirstUpdate: true })\n @watch('resize', { waitUntilFirstUpdate: true })\n protected _setAreaHeight(): void {\n if (this.resize === 'auto') {\n this._input.style.height = 'auto';\n this._input.style.height = `${this._setAutoHeight()}px`;\n } else {\n Object.assign(this._input.style, { height: undefined });\n }\n }\n\n //#endregion\n\n //#region Life-cycle hooks\n\n constructor() {\n super();\n\n createResizeObserverController(this, {\n callback: this._setAreaHeight,\n });\n\n this.addEventListener('focus', this._handleFocus);\n this.addEventListener('blur', this._handleBlur);\n }\n\n protected override createRenderRoot(): HTMLElement | DocumentFragment {\n const root = super.createRenderRoot();\n root.addEventListener('slotchange', (event) =>\n this._handleSlotChange(event)\n );\n return root;\n }\n\n //#endregion\n\n //#region Internal methods\n\n protected _resolvePartNames() {\n return {\n container: true,\n prefixed: this._prefixes.length > 0,\n suffixed: this._suffixes.length > 0,\n filled: !!this.value,\n };\n }\n\n private _setAutoHeight(): number {\n const { borderTopWidth, borderBottomWidth } = getComputedStyle(this._input);\n return (\n this._input.scrollHeight +\n asNumber(borderTopWidth) +\n asNumber(borderBottomWidth)\n );\n }\n\n //#endregion\n\n //#region Event handlers\n\n protected _handleSlotChange({ target }: Event): void {\n const slot = target as HTMLSlotElement;\n\n // Default slot used for declarative value projection\n if (!slot.name) {\n const value = this._projected\n .map((node) => node.textContent?.trim())\n .filter((node) => Boolean(node))\n .join('\\r\\n');\n\n if (value !== this.value) {\n this.value = value;\n }\n }\n\n this.requestUpdate();\n }\n\n protected _handleInput(): void {\n this.value = this._input.value;\n this.emitEvent('igcInput', { detail: this.value });\n }\n\n protected _handleChange(): void {\n this.value = this._input.value;\n this.emitEvent('igcChange', { detail: this.value });\n }\n\n protected _handleFocus(): void {\n this._dirty = true;\n }\n\n protected _handleBlur(): void {\n this._validate();\n }\n\n //#endregion\n\n //#region Public methods\n\n /** Selects all text within the control. */\n public select(): void {\n this._input.select();\n }\n\n /** Sets the text selection range of the control */\n public setSelectionRange(\n start: number,\n end: number,\n direction: SelectionRangeDirection = 'none'\n ): void {\n this._input.setSelectionRange(start, end, direction);\n }\n\n /** Replaces the selected text in the control. */\n public setRangeText(\n replacement: string,\n start: number,\n end: number,\n selectMode: RangeTextSelectMode = 'preserve'\n ): void {\n this._input.setRangeText(replacement, start, end, selectMode);\n this.value = this._input.value;\n }\n\n /* blazorSuppress */\n public override scrollTo(options?: ScrollToOptions | undefined): void;\n /* blazorSuppress */\n public override scrollTo(x: number, y: number): void;\n public override scrollTo(x?: unknown, y?: unknown): void {\n x != null && y != null\n ? this._input.scrollTo(x as number, y as number)\n : this._input.scrollTo(x as ScrollToOptions);\n }\n\n //#endregion\n\n //#region Renderers\n\n protected _renderPrefix() {\n return html`\n <div part=\"prefix\" .hidden=${isEmpty(this._prefixes)}>\n <slot name=\"prefix\"></slot>\n </div>\n `;\n }\n\n protected _renderSuffix() {\n return html`\n <div part=\"suffix\" .hidden=${isEmpty(this._suffixes)}>\n <slot name=\"suffix\"></slot>\n </div>\n `;\n }\n\n protected _renderLabel() {\n return this.label\n ? html`\n <label part=\"label\" for=${this.id || this._inputId}>\n ${this.label}\n </label>\n `\n : nothing;\n }\n\n protected _renderStandard() {\n return html`\n ${this._renderLabel()}\n <div part=${partMap(this._resolvePartNames())}>\n ${this._renderPrefix()} ${this._renderInput()} ${this._renderSuffix()}\n </div>\n ${this._renderValidationContainer()}\n `;\n }\n\n protected _renderMaterial() {\n return html`\n <div\n part=${partMap({\n ...this._resolvePartNames(),\n labelled: !!this.label,\n placeholder: !!this.placeholder,\n })}\n >\n <div part=\"start\">${this._renderPrefix()}</div>\n ${this._renderInput()}\n <div part=\"notch\">${this._renderLabel()}</div>\n <div part=\"filler\"></div>\n <div part=\"end\">${this._renderSuffix()}</div>\n </div>\n ${this._renderValidationContainer()}\n `;\n }\n\n protected _renderInput() {\n return html`\n <slot style=\"display: none\"></slot>\n <textarea\n id=${this.id || this._inputId}\n part=\"input\"\n style=${styleMap(this._resizeStyles)}\n @input=${this._handleInput}\n @change=${this._handleChange}\n placeholder=${ifDefined(this.placeholder)}\n .rows=${this.rows}\n .value=${live(this.value)}\n .wrap=${this.wrap}\n autocomplete=${ifDefined(this.autocomplete as any)}\n autocapitalize=${ifDefined(this.autocapitalize as any)}\n inputmode=${ifDefined(this.inputMode)}\n spellcheck=${ifDefined(this.spellcheck)}\n minlength=${ifDefined(this.minLength)}\n maxlength=${ifDefined(this.validateOnly ? undefined : this.maxLength)}\n ?disabled=${this.disabled}\n ?required=${this.required}\n ?readonly=${this.readOnly}\n aria-invalid=${this.invalid ? 'true' : 'false'}\n ></textarea>\n `;\n }\n\n protected _renderValidationContainer(): TemplateResult {\n return IgcValidationContainerComponent.create(this);\n }\n\n protected override render() {\n return this._isMaterial ? this._renderMaterial() : this._renderStandard();\n }\n\n //#endregion\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'igc-textarea': IgcTextareaComponent;\n }\n}\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--input-prefix-background: var(--ig-textarea-input-prefix-background, var(--ig-gray-300));--input-prefix-color: var(--ig-textarea-input-prefix-color, var(--ig-gray-800));--input-prefix-background--filled: var(--ig-textarea-input-prefix-background--filled, var(--ig-gray-300));--input-prefix-background--focused: var(--ig-textarea-input-prefix-background--focused, var(--ig-gray-300));--input-suffix-background: var(--ig-textarea-input-suffix-background, var(--ig-gray-300));--input-suffix-color: var(--ig-textarea-input-suffix-color, var(--ig-gray-800));--input-suffix-background--filled: var(--ig-textarea-input-suffix-background--filled, var(--ig-gray-300));--input-suffix-background--focused: var(--ig-textarea-input-suffix-background--focused, var(--ig-gray-300));--disabled-text-color: var(--ig-textarea-disabled-text-color, var(--ig-gray-400));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--interim-bottom-line-color: var(--ig-textarea-interim-bottom-line-color, var(--ig-primary-500));--border-disabled-background: var(--ig-textarea-border-disabled-background, var(--ig-gray-100));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, var(--ig-gray-400));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.375rem, -1 * 2.375rem), var(--is-small, 1) * max(1.9375rem, -1 * 1.9375rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: bootstrap}`;
2
+ export const styles = css `:host{--input-prefix-background: var(--ig-textarea-input-prefix-background, var(--ig-gray-300));--input-prefix-color: var(--ig-textarea-input-prefix-color, var(--ig-gray-800));--input-prefix-background--filled: var(--ig-textarea-input-prefix-background--filled, var(--ig-gray-300));--input-prefix-background--focused: var(--ig-textarea-input-prefix-background--focused, var(--ig-gray-300));--input-suffix-background: var(--ig-textarea-input-suffix-background, var(--ig-gray-300));--input-suffix-color: var(--ig-textarea-input-suffix-color, var(--ig-gray-800));--input-suffix-background--filled: var(--ig-textarea-input-suffix-background--filled, var(--ig-gray-300));--input-suffix-background--focused: var(--ig-textarea-input-suffix-background--focused, var(--ig-gray-300));--disabled-text-color: var(--ig-textarea-disabled-text-color, var(--ig-gray-400));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--border-disabled-background: var(--ig-textarea-border-disabled-background, var(--ig-gray-100));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, var(--ig-gray-400));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.375rem, -1 * 2.375rem), var(--is-small, 1) * max(1.9375rem, -1 * 1.9375rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: bootstrap}`;
3
3
  //# sourceMappingURL=textarea.bootstrap.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/textarea/themes/dark/textarea.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,utDAAutD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--input-prefix-background: var(--ig-textarea-input-prefix-background, var(--ig-gray-300));--input-prefix-color: var(--ig-textarea-input-prefix-color, var(--ig-gray-800));--input-prefix-background--filled: var(--ig-textarea-input-prefix-background--filled, var(--ig-gray-300));--input-prefix-background--focused: var(--ig-textarea-input-prefix-background--focused, var(--ig-gray-300));--input-suffix-background: var(--ig-textarea-input-suffix-background, var(--ig-gray-300));--input-suffix-color: var(--ig-textarea-input-suffix-color, var(--ig-gray-800));--input-suffix-background--filled: var(--ig-textarea-input-suffix-background--filled, var(--ig-gray-300));--input-suffix-background--focused: var(--ig-textarea-input-suffix-background--focused, var(--ig-gray-300));--disabled-text-color: var(--ig-textarea-disabled-text-color, var(--ig-gray-400));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--interim-bottom-line-color: var(--ig-textarea-interim-bottom-line-color, var(--ig-primary-500));--border-disabled-background: var(--ig-textarea-border-disabled-background, var(--ig-gray-100));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, var(--ig-gray-400));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.375rem, -1 * 2.375rem), var(--is-small, 1) * max(1.9375rem, -1 * 1.9375rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: bootstrap}`;\n"]}
1
+ {"version":3,"file":"textarea.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/textarea/themes/dark/textarea.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,snDAAsnD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--input-prefix-background: var(--ig-textarea-input-prefix-background, var(--ig-gray-300));--input-prefix-color: var(--ig-textarea-input-prefix-color, var(--ig-gray-800));--input-prefix-background--filled: var(--ig-textarea-input-prefix-background--filled, var(--ig-gray-300));--input-prefix-background--focused: var(--ig-textarea-input-prefix-background--focused, var(--ig-gray-300));--input-suffix-background: var(--ig-textarea-input-suffix-background, var(--ig-gray-300));--input-suffix-color: var(--ig-textarea-input-suffix-color, var(--ig-gray-800));--input-suffix-background--filled: var(--ig-textarea-input-suffix-background--filled, var(--ig-gray-300));--input-suffix-background--focused: var(--ig-textarea-input-suffix-background--focused, var(--ig-gray-300));--disabled-text-color: var(--ig-textarea-disabled-text-color, var(--ig-gray-400));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--border-disabled-background: var(--ig-textarea-border-disabled-background, var(--ig-gray-100));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, var(--ig-gray-400));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.375rem, -1 * 2.375rem), var(--is-small, 1) * max(1.9375rem, -1 * 1.9375rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: bootstrap}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--helper-text-color: var(--ig-textarea-helper-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--input-prefix-color: var(--ig-textarea-input-prefix-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-prefix-color--filled: var(--ig-textarea-input-prefix-color--filled, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-prefix-color--focused: var(--ig-textarea-input-prefix-color--focused, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color: var(--ig-textarea-input-suffix-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color--filled: var(--ig-textarea-input-suffix-color--filled, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color--focused: var(--ig-textarea-input-suffix-color--focused, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--idle-text-color: var(--ig-textarea-idle-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--filled-text-color: var(--ig-textarea-filled-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--filled-text-hover-color: var(--ig-textarea-filled-text-hover-color, var(--ig-gray-50-contrast));--focused-text-color: var(--ig-textarea-focused-text-color, var(--ig-gray-50-contrast));--disabled-text-color: var(--ig-textarea-disabled-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--idle-secondary-color: var(--ig-textarea-idle-secondary-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--idle-bottom-line-color: var(--ig-textarea-idle-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.4));--hover-bottom-line-color: var(--ig-textarea-hover-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--focused-bottom-line-color: var(--ig-textarea-focused-bottom-line-color, var(--ig-primary-400));--disabled-bottom-line-color: var(--ig-textarea-disabled-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.15));--hover-border-color: var(--ig-textarea-hover-border-color, var(--ig-gray-600));--focused-border-color: var(--ig-textarea-focused-border-color, var(--ig-primary-400));--search-disabled-background: var(--ig-textarea-search-disabled-background, transparent);--placeholder-color: var(--ig-textarea-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--hover-placeholder-color: var(--ig-textarea-hover-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--box-background: var(--ig-textarea-box-background, transparent);--box-background-hover: var(--ig-textarea-box-background-hover, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--box-disabled-background: var(--ig-textarea-box-disabled-background, transparent);--box-border-radius: var(--ig-textarea-box-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--border-border-radius: var(--ig-textarea-border-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--search-border-radius: var(--ig-textarea-search-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1) * 1.25rem), 1.25rem));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: indigo}`;
2
+ export const styles = css `:host{--helper-text-color: var(--ig-textarea-helper-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--input-prefix-color: var(--ig-textarea-input-prefix-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-prefix-color--filled: var(--ig-textarea-input-prefix-color--filled, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-prefix-color--focused: var(--ig-textarea-input-prefix-color--focused, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color: var(--ig-textarea-input-suffix-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color--filled: var(--ig-textarea-input-suffix-color--filled, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color--focused: var(--ig-textarea-input-suffix-color--focused, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--idle-text-color: var(--ig-textarea-idle-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--filled-text-color: var(--ig-textarea-filled-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--filled-text-hover-color: var(--ig-textarea-filled-text-hover-color, var(--ig-gray-50-contrast));--focused-text-color: var(--ig-textarea-focused-text-color, var(--ig-gray-50-contrast));--disabled-text-color: var(--ig-textarea-disabled-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--idle-secondary-color: var(--ig-textarea-idle-secondary-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--idle-bottom-line-color: var(--ig-textarea-idle-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.4));--hover-bottom-line-color: var(--ig-textarea-hover-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--focused-bottom-line-color: var(--ig-textarea-focused-bottom-line-color, var(--ig-primary-400));--disabled-bottom-line-color: var(--ig-textarea-disabled-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.15));--hover-border-color: var(--ig-textarea-hover-border-color, var(--ig-gray-600));--focused-border-color: var(--ig-textarea-focused-border-color, var(--ig-primary-400));--search-disabled-background: var(--ig-textarea-search-disabled-background, transparent);--placeholder-color: var(--ig-textarea-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--hover-placeholder-color: var(--ig-textarea-hover-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--box-background: var(--ig-textarea-box-background, transparent);--box-background-hover: var(--ig-textarea-box-background-hover, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--box-background-focus: var(--ig-textarea-box-background-focus, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--box-disabled-background: var(--ig-textarea-box-disabled-background, transparent);--box-border-radius: var(--ig-textarea-box-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--border-border-radius: var(--ig-textarea-border-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--search-border-radius: var(--ig-textarea-search-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1) * 1.25rem), 1.25rem));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: indigo}`;
3
3
  //# sourceMappingURL=textarea.indigo.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/textarea/themes/dark/textarea.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,qqHAAqqH,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--helper-text-color: var(--ig-textarea-helper-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--input-prefix-color: var(--ig-textarea-input-prefix-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-prefix-color--filled: var(--ig-textarea-input-prefix-color--filled, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-prefix-color--focused: var(--ig-textarea-input-prefix-color--focused, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color: var(--ig-textarea-input-suffix-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color--filled: var(--ig-textarea-input-suffix-color--filled, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color--focused: var(--ig-textarea-input-suffix-color--focused, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--idle-text-color: var(--ig-textarea-idle-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--filled-text-color: var(--ig-textarea-filled-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--filled-text-hover-color: var(--ig-textarea-filled-text-hover-color, var(--ig-gray-50-contrast));--focused-text-color: var(--ig-textarea-focused-text-color, var(--ig-gray-50-contrast));--disabled-text-color: var(--ig-textarea-disabled-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--idle-secondary-color: var(--ig-textarea-idle-secondary-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--idle-bottom-line-color: var(--ig-textarea-idle-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.4));--hover-bottom-line-color: var(--ig-textarea-hover-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--focused-bottom-line-color: var(--ig-textarea-focused-bottom-line-color, var(--ig-primary-400));--disabled-bottom-line-color: var(--ig-textarea-disabled-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.15));--hover-border-color: var(--ig-textarea-hover-border-color, var(--ig-gray-600));--focused-border-color: var(--ig-textarea-focused-border-color, var(--ig-primary-400));--search-disabled-background: var(--ig-textarea-search-disabled-background, transparent);--placeholder-color: var(--ig-textarea-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--hover-placeholder-color: var(--ig-textarea-hover-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--box-background: var(--ig-textarea-box-background, transparent);--box-background-hover: var(--ig-textarea-box-background-hover, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--box-disabled-background: var(--ig-textarea-box-disabled-background, transparent);--box-border-radius: var(--ig-textarea-box-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--border-border-radius: var(--ig-textarea-border-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--search-border-radius: var(--ig-textarea-search-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1) * 1.25rem), 1.25rem));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: indigo}`;\n"]}
1
+ {"version":3,"file":"textarea.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/textarea/themes/dark/textarea.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,qxHAAqxH,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--helper-text-color: var(--ig-textarea-helper-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--input-prefix-color: var(--ig-textarea-input-prefix-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-prefix-color--filled: var(--ig-textarea-input-prefix-color--filled, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-prefix-color--focused: var(--ig-textarea-input-prefix-color--focused, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color: var(--ig-textarea-input-suffix-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color--filled: var(--ig-textarea-input-suffix-color--filled, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--input-suffix-color--focused: var(--ig-textarea-input-suffix-color--focused, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--idle-text-color: var(--ig-textarea-idle-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--filled-text-color: var(--ig-textarea-filled-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--filled-text-hover-color: var(--ig-textarea-filled-text-hover-color, var(--ig-gray-50-contrast));--focused-text-color: var(--ig-textarea-focused-text-color, var(--ig-gray-50-contrast));--disabled-text-color: var(--ig-textarea-disabled-text-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--idle-secondary-color: var(--ig-textarea-idle-secondary-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--idle-bottom-line-color: var(--ig-textarea-idle-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.4));--hover-bottom-line-color: var(--ig-textarea-hover-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--focused-bottom-line-color: var(--ig-textarea-focused-bottom-line-color, var(--ig-primary-400));--disabled-bottom-line-color: var(--ig-textarea-disabled-bottom-line-color, hsl(from var(--ig-gray-50-contrast) h s l/0.15));--hover-border-color: var(--ig-textarea-hover-border-color, var(--ig-gray-600));--focused-border-color: var(--ig-textarea-focused-border-color, var(--ig-primary-400));--search-disabled-background: var(--ig-textarea-search-disabled-background, transparent);--placeholder-color: var(--ig-textarea-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.6));--hover-placeholder-color: var(--ig-textarea-hover-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.8));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, hsl(from var(--ig-gray-50-contrast) h s l/0.2));--box-background: var(--ig-textarea-box-background, transparent);--box-background-hover: var(--ig-textarea-box-background-hover, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--box-background-focus: var(--ig-textarea-box-background-focus, hsl(from var(--ig-gray-50-contrast) h s l/0.1));--box-disabled-background: var(--ig-textarea-box-disabled-background, transparent);--box-border-radius: var(--ig-textarea-box-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--border-border-radius: var(--ig-textarea-border-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--search-border-radius: var(--ig-textarea-search-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1) * 1.25rem), 1.25rem));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: indigo}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--input-prefix-background: var(--ig-textarea-input-prefix-background, var(--ig-gray-300));--input-prefix-color: var(--ig-textarea-input-prefix-color, var(--ig-gray-800));--input-prefix-background--filled: var(--ig-textarea-input-prefix-background--filled, var(--ig-gray-300));--input-prefix-background--focused: var(--ig-textarea-input-prefix-background--focused, var(--ig-gray-300));--input-suffix-background: var(--ig-textarea-input-suffix-background, var(--ig-gray-300));--input-suffix-color: var(--ig-textarea-input-suffix-color, var(--ig-gray-800));--input-suffix-background--filled: var(--ig-textarea-input-suffix-background--filled, var(--ig-gray-300));--input-suffix-background--focused: var(--ig-textarea-input-suffix-background--focused, var(--ig-gray-300));--disabled-text-color: var(--ig-textarea-disabled-text-color, var(--ig-gray-400));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--interim-bottom-line-color: var(--ig-textarea-interim-bottom-line-color, var(--ig-primary-500));--border-disabled-background: var(--ig-textarea-border-disabled-background, var(--ig-gray-100));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, var(--ig-gray-400));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.375rem, -1 * 2.375rem), var(--is-small, 1) * max(1.9375rem, -1 * 1.9375rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: bootstrap}`;
2
+ export const styles = css `:host{--input-prefix-background: var(--ig-textarea-input-prefix-background, var(--ig-gray-300));--input-prefix-color: var(--ig-textarea-input-prefix-color, var(--ig-gray-800));--input-prefix-background--filled: var(--ig-textarea-input-prefix-background--filled, var(--ig-gray-300));--input-prefix-background--focused: var(--ig-textarea-input-prefix-background--focused, var(--ig-gray-300));--input-suffix-background: var(--ig-textarea-input-suffix-background, var(--ig-gray-300));--input-suffix-color: var(--ig-textarea-input-suffix-color, var(--ig-gray-800));--input-suffix-background--filled: var(--ig-textarea-input-suffix-background--filled, var(--ig-gray-300));--input-suffix-background--focused: var(--ig-textarea-input-suffix-background--focused, var(--ig-gray-300));--disabled-text-color: var(--ig-textarea-disabled-text-color, var(--ig-gray-400));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--border-disabled-background: var(--ig-textarea-border-disabled-background, var(--ig-gray-100));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, var(--ig-gray-400));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.375rem, -1 * 2.375rem), var(--is-small, 1) * max(1.9375rem, -1 * 1.9375rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: bootstrap}`;
3
3
  //# sourceMappingURL=textarea.bootstrap.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/textarea/themes/light/textarea.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,utDAAutD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--input-prefix-background: var(--ig-textarea-input-prefix-background, var(--ig-gray-300));--input-prefix-color: var(--ig-textarea-input-prefix-color, var(--ig-gray-800));--input-prefix-background--filled: var(--ig-textarea-input-prefix-background--filled, var(--ig-gray-300));--input-prefix-background--focused: var(--ig-textarea-input-prefix-background--focused, var(--ig-gray-300));--input-suffix-background: var(--ig-textarea-input-suffix-background, var(--ig-gray-300));--input-suffix-color: var(--ig-textarea-input-suffix-color, var(--ig-gray-800));--input-suffix-background--filled: var(--ig-textarea-input-suffix-background--filled, var(--ig-gray-300));--input-suffix-background--focused: var(--ig-textarea-input-suffix-background--focused, var(--ig-gray-300));--disabled-text-color: var(--ig-textarea-disabled-text-color, var(--ig-gray-400));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--interim-bottom-line-color: var(--ig-textarea-interim-bottom-line-color, var(--ig-primary-500));--border-disabled-background: var(--ig-textarea-border-disabled-background, var(--ig-gray-100));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, var(--ig-gray-400));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.375rem, -1 * 2.375rem), var(--is-small, 1) * max(1.9375rem, -1 * 1.9375rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: bootstrap}`;\n"]}
1
+ {"version":3,"file":"textarea.bootstrap.css.js","sourceRoot":"","sources":["../../../../../src/components/textarea/themes/light/textarea.bootstrap.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,snDAAsnD,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--input-prefix-background: var(--ig-textarea-input-prefix-background, var(--ig-gray-300));--input-prefix-color: var(--ig-textarea-input-prefix-color, var(--ig-gray-800));--input-prefix-background--filled: var(--ig-textarea-input-prefix-background--filled, var(--ig-gray-300));--input-prefix-background--focused: var(--ig-textarea-input-prefix-background--focused, var(--ig-gray-300));--input-suffix-background: var(--ig-textarea-input-suffix-background, var(--ig-gray-300));--input-suffix-color: var(--ig-textarea-input-suffix-color, var(--ig-gray-800));--input-suffix-background--filled: var(--ig-textarea-input-suffix-background--filled, var(--ig-gray-300));--input-suffix-background--focused: var(--ig-textarea-input-suffix-background--focused, var(--ig-gray-300));--disabled-text-color: var(--ig-textarea-disabled-text-color, var(--ig-gray-400));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, hsl(from var(--ig-primary-500) h s l/0.38));--border-disabled-background: var(--ig-textarea-border-disabled-background, var(--ig-gray-100));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, var(--ig-gray-400));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(3rem, -1 * 3rem), var(--is-medium, 1) * max(2.375rem, -1 * 2.375rem), var(--is-small, 1) * max(1.9375rem, -1 * 1.9375rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: bootstrap}`;\n"]}
@@ -1,3 +1,3 @@
1
1
  import { css } from 'lit';
2
- export const styles = css `:host{--input-prefix-color: var(--ig-textarea-input-prefix-color, var(--ig-gray-600));--input-prefix-color--filled: var(--ig-textarea-input-prefix-color--filled, var(--ig-gray-600));--input-prefix-color--focused: var(--ig-textarea-input-prefix-color--focused, var(--ig-gray-600));--input-suffix-color: var(--ig-textarea-input-suffix-color, var(--ig-gray-600));--input-suffix-color--filled: var(--ig-textarea-input-suffix-color--filled, var(--ig-gray-600));--input-suffix-color--focused: var(--ig-textarea-input-suffix-color--focused, var(--ig-gray-600));--idle-text-color: var(--ig-textarea-idle-text-color, var(--ig-gray-800));--filled-text-color: var(--ig-textarea-filled-text-color, var(--ig-gray-800));--disabled-text-color: var(--ig-textarea-disabled-text-color, hsl(from var(--ig-gray-900) h s l/0.2));--idle-secondary-color: var(--ig-textarea-idle-secondary-color, var(--ig-gray-600));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, var(--ig-gray-600));--idle-bottom-line-color: var(--ig-textarea-idle-bottom-line-color, var(--ig-gray-400));--hover-bottom-line-color: var(--ig-textarea-hover-bottom-line-color, var(--ig-gray-600));--focused-bottom-line-color: var(--ig-textarea-focused-bottom-line-color, var(--ig-primary-400));--disabled-bottom-line-color: var(--ig-textarea-disabled-bottom-line-color, hsl(from var(--ig-gray-900) h s l/0.05));--hover-border-color: var(--ig-textarea-hover-border-color, var(--ig-gray-600));--focused-border-color: var(--ig-textarea-focused-border-color, var(--ig-primary-400));--search-disabled-background: var(--ig-textarea-search-disabled-background, transparent);--placeholder-color: var(--ig-textarea-placeholder-color, var(--ig-gray-600));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, hsl(from var(--ig-gray-900) h s l/0.2));--box-background: var(--ig-textarea-box-background, transparent);--box-background-hover: var(--ig-textarea-box-background-hover, hsl(from var(--ig-gray-900) h s l/0.05));--box-disabled-background: var(--ig-textarea-box-disabled-background, transparent);--box-border-radius: var(--ig-textarea-box-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--border-border-radius: var(--ig-textarea-border-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--search-border-radius: var(--ig-textarea-search-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1) * 1.25rem), 1.25rem));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: indigo}`;
2
+ export const styles = css `:host{--input-prefix-color: var(--ig-textarea-input-prefix-color, var(--ig-gray-600));--input-prefix-color--filled: var(--ig-textarea-input-prefix-color--filled, var(--ig-gray-600));--input-prefix-color--focused: var(--ig-textarea-input-prefix-color--focused, var(--ig-gray-600));--input-suffix-color: var(--ig-textarea-input-suffix-color, var(--ig-gray-600));--input-suffix-color--filled: var(--ig-textarea-input-suffix-color--filled, var(--ig-gray-600));--input-suffix-color--focused: var(--ig-textarea-input-suffix-color--focused, var(--ig-gray-600));--idle-text-color: var(--ig-textarea-idle-text-color, var(--ig-gray-800));--filled-text-color: var(--ig-textarea-filled-text-color, var(--ig-gray-800));--disabled-text-color: var(--ig-textarea-disabled-text-color, hsl(from var(--ig-gray-900) h s l/0.2));--idle-secondary-color: var(--ig-textarea-idle-secondary-color, var(--ig-gray-600));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, var(--ig-gray-600));--idle-bottom-line-color: var(--ig-textarea-idle-bottom-line-color, var(--ig-gray-400));--hover-bottom-line-color: var(--ig-textarea-hover-bottom-line-color, var(--ig-gray-600));--focused-bottom-line-color: var(--ig-textarea-focused-bottom-line-color, var(--ig-primary-400));--disabled-bottom-line-color: var(--ig-textarea-disabled-bottom-line-color, hsl(from var(--ig-gray-900) h s l/0.05));--hover-border-color: var(--ig-textarea-hover-border-color, var(--ig-gray-600));--focused-border-color: var(--ig-textarea-focused-border-color, var(--ig-primary-400));--search-disabled-background: var(--ig-textarea-search-disabled-background, transparent);--placeholder-color: var(--ig-textarea-placeholder-color, var(--ig-gray-600));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, hsl(from var(--ig-gray-900) h s l/0.2));--box-background: var(--ig-textarea-box-background, transparent);--box-background-hover: var(--ig-textarea-box-background-hover, hsl(from var(--ig-gray-900) h s l/0.05));--box-background-focus: var(--ig-textarea-box-background-focus, hsl(from var(--ig-gray-900) h s l/0.05));--box-disabled-background: var(--ig-textarea-box-disabled-background, transparent);--box-border-radius: var(--ig-textarea-box-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--border-border-radius: var(--ig-textarea-border-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--search-border-radius: var(--ig-textarea-search-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1) * 1.25rem), 1.25rem));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: indigo}`;
3
3
  //# sourceMappingURL=textarea.indigo.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/textarea/themes/light/textarea.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,g4FAAg4F,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--input-prefix-color: var(--ig-textarea-input-prefix-color, var(--ig-gray-600));--input-prefix-color--filled: var(--ig-textarea-input-prefix-color--filled, var(--ig-gray-600));--input-prefix-color--focused: var(--ig-textarea-input-prefix-color--focused, var(--ig-gray-600));--input-suffix-color: var(--ig-textarea-input-suffix-color, var(--ig-gray-600));--input-suffix-color--filled: var(--ig-textarea-input-suffix-color--filled, var(--ig-gray-600));--input-suffix-color--focused: var(--ig-textarea-input-suffix-color--focused, var(--ig-gray-600));--idle-text-color: var(--ig-textarea-idle-text-color, var(--ig-gray-800));--filled-text-color: var(--ig-textarea-filled-text-color, var(--ig-gray-800));--disabled-text-color: var(--ig-textarea-disabled-text-color, hsl(from var(--ig-gray-900) h s l/0.2));--idle-secondary-color: var(--ig-textarea-idle-secondary-color, var(--ig-gray-600));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, var(--ig-gray-600));--idle-bottom-line-color: var(--ig-textarea-idle-bottom-line-color, var(--ig-gray-400));--hover-bottom-line-color: var(--ig-textarea-hover-bottom-line-color, var(--ig-gray-600));--focused-bottom-line-color: var(--ig-textarea-focused-bottom-line-color, var(--ig-primary-400));--disabled-bottom-line-color: var(--ig-textarea-disabled-bottom-line-color, hsl(from var(--ig-gray-900) h s l/0.05));--hover-border-color: var(--ig-textarea-hover-border-color, var(--ig-gray-600));--focused-border-color: var(--ig-textarea-focused-border-color, var(--ig-primary-400));--search-disabled-background: var(--ig-textarea-search-disabled-background, transparent);--placeholder-color: var(--ig-textarea-placeholder-color, var(--ig-gray-600));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, hsl(from var(--ig-gray-900) h s l/0.2));--box-background: var(--ig-textarea-box-background, transparent);--box-background-hover: var(--ig-textarea-box-background-hover, hsl(from var(--ig-gray-900) h s l/0.05));--box-disabled-background: var(--ig-textarea-box-disabled-background, transparent);--box-border-radius: var(--ig-textarea-box-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--border-border-radius: var(--ig-textarea-border-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--search-border-radius: var(--ig-textarea-search-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1) * 1.25rem), 1.25rem));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: indigo}`;\n"]}
1
+ {"version":3,"file":"textarea.indigo.css.js","sourceRoot":"","sources":["../../../../../src/components/textarea/themes/light/textarea.indigo.css.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA,y+FAAy+F,CAAC","sourcesContent":["import { css } from 'lit';\n\nexport const styles = css`:host{--input-prefix-color: var(--ig-textarea-input-prefix-color, var(--ig-gray-600));--input-prefix-color--filled: var(--ig-textarea-input-prefix-color--filled, var(--ig-gray-600));--input-prefix-color--focused: var(--ig-textarea-input-prefix-color--focused, var(--ig-gray-600));--input-suffix-color: var(--ig-textarea-input-suffix-color, var(--ig-gray-600));--input-suffix-color--filled: var(--ig-textarea-input-suffix-color--filled, var(--ig-gray-600));--input-suffix-color--focused: var(--ig-textarea-input-suffix-color--focused, var(--ig-gray-600));--idle-text-color: var(--ig-textarea-idle-text-color, var(--ig-gray-800));--filled-text-color: var(--ig-textarea-filled-text-color, var(--ig-gray-800));--disabled-text-color: var(--ig-textarea-disabled-text-color, hsl(from var(--ig-gray-900) h s l/0.2));--idle-secondary-color: var(--ig-textarea-idle-secondary-color, var(--ig-gray-600));--focused-secondary-color: var(--ig-textarea-focused-secondary-color, var(--ig-gray-600));--idle-bottom-line-color: var(--ig-textarea-idle-bottom-line-color, var(--ig-gray-400));--hover-bottom-line-color: var(--ig-textarea-hover-bottom-line-color, var(--ig-gray-600));--focused-bottom-line-color: var(--ig-textarea-focused-bottom-line-color, var(--ig-primary-400));--disabled-bottom-line-color: var(--ig-textarea-disabled-bottom-line-color, hsl(from var(--ig-gray-900) h s l/0.05));--hover-border-color: var(--ig-textarea-hover-border-color, var(--ig-gray-600));--focused-border-color: var(--ig-textarea-focused-border-color, var(--ig-primary-400));--search-disabled-background: var(--ig-textarea-search-disabled-background, transparent);--placeholder-color: var(--ig-textarea-placeholder-color, var(--ig-gray-600));--disabled-placeholder-color: var(--ig-textarea-disabled-placeholder-color, hsl(from var(--ig-gray-900) h s l/0.2));--box-background: var(--ig-textarea-box-background, transparent);--box-background-hover: var(--ig-textarea-box-background-hover, hsl(from var(--ig-gray-900) h s l/0.05));--box-background-focus: var(--ig-textarea-box-background-focus, hsl(from var(--ig-gray-900) h s l/0.05));--box-disabled-background: var(--ig-textarea-box-disabled-background, transparent);--box-border-radius: var(--ig-textarea-box-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--border-border-radius: var(--ig-textarea-border-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0) * 1.25rem), 1.25rem));--search-border-radius: var(--ig-textarea-search-border-radius, clamp(0rem, calc(var(--ig-radius-factor, 0.1) * 1.25rem), 1.25rem));--size: var(--ig-textarea-size, max(var(--is-large, 1) * max(2rem, -1 * 2rem), var(--is-medium, 1) * max(1.75rem, -1 * 1.75rem), var(--is-small, 1) * max(1.5rem, -1 * 1.5rem)));--search-resting-elevation: var(--ig-textarea-search-resting-elevation, var(--ig-elevation-0));--search-hover-elevation: var(--ig-textarea-search-hover-elevation, var(--ig-elevation-0));--search-disabled-elevation: var(--ig-textarea-search-disabled-elevation, var(--ig-elevation-0));--ig-theme: indigo}`;\n"]}