@ptsecurity/mosaic 13.6.0 → 13.7.1

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 (906) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +6 -6
  3. package/_theming.scss +7238 -7128
  4. package/_visual.scss +2724 -2694
  5. package/autocomplete/autocomplete-origin.directive.d.ts +12 -12
  6. package/autocomplete/autocomplete-trigger.directive.d.ts +167 -167
  7. package/autocomplete/autocomplete.component.d.ts +73 -73
  8. package/autocomplete/autocomplete.module.d.ts +12 -12
  9. package/autocomplete/index.d.ts +1 -1
  10. package/autocomplete/ptsecurity-mosaic-autocomplete.d.ts +5 -5
  11. package/autocomplete/public-api.d.ts +4 -4
  12. package/button/button.component.d.ts +40 -40
  13. package/button/button.module.d.ts +10 -10
  14. package/button/index.d.ts +1 -1
  15. package/button/ptsecurity-mosaic-button.d.ts +5 -5
  16. package/button/public-api.d.ts +2 -2
  17. package/button-toggle/button-toggle.component.d.ts +141 -141
  18. package/button-toggle/button-toggle.module.d.ts +9 -9
  19. package/button-toggle/index.d.ts +1 -1
  20. package/button-toggle/ptsecurity-mosaic-button-toggle.d.ts +5 -5
  21. package/button-toggle/public-api.d.ts +2 -2
  22. package/card/card.component.d.ts +26 -26
  23. package/card/card.module.d.ts +10 -10
  24. package/card/index.d.ts +1 -1
  25. package/card/ptsecurity-mosaic-card.d.ts +5 -5
  26. package/card/public-api.d.ts +2 -2
  27. package/checkbox/README.md +1 -1
  28. package/checkbox/checkbox-config.d.ts +13 -13
  29. package/checkbox/checkbox-module.d.ts +9 -9
  30. package/checkbox/checkbox-required-validator.d.ts +13 -13
  31. package/checkbox/checkbox.d.ts +140 -140
  32. package/checkbox/index.d.ts +1 -1
  33. package/checkbox/ptsecurity-mosaic-checkbox.d.ts +5 -5
  34. package/checkbox/public-api.d.ts +4 -4
  35. package/core/animation/animation.d.ts +6 -6
  36. package/core/animation/fade-animations.d.ts +2 -2
  37. package/core/animation/index.d.ts +3 -3
  38. package/core/animation/select-animations.d.ts +12 -12
  39. package/core/common-behaviors/color.d.ts +19 -19
  40. package/core/common-behaviors/common-module.d.ts +25 -25
  41. package/core/common-behaviors/constructor.d.ts +9 -9
  42. package/core/common-behaviors/disabled.d.ts +8 -8
  43. package/core/common-behaviors/error-state.d.ts +25 -25
  44. package/core/common-behaviors/index.d.ts +5 -5
  45. package/core/common-behaviors/tabindex.d.ts +8 -8
  46. package/core/error/error-options.d.ts +14 -14
  47. package/core/formatters/date/formatter.d.ts +203 -203
  48. package/core/formatters/date/templates/en-US.d.ts +74 -74
  49. package/core/formatters/date/templates/ru-RU.d.ts +74 -74
  50. package/core/formatters/index.d.ts +9 -9
  51. package/core/formatters/number/formatter.d.ts +27 -27
  52. package/core/forms/forms-module.d.ts +7 -7
  53. package/core/forms/forms.directive.d.ts +22 -22
  54. package/core/forms/index.d.ts +2 -2
  55. package/core/highlight/highlight.pipe.d.ts +7 -7
  56. package/core/highlight/index.d.ts +9 -9
  57. package/core/index.d.ts +1 -1
  58. package/core/label/label-options.d.ts +13 -13
  59. package/core/line/line.d.ts +28 -28
  60. package/core/option/action.d.ts +42 -42
  61. package/core/option/index.d.ts +4 -4
  62. package/core/option/optgroup.d.ts +16 -16
  63. package/core/option/option-module.d.ts +11 -11
  64. package/core/option/option.d.ts +115 -115
  65. package/core/overlay/overlay-position-map.d.ts +34 -34
  66. package/core/pop-up/constants.d.ts +29 -29
  67. package/core/pop-up/index.d.ts +3 -3
  68. package/core/pop-up/pop-up-trigger.d.ts +70 -70
  69. package/core/pop-up/pop-up.d.ts +36 -36
  70. package/core/ptsecurity-mosaic-core.d.ts +5 -5
  71. package/core/public-api.d.ts +17 -17
  72. package/core/select/constants.d.ts +23 -23
  73. package/core/select/errors.d.ts +19 -19
  74. package/core/select/events.d.ts +1 -1
  75. package/core/select/index.d.ts +3 -3
  76. package/core/selection/constants.d.ts +4 -4
  77. package/core/selection/index.d.ts +3 -3
  78. package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +30 -30
  79. package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +8 -8
  80. package/core/services/measure-scrollbar.service.d.ts +11 -11
  81. package/core/utils/index.d.ts +1 -1
  82. package/core/utils/public-api.d.ts +1 -1
  83. package/core/utils/utils.d.ts +2 -2
  84. package/core/validation/index.d.ts +1 -1
  85. package/core/validation/validation.d.ts +18 -18
  86. package/core/version.d.ts +2 -2
  87. package/datepicker/calendar-body.component.d.ts +63 -63
  88. package/datepicker/calendar.component.d.ts +151 -151
  89. package/datepicker/datepicker-animations.d.ts +9 -9
  90. package/datepicker/datepicker-errors.d.ts +2 -2
  91. package/datepicker/datepicker-input.directive.d.ts +178 -178
  92. package/datepicker/datepicker-intl.d.ts +32 -32
  93. package/datepicker/datepicker-module.d.ts +20 -20
  94. package/datepicker/datepicker-toggle.component.d.ts +35 -35
  95. package/datepicker/datepicker.component.d.ts +158 -158
  96. package/datepicker/index.d.ts +1 -1
  97. package/datepicker/month-view.component.d.ts +93 -93
  98. package/datepicker/multi-year-view.component.d.ts +72 -72
  99. package/datepicker/ptsecurity-mosaic-datepicker.d.ts +5 -5
  100. package/datepicker/public-api.d.ts +11 -11
  101. package/datepicker/year-view.component.d.ts +90 -90
  102. package/design-tokens/index.d.ts +1 -1
  103. package/design-tokens/legacy-2017/tokens/components/alert.json5 +83 -83
  104. package/design-tokens/legacy-2017/tokens/components/autocomplete.json5 +11 -11
  105. package/design-tokens/legacy-2017/tokens/components/badge.json5 +174 -174
  106. package/design-tokens/legacy-2017/tokens/components/button-toggle.json5 +10 -10
  107. package/design-tokens/legacy-2017/tokens/components/button.json5 +142 -142
  108. package/design-tokens/legacy-2017/tokens/components/card.json5 +51 -51
  109. package/design-tokens/legacy-2017/tokens/components/checkbox.json5 +97 -97
  110. package/design-tokens/legacy-2017/tokens/components/datepicker.json5 +64 -64
  111. package/design-tokens/legacy-2017/tokens/components/divider.json5 +14 -14
  112. package/design-tokens/legacy-2017/tokens/components/dl.json5 +38 -38
  113. package/design-tokens/legacy-2017/tokens/components/dropdown.json5 +48 -48
  114. package/design-tokens/legacy-2017/tokens/components/form-field.json5 +92 -92
  115. package/design-tokens/legacy-2017/tokens/components/forms.json5 +52 -52
  116. package/design-tokens/legacy-2017/tokens/components/icon.json5 +104 -104
  117. package/design-tokens/legacy-2017/tokens/components/input.json5 +12 -12
  118. package/design-tokens/legacy-2017/tokens/components/link.json5 +50 -50
  119. package/design-tokens/legacy-2017/tokens/components/list.json5 +13 -13
  120. package/design-tokens/legacy-2017/tokens/components/loader-overlay.json5 +23 -0
  121. package/design-tokens/legacy-2017/tokens/components/modal.json5 +81 -81
  122. package/design-tokens/legacy-2017/tokens/components/navbar.json5 +70 -70
  123. package/design-tokens/legacy-2017/tokens/components/optgroup.json5 +10 -10
  124. package/design-tokens/legacy-2017/tokens/components/option.json5 +12 -12
  125. package/design-tokens/legacy-2017/tokens/components/popover.json5 +68 -68
  126. package/design-tokens/legacy-2017/tokens/components/popup.json5 +16 -16
  127. package/design-tokens/legacy-2017/tokens/components/progress-bar.json5 +13 -13
  128. package/design-tokens/legacy-2017/tokens/components/progress-spinner.json5 +7 -7
  129. package/design-tokens/legacy-2017/tokens/components/radio.json5 +45 -44
  130. package/design-tokens/legacy-2017/tokens/components/select.json5 +24 -24
  131. package/design-tokens/legacy-2017/tokens/components/sidepanel.json5 +44 -44
  132. package/design-tokens/legacy-2017/tokens/components/table.json5 +15 -15
  133. package/design-tokens/legacy-2017/tokens/components/tabs.json5 +101 -101
  134. package/design-tokens/legacy-2017/tokens/components/tags.json5 +134 -134
  135. package/design-tokens/legacy-2017/tokens/components/textarea.json5 +12 -12
  136. package/design-tokens/legacy-2017/tokens/components/timepicker.json5 +7 -7
  137. package/design-tokens/legacy-2017/tokens/components/toggle.json5 +79 -79
  138. package/design-tokens/legacy-2017/tokens/components/tooltip.json5 +83 -83
  139. package/design-tokens/legacy-2017/tokens/components/tree.json5 +15 -15
  140. package/design-tokens/legacy-2017/tokens/properties/aliases.json5 +3 -3
  141. package/design-tokens/legacy-2017/tokens/properties/colors.json5 +119 -118
  142. package/design-tokens/legacy-2017/tokens/properties/font.json5 +12 -12
  143. package/design-tokens/legacy-2017/tokens/properties/globals.json5 +49 -49
  144. package/design-tokens/legacy-2017/tokens/properties/padding.json5 +3 -3
  145. package/design-tokens/legacy-2017/tokens/properties/palette.json5 +163 -163
  146. package/design-tokens/legacy-2017/tokens/properties/typography.json5 +175 -175
  147. package/design-tokens/legacy-2017/tokens.d.ts +7873 -7843
  148. package/design-tokens/pt-2022/tokens/components/alert.json5 +83 -83
  149. package/design-tokens/pt-2022/tokens/components/autocomplete.json5 +11 -11
  150. package/design-tokens/pt-2022/tokens/components/badge.json5 +174 -174
  151. package/design-tokens/pt-2022/tokens/components/button-toggle.json5 +10 -10
  152. package/design-tokens/pt-2022/tokens/components/button.json5 +142 -142
  153. package/design-tokens/pt-2022/tokens/components/card.json5 +51 -51
  154. package/design-tokens/pt-2022/tokens/components/checkbox.json5 +97 -97
  155. package/design-tokens/pt-2022/tokens/components/datepicker.json5 +64 -64
  156. package/design-tokens/pt-2022/tokens/components/divider.json5 +14 -14
  157. package/design-tokens/pt-2022/tokens/components/dl.json5 +38 -38
  158. package/design-tokens/pt-2022/tokens/components/dropdown.json5 +48 -48
  159. package/design-tokens/pt-2022/tokens/components/form-field.json5 +92 -92
  160. package/design-tokens/pt-2022/tokens/components/forms.json5 +52 -52
  161. package/design-tokens/pt-2022/tokens/components/icon.json5 +104 -104
  162. package/design-tokens/pt-2022/tokens/components/input.json5 +12 -12
  163. package/design-tokens/pt-2022/tokens/components/link.json5 +50 -50
  164. package/design-tokens/pt-2022/tokens/components/list.json5 +13 -13
  165. package/design-tokens/pt-2022/tokens/components/loader-overlay.json5 +23 -0
  166. package/design-tokens/pt-2022/tokens/components/modal.json5 +81 -81
  167. package/design-tokens/pt-2022/tokens/components/navbar.json5 +70 -70
  168. package/design-tokens/pt-2022/tokens/components/optgroup.json5 +10 -10
  169. package/design-tokens/pt-2022/tokens/components/option.json5 +12 -12
  170. package/design-tokens/pt-2022/tokens/components/popover.json5 +68 -68
  171. package/design-tokens/pt-2022/tokens/components/popup.json5 +16 -16
  172. package/design-tokens/pt-2022/tokens/components/progress-bar.json5 +13 -13
  173. package/design-tokens/pt-2022/tokens/components/progress-spinner.json5 +7 -7
  174. package/design-tokens/pt-2022/tokens/components/radio.json5 +45 -44
  175. package/design-tokens/pt-2022/tokens/components/select.json5 +24 -24
  176. package/design-tokens/pt-2022/tokens/components/sidepanel.json5 +44 -44
  177. package/design-tokens/pt-2022/tokens/components/table.json5 +15 -15
  178. package/design-tokens/pt-2022/tokens/components/tabs.json5 +101 -101
  179. package/design-tokens/pt-2022/tokens/components/tags.json5 +137 -137
  180. package/design-tokens/pt-2022/tokens/components/textarea.json5 +12 -12
  181. package/design-tokens/pt-2022/tokens/components/timepicker.json5 +7 -7
  182. package/design-tokens/pt-2022/tokens/components/toggle.json5 +79 -79
  183. package/design-tokens/pt-2022/tokens/components/tooltip.json5 +83 -83
  184. package/design-tokens/pt-2022/tokens/components/tree.json5 +15 -15
  185. package/design-tokens/pt-2022/tokens/properties/aliases.json5 +3 -3
  186. package/design-tokens/pt-2022/tokens/properties/colors.json5 +122 -120
  187. package/design-tokens/pt-2022/tokens/properties/font.json5 +15 -15
  188. package/design-tokens/pt-2022/tokens/properties/globals.json5 +49 -49
  189. package/design-tokens/pt-2022/tokens/properties/padding.json5 +3 -3
  190. package/design-tokens/pt-2022/tokens/properties/palette.json5 +232 -232
  191. package/design-tokens/pt-2022/tokens/properties/typography.json5 +175 -175
  192. package/design-tokens/pt-2022/tokens.d.ts +9205 -9175
  193. package/design-tokens/ptsecurity-mosaic-design-tokens.d.ts +5 -5
  194. package/design-tokens/public-api.d.ts +3 -3
  195. package/design-tokens/style-dictionary/build.js +76 -63
  196. package/design-tokens/style-dictionary/configs/css.js +13 -13
  197. package/design-tokens/style-dictionary/configs/figma.js +11 -0
  198. package/design-tokens/style-dictionary/configs/index.js +48 -48
  199. package/design-tokens/style-dictionary/configs/js.js +9 -9
  200. package/design-tokens/style-dictionary/configs/scss.js +23 -23
  201. package/design-tokens/style-dictionary/filters/color.js +7 -7
  202. package/design-tokens/style-dictionary/filters/palette.js +7 -7
  203. package/design-tokens/style-dictionary/filters/size.js +7 -7
  204. package/design-tokens/style-dictionary/filters/typography.js +7 -7
  205. package/design-tokens/style-dictionary/formats/figma.js +104 -0
  206. package/design-tokens/style-dictionary/formats/palette.js +25 -25
  207. package/design-tokens/style-dictionary/formats/typography.js +52 -52
  208. package/design-tokens/style-dictionary/transformGroups/css.js +13 -13
  209. package/design-tokens/style-dictionary/transformGroups/figma.js +21 -0
  210. package/design-tokens/style-dictionary/transformGroups/scss.js +12 -12
  211. package/design-tokens/style-dictionary/transformGroups/ts.js +11 -11
  212. package/design-tokens/style-dictionary/transforms/attribute/figma-border.js +18 -0
  213. package/design-tokens/style-dictionary/transforms/attribute/figma-color.js +25 -0
  214. package/design-tokens/style-dictionary/transforms/attribute/figma-default.js +10 -0
  215. package/design-tokens/style-dictionary/transforms/attribute/figma-font.js +31 -0
  216. package/design-tokens/style-dictionary/transforms/attribute/figma-group.js +17 -0
  217. package/design-tokens/style-dictionary/transforms/attribute/figma-opacity.js +10 -0
  218. package/design-tokens/style-dictionary/transforms/attribute/figma-shadow.js +66 -0
  219. package/design-tokens/style-dictionary/transforms/attribute/figma-sizing.js +16 -0
  220. package/design-tokens/style-dictionary/transforms/attribute/figma-spacing.js +15 -0
  221. package/design-tokens/style-dictionary/transforms/attribute/figma-typography.js +24 -0
  222. package/design-tokens/style-dictionary/transforms/attribute/palette.js +9 -9
  223. package/design-tokens/style-dictionary/transforms/attribute/prefix.js +11 -11
  224. package/design-tokens/style-dictionary/transforms/attribute/size.js +8 -8
  225. package/design-tokens/style-dictionary/transforms/attribute/typography.js +9 -9
  226. package/design-tokens/style-dictionary/transforms/value/figma-values.js +7 -0
  227. package/divider/divider.component.d.ts +11 -11
  228. package/divider/divider.module.d.ts +8 -8
  229. package/divider/index.d.ts +1 -1
  230. package/divider/ptsecurity-mosaic-divider.d.ts +5 -5
  231. package/divider/public-api.d.ts +2 -2
  232. package/dl/dl.component.d.ts +26 -26
  233. package/dl/dl.module.d.ts +10 -10
  234. package/dl/index.d.ts +1 -1
  235. package/dl/ptsecurity-mosaic-dl.d.ts +5 -5
  236. package/dl/public-api.d.ts +2 -2
  237. package/dropdown/dropdown-animations.d.ts +11 -11
  238. package/dropdown/dropdown-content.directive.d.ts +32 -32
  239. package/dropdown/dropdown-errors.d.ts +17 -17
  240. package/dropdown/dropdown-item.component.d.ts +50 -50
  241. package/dropdown/dropdown-trigger.directive.d.ts +136 -136
  242. package/dropdown/dropdown.component.d.ts +121 -121
  243. package/dropdown/dropdown.module.d.ts +13 -13
  244. package/dropdown/dropdown.types.d.ts +53 -53
  245. package/dropdown/index.d.ts +1 -1
  246. package/dropdown/ptsecurity-mosaic-dropdown.d.ts +5 -5
  247. package/dropdown/public-api.d.ts +8 -8
  248. package/esm2020/autocomplete/autocomplete-origin.directive.mjs +21 -21
  249. package/esm2020/autocomplete/autocomplete-trigger.directive.mjs +555 -555
  250. package/esm2020/autocomplete/autocomplete.component.mjs +154 -154
  251. package/esm2020/autocomplete/autocomplete.module.mjs +34 -34
  252. package/esm2020/autocomplete/index.mjs +2 -2
  253. package/esm2020/autocomplete/ptsecurity-mosaic-autocomplete.mjs +4 -4
  254. package/esm2020/autocomplete/public-api.mjs +5 -5
  255. package/esm2020/button/button.component.mjs +137 -137
  256. package/esm2020/button/button.module.mjs +38 -38
  257. package/esm2020/button/index.mjs +2 -2
  258. package/esm2020/button/ptsecurity-mosaic-button.mjs +4 -4
  259. package/esm2020/button/public-api.mjs +3 -3
  260. package/esm2020/button-toggle/button-toggle.component.mjs +362 -362
  261. package/esm2020/button-toggle/button-toggle.module.mjs +19 -19
  262. package/esm2020/button-toggle/index.mjs +2 -2
  263. package/esm2020/button-toggle/ptsecurity-mosaic-button-toggle.mjs +4 -4
  264. package/esm2020/button-toggle/public-api.mjs +3 -3
  265. package/esm2020/card/card.component.mjs +80 -80
  266. package/esm2020/card/card.module.mjs +30 -30
  267. package/esm2020/card/index.mjs +2 -2
  268. package/esm2020/card/ptsecurity-mosaic-card.mjs +4 -4
  269. package/esm2020/card/public-api.mjs +3 -3
  270. package/esm2020/checkbox/checkbox-config.mjs +6 -6
  271. package/esm2020/checkbox/checkbox-module.mjs +19 -19
  272. package/esm2020/checkbox/checkbox-required-validator.mjs +27 -27
  273. package/esm2020/checkbox/checkbox.mjs +316 -316
  274. package/esm2020/checkbox/index.mjs +2 -2
  275. package/esm2020/checkbox/ptsecurity-mosaic-checkbox.mjs +4 -4
  276. package/esm2020/checkbox/public-api.mjs +5 -5
  277. package/esm2020/core/animation/animation.mjs +8 -8
  278. package/esm2020/core/animation/fade-animations.mjs +9 -9
  279. package/esm2020/core/animation/index.mjs +4 -4
  280. package/esm2020/core/animation/select-animations.mjs +45 -45
  281. package/esm2020/core/common-behaviors/color.mjs +30 -30
  282. package/esm2020/core/common-behaviors/common-module.mjs +83 -83
  283. package/esm2020/core/common-behaviors/constructor.mjs +2 -2
  284. package/esm2020/core/common-behaviors/disabled.mjs +17 -17
  285. package/esm2020/core/common-behaviors/error-state.mjs +31 -31
  286. package/esm2020/core/common-behaviors/index.mjs +6 -6
  287. package/esm2020/core/common-behaviors/tabindex.mjs +18 -18
  288. package/esm2020/core/error/error-options.mjs +26 -26
  289. package/esm2020/core/formatters/date/formatter.mjs +359 -359
  290. package/esm2020/core/formatters/date/templates/en-US.mjs +281 -281
  291. package/esm2020/core/formatters/date/templates/ru-RU.mjs +281 -281
  292. package/esm2020/core/formatters/index.mjs +20 -20
  293. package/esm2020/core/formatters/number/formatter.mjs +105 -105
  294. package/esm2020/core/forms/forms-module.mjs +24 -24
  295. package/esm2020/core/forms/forms.directive.mjs +66 -66
  296. package/esm2020/core/forms/index.mjs +3 -3
  297. package/esm2020/core/highlight/highlight.pipe.mjs +17 -17
  298. package/esm2020/core/highlight/index.mjs +19 -19
  299. package/esm2020/core/index.mjs +2 -2
  300. package/esm2020/core/label/label-options.mjs +4 -4
  301. package/esm2020/core/line/line.mjs +70 -70
  302. package/esm2020/core/option/action.mjs +121 -121
  303. package/esm2020/core/option/index.mjs +5 -5
  304. package/esm2020/core/option/optgroup.mjs +31 -31
  305. package/esm2020/core/option/option-module.mjs +21 -21
  306. package/esm2020/core/option/option.mjs +257 -257
  307. package/esm2020/core/overlay/overlay-position-map.mjs +244 -244
  308. package/esm2020/core/pop-up/constants.mjs +34 -34
  309. package/esm2020/core/pop-up/index.mjs +4 -4
  310. package/esm2020/core/pop-up/pop-up-trigger.mjs +239 -239
  311. package/esm2020/core/pop-up/pop-up.mjs +94 -94
  312. package/esm2020/core/ptsecurity-mosaic-core.mjs +4 -4
  313. package/esm2020/core/public-api.mjs +18 -18
  314. package/esm2020/core/select/constants.mjs +27 -27
  315. package/esm2020/core/select/errors.mjs +26 -26
  316. package/esm2020/core/select/events.mjs +2 -2
  317. package/esm2020/core/select/index.mjs +4 -4
  318. package/esm2020/core/selection/constants.mjs +6 -6
  319. package/esm2020/core/selection/index.mjs +4 -4
  320. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.mjs +49 -49
  321. package/esm2020/core/selection/pseudo-checkbox/pseudo-checkbox.module.mjs +18 -18
  322. package/esm2020/core/services/measure-scrollbar.service.mjs +48 -48
  323. package/esm2020/core/utils/index.mjs +2 -2
  324. package/esm2020/core/utils/public-api.mjs +2 -2
  325. package/esm2020/core/utils/utils.mjs +5 -5
  326. package/esm2020/core/validation/index.mjs +2 -2
  327. package/esm2020/core/validation/validation.mjs +118 -118
  328. package/esm2020/core/version.mjs +3 -3
  329. package/esm2020/datepicker/calendar-body.component.mjs +106 -106
  330. package/esm2020/datepicker/calendar.component.mjs +362 -362
  331. package/esm2020/datepicker/datepicker-animations.mjs +32 -32
  332. package/esm2020/datepicker/datepicker-errors.mjs +6 -6
  333. package/esm2020/datepicker/datepicker-input.directive.mjs +938 -936
  334. package/esm2020/datepicker/datepicker-intl.mjs +40 -40
  335. package/esm2020/datepicker/datepicker-module.mjs +107 -107
  336. package/esm2020/datepicker/datepicker-toggle.component.mjs +86 -86
  337. package/esm2020/datepicker/datepicker.component.mjs +404 -408
  338. package/esm2020/datepicker/index.mjs +2 -2
  339. package/esm2020/datepicker/month-view.component.mjs +257 -257
  340. package/esm2020/datepicker/multi-year-view.component.mjs +218 -218
  341. package/esm2020/datepicker/ptsecurity-mosaic-datepicker.mjs +4 -4
  342. package/esm2020/datepicker/public-api.mjs +12 -12
  343. package/esm2020/datepicker/year-view.component.mjs +253 -253
  344. package/esm2020/design-tokens/index.mjs +2 -2
  345. package/esm2020/design-tokens/legacy-2017/tokens.mjs +1167 -1137
  346. package/esm2020/design-tokens/pt-2022/tokens.mjs +1237 -1207
  347. package/esm2020/design-tokens/ptsecurity-mosaic-design-tokens.mjs +4 -4
  348. package/esm2020/design-tokens/public-api.mjs +4 -4
  349. package/esm2020/divider/divider.component.mjs +39 -39
  350. package/esm2020/divider/divider.module.mjs +18 -18
  351. package/esm2020/divider/index.mjs +2 -2
  352. package/esm2020/divider/ptsecurity-mosaic-divider.mjs +4 -4
  353. package/esm2020/divider/public-api.mjs +3 -3
  354. package/esm2020/dl/dl.component.mjs +78 -78
  355. package/esm2020/dl/dl.module.mjs +42 -42
  356. package/esm2020/dl/index.mjs +2 -2
  357. package/esm2020/dl/ptsecurity-mosaic-dl.mjs +4 -4
  358. package/esm2020/dl/public-api.mjs +3 -3
  359. package/esm2020/dropdown/dropdown-animations.mjs +41 -41
  360. package/esm2020/dropdown/dropdown-content.directive.mjs +64 -64
  361. package/esm2020/dropdown/dropdown-errors.mjs +29 -29
  362. package/esm2020/dropdown/dropdown-item.component.mjs +139 -139
  363. package/esm2020/dropdown/dropdown-trigger.directive.mjs +489 -489
  364. package/esm2020/dropdown/dropdown.component.mjs +292 -292
  365. package/esm2020/dropdown/dropdown.module.mjs +50 -50
  366. package/esm2020/dropdown/dropdown.types.mjs +24 -24
  367. package/esm2020/dropdown/index.mjs +2 -2
  368. package/esm2020/dropdown/ptsecurity-mosaic-dropdown.mjs +4 -4
  369. package/esm2020/dropdown/public-api.mjs +9 -9
  370. package/esm2020/form-field/cleaner.mjs +23 -23
  371. package/esm2020/form-field/form-field-control.mjs +5 -5
  372. package/esm2020/form-field/form-field-errors.mjs +7 -7
  373. package/esm2020/form-field/form-field.mjs +225 -225
  374. package/esm2020/form-field/form-field.module.mjs +57 -57
  375. package/esm2020/form-field/hint.mjs +34 -23
  376. package/esm2020/form-field/index.mjs +2 -2
  377. package/esm2020/form-field/password-hint.mjs +139 -139
  378. package/esm2020/form-field/prefix.mjs +13 -13
  379. package/esm2020/form-field/ptsecurity-mosaic-form-field.mjs +4 -4
  380. package/esm2020/form-field/public-api.mjs +11 -11
  381. package/esm2020/form-field/stepper.mjs +55 -55
  382. package/esm2020/form-field/suffix.mjs +13 -13
  383. package/esm2020/icon/icon.component.mjs +44 -44
  384. package/esm2020/icon/icon.module.mjs +38 -38
  385. package/esm2020/icon/index.mjs +2 -2
  386. package/esm2020/icon/ptsecurity-mosaic-icon.mjs +4 -4
  387. package/esm2020/icon/public-api.mjs +3 -3
  388. package/esm2020/index.mjs +2 -2
  389. package/esm2020/input/index.mjs +2 -2
  390. package/esm2020/input/input-errors.mjs +4 -4
  391. package/esm2020/input/input-number-validators.mjs +92 -92
  392. package/esm2020/input/input-number.mjs +163 -163
  393. package/esm2020/input/input-password.mjs +372 -372
  394. package/esm2020/input/input-value-accessor.mjs +3 -3
  395. package/esm2020/input/input.mjs +334 -334
  396. package/esm2020/input/input.module.mjs +65 -65
  397. package/esm2020/input/ptsecurity-mosaic-input.mjs +4 -4
  398. package/esm2020/input/public-api.mjs +7 -7
  399. package/esm2020/link/index.mjs +2 -2
  400. package/esm2020/link/link.component.mjs +107 -107
  401. package/esm2020/link/link.module.mjs +26 -26
  402. package/esm2020/link/ptsecurity-mosaic-link.mjs +4 -4
  403. package/esm2020/link/public-api.mjs +3 -3
  404. package/esm2020/list/index.mjs +2 -2
  405. package/esm2020/list/list-selection.component.mjs +689 -686
  406. package/esm2020/list/list.component.mjs +44 -44
  407. package/esm2020/list/list.module.mjs +55 -55
  408. package/esm2020/list/ptsecurity-mosaic-list.mjs +4 -4
  409. package/esm2020/list/public-api.mjs +4 -4
  410. package/esm2020/loader-overlay/index.mjs +2 -0
  411. package/esm2020/loader-overlay/loader-overlay.component.mjs +99 -0
  412. package/esm2020/loader-overlay/loader-overlay.module.mjs +50 -0
  413. package/esm2020/loader-overlay/ptsecurity-mosaic-loader-overlay.mjs +5 -0
  414. package/esm2020/loader-overlay/public-api.mjs +3 -0
  415. package/esm2020/modal/css-unit.pipe.mjs +17 -17
  416. package/esm2020/modal/index.mjs +2 -2
  417. package/esm2020/modal/modal-control.service.mjs +85 -85
  418. package/esm2020/modal/modal-ref.class.mjs +8 -8
  419. package/esm2020/modal/modal-util.mjs +17 -17
  420. package/esm2020/modal/modal.component.mjs +509 -501
  421. package/esm2020/modal/modal.directive.mjs +52 -52
  422. package/esm2020/modal/modal.module.mjs +72 -72
  423. package/esm2020/modal/modal.service.mjs +124 -124
  424. package/esm2020/modal/modal.type.mjs +7 -7
  425. package/esm2020/modal/ptsecurity-mosaic-modal.mjs +4 -4
  426. package/esm2020/modal/public-api.mjs +7 -7
  427. package/esm2020/navbar/index.mjs +2 -2
  428. package/esm2020/navbar/navbar-item.component.mjs +582 -582
  429. package/esm2020/navbar/navbar.component.mjs +239 -237
  430. package/esm2020/navbar/navbar.module.mjs +92 -92
  431. package/esm2020/navbar/ptsecurity-mosaic-navbar.mjs +4 -4
  432. package/esm2020/navbar/public-api.mjs +5 -5
  433. package/esm2020/navbar/vertical-navbar.animation.mjs +10 -10
  434. package/esm2020/navbar/vertical-navbar.component.mjs +114 -114
  435. package/esm2020/popover/index.mjs +2 -2
  436. package/esm2020/popover/popover-animations.mjs +16 -16
  437. package/esm2020/popover/popover-confirm.component.mjs +108 -108
  438. package/esm2020/popover/popover.component.mjs +253 -253
  439. package/esm2020/popover/popover.module.mjs +24 -24
  440. package/esm2020/popover/ptsecurity-mosaic-popover.mjs +4 -4
  441. package/esm2020/popover/public-api.mjs +5 -5
  442. package/esm2020/progress-bar/index.mjs +2 -2
  443. package/esm2020/progress-bar/progress-bar.component.mjs +42 -42
  444. package/esm2020/progress-bar/progress-bar.module.mjs +30 -30
  445. package/esm2020/progress-bar/ptsecurity-mosaic-progress-bar.mjs +4 -4
  446. package/esm2020/progress-bar/public-api.mjs +3 -3
  447. package/esm2020/progress-spinner/index.mjs +2 -2
  448. package/esm2020/progress-spinner/progress-spinner.component.mjs +46 -46
  449. package/esm2020/progress-spinner/progress-spinner.module.mjs +30 -30
  450. package/esm2020/progress-spinner/ptsecurity-mosaic-progress-spinner.mjs +4 -4
  451. package/esm2020/progress-spinner/public-api.mjs +3 -3
  452. package/esm2020/ptsecurity-mosaic.mjs +4 -4
  453. package/esm2020/public-api.mjs +2 -2
  454. package/esm2020/radio/index.mjs +2 -2
  455. package/esm2020/radio/ptsecurity-mosaic-radio.mjs +4 -4
  456. package/esm2020/radio/public-api.mjs +3 -3
  457. package/esm2020/radio/radio.component.mjs +458 -458
  458. package/esm2020/radio/radio.module.mjs +20 -20
  459. package/esm2020/select/index.mjs +2 -2
  460. package/esm2020/select/ptsecurity-mosaic-select.mjs +4 -4
  461. package/esm2020/select/public-api.mjs +4 -4
  462. package/esm2020/select/select-option.directive.mjs +65 -65
  463. package/esm2020/select/select.component.mjs +1117 -1107
  464. package/esm2020/select/select.module.mjs +73 -73
  465. package/esm2020/sidebar/index.mjs +2 -2
  466. package/esm2020/sidebar/ptsecurity-mosaic-sidebar.mjs +4 -4
  467. package/esm2020/sidebar/public-api.mjs +3 -3
  468. package/esm2020/sidebar/sidebar-animations.mjs +23 -23
  469. package/esm2020/sidebar/sidebar.component.mjs +146 -146
  470. package/esm2020/sidebar/sidebar.module.mjs +30 -30
  471. package/esm2020/sidepanel/index.mjs +2 -2
  472. package/esm2020/sidepanel/ptsecurity-mosaic-sidepanel.mjs +4 -4
  473. package/esm2020/sidepanel/public-api.mjs +7 -7
  474. package/esm2020/sidepanel/sidepanel-animations.mjs +26 -26
  475. package/esm2020/sidepanel/sidepanel-config.mjs +26 -26
  476. package/esm2020/sidepanel/sidepanel-container.component.mjs +106 -106
  477. package/esm2020/sidepanel/sidepanel-directives.mjs +159 -159
  478. package/esm2020/sidepanel/sidepanel-ref.mjs +53 -53
  479. package/esm2020/sidepanel/sidepanel.module.mjs +74 -74
  480. package/esm2020/sidepanel/sidepanel.service.mjs +167 -167
  481. package/esm2020/splitter/index.mjs +2 -2
  482. package/esm2020/splitter/ptsecurity-mosaic-splitter.mjs +4 -4
  483. package/esm2020/splitter/public-api.mjs +3 -3
  484. package/esm2020/splitter/splitter.component.mjs +482 -482
  485. package/esm2020/splitter/splitter.module.mjs +40 -40
  486. package/esm2020/table/index.mjs +2 -2
  487. package/esm2020/table/ptsecurity-mosaic-table.mjs +4 -4
  488. package/esm2020/table/public-api.mjs +3 -3
  489. package/esm2020/table/table.component.mjs +16 -16
  490. package/esm2020/table/table.module.mjs +30 -30
  491. package/esm2020/tabs/index.mjs +2 -2
  492. package/esm2020/tabs/paginated-tab-header.mjs +479 -479
  493. package/esm2020/tabs/ptsecurity-mosaic-tabs.mjs +4 -4
  494. package/esm2020/tabs/public-api.mjs +11 -11
  495. package/esm2020/tabs/tab-body.component.mjs +178 -178
  496. package/esm2020/tabs/tab-content.directive.mjs +15 -15
  497. package/esm2020/tabs/tab-group.component.mjs +350 -350
  498. package/esm2020/tabs/tab-header.component.mjs +67 -67
  499. package/esm2020/tabs/tab-label-wrapper.directive.mjs +78 -78
  500. package/esm2020/tabs/tab-label.directive.mjs +17 -17
  501. package/esm2020/tabs/tab-nav-bar/index.mjs +2 -2
  502. package/esm2020/tabs/tab-nav-bar/tab-nav-bar.mjs +110 -110
  503. package/esm2020/tabs/tab.component.mjs +133 -133
  504. package/esm2020/tabs/tabs-animations.mjs +24 -24
  505. package/esm2020/tabs/tabs.module.mjs +104 -104
  506. package/esm2020/tags/index.mjs +2 -2
  507. package/esm2020/tags/ptsecurity-mosaic-tags.mjs +4 -4
  508. package/esm2020/tags/public-api.mjs +6 -6
  509. package/esm2020/tags/tag-default-options.mjs +4 -4
  510. package/esm2020/tags/tag-input.mjs +229 -229
  511. package/esm2020/tags/tag-list.component.mjs +722 -722
  512. package/esm2020/tags/tag-text-control.mjs +2 -2
  513. package/esm2020/tags/tag.component.mjs +375 -375
  514. package/esm2020/tags/tag.module.mjs +56 -56
  515. package/esm2020/textarea/index.mjs +2 -2
  516. package/esm2020/textarea/ptsecurity-mosaic-textarea.mjs +4 -4
  517. package/esm2020/textarea/public-api.mjs +3 -3
  518. package/esm2020/textarea/textarea.component.mjs +269 -269
  519. package/esm2020/textarea/textarea.module.mjs +21 -21
  520. package/esm2020/timepicker/index.mjs +2 -2
  521. package/esm2020/timepicker/ptsecurity-mosaic-timepicker.mjs +4 -4
  522. package/esm2020/timepicker/public-api.mjs +4 -4
  523. package/esm2020/timepicker/timepicker.constants.mjs +25 -25
  524. package/esm2020/timepicker/timepicker.directive.mjs +665 -676
  525. package/esm2020/timepicker/timepicker.module.mjs +34 -34
  526. package/esm2020/toggle/index.mjs +2 -2
  527. package/esm2020/toggle/ptsecurity-mosaic-toggle.mjs +4 -4
  528. package/esm2020/toggle/public-api.mjs +3 -3
  529. package/esm2020/toggle/toggle.component.mjs +158 -158
  530. package/esm2020/toggle/toggle.module.mjs +20 -20
  531. package/esm2020/tooltip/index.mjs +2 -2
  532. package/esm2020/tooltip/ptsecurity-mosaic-tooltip.mjs +4 -4
  533. package/esm2020/tooltip/public-api.mjs +3 -3
  534. package/esm2020/tooltip/tooltip.animations.mjs +19 -19
  535. package/esm2020/tooltip/tooltip.component.mjs +295 -295
  536. package/esm2020/tooltip/tooltip.module.mjs +43 -43
  537. package/esm2020/tree/control/base-tree-control.mjs +60 -60
  538. package/esm2020/tree/control/flat-tree-control.mjs +126 -126
  539. package/esm2020/tree/control/nested-tree-control.mjs +41 -41
  540. package/esm2020/tree/control/tree-control.mjs +2 -2
  541. package/esm2020/tree/data-source/flat-data-source.mjs +162 -162
  542. package/esm2020/tree/data-source/nested-data-source.mjs +30 -30
  543. package/esm2020/tree/index.mjs +2 -2
  544. package/esm2020/tree/node.mjs +31 -31
  545. package/esm2020/tree/outlet.mjs +15 -15
  546. package/esm2020/tree/padding.directive.mjs +113 -110
  547. package/esm2020/tree/ptsecurity-mosaic-tree.mjs +4 -4
  548. package/esm2020/tree/public-api.mjs +16 -16
  549. package/esm2020/tree/toggle.mjs +80 -80
  550. package/esm2020/tree/tree-base.mjs +243 -243
  551. package/esm2020/tree/tree-errors.mjs +36 -36
  552. package/esm2020/tree/tree-option.component.mjs +248 -236
  553. package/esm2020/tree/tree-selection.component.mjs +541 -540
  554. package/esm2020/tree/tree.mjs +15 -15
  555. package/esm2020/tree/tree.module.mjs +57 -57
  556. package/esm2020/tree-select/index.mjs +2 -2
  557. package/esm2020/tree-select/ptsecurity-mosaic-tree-select.mjs +4 -4
  558. package/esm2020/tree-select/public-api.mjs +3 -3
  559. package/esm2020/tree-select/tree-select.component.mjs +939 -929
  560. package/esm2020/tree-select/tree-select.module.mjs +47 -47
  561. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs +726 -726
  562. package/fesm2015/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  563. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +367 -367
  564. package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  565. package/fesm2015/ptsecurity-mosaic-button.mjs +160 -160
  566. package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
  567. package/fesm2015/ptsecurity-mosaic-card.mjs +96 -96
  568. package/fesm2015/ptsecurity-mosaic-card.mjs.map +1 -1
  569. package/fesm2015/ptsecurity-mosaic-checkbox.mjs +348 -348
  570. package/fesm2015/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  571. package/fesm2015/ptsecurity-mosaic-core.mjs +2652 -2652
  572. package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
  573. package/fesm2015/ptsecurity-mosaic-datepicker.mjs +2682 -2684
  574. package/fesm2015/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  575. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs +2433 -2343
  576. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
  577. package/fesm2015/ptsecurity-mosaic-divider.mjs +48 -48
  578. package/fesm2015/ptsecurity-mosaic-divider.mjs.map +1 -1
  579. package/fesm2015/ptsecurity-mosaic-dl.mjs +108 -108
  580. package/fesm2015/ptsecurity-mosaic-dl.mjs.map +1 -1
  581. package/fesm2015/ptsecurity-mosaic-dropdown.mjs +1069 -1069
  582. package/fesm2015/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  583. package/fesm2015/ptsecurity-mosaic-form-field.mjs +522 -512
  584. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
  585. package/fesm2015/ptsecurity-mosaic-icon.mjs +73 -73
  586. package/fesm2015/ptsecurity-mosaic-icon.mjs.map +1 -1
  587. package/fesm2015/ptsecurity-mosaic-input.mjs +979 -979
  588. package/fesm2015/ptsecurity-mosaic-input.mjs.map +1 -1
  589. package/fesm2015/ptsecurity-mosaic-link.mjs +121 -121
  590. package/fesm2015/ptsecurity-mosaic-link.mjs.map +1 -1
  591. package/fesm2015/ptsecurity-mosaic-list.mjs +765 -762
  592. package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -1
  593. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +155 -0
  594. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs.map +1 -0
  595. package/fesm2015/ptsecurity-mosaic-modal.mjs +833 -824
  596. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
  597. package/fesm2015/ptsecurity-mosaic-navbar.mjs +996 -994
  598. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
  599. package/fesm2015/ptsecurity-mosaic-popover.mjs +364 -364
  600. package/fesm2015/ptsecurity-mosaic-popover.mjs.map +1 -1
  601. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs +61 -61
  602. package/fesm2015/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  603. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +65 -65
  604. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  605. package/fesm2015/ptsecurity-mosaic-radio.mjs +464 -464
  606. package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -1
  607. package/fesm2015/ptsecurity-mosaic-select.mjs +1213 -1203
  608. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
  609. package/fesm2015/ptsecurity-mosaic-sidebar.mjs +185 -185
  610. package/fesm2015/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  611. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs +555 -555
  612. package/fesm2015/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  613. package/fesm2015/ptsecurity-mosaic-splitter.mjs +511 -511
  614. package/fesm2015/ptsecurity-mosaic-splitter.mjs.map +1 -1
  615. package/fesm2015/ptsecurity-mosaic-table.mjs +36 -36
  616. package/fesm2015/ptsecurity-mosaic-table.mjs.map +1 -1
  617. package/fesm2015/ptsecurity-mosaic-tabs.mjs +1460 -1460
  618. package/fesm2015/ptsecurity-mosaic-tabs.mjs.map +1 -1
  619. package/fesm2015/ptsecurity-mosaic-tags.mjs +1342 -1342
  620. package/fesm2015/ptsecurity-mosaic-tags.mjs.map +1 -1
  621. package/fesm2015/ptsecurity-mosaic-textarea.mjs +274 -274
  622. package/fesm2015/ptsecurity-mosaic-textarea.mjs.map +1 -1
  623. package/fesm2015/ptsecurity-mosaic-timepicker.mjs +703 -714
  624. package/fesm2015/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  625. package/fesm2015/ptsecurity-mosaic-toggle.mjs +163 -163
  626. package/fesm2015/ptsecurity-mosaic-toggle.mjs.map +1 -1
  627. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +344 -344
  628. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  629. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +954 -944
  630. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  631. package/fesm2015/ptsecurity-mosaic-tree.mjs +1696 -1682
  632. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
  633. package/fesm2015/ptsecurity-mosaic.mjs +2 -2
  634. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs +722 -722
  635. package/fesm2020/ptsecurity-mosaic-autocomplete.mjs.map +1 -1
  636. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +365 -365
  637. package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
  638. package/fesm2020/ptsecurity-mosaic-button.mjs +160 -160
  639. package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
  640. package/fesm2020/ptsecurity-mosaic-card.mjs +96 -96
  641. package/fesm2020/ptsecurity-mosaic-card.mjs.map +1 -1
  642. package/fesm2020/ptsecurity-mosaic-checkbox.mjs +346 -346
  643. package/fesm2020/ptsecurity-mosaic-checkbox.mjs.map +1 -1
  644. package/fesm2020/ptsecurity-mosaic-core.mjs +2681 -2681
  645. package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
  646. package/fesm2020/ptsecurity-mosaic-datepicker.mjs +2667 -2669
  647. package/fesm2020/ptsecurity-mosaic-datepicker.mjs.map +1 -1
  648. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs +2433 -2343
  649. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
  650. package/fesm2020/ptsecurity-mosaic-divider.mjs +48 -48
  651. package/fesm2020/ptsecurity-mosaic-divider.mjs.map +1 -1
  652. package/fesm2020/ptsecurity-mosaic-dl.mjs +108 -108
  653. package/fesm2020/ptsecurity-mosaic-dl.mjs.map +1 -1
  654. package/fesm2020/ptsecurity-mosaic-dropdown.mjs +1056 -1056
  655. package/fesm2020/ptsecurity-mosaic-dropdown.mjs.map +1 -1
  656. package/fesm2020/ptsecurity-mosaic-form-field.mjs +507 -497
  657. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
  658. package/fesm2020/ptsecurity-mosaic-icon.mjs +71 -71
  659. package/fesm2020/ptsecurity-mosaic-icon.mjs.map +1 -1
  660. package/fesm2020/ptsecurity-mosaic-input.mjs +968 -968
  661. package/fesm2020/ptsecurity-mosaic-input.mjs.map +1 -1
  662. package/fesm2020/ptsecurity-mosaic-link.mjs +120 -120
  663. package/fesm2020/ptsecurity-mosaic-link.mjs.map +1 -1
  664. package/fesm2020/ptsecurity-mosaic-list.mjs +758 -755
  665. package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -1
  666. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +153 -0
  667. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +1 -0
  668. package/fesm2020/ptsecurity-mosaic-modal.mjs +828 -820
  669. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
  670. package/fesm2020/ptsecurity-mosaic-navbar.mjs +980 -978
  671. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
  672. package/fesm2020/ptsecurity-mosaic-popover.mjs +360 -360
  673. package/fesm2020/ptsecurity-mosaic-popover.mjs.map +1 -1
  674. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs +61 -61
  675. package/fesm2020/ptsecurity-mosaic-progress-bar.mjs.map +1 -1
  676. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +65 -65
  677. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  678. package/fesm2020/ptsecurity-mosaic-radio.mjs +462 -462
  679. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -1
  680. package/fesm2020/ptsecurity-mosaic-select.mjs +1208 -1198
  681. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
  682. package/fesm2020/ptsecurity-mosaic-sidebar.mjs +185 -185
  683. package/fesm2020/ptsecurity-mosaic-sidebar.mjs.map +1 -1
  684. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs +552 -552
  685. package/fesm2020/ptsecurity-mosaic-sidepanel.mjs.map +1 -1
  686. package/fesm2020/ptsecurity-mosaic-splitter.mjs +511 -511
  687. package/fesm2020/ptsecurity-mosaic-splitter.mjs.map +1 -1
  688. package/fesm2020/ptsecurity-mosaic-table.mjs +36 -36
  689. package/fesm2020/ptsecurity-mosaic-table.mjs.map +1 -1
  690. package/fesm2020/ptsecurity-mosaic-tabs.mjs +1445 -1445
  691. package/fesm2020/ptsecurity-mosaic-tabs.mjs.map +1 -1
  692. package/fesm2020/ptsecurity-mosaic-tags.mjs +1335 -1335
  693. package/fesm2020/ptsecurity-mosaic-tags.mjs.map +1 -1
  694. package/fesm2020/ptsecurity-mosaic-textarea.mjs +272 -272
  695. package/fesm2020/ptsecurity-mosaic-textarea.mjs.map +1 -1
  696. package/fesm2020/ptsecurity-mosaic-timepicker.mjs +700 -711
  697. package/fesm2020/ptsecurity-mosaic-timepicker.mjs.map +1 -1
  698. package/fesm2020/ptsecurity-mosaic-toggle.mjs +163 -163
  699. package/fesm2020/ptsecurity-mosaic-toggle.mjs.map +1 -1
  700. package/fesm2020/ptsecurity-mosaic-tooltip.mjs +336 -336
  701. package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  702. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +951 -941
  703. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  704. package/fesm2020/ptsecurity-mosaic-tree.mjs +1683 -1669
  705. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
  706. package/fesm2020/ptsecurity-mosaic.mjs +2 -2
  707. package/form-field/cleaner.d.ts +7 -7
  708. package/form-field/form-field-control.d.ts +37 -37
  709. package/form-field/form-field-errors.d.ts +2 -2
  710. package/form-field/form-field.d.ts +69 -69
  711. package/form-field/form-field.module.d.ts +15 -15
  712. package/form-field/hint.d.ts +14 -6
  713. package/form-field/index.d.ts +1 -1
  714. package/form-field/password-hint.d.ts +40 -40
  715. package/form-field/prefix.d.ts +5 -5
  716. package/form-field/ptsecurity-mosaic-form-field.d.ts +5 -5
  717. package/form-field/public-api.d.ts +10 -10
  718. package/form-field/stepper.d.ts +11 -11
  719. package/form-field/suffix.d.ts +5 -5
  720. package/icon/icon.component.d.ts +18 -18
  721. package/icon/icon.module.d.ts +10 -10
  722. package/icon/index.d.ts +1 -1
  723. package/icon/ptsecurity-mosaic-icon.d.ts +5 -5
  724. package/icon/public-api.d.ts +2 -2
  725. package/index.d.ts +1 -1
  726. package/input/index.d.ts +1 -1
  727. package/input/input-errors.d.ts +1 -1
  728. package/input/input-number-validators.d.ts +39 -39
  729. package/input/input-number.d.ts +33 -33
  730. package/input/input-password.d.ts +123 -123
  731. package/input/input-value-accessor.d.ts +4 -4
  732. package/input/input.d.ts +116 -116
  733. package/input/input.module.d.ts +14 -14
  734. package/input/ptsecurity-mosaic-input.d.ts +5 -5
  735. package/input/public-api.d.ts +6 -6
  736. package/link/index.d.ts +1 -1
  737. package/link/link.component.d.ts +38 -38
  738. package/link/link.module.d.ts +9 -9
  739. package/link/ptsecurity-mosaic-link.d.ts +5 -5
  740. package/link/public-api.d.ts +2 -2
  741. package/list/index.d.ts +1 -1
  742. package/list/list-selection.component.d.ts +168 -168
  743. package/list/list.component.d.ts +18 -18
  744. package/list/list.module.d.ts +11 -11
  745. package/list/ptsecurity-mosaic-list.d.ts +5 -5
  746. package/list/public-api.d.ts +3 -3
  747. package/{toggle → loader-overlay}/README.md +0 -0
  748. package/loader-overlay/index.d.ts +1 -0
  749. package/loader-overlay/loader-overlay.component.d.ts +33 -0
  750. package/loader-overlay/loader-overlay.module.d.ts +11 -0
  751. package/loader-overlay/package.json +10 -0
  752. package/loader-overlay/ptsecurity-mosaic-loader-overlay.d.ts +5 -0
  753. package/loader-overlay/public-api.d.ts +2 -0
  754. package/modal/README.md +33 -33
  755. package/modal/css-unit.pipe.d.ts +7 -7
  756. package/modal/index.d.ts +1 -1
  757. package/modal/modal-control.service.d.ts +20 -20
  758. package/modal/modal-ref.class.d.ts +36 -36
  759. package/modal/modal-util.d.ts +12 -12
  760. package/modal/modal.component.d.ts +128 -126
  761. package/modal/modal.directive.d.ts +17 -17
  762. package/modal/modal.module.d.ts +14 -14
  763. package/modal/modal.service.d.ts +33 -33
  764. package/modal/modal.type.d.ts +60 -59
  765. package/modal/ptsecurity-mosaic-modal.d.ts +5 -5
  766. package/modal/public-api.d.ts +6 -6
  767. package/navbar/README.md +41 -41
  768. package/navbar/index.d.ts +1 -1
  769. package/navbar/navbar-item.component.d.ts +161 -161
  770. package/navbar/navbar.component.d.ts +58 -58
  771. package/navbar/navbar.module.d.ts +14 -14
  772. package/navbar/ptsecurity-mosaic-navbar.d.ts +5 -5
  773. package/navbar/public-api.d.ts +4 -4
  774. package/navbar/vertical-navbar.animation.d.ts +2 -2
  775. package/navbar/vertical-navbar.component.d.ts +23 -23
  776. package/package.json +12 -4
  777. package/popover/README.md +32 -32
  778. package/popover/index.d.ts +1 -1
  779. package/popover/popover-animations.d.ts +4 -4
  780. package/popover/popover-confirm.component.d.ts +33 -33
  781. package/popover/popover.component.d.ts +74 -74
  782. package/popover/popover.module.d.ts +12 -12
  783. package/popover/ptsecurity-mosaic-popover.d.ts +5 -5
  784. package/popover/public-api.d.ts +4 -4
  785. package/prebuilt-themes/dark-theme.css +1 -1
  786. package/prebuilt-themes/default-theme.css +1 -1
  787. package/progress-bar/index.d.ts +1 -1
  788. package/progress-bar/progress-bar.component.d.ts +18 -18
  789. package/progress-bar/progress-bar.module.d.ts +9 -9
  790. package/progress-bar/ptsecurity-mosaic-progress-bar.d.ts +5 -5
  791. package/progress-bar/public-api.d.ts +2 -2
  792. package/progress-spinner/index.d.ts +1 -1
  793. package/progress-spinner/progress-spinner.component.d.ts +19 -19
  794. package/progress-spinner/progress-spinner.module.d.ts +9 -9
  795. package/progress-spinner/ptsecurity-mosaic-progress-spinner.d.ts +5 -5
  796. package/progress-spinner/public-api.d.ts +2 -2
  797. package/ptsecurity-mosaic.d.ts +5 -5
  798. package/public-api.d.ts +1 -1
  799. package/radio/index.d.ts +1 -1
  800. package/radio/ptsecurity-mosaic-radio.d.ts +5 -5
  801. package/radio/public-api.d.ts +2 -2
  802. package/radio/radio.component.d.ts +207 -207
  803. package/radio/radio.module.d.ts +10 -10
  804. package/schematics/README.md +35 -35
  805. package/select/index.d.ts +1 -1
  806. package/select/ptsecurity-mosaic-select.d.ts +5 -5
  807. package/select/public-api.d.ts +3 -3
  808. package/select/select-option.directive.d.ts +20 -20
  809. package/select/select.component.d.ts +310 -307
  810. package/select/select.module.d.ts +15 -15
  811. package/sidebar/index.d.ts +1 -1
  812. package/sidebar/ptsecurity-mosaic-sidebar.d.ts +5 -5
  813. package/sidebar/public-api.d.ts +2 -2
  814. package/sidebar/sidebar-animations.d.ts +8 -8
  815. package/sidebar/sidebar.component.d.ts +53 -53
  816. package/sidebar/sidebar.module.d.ts +8 -8
  817. package/sidepanel/index.d.ts +1 -1
  818. package/sidepanel/ptsecurity-mosaic-sidepanel.d.ts +5 -5
  819. package/sidepanel/public-api.d.ts +6 -6
  820. package/sidepanel/sidepanel-animations.d.ts +14 -14
  821. package/sidepanel/sidepanel-config.d.ts +25 -25
  822. package/sidepanel/sidepanel-container.component.d.ts +45 -45
  823. package/sidepanel/sidepanel-directives.d.ts +50 -50
  824. package/sidepanel/sidepanel-ref.d.ts +24 -24
  825. package/sidepanel/sidepanel.module.d.ts +15 -15
  826. package/sidepanel/sidepanel.service.d.ts +57 -57
  827. package/splitter/index.d.ts +1 -1
  828. package/splitter/ptsecurity-mosaic-splitter.d.ts +5 -5
  829. package/splitter/public-api.d.ts +2 -2
  830. package/splitter/splitter.component.d.ts +130 -130
  831. package/splitter/splitter.module.d.ts +9 -9
  832. package/table/index.d.ts +1 -1
  833. package/table/ptsecurity-mosaic-table.d.ts +5 -5
  834. package/table/public-api.d.ts +2 -2
  835. package/table/table.component.d.ts +5 -5
  836. package/table/table.module.d.ts +10 -10
  837. package/tabs/index.d.ts +1 -1
  838. package/tabs/paginated-tab-header.d.ts +179 -179
  839. package/tabs/ptsecurity-mosaic-tabs.d.ts +5 -5
  840. package/tabs/public-api.d.ts +10 -10
  841. package/tabs/tab-body.component.d.ts +95 -95
  842. package/tabs/tab-content.directive.d.ts +9 -9
  843. package/tabs/tab-group.component.d.ts +133 -133
  844. package/tabs/tab-header.component.d.ts +35 -35
  845. package/tabs/tab-label-wrapper.directive.d.ts +30 -30
  846. package/tabs/tab-label.directive.d.ts +9 -9
  847. package/tabs/tab-nav-bar/index.d.ts +1 -1
  848. package/tabs/tab-nav-bar/tab-nav-bar.d.ts +38 -38
  849. package/tabs/tab.component.d.ts +66 -66
  850. package/tabs/tabs-animations.d.ts +4 -4
  851. package/tabs/tabs.module.d.ts +20 -20
  852. package/tags/index.d.ts +1 -1
  853. package/tags/ptsecurity-mosaic-tags.d.ts +5 -5
  854. package/tags/public-api.d.ts +5 -5
  855. package/tags/tag-default-options.d.ts +8 -8
  856. package/tags/tag-input.d.ts +77 -77
  857. package/tags/tag-list.component.d.ts +240 -240
  858. package/tags/tag-text-control.d.ts +10 -10
  859. package/tags/tag.component.d.ts +135 -135
  860. package/tags/tag.module.d.ts +11 -11
  861. package/textarea/index.d.ts +1 -1
  862. package/textarea/ptsecurity-mosaic-textarea.d.ts +5 -5
  863. package/textarea/public-api.d.ts +2 -2
  864. package/textarea/textarea.component.d.ts +111 -111
  865. package/textarea/textarea.module.d.ts +11 -11
  866. package/timepicker/index.d.ts +1 -1
  867. package/timepicker/ptsecurity-mosaic-timepicker.d.ts +5 -5
  868. package/timepicker/public-api.d.ts +3 -3
  869. package/timepicker/timepicker.constants.d.ts +20 -20
  870. package/timepicker/timepicker.directive.d.ts +146 -147
  871. package/timepicker/timepicker.module.d.ts +11 -11
  872. package/toggle/index.d.ts +1 -1
  873. package/toggle/ptsecurity-mosaic-toggle.d.ts +5 -5
  874. package/toggle/public-api.d.ts +2 -2
  875. package/toggle/toggle.component.d.ts +54 -54
  876. package/toggle/toggle.module.d.ts +10 -10
  877. package/tooltip/index.d.ts +1 -1
  878. package/tooltip/ptsecurity-mosaic-tooltip.d.ts +5 -5
  879. package/tooltip/public-api.d.ts +2 -2
  880. package/tooltip/tooltip.animations.d.ts +8 -8
  881. package/tooltip/tooltip.component.d.ts +91 -91
  882. package/tooltip/tooltip.module.d.ts +9 -9
  883. package/tree/control/base-tree-control.d.ts +40 -40
  884. package/tree/control/flat-tree-control.d.ts +52 -52
  885. package/tree/control/nested-tree-control.d.ts +19 -19
  886. package/tree/control/tree-control.d.ts +44 -44
  887. package/tree/data-source/flat-data-source.d.ts +80 -80
  888. package/tree/data-source/nested-data-source.d.ts +15 -15
  889. package/tree/index.d.ts +1 -1
  890. package/tree/node.d.ts +34 -34
  891. package/tree/outlet.d.ts +9 -9
  892. package/tree/padding.directive.d.ts +47 -45
  893. package/tree/ptsecurity-mosaic-tree.d.ts +5 -5
  894. package/tree/public-api.d.ts +15 -15
  895. package/tree/toggle.d.ts +28 -28
  896. package/tree/tree-base.d.ts +97 -97
  897. package/tree/tree-errors.d.ts +25 -25
  898. package/tree/tree-option.component.d.ts +72 -68
  899. package/tree/tree-selection.component.d.ts +132 -132
  900. package/tree/tree.d.ts +6 -6
  901. package/tree/tree.module.d.ts +16 -16
  902. package/tree-select/index.d.ts +1 -1
  903. package/tree-select/ptsecurity-mosaic-tree-select.d.ts +5 -5
  904. package/tree-select/public-api.d.ts +2 -2
  905. package/tree-select/tree-select.component.d.ts +277 -274
  906. package/tree-select/tree-select.module.d.ts +14 -14
