@ptsecurity/mosaic 13.6.2 → 13.8.4

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 (197) hide show
  1. package/_theming.scss +289 -59
  2. package/_visual.scss +85 -14
  3. package/design-tokens/legacy-2017/tokens/components/checkbox.json5 +4 -0
  4. package/design-tokens/legacy-2017/tokens/components/loader-overlay.json5 +23 -0
  5. package/design-tokens/legacy-2017/tokens/components/radio.json5 +11 -10
  6. package/design-tokens/legacy-2017/tokens/components/toast.json5 +54 -0
  7. package/design-tokens/legacy-2017/tokens/properties/globals.json5 +18 -18
  8. package/design-tokens/legacy-2017/tokens.d.ts +78 -8
  9. package/design-tokens/pt-2022/tokens/components/badge.json5 +1 -1
  10. package/design-tokens/pt-2022/tokens/components/button.json5 +1 -1
  11. package/design-tokens/pt-2022/tokens/components/checkbox.json5 +4 -0
  12. package/design-tokens/pt-2022/tokens/components/link.json5 +3 -3
  13. package/design-tokens/pt-2022/tokens/components/loader-overlay.json5 +23 -0
  14. package/design-tokens/pt-2022/tokens/components/radio.json5 +6 -3
  15. package/design-tokens/pt-2022/tokens/components/tags.json5 +1 -1
  16. package/design-tokens/pt-2022/tokens/components/toast.json5 +54 -0
  17. package/design-tokens/pt-2022/tokens/properties/colors.json5 +1 -1
  18. package/design-tokens/pt-2022/tokens/properties/globals.json5 +18 -18
  19. package/design-tokens/pt-2022/tokens.d.ts +85 -14
  20. package/design-tokens/style-dictionary/build.js +13 -0
  21. package/design-tokens/style-dictionary/configs/figma.js +11 -0
  22. package/design-tokens/style-dictionary/configs/index.js +3 -3
  23. package/design-tokens/style-dictionary/figma-types.js +41 -0
  24. package/design-tokens/style-dictionary/formats/figma.js +104 -0
  25. package/design-tokens/style-dictionary/transformGroups/figma.js +21 -0
  26. package/design-tokens/style-dictionary/transforms/attribute/figma-border.js +18 -0
  27. package/design-tokens/style-dictionary/transforms/attribute/figma-color.js +25 -0
  28. package/design-tokens/style-dictionary/transforms/attribute/figma-default.js +10 -0
  29. package/design-tokens/style-dictionary/transforms/attribute/figma-font.js +31 -0
  30. package/design-tokens/style-dictionary/transforms/attribute/figma-group.js +17 -0
  31. package/design-tokens/style-dictionary/transforms/attribute/figma-opacity.js +10 -0
  32. package/design-tokens/style-dictionary/transforms/attribute/figma-shadow.js +66 -0
  33. package/design-tokens/style-dictionary/transforms/attribute/figma-sizing.js +16 -0
  34. package/design-tokens/style-dictionary/transforms/attribute/figma-spacing.js +15 -0
  35. package/design-tokens/style-dictionary/transforms/attribute/figma-typography.js +24 -0
  36. package/design-tokens/style-dictionary/transforms/value/figma-values.js +7 -0
  37. package/esm2020/button/button.component.mjs +2 -2
  38. package/esm2020/design-tokens/legacy-2017/tokens.mjs +79 -9
  39. package/esm2020/design-tokens/pt-2022/tokens.mjs +86 -15
  40. package/esm2020/form-field/hint.mjs +18 -7
  41. package/esm2020/list/list-selection.component.mjs +4 -1
  42. package/esm2020/loader-overlay/index.mjs +2 -0
  43. package/esm2020/loader-overlay/loader-overlay.component.mjs +99 -0
  44. package/esm2020/loader-overlay/loader-overlay.module.mjs +50 -0
  45. package/esm2020/loader-overlay/ptsecurity-mosaic-loader-overlay.mjs +5 -0
  46. package/esm2020/loader-overlay/public-api.mjs +3 -0
  47. package/esm2020/modal/modal.component.mjs +11 -3
  48. package/esm2020/modal/modal.type.mjs +1 -1
  49. package/esm2020/navbar/navbar-item.component.mjs +29 -6
  50. package/esm2020/navbar/navbar.component.mjs +6 -4
  51. package/esm2020/navbar/vertical-navbar.component.mjs +3 -3
  52. package/esm2020/progress-spinner/progress-spinner.component.mjs +2 -2
  53. package/esm2020/radio/radio.component.mjs +3 -3
  54. package/esm2020/select/select.component.mjs +3 -3
  55. package/esm2020/toast/index.mjs +2 -0
  56. package/esm2020/toast/ptsecurity-mosaic-toast.mjs +5 -0
  57. package/esm2020/toast/public-api.mjs +6 -0
  58. package/esm2020/toast/toast-animations.mjs +9 -0
  59. package/esm2020/toast/toast-container.component.mjs +44 -0
  60. package/esm2020/toast/toast.component.mjs +89 -0
  61. package/esm2020/toast/toast.module.mjs +42 -0
  62. package/esm2020/toast/toast.service.mjs +178 -0
  63. package/esm2020/toast/toast.type.mjs +15 -0
  64. package/esm2020/tooltip/tooltip.component.mjs +2 -1
  65. package/esm2020/tree/tree-option.component.mjs +3 -2
  66. package/esm2020/tree/tree-selection.component.mjs +4 -2
  67. package/esm2020/tree-select/tree-select.component.mjs +12 -11
  68. package/fesm2015/ptsecurity-mosaic-button.mjs +2 -2
  69. package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
  70. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs +235 -24
  71. package/fesm2015/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
  72. package/fesm2015/ptsecurity-mosaic-form-field.mjs +16 -6
  73. package/fesm2015/ptsecurity-mosaic-form-field.mjs.map +1 -1
  74. package/fesm2015/ptsecurity-mosaic-list.mjs +3 -0
  75. package/fesm2015/ptsecurity-mosaic-list.mjs.map +1 -1
  76. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs +155 -0
  77. package/fesm2015/ptsecurity-mosaic-loader-overlay.mjs.map +1 -0
  78. package/fesm2015/ptsecurity-mosaic-modal.mjs +11 -2
  79. package/fesm2015/ptsecurity-mosaic-modal.mjs.map +1 -1
  80. package/fesm2015/ptsecurity-mosaic-navbar.mjs +37 -11
  81. package/fesm2015/ptsecurity-mosaic-navbar.mjs.map +1 -1
  82. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs +2 -2
  83. package/fesm2015/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  84. package/fesm2015/ptsecurity-mosaic-radio.mjs +2 -2
  85. package/fesm2015/ptsecurity-mosaic-radio.mjs.map +1 -1
  86. package/fesm2015/ptsecurity-mosaic-select.mjs +2 -2
  87. package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
  88. package/fesm2015/ptsecurity-mosaic-toast.mjs +363 -0
  89. package/fesm2015/ptsecurity-mosaic-toast.mjs.map +1 -0
  90. package/fesm2015/ptsecurity-mosaic-tooltip.mjs +1 -0
  91. package/fesm2015/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  92. package/fesm2015/ptsecurity-mosaic-tree-select.mjs +11 -10
  93. package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  94. package/fesm2015/ptsecurity-mosaic-tree.mjs +5 -2
  95. package/fesm2015/ptsecurity-mosaic-tree.mjs.map +1 -1
  96. package/fesm2020/ptsecurity-mosaic-button.mjs +2 -2
  97. package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
  98. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs +235 -24
  99. package/fesm2020/ptsecurity-mosaic-design-tokens.mjs.map +1 -1
  100. package/fesm2020/ptsecurity-mosaic-form-field.mjs +16 -6
  101. package/fesm2020/ptsecurity-mosaic-form-field.mjs.map +1 -1
  102. package/fesm2020/ptsecurity-mosaic-list.mjs +3 -0
  103. package/fesm2020/ptsecurity-mosaic-list.mjs.map +1 -1
  104. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs +153 -0
  105. package/fesm2020/ptsecurity-mosaic-loader-overlay.mjs.map +1 -0
  106. package/fesm2020/ptsecurity-mosaic-modal.mjs +10 -2
  107. package/fesm2020/ptsecurity-mosaic-modal.mjs.map +1 -1
  108. package/fesm2020/ptsecurity-mosaic-navbar.mjs +34 -9
  109. package/fesm2020/ptsecurity-mosaic-navbar.mjs.map +1 -1
  110. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs +2 -2
  111. package/fesm2020/ptsecurity-mosaic-progress-spinner.mjs.map +1 -1
  112. package/fesm2020/ptsecurity-mosaic-radio.mjs +2 -2
  113. package/fesm2020/ptsecurity-mosaic-radio.mjs.map +1 -1
  114. package/fesm2020/ptsecurity-mosaic-select.mjs +2 -2
  115. package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
  116. package/fesm2020/ptsecurity-mosaic-toast.mjs +361 -0
  117. package/fesm2020/ptsecurity-mosaic-toast.mjs.map +1 -0
  118. package/fesm2020/ptsecurity-mosaic-tooltip.mjs +1 -0
  119. package/fesm2020/ptsecurity-mosaic-tooltip.mjs.map +1 -1
  120. package/fesm2020/ptsecurity-mosaic-tree-select.mjs +11 -10
  121. package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
  122. package/fesm2020/ptsecurity-mosaic-tree.mjs +5 -2
  123. package/fesm2020/ptsecurity-mosaic-tree.mjs.map +1 -1
  124. package/form-field/hint.d.ts +10 -2
  125. package/loader-overlay/README.md +0 -0
  126. package/loader-overlay/index.d.ts +1 -0
  127. package/loader-overlay/loader-overlay.component.d.ts +33 -0
  128. package/loader-overlay/loader-overlay.module.d.ts +11 -0
  129. package/loader-overlay/package.json +10 -0
  130. package/loader-overlay/ptsecurity-mosaic-loader-overlay.d.ts +5 -0
  131. package/loader-overlay/public-api.d.ts +2 -0
  132. package/modal/modal.component.d.ts +3 -1
  133. package/modal/modal.type.d.ts +1 -0
  134. package/navbar/navbar-item.component.d.ts +9 -3
  135. package/package.json +20 -4
  136. package/prebuilt-themes/dark-theme.css +1 -1
  137. package/prebuilt-themes/default-theme.css +1 -1
  138. package/toast/index.d.ts +1 -0
  139. package/toast/package.json +10 -0
  140. package/toast/ptsecurity-mosaic-toast.d.ts +5 -0
  141. package/toast/public-api.d.ts +5 -0
  142. package/toast/toast-animations.d.ts +4 -0
  143. package/toast/toast-container.component.d.ts +15 -0
  144. package/toast/toast.component.d.ts +35 -0
  145. package/toast/toast.module.d.ts +13 -0
  146. package/toast/toast.service.d.ts +49 -0
  147. package/toast/toast.type.d.ts +27 -0
  148. package/tooltip/tooltip.component.d.ts +1 -1
  149. package/tree/tree-selection.component.d.ts +1 -0
  150. package/schematics/collection.json +0 -4
  151. package/schematics/migration.json +0 -10
  152. package/schematics/ng-update/data/attribute-selectors.d.ts +0 -2
  153. package/schematics/ng-update/data/attribute-selectors.js +0 -5
  154. package/schematics/ng-update/data/attribute-selectors.js.map +0 -1
  155. package/schematics/ng-update/data/class-names.d.ts +0 -2
  156. package/schematics/ng-update/data/class-names.js +0 -5
  157. package/schematics/ng-update/data/class-names.js.map +0 -1
  158. package/schematics/ng-update/data/constructor-checks.d.ts +0 -2
  159. package/schematics/ng-update/data/constructor-checks.js +0 -5
  160. package/schematics/ng-update/data/constructor-checks.js.map +0 -1
  161. package/schematics/ng-update/data/css-selectors.d.ts +0 -2
  162. package/schematics/ng-update/data/css-selectors.js +0 -5
  163. package/schematics/ng-update/data/css-selectors.js.map +0 -1
  164. package/schematics/ng-update/data/element-selectors.d.ts +0 -2
  165. package/schematics/ng-update/data/element-selectors.js +0 -5
  166. package/schematics/ng-update/data/element-selectors.js.map +0 -1
  167. package/schematics/ng-update/data/index.d.ts +0 -10
  168. package/schematics/ng-update/data/index.js +0 -14
  169. package/schematics/ng-update/data/index.js.map +0 -1
  170. package/schematics/ng-update/data/input-names.d.ts +0 -2
  171. package/schematics/ng-update/data/input-names.js +0 -35
  172. package/schematics/ng-update/data/input-names.js.map +0 -1
  173. package/schematics/ng-update/data/method-call-checks.d.ts +0 -2
  174. package/schematics/ng-update/data/method-call-checks.js +0 -5
  175. package/schematics/ng-update/data/method-call-checks.js.map +0 -1
  176. package/schematics/ng-update/data/output-names.d.ts +0 -2
  177. package/schematics/ng-update/data/output-names.js +0 -5
  178. package/schematics/ng-update/data/output-names.js.map +0 -1
  179. package/schematics/ng-update/data/property-names.d.ts +0 -2
  180. package/schematics/ng-update/data/property-names.js +0 -5
  181. package/schematics/ng-update/data/property-names.js.map +0 -1
  182. package/schematics/ng-update/data/symbol-removal.d.ts +0 -2
  183. package/schematics/ng-update/data/symbol-removal.js +0 -5
  184. package/schematics/ng-update/data/symbol-removal.js.map +0 -1
  185. package/schematics/ng-update/index.d.ts +0 -2
  186. package/schematics/ng-update/index.js +0 -23
  187. package/schematics/ng-update/index.js.map +0 -1
  188. package/schematics/ng-update/update-9.0.0/mosaic-symbols.json +0 -255
  189. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.d.ts +0 -7
  190. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js +0 -154
  191. package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js.map +0 -1
  192. package/schematics/ng-update/upgrade-data.d.ts +0 -2
  193. package/schematics/ng-update/upgrade-data.js +0 -17
  194. package/schematics/ng-update/upgrade-data.js.map +0 -1
  195. package/schematics/tsconfig.json +0 -29
  196. package/schematics/tsconfig.lib-test.json +0 -8
  197. package/schematics/tsconfig.lib.json +0 -17
