@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
@@ -1 +1 @@
1
- {"version":3,"file":"ptsecurity-mosaic-button-toggle.mjs","sources":["../../../packages/mosaic/button-toggle/button-toggle.component.ts","../../../packages/mosaic/button-toggle/button-toggle.module.ts","../../../packages/mosaic/button-toggle/ptsecurity-mosaic-button-toggle.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport {\r\n AfterContentInit,\r\n ChangeDetectionStrategy,\r\n ChangeDetectorRef,\r\n Component,\r\n ContentChildren,\r\n Directive,\r\n ElementRef,\r\n EventEmitter,\r\n forwardRef,\r\n Input,\r\n OnDestroy,\r\n OnInit,\r\n Optional,\r\n Output,\r\n QueryList,\r\n ViewEncapsulation,\r\n ViewChild\r\n} from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { McButton } from '@ptsecurity/mosaic/button';\r\n\r\n\r\n/** Acceptable types for a button toggle. */\r\nexport type ToggleType = 'checkbox' | 'radio';\r\n\r\n/**\r\n * Provider Expression that allows mc-button-toggle-group to register as a ControlValueAccessor.\r\n * This allows it to support [(ngModel)].\r\n * @docs-private\r\n */\r\nexport const MC_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => McButtonToggleGroup),\r\n multi: true\r\n};\r\n\r\n/** Change event object emitted by MсButtonToggle. */\r\nexport class McButtonToggleChange {\r\n constructor(\r\n /** The MсButtonToggle that emits the event. */\r\n public source: McButtonToggle,\r\n /** The value assigned to the MсButtonToggle. */\r\n public value: any\r\n ) {}\r\n}\r\n\r\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\r\n@Directive({\r\n selector: 'mc-button-toggle-group',\r\n providers: [MC_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR],\r\n host: {\r\n role: 'group',\r\n class: 'mc-button-toggle-group',\r\n '[class.mc-button-toggle_vertical]': 'vertical'\r\n },\r\n exportAs: 'mcButtonToggleGroup'\r\n})\r\nexport class McButtonToggleGroup implements ControlValueAccessor, OnInit, AfterContentInit {\r\n\r\n /** Whether the toggle group is vertical. */\r\n @Input()\r\n get vertical(): boolean {\r\n return this._vertical;\r\n }\r\n\r\n set vertical(value: boolean) {\r\n this._vertical = coerceBooleanProperty(value);\r\n }\r\n\r\n /** Value of the toggle group. */\r\n @Input()\r\n get value(): any {\r\n const selected = this.selectionModel ? this.selectionModel.selected : [];\r\n\r\n if (this.multiple) {\r\n return selected.map((toggle) => toggle.value);\r\n }\r\n\r\n return selected[0] ? selected[0].value : undefined;\r\n }\r\n\r\n set value(newValue: any) {\r\n this.setSelectionByValue(newValue);\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n /** Selected button toggles in the group. */\r\n get selected(): any {\r\n const selected = this.selectionModel.selected;\r\n\r\n return this.multiple ? selected : (selected[0] || null);\r\n }\r\n\r\n /** Whether multiple button toggles can be selected. */\r\n @Input()\r\n get multiple(): boolean {\r\n return this._multiple;\r\n }\r\n\r\n set multiple(value: boolean) {\r\n this._multiple = coerceBooleanProperty(value);\r\n }\r\n\r\n /** Child button toggle buttons. */\r\n @ContentChildren(forwardRef(() => McButtonToggle)) buttonToggles: QueryList<McButtonToggle>;\r\n\r\n /** Whether multiple button toggle group is disabled. */\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled;\r\n }\r\n\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n\r\n if (!this.buttonToggles) { return; }\r\n\r\n this.buttonToggles.forEach((toggle) => toggle.markForCheck());\r\n }\r\n\r\n /**\r\n * Event that emits whenever the value of the group changes.\r\n * Used to facilitate two-way data binding.\r\n * @docs-private\r\n */\r\n @Output() readonly valueChange = new EventEmitter<any>();\r\n\r\n /** Event emitted when the group's value changes. */\r\n @Output() readonly change: EventEmitter<McButtonToggleChange> = new EventEmitter<McButtonToggleChange>();\r\n private _vertical = false;\r\n private _multiple = false;\r\n private _disabled = false;\r\n private selectionModel: SelectionModel<McButtonToggle>;\r\n\r\n /**\r\n * Reference to the raw value that the consumer tried to assign. The real\r\n * value will exclude any values from this one that don't correspond to a\r\n * toggle. Useful for the cases where the value is assigned before the toggles\r\n * have been initialized or at the same that they're being swapped out.\r\n */\r\n private rawValue: any;\r\n\r\n constructor(private _changeDetector: ChangeDetectorRef) {}\r\n\r\n /**\r\n * The method to be called in order to update ngModel.\r\n * Now `ngModel` binding is not supported in multiple selection mode.\r\n */\r\n // tslint:disable-next-line:no-empty\r\n controlValueAccessorChangeFn: (value: any) => void = () => {};\r\n\r\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\r\n // tslint:disable-next-line:no-empty\r\n onTouched: () => any = () => {};\r\n\r\n ngOnInit() {\r\n this.selectionModel = new SelectionModel<McButtonToggle>(this.multiple, undefined, false);\r\n }\r\n\r\n ngAfterContentInit() {\r\n this.selectionModel.select(...this.buttonToggles.filter((toggle) => toggle.checked));\r\n this.disabled = this._disabled;\r\n }\r\n\r\n /**\r\n * Sets the model value. Implemented as part of ControlValueAccessor.\r\n * @param value Value to be set to the model.\r\n */\r\n writeValue(value: any) {\r\n this.value = value;\r\n this._changeDetector.markForCheck();\r\n }\r\n\r\n // Implemented as part of ControlValueAccessor.\r\n registerOnChange(fn: (value: any) => void) {\r\n this.controlValueAccessorChangeFn = fn;\r\n }\r\n\r\n // Implemented as part of ControlValueAccessor.\r\n registerOnTouched(fn: any) {\r\n this.onTouched = fn;\r\n }\r\n\r\n // Implemented as part of ControlValueAccessor.\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n /** Dispatch change event with current selection and group value. */\r\n emitChangeEvent(): void {\r\n const selected = this.selected;\r\n const source = Array.isArray(selected) ? selected[selected.length - 1] : selected;\r\n const event = new McButtonToggleChange(source, this.value);\r\n this.controlValueAccessorChangeFn(event.value);\r\n this.change.emit(event);\r\n }\r\n\r\n /**\r\n * Syncs a button toggle's selected state with the model value.\r\n * @param toggle Toggle to be synced.\r\n * @param select Whether the toggle should be selected.\r\n * @param isUserInput Whether the change was a result of a user interaction.\r\n */\r\n syncButtonToggle(toggle: McButtonToggle, select: boolean, isUserInput = false) {\r\n // Deselect the currently-selected toggle, if we're in single-selection\r\n // mode and the button being toggled isn't selected at the moment.\r\n if (!this.multiple && this.selected && !toggle.checked) {\r\n (this.selected as McButtonToggle).checked = false;\r\n }\r\n\r\n if (select) {\r\n this.selectionModel.select(toggle);\r\n } else {\r\n this.selectionModel.deselect(toggle);\r\n }\r\n\r\n // Only emit the change event for user input.\r\n if (isUserInput) {\r\n this.emitChangeEvent();\r\n }\r\n\r\n // Note: we emit this one no matter whether it was a user interaction, because\r\n // it is used by Angular to sync up the two-way data binding.\r\n this.valueChange.emit(this.value);\r\n }\r\n\r\n /** Checks whether a button toggle is selected. */\r\n isSelected(toggle: McButtonToggle) {\r\n return this.selectionModel.isSelected(toggle);\r\n }\r\n\r\n /** Determines whether a button toggle should be checked on init. */\r\n isPrechecked(toggle: McButtonToggle) {\r\n if (this.rawValue === undefined) {\r\n return false;\r\n }\r\n\r\n if (this.multiple && Array.isArray(this.rawValue)) {\r\n return this.rawValue.some((value) => toggle.value != null && value === toggle.value);\r\n }\r\n\r\n return toggle.value === this.rawValue;\r\n }\r\n\r\n /** Updates the selection state of the toggles in the group based on a value. */\r\n private setSelectionByValue(value: any | any[]) {\r\n this.rawValue = value;\r\n\r\n if (!this.buttonToggles) {\r\n return;\r\n }\r\n\r\n if (this.multiple && value) {\r\n if (!Array.isArray(value)) {\r\n throw Error('Value must be an array in multiple-selection mode.');\r\n }\r\n\r\n this.clearSelection();\r\n value.forEach((currentValue: any) => this.selectValue(currentValue));\r\n } else {\r\n this.clearSelection();\r\n this.selectValue(value);\r\n }\r\n }\r\n\r\n /** Clears the selected toggles. */\r\n private clearSelection() {\r\n this.selectionModel.clear();\r\n this.buttonToggles.forEach((toggle) => toggle.checked = false);\r\n }\r\n\r\n /** Selects a value if there's a toggle that corresponds to it. */\r\n private selectValue(value: any) {\r\n const correspondingOption = this.buttonToggles.find((toggle) => {\r\n return toggle.value != null && toggle.value === value;\r\n });\r\n\r\n if (correspondingOption) {\r\n correspondingOption.checked = true;\r\n this.selectionModel.select(correspondingOption);\r\n }\r\n }\r\n}\r\n\r\n/** Single button inside of a toggle group. */\r\n@Component({\r\n selector: 'mc-button-toggle',\r\n exportAs: 'mcButtonToggle',\r\n template: `\r\n <button\r\n mc-button\r\n type=\"button\"\r\n [class.mc-active]=\"checked\"\r\n [disabled]=\"disabled\"\r\n [tabIndex]=\"tabIndex\"\r\n (click)=\"onToggleClick()\">\r\n <ng-content></ng-content>\r\n </button>\r\n `,\r\n styleUrls: ['button-toggle.scss'],\r\n encapsulation: ViewEncapsulation.None,\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n host: {\r\n class: 'mc-button-toggle',\r\n '[class.mc-button-toggle-standalone]': '!buttonToggleGroup'\r\n }\r\n})\r\nexport class McButtonToggle implements OnInit, OnDestroy {\r\n\r\n /** Whether the button is checked. */\r\n @Input()\r\n get checked(): boolean {\r\n return this.buttonToggleGroup ? this.buttonToggleGroup.isSelected(this) : this._checked;\r\n }\r\n\r\n set checked(value: boolean) {\r\n const newValue = coerceBooleanProperty(value);\r\n\r\n if (newValue !== this._checked) {\r\n this._checked = newValue;\r\n\r\n if (this.buttonToggleGroup) {\r\n this.buttonToggleGroup.syncButtonToggle(this, this._checked);\r\n }\r\n\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n }\r\n\r\n // tslint:disable-next-line:no-reserved-keywords\r\n type: ToggleType;\r\n\r\n @ViewChild(McButton, { static: false }) mcButton: McButton;\r\n\r\n /** McButtonToggleGroup reads this to assign its own value. */\r\n @Input() value: any;\r\n\r\n /** Tabindex for the toggle. */\r\n @Input() tabIndex: number | null;\r\n\r\n @Input()\r\n get disabled(): boolean {\r\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\r\n }\r\n\r\n set disabled(value: boolean) {\r\n this._disabled = coerceBooleanProperty(value);\r\n }\r\n\r\n /** Event emitted when the group value changes. */\r\n @Output() readonly change: EventEmitter<McButtonToggleChange> = new EventEmitter<McButtonToggleChange>();\r\n\r\n private isSingleSelector = false;\r\n private _checked = false;\r\n private _disabled: boolean = false;\r\n\r\n constructor(\r\n @Optional() public buttonToggleGroup: McButtonToggleGroup,\r\n private changeDetectorRef: ChangeDetectorRef,\r\n private focusMonitor: FocusMonitor,\r\n private element: ElementRef\r\n ) {}\r\n\r\n ngOnInit() {\r\n this.isSingleSelector = this.buttonToggleGroup && !this.buttonToggleGroup.multiple;\r\n this.type = this.isSingleSelector ? 'radio' : 'checkbox';\r\n\r\n if (this.buttonToggleGroup && this.buttonToggleGroup.isPrechecked(this)) {\r\n this.checked = true;\r\n }\r\n\r\n this.focusMonitor.monitor(this.element.nativeElement, true);\r\n }\r\n\r\n ngOnDestroy() {\r\n const group = this.buttonToggleGroup;\r\n\r\n this.focusMonitor.stopMonitoring(this.element.nativeElement);\r\n\r\n // Remove the toggle from the selection once it's destroyed. Needs to happen\r\n // on the next tick in order to avoid \"changed after checked\" errors.\r\n if (group && group.isSelected(this)) {\r\n Promise.resolve().then(() => group.syncButtonToggle(this, false));\r\n }\r\n }\r\n\r\n /** Focuses the button. */\r\n focus(): void {\r\n this.element.nativeElement.focus();\r\n }\r\n\r\n /** Checks the button toggle due to an interaction with the underlying native button. */\r\n onToggleClick() {\r\n if (this.disabled) { return; }\r\n\r\n const newChecked = this.isSingleSelector ? true : !this._checked;\r\n\r\n if (newChecked !== this._checked) {\r\n this._checked = newChecked;\r\n if (this.buttonToggleGroup) {\r\n this.buttonToggleGroup.syncButtonToggle(this, this._checked, true);\r\n this.buttonToggleGroup.onTouched();\r\n }\r\n }\r\n // Emit a change event when it's the single selector\r\n this.change.emit(new McButtonToggleChange(this, this.value));\r\n }\r\n\r\n /**\r\n * Marks the button toggle as needing checking for change detection.\r\n * This method is exposed because the parent button toggle group will directly\r\n * update bound properties of the radio button.\r\n */\r\n markForCheck() {\r\n // When the group value changes, the button will not be notified.\r\n // Use `markForCheck` to explicit update button toggle's status.\r\n this.changeDetectorRef.markForCheck();\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { McButtonModule } from '@ptsecurity/mosaic/button';\r\nimport { McCommonModule } from '@ptsecurity/mosaic/core';\r\n\r\nimport { McButtonToggle, McButtonToggleGroup } from './button-toggle.component';\r\n\r\n\r\n@NgModule({\r\n imports: [McCommonModule, McButtonModule],\r\n exports: [McCommonModule, McButtonToggleGroup, McButtonToggle],\r\n declarations: [McButtonToggleGroup, McButtonToggle]\r\n})\r\nexport class McButtonToggleModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ptsecurity-mosaic-button-toggle.mjs","sources":["../../../packages/mosaic/button-toggle/button-toggle.component.ts","../../../packages/mosaic/button-toggle/button-toggle.module.ts","../../../packages/mosaic/button-toggle/ptsecurity-mosaic-button-toggle.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { SelectionModel } from '@angular/cdk/collections';\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n QueryList,\n ViewEncapsulation,\n ViewChild\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { McButton } from '@ptsecurity/mosaic/button';\n\n\n/** Acceptable types for a button toggle. */\nexport type ToggleType = 'checkbox' | 'radio';\n\n/**\n * Provider Expression that allows mc-button-toggle-group to register as a ControlValueAccessor.\n * This allows it to support [(ngModel)].\n * @docs-private\n */\nexport const MC_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => McButtonToggleGroup),\n multi: true\n};\n\n/** Change event object emitted by MсButtonToggle. */\nexport class McButtonToggleChange {\n constructor(\n /** The MсButtonToggle that emits the event. */\n public source: McButtonToggle,\n /** The value assigned to the MсButtonToggle. */\n public value: any\n ) {}\n}\n\n/** Exclusive selection button toggle group that behaves like a radio-button group. */\n@Directive({\n selector: 'mc-button-toggle-group',\n providers: [MC_BUTTON_TOGGLE_GROUP_VALUE_ACCESSOR],\n host: {\n role: 'group',\n class: 'mc-button-toggle-group',\n '[class.mc-button-toggle_vertical]': 'vertical'\n },\n exportAs: 'mcButtonToggleGroup'\n})\nexport class McButtonToggleGroup implements ControlValueAccessor, OnInit, AfterContentInit {\n\n /** Whether the toggle group is vertical. */\n @Input()\n get vertical(): boolean {\n return this._vertical;\n }\n\n set vertical(value: boolean) {\n this._vertical = coerceBooleanProperty(value);\n }\n\n /** Value of the toggle group. */\n @Input()\n get value(): any {\n const selected = this.selectionModel ? this.selectionModel.selected : [];\n\n if (this.multiple) {\n return selected.map((toggle) => toggle.value);\n }\n\n return selected[0] ? selected[0].value : undefined;\n }\n\n set value(newValue: any) {\n this.setSelectionByValue(newValue);\n this.valueChange.emit(this.value);\n }\n\n /** Selected button toggles in the group. */\n get selected(): any {\n const selected = this.selectionModel.selected;\n\n return this.multiple ? selected : (selected[0] || null);\n }\n\n /** Whether multiple button toggles can be selected. */\n @Input()\n get multiple(): boolean {\n return this._multiple;\n }\n\n set multiple(value: boolean) {\n this._multiple = coerceBooleanProperty(value);\n }\n\n /** Child button toggle buttons. */\n @ContentChildren(forwardRef(() => McButtonToggle)) buttonToggles: QueryList<McButtonToggle>;\n\n /** Whether multiple button toggle group is disabled. */\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n if (!this.buttonToggles) { return; }\n\n this.buttonToggles.forEach((toggle) => toggle.markForCheck());\n }\n\n /**\n * Event that emits whenever the value of the group changes.\n * Used to facilitate two-way data binding.\n * @docs-private\n */\n @Output() readonly valueChange = new EventEmitter<any>();\n\n /** Event emitted when the group's value changes. */\n @Output() readonly change: EventEmitter<McButtonToggleChange> = new EventEmitter<McButtonToggleChange>();\n private _vertical = false;\n private _multiple = false;\n private _disabled = false;\n private selectionModel: SelectionModel<McButtonToggle>;\n\n /**\n * Reference to the raw value that the consumer tried to assign. The real\n * value will exclude any values from this one that don't correspond to a\n * toggle. Useful for the cases where the value is assigned before the toggles\n * have been initialized or at the same that they're being swapped out.\n */\n private rawValue: any;\n\n constructor(private _changeDetector: ChangeDetectorRef) {}\n\n /**\n * The method to be called in order to update ngModel.\n * Now `ngModel` binding is not supported in multiple selection mode.\n */\n // tslint:disable-next-line:no-empty\n controlValueAccessorChangeFn: (value: any) => void = () => {};\n\n /** onTouch function registered via registerOnTouch (ControlValueAccessor). */\n // tslint:disable-next-line:no-empty\n onTouched: () => any = () => {};\n\n ngOnInit() {\n this.selectionModel = new SelectionModel<McButtonToggle>(this.multiple, undefined, false);\n }\n\n ngAfterContentInit() {\n this.selectionModel.select(...this.buttonToggles.filter((toggle) => toggle.checked));\n this.disabled = this._disabled;\n }\n\n /**\n * Sets the model value. Implemented as part of ControlValueAccessor.\n * @param value Value to be set to the model.\n */\n writeValue(value: any) {\n this.value = value;\n this._changeDetector.markForCheck();\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnChange(fn: (value: any) => void) {\n this.controlValueAccessorChangeFn = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n registerOnTouched(fn: any) {\n this.onTouched = fn;\n }\n\n // Implemented as part of ControlValueAccessor.\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n /** Dispatch change event with current selection and group value. */\n emitChangeEvent(): void {\n const selected = this.selected;\n const source = Array.isArray(selected) ? selected[selected.length - 1] : selected;\n const event = new McButtonToggleChange(source, this.value);\n this.controlValueAccessorChangeFn(event.value);\n this.change.emit(event);\n }\n\n /**\n * Syncs a button toggle's selected state with the model value.\n * @param toggle Toggle to be synced.\n * @param select Whether the toggle should be selected.\n * @param isUserInput Whether the change was a result of a user interaction.\n */\n syncButtonToggle(toggle: McButtonToggle, select: boolean, isUserInput = false) {\n // Deselect the currently-selected toggle, if we're in single-selection\n // mode and the button being toggled isn't selected at the moment.\n if (!this.multiple && this.selected && !toggle.checked) {\n (this.selected as McButtonToggle).checked = false;\n }\n\n if (select) {\n this.selectionModel.select(toggle);\n } else {\n this.selectionModel.deselect(toggle);\n }\n\n // Only emit the change event for user input.\n if (isUserInput) {\n this.emitChangeEvent();\n }\n\n // Note: we emit this one no matter whether it was a user interaction, because\n // it is used by Angular to sync up the two-way data binding.\n this.valueChange.emit(this.value);\n }\n\n /** Checks whether a button toggle is selected. */\n isSelected(toggle: McButtonToggle) {\n return this.selectionModel.isSelected(toggle);\n }\n\n /** Determines whether a button toggle should be checked on init. */\n isPrechecked(toggle: McButtonToggle) {\n if (this.rawValue === undefined) {\n return false;\n }\n\n if (this.multiple && Array.isArray(this.rawValue)) {\n return this.rawValue.some((value) => toggle.value != null && value === toggle.value);\n }\n\n return toggle.value === this.rawValue;\n }\n\n /** Updates the selection state of the toggles in the group based on a value. */\n private setSelectionByValue(value: any | any[]) {\n this.rawValue = value;\n\n if (!this.buttonToggles) {\n return;\n }\n\n if (this.multiple && value) {\n if (!Array.isArray(value)) {\n throw Error('Value must be an array in multiple-selection mode.');\n }\n\n this.clearSelection();\n value.forEach((currentValue: any) => this.selectValue(currentValue));\n } else {\n this.clearSelection();\n this.selectValue(value);\n }\n }\n\n /** Clears the selected toggles. */\n private clearSelection() {\n this.selectionModel.clear();\n this.buttonToggles.forEach((toggle) => toggle.checked = false);\n }\n\n /** Selects a value if there's a toggle that corresponds to it. */\n private selectValue(value: any) {\n const correspondingOption = this.buttonToggles.find((toggle) => {\n return toggle.value != null && toggle.value === value;\n });\n\n if (correspondingOption) {\n correspondingOption.checked = true;\n this.selectionModel.select(correspondingOption);\n }\n }\n}\n\n/** Single button inside of a toggle group. */\n@Component({\n selector: 'mc-button-toggle',\n exportAs: 'mcButtonToggle',\n template: `\n <button\n mc-button\n type=\"button\"\n [class.mc-active]=\"checked\"\n [disabled]=\"disabled\"\n [tabIndex]=\"tabIndex\"\n (click)=\"onToggleClick()\">\n <ng-content></ng-content>\n </button>\n `,\n styleUrls: ['button-toggle.scss'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'mc-button-toggle',\n '[class.mc-button-toggle-standalone]': '!buttonToggleGroup'\n }\n})\nexport class McButtonToggle implements OnInit, OnDestroy {\n\n /** Whether the button is checked. */\n @Input()\n get checked(): boolean {\n return this.buttonToggleGroup ? this.buttonToggleGroup.isSelected(this) : this._checked;\n }\n\n set checked(value: boolean) {\n const newValue = coerceBooleanProperty(value);\n\n if (newValue !== this._checked) {\n this._checked = newValue;\n\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup.syncButtonToggle(this, this._checked);\n }\n\n this.changeDetectorRef.markForCheck();\n }\n }\n\n // tslint:disable-next-line:no-reserved-keywords\n type: ToggleType;\n\n @ViewChild(McButton, { static: false }) mcButton: McButton;\n\n /** McButtonToggleGroup reads this to assign its own value. */\n @Input() value: any;\n\n /** Tabindex for the toggle. */\n @Input() tabIndex: number | null;\n\n @Input()\n get disabled(): boolean {\n return this._disabled || (this.buttonToggleGroup && this.buttonToggleGroup.disabled);\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n }\n\n /** Event emitted when the group value changes. */\n @Output() readonly change: EventEmitter<McButtonToggleChange> = new EventEmitter<McButtonToggleChange>();\n\n private isSingleSelector = false;\n private _checked = false;\n private _disabled: boolean = false;\n\n constructor(\n @Optional() public buttonToggleGroup: McButtonToggleGroup,\n private changeDetectorRef: ChangeDetectorRef,\n private focusMonitor: FocusMonitor,\n private element: ElementRef\n ) {}\n\n ngOnInit() {\n this.isSingleSelector = this.buttonToggleGroup && !this.buttonToggleGroup.multiple;\n this.type = this.isSingleSelector ? 'radio' : 'checkbox';\n\n if (this.buttonToggleGroup && this.buttonToggleGroup.isPrechecked(this)) {\n this.checked = true;\n }\n\n this.focusMonitor.monitor(this.element.nativeElement, true);\n }\n\n ngOnDestroy() {\n const group = this.buttonToggleGroup;\n\n this.focusMonitor.stopMonitoring(this.element.nativeElement);\n\n // Remove the toggle from the selection once it's destroyed. Needs to happen\n // on the next tick in order to avoid \"changed after checked\" errors.\n if (group && group.isSelected(this)) {\n Promise.resolve().then(() => group.syncButtonToggle(this, false));\n }\n }\n\n /** Focuses the button. */\n focus(): void {\n this.element.nativeElement.focus();\n }\n\n /** Checks the button toggle due to an interaction with the underlying native button. */\n onToggleClick() {\n if (this.disabled) { return; }\n\n const newChecked = this.isSingleSelector ? true : !this._checked;\n\n if (newChecked !== this._checked) {\n this._checked = newChecked;\n if (this.buttonToggleGroup) {\n this.buttonToggleGroup.syncButtonToggle(this, this._checked, true);\n this.buttonToggleGroup.onTouched();\n }\n }\n // Emit a change event when it's the single selector\n this.change.emit(new McButtonToggleChange(this, this.value));\n }\n\n /**\n * Marks the button toggle as needing checking for change detection.\n * This method is exposed because the parent button toggle group will directly\n * update bound properties of the radio button.\n */\n markForCheck() {\n // When the group value changes, the button will not be notified.\n // Use `markForCheck` to explicit update button toggle's status.\n this.changeDetectorRef.markForCheck();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { McButtonModule } from '@ptsecurity/mosaic/button';\nimport { McCommonModule } from '@ptsecurity/mosaic/core';\n\nimport { McButtonToggle, McButtonToggleGroup } from './button-toggle.component';\n\n\n@NgModule({\n imports: [McCommonModule, McButtonModule],\n exports: [McCommonModule, McButtonToggleGroup, McButtonToggle],\n declarations: [McButtonToggleGroup, McButtonToggle]\n})\nexport class McButtonToggleModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -8,170 +8,170 @@ import { coerceBooleanProperty } from '@angular/cdk/coercion';
8
8
  import { mixinTabIndex, mixinColor } from '@ptsecurity/mosaic/core';
9
9
  import { McIcon } from '@ptsecurity/mosaic/icon';
10
10
 
11
- const leftIconClassName = 'mc-icon_left';
12
- const rightIconClassName = 'mc-icon_right';
13
- const buttonLeftIconClassName = 'mc-icon-button_left';
14
- const buttonRightIconClassName = 'mc-icon-button_right';
15
- class McButtonCssStyler {
16
- constructor(elementRef, renderer) {
17
- this.renderer = renderer;
18
- this.isIconButton = false;
19
- this.nativeElement = elementRef.nativeElement;
20
- }
21
- ngAfterContentInit() {
22
- this.updateClassModifierForIcons();
23
- }
24
- updateClassModifierForIcons() {
25
- const twoIcons = 2;
26
- const [firstIconElement, secondIconElement] = this.icons.map((item) => item.getHostElement());
27
- if (this.icons.length === 1 && !(firstIconElement.nextSibling || firstIconElement.previousSibling) ||
28
- this.icons.length === twoIcons && firstIconElement.nextSibling === secondIconElement) {
29
- this.isIconButton = true;
30
- }
31
- if (this.icons.length === 1) {
32
- this.renderer.removeClass(firstIconElement, leftIconClassName);
33
- this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);
34
- this.renderer.removeClass(firstIconElement, rightIconClassName);
35
- this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);
36
- const COMMENT_NODE = 8;
37
- if (firstIconElement.nextSibling && firstIconElement.nextSibling.nodeType !== COMMENT_NODE) {
38
- this.renderer.addClass(firstIconElement, leftIconClassName);
39
- this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);
40
- }
41
- if (firstIconElement.previousSibling && firstIconElement.previousSibling.nodeType !== COMMENT_NODE) {
42
- this.renderer.addClass(firstIconElement, rightIconClassName);
43
- this.renderer.addClass(this.nativeElement, buttonRightIconClassName);
44
- }
45
- }
46
- else if (this.icons.length === twoIcons) {
47
- this.renderer.addClass(firstIconElement, leftIconClassName);
48
- this.renderer.addClass(secondIconElement, rightIconClassName);
49
- this.renderer.addClass(this.nativeElement, buttonRightIconClassName);
50
- this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);
51
- }
52
- }
53
- }
54
- /** @nocollapse */ /** @nocollapse */ McButtonCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McButtonCssStyler, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
55
- /** @nocollapse */ /** @nocollapse */ McButtonCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.7", type: McButtonCssStyler, selector: "[mc-button]", host: { properties: { "class.mc-button": "!isIconButton", "class.mc-icon-button": "isIconButton" } }, queries: [{ propertyName: "icons", predicate: McIcon, descendants: true }], ngImport: i0 });
56
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McButtonCssStyler, decorators: [{
57
- type: Directive,
58
- args: [{
59
- selector: '[mc-button]',
60
- host: {
61
- '[class.mc-button]': '!isIconButton',
62
- '[class.mc-icon-button]': 'isIconButton'
63
- }
64
- }]
65
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { icons: [{
66
- type: ContentChildren,
67
- args: [McIcon, { descendants: true }]
68
- }] } });
69
- class McButtonBase {
70
- // tslint:disable-next-line:naming-convention
71
- constructor(_elementRef) {
72
- this._elementRef = _elementRef;
73
- }
74
- }
75
- // tslint:disable-next-line:naming-convention
76
- const McButtonMixinBase = mixinTabIndex(mixinColor(McButtonBase));
77
- class McButton extends McButtonMixinBase {
78
- constructor(elementRef, focusMonitor) {
79
- super(elementRef);
80
- this.focusMonitor = focusMonitor;
81
- this.hasFocus = false;
82
- this._disabled = false;
83
- this.runFocusMonitor();
84
- }
85
- get disabled() {
86
- return this._disabled;
87
- }
88
- set disabled(value) {
89
- this._disabled = coerceBooleanProperty(value);
90
- this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();
91
- }
92
- ngOnDestroy() {
93
- this.stopFocusMonitor();
94
- }
95
- onFocus($event) {
96
- $event.stopPropagation();
97
- this.hasFocus = true;
98
- }
99
- onBlur() {
100
- this.hasFocus = false;
101
- }
102
- getHostElement() {
103
- return this._elementRef.nativeElement;
104
- }
105
- focus() {
106
- this.hasFocus = true;
107
- this.getHostElement().focus();
108
- }
109
- focusViaKeyboard() {
110
- this.hasFocus = true;
111
- this.focusMonitor.focusVia(this.getHostElement(), 'keyboard');
112
- }
113
- haltDisabledEvents(event) {
114
- if (this.disabled) {
115
- event.preventDefault();
116
- event.stopImmediatePropagation();
117
- event.stopPropagation();
118
- }
119
- }
120
- runFocusMonitor() {
121
- this.focusMonitor.monitor(this._elementRef.nativeElement, true);
122
- }
123
- stopFocusMonitor() {
124
- this.focusMonitor.stopMonitoring(this._elementRef.nativeElement);
125
- }
126
- }
127
- /** @nocollapse */ /** @nocollapse */ McButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McButton, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
128
- /** @nocollapse */ /** @nocollapse */ McButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.7", type: McButton, selector: "[mc-button]", inputs: { color: "color", tabIndex: "tabIndex", disabled: "disabled" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur()" }, properties: { "attr.disabled": "disabled || null", "attr.tabIndex": "tabIndex" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"mc-button-wrapper\">\r\n <ng-content></ng-content>\r\n</div>\r\n<div class=\"mc-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\r\n", styles: [".mc-icon-button,.mc-light-button,.mc-button{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin:0;white-space:nowrap;text-decoration:none;text-align:center;vertical-align:baseline;height:var(--mc-button-size-height, 32px);border:var(--mc-button-size-border-width, 1px) solid transparent;border-radius:var(--mc-button-size-border-radius, 4px)}.mc-icon-button::-moz-focus-inner,.mc-light-button::-moz-focus-inner,.mc-button::-moz-focus-inner{border:0}.mc-icon-button:focus,.mc-light-button:focus,.mc-button:focus{outline:none}[disabled].mc-icon-button,[disabled].mc-light-button,[disabled].mc-button{cursor:default}.cdk-focused.mc-icon-button,.cdk-focused.mc-light-button,.cdk-focused.mc-button{z-index:1}.mc-icon-button .mc-button-wrapper,.mc-light-button .mc-button-wrapper,.mc-button .mc-button-wrapper{display:flex;align-items:center}.mc-icon-button .mc-icon_left,.mc-light-button .mc-icon_left,.mc-button .mc-icon_left{margin-right:var(--mc-icon-button-size-left-icon-padding, 6px)}.mc-button{padding-left:var(--mc-button-size-horizontal-padding, 12px);padding-right:var(--mc-button-size-horizontal-padding, 12px)}.mc-icon-button{padding-left:var(--mc-icon-button-size-horizontal-padding, 8px);padding-right:var(--mc-icon-button-size-horizontal-padding, 8px)}.mc-button-overlay{position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-radius:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
129
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McButton, decorators: [{
130
- type: Component,
131
- args: [{ selector: '[mc-button]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color', 'tabIndex'], host: {
132
- '[attr.disabled]': 'disabled || null',
133
- '[attr.tabIndex]': 'tabIndex',
134
- '(focus)': 'onFocus($event)',
135
- '(blur)': 'onBlur()'
136
- }, template: "<div class=\"mc-button-wrapper\">\r\n <ng-content></ng-content>\r\n</div>\r\n<div class=\"mc-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\r\n", styles: [".mc-icon-button,.mc-light-button,.mc-button{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin:0;white-space:nowrap;text-decoration:none;text-align:center;vertical-align:baseline;height:var(--mc-button-size-height, 32px);border:var(--mc-button-size-border-width, 1px) solid transparent;border-radius:var(--mc-button-size-border-radius, 4px)}.mc-icon-button::-moz-focus-inner,.mc-light-button::-moz-focus-inner,.mc-button::-moz-focus-inner{border:0}.mc-icon-button:focus,.mc-light-button:focus,.mc-button:focus{outline:none}[disabled].mc-icon-button,[disabled].mc-light-button,[disabled].mc-button{cursor:default}.cdk-focused.mc-icon-button,.cdk-focused.mc-light-button,.cdk-focused.mc-button{z-index:1}.mc-icon-button .mc-button-wrapper,.mc-light-button .mc-button-wrapper,.mc-button .mc-button-wrapper{display:flex;align-items:center}.mc-icon-button .mc-icon_left,.mc-light-button .mc-icon_left,.mc-button .mc-icon_left{margin-right:var(--mc-icon-button-size-left-icon-padding, 6px)}.mc-button{padding-left:var(--mc-button-size-horizontal-padding, 12px);padding-right:var(--mc-button-size-horizontal-padding, 12px)}.mc-icon-button{padding-left:var(--mc-icon-button-size-horizontal-padding, 8px);padding-right:var(--mc-icon-button-size-horizontal-padding, 8px)}.mc-button-overlay{position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-radius:inherit}\n"] }]
137
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }]; }, propDecorators: { disabled: [{
138
- type: Input
11
+ const leftIconClassName = 'mc-icon_left';
12
+ const rightIconClassName = 'mc-icon_right';
13
+ const buttonLeftIconClassName = 'mc-icon-button_left';
14
+ const buttonRightIconClassName = 'mc-icon-button_right';
15
+ class McButtonCssStyler {
16
+ constructor(elementRef, renderer) {
17
+ this.renderer = renderer;
18
+ this.isIconButton = false;
19
+ this.nativeElement = elementRef.nativeElement;
20
+ }
21
+ ngAfterContentInit() {
22
+ this.updateClassModifierForIcons();
23
+ }
24
+ updateClassModifierForIcons() {
25
+ const twoIcons = 2;
26
+ const [firstIconElement, secondIconElement] = this.icons.map((item) => item.getHostElement());
27
+ if (this.icons.length === 1 && !(firstIconElement.nextSibling || firstIconElement.previousSibling) ||
28
+ this.icons.length === twoIcons && firstIconElement.nextSibling === secondIconElement) {
29
+ this.isIconButton = true;
30
+ }
31
+ if (this.icons.length === 1) {
32
+ this.renderer.removeClass(firstIconElement, leftIconClassName);
33
+ this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);
34
+ this.renderer.removeClass(firstIconElement, rightIconClassName);
35
+ this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);
36
+ const COMMENT_NODE = 8;
37
+ if (firstIconElement.nextSibling && firstIconElement.nextSibling.nodeType !== COMMENT_NODE) {
38
+ this.renderer.addClass(firstIconElement, leftIconClassName);
39
+ this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);
40
+ }
41
+ if (firstIconElement.previousSibling && firstIconElement.previousSibling.nodeType !== COMMENT_NODE) {
42
+ this.renderer.addClass(firstIconElement, rightIconClassName);
43
+ this.renderer.addClass(this.nativeElement, buttonRightIconClassName);
44
+ }
45
+ }
46
+ else if (this.icons.length === twoIcons) {
47
+ this.renderer.addClass(firstIconElement, leftIconClassName);
48
+ this.renderer.addClass(secondIconElement, rightIconClassName);
49
+ this.renderer.addClass(this.nativeElement, buttonRightIconClassName);
50
+ this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);
51
+ }
52
+ }
53
+ }
54
+ /** @nocollapse */ /** @nocollapse */ McButtonCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McButtonCssStyler, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive });
55
+ /** @nocollapse */ /** @nocollapse */ McButtonCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: McButtonCssStyler, selector: "[mc-button]", host: { properties: { "class.mc-button": "!isIconButton", "class.mc-icon-button": "isIconButton" } }, queries: [{ propertyName: "icons", predicate: McIcon, descendants: true }], ngImport: i0 });
56
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McButtonCssStyler, decorators: [{
57
+ type: Directive,
58
+ args: [{
59
+ selector: '[mc-button]',
60
+ host: {
61
+ '[class.mc-button]': '!isIconButton',
62
+ '[class.mc-icon-button]': 'isIconButton'
63
+ }
64
+ }]
65
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }]; }, propDecorators: { icons: [{
66
+ type: ContentChildren,
67
+ args: [McIcon, { descendants: true }]
68
+ }] } });
69
+ class McButtonBase {
70
+ // tslint:disable-next-line:naming-convention
71
+ constructor(_elementRef) {
72
+ this._elementRef = _elementRef;
73
+ }
74
+ }
75
+ // tslint:disable-next-line:naming-convention
76
+ const McButtonMixinBase = mixinTabIndex(mixinColor(McButtonBase));
77
+ class McButton extends McButtonMixinBase {
78
+ constructor(elementRef, focusMonitor) {
79
+ super(elementRef);
80
+ this.focusMonitor = focusMonitor;
81
+ this.hasFocus = false;
82
+ this._disabled = false;
83
+ this.runFocusMonitor();
84
+ }
85
+ get disabled() {
86
+ return this._disabled;
87
+ }
88
+ set disabled(value) {
89
+ this._disabled = coerceBooleanProperty(value);
90
+ this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();
91
+ }
92
+ ngOnDestroy() {
93
+ this.stopFocusMonitor();
94
+ }
95
+ onFocus($event) {
96
+ $event.stopPropagation();
97
+ this.hasFocus = true;
98
+ }
99
+ onBlur() {
100
+ this.hasFocus = false;
101
+ }
102
+ getHostElement() {
103
+ return this._elementRef.nativeElement;
104
+ }
105
+ focus() {
106
+ this.hasFocus = true;
107
+ this.getHostElement().focus();
108
+ }
109
+ focusViaKeyboard() {
110
+ this.hasFocus = true;
111
+ this.focusMonitor.focusVia(this.getHostElement(), 'keyboard');
112
+ }
113
+ haltDisabledEvents(event) {
114
+ if (this.disabled) {
115
+ event.preventDefault();
116
+ event.stopImmediatePropagation();
117
+ event.stopPropagation();
118
+ }
119
+ }
120
+ runFocusMonitor() {
121
+ this.focusMonitor.monitor(this._elementRef.nativeElement, true);
122
+ }
123
+ stopFocusMonitor() {
124
+ this.focusMonitor.stopMonitoring(this._elementRef.nativeElement);
125
+ }
126
+ }
127
+ /** @nocollapse */ /** @nocollapse */ McButton.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McButton, deps: [{ token: i0.ElementRef }, { token: i1.FocusMonitor }], target: i0.ɵɵFactoryTarget.Component });
128
+ /** @nocollapse */ /** @nocollapse */ McButton.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: McButton, selector: "[mc-button]", inputs: { color: "color", tabIndex: "tabIndex", disabled: "disabled" }, host: { listeners: { "focus": "onFocus($event)", "blur": "onBlur()" }, properties: { "attr.disabled": "disabled || null", "attr.tabIndex": "tabIndex" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"mc-button-wrapper\">\n <ng-content></ng-content>\n</div>\n<div class=\"mc-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n", styles: [".mc-icon-button,.mc-light-button,.mc-button{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin:0;white-space:nowrap;text-decoration:none;text-align:center;vertical-align:baseline;height:var(--mc-button-size-height, 32px);border:var(--mc-button-size-border-width, 1px) solid transparent;border-radius:var(--mc-button-size-border-radius, 4px)}.mc-icon-button::-moz-focus-inner,.mc-light-button::-moz-focus-inner,.mc-button::-moz-focus-inner{border:0}.mc-icon-button:focus,.mc-light-button:focus,.mc-button:focus{outline:none}[disabled].mc-icon-button,[disabled].mc-light-button,[disabled].mc-button{cursor:default}.cdk-focused.mc-icon-button,.cdk-focused.mc-light-button,.cdk-focused.mc-button{z-index:1}.mc-icon-button .mc-button-wrapper,.mc-light-button .mc-button-wrapper,.mc-button .mc-button-wrapper{display:flex;align-items:center}.mc-icon-button .mc-icon_left,.mc-light-button .mc-icon_left,.mc-button .mc-icon_left{margin-right:var(--mc-icon-button-size-left-icon-padding, 6px)}.mc-button{padding-left:var(--mc-button-size-horizontal-padding, 12px);padding-right:var(--mc-button-size-horizontal-padding, 12px)}.mc-icon-button{padding-left:var(--mc-icon-button-size-horizontal-padding, 8px);padding-right:var(--mc-icon-button-size-horizontal-padding, 8px)}.mc-button-overlay{position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-radius:inherit}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
129
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McButton, decorators: [{
130
+ type: Component,
131
+ args: [{ selector: '[mc-button]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color', 'tabIndex'], host: {
132
+ '[attr.disabled]': 'disabled || null',
133
+ '[attr.tabIndex]': 'tabIndex',
134
+ '(focus)': 'onFocus($event)',
135
+ '(blur)': 'onBlur()'
136
+ }, template: "<div class=\"mc-button-wrapper\">\n <ng-content></ng-content>\n</div>\n<div class=\"mc-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n", styles: [".mc-icon-button,.mc-light-button,.mc-button{-webkit-user-select:none;user-select:none;cursor:pointer;outline:none;border:none;position:relative;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;margin:0;white-space:nowrap;text-decoration:none;text-align:center;vertical-align:baseline;height:var(--mc-button-size-height, 32px);border:var(--mc-button-size-border-width, 1px) solid transparent;border-radius:var(--mc-button-size-border-radius, 4px)}.mc-icon-button::-moz-focus-inner,.mc-light-button::-moz-focus-inner,.mc-button::-moz-focus-inner{border:0}.mc-icon-button:focus,.mc-light-button:focus,.mc-button:focus{outline:none}[disabled].mc-icon-button,[disabled].mc-light-button,[disabled].mc-button{cursor:default}.cdk-focused.mc-icon-button,.cdk-focused.mc-light-button,.cdk-focused.mc-button{z-index:1}.mc-icon-button .mc-button-wrapper,.mc-light-button .mc-button-wrapper,.mc-button .mc-button-wrapper{display:flex;align-items:center}.mc-icon-button .mc-icon_left,.mc-light-button .mc-icon_left,.mc-button .mc-icon_left{margin-right:var(--mc-icon-button-size-left-icon-padding, 6px)}.mc-button{padding-left:var(--mc-button-size-horizontal-padding, 12px);padding-right:var(--mc-button-size-horizontal-padding, 12px)}.mc-icon-button{padding-left:var(--mc-icon-button-size-horizontal-padding, 8px);padding-right:var(--mc-icon-button-size-horizontal-padding, 8px)}.mc-button-overlay{position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-radius:inherit}\n"] }]
137
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }]; }, propDecorators: { disabled: [{
138
+ type: Input
139
139
  }] } });