@@ -7,474 +7,474 @@ import { mixinDisabled, toBoolean, mixinColor, mixinTabIndex, McCommonModule } f
7
7
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
8
8
  import * as i2 from '@angular/cdk/collections';
9
9
 
10
- // Increasing integer for generating unique ids for radio components.
11
- let nextUniqueId = 0;
12
- /** Change event object emitted by McRadio. */
13
- class McRadioChange {
14
- constructor(
15
- /** The McRadioButton that emits the change event. */
16
- source,
17
- /** The value of the McRadioButton. */
18
- value) {
19
- this.source = source;
20
- this.value = value;
21
- }
22
- }
23
- // Boilerplate for applying mixins to McRadioGroup.
24
- /** @docs-private */
25
- class McRadioGroupBase {
26
- // tslint:disable-next-line:naming-convention
27
- constructor(_elementRef) {
28
- this._elementRef = _elementRef;
29
- }
30
- }
31
- // tslint:disable-next-line:naming-convention
32
- const McRadioGroupMixinBase = mixinDisabled(McRadioGroupBase);
33
- /**
34
- * Provider Expression that allows mc-radio-group to register as a ControlValueAccessor. This
35
- * allows it to support [(ngModel)] and ngControl.
36
- * @docs-private
37
- */
38
- const MC_RADIO_GROUP_CONTROL_VALUE_ACCESSOR = {
39
- provide: NG_VALUE_ACCESSOR,
40
- useExisting: forwardRef(() => McRadioGroup),
41
- multi: true
42
- };
43
- class McRadioGroup extends McRadioGroupMixinBase {
44
- constructor(elementRef, _changeDetector) {
45
- super(elementRef);
46
- this._changeDetector = _changeDetector;
47
- /**
48
- * Event emitted when the group value changes.
49
- * Change events are only emitted when the value changes due to user interaction with
50
- * a radio button (the same behavior as `<input type-"radio">`).
51
- */
52
- this.change = new EventEmitter();
53
- /**
54
- * Selected value for group. Should equal the value of the selected radio button if there *is*
55
- * a corresponding radio button with a matching value. If there is *not* such a corresponding
56
- * radio button, this value persists to be applied in case a new radio button is added with a
57
- * matching value.
58
- */
59
- this._value = null;
60
- /** The HTML name attribute applied to radio buttons in this group. */
61
- this._name = `mc-radio-group-${nextUniqueId++}`;
62
- /** The currently selected radio button. Should match value. */
63
- this._selected = null;
64
- /** Whether the `value` has been set to its initial value. */
65
- this.isInitialized = false;
66
- /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */
67
- this._labelPosition = 'after';
68
- /** Whether the radio group is disabled. */
69
- this._disabled = false;
70
- /** Whether the radio group is required. */
71
- this._required = false;
72
- /** The method to be called in order to update ngModel */
73
- // tslint:disable-next-line
74
- this.controlValueAccessorChangeFn = () => { };
75
- /**
76
- * onTouch function registered via registerOnTouch (ControlValueAccessor).
77
- * @docs-private
78
- */
79
- // tslint:disable-next-line
80
- this.onTouched = () => { };
81
- }
82
- /** Name of the radio button group. All radio buttons inside this group will use this name. */
83
- get name() { return this._name; }
84
- set name(value) {
85
- this._name = value;
86
- this.updateRadioButtonNames();
87
- }
88
- /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */
89
- get labelPosition() {
90
- return this._labelPosition;
91
- }
92
- set labelPosition(v) {
93
- this._labelPosition = v === 'before' ? 'before' : 'after';
94
- this.markRadiosForCheck();
95
- }
96
- /** Value of the radio button. */
97
- get value() { return this._value; }
98
- set value(newValue) {
99
- if (this._value !== newValue) {
100
- // Set this before proceeding to ensure no circular loop occurs with selection.
101
- this._value = newValue;
102
- this.updateSelectedRadioFromValue();
103
- this.checkSelectedRadioButton();
104
- }
105
- }
106
- /** Whether the radio button is selected. */
107
- get selected() { return this._selected; }
108
- set selected(selected) {
109
- this._selected = selected;
110
- this.value = selected ? selected.value : null;
111
- this.checkSelectedRadioButton();
112
- }
113
- /** Whether the radio group is disabled */
114
- get disabled() { return this._disabled; }
115
- set disabled(value) {
116
- this._disabled = toBoolean(value);
117
- this.markRadiosForCheck();
118
- }
119
- /** Whether the radio group is required */
120
- get required() { return this._required; }
121
- set required(value) {
122
- this._required = toBoolean(value);
123
- this.markRadiosForCheck();
124
- }
125
- checkSelectedRadioButton() {
126
- if (this._selected && !this._selected.checked) {
127
- this._selected.checked = true;
128
- }
129
- }
130
- /**
131
- * Initialize properties once content children are available.
132
- * This allows us to propagate relevant attributes to associated buttons.
133
- */
134
- ngAfterContentInit() {
135
- // Mark this component as initialized in AfterContentInit because the initial value can
136
- // possibly be set by NgModel on McRadioGroup, and it is possible that the OnInit of the
137
- // NgModel occurs *after* the OnInit of the McRadioGroup.
138
- this.isInitialized = true;
139
- }
140
- /**
141
- * Mark this group as being "touched" (for ngModel). Meant to be called by the contained
142
- * radio buttons upon their blur.
143
- */
144
- touch() {
145
- if (this.onTouched) {
146
- this.onTouched();
147
- }
148
- }
149
- /** Dispatch change event with current selection and group value. */
150
- emitChangeEvent() {
151
- if (this.isInitialized) {
152
- this.change.emit(new McRadioChange(this._selected, this._value));
153
- }
154
- }
155
- markRadiosForCheck() {
156
- if (this.radios) {
157
- this.radios.forEach((radio) => radio.markForCheck());
158
- }
159
- }
160
- /**
161
- * Sets the model value. Implemented as part of ControlValueAccessor.
162
- */
163
- writeValue(value) {
164
- this.value = value;
165
- this._changeDetector.markForCheck();
166
- }
167
- /**
168
- * Registers a callback to be triggered when the model value changes.
169
- * Implemented as part of ControlValueAccessor.
170
- * @param fn Callback to be registered.
171
- */
172
- registerOnChange(fn) {
173
- this.controlValueAccessorChangeFn = fn;
174
- }
175
- /**
176
- * Registers a callback to be triggered when the control is touched.
177
- * Implemented as part of ControlValueAccessor.
178
- * @param fn Callback to be registered.
179
- */
180
- registerOnTouched(fn) {
181
- this.onTouched = fn;
182
- }
183
- /**
184
- * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.
185
- * @param isDisabled Whether the control should be disabled.
186
- */
187
- setDisabledState(isDisabled) {
188
- this.disabled = isDisabled;
189
- this._changeDetector.markForCheck();
190
- }
191
- updateRadioButtonNames() {
192
- if (this.radios) {
193
- this.radios.forEach((radio) => {
194
- radio.name = this.name;
195
- });
196
- }
197
- }
198
- /** Updates the `selected` radio button from the internal _value state. */
199
- updateSelectedRadioFromValue() {
200
- // If the value already matches the selected radio, do nothing.
201
- const isAlreadySelected = this._selected !== null && this._selected.value === this._value;
202
- if (this.radios != null && !isAlreadySelected) {
203
- this._selected = null;
204
- this.radios.forEach((radio) => {
205
- radio.checked = this.value === radio.value;
206
- if (radio.checked) {
207
- this._selected = radio;
208
- }
209
- });
210
- }
211
- }
212
- }
213
- /** @nocollapse */ /** @nocollapse */ McRadioGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McRadioGroup, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
214
- /** @nocollapse */ /** @nocollapse */ McRadioGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.7", type: McRadioGroup, selector: "mc-radio-group", inputs: { name: "name", labelPosition: "labelPosition", value: "value", selected: "selected", disabled: "disabled", required: "required" }, outputs: { change: "change" }, host: { attributes: { "role": "radiogroup" }, classAttribute: "mc-radio-group" }, providers: [MC_RADIO_GROUP_CONTROL_VALUE_ACCESSOR], queries: [{ propertyName: "radios", predicate: i0.forwardRef(function () { return McRadioButton; }), descendants: true }], exportAs: ["mcRadioGroup"], usesInheritance: true, ngImport: i0 });
215
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McRadioGroup, decorators: [{
216
- type: Directive,
217
- args: [{
218
- selector: 'mc-radio-group',
219
- exportAs: 'mcRadioGroup',
220
- host: {
221
- role: 'radiogroup',
222
- class: 'mc-radio-group'
223
- },
224
- providers: [MC_RADIO_GROUP_CONTROL_VALUE_ACCESSOR]
225
- }]
226
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { name: [{
227
- type: Input
228
- }], labelPosition: [{
229
- type: Input
230
- }], value: [{
231
- type: Input
232
- }], selected: [{
233
- type: Input
234
- }], disabled: [{
235
- type: Input
236
- }], required: [{
237
- type: Input
238
- }], change: [{
239
- type: Output
240
- }], radios: [{
241
- type: ContentChildren,
242
- args: [forwardRef(() => McRadioButton), { descendants: true }]
243
- }] } });
244
- // Boilerplate for applying mixins to McRadioButton.
245
- /** @docs-private */
246
- // tslint:disable-next-line:naming-convention
247
- class McRadioButtonBase {
248
- // tslint:disable-next-line:naming-convention
249
- constructor(_elementRef) {
250
- this._elementRef = _elementRef;
251
- }
252
- }
253
- // tslint:disable-next-line:naming-convention
254
- const McRadioButtonMixinBase = mixinColor(mixinTabIndex(McRadioButtonBase));
255
- class McRadioButton extends McRadioButtonMixinBase {
256
- constructor(radioGroup, elementRef, _changeDetector, focusMonitor, _radioDispatcher) {
257
- super(elementRef);
258
- this._changeDetector = _changeDetector;
259
- this.focusMonitor = focusMonitor;
260
- this._radioDispatcher = _radioDispatcher;
261
- /**
262
- * Event emitted when the checked state of this radio button changes.
263
- * Change events are only emitted when the value changes due to user interaction with
264
- * the radio button (the same behavior as `<input type-"radio">`).
265
- */
266
- this.change = new EventEmitter();
267
- this.isFocused = false;
268
- /* tslint:disable:member-ordering */
269
- this.uniqueId = `mc-radio-${++nextUniqueId}`;
270
- /** Whether this radio is checked. */
271
- this._checked = false;
272
- /** Value assigned to this radio. */
273
- this._value = null;
274
- /** Unregister function for _radioDispatcher */
275
- // tslint:disable-next-line
276
- this.removeUniqueSelectionListener = () => { };
277
- this.id = this.uniqueId;
278
- this.radioGroup = radioGroup;
279
- this.removeUniqueSelectionListener =
280
- _radioDispatcher.listen((id, name) => {
281
- if (id !== this.id && name === this.name) {
282
- this.checked = false;
283
- }
284
- });
285
- }
286
- /** Whether this radio button is checked. */
287
- get checked() { return this._checked; }
288
- set checked(value) {
289
- const newCheckedState = toBoolean(value);
290
- if (this._checked !== newCheckedState) {
291
- this._checked = newCheckedState;
292
- if (newCheckedState && this.radioGroup && this.radioGroup.value !== this.value) {
293
- this.radioGroup.selected = this;
294
- }
295
- else if (!newCheckedState && this.radioGroup && this.radioGroup.value === this.value) {
296
- // When unchecking the selected radio button, update the selected radio
297
- // property on the group.
298
- this.radioGroup.selected = null;
299
- }
300
- if (newCheckedState) {
301
- // Notify all radio buttons with the same name to un-check.
302
- this._radioDispatcher.notify(this.id, this.name);
303
- }
304
- this._changeDetector.markForCheck();
305
- }
306
- }
307
- /** The value of this radio button. */
308
- get value() { return this._value; }
309
- set value(value) {
310
- if (this._value !== value) {
311
- this._value = value;
312
- if (this.radioGroup != null) {
313
- if (!this.checked) {
314
- // Update checked when the value changed to match the radio group's value
315
- this.checked = this.radioGroup.value === value;
316
- }
317
- if (this.checked) {
318
- this.radioGroup.selected = this;
319
- }
320
- }
321
- }
322
- }
323
- /** Whether the radio button is disabled. */
324
- get disabled() {
325
- return this._disabled || (this.radioGroup != null && this.radioGroup.disabled);
326
- }
327
- set disabled(value) {
328
- const newDisabledState = toBoolean(value);
329
- if (this._disabled !== newDisabledState) {
330
- this._disabled = newDisabledState;
331
- this._changeDetector.markForCheck();
332
- }
333
- }
334
- /** Whether the radio button is required. */
335
- get required() {
336
- return this._required || (this.radioGroup && this.radioGroup.required);
337
- }
338
- set required(value) {
339
- this._required = toBoolean(value);
340
- }
341
- /** Whether the label should appear after or before the radio button. Defaults to 'after' */
342
- get labelPosition() {
343
- return this._labelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'after';
344
- }
345
- set labelPosition(value) {
346
- this._labelPosition = value;
347
- }
348
- /** ID of the native input element inside `<mc-radio-button>` */
349
- get inputId() { return `${this.id || this.uniqueId}-input`; }
350
- ngOnInit() {
351
- if (this.radioGroup) {
352
- // If the radio is inside a radio group, determine if it should be checked
353
- this.checked = this.radioGroup.value === this._value;
354
- // Copy name from parent radio group
355
- this.name = this.radioGroup.name;
356
- }
357
- }
358
- ngAfterViewInit() {
359
- this.focusMonitor
360
- .monitor(this._elementRef, true)
361
- .subscribe((focusOrigin) => {
362
- if (!focusOrigin && this.radioGroup) {
363
- this.radioGroup.touch();
364
- }
365
- });
366
- }
367
- ngOnDestroy() {
368
- this.focusMonitor.stopMonitoring(this._elementRef);
369
- this.removeUniqueSelectionListener();
370
- }
371
- /** Focuses the radio button. */
372
- focus() {
373
- this.inputElement.nativeElement.focus();
374
- }
375
- /**
376
- * Marks the radio button as needing checking for change detection.
377
- * This method is exposed because the parent radio group will directly
378
- * update bound properties of the radio button.
379
- */
380
- markForCheck() {
381
- // When group value changes, the button will not be notified. Use `markForCheck` to explicit
382
- // update radio button's status
383
- this._changeDetector.markForCheck();
384
- }
385
- onInputClick(event) {
386
- // We have to stop propagation for click events on the visual hidden input element.
387
- // By default, when a user clicks on a label element, a generated click event will be
388
- // dispatched on the associated input element. Since we are using a label element as our
389
- // root container, the click event on the `radio-button` will be executed twice.
390
- // The real click event will bubble up, and the generated click event also tries to bubble up.
391
- // This will lead to multiple click events.
392
- // Preventing bubbling for the second event will solve that issue.
393
- event.stopPropagation();
394
- }
395
- onInputChange(event) {
396
- // We always have to stop propagation on the change event.
397
- // Otherwise the change event, from the input element, will bubble up and
398
- // emit its event object to the `change` output.
399
- event.stopPropagation();
400
- const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;
401
- this.checked = true;
402
- this.emitChangeEvent();
403
- if (this.radioGroup) {
404
- this.radioGroup.controlValueAccessorChangeFn(this.value);
405
- this.radioGroup.touch();
406
- if (groupValueChanged) {
407
- this.radioGroup.emitChangeEvent();
408
- }
409
- }
410
- }
411
- /** Dispatch change event with current value. */
412
- emitChangeEvent() {
413
- this.change.emit(new McRadioChange(this, this._value));
414
- }
415
- }
416
- /** @nocollapse */ /** @nocollapse */ McRadioButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McRadioButton, deps: [{ token: McRadioGroup, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i2.UniqueSelectionDispatcher }], target: i0.ɵɵFactoryTarget.Component });
417
- /** @nocollapse */ /** @nocollapse */ McRadioButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.7", type: McRadioButton, selector: "mc-radio-button", inputs: { color: "color", tabIndex: "tabIndex", checked: "checked", value: "value", disabled: "disabled", required: "required", labelPosition: "labelPosition", name: "name", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], isFocused: "isFocused", id: "id" }, outputs: { change: "change" }, host: { properties: { "attr.id": "id", "class.mc-selected": "checked", "class.mc-disabled": "disabled" }, classAttribute: "mc-radio-button" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["mcRadioButton"], usesInheritance: true, ngImport: i0, template: "<label class=\"mc-radio-label\" [attr.for]=\"inputId\" #label>\r\n <input type=\"radio\"\r\n class=\"mc-radio-input cdk-visually-hidden\"\r\n #input\r\n [id]=\"inputId\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [tabIndex]=\"tabIndex\"\r\n [attr.name]=\"name\"\r\n [required]=\"required\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledby\"\r\n [attr.aria-describedby]=\"ariaDescribedby\"\r\n (change)=\"onInputChange($event)\"\r\n (click)=\"onInputClick($event)\">\r\n\r\n <div class=\"mc-radio-label-content\" [class.mc-radio-label-before]=\"labelPosition == 'before'\">\r\n <div class=\"mc-radio-button__outer-circle\"></div>\r\n <div class=\"mc-radio-button__inner-circle\"></div>\r\n <ng-content></ng-content>\r\n </div>\r\n</label>\r\n", styles: [".mc-radio-button{display:inline-block}.mc-radio-label{display:inline-flex;align-items:center;vertical-align:middle;cursor:pointer;white-space:nowrap;width:100%}.mc-radio-label-content{display:inline-block;position:relative;order:0;line-height:inherit;padding-left:calc(var(--mc-radio-size-size, 14px) + var(--mc-radio-size-padding, 8px));padding-right:0}.mc-radio-label-content .mc-radio-button__outer-circle,.mc-radio-label-content .mc-radio-button__inner-circle{box-sizing:content-box;position:absolute;content:\"\";border-style:solid;border-radius:50%}.mc-radio-label-content .mc-radio-button__outer-circle{left:0;top:calc(50% - 8px);width:var(--mc-radio-size-size, 14px);height:var(--mc-radio-size-size, 14px);border-width:1px}.mc-radio-label-content .mc-radio-button__inner-circle{display:none;left:1px;top:calc(50% - 7px);width:6px;height:6px;border-width:4px}[dir=rtl] .mc-radio-label-content{padding-right:var(--mc-radio-size-padding, 8px);padding-left:0}.mc-radio-input{position:absolute;outline:none;opacity:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
418
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McRadioButton, decorators: [{
419
- type: Component,
420
- args: [{ selector: 'mc-radio-button', inputs: ['color', 'tabIndex'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'mcRadioButton', host: {
421
- class: 'mc-radio-button',
422
- '[attr.id]': 'id',
423
- '[class.mc-selected]': 'checked',
424
- '[class.mc-disabled]': 'disabled'
425
- }, template: "<label class=\"mc-radio-label\" [attr.for]=\"inputId\" #label>\r\n <input type=\"radio\"\r\n class=\"mc-radio-input cdk-visually-hidden\"\r\n #input\r\n [id]=\"inputId\"\r\n [checked]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [tabIndex]=\"tabIndex\"\r\n [attr.name]=\"name\"\r\n [required]=\"required\"\r\n [attr.aria-label]=\"ariaLabel\"\r\n [attr.aria-labelledby]=\"ariaLabelledby\"\r\n [attr.aria-describedby]=\"ariaDescribedby\"\r\n (change)=\"onInputChange($event)\"\r\n (click)=\"onInputClick($event)\">\r\n\r\n <div class=\"mc-radio-label-content\" [class.mc-radio-label-before]=\"labelPosition == 'before'\">\r\n <div class=\"mc-radio-button__outer-circle\"></div>\r\n <div class=\"mc-radio-button__inner-circle\"></div>\r\n <ng-content></ng-content>\r\n </div>\r\n</label>\r\n", styles: [".mc-radio-button{display:inline-block}.mc-radio-label{display:inline-flex;align-items:center;vertical-align:middle;cursor:pointer;white-space:nowrap;width:100%}.mc-radio-label-content{display:inline-block;position:relative;order:0;line-height:inherit;padding-left:calc(var(--mc-radio-size-size, 14px) + var(--mc-radio-size-padding, 8px));padding-right:0}.mc-radio-label-content .mc-radio-button__outer-circle,.mc-radio-label-content .mc-radio-button__inner-circle{box-sizing:content-box;position:absolute;content:\"\";border-style:solid;border-radius:50%}.mc-radio-label-content .mc-radio-button__outer-circle{left:0;top:calc(50% - 8px);width:var(--mc-radio-size-size, 14px);height:var(--mc-radio-size-size, 14px);border-width:1px}.mc-radio-label-content .mc-radio-button__inner-circle{display:none;left:1px;top:calc(50% - 7px);width:6px;height:6px;border-width:4px}[dir=rtl] .mc-radio-label-content{padding-right:var(--mc-radio-size-padding, 8px);padding-left:0}.mc-radio-input{position:absolute;outline:none;opacity:0}\n"] }]
426
- }], ctorParameters: function () {
427
- return [{ type: McRadioGroup, decorators: [{
428
- type: Optional
429
- }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i2.UniqueSelectionDispatcher }];
430
- }, propDecorators: { checked: [{
431
- type: Input
432
- }], value: [{
433
- type: Input
434
- }], disabled: [{
435
- type: Input
436
- }], required: [{
437
- type: Input
438
- }], labelPosition: [{
439
- type: Input
440
- }], name: [{
441
- type: Input
442
- }], ariaLabel: [{
443
- type: Input,
444
- args: ['aria-label']
445
- }], ariaLabelledby: [{
446
- type: Input,
447
- args: ['aria-labelledby']
448
- }], ariaDescribedby: [{
449
- type: Input,
450
- args: ['aria-describedby']
451
- }], inputElement: [{
452
- type: ViewChild,
453
- args: ['input', { static: false }]
454
- }], change: [{
455
- type: Output
456
- }], isFocused: [{
457
- type: Input
458
- }], id: [{
459
- type: Input
10
+ // Increasing integer for generating unique ids for radio components.
11
+ let nextUniqueId = 0;
12
+ /** Change event object emitted by McRadio. */
13
+ class McRadioChange {
14
+ constructor(
15
+ /** The McRadioButton that emits the change event. */
16
+ source,
17
+ /** The value of the McRadioButton. */
18
+ value) {
19
+ this.source = source;
20
+ this.value = value;
21
+ }
22
+ }
23
+ // Boilerplate for applying mixins to McRadioGroup.
24
+ /** @docs-private */
25
+ class McRadioGroupBase {
26
+ // tslint:disable-next-line:naming-convention
27
+ constructor(_elementRef) {
28
+ this._elementRef = _elementRef;
29
+ }
30
+ }
31
+ // tslint:disable-next-line:naming-convention
32
+ const McRadioGroupMixinBase = mixinDisabled(McRadioGroupBase);
33
+ /**
34
+ * Provider Expression that allows mc-radio-group to register as a ControlValueAccessor. This
35
+ * allows it to support [(ngModel)] and ngControl.
36
+ * @docs-private
37
+ */
38
+ const MC_RADIO_GROUP_CONTROL_VALUE_ACCESSOR = {
39
+ provide: NG_VALUE_ACCESSOR,
40
+ useExisting: forwardRef(() => McRadioGroup),
41
+ multi: true
42
+ };
43
+ class McRadioGroup extends McRadioGroupMixinBase {
44
+ constructor(elementRef, _changeDetector) {
45
+ super(elementRef);
46
+ this._changeDetector = _changeDetector;
47
+ /**
48
+ * Event emitted when the group value changes.
49
+ * Change events are only emitted when the value changes due to user interaction with
50
+ * a radio button (the same behavior as `<input type-"radio">`).
51
+ */
52
+ this.change = new EventEmitter();
53
+ /**
54
+ * Selected value for group. Should equal the value of the selected radio button if there *is*
55
+ * a corresponding radio button with a matching value. If there is *not* such a corresponding
56
+ * radio button, this value persists to be applied in case a new radio button is added with a
57
+ * matching value.
58
+ */
59
+ this._value = null;
60
+ /** The HTML name attribute applied to radio buttons in this group. */
61
+ this._name = `mc-radio-group-${nextUniqueId++}`;
62
+ /** The currently selected radio button. Should match value. */
63
+ this._selected = null;
64
+ /** Whether the `value` has been set to its initial value. */
65
+ this.isInitialized = false;
66
+ /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */
67
+ this._labelPosition = 'after';
68
+ /** Whether the radio group is disabled. */
69
+ this._disabled = false;
70
+ /** Whether the radio group is required. */
71
+ this._required = false;
72
+ /** The method to be called in order to update ngModel */
73
+ // tslint:disable-next-line
74
+ this.controlValueAccessorChangeFn = () => { };
75
+ /**
76
+ * onTouch function registered via registerOnTouch (ControlValueAccessor).
77
+ * @docs-private
78
+ */
79
+ // tslint:disable-next-line
80
+ this.onTouched = () => { };
81
+ }
82
+ /** Name of the radio button group. All radio buttons inside this group will use this name. */
83
+ get name() { return this._name; }
84
+ set name(value) {
85
+ this._name = value;
86
+ this.updateRadioButtonNames();
87
+ }
88
+ /** Whether the labels should appear after or before the radio-buttons. Defaults to 'after' */
89
+ get labelPosition() {
90
+ return this._labelPosition;
91
+ }
92
+ set labelPosition(v) {
93
+ this._labelPosition = v === 'before' ? 'before' : 'after';
94
+ this.markRadiosForCheck();
95
+ }
96
+ /** Value of the radio button. */
97
+ get value() { return this._value; }
98
+ set value(newValue) {
99
+ if (this._value !== newValue) {
100
+ // Set this before proceeding to ensure no circular loop occurs with selection.
101
+ this._value = newValue;
102
+ this.updateSelectedRadioFromValue();
103
+ this.checkSelectedRadioButton();
104
+ }
105
+ }
106
+ /** Whether the radio button is selected. */
107
+ get selected() { return this._selected; }
108
+ set selected(selected) {
109
+ this._selected = selected;
110
+ this.value = selected ? selected.value : null;
111
+ this.checkSelectedRadioButton();
112
+ }
113
+ /** Whether the radio group is disabled */
114
+ get disabled() { return this._disabled; }
115
+ set disabled(value) {
116
+ this._disabled = toBoolean(value);
117
+ this.markRadiosForCheck();
118
+ }
119
+ /** Whether the radio group is required */
120
+ get required() { return this._required; }
121
+ set required(value) {
122
+ this._required = toBoolean(value);
123
+ this.markRadiosForCheck();
124
+ }
125
+ checkSelectedRadioButton() {
126
+ if (this._selected && !this._selected.checked) {
127
+ this._selected.checked = true;
128
+ }
129
+ }
130
+ /**
131
+ * Initialize properties once content children are available.
132
+ * This allows us to propagate relevant attributes to associated buttons.
133
+ */
134
+ ngAfterContentInit() {
135
+ // Mark this component as initialized in AfterContentInit because the initial value can
136
+ // possibly be set by NgModel on McRadioGroup, and it is possible that the OnInit of the
137
+ // NgModel occurs *after* the OnInit of the McRadioGroup.
138
+ this.isInitialized = true;
139
+ }
140
+ /**
141
+ * Mark this group as being "touched" (for ngModel). Meant to be called by the contained
142
+ * radio buttons upon their blur.
143
+ */
144
+ touch() {
145
+ if (this.onTouched) {
146
+ this.onTouched();
147
+ }
148
+ }
149
+ /** Dispatch change event with current selection and group value. */
150
+ emitChangeEvent() {
151
+ if (this.isInitialized) {
152
+ this.change.emit(new McRadioChange(this._selected, this._value));
153
+ }
154
+ }
155
+ markRadiosForCheck() {
156
+ if (this.radios) {
157
+ this.radios.forEach((radio) => radio.markForCheck());
158
+ }
159
+ }
160
+ /**
161
+ * Sets the model value. Implemented as part of ControlValueAccessor.
162
+ */
163
+ writeValue(value) {
164
+ this.value = value;
165
+ this._changeDetector.markForCheck();
166
+ }
167
+ /**
168
+ * Registers a callback to be triggered when the model value changes.
169
+ * Implemented as part of ControlValueAccessor.
170
+ * @param fn Callback to be registered.
171
+ */
172
+ registerOnChange(fn) {
173
+ this.controlValueAccessorChangeFn = fn;
174
+ }
175
+ /**
176
+ * Registers a callback to be triggered when the control is touched.
177
+ * Implemented as part of ControlValueAccessor.
178
+ * @param fn Callback to be registered.
179
+ */
180
+ registerOnTouched(fn) {
181
+ this.onTouched = fn;
182
+ }
183
+ /**
184
+ * Sets the disabled state of the control. Implemented as a part of ControlValueAccessor.
185
+ * @param isDisabled Whether the control should be disabled.
186
+ */
187
+ setDisabledState(isDisabled) {
188
+ this.disabled = isDisabled;
189
+ this._changeDetector.markForCheck();
190
+ }
191
+ updateRadioButtonNames() {
192
+ if (this.radios) {
193
+ this.radios.forEach((radio) => {
194
+ radio.name = this.name;
195
+ });
196
+ }
197
+ }
198
+ /** Updates the `selected` radio button from the internal _value state. */
199
+ updateSelectedRadioFromValue() {
200
+ // If the value already matches the selected radio, do nothing.
201
+ const isAlreadySelected = this._selected !== null && this._selected.value === this._value;
202
+ if (this.radios != null && !isAlreadySelected) {
203
+ this._selected = null;
204
+ this.radios.forEach((radio) => {
205
+ radio.checked = this.value === radio.value;
206
+ if (radio.checked) {
207
+ this._selected = radio;
208
+ }
209
+ });
210
+ }
211
+ }
212
+ }
213
+ /** @nocollapse */ /** @nocollapse */ McRadioGroup.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McRadioGroup, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Directive });
214
+ /** @nocollapse */ /** @nocollapse */ McRadioGroup.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: McRadioGroup, selector: "mc-radio-group", inputs: { name: "name", labelPosition: "labelPosition", value: "value", selected: "selected", disabled: "disabled", required: "required" }, outputs: { change: "change" }, host: { attributes: { "role": "radiogroup" }, classAttribute: "mc-radio-group" }, providers: [MC_RADIO_GROUP_CONTROL_VALUE_ACCESSOR], queries: [{ propertyName: "radios", predicate: i0.forwardRef(function () { return McRadioButton; }), descendants: true }], exportAs: ["mcRadioGroup"], usesInheritance: true, ngImport: i0 });
215
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McRadioGroup, decorators: [{
216
+ type: Directive,
217
+ args: [{
218
+ selector: 'mc-radio-group',
219
+ exportAs: 'mcRadioGroup',
220
+ host: {
221
+ role: 'radiogroup',
222
+ class: 'mc-radio-group'
223
+ },
224
+ providers: [MC_RADIO_GROUP_CONTROL_VALUE_ACCESSOR]
225
+ }]
226
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { name: [{
227
+ type: Input
228
+ }], labelPosition: [{
229
+ type: Input
230
+ }], value: [{
231
+ type: Input
232
+ }], selected: [{
233
+ type: Input
234
+ }], disabled: [{
235
+ type: Input
236
+ }], required: [{
237
+ type: Input
238
+ }], change: [{
239
+ type: Output
240
+ }], radios: [{
241
+ type: ContentChildren,
242
+ args: [forwardRef(() => McRadioButton), { descendants: true }]
243
+ }] } });
244
+ // Boilerplate for applying mixins to McRadioButton.
245
+ /** @docs-private */
246
+ // tslint:disable-next-line:naming-convention
247
+ class McRadioButtonBase {
248
+ // tslint:disable-next-line:naming-convention
249
+ constructor(_elementRef) {
250
+ this._elementRef = _elementRef;
251
+ }
252
+ }
253
+ // tslint:disable-next-line:naming-convention
254
+ const McRadioButtonMixinBase = mixinColor(mixinTabIndex(McRadioButtonBase));
255
+ class McRadioButton extends McRadioButtonMixinBase {
256
+ constructor(radioGroup, elementRef, _changeDetector, focusMonitor, _radioDispatcher) {
257
+ super(elementRef);
258
+ this._changeDetector = _changeDetector;
259
+ this.focusMonitor = focusMonitor;
260
+ this._radioDispatcher = _radioDispatcher;
261
+ /**
262
+ * Event emitted when the checked state of this radio button changes.
263
+ * Change events are only emitted when the value changes due to user interaction with
264
+ * the radio button (the same behavior as `<input type-"radio">`).
265
+ */
266
+ this.change = new EventEmitter();
267
+ this.isFocused = false;
268
+ /* tslint:disable:member-ordering */
269
+ this.uniqueId = `mc-radio-${++nextUniqueId}`;
270
+ /** Whether this radio is checked. */
271
+ this._checked = false;
272
+ /** Value assigned to this radio. */
273
+ this._value = null;
274
+ /** Unregister function for _radioDispatcher */
275
+ // tslint:disable-next-line
276
+ this.removeUniqueSelectionListener = () => { };
277
+ this.id = this.uniqueId;
278
+ this.radioGroup = radioGroup;
279
+ this.removeUniqueSelectionListener =
280
+ _radioDispatcher.listen((id, name) => {
281
+ if (id !== this.id && name === this.name) {
282
+ this.checked = false;
283
+ }
284
+ });
285
+ }
286
+ /** Whether this radio button is checked. */
287
+ get checked() { return this._checked; }
288
+ set checked(value) {
289
+ const newCheckedState = toBoolean(value);
290
+ if (this._checked !== newCheckedState) {
291
+ this._checked = newCheckedState;
292
+ if (newCheckedState && this.radioGroup && this.radioGroup.value !== this.value) {
293
+ this.radioGroup.selected = this;
294
+ }
295
+ else if (!newCheckedState && this.radioGroup && this.radioGroup.value === this.value) {
296
+ // When unchecking the selected radio button, update the selected radio
297
+ // property on the group.
298
+ this.radioGroup.selected = null;
299
+ }
300
+ if (newCheckedState) {
301
+ // Notify all radio buttons with the same name to un-check.
302
+ this._radioDispatcher.notify(this.id, this.name);
303
+ }
304
+ this._changeDetector.markForCheck();
305
+ }
306
+ }
307
+ /** The value of this radio button. */
308
+ get value() { return this._value; }
309
+ set value(value) {
310
+ if (this._value !== value) {
311
+ this._value = value;
312
+ if (this.radioGroup != null) {
313
+ if (!this.checked) {
314
+ // Update checked when the value changed to match the radio group's value
315
+ this.checked = this.radioGroup.value === value;
316
+ }
317
+ if (this.checked) {
318
+ this.radioGroup.selected = this;
319
+ }
320
+ }
321
+ }
322
+ }
323
+ /** Whether the radio button is disabled. */
324
+ get disabled() {
325
+ return this._disabled || (this.radioGroup != null && this.radioGroup.disabled);
326
+ }
327
+ set disabled(value) {
328
+ const newDisabledState = toBoolean(value);
329
+ if (this._disabled !== newDisabledState) {
330
+ this._disabled = newDisabledState;
331
+ this._changeDetector.markForCheck();
332
+ }
333
+ }
334
+ /** Whether the radio button is required. */
335
+ get required() {
336
+ return this._required || (this.radioGroup && this.radioGroup.required);
337
+ }
338
+ set required(value) {
339
+ this._required = toBoolean(value);
340
+ }
341
+ /** Whether the label should appear after or before the radio button. Defaults to 'after' */
342
+ get labelPosition() {
343
+ return this._labelPosition || (this.radioGroup && this.radioGroup.labelPosition) || 'after';
344
+ }
345
+ set labelPosition(value) {
346
+ this._labelPosition = value;
347
+ }
348
+ /** ID of the native input element inside `<mc-radio-button>` */
349
+ get inputId() { return `${this.id || this.uniqueId}-input`; }
350
+ ngOnInit() {
351
+ if (this.radioGroup) {
352
+ // If the radio is inside a radio group, determine if it should be checked
353
+ this.checked = this.radioGroup.value === this._value;
354
+ // Copy name from parent radio group
355
+ this.name = this.radioGroup.name;
356
+ }
357
+ }
358
+ ngAfterViewInit() {
359
+ this.focusMonitor
360
+ .monitor(this._elementRef, true)
361
+ .subscribe((focusOrigin) => {
362
+ if (!focusOrigin && this.radioGroup) {
363
+ this.radioGroup.touch();
364
+ }
365
+ });
366
+ }
367
+ ngOnDestroy() {
368
+ this.focusMonitor.stopMonitoring(this._elementRef);
369
+ this.removeUniqueSelectionListener();
370
+ }
371
+ /** Focuses the radio button. */
372
+ focus() {
373
+ this.inputElement.nativeElement.focus();
374
+ }
375
+ /**
376
+ * Marks the radio button as needing checking for change detection.
377
+ * This method is exposed because the parent radio group will directly
378
+ * update bound properties of the radio button.
379
+ */
380
+ markForCheck() {
381
+ // When group value changes, the button will not be notified. Use `markForCheck` to explicit
382
+ // update radio button's status
383
+ this._changeDetector.markForCheck();
384
+ }
385
+ onInputClick(event) {
386
+ // We have to stop propagation for click events on the visual hidden input element.
387
+ // By default, when a user clicks on a label element, a generated click event will be
388
+ // dispatched on the associated input element. Since we are using a label element as our
389
+ // root container, the click event on the `radio-button` will be executed twice.
390
+ // The real click event will bubble up, and the generated click event also tries to bubble up.
391
+ // This will lead to multiple click events.
392
+ // Preventing bubbling for the second event will solve that issue.
393
+ event.stopPropagation();
394
+ }
395
+ onInputChange(event) {
396
+ // We always have to stop propagation on the change event.
397
+ // Otherwise the change event, from the input element, will bubble up and
398
+ // emit its event object to the `change` output.
399
+ event.stopPropagation();
400
+ const groupValueChanged = this.radioGroup && this.value !== this.radioGroup.value;
401
+ this.checked = true;
402
+ this.emitChangeEvent();
403
+ if (this.radioGroup) {
404
+ this.radioGroup.controlValueAccessorChangeFn(this.value);
405
+ this.radioGroup.touch();
406
+ if (groupValueChanged) {
407
+ this.radioGroup.emitChangeEvent();
408
+ }
409
+ }
410
+ }
411
+ /** Dispatch change event with current value. */
412
+ emitChangeEvent() {
413
+ this.change.emit(new McRadioChange(this, this._value));
414
+ }
415
+ }
416
+ /** @nocollapse */ /** @nocollapse */ McRadioButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McRadioButton, deps: [{ token: McRadioGroup, optional: true }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i1.FocusMonitor }, { token: i2.UniqueSelectionDispatcher }], target: i0.ɵɵFactoryTarget.Component });
417
+ /** @nocollapse */ /** @nocollapse */ McRadioButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: McRadioButton, selector: "mc-radio-button", inputs: { color: "color", tabIndex: "tabIndex", checked: "checked", value: "value", disabled: "disabled", required: "required", labelPosition: "labelPosition", name: "name", ariaLabel: ["aria-label", "ariaLabel"], ariaLabelledby: ["aria-labelledby", "ariaLabelledby"], ariaDescribedby: ["aria-describedby", "ariaDescribedby"], isFocused: "isFocused", id: "id" }, outputs: { change: "change" }, host: { properties: { "attr.id": "id", "class.mc-selected": "checked", "class.mc-disabled": "disabled" }, classAttribute: "mc-radio-button" }, viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["input"], descendants: true }], exportAs: ["mcRadioButton"], usesInheritance: true, ngImport: i0, template: "<label class=\"mc-radio-label\" [attr.for]=\"inputId\" #label>\n <input type=\"radio\"\n class=\"mc-radio-input cdk-visually-hidden\"\n #input\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex\"\n [attr.name]=\"name\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\">\n\n <div class=\"mc-radio-label-content\" [class.mc-radio-label-before]=\"labelPosition == 'before'\">\n <div class=\"mc-radio-button__outer-circle\"></div>\n <div class=\"mc-radio-button__inner-circle\">\n <div class=\"mc-radio-button__inner-circle-cap\"></div>\n </div>\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".mc-radio-button{display:inline-block}.mc-radio-label{display:inline-flex;align-items:center;vertical-align:middle;cursor:pointer;white-space:nowrap;width:100%}.mc-radio-label-content{display:inline-block;position:relative;order:0;line-height:inherit;padding-left:calc(var(--mc-radio-size-size, 14px) + var(--mc-radio-size-padding, 8px));padding-right:0}.mc-radio-label-content .mc-radio-button__outer-circle,.mc-radio-label-content .mc-radio-button__inner-circle{box-sizing:content-box;position:absolute;content:\"\";border-style:solid;border-radius:50%}.mc-radio-label-content .mc-radio-button__outer-circle{left:0;top:calc(50% - 8px);width:var(--mc-radio-size-size, 14px);height:var(--mc-radio-size-size, 14px);border-width:1px}.mc-radio-label-content .mc-radio-button__inner-circle{display:none;left:0;top:calc(50% - 8px);width:var(--mc-radio-size-size, 14px);height:var(--mc-radio-size-size, 14px);border-width:1px}.mc-radio-label-content .mc-radio-button__inner-circle .mc-radio-button__inner-circle-cap{margin:auto;width:var(--mc-radio-size-cap-size, 6px);height:var(--mc-radio-size-cap-size, 6px);border-radius:50%}[dir=rtl] .mc-radio-label-content{padding-right:var(--mc-radio-size-padding, 8px);padding-left:0}.mc-radio-input{position:absolute;outline:none;opacity:0}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
418
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McRadioButton, decorators: [{
419
+ type: Component,
420
+ args: [{ selector: 'mc-radio-button', inputs: ['color', 'tabIndex'], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: 'mcRadioButton', host: {
421
+ class: 'mc-radio-button',
422
+ '[attr.id]': 'id',
423
+ '[class.mc-selected]': 'checked',
424
+ '[class.mc-disabled]': 'disabled'
425
+ }, template: "<label class=\"mc-radio-label\" [attr.for]=\"inputId\" #label>\n <input type=\"radio\"\n class=\"mc-radio-input cdk-visually-hidden\"\n #input\n [id]=\"inputId\"\n [checked]=\"checked\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex\"\n [attr.name]=\"name\"\n [required]=\"required\"\n [attr.aria-label]=\"ariaLabel\"\n [attr.aria-labelledby]=\"ariaLabelledby\"\n [attr.aria-describedby]=\"ariaDescribedby\"\n (change)=\"onInputChange($event)\"\n (click)=\"onInputClick($event)\">\n\n <div class=\"mc-radio-label-content\" [class.mc-radio-label-before]=\"labelPosition == 'before'\">\n <div class=\"mc-radio-button__outer-circle\"></div>\n <div class=\"mc-radio-button__inner-circle\">\n <div class=\"mc-radio-button__inner-circle-cap\"></div>\n </div>\n <ng-content></ng-content>\n </div>\n</label>\n", styles: [".mc-radio-button{display:inline-block}.mc-radio-label{display:inline-flex;align-items:center;vertical-align:middle;cursor:pointer;white-space:nowrap;width:100%}.mc-radio-label-content{display:inline-block;position:relative;order:0;line-height:inherit;padding-left:calc(var(--mc-radio-size-size, 14px) + var(--mc-radio-size-padding, 8px));padding-right:0}.mc-radio-label-content .mc-radio-button__outer-circle,.mc-radio-label-content .mc-radio-button__inner-circle{box-sizing:content-box;position:absolute;content:\"\";border-style:solid;border-radius:50%}.mc-radio-label-content .mc-radio-button__outer-circle{left:0;top:calc(50% - 8px);width:var(--mc-radio-size-size, 14px);height:var(--mc-radio-size-size, 14px);border-width:1px}.mc-radio-label-content .mc-radio-button__inner-circle{display:none;left:0;top:calc(50% - 8px);width:var(--mc-radio-size-size, 14px);height:var(--mc-radio-size-size, 14px);border-width:1px}.mc-radio-label-content .mc-radio-button__inner-circle .mc-radio-button__inner-circle-cap{margin:auto;width:var(--mc-radio-size-cap-size, 6px);height:var(--mc-radio-size-cap-size, 6px);border-radius:50%}[dir=rtl] .mc-radio-label-content{padding-right:var(--mc-radio-size-padding, 8px);padding-left:0}.mc-radio-input{position:absolute;outline:none;opacity:0}\n"] }]
426
+ }], ctorParameters: function () {
427
+ return [{ type: McRadioGroup, decorators: [{
428
+ type: Optional
429
+ }] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.FocusMonitor }, { type: i2.UniqueSelectionDispatcher }];
430
+ }, propDecorators: { checked: [{
431
+ type: Input
432
+ }], value: [{
433
+ type: Input
434
+ }], disabled: [{
435
+ type: Input
436
+ }], required: [{
437
+ type: Input
438
+ }], labelPosition: [{
439
+ type: Input
440
+ }], name: [{
441
+ type: Input
442
+ }], ariaLabel: [{
443
+ type: Input,
444
+ args: ['aria-label']
445
+ }], ariaLabelledby: [{
446
+ type: Input,
447
+ args: ['aria-labelledby']
448
+ }], ariaDescribedby: [{
449
+ type: Input,
450
+ args: ['aria-describedby']
451
+ }], inputElement: [{
452
+ type: ViewChild,
453
+ args: ['input', { static: false }]
454
+ }], change: [{
455
+ type: Output
456
+ }], isFocused: [{
457
+ type: Input
458
+ }], id: [{
459
+ type: Input
460
460
  }] } });