@@ -125,7 +125,7 @@ class McButton extends McButtonMixinBase {
125
125
  }
126
126
  }
127
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 });
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:calc(var(--mc-icon-button-size-horizontal-padding, 8px) - var(--mc-button-size-border-width, 1px));padding-right:calc(var(--mc-icon-button-size-horizontal-padding, 8px) - var(--mc-button-size-border-width, 1px))}.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
129
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: McButton, decorators: [{
130
130
  type: Component,
131
131
  args: [{ selector: '[mc-button]', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, inputs: ['color', 'tabIndex'], host: {
@@ -133,7 +133,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
133
133
  '[attr.tabIndex]': 'tabIndex',
134
134
  '(focus)': 'onFocus($event)',
135
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"] }]
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:calc(var(--mc-icon-button-size-horizontal-padding, 8px) - var(--mc-button-size-border-width, 1px));padding-right:calc(var(--mc-icon-button-size-horizontal-padding, 8px) - var(--mc-button-size-border-width, 1px))}.mc-button-overlay{position:absolute;top:-1px;left:-1px;right:-1px;bottom:-1px;border-radius:inherit}\n"] }]
137
137
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }]; }, propDecorators: { disabled: [{
138
138
  type: Input
139
139
  }] } });
@@ -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';\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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"}
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":";;;;;;;;;;AA0BA,MAAM,iBAAiB,GAAG,cAAc,CAAC;AACzC,MAAM,kBAAkB,GAAG,eAAe,CAAC;AAE3C,MAAM,uBAAuB,GAAG,qBAAqB,CAAC;AACtD,MAAM,wBAAwB,GAAG,sBAAsB,CAAC;MAS3C,iBAAiB,CAAA;IAO1B,WAAY,CAAA,UAAsB,EAAU,QAAmB,EAAA;AAAnB,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAW;AAF/D,QAAA,IAAY,CAAA,YAAA,GAAY,KAAK,CAAC;AAG1B,QAAA,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;KACjD;IAED,kBAAkB,GAAA;QACd,IAAI,CAAC,2BAA2B,EAAE,CAAC;KACtC;IAED,2BAA2B,GAAA;QACvB,MAAM,QAAQ,GAAG,CAAC,CAAC;QACnB,MAAM,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,cAAc,EAAE,CAAC,CAAC;AAE9F,QAAA,IACI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,gBAAgB,CAAC,WAAW,IAAI,gBAAgB,CAAC,eAAe,CAAC;AAC9F,YAAA,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,IAAI,gBAAgB,CAAC,WAAW,KAAK,iBAAiB,EACtF;AACE,YAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;AAC5B,SAAA;AAED,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;YACzB,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;YAC/D,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;YACvE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;YAChE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;YAExE,MAAM,YAAY,GAAG,CAAC,CAAC;YAEvB,IAAI,gBAAgB,CAAC,WAAW,IAAI,gBAAgB,CAAC,WAAW,CAAC,QAAQ,KAAK,YAAY,EAAE;gBACxF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;gBAC5D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;AACvE,aAAA;YAED,IAAI,gBAAgB,CAAC,eAAe,IAAI,gBAAgB,CAAC,eAAe,CAAC,QAAQ,KAAK,YAAY,EAAE;gBAChG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB,CAAC,CAAC;gBAC7D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;AACxE,aAAA;AACJ,SAAA;AAAM,aAAA,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,QAAQ,EAAE;YACvC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,iBAAiB,CAAC,CAAC;YAC5D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAC;YAC9D,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,wBAAwB,CAAC,CAAC;YACrE,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;AACvE,SAAA;KACJ;;qJAjDQ,iBAAiB,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,SAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAjB,sCAAA,iBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,iBAAiB,+KACT,MAAM,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FADd,iBAAiB,EAAA,UAAA,EAAA,CAAA;kBAP7B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,aAAa;AACvB,oBAAA,IAAI,EAAE;AACF,wBAAA,mBAAmB,EAAE,eAAe;AACpC,wBAAA,wBAAwB,EAAE,cAAc;AAC3C,qBAAA;iBACJ,CAAA;yHAEmD,KAAK,EAAA,CAAA;sBAApD,eAAe;gBAAC,IAAA,EAAA,CAAA,MAAM,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAA;;MAmDrC,YAAY,CAAA;;AAErB,IAAA,WAAA,CAAmB,WAAuB,EAAA;AAAvB,QAAA,IAAW,CAAA,WAAA,GAAX,WAAW,CAAY;KAAI;AACjD,CAAA;AAED;AACa,MAAA,iBAAiB,GACJ,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE;AAkB5D,MAAO,QAAS,SAAQ,iBAAiB,CAAA;IAgB3C,WAAY,CAAA,UAAsB,EAAU,YAA0B,EAAA;QAClE,KAAK,CAAC,UAAU,CAAC,CAAC;AADsB,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAc;AAftE,QAAA,IAAQ,CAAA,QAAA,GAAY,KAAK,CAAC;AAalB,QAAA,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;QAK/B,IAAI,CAAC,eAAe,EAAE,CAAC;KAC1B;AAjBD,IAAA,IACI,QAAQ,GAAA;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;KACzB;IAED,IAAI,QAAQ,CAAC,KAAU,EAAA;AACnB,QAAA,IAAI,CAAC,SAAS,GAAG,qBAAqB,CAAC,KAAK,CAAC,CAAC;AAE9C,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;KACrE;IAUD,WAAW,GAAA;QACP,IAAI,CAAC,gBAAgB,EAAE,CAAC;KAC3B;AAED,IAAA,OAAO,CAAC,MAAM,EAAA;QACV,MAAM,CAAC,eAAe,EAAE,CAAC;AAEzB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;KACxB;IAED,MAAM,GAAA;AACF,QAAA,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;KACzB;IAED,cAAc,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC;KACzC;IAED,KAAK,GAAA;AACD,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AAErB,QAAA,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,EAAE,CAAC;KACjC;IAED,gBAAgB,GAAA;AACZ,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;AAErB,QAAA,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,UAAU,CAAC,CAAC;KACjE;AAED,IAAA,kBAAkB,CAAC,KAAY,EAAA;QAC3B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,KAAK,CAAC,cAAc,EAAE,CAAC;YACvB,KAAK,CAAC,wBAAwB,EAAE,CAAC;YACjC,KAAK,CAAC,eAAe,EAAE,CAAC;AAC3B,SAAA;KACJ;IAEO,eAAe,GAAA;AACnB,QAAA,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;KACnE;IAEO,gBAAgB,GAAA;QACpB,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;KACpE;;4IAlEQ,QAAQ,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,UAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,YAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAR,sCAAA,QAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,QAAQ,6SCpHrB,4JAIA,EAAA,MAAA,EAAA,CAAA,kkDAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FDgHa,QAAQ,EAAA,UAAA,EAAA,CAAA;kBAfpB,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,aAAa,EAGN,eAAA,EAAA,uBAAuB,CAAC,MAAM,iBAChC,iBAAiB,CAAC,IAAI,EAAA,MAAA,EAC7B,CAAC,OAAO,EAAE,UAAU,CAAC,EACvB,IAAA,EAAA;AACF,wBAAA,iBAAiB,EAAE,kBAAkB;AACrC,wBAAA,iBAAiB,EAAE,UAAU;AAE7B,wBAAA,SAAS,EAAE,iBAAiB;AAC5B,wBAAA,QAAQ,EAAE,UAAU;qBACvB,EAAA,QAAA,EAAA,4JAAA,EAAA,MAAA,EAAA,CAAA,kkDAAA,CAAA,EAAA,CAAA;4HAMG,QAAQ,EAAA,CAAA;sBADX,KAAK;;;ME7FG,cAAc,CAAA;;kJAAd,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAd,sCAAA,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,iBAJnB,QAAQ;AACR,QAAA,iBAAiB,aAVjB,YAAY;QACZ,UAAU;AACV,QAAA,cAAc,aAGd,QAAQ;QACR,iBAAiB,CAAA,EAAA,CAAA,CAAA;AAOZ,sCAAA,cAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,cAAc,EAdd,OAAA,EAAA,CAAA;YACL,YAAY;YACZ,UAAU;YACV,cAAc;SACjB,CAAA,EAAA,CAAA,CAAA;4FAUQ,cAAc,EAAA,UAAA,EAAA,CAAA;kBAf1B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACN,oBAAA,OAAO,EAAE;wBACL,YAAY;wBACZ,UAAU;wBACV,cAAc;AACjB,qBAAA;AACD,oBAAA,OAAO,EAAE;wBACL,QAAQ;wBACR,iBAAiB;AACpB,qBAAA;AACD,oBAAA,YAAY,EAAE;wBACV,QAAQ;wBACR,iBAAiB;AACpB,qBAAA;iBACJ,CAAA;;;ACzBD;;AAEG;;;;"}