140
140
 
141
- class McButtonModule {
142
- }
143
- /** @nocollapse */ /** @nocollapse */ McButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
144
- /** @nocollapse */ /** @nocollapse */ McButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McButtonModule, declarations: [McButton,
145
- McButtonCssStyler], imports: [CommonModule,
146
- A11yModule,
147
- PlatformModule], exports: [McButton,
148
- McButtonCssStyler] });
149
- /** @nocollapse */ /** @nocollapse */ McButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McButtonModule, imports: [[
150
- CommonModule,
151
- A11yModule,
152
- PlatformModule
153
- ]] });
154
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.7", ngImport: i0, type: McButtonModule, decorators: [{
155
- type: NgModule,
156
- args: [{
157
- imports: [
158
- CommonModule,
159
- A11yModule,
160
- PlatformModule
161
- ],
162
- exports: [
163
- McButton,
164
- McButtonCssStyler
165
- ],
166
- declarations: [
167
- McButton,
168
- McButtonCssStyler
169
- ]
170
- }]
141
+ class McButtonModule {
142
+ }
143
+ /** @nocollapse */ /** @nocollapse */ McButtonModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
144
+ /** @nocollapse */ /** @nocollapse */ McButtonModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McButtonModule, declarations: [McButton,
145
+ McButtonCssStyler], imports: [CommonModule,
146
+ A11yModule,
147
+ PlatformModule], exports: [McButton,
148
+ McButtonCssStyler] });
149
+ /** @nocollapse */ /** @nocollapse */ McButtonModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McButtonModule, imports: [[
150
+ CommonModule,
151
+ A11yModule,
152
+ PlatformModule
153
+ ]] });
154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McButtonModule, decorators: [{
155
+ type: NgModule,
156
+ args: [{
157
+ imports: [
158
+ CommonModule,
159
+ A11yModule,
160
+ PlatformModule
161
+ ],
162
+ exports: [
163
+ McButton,
164
+ McButtonCssStyler
165
+ ],
166
+ declarations: [
167
+ McButton,
168
+ McButtonCssStyler
169
+ ]
170
+ }]
171
171
  }] });