461
461
 
462
- class McRadioModule {
463
- }
464
- /** @nocollapse */ /** @nocollapse */ McRadioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
465
- /** @nocollapse */ /** @nocollapse */ McRadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McRadioModule, declarations: [McRadioGroup, McRadioButton], imports: [CommonModule, A11yModule, McCommonModule], exports: [McRadioGroup, McRadioButton] });
466
- /** @nocollapse */ /** @nocollapse */ McRadioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McRadioModule, imports: [[CommonModule, A11yModule, McCommonModule]] });
467
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McRadioModule, decorators: [{
468
- type: NgModule,
469
- args: [{
470
- imports: [CommonModule, A11yModule, McCommonModule],
471
- exports: [McRadioGroup, McRadioButton],
472
- declarations: [McRadioGroup, McRadioButton]
473
- }]
462
+ class McRadioModule {
463
+ }
464
+ /** @nocollapse */ /** @nocollapse */ McRadioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McRadioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
465
+ /** @nocollapse */ /** @nocollapse */ McRadioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McRadioModule, declarations: [McRadioGroup, McRadioButton], imports: [CommonModule, A11yModule, McCommonModule], exports: [McRadioGroup, McRadioButton] });
466
+ /** @nocollapse */ /** @nocollapse */ McRadioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McRadioModule, imports: [[CommonModule, A11yModule, McCommonModule]] });
467
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McRadioModule, decorators: [{
468
+ type: NgModule,
469
+ args: [{
470
+ imports: [CommonModule, A11yModule, McCommonModule],
471
+ exports: [McRadioGroup, McRadioButton],
472
+ declarations: [McRadioGroup, McRadioButton]
473
+ }]
474
474
  }] });
475
475
 
476
- /**
477
- * Generated bundle index. Do not edit.
476
+ /**
477
+ * Generated bundle index. Do not edit.
478
478
  */
479
479
 
480
480
  export { MC_RADIO_GROUP_CONTROL_VALUE_ACCESSOR, McRadioButton, McRadioButtonMixinBase, McRadioChange, McRadioGroup, McRadioGroupBase, McRadioGroupMixinBase, McRadioModule };