@educarehq/solaris-ui 0.3.0 → 0.3.2

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 (598) hide show
  1. package/fesm2022/educarehq-solaris-ui.mjs +12261 -0
  2. package/fesm2022/educarehq-solaris-ui.mjs.map +1 -0
  3. package/package.json +9 -5
  4. package/styles/_button.scss +510 -510
  5. package/styles/_dropdown-menu.scss +72 -72
  6. package/styles/_icon-button.scss +481 -481
  7. package/styles/_input.scss +255 -255
  8. package/styles/_popover.scss +73 -73
  9. package/styles/_theme.scss +46 -36
  10. package/styles/_toast.scss +9 -9
  11. package/styles/_tooltip.scss +3 -3
  12. package/styles/token/border/_border.scss +5 -0
  13. package/styles/token/border/_index.scss +1 -0
  14. package/styles/token/color/_dark.scss +78 -0
  15. package/styles/token/color/_high-contrast.scss +27 -0
  16. package/styles/token/color/_index.scss +3 -0
  17. package/styles/token/color/_light.scss +69 -0
  18. package/styles/token/density/_comfortable.scss +15 -0
  19. package/styles/token/density/_compact.scss +15 -0
  20. package/styles/token/density/_index.scss +2 -0
  21. package/styles/token/motion/_index.scss +2 -0
  22. package/styles/token/motion/_motion.scss +15 -0
  23. package/styles/token/motion/_reduced-motion.scss +15 -0
  24. package/styles/token/opacity/_index.scss +1 -0
  25. package/styles/token/opacity/_opacity.scss +4 -0
  26. package/styles/token/radius/_index.scss +1 -0
  27. package/styles/token/radius/_radius.scss +8 -0
  28. package/styles/token/shadow/_index.scss +1 -0
  29. package/styles/token/shadow/_shadow.scss +26 -0
  30. package/styles/token/spacing/_index.scss +1 -0
  31. package/styles/token/spacing/_spacing.scss +15 -0
  32. package/styles/token/typography/_font-family.scss +13 -0
  33. package/styles/token/typography/_index.scss +2 -0
  34. package/styles/token/typography/_typography.scss +25 -0
  35. package/styles/token/z-index/_index.scss +1 -0
  36. package/styles/token/z-index/_z-index.scss +10 -0
  37. package/types/educarehq-solaris-ui.d.ts +3201 -0
  38. package/educarehq-solaris-ui.d.ts +0 -5
  39. package/esm2022/educarehq-solaris-ui.js +0 -5
  40. package/esm2022/educarehq-solaris-ui.js.map +0 -1
  41. package/esm2022/index.js +0 -109
  42. package/esm2022/index.js.map +0 -1
  43. package/esm2022/lib/components/actions/button/directives/button-icon.directive.js +0 -17
  44. package/esm2022/lib/components/actions/button/directives/button-icon.directive.js.map +0 -1
  45. package/esm2022/lib/components/actions/button/directives/button.directive.js +0 -60
  46. package/esm2022/lib/components/actions/button/directives/button.directive.js.map +0 -1
  47. package/esm2022/lib/components/actions/button/index.js +0 -3
  48. package/esm2022/lib/components/actions/button/index.js.map +0 -1
  49. package/esm2022/lib/components/actions/button/model/button.types.js +0 -1
  50. package/esm2022/lib/components/actions/button/model/button.types.js.map +0 -1
  51. package/esm2022/lib/components/actions/button-group/component/button-group.component.js +0 -21
  52. package/esm2022/lib/components/actions/button-group/component/button-group.component.js.map +0 -1
  53. package/esm2022/lib/components/actions/button-group/model/button-group.types.js +0 -1
  54. package/esm2022/lib/components/actions/button-group/model/button-group.types.js.map +0 -1
  55. package/esm2022/lib/components/actions/icon-button/directives/icon-button-badge.directive.js +0 -17
  56. package/esm2022/lib/components/actions/icon-button/directives/icon-button-badge.directive.js.map +0 -1
  57. package/esm2022/lib/components/actions/icon-button/directives/icon-button.directive.js +0 -58
  58. package/esm2022/lib/components/actions/icon-button/directives/icon-button.directive.js.map +0 -1
  59. package/esm2022/lib/components/actions/icon-button/model/icon-button.types.js +0 -1
  60. package/esm2022/lib/components/actions/icon-button/model/icon-button.types.js.map +0 -1
  61. package/esm2022/lib/components/data-display/badge/component/badge.component.js +0 -24
  62. package/esm2022/lib/components/data-display/badge/component/badge.component.js.map +0 -1
  63. package/esm2022/lib/components/data-display/badge/directives/badge-icon.directive.js +0 -17
  64. package/esm2022/lib/components/data-display/badge/directives/badge-icon.directive.js.map +0 -1
  65. package/esm2022/lib/components/data-display/badge/index.js +0 -3
  66. package/esm2022/lib/components/data-display/badge/index.js.map +0 -1
  67. package/esm2022/lib/components/data-display/badge/model/badge.types.js +0 -1
  68. package/esm2022/lib/components/data-display/badge/model/badge.types.js.map +0 -1
  69. package/esm2022/lib/components/data-display/card/component/card.component.js +0 -20
  70. package/esm2022/lib/components/data-display/card/component/card.component.js.map +0 -1
  71. package/esm2022/lib/components/data-display/card/directives/card-actions.directive.js +0 -17
  72. package/esm2022/lib/components/data-display/card/directives/card-actions.directive.js.map +0 -1
  73. package/esm2022/lib/components/data-display/card/directives/card-content.directive.js +0 -17
  74. package/esm2022/lib/components/data-display/card/directives/card-content.directive.js.map +0 -1
  75. package/esm2022/lib/components/data-display/card/directives/card-description.directive.js +0 -17
  76. package/esm2022/lib/components/data-display/card/directives/card-description.directive.js.map +0 -1
  77. package/esm2022/lib/components/data-display/card/directives/card-footer.directive.js +0 -19
  78. package/esm2022/lib/components/data-display/card/directives/card-footer.directive.js.map +0 -1
  79. package/esm2022/lib/components/data-display/card/directives/card-header.directive.js +0 -17
  80. package/esm2022/lib/components/data-display/card/directives/card-header.directive.js.map +0 -1
  81. package/esm2022/lib/components/data-display/card/directives/card-media.directive.js +0 -17
  82. package/esm2022/lib/components/data-display/card/directives/card-media.directive.js.map +0 -1
  83. package/esm2022/lib/components/data-display/card/directives/card-title.directive.js +0 -17
  84. package/esm2022/lib/components/data-display/card/directives/card-title.directive.js.map +0 -1
  85. package/esm2022/lib/components/data-display/card/model/card.types.js +0 -1
  86. package/esm2022/lib/components/data-display/card/model/card.types.js.map +0 -1
  87. package/esm2022/lib/components/data-display/divider/component/divider.component.js +0 -46
  88. package/esm2022/lib/components/data-display/divider/component/divider.component.js.map +0 -1
  89. package/esm2022/lib/components/data-display/divider/index.js +0 -2
  90. package/esm2022/lib/components/data-display/divider/index.js.map +0 -1
  91. package/esm2022/lib/components/data-display/divider/model/divider.types.js +0 -1
  92. package/esm2022/lib/components/data-display/divider/model/divider.types.js.map +0 -1
  93. package/esm2022/lib/components/feedback/alert/component/alert-actions.component.js +0 -18
  94. package/esm2022/lib/components/feedback/alert/component/alert-actions.component.js.map +0 -1
  95. package/esm2022/lib/components/feedback/alert/component/alert.component.js +0 -90
  96. package/esm2022/lib/components/feedback/alert/component/alert.component.js.map +0 -1
  97. package/esm2022/lib/components/feedback/alert/directives/alert-description.directive.js +0 -17
  98. package/esm2022/lib/components/feedback/alert/directives/alert-description.directive.js.map +0 -1
  99. package/esm2022/lib/components/feedback/alert/directives/alert-title.directive.js +0 -17
  100. package/esm2022/lib/components/feedback/alert/directives/alert-title.directive.js.map +0 -1
  101. package/esm2022/lib/components/feedback/alert/model/alert.types.js +0 -1
  102. package/esm2022/lib/components/feedback/alert/model/alert.types.js.map +0 -1
  103. package/esm2022/lib/components/feedback/skeleton/component/skeleton.component.js +0 -69
  104. package/esm2022/lib/components/feedback/skeleton/component/skeleton.component.js.map +0 -1
  105. package/esm2022/lib/components/feedback/skeleton/model/skeleton.types.js +0 -1
  106. package/esm2022/lib/components/feedback/skeleton/model/skeleton.types.js.map +0 -1
  107. package/esm2022/lib/components/feedback/toast/component/toast.component.js +0 -268
  108. package/esm2022/lib/components/feedback/toast/component/toast.component.js.map +0 -1
  109. package/esm2022/lib/components/feedback/toast/container/toast-container.component.js +0 -24
  110. package/esm2022/lib/components/feedback/toast/container/toast-container.component.js.map +0 -1
  111. package/esm2022/lib/components/feedback/toast/model/toast.types.js +0 -1
  112. package/esm2022/lib/components/feedback/toast/model/toast.types.js.map +0 -1
  113. package/esm2022/lib/components/feedback/toast/provider/provide-solaris-toast.js +0 -17
  114. package/esm2022/lib/components/feedback/toast/provider/provide-solaris-toast.js.map +0 -1
  115. package/esm2022/lib/components/feedback/toast/service/toast.service.js +0 -219
  116. package/esm2022/lib/components/feedback/toast/service/toast.service.js.map +0 -1
  117. package/esm2022/lib/components/feedback/toast/token/toast.tokens.js +0 -13
  118. package/esm2022/lib/components/feedback/toast/token/toast.tokens.js.map +0 -1
  119. package/esm2022/lib/components/forms/checkbox/component/checkbox.component.js +0 -227
  120. package/esm2022/lib/components/forms/checkbox/component/checkbox.component.js.map +0 -1
  121. package/esm2022/lib/components/forms/checkbox/model/checkbox.types.js +0 -1
  122. package/esm2022/lib/components/forms/checkbox/model/checkbox.types.js.map +0 -1
  123. package/esm2022/lib/components/forms/checkbox-group/component/checkbox-group.component.js +0 -441
  124. package/esm2022/lib/components/forms/checkbox-group/component/checkbox-group.component.js.map +0 -1
  125. package/esm2022/lib/components/forms/checkbox-group/model/checkbox-group.types.js +0 -1
  126. package/esm2022/lib/components/forms/checkbox-group/model/checkbox-group.types.js.map +0 -1
  127. package/esm2022/lib/components/forms/email-field/component/email-field.component.js +0 -215
  128. package/esm2022/lib/components/forms/email-field/component/email-field.component.js.map +0 -1
  129. package/esm2022/lib/components/forms/email-field/model/email-field.types.js +0 -1
  130. package/esm2022/lib/components/forms/email-field/model/email-field.types.js.map +0 -1
  131. package/esm2022/lib/components/forms/email-field/validators/email-field.validators.js +0 -69
  132. package/esm2022/lib/components/forms/email-field/validators/email-field.validators.js.map +0 -1
  133. package/esm2022/lib/components/forms/form-field/component/form-error.component.js +0 -19
  134. package/esm2022/lib/components/forms/form-field/component/form-error.component.js.map +0 -1
  135. package/esm2022/lib/components/forms/form-field/component/form-field.component.js +0 -442
  136. package/esm2022/lib/components/forms/form-field/component/form-field.component.js.map +0 -1
  137. package/esm2022/lib/components/forms/form-field/component/form-hint.component.js +0 -18
  138. package/esm2022/lib/components/forms/form-field/component/form-hint.component.js.map +0 -1
  139. package/esm2022/lib/components/forms/form-field/component/form-label.component.js +0 -18
  140. package/esm2022/lib/components/forms/form-field/component/form-label.component.js.map +0 -1
  141. package/esm2022/lib/components/forms/form-field/directives/form-field-trigger.directive.js +0 -14
  142. package/esm2022/lib/components/forms/form-field/directives/form-field-trigger.directive.js.map +0 -1
  143. package/esm2022/lib/components/forms/form-field/directives/form-prefix.directive.js +0 -17
  144. package/esm2022/lib/components/forms/form-field/directives/form-prefix.directive.js.map +0 -1
  145. package/esm2022/lib/components/forms/form-field/directives/form-suffix.directive.js +0 -17
  146. package/esm2022/lib/components/forms/form-field/directives/form-suffix.directive.js.map +0 -1
  147. package/esm2022/lib/components/forms/form-field/index.js +0 -8
  148. package/esm2022/lib/components/forms/form-field/index.js.map +0 -1
  149. package/esm2022/lib/components/forms/form-field/model/form-control.contract.js +0 -3
  150. package/esm2022/lib/components/forms/form-field/model/form-control.contract.js.map +0 -1
  151. package/esm2022/lib/components/forms/form-field/model/form-field.types.js +0 -1
  152. package/esm2022/lib/components/forms/form-field/model/form-field.types.js.map +0 -1
  153. package/esm2022/lib/components/forms/input/directives/input.directive.js +0 -148
  154. package/esm2022/lib/components/forms/input/directives/input.directive.js.map +0 -1
  155. package/esm2022/lib/components/forms/input/index.js +0 -2
  156. package/esm2022/lib/components/forms/input/index.js.map +0 -1
  157. package/esm2022/lib/components/forms/input/model/input.defaults.js +0 -27
  158. package/esm2022/lib/components/forms/input/model/input.defaults.js.map +0 -1
  159. package/esm2022/lib/components/forms/input/model/input.types.js +0 -1
  160. package/esm2022/lib/components/forms/input/model/input.types.js.map +0 -1
  161. package/esm2022/lib/components/forms/multi-select/component/multi-select.component.js +0 -1102
  162. package/esm2022/lib/components/forms/multi-select/component/multi-select.component.js.map +0 -1
  163. package/esm2022/lib/components/forms/multi-select/model/multi-select.types.js +0 -1
  164. package/esm2022/lib/components/forms/multi-select/model/multi-select.types.js.map +0 -1
  165. package/esm2022/lib/components/forms/option/component/option.component.js +0 -149
  166. package/esm2022/lib/components/forms/option/component/option.component.js.map +0 -1
  167. package/esm2022/lib/components/forms/option/directives/option-slots.directive.js +0 -58
  168. package/esm2022/lib/components/forms/option/directives/option-slots.directive.js.map +0 -1
  169. package/esm2022/lib/components/forms/option/index.js +0 -3
  170. package/esm2022/lib/components/forms/option/index.js.map +0 -1
  171. package/esm2022/lib/components/forms/option/model/option.types.js +0 -1
  172. package/esm2022/lib/components/forms/option/model/option.types.js.map +0 -1
  173. package/esm2022/lib/components/forms/option-group/component/option-group.component.js +0 -103
  174. package/esm2022/lib/components/forms/option-group/component/option-group.component.js.map +0 -1
  175. package/esm2022/lib/components/forms/option-group/index.js +0 -2
  176. package/esm2022/lib/components/forms/option-group/index.js.map +0 -1
  177. package/esm2022/lib/components/forms/option-group/model/option-group.types.js +0 -1
  178. package/esm2022/lib/components/forms/option-group/model/option-group.types.js.map +0 -1
  179. package/esm2022/lib/components/forms/password-field/component/password-field.component.js +0 -299
  180. package/esm2022/lib/components/forms/password-field/component/password-field.component.js.map +0 -1
  181. package/esm2022/lib/components/forms/password-field/model/password-field-constants.js +0 -5
  182. package/esm2022/lib/components/forms/password-field/model/password-field-constants.js.map +0 -1
  183. package/esm2022/lib/components/forms/password-field/model/password-field.types.js +0 -1
  184. package/esm2022/lib/components/forms/password-field/model/password-field.types.js.map +0 -1
  185. package/esm2022/lib/components/forms/password-field/model/password-policy.types.js +0 -1
  186. package/esm2022/lib/components/forms/password-field/model/password-policy.types.js.map +0 -1
  187. package/esm2022/lib/components/forms/password-field/model/password-strength.js +0 -67
  188. package/esm2022/lib/components/forms/password-field/model/password-strength.js.map +0 -1
  189. package/esm2022/lib/components/forms/password-field/validators/password.validator.js +0 -45
  190. package/esm2022/lib/components/forms/password-field/validators/password.validator.js.map +0 -1
  191. package/esm2022/lib/components/forms/radio/component/radio.component.js +0 -219
  192. package/esm2022/lib/components/forms/radio/component/radio.component.js.map +0 -1
  193. package/esm2022/lib/components/forms/radio/model/radio.types.js +0 -1
  194. package/esm2022/lib/components/forms/radio/model/radio.types.js.map +0 -1
  195. package/esm2022/lib/components/forms/radio-group/component/radio-group.component.js +0 -348
  196. package/esm2022/lib/components/forms/radio-group/component/radio-group.component.js.map +0 -1
  197. package/esm2022/lib/components/forms/radio-group/model/radio-group.token.js +0 -3
  198. package/esm2022/lib/components/forms/radio-group/model/radio-group.token.js.map +0 -1
  199. package/esm2022/lib/components/forms/radio-group/model/radio-group.types.js +0 -1
  200. package/esm2022/lib/components/forms/radio-group/model/radio-group.types.js.map +0 -1
  201. package/esm2022/lib/components/forms/select/component/select.component.js +0 -815
  202. package/esm2022/lib/components/forms/select/component/select.component.js.map +0 -1
  203. package/esm2022/lib/components/forms/select/model/select.types.js +0 -1
  204. package/esm2022/lib/components/forms/select/model/select.types.js.map +0 -1
  205. package/esm2022/lib/components/forms/switch/component/switch.component.js +0 -211
  206. package/esm2022/lib/components/forms/switch/component/switch.component.js.map +0 -1
  207. package/esm2022/lib/components/forms/switch/index.js +0 -2
  208. package/esm2022/lib/components/forms/switch/index.js.map +0 -1
  209. package/esm2022/lib/components/forms/switch/model/switch.types.js +0 -1
  210. package/esm2022/lib/components/forms/switch/model/switch.types.js.map +0 -1
  211. package/esm2022/lib/components/forms/switch-group/component/switch-group.component.js +0 -369
  212. package/esm2022/lib/components/forms/switch-group/component/switch-group.component.js.map +0 -1
  213. package/esm2022/lib/components/forms/switch-group/model/switch-group.types.js +0 -1
  214. package/esm2022/lib/components/forms/switch-group/model/switch-group.types.js.map +0 -1
  215. package/esm2022/lib/components/forms/textarea/directives/textarea.directive.js +0 -137
  216. package/esm2022/lib/components/forms/textarea/directives/textarea.directive.js.map +0 -1
  217. package/esm2022/lib/components/forms/textarea/model/textarea.types.js +0 -1
  218. package/esm2022/lib/components/forms/textarea/model/textarea.types.js.map +0 -1
  219. package/esm2022/lib/components/icon/component/solaris-icon.component.js +0 -20
  220. package/esm2022/lib/components/icon/component/solaris-icon.component.js.map +0 -1
  221. package/esm2022/lib/components/icon/index.js +0 -2
  222. package/esm2022/lib/components/icon/index.js.map +0 -1
  223. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-group.component.js +0 -27
  224. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-group.component.js.map +0 -1
  225. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-item.component.js +0 -96
  226. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-item.component.js.map +0 -1
  227. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-label.component.js +0 -22
  228. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu-label.component.js.map +0 -1
  229. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu.component.js +0 -105
  230. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-menu.component.js.map +0 -1
  231. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-submenu-trigger.component.js +0 -95
  232. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-submenu-trigger.component.js.map +0 -1
  233. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-submenu.component.js +0 -631
  234. package/esm2022/lib/components/interaction/dropdown-menu/component/dropdown-submenu.component.js.map +0 -1
  235. package/esm2022/lib/components/interaction/dropdown-menu/directives/dropdown-menu-trigger.directive.js +0 -365
  236. package/esm2022/lib/components/interaction/dropdown-menu/directives/dropdown-menu-trigger.directive.js.map +0 -1
  237. package/esm2022/lib/components/interaction/dropdown-menu/index.js +0 -8
  238. package/esm2022/lib/components/interaction/dropdown-menu/index.js.map +0 -1
  239. package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-menu-navigation.js +0 -3
  240. package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-menu-navigation.js.map +0 -1
  241. package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-menu.types.js +0 -1
  242. package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-menu.types.js.map +0 -1
  243. package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-submenu.types.js +0 -1
  244. package/esm2022/lib/components/interaction/dropdown-menu/model/dropdown-submenu.types.js.map +0 -1
  245. package/esm2022/lib/components/interaction/popover/component/popover-panel.component.js +0 -29
  246. package/esm2022/lib/components/interaction/popover/component/popover-panel.component.js.map +0 -1
  247. package/esm2022/lib/components/interaction/popover/directives/popover-trigger.directive.js +0 -325
  248. package/esm2022/lib/components/interaction/popover/directives/popover-trigger.directive.js.map +0 -1
  249. package/esm2022/lib/components/interaction/popover/directives/popover.directive.js +0 -16
  250. package/esm2022/lib/components/interaction/popover/directives/popover.directive.js.map +0 -1
  251. package/esm2022/lib/components/interaction/popover/index.js +0 -4
  252. package/esm2022/lib/components/interaction/popover/index.js.map +0 -1
  253. package/esm2022/lib/components/interaction/popover/model/popover-position.js +0 -145
  254. package/esm2022/lib/components/interaction/popover/model/popover-position.js.map +0 -1
  255. package/esm2022/lib/components/interaction/popover/model/popover.types.js +0 -1
  256. package/esm2022/lib/components/interaction/popover/model/popover.types.js.map +0 -1
  257. package/esm2022/lib/components/interaction/popover/token/popover.tokens.js +0 -3
  258. package/esm2022/lib/components/interaction/popover/token/popover.tokens.js.map +0 -1
  259. package/esm2022/lib/components/interaction/tooltip/component/tooltip-panel.component.js +0 -23
  260. package/esm2022/lib/components/interaction/tooltip/component/tooltip-panel.component.js.map +0 -1
  261. package/esm2022/lib/components/interaction/tooltip/directive/tooltip.directive.js +0 -405
  262. package/esm2022/lib/components/interaction/tooltip/directive/tooltip.directive.js.map +0 -1
  263. package/esm2022/lib/components/interaction/tooltip/index.js +0 -3
  264. package/esm2022/lib/components/interaction/tooltip/index.js.map +0 -1
  265. package/esm2022/lib/components/interaction/tooltip/model/tooltip-position.js +0 -209
  266. package/esm2022/lib/components/interaction/tooltip/model/tooltip-position.js.map +0 -1
  267. package/esm2022/lib/components/interaction/tooltip/model/tooltip.types.js +0 -1
  268. package/esm2022/lib/components/interaction/tooltip/model/tooltip.types.js.map +0 -1
  269. package/esm2022/lib/components/interaction/tooltip/token/tooltip.tokens.js +0 -3
  270. package/esm2022/lib/components/interaction/tooltip/token/tooltip.tokens.js.map +0 -1
  271. package/esm2022/lib/components/navigation/editable-tabs/component/editable-tabs.component.js +0 -323
  272. package/esm2022/lib/components/navigation/editable-tabs/component/editable-tabs.component.js.map +0 -1
  273. package/esm2022/lib/components/navigation/editable-tabs/editable-tab/editable-tab.component.js +0 -34
  274. package/esm2022/lib/components/navigation/editable-tabs/editable-tab/editable-tab.component.js.map +0 -1
  275. package/esm2022/lib/components/navigation/editable-tabs/model/editable-tabs.types.js +0 -1
  276. package/esm2022/lib/components/navigation/editable-tabs/model/editable-tabs.types.js.map +0 -1
  277. package/esm2022/lib/components/navigation/segmented-control/component/segmented-control.component.js +0 -242
  278. package/esm2022/lib/components/navigation/segmented-control/component/segmented-control.component.js.map +0 -1
  279. package/esm2022/lib/components/navigation/segmented-control/item/segmented-item.component.js +0 -197
  280. package/esm2022/lib/components/navigation/segmented-control/item/segmented-item.component.js.map +0 -1
  281. package/esm2022/lib/components/navigation/segmented-control/model/segmented-control.types.js +0 -1
  282. package/esm2022/lib/components/navigation/segmented-control/model/segmented-control.types.js.map +0 -1
  283. package/esm2022/lib/components/navigation/segmented-control/token/segmented-control.tokens.js +0 -3
  284. package/esm2022/lib/components/navigation/segmented-control/token/segmented-control.tokens.js.map +0 -1
  285. package/esm2022/lib/components/navigation/stepper/actions/stepper-actions.component.js +0 -15
  286. package/esm2022/lib/components/navigation/stepper/actions/stepper-actions.component.js.map +0 -1
  287. package/esm2022/lib/components/navigation/stepper/component/stepper.component.js +0 -99
  288. package/esm2022/lib/components/navigation/stepper/component/stepper.component.js.map +0 -1
  289. package/esm2022/lib/components/navigation/stepper/content/stepper-content.component.js +0 -13
  290. package/esm2022/lib/components/navigation/stepper/content/stepper-content.component.js.map +0 -1
  291. package/esm2022/lib/components/navigation/stepper/model/stepper.types.js +0 -1
  292. package/esm2022/lib/components/navigation/stepper/model/stepper.types.js.map +0 -1
  293. package/esm2022/lib/components/navigation/stepper/step/step.component.js +0 -91
  294. package/esm2022/lib/components/navigation/stepper/step/step.component.js.map +0 -1
  295. package/esm2022/lib/components/navigation/stepper/token/stepper.tokens.js +0 -3
  296. package/esm2022/lib/components/navigation/stepper/token/stepper.tokens.js.map +0 -1
  297. package/esm2022/lib/components/navigation/tabs/component/tabs.component.js +0 -169
  298. package/esm2022/lib/components/navigation/tabs/component/tabs.component.js.map +0 -1
  299. package/esm2022/lib/components/navigation/tabs/index.js +0 -5
  300. package/esm2022/lib/components/navigation/tabs/index.js.map +0 -1
  301. package/esm2022/lib/components/navigation/tabs/model/tabs.types.js +0 -1
  302. package/esm2022/lib/components/navigation/tabs/model/tabs.types.js.map +0 -1
  303. package/esm2022/lib/components/navigation/tabs/tab/tab.component.js +0 -195
  304. package/esm2022/lib/components/navigation/tabs/tab/tab.component.js.map +0 -1
  305. package/esm2022/lib/components/navigation/tabs/tab-panel/tab-panel.component.js +0 -55
  306. package/esm2022/lib/components/navigation/tabs/tab-panel/tab-panel.component.js.map +0 -1
  307. package/esm2022/lib/components/navigation/tabs/token/tabs.tokens.js +0 -3
  308. package/esm2022/lib/components/navigation/tabs/token/tabs.tokens.js.map +0 -1
  309. package/esm2022/lib/components/overlay/dialog/component/dialog.component.js +0 -49
  310. package/esm2022/lib/components/overlay/dialog/component/dialog.component.js.map +0 -1
  311. package/esm2022/lib/components/overlay/dialog/components/dialog-actions.component.js +0 -37
  312. package/esm2022/lib/components/overlay/dialog/components/dialog-actions.component.js.map +0 -1
  313. package/esm2022/lib/components/overlay/dialog/components/dialog-content.component.js +0 -13
  314. package/esm2022/lib/components/overlay/dialog/components/dialog-content.component.js.map +0 -1
  315. package/esm2022/lib/components/overlay/dialog/components/dialog-header.component.js +0 -32
  316. package/esm2022/lib/components/overlay/dialog/components/dialog-header.component.js.map +0 -1
  317. package/esm2022/lib/components/overlay/dialog/container/dialog-container.component.js +0 -142
  318. package/esm2022/lib/components/overlay/dialog/container/dialog-container.component.js.map +0 -1
  319. package/esm2022/lib/components/overlay/dialog/flow/dialog-flow.component.js +0 -56
  320. package/esm2022/lib/components/overlay/dialog/flow/dialog-flow.component.js.map +0 -1
  321. package/esm2022/lib/components/overlay/dialog/flow/dialog-step.component.js +0 -20
  322. package/esm2022/lib/components/overlay/dialog/flow/dialog-step.component.js.map +0 -1
  323. package/esm2022/lib/components/overlay/dialog/model/dialog.types.js +0 -1
  324. package/esm2022/lib/components/overlay/dialog/model/dialog.types.js.map +0 -1
  325. package/esm2022/lib/components/overlay/dialog/provider/provide-solaris-dialog.js +0 -13
  326. package/esm2022/lib/components/overlay/dialog/provider/provide-solaris-dialog.js.map +0 -1
  327. package/esm2022/lib/components/overlay/dialog/service/dialog-ref.js +0 -23
  328. package/esm2022/lib/components/overlay/dialog/service/dialog-ref.js.map +0 -1
  329. package/esm2022/lib/components/overlay/dialog/service/dialog.service.js +0 -111
  330. package/esm2022/lib/components/overlay/dialog/service/dialog.service.js.map +0 -1
  331. package/esm2022/lib/components/overlay/dialog/token/dialog-data.token.js +0 -4
  332. package/esm2022/lib/components/overlay/dialog/token/dialog-data.token.js.map +0 -1
  333. package/esm2022/lib/components/overlay/dialog/token/dialog.tokens.js +0 -15
  334. package/esm2022/lib/components/overlay/dialog/token/dialog.tokens.js.map +0 -1
  335. package/esm2022/lib/services/accessibility/directives/visually-hidden.directive.js +0 -25
  336. package/esm2022/lib/services/accessibility/directives/visually-hidden.directive.js.map +0 -1
  337. package/esm2022/lib/services/accessibility/model/solaris-accessibility-config.interface.js +0 -1
  338. package/esm2022/lib/services/accessibility/model/solaris-accessibility-config.interface.js.map +0 -1
  339. package/esm2022/lib/services/accessibility/model/solaris-accessibility.types.js +0 -1
  340. package/esm2022/lib/services/accessibility/model/solaris-accessibility.types.js.map +0 -1
  341. package/esm2022/lib/services/accessibility/provider/provide-solaris-accessibility.js +0 -10
  342. package/esm2022/lib/services/accessibility/provider/provide-solaris-accessibility.js.map +0 -1
  343. package/esm2022/lib/services/accessibility/service/solaris-accessibility.service.js +0 -60
  344. package/esm2022/lib/services/accessibility/service/solaris-accessibility.service.js.map +0 -1
  345. package/esm2022/lib/services/accessibility/testing/solaris-accessibility-testing.provider.js +0 -10
  346. package/esm2022/lib/services/accessibility/testing/solaris-accessibility-testing.provider.js.map +0 -1
  347. package/esm2022/lib/services/accessibility/token/solaris-accessibility.tokens.js +0 -3
  348. package/esm2022/lib/services/accessibility/token/solaris-accessibility.tokens.js.map +0 -1
  349. package/esm2022/lib/services/icon/icons/groups/actions.js +0 -242
  350. package/esm2022/lib/services/icon/icons/groups/actions.js.map +0 -1
  351. package/esm2022/lib/services/icon/icons/groups/data.js +0 -129
  352. package/esm2022/lib/services/icon/icons/groups/data.js.map +0 -1
  353. package/esm2022/lib/services/icon/icons/groups/layout.js +0 -50
  354. package/esm2022/lib/services/icon/icons/groups/layout.js.map +0 -1
  355. package/esm2022/lib/services/icon/icons/groups/navigation.js +0 -354
  356. package/esm2022/lib/services/icon/icons/groups/navigation.js.map +0 -1
  357. package/esm2022/lib/services/icon/icons/groups/status.js +0 -70
  358. package/esm2022/lib/services/icon/icons/groups/status.js.map +0 -1
  359. package/esm2022/lib/services/icon/icons/groups/theme.js +0 -49
  360. package/esm2022/lib/services/icon/icons/groups/theme.js.map +0 -1
  361. package/esm2022/lib/services/icon/icons/index.js +0 -2
  362. package/esm2022/lib/services/icon/icons/index.js.map +0 -1
  363. package/esm2022/lib/services/icon/icons/solaris-built-in-icons.js +0 -15
  364. package/esm2022/lib/services/icon/icons/solaris-built-in-icons.js.map +0 -1
  365. package/esm2022/lib/services/icon/index.js +0 -5
  366. package/esm2022/lib/services/icon/index.js.map +0 -1
  367. package/esm2022/lib/services/icon/model/solaris-icon-definition.interface.js +0 -1
  368. package/esm2022/lib/services/icon/model/solaris-icon-definition.interface.js.map +0 -1
  369. package/esm2022/lib/services/icon/model/solaris-icon.types.js +0 -1
  370. package/esm2022/lib/services/icon/model/solaris-icon.types.js.map +0 -1
  371. package/esm2022/lib/services/icon/provider/provide-solaris-icons.js +0 -10
  372. package/esm2022/lib/services/icon/provider/provide-solaris-icons.js.map +0 -1
  373. package/esm2022/lib/services/icon/service/solaris-icon-registry.service.js +0 -43
  374. package/esm2022/lib/services/icon/service/solaris-icon-registry.service.js.map +0 -1
  375. package/esm2022/lib/services/icon/token/solaris-icon.tokens.js +0 -3
  376. package/esm2022/lib/services/icon/token/solaris-icon.tokens.js.map +0 -1
  377. package/esm2022/lib/services/theme/model/solaris-theme-config.interface.js +0 -1
  378. package/esm2022/lib/services/theme/model/solaris-theme-config.interface.js.map +0 -1
  379. package/esm2022/lib/services/theme/model/solaris-theme.types.js +0 -1
  380. package/esm2022/lib/services/theme/model/solaris-theme.types.js.map +0 -1
  381. package/esm2022/lib/services/theme/provider/provide-solaris-theme.js +0 -10
  382. package/esm2022/lib/services/theme/provider/provide-solaris-theme.js.map +0 -1
  383. package/esm2022/lib/services/theme/service/solaris-theme.service.js +0 -22
  384. package/esm2022/lib/services/theme/service/solaris-theme.service.js.map +0 -1
  385. package/esm2022/lib/services/theme/testing/solaris-theme-testing.provider.js +0 -10
  386. package/esm2022/lib/services/theme/testing/solaris-theme-testing.provider.js.map +0 -1
  387. package/esm2022/lib/services/theme/token/solaris-theme.tokens.js +0 -3
  388. package/esm2022/lib/services/theme/token/solaris-theme.tokens.js.map +0 -1
  389. package/esm2022/lib/services/translation/index.js +0 -6
  390. package/esm2022/lib/services/translation/index.js.map +0 -1
  391. package/esm2022/lib/services/translation/model/solaris-locale.types.js +0 -1
  392. package/esm2022/lib/services/translation/model/solaris-locale.types.js.map +0 -1
  393. package/esm2022/lib/services/translation/model/solaris-translate-config.interface.js +0 -1
  394. package/esm2022/lib/services/translation/model/solaris-translate-config.interface.js.map +0 -1
  395. package/esm2022/lib/services/translation/model/solaris-translate-defaults.js +0 -96
  396. package/esm2022/lib/services/translation/model/solaris-translate-defaults.js.map +0 -1
  397. package/esm2022/lib/services/translation/model/solaris-translation.types.js +0 -1
  398. package/esm2022/lib/services/translation/model/solaris-translation.types.js.map +0 -1
  399. package/esm2022/lib/services/translation/pipe/solaris-translate.pipe.js +0 -20
  400. package/esm2022/lib/services/translation/pipe/solaris-translate.pipe.js.map +0 -1
  401. package/esm2022/lib/services/translation/provider/provide-solaris-translate.js +0 -10
  402. package/esm2022/lib/services/translation/provider/provide-solaris-translate.js.map +0 -1
  403. package/esm2022/lib/services/translation/service/solaris-translate.service.js +0 -87
  404. package/esm2022/lib/services/translation/service/solaris-translate.service.js.map +0 -1
  405. package/esm2022/lib/services/translation/testing/solaris-translate-testing.provider.js +0 -32
  406. package/esm2022/lib/services/translation/testing/solaris-translate-testing.provider.js.map +0 -1
  407. package/esm2022/lib/services/translation/token/solaris-translate.tokens.js +0 -3
  408. package/esm2022/lib/services/translation/token/solaris-translate.tokens.js.map +0 -1
  409. package/esm2022/lib/testing/provide-solaris-testing.js +0 -11
  410. package/esm2022/lib/testing/provide-solaris-testing.js.map +0 -1
  411. package/esm2022/lib/testing/solaris-test-utilities.js +0 -12
  412. package/esm2022/lib/testing/solaris-test-utilities.js.map +0 -1
  413. package/index.d.ts +0 -197
  414. package/lib/components/actions/button/directives/button-icon.directive.d.ts +0 -5
  415. package/lib/components/actions/button/directives/button.directive.d.ts +0 -22
  416. package/lib/components/actions/button/index.d.ts +0 -3
  417. package/lib/components/actions/button/model/button.types.d.ts +0 -5
  418. package/lib/components/actions/button-group/component/button-group.component.d.ts +0 -10
  419. package/lib/components/actions/button-group/model/button-group.types.d.ts +0 -2
  420. package/lib/components/actions/icon-button/directives/icon-button-badge.directive.d.ts +0 -5
  421. package/lib/components/actions/icon-button/directives/icon-button.directive.d.ts +0 -21
  422. package/lib/components/actions/icon-button/model/icon-button.types.d.ts +0 -5
  423. package/lib/components/data-display/badge/component/badge.component.d.ts +0 -12
  424. package/lib/components/data-display/badge/directives/badge-icon.directive.d.ts +0 -5
  425. package/lib/components/data-display/badge/index.d.ts +0 -3
  426. package/lib/components/data-display/badge/model/badge.types.d.ts +0 -6
  427. package/lib/components/data-display/card/component/card.component.d.ts +0 -10
  428. package/lib/components/data-display/card/directives/card-actions.directive.d.ts +0 -5
  429. package/lib/components/data-display/card/directives/card-content.directive.d.ts +0 -5
  430. package/lib/components/data-display/card/directives/card-description.directive.d.ts +0 -5
  431. package/lib/components/data-display/card/directives/card-footer.directive.d.ts +0 -6
  432. package/lib/components/data-display/card/directives/card-header.directive.d.ts +0 -5
  433. package/lib/components/data-display/card/directives/card-media.directive.d.ts +0 -5
  434. package/lib/components/data-display/card/directives/card-title.directive.d.ts +0 -5
  435. package/lib/components/data-display/card/model/card.types.d.ts +0 -4
  436. package/lib/components/data-display/divider/component/divider.component.d.ts +0 -17
  437. package/lib/components/data-display/divider/index.d.ts +0 -2
  438. package/lib/components/data-display/divider/model/divider.types.d.ts +0 -5
  439. package/lib/components/feedback/alert/component/alert-actions.component.d.ts +0 -5
  440. package/lib/components/feedback/alert/component/alert.component.d.ts +0 -26
  441. package/lib/components/feedback/alert/directives/alert-description.directive.d.ts +0 -5
  442. package/lib/components/feedback/alert/directives/alert-title.directive.d.ts +0 -5
  443. package/lib/components/feedback/alert/model/alert.types.d.ts +0 -5
  444. package/lib/components/feedback/skeleton/component/skeleton.component.d.ts +0 -17
  445. package/lib/components/feedback/skeleton/model/skeleton.types.d.ts +0 -5
  446. package/lib/components/feedback/toast/component/toast.component.d.ts +0 -62
  447. package/lib/components/feedback/toast/container/toast-container.component.d.ts +0 -10
  448. package/lib/components/feedback/toast/model/toast.types.d.ts +0 -106
  449. package/lib/components/feedback/toast/provider/provide-solaris-toast.d.ts +0 -3
  450. package/lib/components/feedback/toast/service/toast.service.d.ts +0 -36
  451. package/lib/components/feedback/toast/token/toast.tokens.d.ts +0 -5
  452. package/lib/components/forms/checkbox/component/checkbox.component.d.ts +0 -70
  453. package/lib/components/forms/checkbox/model/checkbox.types.d.ts +0 -5
  454. package/lib/components/forms/checkbox-group/component/checkbox-group.component.d.ts +0 -123
  455. package/lib/components/forms/checkbox-group/model/checkbox-group.types.d.ts +0 -5
  456. package/lib/components/forms/email-field/component/email-field.component.d.ts +0 -67
  457. package/lib/components/forms/email-field/model/email-field.types.d.ts +0 -6
  458. package/lib/components/forms/email-field/validators/email-field.validators.d.ts +0 -8
  459. package/lib/components/forms/form-field/component/form-error.component.d.ts +0 -5
  460. package/lib/components/forms/form-field/component/form-field.component.d.ts +0 -96
  461. package/lib/components/forms/form-field/component/form-hint.component.d.ts +0 -5
  462. package/lib/components/forms/form-field/component/form-label.component.d.ts +0 -5
  463. package/lib/components/forms/form-field/directives/form-field-trigger.directive.d.ts +0 -5
  464. package/lib/components/forms/form-field/directives/form-prefix.directive.d.ts +0 -5
  465. package/lib/components/forms/form-field/directives/form-suffix.directive.d.ts +0 -5
  466. package/lib/components/forms/form-field/index.d.ts +0 -8
  467. package/lib/components/forms/form-field/model/form-control.contract.d.ts +0 -11
  468. package/lib/components/forms/form-field/model/form-field.types.d.ts +0 -5
  469. package/lib/components/forms/input/directives/input.directive.d.ts +0 -37
  470. package/lib/components/forms/input/index.d.ts +0 -2
  471. package/lib/components/forms/input/model/input.defaults.d.ts +0 -2
  472. package/lib/components/forms/input/model/input.types.d.ts +0 -4
  473. package/lib/components/forms/multi-select/component/multi-select.component.d.ts +0 -199
  474. package/lib/components/forms/multi-select/model/multi-select.types.d.ts +0 -5
  475. package/lib/components/forms/option/component/option.component.d.ts +0 -58
  476. package/lib/components/forms/option/directives/option-slots.directive.d.ts +0 -21
  477. package/lib/components/forms/option/index.d.ts +0 -3
  478. package/lib/components/forms/option/model/option.types.d.ts +0 -3
  479. package/lib/components/forms/option-group/component/option-group.component.d.ts +0 -32
  480. package/lib/components/forms/option-group/index.d.ts +0 -2
  481. package/lib/components/forms/option-group/model/option-group.types.d.ts +0 -2
  482. package/lib/components/forms/password-field/component/password-field.component.d.ts +0 -81
  483. package/lib/components/forms/password-field/model/password-field-constants.d.ts +0 -4
  484. package/lib/components/forms/password-field/model/password-field.types.d.ts +0 -6
  485. package/lib/components/forms/password-field/model/password-policy.types.d.ts +0 -10
  486. package/lib/components/forms/password-field/model/password-strength.d.ts +0 -2
  487. package/lib/components/forms/password-field/validators/password.validator.d.ts +0 -3
  488. package/lib/components/forms/radio/component/radio.component.d.ts +0 -68
  489. package/lib/components/forms/radio/model/radio.types.d.ts +0 -4
  490. package/lib/components/forms/radio-group/component/radio-group.component.d.ts +0 -86
  491. package/lib/components/forms/radio-group/model/radio-group.token.d.ts +0 -2
  492. package/lib/components/forms/radio-group/model/radio-group.types.d.ts +0 -5
  493. package/lib/components/forms/select/component/select.component.d.ts +0 -158
  494. package/lib/components/forms/select/model/select.types.d.ts +0 -4
  495. package/lib/components/forms/switch/component/switch.component.d.ts +0 -66
  496. package/lib/components/forms/switch/index.d.ts +0 -2
  497. package/lib/components/forms/switch/model/switch.types.d.ts +0 -4
  498. package/lib/components/forms/switch-group/component/switch-group.component.d.ts +0 -91
  499. package/lib/components/forms/switch-group/model/switch-group.types.d.ts +0 -5
  500. package/lib/components/forms/textarea/directives/textarea.directive.d.ts +0 -37
  501. package/lib/components/forms/textarea/model/textarea.types.d.ts +0 -5
  502. package/lib/components/icon/component/solaris-icon.component.d.ts +0 -13
  503. package/lib/components/icon/index.d.ts +0 -1
  504. package/lib/components/interaction/dropdown-menu/component/dropdown-menu-group.component.d.ts +0 -10
  505. package/lib/components/interaction/dropdown-menu/component/dropdown-menu-item.component.d.ts +0 -28
  506. package/lib/components/interaction/dropdown-menu/component/dropdown-menu-label.component.d.ts +0 -7
  507. package/lib/components/interaction/dropdown-menu/component/dropdown-menu.component.d.ts +0 -21
  508. package/lib/components/interaction/dropdown-menu/component/dropdown-submenu-trigger.component.d.ts +0 -21
  509. package/lib/components/interaction/dropdown-menu/component/dropdown-submenu.component.d.ts +0 -68
  510. package/lib/components/interaction/dropdown-menu/directives/dropdown-menu-trigger.directive.d.ts +0 -61
  511. package/lib/components/interaction/dropdown-menu/index.d.ts +0 -9
  512. package/lib/components/interaction/dropdown-menu/model/dropdown-menu-navigation.d.ts +0 -8
  513. package/lib/components/interaction/dropdown-menu/model/dropdown-menu.types.d.ts +0 -11
  514. package/lib/components/interaction/dropdown-menu/model/dropdown-submenu.types.d.ts +0 -2
  515. package/lib/components/interaction/popover/component/popover-panel.component.d.ts +0 -10
  516. package/lib/components/interaction/popover/directives/popover-trigger.directive.d.ts +0 -65
  517. package/lib/components/interaction/popover/directives/popover.directive.d.ts +0 -7
  518. package/lib/components/interaction/popover/index.d.ts +0 -4
  519. package/lib/components/interaction/popover/model/popover-position.d.ts +0 -4
  520. package/lib/components/interaction/popover/model/popover.types.d.ts +0 -7
  521. package/lib/components/interaction/popover/token/popover.tokens.d.ts +0 -12
  522. package/lib/components/interaction/tooltip/component/tooltip-panel.component.d.ts +0 -9
  523. package/lib/components/interaction/tooltip/directive/tooltip.directive.d.ts +0 -80
  524. package/lib/components/interaction/tooltip/index.d.ts +0 -3
  525. package/lib/components/interaction/tooltip/model/tooltip-position.d.ts +0 -5
  526. package/lib/components/interaction/tooltip/model/tooltip.types.d.ts +0 -22
  527. package/lib/components/interaction/tooltip/token/tooltip.tokens.d.ts +0 -21
  528. package/lib/components/navigation/editable-tabs/component/editable-tabs.component.d.ts +0 -69
  529. package/lib/components/navigation/editable-tabs/editable-tab/editable-tab.component.d.ts +0 -20
  530. package/lib/components/navigation/editable-tabs/model/editable-tabs.types.d.ts +0 -60
  531. package/lib/components/navigation/segmented-control/component/segmented-control.component.d.ts +0 -64
  532. package/lib/components/navigation/segmented-control/item/segmented-item.component.d.ts +0 -35
  533. package/lib/components/navigation/segmented-control/model/segmented-control.types.d.ts +0 -12
  534. package/lib/components/navigation/segmented-control/token/segmented-control.tokens.d.ts +0 -22
  535. package/lib/components/navigation/stepper/actions/stepper-actions.component.d.ts +0 -7
  536. package/lib/components/navigation/stepper/component/stepper.component.d.ts +0 -36
  537. package/lib/components/navigation/stepper/content/stepper-content.component.d.ts +0 -5
  538. package/lib/components/navigation/stepper/model/stepper.types.d.ts +0 -15
  539. package/lib/components/navigation/stepper/step/step.component.d.ts +0 -27
  540. package/lib/components/navigation/stepper/token/stepper.tokens.d.ts +0 -13
  541. package/lib/components/navigation/tabs/component/tabs.component.d.ts +0 -47
  542. package/lib/components/navigation/tabs/index.d.ts +0 -6
  543. package/lib/components/navigation/tabs/model/tabs.types.d.ts +0 -17
  544. package/lib/components/navigation/tabs/tab/tab.component.d.ts +0 -38
  545. package/lib/components/navigation/tabs/tab-panel/tab-panel.component.d.ts +0 -15
  546. package/lib/components/navigation/tabs/token/tabs.tokens.d.ts +0 -19
  547. package/lib/components/overlay/dialog/component/dialog.component.d.ts +0 -29
  548. package/lib/components/overlay/dialog/components/dialog-actions.component.d.ts +0 -12
  549. package/lib/components/overlay/dialog/components/dialog-content.component.d.ts +0 -5
  550. package/lib/components/overlay/dialog/components/dialog-header.component.d.ts +0 -19
  551. package/lib/components/overlay/dialog/container/dialog-container.component.d.ts +0 -32
  552. package/lib/components/overlay/dialog/flow/dialog-flow.component.d.ts +0 -19
  553. package/lib/components/overlay/dialog/flow/dialog-step.component.d.ts +0 -7
  554. package/lib/components/overlay/dialog/model/dialog.types.d.ts +0 -87
  555. package/lib/components/overlay/dialog/provider/provide-solaris-dialog.d.ts +0 -3
  556. package/lib/components/overlay/dialog/service/dialog-ref.d.ts +0 -11
  557. package/lib/components/overlay/dialog/service/dialog.service.d.ts +0 -20
  558. package/lib/components/overlay/dialog/token/dialog-data.token.d.ts +0 -4
  559. package/lib/components/overlay/dialog/token/dialog.tokens.d.ts +0 -4
  560. package/lib/services/accessibility/directives/visually-hidden.directive.d.ts +0 -5
  561. package/lib/services/accessibility/model/solaris-accessibility-config.interface.d.ts +0 -4
  562. package/lib/services/accessibility/model/solaris-accessibility.types.d.ts +0 -5
  563. package/lib/services/accessibility/provider/provide-solaris-accessibility.d.ts +0 -3
  564. package/lib/services/accessibility/service/solaris-accessibility.service.d.ts +0 -15
  565. package/lib/services/accessibility/testing/solaris-accessibility-testing.provider.d.ts +0 -3
  566. package/lib/services/accessibility/token/solaris-accessibility.tokens.d.ts +0 -3
  567. package/lib/services/icon/icons/groups/actions.d.ts +0 -2
  568. package/lib/services/icon/icons/groups/data.d.ts +0 -2
  569. package/lib/services/icon/icons/groups/layout.d.ts +0 -2
  570. package/lib/services/icon/icons/groups/navigation.d.ts +0 -2
  571. package/lib/services/icon/icons/groups/status.d.ts +0 -2
  572. package/lib/services/icon/icons/groups/theme.d.ts +0 -2
  573. package/lib/services/icon/icons/index.d.ts +0 -1
  574. package/lib/services/icon/icons/solaris-built-in-icons.d.ts +0 -2
  575. package/lib/services/icon/index.d.ts +0 -8
  576. package/lib/services/icon/model/solaris-icon-definition.interface.d.ts +0 -45
  577. package/lib/services/icon/model/solaris-icon.types.d.ts +0 -4
  578. package/lib/services/icon/provider/provide-solaris-icons.d.ts +0 -3
  579. package/lib/services/icon/service/solaris-icon-registry.service.d.ts +0 -12
  580. package/lib/services/icon/token/solaris-icon.tokens.d.ts +0 -6
  581. package/lib/services/theme/model/solaris-theme-config.interface.d.ts +0 -5
  582. package/lib/services/theme/model/solaris-theme.types.d.ts +0 -3
  583. package/lib/services/theme/provider/provide-solaris-theme.d.ts +0 -3
  584. package/lib/services/theme/service/solaris-theme.service.d.ts +0 -9
  585. package/lib/services/theme/testing/solaris-theme-testing.provider.d.ts +0 -3
  586. package/lib/services/theme/token/solaris-theme.tokens.d.ts +0 -3
  587. package/lib/services/translation/index.d.ts +0 -8
  588. package/lib/services/translation/model/solaris-locale.types.d.ts +0 -4
  589. package/lib/services/translation/model/solaris-translate-config.interface.d.ts +0 -8
  590. package/lib/services/translation/model/solaris-translate-defaults.d.ts +0 -2
  591. package/lib/services/translation/model/solaris-translation.types.d.ts +0 -3
  592. package/lib/services/translation/pipe/solaris-translate.pipe.d.ts +0 -8
  593. package/lib/services/translation/provider/provide-solaris-translate.d.ts +0 -3
  594. package/lib/services/translation/service/solaris-translate.service.d.ts +0 -15
  595. package/lib/services/translation/testing/solaris-translate-testing.provider.d.ts +0 -3
  596. package/lib/services/translation/token/solaris-translate.tokens.d.ts +0 -3
  597. package/lib/testing/provide-solaris-testing.d.ts +0 -10
  598. package/lib/testing/solaris-test-utilities.d.ts +0 -3