172
172
 
173
- /**
174
- * Generated bundle index. Do not edit.
173
+ /**
174
+ * Generated bundle index. Do not edit.
175
175
  */
176
176
 
177
177
  export { McButton, McButtonBase, McButtonCssStyler, McButtonMixinBase, McButtonModule };
@@ -1 +1 @@
1
- {"version":3,"file":"ptsecurity-mosaic-button.mjs","sources":["../../../packages/mosaic/button/button.component.ts","../../../packages/mosaic/button/button.component.html","../../../packages/mosaic/button/button.module.ts","../../../packages/mosaic/button/ptsecurity-mosaic-button.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\r\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\r\nimport {\r\n ChangeDetectionStrategy,\r\n Component,\r\n Directive,\r\n ElementRef,\r\n OnDestroy,\r\n ViewEncapsulation,\r\n Renderer2,\r\n QueryList,\r\n ContentChildren,\r\n AfterContentInit,\r\n Input\r\n} from '@angular/core';\r\nimport {\r\n mixinColor,\r\n mixinTabIndex,\r\n CanColor,\r\n CanDisable,\r\n CanColorCtor,\r\n HasTabIndexCtor\r\n} from '@ptsecurity/mosaic/core';\r\nimport { McIcon } from '@ptsecurity/mosaic/icon';\r\n\r\n\r\nconst leftIconClassName = 'mc-icon_left';\r\nconst rightIconClassName = 'mc-icon_right';\r\n\r\nconst buttonLeftIconClassName = 'mc-icon-button_left';\r\nconst buttonRightIconClassName = 'mc-icon-button_right';\r\n\r\n@Directive({\r\n selector: '[mc-button]',\r\n host: {\r\n '[class.mc-button]': '!isIconButton',\r\n '[class.mc-icon-button]': 'isIconButton'\r\n }\r\n})\r\nexport class McButtonCssStyler implements AfterContentInit {\r\n @ContentChildren(McIcon, { descendants: true }) icons: QueryList<McIcon>;\r\n\r\n nativeElement: HTMLElement;\r\n\r\n isIconButton: boolean = false;\r\n\r\n constructor(elementRef: ElementRef, private renderer: Renderer2) {\r\n this.nativeElement = elementRef.nativeElement;\r\n }\r\n\r\n ngAfterContentInit() {\r\n this.updateClassModifierForIcons();\r\n }\r\n\r\n updateClassModifierForIcons() {\r\n const twoIcons = 2;\r\n const [firstIconElement, secondIconElement] = this.icons.map((item) => item.getHostElement());\r\n\r\n if (\r\n this.icons.length === 1 && !(firstIconElement.nextSibling || firstIconElement.previousSibling) ||\r\n this.icons.length === twoIcons && firstIconElement.nextSibling === secondIconElement\r\n ) {\r\n this.isIconButton = true;\r\n }\r\n\r\n if (this.icons.length === 1) {\r\n this.renderer.removeClass(firstIconElement, leftIconClassName);\r\n this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);\r\n this.renderer.removeClass(firstIconElement, rightIconClassName);\r\n this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);\r\n\r\n const COMMENT_NODE = 8;\r\n\r\n if (firstIconElement.nextSibling && firstIconElement.nextSibling.nodeType !== COMMENT_NODE) {\r\n this.renderer.addClass(firstIconElement, leftIconClassName);\r\n this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);\r\n }\r\n\r\n if (firstIconElement.previousSibling && firstIconElement.previousSibling.nodeType !== COMMENT_NODE) {\r\n this.renderer.addClass(firstIconElement, rightIconClassName);\r\n this.renderer.addClass(this.nativeElement, buttonRightIconClassName);\r\n }\r\n } else if (this.icons.length === twoIcons) {\r\n this.renderer.addClass(firstIconElement, leftIconClassName);\r\n this.renderer.addClass(secondIconElement, rightIconClassName);\r\n this.renderer.addClass(this.nativeElement, buttonRightIconClassName);\r\n this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);\r\n }\r\n }\r\n}\r\n\r\nexport class McButtonBase {\r\n // tslint:disable-next-line:naming-convention\r\n constructor(public _elementRef: ElementRef) {}\r\n}\r\n\r\n// tslint:disable-next-line:naming-convention\r\nexport const McButtonMixinBase: HasTabIndexCtor & CanColorCtor &\r\n typeof McButtonBase = mixinTabIndex(mixinColor(McButtonBase));\r\n\r\n\r\n@Component({\r\n selector: '[mc-button]',\r\n templateUrl: './button.component.html',\r\n styleUrls: ['./button.scss'],\r\n changeDetection: ChangeDetectionStrategy.OnPush,\r\n encapsulation: ViewEncapsulation.None,\r\n inputs: ['color', 'tabIndex'],\r\n host: {\r\n '[attr.disabled]': 'disabled || null',\r\n '[attr.tabIndex]': 'tabIndex',\r\n\r\n '(focus)': 'onFocus($event)',\r\n '(blur)': 'onBlur()'\r\n }\r\n})\r\nexport class McButton extends McButtonMixinBase implements OnDestroy, CanDisable, CanColor {\r\n hasFocus: boolean = false;\r\n\r\n @Input()\r\n get disabled() {\r\n return this._disabled;\r\n }\r\n\r\n set disabled(value: any) {\r\n this._disabled = coerceBooleanProperty(value);\r\n\r\n this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();\r\n }\r\n\r\n private _disabled: boolean = false;\r\n\r\n constructor(elementRef: ElementRef, private focusMonitor: FocusMonitor) {\r\n super(elementRef);\r\n\r\n this.runFocusMonitor();\r\n }\r\n\r\n ngOnDestroy() {\r\n this.stopFocusMonitor();\r\n }\r\n\r\n onFocus($event) {\r\n $event.stopPropagation();\r\n\r\n this.hasFocus = true;\r\n }\r\n\r\n onBlur() {\r\n this.hasFocus = false;\r\n }\r\n\r\n getHostElement() {\r\n return this._elementRef.nativeElement;\r\n }\r\n\r\n focus(): void {\r\n this.hasFocus = true;\r\n\r\n this.getHostElement().focus();\r\n }\r\n\r\n focusViaKeyboard(): void {\r\n this.hasFocus = true;\r\n\r\n this.focusMonitor.focusVia(this.getHostElement(), 'keyboard');\r\n }\r\n\r\n haltDisabledEvents(event: Event) {\r\n if (this.disabled) {\r\n event.preventDefault();\r\n event.stopImmediatePropagation();\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n private runFocusMonitor() {\r\n this.focusMonitor.monitor(this._elementRef.nativeElement, true);\r\n }\r\n\r\n private stopFocusMonitor() {\r\n this.focusMonitor.stopMonitoring(this._elementRef.nativeElement);\r\n }\r\n}\r\n\r\n","<div class=\"mc-button-wrapper\">\r\n <ng-content></ng-content>\r\n</div>\r\n<div class=\"mc-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\r\n","import { A11yModule } from '@angular/cdk/a11y';\r\nimport { PlatformModule } from '@angular/cdk/platform';\r\nimport { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\n\r\nimport {\r\n McButton,\r\n McButtonCssStyler\r\n} from './button.component';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n A11yModule,\r\n PlatformModule\r\n ],\r\n exports: [\r\n McButton,\r\n McButtonCssStyler\r\n ],\r\n declarations: [\r\n McButton,\r\n McButtonCssStyler\r\n ]\r\n})\r\nexport class McButtonModule {}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ptsecurity-mosaic-button.mjs","sources":["../../../packages/mosaic/button/button.component.ts","../../../packages/mosaic/button/button.component.html","../../../packages/mosaic/button/button.module.ts","../../../packages/mosaic/button/ptsecurity-mosaic-button.ts"],"sourcesContent":["import { FocusMonitor } from '@angular/cdk/a11y';\nimport { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ElementRef,\n OnDestroy,\n ViewEncapsulation,\n Renderer2,\n QueryList,\n ContentChildren,\n AfterContentInit,\n Input\n} from '@angular/core';\nimport {\n mixinColor,\n mixinTabIndex,\n CanColor,\n CanDisable,\n CanColorCtor,\n HasTabIndexCtor\n} from '@ptsecurity/mosaic/core';\nimport { McIcon } from '@ptsecurity/mosaic/icon';\n\n\nconst leftIconClassName = 'mc-icon_left';\nconst rightIconClassName = 'mc-icon_right';\n\nconst buttonLeftIconClassName = 'mc-icon-button_left';\nconst buttonRightIconClassName = 'mc-icon-button_right';\n\n@Directive({\n selector: '[mc-button]',\n host: {\n '[class.mc-button]': '!isIconButton',\n '[class.mc-icon-button]': 'isIconButton'\n }\n})\nexport class McButtonCssStyler implements AfterContentInit {\n @ContentChildren(McIcon, { descendants: true }) icons: QueryList<McIcon>;\n\n nativeElement: HTMLElement;\n\n isIconButton: boolean = false;\n\n constructor(elementRef: ElementRef, private renderer: Renderer2) {\n this.nativeElement = elementRef.nativeElement;\n }\n\n ngAfterContentInit() {\n this.updateClassModifierForIcons();\n }\n\n updateClassModifierForIcons() {\n const twoIcons = 2;\n const [firstIconElement, secondIconElement] = this.icons.map((item) => item.getHostElement());\n\n if (\n this.icons.length === 1 && !(firstIconElement.nextSibling || firstIconElement.previousSibling) ||\n this.icons.length === twoIcons && firstIconElement.nextSibling === secondIconElement\n ) {\n this.isIconButton = true;\n }\n\n if (this.icons.length === 1) {\n this.renderer.removeClass(firstIconElement, leftIconClassName);\n this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);\n this.renderer.removeClass(firstIconElement, rightIconClassName);\n this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);\n\n const COMMENT_NODE = 8;\n\n if (firstIconElement.nextSibling && firstIconElement.nextSibling.nodeType !== COMMENT_NODE) {\n this.renderer.addClass(firstIconElement, leftIconClassName);\n this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);\n }\n\n if (firstIconElement.previousSibling && firstIconElement.previousSibling.nodeType !== COMMENT_NODE) {\n this.renderer.addClass(firstIconElement, rightIconClassName);\n this.renderer.addClass(this.nativeElement, buttonRightIconClassName);\n }\n } else if (this.icons.length === twoIcons) {\n this.renderer.addClass(firstIconElement, leftIconClassName);\n this.renderer.addClass(secondIconElement, rightIconClassName);\n this.renderer.addClass(this.nativeElement, buttonRightIconClassName);\n this.renderer.addClass(this.nativeElement, buttonLeftIconClassName);\n }\n }\n}\n\nexport class McButtonBase {\n // tslint:disable-next-line:naming-convention\n constructor(public _elementRef: ElementRef) {}\n}\n\n// tslint:disable-next-line:naming-convention\nexport const McButtonMixinBase: HasTabIndexCtor & CanColorCtor &\n typeof McButtonBase = mixinTabIndex(mixinColor(McButtonBase));\n\n\n@Component({\n selector: '[mc-button]',\n templateUrl: './button.component.html',\n styleUrls: ['./button.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n encapsulation: ViewEncapsulation.None,\n inputs: ['color', 'tabIndex'],\n host: {\n '[attr.disabled]': 'disabled || null',\n '[attr.tabIndex]': 'tabIndex',\n\n '(focus)': 'onFocus($event)',\n '(blur)': 'onBlur()'\n }\n})\nexport class McButton extends McButtonMixinBase implements OnDestroy, CanDisable, CanColor {\n hasFocus: boolean = false;\n\n @Input()\n get disabled() {\n return this._disabled;\n }\n\n set disabled(value: any) {\n this._disabled = coerceBooleanProperty(value);\n\n this._disabled ? this.stopFocusMonitor() : this.runFocusMonitor();\n }\n\n private _disabled: boolean = false;\n\n constructor(elementRef: ElementRef, private focusMonitor: FocusMonitor) {\n super(elementRef);\n\n this.runFocusMonitor();\n }\n\n ngOnDestroy() {\n this.stopFocusMonitor();\n }\n\n onFocus($event) {\n $event.stopPropagation();\n\n this.hasFocus = true;\n }\n\n onBlur() {\n this.hasFocus = false;\n }\n\n getHostElement() {\n return this._elementRef.nativeElement;\n }\n\n focus(): void {\n this.hasFocus = true;\n\n this.getHostElement().focus();\n }\n\n focusViaKeyboard(): void {\n this.hasFocus = true;\n\n this.focusMonitor.focusVia(this.getHostElement(), 'keyboard');\n }\n\n haltDisabledEvents(event: Event) {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n event.stopPropagation();\n }\n }\n\n private runFocusMonitor() {\n this.focusMonitor.monitor(this._elementRef.nativeElement, true);\n }\n\n private stopFocusMonitor() {\n this.focusMonitor.stopMonitoring(this._elementRef.nativeElement);\n }\n}\n\n","<div class=\"mc-button-wrapper\">\n <ng-content></ng-content>\n</div>\n<div class=\"mc-button-overlay\" (click)=\"haltDisabledEvents($event)\"></div>\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport {\n McButton,\n McButtonCssStyler\n} from './button.component';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule\n ],\n exports: [\n McButton,\n McButtonCssStyler\n ],\n declarations: [\n McButton,\n McButtonCssStyler\n ]\n})\nexport class McButtonModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}