@@ -1,442 +0,0 @@
1
- import { Component, input, computed, signal, effect, ContentChild, ElementRef, inject, NgZone, } from '@angular/core';
2
- import { FormControlDirective, FormControlName, NgModel } from '@angular/forms';
3
- import { SolarisFormPrefixDirective } from '../directives/form-prefix.directive';
4
- import { SolarisFormSuffixDirective } from '../directives/form-suffix.directive';
5
- import { SolarisTranslateService } from '../../../../services/translation';
6
- import { SolarisFormControl } from '../model/form-control.contract';
7
- import { SolarisFormLabelComponent } from './form-label.component';
8
- import { SolarisFormErrorComponent } from './form-error.component';
9
- import { SolarisFormHintComponent } from './form-hint.component';
10
- import * as i0 from "@angular/core";
11
- let nextId = 0;
12
- function generateId() {
13
- return `solaris-form-field-${++nextId}`;
14
- }
15
- export class SolarisFormFieldComponent {
16
- elementRef = inject(ElementRef);
17
- translateService = inject(SolarisTranslateService);
18
- ngZone = inject(NgZone);
19
- constructor() {
20
- // SECURITY_EXCEPTION: Setting disabled/readonly on native control is standard DOM API.
21
- // SECURITY_EXCEPTION: Required for FormField to propagate disabled/readonly state to projected control.
22
- effect(() => {
23
- this.isEffectivelyDisabled();
24
- this.isEffectivelyReadonly();
25
- this.syncControlDisabledReadonly();
26
- });
27
- }
28
- hintKey = input(...(ngDevMode ? [undefined, { debugName: "hintKey" }] : /* istanbul ignore next */ []));
29
- labelKey = input(...(ngDevMode ? [undefined, { debugName: "labelKey" }] : /* istanbul ignore next */ []));
30
- hint = input('', ...(ngDevMode ? [{ debugName: "hint" }] : /* istanbul ignore next */ []));
31
- errorKey = input(...(ngDevMode ? [undefined, { debugName: "errorKey" }] : /* istanbul ignore next */ []));
32
- label = input('', ...(ngDevMode ? [{ debugName: "label" }] : /* istanbul ignore next */ []));
33
- error = input('', ...(ngDevMode ? [{ debugName: "error" }] : /* istanbul ignore next */ []));
34
- optionalLabel = input(...(ngDevMode ? [undefined, { debugName: "optionalLabel" }] : /* istanbul ignore next */ []));
35
- requiredLabel = input(...(ngDevMode ? [undefined, { debugName: "requiredLabel" }] : /* istanbul ignore next */ []));
36
- optionalLabelKey = input(...(ngDevMode ? [undefined, { debugName: "optionalLabelKey" }] : /* istanbul ignore next */ []));
37
- requiredLabelKey = input(...(ngDevMode ? [undefined, { debugName: "requiredLabelKey" }] : /* istanbul ignore next */ []));
38
- required = input(false, ...(ngDevMode ? [{ debugName: "required" }] : /* istanbul ignore next */ []));
39
- optional = input(false, ...(ngDevMode ? [{ debugName: "optional" }] : /* istanbul ignore next */ []));
40
- invalid = input(...(ngDevMode ? [undefined, { debugName: "invalid" }] : /* istanbul ignore next */ []));
41
- disabled = input(...(ngDevMode ? [undefined, { debugName: "disabled" }] : /* istanbul ignore next */ []));
42
- readonly = input(...(ngDevMode ? [undefined, { debugName: "readonly" }] : /* istanbul ignore next */ []));
43
- density = input(...(ngDevMode ? [undefined, { debugName: "density" }] : /* istanbul ignore next */ []));
44
- size = input('md', ...(ngDevMode ? [{ debugName: "size" }] : /* istanbul ignore next */ []));
45
- radius = input('md', ...(ngDevMode ? [{ debugName: "radius" }] : /* istanbul ignore next */ []));
46
- appearance = input('outline', ...(ngDevMode ? [{ debugName: "appearance" }] : /* istanbul ignore next */ []));
47
- control = input(undefined, ...(ngDevMode ? [{ debugName: "control" }] : /* istanbul ignore next */ []));
48
- projectedLabel;
49
- projectedHint;
50
- projectedError;
51
- prefix;
52
- suffix;
53
- formControl;
54
- formControlDirective;
55
- formControlName;
56
- ngModelDir;
57
- fieldId = generateId();
58
- hintId = `solaris-form-field-hint-${this.fieldId}`;
59
- errorId = `solaris-form-field-error-${this.fieldId}`;
60
- labelId = `solaris-form-field-label-${this.fieldId}`;
61
- isFocused = signal(false, ...(ngDevMode ? [{ debugName: "isFocused" }] : /* istanbul ignore next */ []));
62
- isTextareaControl = signal(false, ...(ngDevMode ? [{ debugName: "isTextareaControl" }] : /* istanbul ignore next */ []));
63
- autoDetectedDisabled = signal(false, ...(ngDevMode ? [{ debugName: "autoDetectedDisabled" }] : /* istanbul ignore next */ []));
64
- autoDetectedReadonly = signal(false, ...(ngDevMode ? [{ debugName: "autoDetectedReadonly" }] : /* istanbul ignore next */ []));
65
- controlResize = signal(null, ...(ngDevMode ? [{ debugName: "controlResize" }] : /* istanbul ignore next */ []));
66
- maxLength = signal(undefined, ...(ngDevMode ? [{ debugName: "maxLength" }] : /* istanbul ignore next */ []));
67
- currentLength = signal(0, ...(ngDevMode ? [{ debugName: "currentLength" }] : /* istanbul ignore next */ []));
68
- showCharacterCounter = computed(() => {
69
- const max = this.maxLength();
70
- return max !== undefined && max > 0;
71
- }, ...(ngDevMode ? [{ debugName: "showCharacterCounter" }] : /* istanbul ignore next */ []));
72
- characterCounterText = computed(() => {
73
- const max = this.maxLength();
74
- if (max === undefined || max <= 0)
75
- return '';
76
- const current = this.currentLength();
77
- return `${current}/${max}`;
78
- }, ...(ngDevMode ? [{ debugName: "characterCounterText" }] : /* istanbul ignore next */ []));
79
- characterCounterSeverity = computed(() => {
80
- const max = this.maxLength();
81
- const current = this.currentLength();
82
- if (max === undefined || max <= 0)
83
- return 'normal';
84
- const ratio = current / max;
85
- if (ratio >= 1)
86
- return 'danger';
87
- if (ratio >= 0.9)
88
- return 'warning';
89
- return 'normal';
90
- }, ...(ngDevMode ? [{ debugName: "characterCounterSeverity" }] : /* istanbul ignore next */ []));
91
- controlId = null;
92
- controlElement = null;
93
- focusListener = null;
94
- blurListener = null;
95
- inputListener = null;
96
- hasProjectedLabel = computed(() => !!this.projectedLabel, ...(ngDevMode ? [{ debugName: "hasProjectedLabel" }] : /* istanbul ignore next */ []));
97
- hasProjectedHint = computed(() => !!this.projectedHint, ...(ngDevMode ? [{ debugName: "hasProjectedHint" }] : /* istanbul ignore next */ []));
98
- hasProjectedError = computed(() => !!this.projectedError, ...(ngDevMode ? [{ debugName: "hasProjectedError" }] : /* istanbul ignore next */ []));
99
- hasPrefix = signal(false, ...(ngDevMode ? [{ debugName: "hasPrefix" }] : /* istanbul ignore next */ []));
100
- hasSuffix = signal(false, ...(ngDevMode ? [{ debugName: "hasSuffix" }] : /* istanbul ignore next */ []));
101
- controlType = computed(() => {
102
- return this.isTextareaControl() ? 'textarea' : 'other';
103
- }, ...(ngDevMode ? [{ debugName: "controlType" }] : /* istanbul ignore next */ []));
104
- effectiveDensity = computed(() => {
105
- return this.density() ?? 'comfortable';
106
- }, ...(ngDevMode ? [{ debugName: "effectiveDensity" }] : /* istanbul ignore next */ []));
107
- labelText = computed(() => {
108
- const key = this.labelKey();
109
- if (key) {
110
- return this.translateService.translate(key);
111
- }
112
- return this.label();
113
- }, ...(ngDevMode ? [{ debugName: "labelText" }] : /* istanbul ignore next */ []));
114
- hintText = computed(() => {
115
- const key = this.hintKey();
116
- if (key) {
117
- return this.translateService.translate(key);
118
- }
119
- return this.hint();
120
- }, ...(ngDevMode ? [{ debugName: "hintText" }] : /* istanbul ignore next */ []));
121
- errorText = computed(() => {
122
- const key = this.errorKey();
123
- if (key) {
124
- return this.translateService.translate(key);
125
- }
126
- return this.error();
127
- }, ...(ngDevMode ? [{ debugName: "errorText" }] : /* istanbul ignore next */ []));
128
- optionalLabelText = computed(() => {
129
- const key = this.optionalLabelKey();
130
- if (key) {
131
- return this.translateService.translate(key);
132
- }
133
- const explicit = this.optionalLabel();
134
- if (explicit) {
135
- return explicit;
136
- }
137
- return this.translateService.translate('solaris.form-field.optional');
138
- }, ...(ngDevMode ? [{ debugName: "optionalLabelText" }] : /* istanbul ignore next */ []));
139
- isEffectivelyDisabled = computed(() => {
140
- const manual = this.disabled();
141
- if (manual !== undefined) {
142
- return manual;
143
- }
144
- const explicitControl = this.control();
145
- if (explicitControl) {
146
- return explicitControl.disabled;
147
- }
148
- if (this.formControl) {
149
- return this.formControl.disabled;
150
- }
151
- return this.autoDetectedDisabled();
152
- }, ...(ngDevMode ? [{ debugName: "isEffectivelyDisabled" }] : /* istanbul ignore next */ []));
153
- isEffectivelyReadonly = computed(() => {
154
- const manual = this.readonly();
155
- if (manual !== undefined) {
156
- return manual;
157
- }
158
- const explicitControl = this.control();
159
- if (explicitControl) {
160
- return explicitControl.readonly;
161
- }
162
- if (this.formControl) {
163
- return this.formControl.readonly;
164
- }
165
- return this.autoDetectedReadonly();
166
- }, ...(ngDevMode ? [{ debugName: "isEffectivelyReadonly" }] : /* istanbul ignore next */ []));
167
- effectiveNgControl = computed(() => {
168
- return (this.formControlDirective ??
169
- this.formControlName ??
170
- this.ngModelDir ??
171
- null);
172
- }, ...(ngDevMode ? [{ debugName: "effectiveNgControl" }] : /* istanbul ignore next */ []));
173
- isAutoInvalid = computed(() => {
174
- const control = this.effectiveNgControl();
175
- if (!control?.control) {
176
- return false;
177
- }
178
- const ctrl = control.control;
179
- const invalid = ctrl.invalid;
180
- const touched = ctrl.touched;
181
- const dirty = ctrl.dirty;
182
- const focused = this.isFocused();
183
- if (!invalid) {
184
- return false;
185
- }
186
- if (focused) {
187
- return false;
188
- }
189
- return touched || dirty;
190
- }, ...(ngDevMode ? [{ debugName: "isAutoInvalid" }] : /* istanbul ignore next */ []));
191
- isInvalid = computed(() => {
192
- const manual = this.invalid();
193
- if (manual !== undefined) {
194
- return manual;
195
- }
196
- const explicitControl = this.control();
197
- if (explicitControl) {
198
- return explicitControl.invalid;
199
- }
200
- if (this.formControl) {
201
- return this.formControl.invalid && !this.isFocused();
202
- }
203
- return this.isAutoInvalid();
204
- }, ...(ngDevMode ? [{ debugName: "isInvalid" }] : /* istanbul ignore next */ []));
205
- showError = computed(() => {
206
- return this.isInvalid() && (!!this.errorText() || this.hasProjectedError());
207
- }, ...(ngDevMode ? [{ debugName: "showError" }] : /* istanbul ignore next */ []));
208
- showHint = computed(() => {
209
- if (this.showError()) {
210
- return false;
211
- }
212
- return !!this.hintText() || this.hasProjectedHint();
213
- }, ...(ngDevMode ? [{ debugName: "showHint" }] : /* istanbul ignore next */ []));
214
- describedBy = computed(() => {
215
- const ids = [];
216
- if (this.showHint()) {
217
- ids.push(this.hintId);
218
- }
219
- if (this.showError()) {
220
- ids.push(this.errorId);
221
- }
222
- return ids.length > 0 ? ids.join(' ') : null;
223
- }, ...(ngDevMode ? [{ debugName: "describedBy" }] : /* istanbul ignore next */ []));
224
- ngAfterContentInit() {
225
- this.hasPrefix.set(!!this.prefix);
226
- this.hasSuffix.set(!!this.suffix);
227
- this.detectControl();
228
- this.connectControl();
229
- this.syncDescribedBy();
230
- this.syncControlDisabledReadonly();
231
- this.warnNoControl();
232
- this.warnMultipleControls();
233
- }
234
- syncControlDisabledReadonly() {
235
- if (!this.controlElement) {
236
- return;
237
- }
238
- if (this.control()) {
239
- return;
240
- }
241
- // SECURITY_EXCEPTION: Setting disabled/readonly on native control is required for FormField propagation.
242
- const input = this.controlElement;
243
- const shouldDisable = this.isEffectivelyDisabled();
244
- const shouldReadonly = this.isEffectivelyReadonly();
245
- if (input.disabled !== shouldDisable) {
246
- input.disabled = shouldDisable;
247
- }
248
- if (input.readOnly !== shouldReadonly) {
249
- input.readOnly = shouldReadonly;
250
- }
251
- }
252
- syncDescribedBy() {
253
- const describedBy = this.describedBy();
254
- const targetControl = this.control() ?? this.formControl;
255
- if (targetControl) {
256
- if (describedBy) {
257
- targetControl.setDescribedByIds(describedBy.split(' '));
258
- }
259
- else {
260
- targetControl.setDescribedByIds([]);
261
- }
262
- }
263
- }
264
- describedByEffect = effect(() => {
265
- this.describedBy();
266
- this.syncDescribedBy();
267
- }, ...(ngDevMode ? [{ debugName: "describedByEffect" }] : /* istanbul ignore next */ []));
268
- ngOnDestroy() {
269
- this.removeListeners();
270
- }
271
- detectControl() {
272
- const explicitControl = this.control();
273
- if (explicitControl) {
274
- this.controlId = explicitControl.id;
275
- // SECURITY_EXCEPTION: nativeElement.querySelector required to find trigger element. Standard DOM API used after Angular CDK pattern.
276
- const triggerEl = this.elementRef.nativeElement.querySelector('[solaris-form-field-trigger]');
277
- if (triggerEl) {
278
- this.controlElement = triggerEl;
279
- if (triggerEl.id) {
280
- this.controlId = triggerEl.id;
281
- }
282
- this.connectControl();
283
- }
284
- return;
285
- }
286
- // SECURITY_EXCEPTION: nativeElement access required to detect projected form controls.
287
- // SECURITY_EXCEPTION: Angular CDK and Material use the same approach.
288
- // SECURITY_EXCEPTION: Read-only querySelectorAll, no DOM mutation.
289
- const nativeElement = this.elementRef.nativeElement;
290
- const children = nativeElement.querySelectorAll('input, select, textarea, [solaris-input], [solaris-select], [solaris-textarea]');
291
- if (children.length > 0) {
292
- const first = children[0];
293
- this.controlElement = first;
294
- // SECURITY_EXCEPTION: nativeElement.tagName is the standard DOM API to check element type.
295
- const isTextarea = first.tagName === 'TEXTAREA';
296
- this.isTextareaControl.set(isTextarea);
297
- // SECURITY_EXCEPTION: getAttribute is the standard DOM API to read HTML attributes.
298
- const maxlengthAttr = first.getAttribute('maxlength');
299
- if (maxlengthAttr !== null) {
300
- const parsed = parseInt(maxlengthAttr, 10);
301
- this.maxLength.set(!isNaN(parsed) ? parsed : undefined);
302
- }
303
- else {
304
- this.maxLength.set(undefined);
305
- }
306
- // SECURITY_EXCEPTION: reading value.length from native input/textarea is required for character counter.
307
- this.currentLength.set(first.value?.length ?? 0);
308
- if (isTextarea) {
309
- const resize = first.dataset['resize'] ?? first.getAttribute('resize');
310
- const validResize = resize === 'none' ||
311
- resize === 'vertical' ||
312
- resize === 'horizontal' ||
313
- resize === 'both'
314
- ? resize
315
- : 'vertical';
316
- this.controlResize.set(validResize);
317
- }
318
- else {
319
- this.controlResize.set(null);
320
- }
321
- }
322
- if (this.formControl) {
323
- this.controlId = this.formControl.id;
324
- }
325
- else if (this.controlElement) {
326
- if (!this.controlElement.id) {
327
- const generatedId = `solaris-control-${this.fieldId}`;
328
- this.controlElement.id = generatedId;
329
- this.controlId = generatedId;
330
- }
331
- else {
332
- this.controlId = this.controlElement.id;
333
- }
334
- }
335
- }
336
- connectControl() {
337
- if (this.controlElement) {
338
- this.addListeners(this.controlElement);
339
- }
340
- }
341
- addListeners(element) {
342
- this.removeListeners();
343
- this.ngZone.runOutsideAngular(() => {
344
- const onFocus = () => {
345
- this.ngZone.run(() => this.isFocused.set(true));
346
- };
347
- const onBlur = () => {
348
- this.ngZone.run(() => this.isFocused.set(false));
349
- };
350
- const onInput = () => {
351
- // SECURITY_EXCEPTION: reading value.length from native input/textarea is standard DOM API for character counter.
352
- this.ngZone.run(() => {
353
- this.currentLength.set(element.value?.length ??
354
- 0);
355
- });
356
- };
357
- element.addEventListener('focusin', onFocus);
358
- element.addEventListener('focusout', onBlur);
359
- element.addEventListener('input', onInput);
360
- this.focusListener = () => element.removeEventListener('focusin', onFocus);
361
- this.blurListener = () => element.removeEventListener('focusout', onBlur);
362
- this.inputListener = () => element.removeEventListener('input', onInput);
363
- });
364
- }
365
- removeListeners() {
366
- this.focusListener?.();
367
- this.blurListener?.();
368
- this.inputListener?.();
369
- this.focusListener = null;
370
- this.blurListener = null;
371
- this.inputListener = null;
372
- }
373
- warnNoControl() {
374
- const hasAnyControl = !!this.control() ||
375
- !!this.formControl ||
376
- !!this.controlElement ||
377
- !!this.effectiveNgControl();
378
- if (!hasAnyControl) {
379
- console.warn(`[SolarisFormField] No form control found inside <solaris-form-field id="${this.fieldId}">. ` +
380
- 'Form Field requires a control (input, select, textarea, or a Solaris form control directive). ' +
381
- 'This warning is shown in development only. The component will render safely without the control.');
382
- }
383
- }
384
- warnMultipleControls() {
385
- // SECURITY_EXCEPTION: nativeElement access required to count projected controls.
386
- // SECURITY_EXCEPTION: Same justification as detectControl: read-only query, no DOM mutation.
387
- const nativeElement = this.elementRef.nativeElement;
388
- const children = nativeElement.querySelectorAll('input, select, textarea, [solaris-input], [solaris-select], [solaris-textarea]');
389
- if (children.length > 1) {
390
- console.warn(`[SolarisFormField] Multiple form controls detected inside <solaris-form-field id="${this.fieldId}">. ` +
391
- 'Form Field v1 supports one main control. Multiple controls may cause unexpected behavior.');
392
- }
393
- }
394
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SolarisFormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
395
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.17", type: SolarisFormFieldComponent, isStandalone: true, selector: "solaris-form-field", inputs: { hintKey: { classPropertyName: "hintKey", publicName: "hintKey", isSignal: true, isRequired: false, transformFunction: null }, labelKey: { classPropertyName: "labelKey", publicName: "labelKey", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, errorKey: { classPropertyName: "errorKey", publicName: "errorKey", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, error: { classPropertyName: "error", publicName: "error", isSignal: true, isRequired: false, transformFunction: null }, optionalLabel: { classPropertyName: "optionalLabel", publicName: "optionalLabel", isSignal: true, isRequired: false, transformFunction: null }, requiredLabel: { classPropertyName: "requiredLabel", publicName: "requiredLabel", isSignal: true, isRequired: false, transformFunction: null }, optionalLabelKey: { classPropertyName: "optionalLabelKey", publicName: "optionalLabelKey", isSignal: true, isRequired: false, transformFunction: null }, requiredLabelKey: { classPropertyName: "requiredLabelKey", publicName: "requiredLabelKey", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, optional: { classPropertyName: "optional", publicName: "optional", isSignal: true, isRequired: false, transformFunction: null }, invalid: { classPropertyName: "invalid", publicName: "invalid", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, density: { classPropertyName: "density", publicName: "density", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, radius: { classPropertyName: "radius", publicName: "radius", isSignal: true, isRequired: false, transformFunction: null }, appearance: { classPropertyName: "appearance", publicName: "appearance", isSignal: true, isRequired: false, transformFunction: null }, control: { classPropertyName: "control", publicName: "control", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()", "attr.data-radius": "radius()", "attr.data-bwignore": "\"true\"", "attr.data-appearance": "appearance()", "attr.data-density": "effectiveDensity()", "attr.data-control-type": "controlType()", "attr.data-control-resize": "controlResize()", "attr.data-invalid": "isInvalid() ? \"\" : null", "attr.data-focused": "isFocused() ? \"\" : null", "attr.data-has-prefix": "hasPrefix() ? \"\" : null", "attr.data-has-suffix": "hasSuffix() ? \"\" : null", "attr.data-disabled": "isEffectivelyDisabled() ? \"\" : null", "attr.data-readonly": "isEffectivelyReadonly() ? \"\" : null" } }, queries: [{ propertyName: "projectedLabel", first: true, predicate: SolarisFormLabelComponent, descendants: true }, { propertyName: "projectedHint", first: true, predicate: SolarisFormHintComponent, descendants: true }, { propertyName: "projectedError", first: true, predicate: SolarisFormErrorComponent, descendants: true }, { propertyName: "prefix", first: true, predicate: SolarisFormPrefixDirective, descendants: true }, { propertyName: "suffix", first: true, predicate: SolarisFormSuffixDirective, descendants: true }, { propertyName: "formControl", first: true, predicate: SolarisFormControl, descendants: true }, { propertyName: "formControlDirective", first: true, predicate: FormControlDirective, descendants: true }, { propertyName: "formControlName", first: true, predicate: FormControlName, descendants: true }, { propertyName: "ngModelDir", first: true, predicate: NgModel, descendants: true }], ngImport: i0, template: "@if (labelText() || hasProjectedLabel()) {\n <div class=\"solaris-form-field__label-row\">\n @if (hasProjectedLabel()) {\n <ng-content select=\"solaris-form-label\" />\n } @else if (labelText()) {\n <label\n class=\"solaris-form-field__label\"\n [id]=\"labelId\"\n [for]=\"controlId ?? undefined\"\n >\n {{ labelText() }}\n </label>\n }\n @if (optional()) {\n <span\n class=\"solaris-form-field__optional-marker\"\n [attr.aria-label]=\"optionalLabelText()\"\n >\n {{ optionalLabelText() }}\n </span>\n }\n @if (showCharacterCounter()) {\n <span\n class=\"solaris-form-field__character-counter\"\n aria-live=\"polite\"\n [attr.aria-label]=\"characterCounterText()\"\n [attr.data-severity]=\"characterCounterSeverity()\"\n >\n {{ characterCounterText() }}\n </span>\n }\n </div>\n}\n\n<div class=\"solaris-form-field__control-wrapper\">\n <span\n class=\"solaris-form-field__affix solaris-form-field__affix--prefix\"\n [attr.data-empty]=\"hasPrefix() ? null : ''\"\n >\n <ng-content select=\"[solaris-form-prefix]\" />\n </span>\n\n <div class=\"solaris-form-field__control\">\n <ng-content />\n </div>\n\n <span\n class=\"solaris-form-field__affix solaris-form-field__affix--suffix\"\n [attr.data-empty]=\"hasSuffix() ? null : ''\"\n >\n <ng-content select=\"[solaris-form-suffix]\" />\n </span>\n</div>\n\n@if (showError() || showHint()) {\n <div class=\"solaris-form-field__message-row\">\n @if (showError()) {\n <div class=\"solaris-form-field__error\" [id]=\"errorId\" role=\"alert\">\n @if (hasProjectedError()) {\n <ng-content select=\"solaris-form-error\" />\n } @else {\n {{ errorText() }}\n }\n </div>\n } @else if (showHint()) {\n <div class=\"solaris-form-field__hint\" [id]=\"hintId\">\n @if (hasProjectedHint()) {\n <ng-content select=\"solaris-form-hint\" />\n } @else {\n {{ hintText() }}\n }\n </div>\n }\n </div>\n}\n", styles: [":host{--solaris-form-field-font-size: initial;--solaris-form-field-hint-color: initial;--solaris-form-field-label-color: initial;--solaris-form-field-control-gap: initial;--solaris-form-field-error-color: initial;--solaris-form-field-prefix-color: initial;--solaris-form-field-suffix-color: initial;--solaris-form-field-control-color: initial;--solaris-form-field-control-height: initial;--solaris-form-field-control-radius: initial;--solaris-form-field-hint-font-size: initial;--solaris-form-field-optional-color: initial;--solaris-form-field-label-font-size: initial;--solaris-form-field-error-font-size: initial;--solaris-form-field-disabled-opacity: initial;--solaris-form-field-focus-ring-width: initial;--solaris-form-field-focus-ring-color: initial;--solaris-form-field-control-padding-x: initial;--solaris-form-field-label-font-weight: initial;--solaris-form-field-message-margin-top: initial;--solaris-form-field-optional-font-size: initial;--solaris-form-field-error-border-color: initial;--solaris-form-field-control-background: initial;--solaris-form-field-label-margin-bottom: initial;--solaris-form-field-readonly-background: initial;--solaris-form-field-control-border-color: initial;--solaris-form-field-control-border-width: initial;display:block;box-sizing:border-box;font-size:var(--solaris-form-field-font-size);font-family:var(--solaris-font-family-sans),system-ui}.solaris-form-field__label-row{display:flex;align-items:center;gap:var(--solaris-spacing-2);margin-bottom:var(--solaris-form-field-label-margin-bottom)}.solaris-form-field__label,::ng-deep .solaris-form-label{display:inline-block;color:var(--solaris-form-field-label-color);font-size:var(--solaris-form-field-label-font-size);font-weight:var(--solaris-form-field-label-font-weight);cursor:pointer}.solaris-form-field__optional-marker{color:var(--solaris-form-field-optional-color);font-size:var(--solaris-form-field-optional-font-size);white-space:nowrap}.solaris-form-field__character-counter{margin-left:auto;color:var(--solaris-form-field-optional-color);font-size:var(--solaris-form-field-optional-font-size);font-variant-numeric:tabular-nums;white-space:nowrap;transition:color var(--solaris-motion-duration-fast) ease}.solaris-form-field__character-counter[data-severity=warning]{color:var(--solaris-warning-text)}.solaris-form-field__character-counter[data-severity=danger]{color:var(--solaris-danger-text)}.solaris-form-field__control-wrapper{position:relative;display:flex;align-items:stretch;gap:var(--solaris-form-field-control-gap);min-height:var(--solaris-form-field-control-height);padding:0 var(--solaris-form-field-control-padding-x);box-sizing:border-box;border-width:var(--solaris-form-field-control-border-width);border-style:solid;border-color:var(--solaris-form-field-control-border-color);border-radius:var(--solaris-form-field-control-radius);background:var(--solaris-form-field-control-background);transition:border-color var(--solaris-motion-duration-fast) ease,box-shadow var(--solaris-motion-duration-fast) ease}:host([data-has-prefix]) .solaris-form-field__control-wrapper{padding-left:0}.solaris-form-field__control-wrapper[data-connected-side=bottom]{border-bottom-left-radius:0;border-bottom-right-radius:0}.solaris-form-field__control-wrapper[data-connected-side=top]{border-top-left-radius:0;border-top-right-radius:0}.solaris-form-field__control{display:flex;flex:1;align-items:center;min-width:0}.solaris-form-field__affix{display:flex;flex:0 0 auto;align-self:stretch;align-items:center;justify-content:center;min-width:0;box-sizing:border-box;line-height:1;cursor:default}.solaris-form-field__affix[data-empty]{display:none}.solaris-form-field__affix--prefix{inline-size:var(--solaris-form-field-control-height);color:var(--solaris-form-field-prefix-color);border-inline-end:var(--solaris-border-width-sm) solid var(--solaris-border-subtle);transition:color var(--solaris-motion-duration-fast) ease}.solaris-form-field__affix--suffix{color:var(--solaris-form-field-suffix-color);transition:color var(--solaris-motion-duration-slow) ease}.solaris-form-field__affix--prefix:hover,.solaris-form-field__affix--suffix:hover{color:var(--solaris-text-default)}:host ::ng-deep .solaris-form-prefix,:host ::ng-deep .solaris-form-suffix{display:inline-flex;flex:0 0 auto;align-self:auto;align-items:center;justify-content:center;color:inherit;border:0;line-height:1;cursor:inherit}:host ::ng-deep solaris-icon.solaris-form-prefix,:host ::ng-deep solaris-icon.solaris-form-suffix,:host ::ng-deep .solaris-form-prefix solaris-icon,:host ::ng-deep .solaris-form-suffix solaris-icon{inline-size:1em;block-size:1em;flex:0 0 auto;color:inherit;font-size:var(--solaris-font-size-lg);transition:color var(--solaris-motion-duration-slow) ease}:host([data-control-type=textarea]){min-width:0}:host([data-control-type=textarea]) .solaris-form-field__control-wrapper{padding-right:0;overflow:visible}:host([data-control-type=textarea]) .solaris-form-field__control{overflow:visible}:host([data-control-type=textarea][data-control-resize=horizontal]) .solaris-form-field__control-wrapper{width:100%;min-width:8rem;overflow:hidden;resize:horizontal}:host([data-control-type=textarea][data-control-resize=horizontal]) .solaris-form-field__control{min-width:0}:host([data-control-type=textarea][data-control-resize=horizontal]) ::ng-deep textarea[solaris-textarea]{display:block;width:100%;min-width:0;resize:none}:host([data-control-type=textarea][data-control-resize=both]) .solaris-form-field__control-wrapper{width:100%;min-width:8rem;min-height:var(--solaris-form-field-control-height);align-items:stretch;overflow:hidden;resize:both}:host([data-control-type=textarea][data-control-resize=both]) .solaris-form-field__control{align-items:stretch;min-width:0;min-height:0;overflow:hidden}:host([data-control-type=textarea][data-control-resize=both]) ::ng-deep textarea[solaris-textarea]{display:block;flex:1 1 auto;width:100%;height:100%;min-width:0;min-height:0;resize:none}.solaris-form-field__message-row{margin-top:var(--solaris-form-field-message-margin-top)}.solaris-form-field__hint{margin:var(--solaris-spacing-1);color:var(--solaris-form-field-hint-color);font-size:var(--solaris-form-field-hint-font-size)}.solaris-form-field__error{margin:var(--solaris-spacing-1);color:var(--solaris-form-field-error-color);font-size:var(--solaris-form-field-error-font-size)}:host([data-size=sm]){--solaris-form-field-control-gap: var(--solaris-spacing-1);--solaris-form-field-font-size: var(--solaris-font-size-sm);--solaris-form-field-control-height: var(--solaris-spacing-8);--solaris-form-field-control-padding-x: var(--solaris-spacing-2);--solaris-form-field-hint-font-size: var(--solaris-font-size-xs);--solaris-form-field-label-font-size: var(--solaris-font-size-xs);--solaris-form-field-error-font-size: var(--solaris-font-size-xs);--solaris-form-field-message-margin-top: var(--solaris-spacing-1);--solaris-form-field-label-margin-bottom: var(--solaris-spacing-1);--solaris-form-field-optional-font-size: var(--solaris-font-size-xs)}:host([data-size=md]){--solaris-form-field-control-height: var(--solaris-spacing-10);--solaris-form-field-control-gap: var(--solaris-spacing-2);--solaris-form-field-font-size: var(--solaris-font-size-md);--solaris-form-field-control-padding-x: var(--solaris-spacing-3);--solaris-form-field-hint-font-size: var(--solaris-font-size-xs);--solaris-form-field-error-font-size: var(--solaris-font-size-xs);--solaris-form-field-label-font-size: var(--solaris-font-size-sm);--solaris-form-field-message-margin-top: var(--solaris-spacing-1);--solaris-form-field-label-margin-bottom: var(--solaris-spacing-1);--solaris-form-field-optional-font-size: var(--solaris-font-size-xs)}:host([data-size=lg]){--solaris-form-field-control-height: var(--solaris-spacing-12);--solaris-form-field-control-gap: var(--solaris-spacing-2);--solaris-form-field-font-size: var(--solaris-font-size-lg);--solaris-form-field-control-padding-x: var(--solaris-spacing-4);--solaris-form-field-hint-font-size: var(--solaris-font-size-xs);--solaris-form-field-label-font-size: var(--solaris-font-size-md);--solaris-form-field-error-font-size: var(--solaris-font-size-xs);--solaris-form-field-message-margin-top: var(--solaris-spacing-2);--solaris-form-field-label-margin-bottom: var(--solaris-spacing-2);--solaris-form-field-optional-font-size: var(--solaris-font-size-xs)}:host([data-density=compact]){--solaris-form-field-control-height: var(--solaris-density-min-height);--solaris-form-field-control-gap: var(--solaris-spacing-1);--solaris-form-field-font-size: var(--solaris-font-size-sm);--solaris-form-field-control-padding-x: var(--solaris-spacing-2);--solaris-form-field-hint-font-size: var(--solaris-font-size-xs);--solaris-form-field-label-font-size: var(--solaris-font-size-xs);--solaris-form-field-error-font-size: var(--solaris-font-size-xs);--solaris-form-field-message-margin-top: var(--solaris-spacing-1);--solaris-form-field-label-margin-bottom: var(--solaris-spacing-1);--solaris-form-field-optional-font-size: var(--solaris-font-size-xs)}:host([data-density=comfortable]){--solaris-form-field-control-height: var(--solaris-density-min-height);--solaris-form-field-control-gap: var(--solaris-spacing-2);--solaris-form-field-control-padding-x: var(--solaris-spacing-3);--solaris-form-field-hint-font-size: var(--solaris-font-size-xs);--solaris-form-field-error-font-size: var(--solaris-font-size-xs);--solaris-form-field-message-margin-top: var(--solaris-spacing-2);--solaris-form-field-label-margin-bottom: var(--solaris-spacing-2);--solaris-form-field-optional-font-size: var(--solaris-font-size-xs)}:host([data-radius=none]){--solaris-form-field-control-radius: var(--solaris-radius-none)}:host([data-radius=sm]){--solaris-form-field-control-radius: var(--solaris-radius-sm)}:host([data-radius=md]){--solaris-form-field-control-radius: var(--solaris-radius-md)}:host([data-radius=lg]){--solaris-form-field-control-radius: var(--solaris-radius-lg)}:host([data-focused]){--solaris-form-field-control-border-color: var( --solaris-form-field-focus-ring-color )}:host([data-disabled]){--solaris-form-field-control-color: var( --solaris-text-disabled, var(--solaris-text-muted) );--solaris-form-field-control-background: var( --solaris-surface-disabled, var(--solaris-surface-muted) );opacity:var(--solaris-form-field-disabled-opacity);cursor:not-allowed}:host([data-readonly]){--solaris-form-field-control-border-color: var(--solaris-border-subtle);--solaris-form-field-control-background: var( --solaris-form-field-readonly-background )}:host([data-appearance=outline]),:host([data-appearance=surface]),:host([data-appearance=filled]){--solaris-form-field-disabled-opacity: .5;--solaris-form-field-focus-ring-width: 2px;--solaris-form-field-hint-color: var(--solaris-text-muted);--solaris-form-field-prefix-color: var(--solaris-text-muted);--solaris-form-field-suffix-color: var(--solaris-text-muted);--solaris-form-field-error-color: var(--solaris-danger-text);--solaris-form-field-label-color: var(--solaris-text-default);--solaris-form-field-optional-color: var(--solaris-text-muted);--solaris-form-field-focus-ring-color: var(--solaris-primary-base);--solaris-form-field-error-border-color: var(--solaris-danger-base);--solaris-form-field-label-font-weight: var(--solaris-font-weight-medium)}:host([data-appearance=outline]){--solaris-form-field-control-border-width: var(--solaris-border-width-sm);--solaris-form-field-control-background: var(--solaris-surface-base);--solaris-form-field-readonly-background: var(--solaris-surface-muted);--solaris-form-field-control-border-color: var(--solaris-border-subtle)}:host([data-appearance=surface]){--solaris-form-field-control-border-width: 0;--solaris-form-field-readonly-background: var(--solaris-surface-base);--solaris-form-field-control-background: var(--solaris-surface-subtle);--solaris-form-field-control-border-color: var(--solaris-border-subtle)}:host([data-appearance=filled]){--solaris-form-field-control-background: var(--solaris-surface-subtle);--solaris-form-field-readonly-background: var(--solaris-surface-muted);--solaris-form-field-control-border-color: var(--solaris-border-subtle);--solaris-form-field-control-border-width: var(--solaris-border-width-sm)}:host([data-invalid]){--solaris-form-field-control-border-color: var( --solaris-form-field-error-border-color )}:host([data-invalid][data-focused]){--solaris-form-field-control-border-color: var( --solaris-form-field-error-border-color );outline-color:var(--solaris-form-field-error-border-color)}\n"] });
396
- }
397
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SolarisFormFieldComponent, decorators: [{
398
- type: Component,
399
- args: [{ selector: 'solaris-form-field', standalone: true, imports: [], host: {
400
- '[attr.data-size]': 'size()',
401
- '[attr.data-radius]': 'radius()',
402
- '[attr.data-bwignore]': '"true"',
403
- '[attr.data-appearance]': 'appearance()',
404
- '[attr.data-density]': 'effectiveDensity()',
405
- '[attr.data-control-type]': 'controlType()',
406
- '[attr.data-control-resize]': 'controlResize()',
407
- '[attr.data-invalid]': 'isInvalid() ? "" : null',
408
- '[attr.data-focused]': 'isFocused() ? "" : null',
409
- '[attr.data-has-prefix]': 'hasPrefix() ? "" : null',
410
- '[attr.data-has-suffix]': 'hasSuffix() ? "" : null',
411
- '[attr.data-disabled]': 'isEffectivelyDisabled() ? "" : null',
412
- '[attr.data-readonly]': 'isEffectivelyReadonly() ? "" : null',
413
- }, template: "@if (labelText() || hasProjectedLabel()) {\n <div class=\"solaris-form-field__label-row\">\n @if (hasProjectedLabel()) {\n <ng-content select=\"solaris-form-label\" />\n } @else if (labelText()) {\n <label\n class=\"solaris-form-field__label\"\n [id]=\"labelId\"\n [for]=\"controlId ?? undefined\"\n >\n {{ labelText() }}\n </label>\n }\n @if (optional()) {\n <span\n class=\"solaris-form-field__optional-marker\"\n [attr.aria-label]=\"optionalLabelText()\"\n >\n {{ optionalLabelText() }}\n </span>\n }\n @if (showCharacterCounter()) {\n <span\n class=\"solaris-form-field__character-counter\"\n aria-live=\"polite\"\n [attr.aria-label]=\"characterCounterText()\"\n [attr.data-severity]=\"characterCounterSeverity()\"\n >\n {{ characterCounterText() }}\n </span>\n }\n </div>\n}\n\n<div class=\"solaris-form-field__control-wrapper\">\n <span\n class=\"solaris-form-field__affix solaris-form-field__affix--prefix\"\n [attr.data-empty]=\"hasPrefix() ? null : ''\"\n >\n <ng-content select=\"[solaris-form-prefix]\" />\n </span>\n\n <div class=\"solaris-form-field__control\">\n <ng-content />\n </div>\n\n <span\n class=\"solaris-form-field__affix solaris-form-field__affix--suffix\"\n [attr.data-empty]=\"hasSuffix() ? null : ''\"\n >\n <ng-content select=\"[solaris-form-suffix]\" />\n </span>\n</div>\n\n@if (showError() || showHint()) {\n <div class=\"solaris-form-field__message-row\">\n @if (showError()) {\n <div class=\"solaris-form-field__error\" [id]=\"errorId\" role=\"alert\">\n @if (hasProjectedError()) {\n <ng-content select=\"solaris-form-error\" />\n } @else {\n {{ errorText() }}\n }\n </div>\n } @else if (showHint()) {\n <div class=\"solaris-form-field__hint\" [id]=\"hintId\">\n @if (hasProjectedHint()) {\n <ng-content select=\"solaris-form-hint\" />\n } @else {\n {{ hintText() }}\n }\n </div>\n }\n </div>\n}\n", styles: [":host{--solaris-form-field-font-size: initial;--solaris-form-field-hint-color: initial;--solaris-form-field-label-color: initial;--solaris-form-field-control-gap: initial;--solaris-form-field-error-color: initial;--solaris-form-field-prefix-color: initial;--solaris-form-field-suffix-color: initial;--solaris-form-field-control-color: initial;--solaris-form-field-control-height: initial;--solaris-form-field-control-radius: initial;--solaris-form-field-hint-font-size: initial;--solaris-form-field-optional-color: initial;--solaris-form-field-label-font-size: initial;--solaris-form-field-error-font-size: initial;--solaris-form-field-disabled-opacity: initial;--solaris-form-field-focus-ring-width: initial;--solaris-form-field-focus-ring-color: initial;--solaris-form-field-control-padding-x: initial;--solaris-form-field-label-font-weight: initial;--solaris-form-field-message-margin-top: initial;--solaris-form-field-optional-font-size: initial;--solaris-form-field-error-border-color: initial;--solaris-form-field-control-background: initial;--solaris-form-field-label-margin-bottom: initial;--solaris-form-field-readonly-background: initial;--solaris-form-field-control-border-color: initial;--solaris-form-field-control-border-width: initial;display:block;box-sizing:border-box;font-size:var(--solaris-form-field-font-size);font-family:var(--solaris-font-family-sans),system-ui}.solaris-form-field__label-row{display:flex;align-items:center;gap:var(--solaris-spacing-2);margin-bottom:var(--solaris-form-field-label-margin-bottom)}.solaris-form-field__label,::ng-deep .solaris-form-label{display:inline-block;color:var(--solaris-form-field-label-color);font-size:var(--solaris-form-field-label-font-size);font-weight:var(--solaris-form-field-label-font-weight);cursor:pointer}.solaris-form-field__optional-marker{color:var(--solaris-form-field-optional-color);font-size:var(--solaris-form-field-optional-font-size);white-space:nowrap}.solaris-form-field__character-counter{margin-left:auto;color:var(--solaris-form-field-optional-color);font-size:var(--solaris-form-field-optional-font-size);font-variant-numeric:tabular-nums;white-space:nowrap;transition:color var(--solaris-motion-duration-fast) ease}.solaris-form-field__character-counter[data-severity=warning]{color:var(--solaris-warning-text)}.solaris-form-field__character-counter[data-severity=danger]{color:var(--solaris-danger-text)}.solaris-form-field__control-wrapper{position:relative;display:flex;align-items:stretch;gap:var(--solaris-form-field-control-gap);min-height:var(--solaris-form-field-control-height);padding:0 var(--solaris-form-field-control-padding-x);box-sizing:border-box;border-width:var(--solaris-form-field-control-border-width);border-style:solid;border-color:var(--solaris-form-field-control-border-color);border-radius:var(--solaris-form-field-control-radius);background:var(--solaris-form-field-control-background);transition:border-color var(--solaris-motion-duration-fast) ease,box-shadow var(--solaris-motion-duration-fast) ease}:host([data-has-prefix]) .solaris-form-field__control-wrapper{padding-left:0}.solaris-form-field__control-wrapper[data-connected-side=bottom]{border-bottom-left-radius:0;border-bottom-right-radius:0}.solaris-form-field__control-wrapper[data-connected-side=top]{border-top-left-radius:0;border-top-right-radius:0}.solaris-form-field__control{display:flex;flex:1;align-items:center;min-width:0}.solaris-form-field__affix{display:flex;flex:0 0 auto;align-self:stretch;align-items:center;justify-content:center;min-width:0;box-sizing:border-box;line-height:1;cursor:default}.solaris-form-field__affix[data-empty]{display:none}.solaris-form-field__affix--prefix{inline-size:var(--solaris-form-field-control-height);color:var(--solaris-form-field-prefix-color);border-inline-end:var(--solaris-border-width-sm) solid var(--solaris-border-subtle);transition:color var(--solaris-motion-duration-fast) ease}.solaris-form-field__affix--suffix{color:var(--solaris-form-field-suffix-color);transition:color var(--solaris-motion-duration-slow) ease}.solaris-form-field__affix--prefix:hover,.solaris-form-field__affix--suffix:hover{color:var(--solaris-text-default)}:host ::ng-deep .solaris-form-prefix,:host ::ng-deep .solaris-form-suffix{display:inline-flex;flex:0 0 auto;align-self:auto;align-items:center;justify-content:center;color:inherit;border:0;line-height:1;cursor:inherit}:host ::ng-deep solaris-icon.solaris-form-prefix,:host ::ng-deep solaris-icon.solaris-form-suffix,:host ::ng-deep .solaris-form-prefix solaris-icon,:host ::ng-deep .solaris-form-suffix solaris-icon{inline-size:1em;block-size:1em;flex:0 0 auto;color:inherit;font-size:var(--solaris-font-size-lg);transition:color var(--solaris-motion-duration-slow) ease}:host([data-control-type=textarea]){min-width:0}:host([data-control-type=textarea]) .solaris-form-field__control-wrapper{padding-right:0;overflow:visible}:host([data-control-type=textarea]) .solaris-form-field__control{overflow:visible}:host([data-control-type=textarea][data-control-resize=horizontal]) .solaris-form-field__control-wrapper{width:100%;min-width:8rem;overflow:hidden;resize:horizontal}:host([data-control-type=textarea][data-control-resize=horizontal]) .solaris-form-field__control{min-width:0}:host([data-control-type=textarea][data-control-resize=horizontal]) ::ng-deep textarea[solaris-textarea]{display:block;width:100%;min-width:0;resize:none}:host([data-control-type=textarea][data-control-resize=both]) .solaris-form-field__control-wrapper{width:100%;min-width:8rem;min-height:var(--solaris-form-field-control-height);align-items:stretch;overflow:hidden;resize:both}:host([data-control-type=textarea][data-control-resize=both]) .solaris-form-field__control{align-items:stretch;min-width:0;min-height:0;overflow:hidden}:host([data-control-type=textarea][data-control-resize=both]) ::ng-deep textarea[solaris-textarea]{display:block;flex:1 1 auto;width:100%;height:100%;min-width:0;min-height:0;resize:none}.solaris-form-field__message-row{margin-top:var(--solaris-form-field-message-margin-top)}.solaris-form-field__hint{margin:var(--solaris-spacing-1);color:var(--solaris-form-field-hint-color);font-size:var(--solaris-form-field-hint-font-size)}.solaris-form-field__error{margin:var(--solaris-spacing-1);color:var(--solaris-form-field-error-color);font-size:var(--solaris-form-field-error-font-size)}:host([data-size=sm]){--solaris-form-field-control-gap: var(--solaris-spacing-1);--solaris-form-field-font-size: var(--solaris-font-size-sm);--solaris-form-field-control-height: var(--solaris-spacing-8);--solaris-form-field-control-padding-x: var(--solaris-spacing-2);--solaris-form-field-hint-font-size: var(--solaris-font-size-xs);--solaris-form-field-label-font-size: var(--solaris-font-size-xs);--solaris-form-field-error-font-size: var(--solaris-font-size-xs);--solaris-form-field-message-margin-top: var(--solaris-spacing-1);--solaris-form-field-label-margin-bottom: var(--solaris-spacing-1);--solaris-form-field-optional-font-size: var(--solaris-font-size-xs)}:host([data-size=md]){--solaris-form-field-control-height: var(--solaris-spacing-10);--solaris-form-field-control-gap: var(--solaris-spacing-2);--solaris-form-field-font-size: var(--solaris-font-size-md);--solaris-form-field-control-padding-x: var(--solaris-spacing-3);--solaris-form-field-hint-font-size: var(--solaris-font-size-xs);--solaris-form-field-error-font-size: var(--solaris-font-size-xs);--solaris-form-field-label-font-size: var(--solaris-font-size-sm);--solaris-form-field-message-margin-top: var(--solaris-spacing-1);--solaris-form-field-label-margin-bottom: var(--solaris-spacing-1);--solaris-form-field-optional-font-size: var(--solaris-font-size-xs)}:host([data-size=lg]){--solaris-form-field-control-height: var(--solaris-spacing-12);--solaris-form-field-control-gap: var(--solaris-spacing-2);--solaris-form-field-font-size: var(--solaris-font-size-lg);--solaris-form-field-control-padding-x: var(--solaris-spacing-4);--solaris-form-field-hint-font-size: var(--solaris-font-size-xs);--solaris-form-field-label-font-size: var(--solaris-font-size-md);--solaris-form-field-error-font-size: var(--solaris-font-size-xs);--solaris-form-field-message-margin-top: var(--solaris-spacing-2);--solaris-form-field-label-margin-bottom: var(--solaris-spacing-2);--solaris-form-field-optional-font-size: var(--solaris-font-size-xs)}:host([data-density=compact]){--solaris-form-field-control-height: var(--solaris-density-min-height);--solaris-form-field-control-gap: var(--solaris-spacing-1);--solaris-form-field-font-size: var(--solaris-font-size-sm);--solaris-form-field-control-padding-x: var(--solaris-spacing-2);--solaris-form-field-hint-font-size: var(--solaris-font-size-xs);--solaris-form-field-label-font-size: var(--solaris-font-size-xs);--solaris-form-field-error-font-size: var(--solaris-font-size-xs);--solaris-form-field-message-margin-top: var(--solaris-spacing-1);--solaris-form-field-label-margin-bottom: var(--solaris-spacing-1);--solaris-form-field-optional-font-size: var(--solaris-font-size-xs)}:host([data-density=comfortable]){--solaris-form-field-control-height: var(--solaris-density-min-height);--solaris-form-field-control-gap: var(--solaris-spacing-2);--solaris-form-field-control-padding-x: var(--solaris-spacing-3);--solaris-form-field-hint-font-size: var(--solaris-font-size-xs);--solaris-form-field-error-font-size: var(--solaris-font-size-xs);--solaris-form-field-message-margin-top: var(--solaris-spacing-2);--solaris-form-field-label-margin-bottom: var(--solaris-spacing-2);--solaris-form-field-optional-font-size: var(--solaris-font-size-xs)}:host([data-radius=none]){--solaris-form-field-control-radius: var(--solaris-radius-none)}:host([data-radius=sm]){--solaris-form-field-control-radius: var(--solaris-radius-sm)}:host([data-radius=md]){--solaris-form-field-control-radius: var(--solaris-radius-md)}:host([data-radius=lg]){--solaris-form-field-control-radius: var(--solaris-radius-lg)}:host([data-focused]){--solaris-form-field-control-border-color: var( --solaris-form-field-focus-ring-color )}:host([data-disabled]){--solaris-form-field-control-color: var( --solaris-text-disabled, var(--solaris-text-muted) );--solaris-form-field-control-background: var( --solaris-surface-disabled, var(--solaris-surface-muted) );opacity:var(--solaris-form-field-disabled-opacity);cursor:not-allowed}:host([data-readonly]){--solaris-form-field-control-border-color: var(--solaris-border-subtle);--solaris-form-field-control-background: var( --solaris-form-field-readonly-background )}:host([data-appearance=outline]),:host([data-appearance=surface]),:host([data-appearance=filled]){--solaris-form-field-disabled-opacity: .5;--solaris-form-field-focus-ring-width: 2px;--solaris-form-field-hint-color: var(--solaris-text-muted);--solaris-form-field-prefix-color: var(--solaris-text-muted);--solaris-form-field-suffix-color: var(--solaris-text-muted);--solaris-form-field-error-color: var(--solaris-danger-text);--solaris-form-field-label-color: var(--solaris-text-default);--solaris-form-field-optional-color: var(--solaris-text-muted);--solaris-form-field-focus-ring-color: var(--solaris-primary-base);--solaris-form-field-error-border-color: var(--solaris-danger-base);--solaris-form-field-label-font-weight: var(--solaris-font-weight-medium)}:host([data-appearance=outline]){--solaris-form-field-control-border-width: var(--solaris-border-width-sm);--solaris-form-field-control-background: var(--solaris-surface-base);--solaris-form-field-readonly-background: var(--solaris-surface-muted);--solaris-form-field-control-border-color: var(--solaris-border-subtle)}:host([data-appearance=surface]){--solaris-form-field-control-border-width: 0;--solaris-form-field-readonly-background: var(--solaris-surface-base);--solaris-form-field-control-background: var(--solaris-surface-subtle);--solaris-form-field-control-border-color: var(--solaris-border-subtle)}:host([data-appearance=filled]){--solaris-form-field-control-background: var(--solaris-surface-subtle);--solaris-form-field-readonly-background: var(--solaris-surface-muted);--solaris-form-field-control-border-color: var(--solaris-border-subtle);--solaris-form-field-control-border-width: var(--solaris-border-width-sm)}:host([data-invalid]){--solaris-form-field-control-border-color: var( --solaris-form-field-error-border-color )}:host([data-invalid][data-focused]){--solaris-form-field-control-border-color: var( --solaris-form-field-error-border-color );outline-color:var(--solaris-form-field-error-border-color)}\n"] }]
414
- }], ctorParameters: () => [], propDecorators: { hintKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "hintKey", required: false }] }], labelKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelKey", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], errorKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "errorKey", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], error: [{ type: i0.Input, args: [{ isSignal: true, alias: "error", required: false }] }], optionalLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionalLabel", required: false }] }], requiredLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "requiredLabel", required: false }] }], optionalLabelKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionalLabelKey", required: false }] }], requiredLabelKey: [{ type: i0.Input, args: [{ isSignal: true, alias: "requiredLabelKey", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], optional: [{ type: i0.Input, args: [{ isSignal: true, alias: "optional", required: false }] }], invalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "invalid", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], density: [{ type: i0.Input, args: [{ isSignal: true, alias: "density", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], radius: [{ type: i0.Input, args: [{ isSignal: true, alias: "radius", required: false }] }], appearance: [{ type: i0.Input, args: [{ isSignal: true, alias: "appearance", required: false }] }], control: [{ type: i0.Input, args: [{ isSignal: true, alias: "control", required: false }] }], projectedLabel: [{
415
- type: ContentChild,
416
- args: [SolarisFormLabelComponent]
417
- }], projectedHint: [{
418
- type: ContentChild,
419
- args: [SolarisFormHintComponent]
420
- }], projectedError: [{
421
- type: ContentChild,
422
- args: [SolarisFormErrorComponent]
423
- }], prefix: [{
424
- type: ContentChild,
425
- args: [SolarisFormPrefixDirective]
426
- }], suffix: [{
427
- type: ContentChild,
428
- args: [SolarisFormSuffixDirective]
429
- }], formControl: [{
430
- type: ContentChild,
431
- args: [SolarisFormControl]
432
- }], formControlDirective: [{
433
- type: ContentChild,
434
- args: [FormControlDirective]
435
- }], formControlName: [{
436
- type: ContentChild,
437
- args: [FormControlName]
438
- }], ngModelDir: [{
439
- type: ContentChild,
440
- args: [NgModel]
441
- }] } });
442
- //# sourceMappingURL=form-field.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-field.component.js","sourceRoot":"","sources":["../../../../../../../../../packages/angular/src/lib/components/forms/form-field/component/form-field.component.ts","../../../../../../../../../packages/angular/src/lib/components/forms/form-field/component/form-field.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n input,\n computed,\n signal,\n effect,\n ContentChild,\n AfterContentInit,\n OnDestroy,\n ElementRef,\n inject,\n NgZone,\n} from '@angular/core';\nimport { FormControlDirective, FormControlName, NgModel } from '@angular/forms';\n\nimport { SolarisFormPrefixDirective } from '../directives/form-prefix.directive';\nimport { SolarisFormSuffixDirective } from '../directives/form-suffix.directive';\nimport { SolarisTranslateService } from '../../../../services/translation';\nimport { SolarisFormControl } from '../model/form-control.contract';\nimport { SolarisFormLabelComponent } from './form-label.component';\nimport { SolarisFormErrorComponent } from './form-error.component';\nimport { SolarisFormHintComponent } from './form-hint.component';\n\nimport type {\n SolarisFormFieldAppearance,\n SolarisFormFieldSize,\n SolarisFormFieldDensity,\n SolarisFormFieldRadius,\n ControlResize,\n} from '../model/form-field.types';\n\nlet nextId = 0;\nfunction generateId(): string {\n return `solaris-form-field-${++nextId}`;\n}\n\n@Component({\n selector: 'solaris-form-field',\n standalone: true,\n imports: [],\n templateUrl: './form-field.component.html',\n styleUrls: ['./form-field.component.scss'],\n host: {\n '[attr.data-size]': 'size()',\n '[attr.data-radius]': 'radius()',\n '[attr.data-bwignore]': '\"true\"',\n '[attr.data-appearance]': 'appearance()',\n '[attr.data-density]': 'effectiveDensity()',\n '[attr.data-control-type]': 'controlType()',\n '[attr.data-control-resize]': 'controlResize()',\n '[attr.data-invalid]': 'isInvalid() ? \"\" : null',\n '[attr.data-focused]': 'isFocused() ? \"\" : null',\n '[attr.data-has-prefix]': 'hasPrefix() ? \"\" : null',\n '[attr.data-has-suffix]': 'hasSuffix() ? \"\" : null',\n '[attr.data-disabled]': 'isEffectivelyDisabled() ? \"\" : null',\n '[attr.data-readonly]': 'isEffectivelyReadonly() ? \"\" : null',\n },\n})\nexport class SolarisFormFieldComponent implements AfterContentInit, OnDestroy {\n private readonly elementRef = inject<ElementRef<HTMLElement>>(ElementRef);\n private readonly translateService = inject(SolarisTranslateService);\n private readonly ngZone = inject(NgZone);\n\n constructor() {\n // SECURITY_EXCEPTION: Setting disabled/readonly on native control is standard DOM API.\n // SECURITY_EXCEPTION: Required for FormField to propagate disabled/readonly state to projected control.\n effect(() => {\n this.isEffectivelyDisabled();\n this.isEffectivelyReadonly();\n this.syncControlDisabledReadonly();\n });\n }\n\n readonly hintKey = input<string>();\n readonly labelKey = input<string>();\n readonly hint = input<string>('');\n readonly errorKey = input<string>();\n readonly label = input<string>('');\n readonly error = input<string>('');\n readonly optionalLabel = input<string>();\n readonly requiredLabel = input<string>();\n readonly optionalLabelKey = input<string>();\n readonly requiredLabelKey = input<string>();\n readonly required = input<boolean>(false);\n readonly optional = input<boolean>(false);\n readonly invalid = input<boolean | undefined>();\n readonly disabled = input<boolean | undefined>();\n readonly readonly = input<boolean | undefined>();\n readonly density = input<SolarisFormFieldDensity>();\n readonly size = input<SolarisFormFieldSize>('md');\n readonly radius = input<SolarisFormFieldRadius>('md');\n readonly appearance = input<SolarisFormFieldAppearance>('outline');\n readonly control = input<SolarisFormControl | undefined>(undefined);\n\n @ContentChild(SolarisFormLabelComponent)\n protected projectedLabel?: SolarisFormLabelComponent;\n @ContentChild(SolarisFormHintComponent)\n protected projectedHint?: SolarisFormHintComponent;\n @ContentChild(SolarisFormErrorComponent)\n protected projectedError?: SolarisFormErrorComponent;\n @ContentChild(SolarisFormPrefixDirective)\n protected prefix?: SolarisFormPrefixDirective;\n @ContentChild(SolarisFormSuffixDirective)\n protected suffix?: SolarisFormSuffixDirective;\n @ContentChild(SolarisFormControl)\n protected formControl?: SolarisFormControl;\n @ContentChild(FormControlDirective)\n protected formControlDirective?: FormControlDirective;\n @ContentChild(FormControlName)\n protected formControlName?: FormControlName;\n @ContentChild(NgModel)\n protected ngModelDir?: NgModel;\n\n protected readonly fieldId = generateId();\n protected readonly hintId = `solaris-form-field-hint-${this.fieldId}`;\n protected readonly errorId = `solaris-form-field-error-${this.fieldId}`;\n protected readonly labelId = `solaris-form-field-label-${this.fieldId}`;\n\n protected readonly isFocused = signal(false);\n protected readonly isTextareaControl = signal(false);\n protected readonly autoDetectedDisabled = signal(false);\n protected readonly autoDetectedReadonly = signal(false);\n protected readonly controlResize = signal<ControlResize | null>(null);\n\n protected readonly maxLength = signal<number | undefined>(undefined);\n protected readonly currentLength = signal<number>(0);\n protected readonly showCharacterCounter = computed(() => {\n const max = this.maxLength();\n return max !== undefined && max > 0;\n });\n protected readonly characterCounterText = computed(() => {\n const max = this.maxLength();\n if (max === undefined || max <= 0) return '';\n const current = this.currentLength();\n return `${current}/${max}`;\n });\n protected readonly characterCounterSeverity = computed<\n 'normal' | 'warning' | 'danger'\n >(() => {\n const max = this.maxLength();\n const current = this.currentLength();\n if (max === undefined || max <= 0) return 'normal';\n const ratio = current / max;\n if (ratio >= 1) return 'danger';\n if (ratio >= 0.9) return 'warning';\n return 'normal';\n });\n\n protected controlId: string | null = null;\n private controlElement: HTMLElement | null = null;\n private focusListener: (() => void) | null = null;\n private blurListener: (() => void) | null = null;\n private inputListener: (() => void) | null = null;\n\n protected readonly hasProjectedLabel = computed(() => !!this.projectedLabel);\n protected readonly hasProjectedHint = computed(() => !!this.projectedHint);\n protected readonly hasProjectedError = computed(() => !!this.projectedError);\n protected readonly hasPrefix = signal(false);\n protected readonly hasSuffix = signal(false);\n\n protected readonly controlType = computed<\n 'input' | 'textarea' | 'select' | 'other'\n >(() => {\n return this.isTextareaControl() ? 'textarea' : 'other';\n });\n\n protected readonly effectiveDensity = computed<SolarisFormFieldDensity>(\n () => {\n return this.density() ?? 'comfortable';\n },\n );\n\n protected readonly labelText = computed(() => {\n const key = this.labelKey();\n if (key) {\n return this.translateService.translate(key);\n }\n return this.label();\n });\n\n protected readonly hintText = computed(() => {\n const key = this.hintKey();\n if (key) {\n return this.translateService.translate(key);\n }\n return this.hint();\n });\n\n protected readonly errorText = computed(() => {\n const key = this.errorKey();\n if (key) {\n return this.translateService.translate(key);\n }\n return this.error();\n });\n\n protected readonly optionalLabelText = computed(() => {\n const key = this.optionalLabelKey();\n if (key) {\n return this.translateService.translate(key);\n }\n const explicit = this.optionalLabel();\n if (explicit) {\n return explicit;\n }\n return this.translateService.translate('solaris.form-field.optional');\n });\n\n protected readonly isEffectivelyDisabled = computed(() => {\n const manual = this.disabled();\n if (manual !== undefined) {\n return manual;\n }\n const explicitControl = this.control();\n if (explicitControl) {\n return explicitControl.disabled;\n }\n if (this.formControl) {\n return this.formControl.disabled;\n }\n return this.autoDetectedDisabled();\n });\n\n protected readonly isEffectivelyReadonly = computed(() => {\n const manual = this.readonly();\n if (manual !== undefined) {\n return manual;\n }\n const explicitControl = this.control();\n if (explicitControl) {\n return explicitControl.readonly;\n }\n if (this.formControl) {\n return this.formControl.readonly;\n }\n return this.autoDetectedReadonly();\n });\n\n protected readonly effectiveNgControl = computed(() => {\n return (\n this.formControlDirective ??\n this.formControlName ??\n this.ngModelDir ??\n null\n );\n });\n\n protected readonly isAutoInvalid = computed(() => {\n const control = this.effectiveNgControl();\n if (!control?.control) {\n return false;\n }\n const ctrl = control.control;\n const invalid = ctrl.invalid;\n const touched = ctrl.touched;\n const dirty = ctrl.dirty;\n const focused = this.isFocused();\n if (!invalid) {\n return false;\n }\n if (focused) {\n return false;\n }\n return touched || dirty;\n });\n\n protected readonly isInvalid = computed(() => {\n const manual = this.invalid();\n if (manual !== undefined) {\n return manual;\n }\n const explicitControl = this.control();\n if (explicitControl) {\n return explicitControl.invalid;\n }\n if (this.formControl) {\n return this.formControl.invalid && !this.isFocused();\n }\n return this.isAutoInvalid();\n });\n\n protected readonly showError = computed(() => {\n return this.isInvalid() && (!!this.errorText() || this.hasProjectedError());\n });\n\n protected readonly showHint = computed(() => {\n if (this.showError()) {\n return false;\n }\n return !!this.hintText() || this.hasProjectedHint();\n });\n\n protected readonly describedBy = computed(() => {\n const ids: string[] = [];\n if (this.showHint()) {\n ids.push(this.hintId);\n }\n if (this.showError()) {\n ids.push(this.errorId);\n }\n return ids.length > 0 ? ids.join(' ') : null;\n });\n\n ngAfterContentInit(): void {\n this.hasPrefix.set(!!this.prefix);\n this.hasSuffix.set(!!this.suffix);\n this.detectControl();\n this.connectControl();\n this.syncDescribedBy();\n this.syncControlDisabledReadonly();\n this.warnNoControl();\n this.warnMultipleControls();\n }\n\n private syncControlDisabledReadonly(): void {\n if (!this.controlElement) {\n return;\n }\n if (this.control()) {\n return;\n }\n // SECURITY_EXCEPTION: Setting disabled/readonly on native control is required for FormField propagation.\n const input = this.controlElement as HTMLInputElement;\n const shouldDisable = this.isEffectivelyDisabled();\n const shouldReadonly = this.isEffectivelyReadonly();\n if (input.disabled !== shouldDisable) {\n input.disabled = shouldDisable;\n }\n if (input.readOnly !== shouldReadonly) {\n input.readOnly = shouldReadonly;\n }\n }\n\n private syncDescribedBy(): void {\n const describedBy = this.describedBy();\n const targetControl = this.control() ?? this.formControl;\n if (targetControl) {\n if (describedBy) {\n targetControl.setDescribedByIds(describedBy.split(' '));\n } else {\n targetControl.setDescribedByIds([]);\n }\n }\n }\n\n protected readonly describedByEffect = effect(() => {\n this.describedBy();\n this.syncDescribedBy();\n });\n\n ngOnDestroy(): void {\n this.removeListeners();\n }\n\n private detectControl(): void {\n const explicitControl = this.control();\n if (explicitControl) {\n this.controlId = explicitControl.id;\n // SECURITY_EXCEPTION: nativeElement.querySelector required to find trigger element. Standard DOM API used after Angular CDK pattern.\n const triggerEl = this.elementRef.nativeElement.querySelector(\n '[solaris-form-field-trigger]',\n );\n if (triggerEl) {\n this.controlElement = triggerEl as HTMLElement;\n if (triggerEl.id) {\n this.controlId = triggerEl.id;\n }\n this.connectControl();\n }\n return;\n }\n\n // SECURITY_EXCEPTION: nativeElement access required to detect projected form controls.\n // SECURITY_EXCEPTION: Angular CDK and Material use the same approach.\n // SECURITY_EXCEPTION: Read-only querySelectorAll, no DOM mutation.\n const nativeElement = this.elementRef.nativeElement;\n const children = nativeElement.querySelectorAll(\n 'input, select, textarea, [solaris-input], [solaris-select], [solaris-textarea]',\n );\n\n if (children.length > 0) {\n const first = children[0] as HTMLElement;\n this.controlElement = first;\n // SECURITY_EXCEPTION: nativeElement.tagName is the standard DOM API to check element type.\n const isTextarea = first.tagName === 'TEXTAREA';\n this.isTextareaControl.set(isTextarea);\n\n // SECURITY_EXCEPTION: getAttribute is the standard DOM API to read HTML attributes.\n const maxlengthAttr = first.getAttribute('maxlength');\n if (maxlengthAttr !== null) {\n const parsed = parseInt(maxlengthAttr, 10);\n this.maxLength.set(!isNaN(parsed) ? parsed : undefined);\n } else {\n this.maxLength.set(undefined);\n }\n // SECURITY_EXCEPTION: reading value.length from native input/textarea is required for character counter.\n this.currentLength.set(\n (first as HTMLInputElement | HTMLTextAreaElement).value?.length ?? 0,\n );\n\n if (isTextarea) {\n const resize = first.dataset['resize'] ?? first.getAttribute('resize');\n\n const validResize: ControlResize =\n resize === 'none' ||\n resize === 'vertical' ||\n resize === 'horizontal' ||\n resize === 'both'\n ? resize\n : 'vertical';\n\n this.controlResize.set(validResize);\n } else {\n this.controlResize.set(null);\n }\n }\n\n if (this.formControl) {\n this.controlId = this.formControl.id;\n } else if (this.controlElement) {\n if (!this.controlElement.id) {\n const generatedId = `solaris-control-${this.fieldId}`;\n this.controlElement.id = generatedId;\n this.controlId = generatedId;\n } else {\n this.controlId = this.controlElement.id;\n }\n }\n }\n\n private connectControl(): void {\n if (this.controlElement) {\n this.addListeners(this.controlElement);\n }\n }\n\n private addListeners(element: HTMLElement): void {\n this.removeListeners();\n this.ngZone.runOutsideAngular(() => {\n const onFocus = (): void => {\n this.ngZone.run(() => this.isFocused.set(true));\n };\n const onBlur = (): void => {\n this.ngZone.run(() => this.isFocused.set(false));\n };\n const onInput = (): void => {\n // SECURITY_EXCEPTION: reading value.length from native input/textarea is standard DOM API for character counter.\n this.ngZone.run(() => {\n this.currentLength.set(\n (element as HTMLInputElement | HTMLTextAreaElement).value?.length ??\n 0,\n );\n });\n };\n element.addEventListener('focusin', onFocus);\n element.addEventListener('focusout', onBlur);\n element.addEventListener('input', onInput);\n this.focusListener = () =>\n element.removeEventListener('focusin', onFocus);\n this.blurListener = () => element.removeEventListener('focusout', onBlur);\n this.inputListener = () => element.removeEventListener('input', onInput);\n });\n }\n\n private removeListeners(): void {\n this.focusListener?.();\n this.blurListener?.();\n this.inputListener?.();\n this.focusListener = null;\n this.blurListener = null;\n this.inputListener = null;\n }\n\n private warnNoControl(): void {\n const hasAnyControl =\n !!this.control() ||\n !!this.formControl ||\n !!this.controlElement ||\n !!this.effectiveNgControl();\n if (!hasAnyControl) {\n console.warn(\n `[SolarisFormField] No form control found inside <solaris-form-field id=\"${this.fieldId}\">. ` +\n 'Form Field requires a control (input, select, textarea, or a Solaris form control directive). ' +\n 'This warning is shown in development only. The component will render safely without the control.',\n );\n }\n }\n\n private warnMultipleControls(): void {\n // SECURITY_EXCEPTION: nativeElement access required to count projected controls.\n // SECURITY_EXCEPTION: Same justification as detectControl: read-only query, no DOM mutation.\n const nativeElement = this.elementRef.nativeElement;\n const children = nativeElement.querySelectorAll(\n 'input, select, textarea, [solaris-input], [solaris-select], [solaris-textarea]',\n );\n if (children.length > 1) {\n console.warn(\n `[SolarisFormField] Multiple form controls detected inside <solaris-form-field id=\"${this.fieldId}\">. ` +\n 'Form Field v1 supports one main control. Multiple controls may cause unexpected behavior.',\n );\n }\n }\n}\n","@if (labelText() || hasProjectedLabel()) {\n <div class=\"solaris-form-field__label-row\">\n @if (hasProjectedLabel()) {\n <ng-content select=\"solaris-form-label\" />\n } @else if (labelText()) {\n <label\n class=\"solaris-form-field__label\"\n [id]=\"labelId\"\n [for]=\"controlId ?? undefined\"\n >\n {{ labelText() }}\n </label>\n }\n @if (optional()) {\n <span\n class=\"solaris-form-field__optional-marker\"\n [attr.aria-label]=\"optionalLabelText()\"\n >\n {{ optionalLabelText() }}\n </span>\n }\n @if (showCharacterCounter()) {\n <span\n class=\"solaris-form-field__character-counter\"\n aria-live=\"polite\"\n [attr.aria-label]=\"characterCounterText()\"\n [attr.data-severity]=\"characterCounterSeverity()\"\n >\n {{ characterCounterText() }}\n </span>\n }\n </div>\n}\n\n<div class=\"solaris-form-field__control-wrapper\">\n <span\n class=\"solaris-form-field__affix solaris-form-field__affix--prefix\"\n [attr.data-empty]=\"hasPrefix() ? null : ''\"\n >\n <ng-content select=\"[solaris-form-prefix]\" />\n </span>\n\n <div class=\"solaris-form-field__control\">\n <ng-content />\n </div>\n\n <span\n class=\"solaris-form-field__affix solaris-form-field__affix--suffix\"\n [attr.data-empty]=\"hasSuffix() ? null : ''\"\n >\n <ng-content select=\"[solaris-form-suffix]\" />\n </span>\n</div>\n\n@if (showError() || showHint()) {\n <div class=\"solaris-form-field__message-row\">\n @if (showError()) {\n <div class=\"solaris-form-field__error\" [id]=\"errorId\" role=\"alert\">\n @if (hasProjectedError()) {\n <ng-content select=\"solaris-form-error\" />\n } @else {\n {{ errorText() }}\n }\n </div>\n } @else if (showHint()) {\n <div class=\"solaris-form-field__hint\" [id]=\"hintId\">\n @if (hasProjectedHint()) {\n <ng-content select=\"solaris-form-hint\" />\n } @else {\n {{ hintText() }}\n }\n </div>\n }\n </div>\n}\n"]}
@@ -1,18 +0,0 @@
1
- import { Component } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export class SolarisFormHintComponent {
4
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SolarisFormHintComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
5
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.17", type: SolarisFormHintComponent, isStandalone: true, selector: "solaris-form-hint", host: { classAttribute: "solaris-form-hint" }, ngImport: i0, template: '<ng-content />', isInline: true });
6
- }
7
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.17", ngImport: i0, type: SolarisFormHintComponent, decorators: [{
8
- type: Component,
9
- args: [{
10
- selector: 'solaris-form-hint',
11
- standalone: true,
12
- template: '<ng-content />',
13
- host: {
14
- class: 'solaris-form-hint',
15
- },
16
- }]
17
- }] });
18
- //# sourceMappingURL=form-hint.component.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-hint.component.js","sourceRoot":"","sources":["../../../../../../../../../packages/angular/src/lib/components/forms/form-field/component/form-hint.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;;AAU1C,MAAM,OAAO,wBAAwB;wGAAxB,wBAAwB;4FAAxB,wBAAwB,4HALzB,gBAAgB;;4FAKf,wBAAwB;kBARpC,SAAS;mBAAC;oBACT,QAAQ,EAAE,mBAAmB;oBAC7B,UAAU,EAAE,IAAI;oBAChB,QAAQ,EAAE,gBAAgB;oBAC1B,IAAI,EAAE;wBACJ,KAAK,EAAE,mBAAmB;qBAC3B;iBACF","sourcesContent":["import { Component } from '@angular/core';\n\n@Component({\n selector: 'solaris-form-hint',\n standalone: true,\n template: '<ng-content />',\n host: {\n class: 'solaris-form-hint',\n },\n})\nexport class SolarisFormHintComponent {}\n"]}