@tekus/design-system 4.0.3 → 5.0.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 (240) hide show
  1. package/assets/img/avatar.png +0 -0
  2. package/assets/img/pexels-jodaarba-4250980.jpg +0 -0
  3. package/assets/img/shadown.png +0 -0
  4. package/assets/img/tk-logo-compound-dark.svg +9 -0
  5. package/assets/img/tk-logo-minimal-dark.svg +16 -0
  6. package/assets/img/tk-logo-minimal-light.svg +16 -0
  7. package/assets/img/tk-logo-normal-dark.svg +12 -0
  8. package/assets/img/tk-logo-normal-light.svg +12 -0
  9. package/assets/styles/_index.scss +10 -0
  10. package/assets/styles/docs/_branding.doc.scss +69 -0
  11. package/assets/styles/docs/_grids.doc.scss +13 -0
  12. package/assets/styles/docs/_icons.doc.scss +102 -0
  13. package/assets/styles/docs/_illustrations.doc.scss +86 -0
  14. package/assets/styles/docs/_paginador.doc.scss +16 -0
  15. package/assets/styles/docs/_table-of-content.scss +22 -0
  16. package/{services/typography → components/branding}/index.d.ts +1 -1
  17. package/components/branding/public-api.d.ts +1 -0
  18. package/components/branding/src/branding-register-logo.d.ts +22 -0
  19. package/components/branding/src/branding.component.d.ts +54 -0
  20. package/components/{tk-search-bar → button}/index.d.ts +1 -1
  21. package/components/button/public-api.d.ts +1 -0
  22. package/components/button/src/button.component.d.ts +99 -0
  23. package/components/{tk-typography → fallback-view}/index.d.ts +1 -1
  24. package/components/fallback-view/public-api.d.ts +1 -0
  25. package/components/fallback-view/src/fallback-view.component.d.ts +149 -0
  26. package/components/grid-container/index.d.ts +5 -0
  27. package/components/grid-container/public-api.d.ts +1 -0
  28. package/components/grid-container/src/grid-container.component.d.ts +121 -0
  29. package/components/icon/core/icon-catalog.d.ts +76 -0
  30. package/components/icon/core/icons/ads.icons.d.ts +2 -0
  31. package/components/icon/core/icons/angle.icons.d.ts +2 -0
  32. package/components/icon/core/icons/arrow.icons.d.ts +2 -0
  33. package/components/icon/core/icons/bars.icons.d.ts +2 -0
  34. package/components/icon/core/icons/bolt.icons.d.ts +2 -0
  35. package/components/icon/core/icons/book.icons.d.ts +2 -0
  36. package/components/icon/core/icons/calendar.icons.d.ts +2 -0
  37. package/components/icon/core/icons/camera.icons.d.ts +2 -0
  38. package/components/icon/core/icons/chart.icons.d.ts +2 -0
  39. package/components/icon/core/icons/check.icons.d.ts +2 -0
  40. package/components/icon/core/icons/chevron.icons.d.ts +2 -0
  41. package/components/icon/core/icons/circle.icons.d.ts +2 -0
  42. package/components/icon/core/icons/clock.icons.d.ts +2 -0
  43. package/components/icon/core/icons/clone.icons.d.ts +2 -0
  44. package/components/icon/core/icons/download.icons.d.ts +2 -0
  45. package/components/icon/core/icons/ellipsis.icons.d.ts +2 -0
  46. package/components/icon/core/icons/eye.icons.d.ts +2 -0
  47. package/components/icon/core/icons/filter.icons.d.ts +2 -0
  48. package/components/icon/core/icons/folders.icons.d.ts +2 -0
  49. package/components/icon/core/icons/gears.icons.d.ts +2 -0
  50. package/components/icon/core/icons/hand.icons.d.ts +2 -0
  51. package/components/icon/core/icons/language.icons.d.ts +2 -0
  52. package/components/icon/core/icons/layer.icons.d.ts +2 -0
  53. package/components/icon/core/icons/link.icons.d.ts +2 -0
  54. package/components/icon/core/icons/list.icons.d.ts +2 -0
  55. package/components/icon/core/icons/location.icons.d.ts +2 -0
  56. package/components/icon/core/icons/lock.icons.d.ts +2 -0
  57. package/components/icon/core/icons/magnifying-glass.icons.d.ts +2 -0
  58. package/components/icon/core/icons/media.icons.d.ts +2 -0
  59. package/components/icon/core/icons/megaphone.icons.d.ts +2 -0
  60. package/components/icon/core/icons/money.icons.d.ts +2 -0
  61. package/components/icon/core/icons/pen.icons.d.ts +2 -0
  62. package/components/icon/core/icons/pencil.icons.d.ts +2 -0
  63. package/components/icon/core/icons/plug.icons.d.ts +2 -0
  64. package/components/icon/core/icons/plus.icons.d.ts +2 -0
  65. package/components/icon/core/icons/qr-code.icons.d.ts +2 -0
  66. package/components/icon/core/icons/screwdriver-wrench.icons.d.ts +2 -0
  67. package/components/icon/core/icons/shuffle.icons.d.ts +2 -0
  68. package/components/icon/core/icons/square.icons.d.ts +2 -0
  69. package/components/icon/core/icons/tag.icons.d.ts +2 -0
  70. package/components/icon/core/icons/thumbs.icons.d.ts +2 -0
  71. package/components/icon/core/icons/trash.icons.d.ts +2 -0
  72. package/components/icon/core/icons/triangle.icons.d.ts +2 -0
  73. package/components/icon/core/icons/user.icons.d.ts +2 -0
  74. package/components/icon/core/icons/xmark.icons.d.ts +2 -0
  75. package/components/icon/core/svg-icons/ads-icon.svg.d.ts +2 -0
  76. package/components/icon/core/svg-icons/index.d.ts +1 -0
  77. package/components/{forms → icon}/index.d.ts +1 -1
  78. package/components/icon/public-api.d.ts +2 -0
  79. package/components/icon/src/icon.component.d.ts +79 -0
  80. package/components/illustration/assets/illustrations/tk-catalogs.svg.d.ts +2 -0
  81. package/components/illustration/assets/illustrations/tk-categories.svg.d.ts +2 -0
  82. package/components/illustration/assets/illustrations/tk-confirmation-action.svg.d.ts +2 -0
  83. package/components/illustration/assets/illustrations/tk-create-an-account.svg.d.ts +2 -0
  84. package/components/illustration/assets/illustrations/tk-custom-design.svg.d.ts +2 -0
  85. package/components/illustration/assets/illustrations/tk-delete.svg.d.ts +2 -0
  86. package/components/illustration/assets/illustrations/tk-download-AKF.svg.d.ts +2 -0
  87. package/components/illustration/assets/illustrations/tk-error.svg.d.ts +2 -0
  88. package/components/illustration/assets/illustrations/tk-graphics.svg.d.ts +2 -0
  89. package/components/illustration/assets/illustrations/tk-items.svg.d.ts +2 -0
  90. package/components/illustration/assets/illustrations/tk-kiosk.svg.d.ts +2 -0
  91. package/components/illustration/assets/illustrations/tk-list.svg.d.ts +2 -0
  92. package/components/illustration/assets/illustrations/tk-locations.svg.d.ts +2 -0
  93. package/components/illustration/assets/illustrations/tk-login.svg.d.ts +2 -0
  94. package/components/illustration/assets/illustrations/tk-multimedia.svg.d.ts +2 -0
  95. package/components/illustration/assets/illustrations/tk-no-connection.svg.d.ts +2 -0
  96. package/components/illustration/assets/illustrations/tk-no-found.svg.d.ts +2 -0
  97. package/components/illustration/assets/illustrations/tk-order.svg.d.ts +2 -0
  98. package/components/illustration/assets/illustrations/tk-playlist.svg.d.ts +2 -0
  99. package/components/illustration/assets/illustrations/tk-screens.svg.d.ts +2 -0
  100. package/components/illustration/assets/illustrations/tk-success.svg.d.ts +2 -0
  101. package/components/illustration/assets/illustrations/tk-support.svg.d.ts +2 -0
  102. package/components/illustration/assets/illustrations/tk-technical-failure.svg.d.ts +2 -0
  103. package/components/illustration/assets/illustrations/tk-tip.svg.d.ts +2 -0
  104. package/components/illustration/assets/illustrations/tk-upload.svg.d.ts +2 -0
  105. package/components/illustration/assets/illustrations/tk-void.svg.d.ts +2 -0
  106. package/components/illustration/assets/illustrations/tk-warning.svg.d.ts +2 -0
  107. package/components/illustration/assets/illustrations/tk-welcome.svg.d.ts +2 -0
  108. package/components/illustration/assets/illustrations/tk-without-catalogs.svg.d.ts +2 -0
  109. package/components/illustration/illustrations.registry.d.ts +5 -0
  110. package/components/illustration/index.d.ts +5 -0
  111. package/components/illustration/public-api.d.ts +1 -0
  112. package/components/illustration/src/illustration.component.d.ts +117 -0
  113. package/components/typography/index.d.ts +5 -0
  114. package/components/typography/public-api.d.ts +1 -0
  115. package/components/typography/src/typography.component.d.ts +10 -0
  116. package/core/index.d.ts +5 -0
  117. package/core/public-api.d.ts +1 -0
  118. package/core/types/index.d.ts +5 -0
  119. package/core/types/public-api.d.ts +9 -0
  120. package/core/types/src/branding/branding.types.d.ts +15 -0
  121. package/core/types/src/branding/index.d.ts +1 -0
  122. package/core/types/src/breakpoints/breakpoints.d.ts +10 -0
  123. package/core/types/src/breakpoints/index.d.ts +1 -0
  124. package/core/types/src/grids/grid.enum.d.ts +18 -0
  125. package/core/types/src/grids/grid.model.d.ts +10 -0
  126. package/core/types/src/grids/grid.type.d.ts +40 -0
  127. package/core/types/src/grids/index.d.ts +3 -0
  128. package/core/types/src/illustration-config/illustration-config.model.d.ts +4 -0
  129. package/core/types/src/illustration-config/index.d.ts +1 -0
  130. package/core/types/src/option/index.d.ts +1 -0
  131. package/core/types/src/option/option.model.d.ts +8 -0
  132. package/core/types/src/theme/theme.provider.d.ts +1 -0
  133. package/core/types/src/theme/tk-preset.d.ts +1 -0
  134. package/core/types/src/typography-styles/index.d.ts +1 -0
  135. package/core/types/src/validator-with-message/index.d.ts +1 -0
  136. package/directives/gird-item/index.d.ts +5 -0
  137. package/directives/gird-item/public-api.d.ts +1 -0
  138. package/directives/gird-item/src/grid-item.directive.d.ts +42 -0
  139. package/fesm2022/tekus-design-system-components-branding.mjs +93 -0
  140. package/fesm2022/tekus-design-system-components-branding.mjs.map +1 -0
  141. package/fesm2022/tekus-design-system-components-button.mjs +129 -0
  142. package/fesm2022/tekus-design-system-components-button.mjs.map +1 -0
  143. package/fesm2022/tekus-design-system-components-fallback-view.mjs +187 -0
  144. package/fesm2022/tekus-design-system-components-fallback-view.mjs.map +1 -0
  145. package/fesm2022/tekus-design-system-components-grid-container.mjs +193 -0
  146. package/fesm2022/tekus-design-system-components-grid-container.mjs.map +1 -0
  147. package/fesm2022/tekus-design-system-components-icon.mjs +1206 -0
  148. package/fesm2022/tekus-design-system-components-icon.mjs.map +1 -0
  149. package/fesm2022/tekus-design-system-components-illustration.mjs +3893 -0
  150. package/fesm2022/tekus-design-system-components-illustration.mjs.map +1 -0
  151. package/fesm2022/tekus-design-system-components-typography.mjs +36 -0
  152. package/fesm2022/tekus-design-system-components-typography.mjs.map +1 -0
  153. package/fesm2022/tekus-design-system-core-types.mjs +307 -0
  154. package/fesm2022/tekus-design-system-core-types.mjs.map +1 -0
  155. package/fesm2022/tekus-design-system-core.mjs +307 -0
  156. package/fesm2022/tekus-design-system-core.mjs.map +1 -0
  157. package/fesm2022/tekus-design-system-directives-gird-item.mjs +95 -0
  158. package/fesm2022/tekus-design-system-directives-gird-item.mjs.map +1 -0
  159. package/fesm2022/tekus-design-system-utils-sanitizer-utils.mjs +53 -0
  160. package/fesm2022/tekus-design-system-utils-sanitizer-utils.mjs.map +1 -0
  161. package/package.json +47 -49
  162. package/tokens/blur/_blur.scss +11 -0
  163. package/tokens/colors/_colors.scss +97 -0
  164. package/tokens/index.scss +5 -0
  165. package/tokens/shadow/_shadow.scss +10 -0
  166. package/tokens/shapes/_shapes.scss +9 -0
  167. package/tokens/spacing/_spacing.scss +25 -0
  168. package/utils/sanitizer-utils/index.d.ts +5 -0
  169. package/utils/sanitizer-utils/public-api.d.ts +1 -0
  170. package/utils/sanitizer-utils/src/sanitizer-utils.d.ts +20 -0
  171. package/components/forms/public-api.d.ts +0 -3
  172. package/components/forms/tk-form-autocomplete-field/index.d.ts +0 -5
  173. package/components/forms/tk-form-autocomplete-field/models/option.model.d.ts +0 -4
  174. package/components/forms/tk-form-autocomplete-field/public-api.d.ts +0 -1
  175. package/components/forms/tk-form-autocomplete-field/tk-form-autocomplete-field.component.d.ts +0 -173
  176. package/components/forms/tk-form-chips-autocomplete-field/index.d.ts +0 -5
  177. package/components/forms/tk-form-chips-autocomplete-field/models/option.model.d.ts +0 -4
  178. package/components/forms/tk-form-chips-autocomplete-field/public-api.d.ts +0 -1
  179. package/components/forms/tk-form-chips-autocomplete-field/tk-form-chips-autocomplete-field.component.d.ts +0 -124
  180. package/components/forms/tk-form-input-field/index.d.ts +0 -5
  181. package/components/forms/tk-form-input-field/public-api.d.ts +0 -1
  182. package/components/forms/tk-form-input-field/tk-form-input-field.component.d.ts +0 -137
  183. package/components/tk-dropdown-list/index.d.ts +0 -5
  184. package/components/tk-dropdown-list/models/dropdown-list-item.model.d.ts +0 -4
  185. package/components/tk-dropdown-list/public-api.d.ts +0 -1
  186. package/components/tk-dropdown-list/tk-dropdown-list.component.d.ts +0 -113
  187. package/components/tk-search-bar/public-api.d.ts +0 -1
  188. package/components/tk-search-bar/tk-search-bar.component.d.ts +0 -25
  189. package/components/tk-typography/public-api.d.ts +0 -1
  190. package/components/tk-typography/tk-typography.component.d.ts +0 -10
  191. package/esm2022/components/forms/public-api.mjs +0 -4
  192. package/esm2022/components/forms/tekus-design-system-components-forms.mjs +0 -5
  193. package/esm2022/components/forms/tk-form-autocomplete-field/models/option.model.mjs +0 -2
  194. package/esm2022/components/forms/tk-form-autocomplete-field/public-api.mjs +0 -2
  195. package/esm2022/components/forms/tk-form-autocomplete-field/tekus-design-system-components-forms-tk-form-autocomplete-field.mjs +0 -5
  196. package/esm2022/components/forms/tk-form-autocomplete-field/tk-form-autocomplete-field.component.mjs +0 -263
  197. package/esm2022/components/forms/tk-form-chips-autocomplete-field/models/option.model.mjs +0 -2
  198. package/esm2022/components/forms/tk-form-chips-autocomplete-field/public-api.mjs +0 -2
  199. package/esm2022/components/forms/tk-form-chips-autocomplete-field/tekus-design-system-components-forms-tk-form-chips-autocomplete-field.mjs +0 -5
  200. package/esm2022/components/forms/tk-form-chips-autocomplete-field/tk-form-chips-autocomplete-field.component.mjs +0 -187
  201. package/esm2022/components/forms/tk-form-input-field/models/validator-with-message.model.mjs +0 -2
  202. package/esm2022/components/forms/tk-form-input-field/public-api.mjs +0 -2
  203. package/esm2022/components/forms/tk-form-input-field/tekus-design-system-components-forms-tk-form-input-field.mjs +0 -5
  204. package/esm2022/components/forms/tk-form-input-field/tk-form-input-field.component.mjs +0 -206
  205. package/esm2022/components/tk-dropdown-list/models/dropdown-list-item.model.mjs +0 -2
  206. package/esm2022/components/tk-dropdown-list/public-api.mjs +0 -2
  207. package/esm2022/components/tk-dropdown-list/tekus-design-system-components-tk-dropdown-list.mjs +0 -5
  208. package/esm2022/components/tk-dropdown-list/tk-dropdown-list.component.mjs +0 -137
  209. package/esm2022/components/tk-search-bar/public-api.mjs +0 -2
  210. package/esm2022/components/tk-search-bar/tekus-design-system-components-tk-search-bar.mjs +0 -5
  211. package/esm2022/components/tk-search-bar/tk-search-bar.component.mjs +0 -49
  212. package/esm2022/components/tk-typography/public-api.mjs +0 -2
  213. package/esm2022/components/tk-typography/tekus-design-system-components-tk-typography.mjs +0 -5
  214. package/esm2022/components/tk-typography/tk-typography.component.mjs +0 -29
  215. package/esm2022/index.mjs +0 -2
  216. package/esm2022/services/typography/models/typographyStyles.model.mjs +0 -2
  217. package/esm2022/services/typography/public-api.mjs +0 -2
  218. package/esm2022/services/typography/tekus-design-system-services-typography.mjs +0 -5
  219. package/esm2022/services/typography/typography.service.mjs +0 -84
  220. package/esm2022/tekus-design-system.mjs +0 -5
  221. package/fesm2022/tekus-design-system-components-forms-tk-form-autocomplete-field.mjs +0 -270
  222. package/fesm2022/tekus-design-system-components-forms-tk-form-autocomplete-field.mjs.map +0 -1
  223. package/fesm2022/tekus-design-system-components-forms-tk-form-chips-autocomplete-field.mjs +0 -194
  224. package/fesm2022/tekus-design-system-components-forms-tk-form-chips-autocomplete-field.mjs.map +0 -1
  225. package/fesm2022/tekus-design-system-components-forms-tk-form-input-field.mjs +0 -213
  226. package/fesm2022/tekus-design-system-components-forms-tk-form-input-field.mjs.map +0 -1
  227. package/fesm2022/tekus-design-system-components-forms.mjs +0 -642
  228. package/fesm2022/tekus-design-system-components-forms.mjs.map +0 -1
  229. package/fesm2022/tekus-design-system-components-tk-dropdown-list.mjs +0 -144
  230. package/fesm2022/tekus-design-system-components-tk-dropdown-list.mjs.map +0 -1
  231. package/fesm2022/tekus-design-system-components-tk-search-bar.mjs +0 -56
  232. package/fesm2022/tekus-design-system-components-tk-search-bar.mjs.map +0 -1
  233. package/fesm2022/tekus-design-system-components-tk-typography.mjs +0 -36
  234. package/fesm2022/tekus-design-system-components-tk-typography.mjs.map +0 -1
  235. package/fesm2022/tekus-design-system-services-typography.mjs +0 -91
  236. package/fesm2022/tekus-design-system-services-typography.mjs.map +0 -1
  237. package/services/typography/public-api.d.ts +0 -1
  238. package/services/typography/typography.service.d.ts +0 -8
  239. /package/{services/typography/models → core/types/src/typography-styles}/typographyStyles.model.d.ts +0 -0
  240. /package/{components/forms/tk-form-input-field/models → core/types/src/validator-with-message}/validator-with-message.model.d.ts +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"tekus-design-system-components-forms.mjs","sources":["../../../projects/design-system/components/forms/tk-form-input-field/tk-form-input-field.component.ts","../../../projects/design-system/components/forms/tk-form-input-field/tk-form-input-field.component.html","../../../projects/design-system/components/forms/tk-form-autocomplete-field/tk-form-autocomplete-field.component.ts","../../../projects/design-system/components/forms/tk-form-autocomplete-field/tk-form-autocomplete-field.component.html","../../../projects/design-system/components/forms/tk-form-chips-autocomplete-field/tk-form-chips-autocomplete-field.component.ts","../../../projects/design-system/components/forms/tk-form-chips-autocomplete-field/tk-form-chips-autocomplete-field.component.html","../../../projects/design-system/components/forms/tekus-design-system-components-forms.ts"],"sourcesContent":["import {\n Input,\n OnInit,\n Output,\n Component,\n OnChanges,\n EventEmitter,\n SimpleChanges,\n} from '@angular/core';\nimport {\n FormControl,\n FormsModule,\n ValidatorFn,\n AsyncValidatorFn,\n ValidationErrors,\n ReactiveFormsModule,\n} from '@angular/forms';\nimport { merge } from 'rxjs';\nimport {\n FloatLabelType,\n SubscriptSizing,\n MatFormFieldModule,\n MatFormFieldAppearance,\n} from '@angular/material/form-field';\nimport { NgStyle } from '@angular/common';\nimport { ThemePalette } from '@angular/material/core';\nimport { MatInputModule } from '@angular/material/input';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { ValidatorWithMessage } from './models/validator-with-message.model';\n\n@Component({\n selector: 'lib-tk-form-input-field',\n standalone: true,\n imports: [\n NgStyle,\n FormsModule,\n MatInputModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n ],\n templateUrl: './tk-form-input-field.component.html',\n styleUrl: './tk-form-input-field.component.scss',\n})\nexport class TkFormInputFieldComponent implements OnInit, OnChanges {\n /**\n * Optional input field width\n * @default 100%\n */\n @Input()\n public fieldWidth?: string;\n\n /**\n * Optional input field title\n * @default null\n */\n @Input()\n public fieldTitle?: string;\n\n /**\n * What color palette to use\n * @default 'accent'\n */\n @Input()\n public theme?: ThemePalette = 'accent';\n\n /**\n * Optional field input type\n * @default 'text'\n */\n @Input()\n public type = 'text';\n\n /**\n * Whether the field is required\n * @default true\n */\n @Input()\n public required = true;\n\n /**\n * Form field label behavior\n * @default 'auto'\n */\n @Input()\n public floatLabel: FloatLabelType = 'auto';\n\n /**\n * Form field appearance\n * @default 'fill'\n */\n @Input()\n public appearance: MatFormFieldAppearance = 'fill';\n\n /**\n * Form field reserved space for one line by default.\n * @default 'dynamic'\n */\n @Input()\n public subscriptSizing: SubscriptSizing = 'dynamic';\n\n /**\n * Input field label\n */\n @Input()\n public fieldLabel = '';\n\n /**\n * Input field placeholder\n * @default ''\n */\n @Input()\n public placeHolder = '';\n\n /**\n * Optional Input field text prefix\n * @default ''\n */\n @Input()\n public inputPrefix?: string;\n\n /**\n * Optional Input field text suffix\n * @default ''\n */\n @Input()\n public inputSuffix?: string;\n\n /**\n * Input field control\n * @ignore\n */\n public formControl = new FormControl('');\n\n /**\n * Input field error message\n * @ignore\n */\n public errorMessage: string = '';\n\n /**\n * Optional validators for the field\n * @default ''\n */\n @Input()\n public validatorsWithMessages: { [key: string]: ValidatorWithMessage } = {};\n\n /**\n * Optional async validators for the field\n * @default ''\n */\n @Input()\n public asyncValidatorsWithMessages: { [key: string]: ValidatorWithMessage } =\n {};\n\n /**\n * Input field changes handler\n */\n @Output()\n public inputStatus = new EventEmitter<FormControl>();\n\n /**\n * @ignore\n * Class constructor\n */\n constructor() {\n merge(this.formControl.statusChanges, this.formControl.valueChanges)\n .pipe(takeUntilDestroyed())\n .subscribe(() => {\n this.updateErrorMessage();\n });\n }\n\n /**\n * Component lifecycle method\n * @ignore\n */\n ngOnInit(): void {\n this.applyValidators();\n }\n\n /**\n * Component lifecycle method\n * @ignore\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (\n changes['validatorsWithMessages'] ||\n changes['asyncValidatorsWithMessages']\n ) {\n this.applyValidators();\n }\n }\n\n /**\n * @ignore\n * Component lifecycle method\n */\n private isThereAnyValidator(validatorsWithMessages: {\n [key: string]: ValidatorWithMessage;\n }): boolean {\n return Object.keys(validatorsWithMessages).length > 0;\n }\n\n /**\n * Applies all the passed validators\n * @ignore\n */\n private applyValidators(): void {\n const hasSyncValidators = this.isThereAnyValidator(\n this.validatorsWithMessages\n );\n\n const hasAsyncValidators = this.isThereAnyValidator(\n this.asyncValidatorsWithMessages\n );\n\n const activeValidators: ValidatorFn[] = hasSyncValidators\n ? Object.values(this.validatorsWithMessages).map(\n validatorWithMessage => validatorWithMessage.validator\n )\n : [];\n\n const activeAsyncValidators: AsyncValidatorFn[] = hasAsyncValidators\n ? Object.values(this.asyncValidatorsWithMessages).map(\n validatorWithMessage =>\n validatorWithMessage.validator as AsyncValidatorFn\n )\n : [];\n\n if (hasSyncValidators || hasAsyncValidators) {\n this.formControl.setValidators(activeValidators);\n this.formControl.setAsyncValidators(activeAsyncValidators);\n this.formControl.updateValueAndValidity();\n }\n }\n\n /**\n * Checks if there is any validation error\n * @ignore\n */\n private checkValidationErrors(\n errors: ValidationErrors | null,\n validatorsWithMessages: {\n [key: string]: ValidatorWithMessage;\n }\n ): void {\n for (const errorKey in errors) {\n if (validatorsWithMessages[errorKey]) {\n this.errorMessage = validatorsWithMessages[errorKey].message;\n }\n }\n }\n\n /**\n * Emits the formControl variable every time the field value changes\n * @ignore\n */\n public onInputChanged(): void {\n this.inputStatus.emit(this.formControl);\n }\n\n /**\n * Updates the error message every time the input value changes\n * @ignore\n */\n public updateErrorMessage(): void {\n this.errorMessage = '';\n const errors = this.formControl.errors;\n\n if (!errors) {\n this.errorMessage = '';\n return;\n }\n\n this.checkValidationErrors(errors, this.validatorsWithMessages);\n this.checkValidationErrors(errors, this.asyncValidatorsWithMessages);\n this.onInputChanged();\n }\n}\n","<div class=\"section\" [ngStyle]=\"{ width: fieldWidth ? 'fit-content' : '100%' }\">\n @if (fieldTitle) {\n <h1 class=\"field__title\">{{ fieldTitle }}</h1>\n }\n <mat-form-field\n class=\"form__field\"\n [color]=\"theme\"\n [appearance]=\"appearance\"\n [floatLabel]=\"floatLabel\"\n [subscriptSizing]=\"subscriptSizing\"\n [ngStyle]=\"{ width: fieldWidth ? fieldWidth : '100%' }\">\n <mat-label class=\"form__field__label\">{{ fieldLabel }}</mat-label>\n <input\n matInput\n [type]=\"type\"\n [required]=\"required\"\n (input)=\"onInputChanged()\"\n [placeholder]=\"placeHolder\"\n [formControl]=\"formControl\"\n (blur)=\"updateErrorMessage()\" />\n @if (inputPrefix) {\n <span class=\"form__field__label\" matTextPrefix\n >{{ inputPrefix }}&nbsp;</span\n >\n }\n @if (inputSuffix) {\n <span class=\"form__field__label\" matTextSuffix>{{ inputSuffix }}</span>\n }\n @if (formControl.invalid) {\n <mat-error class=\"form__field__error\">{{ errorMessage }}</mat-error>\n }\n </mat-form-field>\n</div>\n","import {\n Input,\n Output,\n OnInit,\n Component,\n ViewChild,\n OnDestroy,\n OnChanges,\n EventEmitter,\n AfterViewInit,\n SimpleChanges,\n} from '@angular/core';\nimport {\n SubscriptSizing,\n MatFormFieldModule,\n MatFormFieldAppearance,\n} from '@angular/material/form-field';\nimport {\n MatAutocomplete,\n MatAutocompleteModule,\n} from '@angular/material/autocomplete';\nimport { Option } from './models/option.model';\nimport { AsyncPipe, NgStyle } from '@angular/common';\nimport { ThemePalette } from '@angular/material/core';\nimport { MatInputModule } from '@angular/material/input';\nimport { map, Observable, startWith, Subscription } from 'rxjs';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-tk-form-autocomplete-field',\n standalone: true,\n imports: [\n NgStyle,\n AsyncPipe,\n FormsModule,\n MatInputModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n ],\n templateUrl: './tk-form-autocomplete-field.component.html',\n styleUrl: './tk-form-autocomplete-field.component.scss',\n})\nexport class TkFormAutocompleteFieldComponent\n implements OnInit, OnDestroy, AfterViewInit, OnChanges\n{\n /**\n * Input field control\n * @ignore\n */\n public formControl = new FormControl<string | Option>('');\n\n /**\n * Optional input field width\n * @default 100%\n */\n @Input()\n public fieldWidth?: string;\n\n /**\n * What color palette to use\n * @default 'accent'\n */\n @Input()\n public theme?: ThemePalette = 'accent';\n\n /**\n * Form field appearance\n * @default 'fill'\n */\n @Input()\n public appearance: MatFormFieldAppearance = 'fill';\n\n /**\n * Form field reserved space for one line by default.\n * @default 'dynamic'\n */\n @Input()\n public subscriptSizing: SubscriptSizing = 'dynamic';\n\n /**\n * Whether the first option should be highlighted when the autocomplete panel is opened\n * @default true\n */\n @Input()\n public autoActiveFirstOption?: boolean = true;\n\n /**\n * Whether the active option should be selected as the user is navigating.\n * @default true\n */\n @Input()\n public autoSelectActiveOption?: boolean = true;\n\n /**\n * Optional field input type\n * @default 'text'\n */\n @Input()\n public type = 'text';\n\n /**\n * Whether the field is required\n * @default true\n */\n @Input()\n public required = true;\n\n /**\n * Optional input field title\n * @default null\n */\n @Input()\n public fieldTitle?: string;\n\n /**\n * Input field label\n */\n @Input()\n public fieldLabel = '';\n\n /**\n * Input field placeholder\n * @default ''\n */\n @Input()\n public placeHolder = '';\n\n /**\n * Filtered options\n * @ignore\n */\n public filteredOptions!: Observable<Option[]>;\n\n /**\n * Options to be displayed\n * @ignore\n */\n @Input()\n public options: Option[] = [];\n\n /**\n * Option changes handler\n */\n @Output()\n public optionSelected = new EventEmitter<string | number>();\n\n /**\n * Input field changes handler\n */\n @Output()\n public inputStatus = new EventEmitter<FormControl>();\n\n /**\n * Autocomplete bottom reached handler\n */\n @Output()\n public bottomReached = new EventEmitter<void>();\n\n /**\n * Subscriptions property to handle all subscriptions\n * @ignore\n */\n private readonly subscriptions: Subscription = new Subscription();\n\n /**\n * Mat-autocomplete reference\n * @ignore\n */\n @ViewChild('auto') matAutocomplete!: MatAutocomplete;\n\n /**\n * Component lifecycle method\n * @ignore\n */\n ngOnInit(): void {\n this.updateFilteredOptions();\n }\n\n /**\n * Component lifecycle method\n * @ignore\n */\n ngAfterViewInit(): void {\n this.initAutocompleteListener();\n }\n\n /**\n * Component lifecycle method\n * @ignore\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes) {\n this.updateFilteredOptions();\n }\n }\n\n /**\n * Handles options updates\n * @ignore\n */\n private updateFilteredOptions(): void {\n this.filteredOptions = this.formControl.valueChanges.pipe(\n startWith(''),\n map(value => {\n const option = typeof value === 'string' ? value : value?.ViewValue;\n return option\n ? this._filterOptions(option)\n : (this.options ?? []).slice();\n })\n );\n }\n\n /**\n * Starts the autocomplete subscriptions\n * @ignore\n */\n public initAutocompleteListener(): void {\n const openedSubscription = this.onAutocompleteOpened();\n const closedSubscription = this.onAutocompleteClosed();\n\n this.subscriptions.add(openedSubscription);\n this.subscriptions.add(closedSubscription);\n }\n\n /**\n * Handles the autocomplete opened event\n * @ignore\n */\n private onAutocompleteOpened(): Subscription {\n return this.matAutocomplete.opened.subscribe(() => {\n setTimeout(() => {\n const panel = this.matAutocomplete.panel?.nativeElement;\n if (panel) {\n panel.addEventListener('scroll', this.onScroll.bind(this));\n }\n });\n });\n }\n\n /**\n * Handles the autocomplete closed event\n * @ignore\n */\n private onAutocompleteClosed(): Subscription {\n return this.matAutocomplete.closed.subscribe(() => {\n const panel = this.matAutocomplete.panel?.nativeElement;\n if (panel) {\n panel.removeEventListener('scroll', this.onScroll.bind(this));\n }\n });\n }\n\n /**\n * Handles the scrolling event\n * @ignore\n */\n private onScroll(event: Event) {\n const panel = event.target as HTMLElement;\n const scrollTop = panel.scrollTop;\n const scrollHeight = panel.scrollHeight;\n const offsetHeight = panel.offsetHeight;\n\n if (scrollTop + offsetHeight >= scrollHeight) {\n this.onScrolledToEnd();\n }\n }\n\n /**\n * Emits the bottomReached when the user reaches the end of the autocomplete panel\n * @ignore\n */\n private onScrolledToEnd(): void {\n this.bottomReached.emit();\n }\n\n /**\n * Conditions the options' view to display the view value\n * @ignore\n */\n public displayFn(option: Option | null): string {\n return option?.ViewValue ? option.ViewValue : '';\n }\n\n /**\n * Filters the options according to the input value\n * @ignore\n */\n private _filterOptions(value: string): Option[] {\n const filterValue = value.toLowerCase();\n\n return this.options.filter(option =>\n option.ViewValue.toLowerCase().includes(filterValue)\n );\n }\n\n /**\n * Emits the selected option every time it changes\n * @ignore\n */\n public onSelectionChanged(option: Option): void {\n this.optionSelected.emit(option.Value);\n }\n\n /**\n * Emits the formControl variable every time the input value changes\n * @ignore\n */\n public onInputChanged(): void {\n this.inputStatus.emit(this.formControl);\n }\n\n /**\n * Unsubscribe from all subscriptions when the component is destroyed\n * @ignore\n */\n ngOnDestroy() {\n this.subscriptions?.unsubscribe();\n }\n}\n","<div class=\"section\" [ngStyle]=\"{ width: fieldWidth ? 'fit-content' : '100%' }\">\n @if (fieldTitle) {\n <h1 class=\"field__title\">{{ fieldTitle }}</h1>\n }\n <mat-form-field\n class=\"form__field\"\n [color]=\"theme\"\n [appearance]=\"appearance\"\n [subscriptSizing]=\"subscriptSizing\"\n [ngStyle]=\"{ width: fieldWidth ? fieldWidth : '100%' }\">\n <mat-label class=\"form__field__label\">{{ fieldLabel }}</mat-label>\n <input\n matInput\n [type]=\"type\"\n aria-label=\"Option\"\n [required]=\"required\"\n [matAutocomplete]=\"auto\"\n (input)=\"onInputChanged()\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeHolder\" />\n <mat-autocomplete\n requireSelection\n #auto=\"matAutocomplete\"\n [displayWith]=\"displayFn\"\n [autoActiveFirstOption]=\"autoActiveFirstOption\"\n [autoSelectActiveOption]=\"autoSelectActiveOption\"\n (optionSelected)=\"onSelectionChanged($event.option.value)\">\n @for (option of filteredOptions | async; track option.Value) {\n <mat-option [value]=\"option\">\n <span>{{ option.ViewValue }}</span>\n </mat-option>\n }\n </mat-autocomplete>\n </mat-form-field>\n</div>\n","import {\n Input,\n Output,\n OnInit,\n Component,\n ViewChild,\n OnChanges,\n ElementRef,\n EventEmitter,\n SimpleChanges,\n ChangeDetectionStrategy,\n} from '@angular/core';\nimport {\n SubscriptSizing,\n MatFormFieldModule,\n MatFormFieldAppearance,\n} from '@angular/material/form-field';\nimport {\n MatAutocompleteModule,\n MatAutocompleteSelectedEvent,\n} from '@angular/material/autocomplete';\nimport { Option } from './models/option.model';\nimport { map, Observable, startWith } from 'rxjs';\nimport { AsyncPipe, NgStyle } from '@angular/common';\nimport { COMMA, ENTER } from '@angular/cdk/keycodes';\nimport { ThemePalette } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatChipsModule } from '@angular/material/chips';\nimport { MatButtonModule } from '@angular/material/button';\nimport { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@Component({\n selector: 'lib-tk-form-chips-autocomplete-field',\n standalone: true,\n imports: [\n NgStyle,\n AsyncPipe,\n FormsModule,\n MatIconModule,\n MatChipsModule,\n MatButtonModule,\n MatFormFieldModule,\n ReactiveFormsModule,\n MatAutocompleteModule,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n templateUrl: './tk-form-chips-autocomplete-field.component.html',\n styleUrl: './tk-form-chips-autocomplete-field.component.scss',\n})\nexport class TkFormChipsAutocompleteFieldComponent\n implements OnInit, OnChanges\n{\n /**\n * Input field label\n */\n @Input()\n public fieldLabel = '';\n\n /**\n * Input field placeholder\n * @default ''\n */\n @Input()\n public placeHolder = '';\n\n /**\n * Optional input field title\n * @default null\n */\n @Input()\n public fieldTitle?: string;\n\n /**\n * What color palette to use\n * @default 'accent'\n */\n @Input()\n public theme?: ThemePalette = 'accent';\n\n /**\n * Form field reserved space for one line by default.\n * @default 'dynamic'\n */\n @Input()\n public subscriptSizing: SubscriptSizing = 'dynamic';\n\n /**\n * Optional input field width\n * @default 100%\n */\n @Input()\n public fieldWidth?: string;\n\n /**\n * Form field appearance\n * @default 'fill'\n */\n @Input()\n public appearance: MatFormFieldAppearance = 'fill';\n\n /**\n * Input field control\n * @ignore\n */\n public formControl = new FormControl('');\n\n /**\n * Selected keywords\n * @ignore\n */\n public keywords: Option[] = [];\n\n /**\n * Input field changes handler\n */\n @Output()\n public inputStatus = new EventEmitter<FormControl>();\n\n /**\n * Keywords changes handler\n */\n @Output()\n public selectedKeywords = new EventEmitter<(string | number)[]>();\n\n /**\n * Separator constants\n * @ignore\n */\n public readonly separatorKeysCodes: number[] = [ENTER, COMMA];\n\n /**\n * Options to be displayed\n * @ignore\n */\n @Input()\n public allKeywords: Option[] = [];\n\n /**\n * Filtered keywords after the input field changes\n * @ignore\n */\n public filteredKeywords: Observable<Option[]> | undefined;\n\n /**\n * Keyword Input element reference\n * @ignore\n */\n @ViewChild('keywordInput') keywordInput!: ElementRef<HTMLInputElement>;\n\n /**\n * @ignore\n * Lifecycle method\n */\n ngOnInit(): void {\n this.updateFilteredKeywords();\n }\n\n /**\n * @ignore\n * Lifecycle method\n */\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['allKeywords']) {\n this.updateFilteredKeywords();\n }\n }\n\n /**\n * Updates the filtered keywords when allKeywords changes\n * @ignore\n */\n private updateFilteredKeywords(): void {\n this.filteredKeywords = this.formControl.valueChanges.pipe(\n startWith(null),\n map((keyword: string | null) =>\n keyword\n ? this._filter(String(keyword))\n : (this.allKeywords ?? []).slice()\n )\n );\n }\n\n /**\n * Handles every keyword deletion\n * @ignore\n */\n public remove(keyword: Option): void {\n const index = this.keywords.indexOf(keyword);\n\n if (index >= 0) {\n this.keywords.splice(index, 1);\n this.onKeywordsChanged();\n }\n }\n\n /**\n * Emits the formControl variable every time the field value changes\n * @ignore\n */\n public onInputChanged(): void {\n this.inputStatus.emit(this.formControl);\n }\n\n /**\n * Emits the selected keywords every time they changed\n * @ignore\n */\n public onKeywordsChanged(): void {\n this.selectedKeywords.emit(this.keywords.map(keyword => keyword.Value));\n }\n\n /**\n * Handles the autocomplete selection\n * @ignore\n */\n public selected(event: MatAutocompleteSelectedEvent): void {\n const value = event.option.value;\n const selectedKeyword = this.allKeywords.find(\n option => option.Value === value\n );\n\n if (\n selectedKeyword &&\n !this.keywords.some(keyword => keyword.Value === selectedKeyword.Value)\n ) {\n this.keywords.push(selectedKeyword);\n this.onKeywordsChanged();\n }\n\n this.keywordInput.nativeElement.value = '';\n this.formControl.setValue(null);\n }\n\n /**\n * Filters the keywords based on the input\n * @ignore\n */\n private _filter(value: string): Option[] {\n this.onInputChanged();\n const filterValue = value.toLowerCase();\n\n return this.allKeywords.filter(keyword =>\n keyword.ViewValue.toLowerCase().includes(filterValue)\n );\n }\n}\n","<div class=\"section\" [ngStyle]=\"{ width: fieldWidth ? 'fit-content' : '100%' }\">\n @if (fieldTitle) {\n <h1 class=\"field__title\">{{ fieldTitle }}</h1>\n }\n <mat-form-field\n class=\"form__field\"\n [color]=\"theme\"\n [appearance]=\"appearance\"\n [subscriptSizing]=\"subscriptSizing\"\n [ngStyle]=\"{ width: fieldWidth ? fieldWidth : '100%' }\">\n <mat-label class=\"form__field__label\">{{ fieldLabel }}</mat-label>\n <mat-chip-grid #chipGrid aria-label=\"Keyword selection\">\n @for (keyword of keywords; track keyword.Value) {\n <mat-chip-row (removed)=\"remove(keyword)\">\n {{ keyword.ViewValue }}\n <button\n matChipRemove\n [attr.aria-label]=\"'remove ' + keyword.ViewValue\">\n <mat-icon>cancel</mat-icon>\n </button>\n </mat-chip-row>\n }\n </mat-chip-grid>\n <input\n #keywordInput\n [matAutocomplete]=\"auto\"\n [formControl]=\"formControl\"\n [placeholder]=\"placeHolder\"\n [matChipInputFor]=\"chipGrid\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" />\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\">\n @for (keyword of filteredKeywords | async; track keyword.Value) {\n <mat-option [value]=\"keyword.Value\">{{ keyword.ViewValue }}</mat-option>\n }\n </mat-autocomplete>\n </mat-form-field>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i2","i4","i5","i6"],"mappings":";;;;;;;;;;;;;;;;;;;;;MA2Ca,yBAAyB,CAAA;AAqHpC;;;AAGG;AACH,IAAA,WAAA,GAAA;AA1GA;;;AAGG;QAEI,IAAK,CAAA,KAAA,GAAkB,QAAQ,CAAC;AAEvC;;;AAGG;QAEI,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC;AAErB;;;AAGG;QAEI,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AAEvB;;;AAGG;QAEI,IAAU,CAAA,UAAA,GAAmB,MAAM,CAAC;AAE3C;;;AAGG;QAEI,IAAU,CAAA,UAAA,GAA2B,MAAM,CAAC;AAEnD;;;AAGG;QAEI,IAAe,CAAA,eAAA,GAAoB,SAAS,CAAC;AAEpD;;AAEG;QAEI,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;AAEvB;;;AAGG;QAEI,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AAgBxB;;;AAGG;AACI,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;AAEzC;;;AAGG;QACI,IAAY,CAAA,YAAA,GAAW,EAAE,CAAC;AAEjC;;;AAGG;QAEI,IAAsB,CAAA,sBAAA,GAA4C,EAAE,CAAC;AAE5E;;;AAGG;QAEI,IAA2B,CAAA,2BAAA,GAChC,EAAE,CAAC;AAEL;;AAEG;AAEI,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAe,CAAC;AAOnD,QAAA,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;aACjE,IAAI,CAAC,kBAAkB,EAAE,CAAC;aAC1B,SAAS,CAAC,MAAK;YACd,IAAI,CAAC,kBAAkB,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;KACN;AAED;;;AAGG;IACH,QAAQ,GAAA;QACN,IAAI,CAAC,eAAe,EAAE,CAAC;KACxB;AAED;;;AAGG;AACH,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IACE,OAAO,CAAC,wBAAwB,CAAC;AACjC,YAAA,OAAO,CAAC,6BAA6B,CAAC,EACtC;YACA,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;KACF;AAED;;;AAGG;AACK,IAAA,mBAAmB,CAAC,sBAE3B,EAAA;QACC,OAAO,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;KACvD;AAED;;;AAGG;IACK,eAAe,GAAA;QACrB,MAAM,iBAAiB,GAAG,IAAI,CAAC,mBAAmB,CAChD,IAAI,CAAC,sBAAsB,CAC5B,CAAC;QAEF,MAAM,kBAAkB,GAAG,IAAI,CAAC,mBAAmB,CACjD,IAAI,CAAC,2BAA2B,CACjC,CAAC;QAEF,MAAM,gBAAgB,GAAkB,iBAAiB;AACvD,cAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,GAAG,CAC5C,oBAAoB,IAAI,oBAAoB,CAAC,SAAS,CACvD;cACD,EAAE,CAAC;QAEP,MAAM,qBAAqB,GAAuB,kBAAkB;AAClE,cAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,GAAG,CACjD,oBAAoB,IAClB,oBAAoB,CAAC,SAA6B,CACrD;cACD,EAAE,CAAC;AAEP,QAAA,IAAI,iBAAiB,IAAI,kBAAkB,EAAE;AAC3C,YAAA,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;AACjD,YAAA,IAAI,CAAC,WAAW,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;AAC3D,YAAA,IAAI,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC;SAC3C;KACF;AAED;;;AAGG;IACK,qBAAqB,CAC3B,MAA+B,EAC/B,sBAEC,EAAA;AAED,QAAA,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE;AAC7B,YAAA,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE;gBACpC,IAAI,CAAC,YAAY,GAAG,sBAAsB,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC;aAC9D;SACF;KACF;AAED;;;AAGG;IACI,cAAc,GAAA;QACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACzC;AAED;;;AAGG;IACI,kBAAkB,GAAA;AACvB,QAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;AACvB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QAEvC,IAAI,CAAC,MAAM,EAAE;AACX,YAAA,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;YACvB,OAAO;SACR;QAED,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAChE,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACrE,IAAI,CAAC,cAAc,EAAE,CAAC;KACvB;+GA1OU,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAAzB,yBAAyB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,yBAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,WAAA,EAAA,aAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,2BAAA,EAAA,6BAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC3CtC,4lCAiCA,EAAA,MAAA,EAAA,CAAA,uqBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDCI,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACP,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,cAAc,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,uBAAA,EAAA,MAAA,EAAA,CAAA,IAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,+CAAA,EAAA,MAAA,EAAA,CAAA,eAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACd,kBAAkB,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAClB,mBAAmB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,aAAA,EAAA,UAAA,EAAA,SAAA,CAAA,EAAA,OAAA,EAAA,CAAA,eAAA,CAAA,EAAA,QAAA,EAAA,CAAA,QAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAKV,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAbrC,SAAS;+BACE,yBAAyB,EAAA,UAAA,EACvB,IAAI,EACP,OAAA,EAAA;wBACP,OAAO;wBACP,WAAW;wBACX,cAAc;wBACd,kBAAkB;wBAClB,mBAAmB;AACpB,qBAAA,EAAA,QAAA,EAAA,4lCAAA,EAAA,MAAA,EAAA,CAAA,uqBAAA,CAAA,EAAA,CAAA;wDAUM,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAQC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAQC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAQC,IAAI,EAAA,CAAA;sBADV,KAAK;gBAQC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAQC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAQC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAQC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAOC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAQC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAQC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAQC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAoBC,sBAAsB,EAAA,CAAA;sBAD5B,KAAK;gBAQC,2BAA2B,EAAA,CAAA;sBADjC,KAAK;gBAQC,WAAW,EAAA,CAAA;sBADjB,MAAM;;;MElHI,gCAAgC,CAAA;AAf7C,IAAA,WAAA,GAAA;AAkBE;;;AAGG;AACI,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,WAAW,CAAkB,EAAE,CAAC,CAAC;AAS1D;;;AAGG;QAEI,IAAK,CAAA,KAAA,GAAkB,QAAQ,CAAC;AAEvC;;;AAGG;QAEI,IAAU,CAAA,UAAA,GAA2B,MAAM,CAAC;AAEnD;;;AAGG;QAEI,IAAe,CAAA,eAAA,GAAoB,SAAS,CAAC;AAEpD;;;AAGG;QAEI,IAAqB,CAAA,qBAAA,GAAa,IAAI,CAAC;AAE9C;;;AAGG;QAEI,IAAsB,CAAA,sBAAA,GAAa,IAAI,CAAC;AAE/C;;;AAGG;QAEI,IAAI,CAAA,IAAA,GAAG,MAAM,CAAC;AAErB;;;AAGG;QAEI,IAAQ,CAAA,QAAA,GAAG,IAAI,CAAC;AASvB;;AAEG;QAEI,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;AAEvB;;;AAGG;QAEI,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AAQxB;;;AAGG;QAEI,IAAO,CAAA,OAAA,GAAa,EAAE,CAAC;AAE9B;;AAEG;AAEI,QAAA,IAAA,CAAA,cAAc,GAAG,IAAI,YAAY,EAAmB,CAAC;AAE5D;;AAEG;AAEI,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAe,CAAC;AAErD;;AAEG;AAEI,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,YAAY,EAAQ,CAAC;AAEhD;;;AAGG;AACc,QAAA,IAAA,CAAA,aAAa,GAAiB,IAAI,YAAY,EAAE,CAAC;AA4JnE,KAAA;AApJC;;;AAGG;IACH,QAAQ,GAAA;QACN,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAC9B;AAED;;;AAGG;IACH,eAAe,GAAA;QACb,IAAI,CAAC,wBAAwB,EAAE,CAAC;KACjC;AAED;;;AAGG;AACH,IAAA,WAAW,CAAC,OAAsB,EAAA;QAChC,IAAI,OAAO,EAAE;YACX,IAAI,CAAC,qBAAqB,EAAE,CAAC;SAC9B;KACF;AAED;;;AAGG;IACK,qBAAqB,GAAA;QAC3B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CACvD,SAAS,CAAC,EAAE,CAAC,EACb,GAAG,CAAC,KAAK,IAAG;AACV,YAAA,MAAM,MAAM,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,KAAK,GAAG,KAAK,EAAE,SAAS,CAAC;AACpE,YAAA,OAAO,MAAM;AACX,kBAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;kBAC3B,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,EAAE,KAAK,EAAE,CAAC;SAClC,CAAC,CACH,CAAC;KACH;AAED;;;AAGG;IACI,wBAAwB,GAAA;AAC7B,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;AACvD,QAAA,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;AAEvD,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAC3C,QAAA,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;KAC5C;AAED;;;AAGG;IACK,oBAAoB,GAAA;QAC1B,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,MAAK;YAChD,UAAU,CAAC,MAAK;gBACd,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC;gBACxD,IAAI,KAAK,EAAE;AACT,oBAAA,KAAK,CAAC,gBAAgB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;iBAC5D;AACH,aAAC,CAAC,CAAC;AACL,SAAC,CAAC,CAAC;KACJ;AAED;;;AAGG;IACK,oBAAoB,GAAA;QAC1B,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,MAAK;YAChD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC;YACxD,IAAI,KAAK,EAAE;AACT,gBAAA,KAAK,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;aAC/D;AACH,SAAC,CAAC,CAAC;KACJ;AAED;;;AAGG;AACK,IAAA,QAAQ,CAAC,KAAY,EAAA;AAC3B,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAqB,CAAC;AAC1C,QAAA,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;AAClC,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;AACxC,QAAA,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC;AAExC,QAAA,IAAI,SAAS,GAAG,YAAY,IAAI,YAAY,EAAE;YAC5C,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;KACF;AAED;;;AAGG;IACK,eAAe,GAAA;AACrB,QAAA,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;KAC3B;AAED;;;AAGG;AACI,IAAA,SAAS,CAAC,MAAqB,EAAA;AACpC,QAAA,OAAO,MAAM,EAAE,SAAS,GAAG,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;KAClD;AAED;;;AAGG;AACK,IAAA,cAAc,CAAC,KAAa,EAAA;AAClC,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAExC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAC/B,MAAM,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACrD,CAAC;KACH;AAED;;;AAGG;AACI,IAAA,kBAAkB,CAAC,MAAc,EAAA;QACtC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;KACxC;AAED;;;AAGG;IACI,cAAc,GAAA;QACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACzC;AAED;;;AAGG;IACH,WAAW,GAAA;AACT,QAAA,IAAI,CAAC,aAAa,EAAE,WAAW,EAAE,CAAC;KACnC;+GAnRU,gCAAgC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAhC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,gCAAgC,EC3C7C,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gCAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,YAAA,EAAA,KAAA,EAAA,OAAA,EAAA,UAAA,EAAA,YAAA,EAAA,eAAA,EAAA,iBAAA,EAAA,qBAAA,EAAA,uBAAA,EAAA,sBAAA,EAAA,wBAAA,EAAA,IAAA,EAAA,MAAA,EAAA,QAAA,EAAA,UAAA,EAAA,UAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,WAAA,EAAA,aAAA,EAAA,OAAA,EAAA,SAAA,EAAA,EAAA,OAAA,EAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,WAAA,EAAA,aAAA,EAAA,aAAA,EAAA,eAAA,EAAA,EAAA,WAAA,EAAA,CAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,KAAA,EAAA,IAAA,EAAA,SAAA,EAAA,CAAA,MAAA,CAAA,EAAA,WAAA,EAAA,IAAA,EAAA,CAAA,EAAA,aAAA,EAAA,IAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,8tCAmCA,EDHI,MAAA,EAAA,CAAA,+jBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,OAAO,sEACP,SAAS,EAAA,IAAA,EAAA,OAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACT,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,QAAA,EAAA,wIAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,cAAc,EACd,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,yHAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,IAAA,EAAA,aAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,mBAAA,EAAA,kBAAA,EAAA,OAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,kBAAkB,EAClB,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,iNACnB,qBAAqB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,OAAA,EAAA,8BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,yBAAA,EAAA,4BAAA,EAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAKZ,gCAAgC,EAAA,UAAA,EAAA,CAAA;kBAf5C,SAAS;+BACE,gCAAgC,EAAA,UAAA,EAC9B,IAAI,EACP,OAAA,EAAA;wBACP,OAAO;wBACP,SAAS;wBACT,WAAW;wBACX,cAAc;wBACd,kBAAkB;wBAClB,mBAAmB;wBACnB,qBAAqB;AACtB,qBAAA,EAAA,QAAA,EAAA,8tCAAA,EAAA,MAAA,EAAA,CAAA,+jBAAA,CAAA,EAAA,CAAA;8BAkBM,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAQC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAQC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAQC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAQC,qBAAqB,EAAA,CAAA;sBAD3B,KAAK;gBAQC,sBAAsB,EAAA,CAAA;sBAD5B,KAAK;gBAQC,IAAI,EAAA,CAAA;sBADV,KAAK;gBAQC,QAAQ,EAAA,CAAA;sBADd,KAAK;gBAQC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAOC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAQC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAcC,OAAO,EAAA,CAAA;sBADb,KAAK;gBAOC,cAAc,EAAA,CAAA;sBADpB,MAAM;gBAOA,WAAW,EAAA,CAAA;sBADjB,MAAM;gBAOA,aAAa,EAAA,CAAA;sBADnB,MAAM;gBAaY,eAAe,EAAA,CAAA;sBAAjC,SAAS;uBAAC,MAAM,CAAA;;;MExHN,qCAAqC,CAAA;AAlBlD,IAAA,WAAA,GAAA;AAqBE;;AAEG;QAEI,IAAU,CAAA,UAAA,GAAG,EAAE,CAAC;AAEvB;;;AAGG;QAEI,IAAW,CAAA,WAAA,GAAG,EAAE,CAAC;AASxB;;;AAGG;QAEI,IAAK,CAAA,KAAA,GAAkB,QAAQ,CAAC;AAEvC;;;AAGG;QAEI,IAAe,CAAA,eAAA,GAAoB,SAAS,CAAC;AASpD;;;AAGG;QAEI,IAAU,CAAA,UAAA,GAA2B,MAAM,CAAC;AAEnD;;;AAGG;AACI,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,WAAW,CAAC,EAAE,CAAC,CAAC;AAEzC;;;AAGG;QACI,IAAQ,CAAA,QAAA,GAAa,EAAE,CAAC;AAE/B;;AAEG;AAEI,QAAA,IAAA,CAAA,WAAW,GAAG,IAAI,YAAY,EAAe,CAAC;AAErD;;AAEG;AAEI,QAAA,IAAA,CAAA,gBAAgB,GAAG,IAAI,YAAY,EAAuB,CAAC;AAElE;;;AAGG;AACa,QAAA,IAAA,CAAA,kBAAkB,GAAa,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE9D;;;AAGG;QAEI,IAAW,CAAA,WAAA,GAAa,EAAE,CAAC;AA8GnC,KAAA;AAhGC;;;AAGG;IACH,QAAQ,GAAA;QACN,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;AAED;;;AAGG;AACH,IAAA,WAAW,CAAC,OAAsB,EAAA;AAChC,QAAA,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE;YAC1B,IAAI,CAAC,sBAAsB,EAAE,CAAC;SAC/B;KACF;AAED;;;AAGG;IACK,sBAAsB,GAAA;QAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CACxD,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,CAAC,OAAsB,KACzB,OAAO;cACH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAC/B,cAAE,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,EAAE,KAAK,EAAE,CACrC,CACF,CAAC;KACH;AAED;;;AAGG;AACI,IAAA,MAAM,CAAC,OAAe,EAAA;QAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAE7C,QAAA,IAAI,KAAK,IAAI,CAAC,EAAE;YACd,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAC/B,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;KACF;AAED;;;AAGG;IACI,cAAc,GAAA;QACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;KACzC;AAED;;;AAGG;IACI,iBAAiB,GAAA;QACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;KACzE;AAED;;;AAGG;AACI,IAAA,QAAQ,CAAC,KAAmC,EAAA;AACjD,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;AACjC,QAAA,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAC3C,MAAM,IAAI,MAAM,CAAC,KAAK,KAAK,KAAK,CACjC,CAAC;AAEF,QAAA,IACE,eAAe;AACf,YAAA,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,KAAK,KAAK,eAAe,CAAC,KAAK,CAAC,EACvE;AACA,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpC,IAAI,CAAC,iBAAiB,EAAE,CAAC;SAC1B;QAED,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,KAAK,GAAG,EAAE,CAAC;AAC3C,QAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACjC;AAED;;;AAGG;AACK,IAAA,OAAO,CAAC,KAAa,EAAA;QAC3B,IAAI,CAAC,cAAc,EAAE,CAAC;AACtB,QAAA,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAExC,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,IACpC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACtD,CAAC;KACH;+GAnMU,qCAAqC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAArC,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,qCAAqC,khBCjDlD,k7CAuCA,EAAA,MAAA,EAAA,CAAA,+jBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDJI,OAAO,EACP,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,IAAA,EAAA,SAAS,6CACT,WAAW,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,8MAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,2CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACX,aAAa,EACb,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,IAAA,CAAA,OAAA,EAAA,QAAA,EAAA,UAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,QAAA,EAAA,SAAA,EAAA,SAAA,EAAA,UAAA,CAAA,EAAA,QAAA,EAAA,CAAA,SAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,cAAc,ovBACd,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EACf,kBAAkB,EAClB,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,YAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,oBAAA,EAAA,OAAA,EAAA,YAAA,EAAA,YAAA,EAAA,iBAAA,EAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAA,EAAA,CAAA,QAAA,EAAA,QAAA,EAAA,WAAA,EAAA,EAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,mBAAmB,iNACnB,qBAAqB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,eAAA,EAAA,QAAA,EAAA,kBAAA,EAAA,MAAA,EAAA,CAAA,YAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,uBAAA,EAAA,wBAAA,EAAA,kBAAA,EAAA,YAAA,EAAA,eAAA,EAAA,OAAA,EAAA,8BAAA,CAAA,EAAA,OAAA,EAAA,CAAA,gBAAA,EAAA,QAAA,EAAA,QAAA,EAAA,iBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,iBAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAC,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,IAAA,EAAA,UAAA,CAAA,EAAA,OAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAAD,EAAA,CAAA,sBAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,iBAAA,EAAA,yBAAA,EAAA,4BAAA,EAAA,cAAA,EAAA,yBAAA,CAAA,EAAA,QAAA,EAAA,CAAA,wBAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;4FAMZ,qCAAqC,EAAA,UAAA,EAAA,CAAA;kBAlBjD,SAAS;+BACE,sCAAsC,EAAA,UAAA,EACpC,IAAI,EACP,OAAA,EAAA;wBACP,OAAO;wBACP,SAAS;wBACT,WAAW;wBACX,aAAa;wBACb,cAAc;wBACd,eAAe;wBACf,kBAAkB;wBAClB,mBAAmB;wBACnB,qBAAqB;qBACtB,EACgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,k7CAAA,EAAA,MAAA,EAAA,CAAA,+jBAAA,CAAA,EAAA,CAAA;8BAWxC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAQC,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAQC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAQC,KAAK,EAAA,CAAA;sBADX,KAAK;gBAQC,eAAe,EAAA,CAAA;sBADrB,KAAK;gBAQC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAQC,UAAU,EAAA,CAAA;sBADhB,KAAK;gBAmBC,WAAW,EAAA,CAAA;sBADjB,MAAM;gBAOA,gBAAgB,EAAA,CAAA;sBADtB,MAAM;gBAcA,WAAW,EAAA,CAAA;sBADjB,KAAK;gBAaqB,YAAY,EAAA,CAAA;sBAAtC,SAAS;uBAAC,cAAc,CAAA;;;AEnJ3B;;AAEG;;;;"}
@@ -1,144 +0,0 @@
1
- import { faXmark, faCheck, faCaretUp, faCaretDown } from '@fortawesome/pro-solid-svg-icons';
2
- import * as i1 from '@angular/forms';
3
- import { FormsModule } from '@angular/forms';
4
- import { NgStyle, NgClass, NgFor, NgIf } from '@angular/common';
5
- import * as i2 from '@fortawesome/angular-fontawesome';
6
- import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
7
- import * as i0 from '@angular/core';
8
- import { EventEmitter, Component, Input, Output } from '@angular/core';
9
-
10
- class TkDropdownListComponent {
11
- constructor() {
12
- /**
13
- * Search field input value
14
- * @ignore
15
- */
16
- this.inputValue = '';
17
- /**
18
- * Selected value
19
- * @ignore
20
- */
21
- this.selectedValue = { Value: '', ViewValue: '' };
22
- /**
23
- * Is dropdown list visible
24
- * @ignore
25
- */
26
- this.isDropDownListVisible = false;
27
- /**
28
- * Icon
29
- * @ignore
30
- */
31
- this.faXmark = faXmark;
32
- /**
33
- * Icon
34
- * @ignore
35
- */
36
- this.faCheck = faCheck;
37
- /**
38
- * Icon
39
- * @ignore
40
- */
41
- this.faCaretUp = faCaretUp;
42
- /**
43
- * Icon
44
- * @ignore
45
- */
46
- this.faCaretDown = faCaretDown;
47
- /**
48
- * Dropdown list hint label
49
- * @default ''
50
- */
51
- this.hintLabel = '';
52
- /**
53
- * Dropdown list search field placeholder
54
- * @default ''
55
- */
56
- this.searchFieldPlaceHolder = '';
57
- /**
58
- * Selected value changes handler
59
- */
60
- this.selectedValueChange = new EventEmitter();
61
- }
62
- /**
63
- * @ignore
64
- * Component lifecycle method
65
- */
66
- ngOnInit() {
67
- this.loadData();
68
- }
69
- /**
70
- * @ignore
71
- * Component method to load data
72
- */
73
- loadData() {
74
- if (this.data && this.data.length > 0) {
75
- this.filteredData = this.data.slice();
76
- }
77
- }
78
- /**
79
- * @ignore
80
- * Component method to handle click on dropdown list
81
- */
82
- onClickDropDownList() {
83
- this.isDropDownListVisible = !this.isDropDownListVisible;
84
- }
85
- /**
86
- * @ignore
87
- * Component method to handle click on clear selected value
88
- */
89
- onClickClearSelectedValue() {
90
- this.selectedValue.Value = '';
91
- this.selectedValue.ViewValue = '';
92
- this.selectedValueChange.emit(this.selectedValue.Value);
93
- }
94
- /**
95
- * @ignore
96
- * Component method to handle click on clear input value
97
- */
98
- onClickClearInputValue() {
99
- this.inputValue = '';
100
- this.filter();
101
- }
102
- /**
103
- * @ignore
104
- * Component method to handle click on dropdown list item
105
- */
106
- onClickListItem(item) {
107
- this.selectedValue.Value = item.Value;
108
- this.selectedValue.ViewValue = item.ViewValue;
109
- this.selectedValueChange.emit(item.Value);
110
- }
111
- /**
112
- * @ignore
113
- * Component method to filter data
114
- */
115
- filter() {
116
- const filterValue = this.inputValue.toLowerCase();
117
- this.filteredData = this.data.filter(option => String(option.ViewValue).toLowerCase().trim().includes(filterValue));
118
- }
119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: TkDropdownListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
120
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: TkDropdownListComponent, isStandalone: true, selector: "lib-tk-dropdown-list", inputs: { data: "data", hintLabel: "hintLabel", searchFieldPlaceHolder: "searchFieldPlaceHolder", width: "width", backgroundColor: "backgroundColor" }, outputs: { selectedValueChange: "selectedValueChange" }, ngImport: i0, template: "<div class=\"dropdown__list\">\n <div\n class=\"dropdown__list__selected__item__field\"\n [ngStyle]=\"{ 'background-color': backgroundColor, width: width }\">\n <label [attr.aria-label]=\"selectedValue.ViewValue\" for=\"selectedValue\">\n <input\n class=\"dropdown__list__selected__item\"\n type=\"text\"\n readonly=\"true\"\n id=\"selectedValue\"\n name=\"selectedValue\"\n [value]=\"\n selectedValue.ViewValue ? selectedValue.ViewValue : hintLabel\n \" />\n </label>\n <fa-icon\n class=\"dropdown__list__clear__mark__icon\"\n [icon]=\"faXmark\"\n *ngIf=\"selectedValue.ViewValue !== ''\"\n (click)=\"onClickClearSelectedValue()\"></fa-icon>\n <fa-icon\n class=\"dropdown__list__caret__icon\"\n [icon]=\"isDropDownListVisible ? faCaretUp : faCaretDown\"\n (click)=\"onClickDropDownList()\"></fa-icon>\n </div>\n <div\n [class]=\"\n isDropDownListVisible\n ? 'dropdown__list__collapsible--open dropdown__list__collapsible'\n : 'dropdown__list__collapsible'\n \"\n [ngStyle]=\"{ 'background-color': backgroundColor, width: width }\">\n <div class=\"dropdown__list__search__field\">\n <input\n class=\"dropdown__list__search__field__input\"\n type=\"text\"\n (input)=\"filter()\"\n (focus)=\"filter()\"\n [(ngModel)]=\"inputValue\"\n [placeholder]=\"searchFieldPlaceHolder\" />\n <fa-icon\n class=\"dropdown__list__clear__mark__icon\"\n [icon]=\"faXmark\"\n *ngIf=\"inputValue !== ''\"\n (click)=\"onClickClearInputValue()\"></fa-icon>\n </div>\n <ul class=\"dropdown__list__items\">\n <li\n [ngClass]=\"\n filteredValue.ViewValue === selectedValue.ViewValue\n ? 'dropdown__list__item dropdown__list__item--selected'\n : 'dropdown__list__item'\n \"\n tabindex=\"0\"\n (click)=\"onClickListItem(filteredValue)\"\n *ngFor=\"let filteredValue of filteredData\"\n (keydown.enter)=\"onClickListItem(filteredValue)\">\n {{ filteredValue.ViewValue }}\n <fa-icon\n class=\"dropdown__list__item__checked__icon\"\n [icon]=\"faCheck\"\n *ngIf=\"filteredValue.ViewValue === selectedValue.ViewValue\"></fa-icon>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box;font-family:Roboto,sans-serif}.dropdown__list{position:relative}.dropdown__list__selected__item__field{width:13rem;display:flex;align-items:center;padding:.3rem 0rem;flex-flow:row nowrap;justify-content:space-between;border-bottom:1.2px solid black}.dropdown__list__selected__item{width:100%;border:none;outline:none;display:flex;align-items:center;flex-flow:row nowrap;background:transparent;justify-content:flex-start;font-size:clamp(.8rem,.675rem + .333vw,.975rem)}.dropdown__list__caret__icon{margin:0 .5rem}.dropdown__list__caret__icon:hover{scale:1.3;cursor:pointer;transition:all ease-in-out .1s}.dropdown__list__collapsible{top:100%;height:0;opacity:0;gap:.5rem;width:13rem;z-index:100;display:flex;overflow:hidden;position:absolute;align-items:center;padding:.5rem .3rem;justify-content:center;flex-flow:column nowrap;background-color:#fff;transition:all .4s ease-in-out}.dropdown__list__collapsible--open{opacity:1;max-height:10rem;height:fit-content}.dropdown__list__collapsible--open .dropdown__list__search__field,.dropdown__list__collapsible--open .dropdown__list__items{display:flex}.dropdown__list__search__field{width:100%;display:none;align-items:center;border-radius:.5rem;padding:.3rem .5rem;justify-content:center;border:1px solid black}.dropdown__list__search__field__input{width:100%;border:none;outline:none;font-weight:500;background:transparent;font-size:clamp(.8rem,.675rem + .333vw,.975rem)}.dropdown__list__clear__mark__icon{margin:0 .5rem}.dropdown__list__clear__mark__icon:hover{scale:1.3;cursor:pointer;transition:all ease-in-out .1s}.dropdown__list__items{width:100%;height:100%;display:none;overflow-y:auto;padding:.1rem 0;align-items:flex-start;flex-flow:column nowrap}.dropdown__list__item{width:100%;display:flex;cursor:pointer;list-style:none;align-items:center;flex-flow:row nowrap;padding:.3rem .2rem;transition:font-size .3s;justify-content:space-between;font-size:clamp(.8rem,.675rem + .333vw,.975rem)}.dropdown__list__item:hover{font-size:1rem;background-color:#d3d3d3}.dropdown__list__item--selected{background-color:#c1efc3}.dropdown__list__item__checked__icon{color:#2ba130}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] }); }
121
- }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: TkDropdownListComponent, decorators: [{
123
- type: Component,
124
- args: [{ selector: 'lib-tk-dropdown-list', standalone: true, imports: [NgStyle, NgClass, NgFor, NgIf, FormsModule, FontAwesomeModule], template: "<div class=\"dropdown__list\">\n <div\n class=\"dropdown__list__selected__item__field\"\n [ngStyle]=\"{ 'background-color': backgroundColor, width: width }\">\n <label [attr.aria-label]=\"selectedValue.ViewValue\" for=\"selectedValue\">\n <input\n class=\"dropdown__list__selected__item\"\n type=\"text\"\n readonly=\"true\"\n id=\"selectedValue\"\n name=\"selectedValue\"\n [value]=\"\n selectedValue.ViewValue ? selectedValue.ViewValue : hintLabel\n \" />\n </label>\n <fa-icon\n class=\"dropdown__list__clear__mark__icon\"\n [icon]=\"faXmark\"\n *ngIf=\"selectedValue.ViewValue !== ''\"\n (click)=\"onClickClearSelectedValue()\"></fa-icon>\n <fa-icon\n class=\"dropdown__list__caret__icon\"\n [icon]=\"isDropDownListVisible ? faCaretUp : faCaretDown\"\n (click)=\"onClickDropDownList()\"></fa-icon>\n </div>\n <div\n [class]=\"\n isDropDownListVisible\n ? 'dropdown__list__collapsible--open dropdown__list__collapsible'\n : 'dropdown__list__collapsible'\n \"\n [ngStyle]=\"{ 'background-color': backgroundColor, width: width }\">\n <div class=\"dropdown__list__search__field\">\n <input\n class=\"dropdown__list__search__field__input\"\n type=\"text\"\n (input)=\"filter()\"\n (focus)=\"filter()\"\n [(ngModel)]=\"inputValue\"\n [placeholder]=\"searchFieldPlaceHolder\" />\n <fa-icon\n class=\"dropdown__list__clear__mark__icon\"\n [icon]=\"faXmark\"\n *ngIf=\"inputValue !== ''\"\n (click)=\"onClickClearInputValue()\"></fa-icon>\n </div>\n <ul class=\"dropdown__list__items\">\n <li\n [ngClass]=\"\n filteredValue.ViewValue === selectedValue.ViewValue\n ? 'dropdown__list__item dropdown__list__item--selected'\n : 'dropdown__list__item'\n \"\n tabindex=\"0\"\n (click)=\"onClickListItem(filteredValue)\"\n *ngFor=\"let filteredValue of filteredData\"\n (keydown.enter)=\"onClickListItem(filteredValue)\">\n {{ filteredValue.ViewValue }}\n <fa-icon\n class=\"dropdown__list__item__checked__icon\"\n [icon]=\"faCheck\"\n *ngIf=\"filteredValue.ViewValue === selectedValue.ViewValue\"></fa-icon>\n </li>\n </ul>\n </div>\n</div>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box;font-family:Roboto,sans-serif}.dropdown__list{position:relative}.dropdown__list__selected__item__field{width:13rem;display:flex;align-items:center;padding:.3rem 0rem;flex-flow:row nowrap;justify-content:space-between;border-bottom:1.2px solid black}.dropdown__list__selected__item{width:100%;border:none;outline:none;display:flex;align-items:center;flex-flow:row nowrap;background:transparent;justify-content:flex-start;font-size:clamp(.8rem,.675rem + .333vw,.975rem)}.dropdown__list__caret__icon{margin:0 .5rem}.dropdown__list__caret__icon:hover{scale:1.3;cursor:pointer;transition:all ease-in-out .1s}.dropdown__list__collapsible{top:100%;height:0;opacity:0;gap:.5rem;width:13rem;z-index:100;display:flex;overflow:hidden;position:absolute;align-items:center;padding:.5rem .3rem;justify-content:center;flex-flow:column nowrap;background-color:#fff;transition:all .4s ease-in-out}.dropdown__list__collapsible--open{opacity:1;max-height:10rem;height:fit-content}.dropdown__list__collapsible--open .dropdown__list__search__field,.dropdown__list__collapsible--open .dropdown__list__items{display:flex}.dropdown__list__search__field{width:100%;display:none;align-items:center;border-radius:.5rem;padding:.3rem .5rem;justify-content:center;border:1px solid black}.dropdown__list__search__field__input{width:100%;border:none;outline:none;font-weight:500;background:transparent;font-size:clamp(.8rem,.675rem + .333vw,.975rem)}.dropdown__list__clear__mark__icon{margin:0 .5rem}.dropdown__list__clear__mark__icon:hover{scale:1.3;cursor:pointer;transition:all ease-in-out .1s}.dropdown__list__items{width:100%;height:100%;display:none;overflow-y:auto;padding:.1rem 0;align-items:flex-start;flex-flow:column nowrap}.dropdown__list__item{width:100%;display:flex;cursor:pointer;list-style:none;align-items:center;flex-flow:row nowrap;padding:.3rem .2rem;transition:font-size .3s;justify-content:space-between;font-size:clamp(.8rem,.675rem + .333vw,.975rem)}.dropdown__list__item:hover{font-size:1rem;background-color:#d3d3d3}.dropdown__list__item--selected{background-color:#c1efc3}.dropdown__list__item__checked__icon{color:#2ba130}\n"] }]
125
- }], propDecorators: { data: [{
126
- type: Input
127
- }], hintLabel: [{
128
- type: Input
129
- }], searchFieldPlaceHolder: [{
130
- type: Input
131
- }], width: [{
132
- type: Input
133
- }], backgroundColor: [{
134
- type: Input
135
- }], selectedValueChange: [{
136
- type: Output
137
- }] } });
138
-
139
- /**
140
- * Generated bundle index. Do not edit.
141
- */
142
-
143
- export { TkDropdownListComponent };
144
- //# sourceMappingURL=tekus-design-system-components-tk-dropdown-list.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tekus-design-system-components-tk-dropdown-list.mjs","sources":["../../../projects/design-system/components/tk-dropdown-list/tk-dropdown-list.component.ts","../../../projects/design-system/components/tk-dropdown-list/tk-dropdown-list.component.html","../../../projects/design-system/components/tk-dropdown-list/tekus-design-system-components-tk-dropdown-list.ts"],"sourcesContent":["import {\n faXmark,\n faCheck,\n faCaretUp,\n faCaretDown,\n} from '@fortawesome/pro-solid-svg-icons';\nimport { FormsModule } from '@angular/forms';\nimport { NgClass, NgFor, NgIf, NgStyle } from '@angular/common';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { DropdownListItem } from './models/dropdown-list-item.model';\nimport { Input, Output, OnInit, Component, EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'lib-tk-dropdown-list',\n standalone: true,\n imports: [NgStyle, NgClass, NgFor, NgIf, FormsModule, FontAwesomeModule],\n templateUrl: './tk-dropdown-list.component.html',\n styleUrls: ['./tk-dropdown-list.component.scss'],\n})\nexport class TkDropdownListComponent implements OnInit {\n /**\n * Search field input value\n * @ignore\n */\n public inputValue = '';\n\n /**\n * Selected value\n * @ignore\n */\n public selectedValue = { Value: '', ViewValue: '' };\n\n /**\n * Filtered data\n * @ignore\n */\n public filteredData!: DropdownListItem[];\n\n /**\n * Is dropdown list visible\n * @ignore\n */\n public isDropDownListVisible = false;\n\n /**\n * Icon\n * @ignore\n */\n public readonly faXmark = faXmark;\n /**\n * Icon\n * @ignore\n */\n public readonly faCheck = faCheck;\n /**\n * Icon\n * @ignore\n */\n public readonly faCaretUp = faCaretUp;\n /**\n * Icon\n * @ignore\n */\n public readonly faCaretDown = faCaretDown;\n\n /**\n * Data for dropdown list\n */\n @Input() data!: DropdownListItem[];\n\n /**\n * Dropdown list hint label\n * @default ''\n */\n @Input()\n hintLabel = '';\n\n /**\n * Dropdown list search field placeholder\n * @default ''\n */\n @Input()\n searchFieldPlaceHolder = '';\n\n /**\n * Width of the dropdown list\n * @default 13rem\n */\n @Input()\n width?: string;\n\n /**\n * What background color to use\n * @default #fff\n */\n @Input()\n backgroundColor?: string;\n\n /**\n * Selected value changes handler\n */\n @Output()\n selectedValueChange = new EventEmitter<string>();\n\n /**\n * @ignore\n * Component lifecycle method\n */\n ngOnInit(): void {\n this.loadData();\n }\n\n /**\n * @ignore\n * Component method to load data\n */\n private loadData(): void {\n if (this.data && this.data.length > 0) {\n this.filteredData = this.data.slice();\n }\n }\n\n /**\n * @ignore\n * Component method to handle click on dropdown list\n */\n public onClickDropDownList(): void {\n this.isDropDownListVisible = !this.isDropDownListVisible;\n }\n\n /**\n * @ignore\n * Component method to handle click on clear selected value\n */\n public onClickClearSelectedValue(): void {\n this.selectedValue.Value = '';\n this.selectedValue.ViewValue = '';\n this.selectedValueChange.emit(this.selectedValue.Value);\n }\n\n /**\n * @ignore\n * Component method to handle click on clear input value\n */\n public onClickClearInputValue(): void {\n this.inputValue = '';\n this.filter();\n }\n\n /**\n * @ignore\n * Component method to handle click on dropdown list item\n */\n public onClickListItem(item: DropdownListItem): void {\n this.selectedValue.Value = item.Value;\n this.selectedValue.ViewValue = item.ViewValue;\n this.selectedValueChange.emit(item.Value);\n }\n\n /**\n * @ignore\n * Component method to filter data\n */\n public filter(): void {\n const filterValue = this.inputValue.toLowerCase();\n this.filteredData = this.data.filter(option =>\n String(option.ViewValue).toLowerCase().trim().includes(filterValue)\n );\n }\n}\n","<div class=\"dropdown__list\">\n <div\n class=\"dropdown__list__selected__item__field\"\n [ngStyle]=\"{ 'background-color': backgroundColor, width: width }\">\n <label [attr.aria-label]=\"selectedValue.ViewValue\" for=\"selectedValue\">\n <input\n class=\"dropdown__list__selected__item\"\n type=\"text\"\n readonly=\"true\"\n id=\"selectedValue\"\n name=\"selectedValue\"\n [value]=\"\n selectedValue.ViewValue ? selectedValue.ViewValue : hintLabel\n \" />\n </label>\n <fa-icon\n class=\"dropdown__list__clear__mark__icon\"\n [icon]=\"faXmark\"\n *ngIf=\"selectedValue.ViewValue !== ''\"\n (click)=\"onClickClearSelectedValue()\"></fa-icon>\n <fa-icon\n class=\"dropdown__list__caret__icon\"\n [icon]=\"isDropDownListVisible ? faCaretUp : faCaretDown\"\n (click)=\"onClickDropDownList()\"></fa-icon>\n </div>\n <div\n [class]=\"\n isDropDownListVisible\n ? 'dropdown__list__collapsible--open dropdown__list__collapsible'\n : 'dropdown__list__collapsible'\n \"\n [ngStyle]=\"{ 'background-color': backgroundColor, width: width }\">\n <div class=\"dropdown__list__search__field\">\n <input\n class=\"dropdown__list__search__field__input\"\n type=\"text\"\n (input)=\"filter()\"\n (focus)=\"filter()\"\n [(ngModel)]=\"inputValue\"\n [placeholder]=\"searchFieldPlaceHolder\" />\n <fa-icon\n class=\"dropdown__list__clear__mark__icon\"\n [icon]=\"faXmark\"\n *ngIf=\"inputValue !== ''\"\n (click)=\"onClickClearInputValue()\"></fa-icon>\n </div>\n <ul class=\"dropdown__list__items\">\n <li\n [ngClass]=\"\n filteredValue.ViewValue === selectedValue.ViewValue\n ? 'dropdown__list__item dropdown__list__item--selected'\n : 'dropdown__list__item'\n \"\n tabindex=\"0\"\n (click)=\"onClickListItem(filteredValue)\"\n *ngFor=\"let filteredValue of filteredData\"\n (keydown.enter)=\"onClickListItem(filteredValue)\">\n {{ filteredValue.ViewValue }}\n <fa-icon\n class=\"dropdown__list__item__checked__icon\"\n [icon]=\"faCheck\"\n *ngIf=\"filteredValue.ViewValue === selectedValue.ViewValue\"></fa-icon>\n </li>\n </ul>\n </div>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, ViewChild, Input, Output } from '@angular/core';
3
- import * as i1 from '@angular/forms';
4
- import { FormsModule } from '@angular/forms';
5
- import { NgIf, NgStyle, NgClass } from '@angular/common';
6
- import * as i2 from '@fortawesome/angular-fontawesome';
7
- import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
8
- import { faXmark, faMagnifyingGlass } from '@fortawesome/pro-solid-svg-icons';
9
-
10
- class TkSearchBarComponent {
11
- constructor() {
12
- this.inputValue = '';
13
- this.faXmark = faXmark;
14
- this.faMagnifyingGlass = faMagnifyingGlass;
15
- /**
16
- * Search bar hint label
17
- */
18
- this.hintLabel = '';
19
- /**
20
- * Input changes handler
21
- */
22
- this.inputValueChange = new EventEmitter();
23
- }
24
- onInputChange() {
25
- this.inputValueChange.emit(this.inputValue);
26
- }
27
- onMouseEnter() {
28
- this.searchInput.nativeElement.focus();
29
- }
30
- onInputClear() {
31
- this.inputValue = '';
32
- this.inputValueChange.emit('');
33
- }
34
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: TkSearchBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
35
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: TkSearchBarComponent, isStandalone: true, selector: "lib-tk-search-bar", inputs: { hintLabel: "hintLabel", backgroundColor: "backgroundColor" }, outputs: { inputValueChange: "inputValueChange" }, viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }], ngImport: i0, template: "<div\n class=\"search__bar\"\n (mouseenter)=\"onMouseEnter()\"\n [ngStyle]=\"{ 'background-color': backgroundColor }\">\n <input\n class=\"search__bar__input\"\n type=\"text\"\n #searchInput\n [(ngModel)]=\"inputValue\"\n [placeholder]=\"hintLabel\"\n (input)=\"onInputChange()\" />\n <fa-icon\n class=\"search__bar__clear__mark__icon\"\n [icon]=\"faXmark\"\n *ngIf=\"inputValue !== ''\"\n (click)=\"onInputClear()\"></fa-icon>\n <fa-icon [icon]=\"faMagnifyingGlass\"></fa-icon>\n</div>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.search__bar{display:flex;cursor:pointer;max-width:15rem;padding:.3rem 0;width:fit-content;align-items:center;justify-content:center;background-color:#fff}.search__bar:hover{border-bottom:2px solid black}.search__bar:hover .search__bar__input{width:13rem}.search__bar__input{width:0;border:none;outline:none;font-weight:500;background:transparent;transition:all ease-in-out .5s;font-size:clamp(.8rem,.675rem + .333vw,.975rem)}.search__bar__input:focus{width:13rem}.search__bar__clear__mark__icon{margin:0 .5rem}.search__bar__clear__mark__icon:hover{scale:1.3;transition:all ease-in-out .1s}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: FontAwesomeModule }, { kind: "component", type: i2.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "animation", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] }); }
36
- }
37
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: TkSearchBarComponent, decorators: [{
38
- type: Component,
39
- args: [{ selector: 'lib-tk-search-bar', standalone: true, imports: [NgIf, NgClass, NgStyle, FormsModule, FontAwesomeModule], template: "<div\n class=\"search__bar\"\n (mouseenter)=\"onMouseEnter()\"\n [ngStyle]=\"{ 'background-color': backgroundColor }\">\n <input\n class=\"search__bar__input\"\n type=\"text\"\n #searchInput\n [(ngModel)]=\"inputValue\"\n [placeholder]=\"hintLabel\"\n (input)=\"onInputChange()\" />\n <fa-icon\n class=\"search__bar__clear__mark__icon\"\n [icon]=\"faXmark\"\n *ngIf=\"inputValue !== ''\"\n (click)=\"onInputClear()\"></fa-icon>\n <fa-icon [icon]=\"faMagnifyingGlass\"></fa-icon>\n</div>\n", styles: ["*{margin:0;padding:0;box-sizing:border-box}.search__bar{display:flex;cursor:pointer;max-width:15rem;padding:.3rem 0;width:fit-content;align-items:center;justify-content:center;background-color:#fff}.search__bar:hover{border-bottom:2px solid black}.search__bar:hover .search__bar__input{width:13rem}.search__bar__input{width:0;border:none;outline:none;font-weight:500;background:transparent;transition:all ease-in-out .5s;font-size:clamp(.8rem,.675rem + .333vw,.975rem)}.search__bar__input:focus{width:13rem}.search__bar__clear__mark__icon{margin:0 .5rem}.search__bar__clear__mark__icon:hover{scale:1.3;transition:all ease-in-out .1s}\n"] }]
40
- }], propDecorators: { searchInput: [{
41
- type: ViewChild,
42
- args: ['searchInput', { static: false }]
43
- }], hintLabel: [{
44
- type: Input
45
- }], backgroundColor: [{
46
- type: Input
47
- }], inputValueChange: [{
48
- type: Output
49
- }] } });
50
-
51
- /**
52
- * Generated bundle index. Do not edit.
53
- */
54
-
55
- export { TkSearchBarComponent };
56
- //# sourceMappingURL=tekus-design-system-components-tk-search-bar.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tekus-design-system-components-tk-search-bar.mjs","sources":["../../../projects/design-system/components/tk-search-bar/tk-search-bar.component.ts","../../../projects/design-system/components/tk-search-bar/tk-search-bar.component.html","../../../projects/design-system/components/tk-search-bar/tekus-design-system-components-tk-search-bar.ts"],"sourcesContent":["import {\n Input,\n Output,\n Component,\n ViewChild,\n ElementRef,\n EventEmitter,\n} from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { NgClass, NgStyle, NgIf } from '@angular/common';\nimport { FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { faMagnifyingGlass, faXmark } from '@fortawesome/pro-solid-svg-icons';\n\n@Component({\n selector: 'lib-tk-search-bar',\n standalone: true,\n imports: [NgIf, NgClass, NgStyle, FormsModule, FontAwesomeModule],\n templateUrl: './tk-search-bar.component.html',\n styleUrls: ['./tk-search-bar.component.scss'],\n})\nexport class TkSearchBarComponent {\n public inputValue = '';\n public readonly faXmark = faXmark;\n public readonly faMagnifyingGlass = faMagnifyingGlass;\n\n @ViewChild('searchInput', { static: false }) searchInput!: ElementRef;\n\n /**\n * Search bar hint label\n */\n @Input()\n hintLabel = '';\n\n /**\n * What background color to use\n */\n @Input()\n backgroundColor?: string;\n\n /**\n * Input changes handler\n */\n @Output()\n inputValueChange = new EventEmitter<string>();\n\n public onInputChange(): void {\n this.inputValueChange.emit(this.inputValue);\n }\n\n public onMouseEnter(): void {\n this.searchInput.nativeElement.focus();\n }\n\n public onInputClear() {\n this.inputValue = '';\n this.inputValueChange.emit('');\n }\n}\n","<div\n class=\"search__bar\"\n (mouseenter)=\"onMouseEnter()\"\n [ngStyle]=\"{ 'background-color': backgroundColor }\">\n <input\n class=\"search__bar__input\"\n type=\"text\"\n #searchInput\n [(ngModel)]=\"inputValue\"\n [placeholder]=\"hintLabel\"\n (input)=\"onInputChange()\" />\n <fa-icon\n class=\"search__bar__clear__mark__icon\"\n [icon]=\"faXmark\"\n *ngIf=\"inputValue !== ''\"\n (click)=\"onInputClear()\"></fa-icon>\n <fa-icon [icon]=\"faMagnifyingGlass\"></fa-icon>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import { NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet } from '@angular/common';
2
- import * as i0 from '@angular/core';
3
- import { Component, Input } from '@angular/core';
4
-
5
- class TkTypographyComponent {
6
- constructor() {
7
- this.size = '';
8
- this.color = '';
9
- this.weight = '';
10
- this.type = 'body1';
11
- this.lineBreak = false;
12
- }
13
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: TkTypographyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
14
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: TkTypographyComponent, isStandalone: true, selector: "lib-tk-typography", inputs: { size: "size", color: "color", weight: "weight", type: "type", lineBreak: "lineBreak" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <h1\n *ngSwitchCase=\"'h1-heading'\"\n class=\"general h1-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h1>\n <h2\n *ngSwitchCase=\"'h2-heading'\"\n class=\"general h2-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h2>\n <h3\n *ngSwitchCase=\"'h3-heading'\"\n class=\"general h3-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h3>\n <h4\n *ngSwitchCase=\"'h4-heading'\"\n class=\"general h4-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h4>\n <h5\n *ngSwitchCase=\"'h5-heading'\"\n class=\"general h5-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h5>\n <h6\n *ngSwitchCase=\"'h6-heading'\"\n class=\"general h6-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h6>\n <h3\n *ngSwitchCase=\"'subtitle1'\"\n class=\"general subtitle1\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h3>\n <h3\n *ngSwitchCase=\"'subtitle2'\"\n class=\"general subtitle2\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h3>\n <p\n *ngSwitchCase=\"'body1'\"\n class=\"general body1\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </p>\n <p\n *ngSwitchCase=\"'body2'\"\n class=\"general body2\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </p>\n <p\n *ngSwitchCase=\"'p1-paragraph'\"\n class=\"general p1-paragraph\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </p>\n <p\n *ngSwitchCase=\"'underline-text'\"\n class=\"general underline-text\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </p>\n <p\n *ngSwitchDefault\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </p>\n</ng-container>\n\n<ng-template #text>\n <ng-content></ng-content>\n</ng-template>\n", styles: [".general{font-family:Poppins,sans-serif;padding:0;margin:0}.h1-heading{font-size:var(--tk-typography-h1-heading-fontSize);font-weight:var(--tk-typography-h1-heading-fontWeight)}.h2-heading{font-size:var(--tk-typography-h2-heading-fontSize);font-weight:var(--tk-typography-h2-heading-fontWeight)}.h3-heading{font-size:var(--tk-typography-h3-heading-fontSize);font-weight:var(--tk-typography-h3-heading-fontWeight)}.h4-heading{font-size:var(--tk-typography-h4-heading-fontSize);font-weight:var(--tk-typography-h4-heading-fontWeight)}.h5-heading{font-size:var(--tk-typography-h5-heading-fontSize);font-weight:var(--tk-typography-h5-heading-fontWeight)}.h6-heading{font-size:var(--tk-typography-h6-heading-fontSize);font-weight:var(--tk-typography-h6-heading-fontWeight)}.subtitle1{font-size:var(--tk-typography-subtitle1-fontSize);font-weight:var(--tk-typography-subtitle1-fontWeight)}.subtitle2{font-size:var(--tk-typography-subtitle2-fontSize);font-weight:var(--tk-typography-subtitle2-fontWeight)}.body1{font-size:var(--tk-typography-body1-fontSize);font-weight:var(--tk-typography-body1-fontWeight)}.body2{font-size:var(--tk-typography-body2-fontSize);font-weight:var(--tk-typography-body2-fontWeight)}.p1-paragraph{font-size:var(--tk-typography-p1-paragraph-fontSize);font-weight:var(--tk-typography-p1-paragraph-fontWeight)}.underline-text{font-size:var(--tk-typography-underline-fontSize);font-weight:var(--tk-typography-underline-fontWeight);text-decoration:\"underline\"}.color-tk-color-primary-900{color:var(--tk-color-primary-900)}.color-tk-color-primary-800{color:var(--tk-color-primary-800)}.color-tk-color-primary-700{color:var(--tk-color-primary-700)}.color-tk-color-primary-600{color:var(--tk-color-primary-600)}.color-tk-color-primary-500{color:var(--tk-color-primary-500)}.color-tk-color-primary-400{color:var(--tk-color-primary-400)}.color-tk-color-primary-300{color:var(--tk-color-primary-300)}.color-tk-color-primary-200{color:var(--tk-color-primary-200)}.color-tk-color-primary-100{color:var(--tk-color-primary-100)}.color-tk-color-primary{color:var(--tk-color-primary-900)}.color-tk-color-secondary-900{color:var(--tk-color-secondary-900)}.color-tk-color-secondary-800{color:var(--tk-color-secondary-800)}.color-tk-color-secondary-700{color:var(--tk-color-secondary-700)}.color-tk-color-secondary-600{color:var(--tk-color-secondary-600)}.color-tk-color-secondary-500{color:var(--tk-color-secondary-500)}.color-tk-color-secondary-400{color:var(--tk-color-secondary-400)}.color-tk-color-secondary-300{color:var(--tk-color-secondary-300)}.color-tk-color-secondary-200{color:var(--tk-color-secondary-200)}.color-tk-color-secondary-100{color:var(--tk-color-secondary-100)}.color-tk-color-secondary{color:var(--tk-color-secondary-900)}.color-tk-color-accent-900{color:var(--tk-color-accent-900)}.color-tk-color-accent-800{color:var(--tk-color-accent-800)}.color-tk-color-accent-700{color:var(--tk-color-accent-700)}.color-tk-color-accent-600{color:var(--tk-color-accent-600)}.color-tk-color-accent-500{color:var(--tk-color-accent-500)}.color-tk-color-accent-400{color:var(--tk-color-accent-400)}.color-tk-color-accent-300{color:var(--tk-color-accent-300)}.color-tk-color-accent-200{color:var(--tk-color-accent-200)}.color-tk-color-accent-100{color:var(--tk-color-accent-100)}.color-tk-color-accent{color:var(--tk-color-accent-500)}.color-tk-color-neutral-900{color:var(--tk-color-neutral-900)}.color-tk-color-neutral-800{color:var(--tk-color-neutral-800)}.color-tk-color-neutral-700{color:var(--tk-color-neutral-700)}.color-tk-color-neutral-600{color:var(--tk-color-neutral-600)}.color-tk-color-neutral-500{color:var(--tk-color-neutral-500)}.color-tk-color-neutral-400{color:var(--tk-color-neutral-400)}.color-tk-color-neutral-300{color:var(--tk-color-neutral-300)}.color-tk-color-neutral-200{color:var(--tk-color-neutral-200)}.color-tk-color-neutral-100{color:var(--tk-color-neutral-100)}.color-tk-color-neutral{color:var(--tk-color-neutral-500)}.color-tk-color-success-900{color:var(--tk-color-success-900)}.color-tk-color-success-800{color:var(--tk-color-success-800)}.color-tk-color-success-700{color:var(--tk-color-success-700)}.color-tk-color-success-600{color:var(--tk-color-success-600)}.color-tk-color-success-500{color:var(--tk-color-success-500)}.color-tk-color-success-400{color:var(--tk-color-success-400)}.color-tk-color-success-300{color:var(--tk-color-success-300)}.color-tk-color-success-200{color:var(--tk-color-success-200)}.color-tk-color-success-100{color:var(--tk-color-success-100)}.color-tk-color-success{color:var(--tk-color-success-500)}.color-tk-color-danger-900{color:var(--tk-color-danger-900)}.color-tk-color-danger-800{color:var(--tk-color-danger-800)}.color-tk-color-danger-700{color:var(--tk-color-danger-700)}.color-tk-color-danger-600{color:var(--tk-color-danger-600)}.color-tk-color-danger-500{color:var(--tk-color-danger-500)}.color-tk-color-danger-400{color:var(--tk-color-danger-400)}.color-tk-color-danger-300{color:var(--tk-color-danger-300)}.color-tk-color-danger-200{color:var(--tk-color-danger-200)}.color-tk-color-danger-100{color:var(--tk-color-danger-100)}.color-tk-color-danger{color:var(--tk-color-danger-500)}.color-tk-color-info-900{color:var(--tk-color-info-900)}.color-tk-color-info-800{color:var(--tk-color-info-800)}.color-tk-color-info-700{color:var(--tk-color-info-700)}.color-tk-color-info-600{color:var(--tk-color-info-600)}.color-tk-color-info-500{color:var(--tk-color-info-500)}.color-tk-color-info-400{color:var(--tk-color-info-400)}.color-tk-color-info-300{color:var(--tk-color-info-300)}.color-tk-color-info-200{color:var(--tk-color-info-200)}.color-tk-color-info-100{color:var(--tk-color-info-100)}.color-tk-color-info{color:var(--tk-color-info-500)}.color-tk-color-warning-900{color:var(--tk-color-warning-900)}.color-tk-color-warning-800{color:var(--tk-color-warning-800)}.color-tk-color-warning-700{color:var(--tk-color-warning-700)}.color-tk-color-warning-600{color:var(--tk-color-warning-600)}.color-tk-color-warning-500{color:var(--tk-color-warning-500)}.color-tk-color-warning-400{color:var(--tk-color-warning-400)}.color-tk-color-warning-300{color:var(--tk-color-warning-300)}.color-tk-color-warning-200{color:var(--tk-color-warning-200)}.color-tk-color-warning-100{color:var(--tk-color-warning-100)}.color-tk-color-warning{color:var(--tk-color-warning-500)}.color-tk-color-white,.color-tk-color-white-900{color:var(--tk-color-white-900)}.color-tk-color-white-800{color:var(--tk-color-white-800)}.color-tk-color-black,.color-tk-color-black-900{color:var(--tk-color-black-900)}.color-tk-color-text-900{color:var(--tk-color-text-900)}.color-tk-color-text-800{color:var(--tk-color-text-800)}.color-tk-color-text-700{color:var(--tk-color-text-700)}.color-tk-color-text-600{color:var(--tk-color-text-600)}.color-tk-color-text-500,.color-tk-color-text{color:var(--tk-color-text-500)}.color-tk-color-text-primary-900{color:var(--tk-color-text-primary-900)}.color-tk-color-text-primary-800{color:var(--tk-color-text-primary-800)}.color-tk-color-text-primary-700{color:var(--tk-color-text-primary-700)}.color-tk-color-text-primary-500{color:var(--tk-color-text-primary-500)}.color-tk-color-text-primary-400{color:var(--tk-color-text-primary-400)}.color-tk-color-text-primary-300{color:var(--tk-color-text-primary-300)}.color-tk-color-text-primary-200{color:var(--tk-color-text-primary-200)}.color-tk-color-text-primary-100{color:var(--tk-color-text-primary-100)}.color-tk-color-text-primary{color:var(--tk-color-text-primary-500)}.color-tk-color-text-secondary-900{color:var(--tk-color-text-secondary-900)}.color-tk-color-text-secondary-800{color:var(--tk-color-text-secondary-800)}.color-tk-color-text-secondary-700{color:var(--tk-color-text-secondary-700)}.color-tk-color-text-secondary-500{color:var(--tk-color-text-secondary-500)}.color-tk-color-text-secondary-400{color:var(--tk-color-text-secondary-400)}.color-tk-color-text-secondary-300{color:var(--tk-color-text-secondary-300)}.color-tk-color-text-secondary-200{color:var(--tk-color-text-secondary-200)}.color-tk-color-text-secondary-100{color:var(--tk-color-text-secondary-100)}.color-tk-color-text-secondary{color:var(--tk-color-text-secondary-500)}.color-tk-color-text-accent-900{color:var(--tk-color-text-accent-900)}.color-tk-color-text-accent-800{color:var(--tk-color-text-accent-800)}.color-tk-color-text-accent-700{color:var(--tk-color-text-accent-700)}.color-tk-color-text-accent-500{color:var(--tk-color-text-accent-500)}.color-tk-color-text-accent-400{color:var(--tk-color-text-accent-400)}.color-tk-color-text-accent-300{color:var(--tk-color-text-accent-300)}.color-tk-color-text-accent-200{color:var(--tk-color-text-accent-200)}.color-tk-color-text-accent-100{color:var(--tk-color-text-accent-100)}.color-tk-color-text-accent{color:var(--tk-color-text-accent-500)}\n"], dependencies: [{ kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
15
- }
16
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: TkTypographyComponent, decorators: [{
17
- type: Component,
18
- args: [{ selector: 'lib-tk-typography', standalone: true, imports: [NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet], template: "<ng-container [ngSwitch]=\"type\">\n <h1\n *ngSwitchCase=\"'h1-heading'\"\n class=\"general h1-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h1>\n <h2\n *ngSwitchCase=\"'h2-heading'\"\n class=\"general h2-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h2>\n <h3\n *ngSwitchCase=\"'h3-heading'\"\n class=\"general h3-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h3>\n <h4\n *ngSwitchCase=\"'h4-heading'\"\n class=\"general h4-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h4>\n <h5\n *ngSwitchCase=\"'h5-heading'\"\n class=\"general h5-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h5>\n <h6\n *ngSwitchCase=\"'h6-heading'\"\n class=\"general h6-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h6>\n <h3\n *ngSwitchCase=\"'subtitle1'\"\n class=\"general subtitle1\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h3>\n <h3\n *ngSwitchCase=\"'subtitle2'\"\n class=\"general subtitle2\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h3>\n <p\n *ngSwitchCase=\"'body1'\"\n class=\"general body1\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </p>\n <p\n *ngSwitchCase=\"'body2'\"\n class=\"general body2\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </p>\n <p\n *ngSwitchCase=\"'p1-paragraph'\"\n class=\"general p1-paragraph\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </p>\n <p\n *ngSwitchCase=\"'underline-text'\"\n class=\"general underline-text\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </p>\n <p\n *ngSwitchDefault\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </p>\n</ng-container>\n\n<ng-template #text>\n <ng-content></ng-content>\n</ng-template>\n", styles: [".general{font-family:Poppins,sans-serif;padding:0;margin:0}.h1-heading{font-size:var(--tk-typography-h1-heading-fontSize);font-weight:var(--tk-typography-h1-heading-fontWeight)}.h2-heading{font-size:var(--tk-typography-h2-heading-fontSize);font-weight:var(--tk-typography-h2-heading-fontWeight)}.h3-heading{font-size:var(--tk-typography-h3-heading-fontSize);font-weight:var(--tk-typography-h3-heading-fontWeight)}.h4-heading{font-size:var(--tk-typography-h4-heading-fontSize);font-weight:var(--tk-typography-h4-heading-fontWeight)}.h5-heading{font-size:var(--tk-typography-h5-heading-fontSize);font-weight:var(--tk-typography-h5-heading-fontWeight)}.h6-heading{font-size:var(--tk-typography-h6-heading-fontSize);font-weight:var(--tk-typography-h6-heading-fontWeight)}.subtitle1{font-size:var(--tk-typography-subtitle1-fontSize);font-weight:var(--tk-typography-subtitle1-fontWeight)}.subtitle2{font-size:var(--tk-typography-subtitle2-fontSize);font-weight:var(--tk-typography-subtitle2-fontWeight)}.body1{font-size:var(--tk-typography-body1-fontSize);font-weight:var(--tk-typography-body1-fontWeight)}.body2{font-size:var(--tk-typography-body2-fontSize);font-weight:var(--tk-typography-body2-fontWeight)}.p1-paragraph{font-size:var(--tk-typography-p1-paragraph-fontSize);font-weight:var(--tk-typography-p1-paragraph-fontWeight)}.underline-text{font-size:var(--tk-typography-underline-fontSize);font-weight:var(--tk-typography-underline-fontWeight);text-decoration:\"underline\"}.color-tk-color-primary-900{color:var(--tk-color-primary-900)}.color-tk-color-primary-800{color:var(--tk-color-primary-800)}.color-tk-color-primary-700{color:var(--tk-color-primary-700)}.color-tk-color-primary-600{color:var(--tk-color-primary-600)}.color-tk-color-primary-500{color:var(--tk-color-primary-500)}.color-tk-color-primary-400{color:var(--tk-color-primary-400)}.color-tk-color-primary-300{color:var(--tk-color-primary-300)}.color-tk-color-primary-200{color:var(--tk-color-primary-200)}.color-tk-color-primary-100{color:var(--tk-color-primary-100)}.color-tk-color-primary{color:var(--tk-color-primary-900)}.color-tk-color-secondary-900{color:var(--tk-color-secondary-900)}.color-tk-color-secondary-800{color:var(--tk-color-secondary-800)}.color-tk-color-secondary-700{color:var(--tk-color-secondary-700)}.color-tk-color-secondary-600{color:var(--tk-color-secondary-600)}.color-tk-color-secondary-500{color:var(--tk-color-secondary-500)}.color-tk-color-secondary-400{color:var(--tk-color-secondary-400)}.color-tk-color-secondary-300{color:var(--tk-color-secondary-300)}.color-tk-color-secondary-200{color:var(--tk-color-secondary-200)}.color-tk-color-secondary-100{color:var(--tk-color-secondary-100)}.color-tk-color-secondary{color:var(--tk-color-secondary-900)}.color-tk-color-accent-900{color:var(--tk-color-accent-900)}.color-tk-color-accent-800{color:var(--tk-color-accent-800)}.color-tk-color-accent-700{color:var(--tk-color-accent-700)}.color-tk-color-accent-600{color:var(--tk-color-accent-600)}.color-tk-color-accent-500{color:var(--tk-color-accent-500)}.color-tk-color-accent-400{color:var(--tk-color-accent-400)}.color-tk-color-accent-300{color:var(--tk-color-accent-300)}.color-tk-color-accent-200{color:var(--tk-color-accent-200)}.color-tk-color-accent-100{color:var(--tk-color-accent-100)}.color-tk-color-accent{color:var(--tk-color-accent-500)}.color-tk-color-neutral-900{color:var(--tk-color-neutral-900)}.color-tk-color-neutral-800{color:var(--tk-color-neutral-800)}.color-tk-color-neutral-700{color:var(--tk-color-neutral-700)}.color-tk-color-neutral-600{color:var(--tk-color-neutral-600)}.color-tk-color-neutral-500{color:var(--tk-color-neutral-500)}.color-tk-color-neutral-400{color:var(--tk-color-neutral-400)}.color-tk-color-neutral-300{color:var(--tk-color-neutral-300)}.color-tk-color-neutral-200{color:var(--tk-color-neutral-200)}.color-tk-color-neutral-100{color:var(--tk-color-neutral-100)}.color-tk-color-neutral{color:var(--tk-color-neutral-500)}.color-tk-color-success-900{color:var(--tk-color-success-900)}.color-tk-color-success-800{color:var(--tk-color-success-800)}.color-tk-color-success-700{color:var(--tk-color-success-700)}.color-tk-color-success-600{color:var(--tk-color-success-600)}.color-tk-color-success-500{color:var(--tk-color-success-500)}.color-tk-color-success-400{color:var(--tk-color-success-400)}.color-tk-color-success-300{color:var(--tk-color-success-300)}.color-tk-color-success-200{color:var(--tk-color-success-200)}.color-tk-color-success-100{color:var(--tk-color-success-100)}.color-tk-color-success{color:var(--tk-color-success-500)}.color-tk-color-danger-900{color:var(--tk-color-danger-900)}.color-tk-color-danger-800{color:var(--tk-color-danger-800)}.color-tk-color-danger-700{color:var(--tk-color-danger-700)}.color-tk-color-danger-600{color:var(--tk-color-danger-600)}.color-tk-color-danger-500{color:var(--tk-color-danger-500)}.color-tk-color-danger-400{color:var(--tk-color-danger-400)}.color-tk-color-danger-300{color:var(--tk-color-danger-300)}.color-tk-color-danger-200{color:var(--tk-color-danger-200)}.color-tk-color-danger-100{color:var(--tk-color-danger-100)}.color-tk-color-danger{color:var(--tk-color-danger-500)}.color-tk-color-info-900{color:var(--tk-color-info-900)}.color-tk-color-info-800{color:var(--tk-color-info-800)}.color-tk-color-info-700{color:var(--tk-color-info-700)}.color-tk-color-info-600{color:var(--tk-color-info-600)}.color-tk-color-info-500{color:var(--tk-color-info-500)}.color-tk-color-info-400{color:var(--tk-color-info-400)}.color-tk-color-info-300{color:var(--tk-color-info-300)}.color-tk-color-info-200{color:var(--tk-color-info-200)}.color-tk-color-info-100{color:var(--tk-color-info-100)}.color-tk-color-info{color:var(--tk-color-info-500)}.color-tk-color-warning-900{color:var(--tk-color-warning-900)}.color-tk-color-warning-800{color:var(--tk-color-warning-800)}.color-tk-color-warning-700{color:var(--tk-color-warning-700)}.color-tk-color-warning-600{color:var(--tk-color-warning-600)}.color-tk-color-warning-500{color:var(--tk-color-warning-500)}.color-tk-color-warning-400{color:var(--tk-color-warning-400)}.color-tk-color-warning-300{color:var(--tk-color-warning-300)}.color-tk-color-warning-200{color:var(--tk-color-warning-200)}.color-tk-color-warning-100{color:var(--tk-color-warning-100)}.color-tk-color-warning{color:var(--tk-color-warning-500)}.color-tk-color-white,.color-tk-color-white-900{color:var(--tk-color-white-900)}.color-tk-color-white-800{color:var(--tk-color-white-800)}.color-tk-color-black,.color-tk-color-black-900{color:var(--tk-color-black-900)}.color-tk-color-text-900{color:var(--tk-color-text-900)}.color-tk-color-text-800{color:var(--tk-color-text-800)}.color-tk-color-text-700{color:var(--tk-color-text-700)}.color-tk-color-text-600{color:var(--tk-color-text-600)}.color-tk-color-text-500,.color-tk-color-text{color:var(--tk-color-text-500)}.color-tk-color-text-primary-900{color:var(--tk-color-text-primary-900)}.color-tk-color-text-primary-800{color:var(--tk-color-text-primary-800)}.color-tk-color-text-primary-700{color:var(--tk-color-text-primary-700)}.color-tk-color-text-primary-500{color:var(--tk-color-text-primary-500)}.color-tk-color-text-primary-400{color:var(--tk-color-text-primary-400)}.color-tk-color-text-primary-300{color:var(--tk-color-text-primary-300)}.color-tk-color-text-primary-200{color:var(--tk-color-text-primary-200)}.color-tk-color-text-primary-100{color:var(--tk-color-text-primary-100)}.color-tk-color-text-primary{color:var(--tk-color-text-primary-500)}.color-tk-color-text-secondary-900{color:var(--tk-color-text-secondary-900)}.color-tk-color-text-secondary-800{color:var(--tk-color-text-secondary-800)}.color-tk-color-text-secondary-700{color:var(--tk-color-text-secondary-700)}.color-tk-color-text-secondary-500{color:var(--tk-color-text-secondary-500)}.color-tk-color-text-secondary-400{color:var(--tk-color-text-secondary-400)}.color-tk-color-text-secondary-300{color:var(--tk-color-text-secondary-300)}.color-tk-color-text-secondary-200{color:var(--tk-color-text-secondary-200)}.color-tk-color-text-secondary-100{color:var(--tk-color-text-secondary-100)}.color-tk-color-text-secondary{color:var(--tk-color-text-secondary-500)}.color-tk-color-text-accent-900{color:var(--tk-color-text-accent-900)}.color-tk-color-text-accent-800{color:var(--tk-color-text-accent-800)}.color-tk-color-text-accent-700{color:var(--tk-color-text-accent-700)}.color-tk-color-text-accent-500{color:var(--tk-color-text-accent-500)}.color-tk-color-text-accent-400{color:var(--tk-color-text-accent-400)}.color-tk-color-text-accent-300{color:var(--tk-color-text-accent-300)}.color-tk-color-text-accent-200{color:var(--tk-color-text-accent-200)}.color-tk-color-text-accent-100{color:var(--tk-color-text-accent-100)}.color-tk-color-text-accent{color:var(--tk-color-text-accent-500)}\n"] }]
19
- }], propDecorators: { size: [{
20
- type: Input
21
- }], color: [{
22
- type: Input
23
- }], weight: [{
24
- type: Input
25
- }], type: [{
26
- type: Input
27
- }], lineBreak: [{
28
- type: Input
29
- }] } });
30
-
31
- /**
32
- * Generated bundle index. Do not edit.
33
- */
34
-
35
- export { TkTypographyComponent };
36
- //# sourceMappingURL=tekus-design-system-components-tk-typography.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tekus-design-system-components-tk-typography.mjs","sources":["../../../projects/design-system/components/tk-typography/tk-typography.component.ts","../../../projects/design-system/components/tk-typography/tk-typography.component.html","../../../projects/design-system/components/tk-typography/tekus-design-system-components-tk-typography.ts"],"sourcesContent":["import {\n NgSwitch,\n NgSwitchCase,\n NgSwitchDefault,\n NgTemplateOutlet,\n} from '@angular/common';\nimport { Component, Input } from '@angular/core';\n\n@Component({\n selector: 'lib-tk-typography',\n standalone: true,\n imports: [NgSwitch, NgSwitchCase, NgSwitchDefault, NgTemplateOutlet],\n templateUrl: './tk-typography.component.html',\n styleUrl: './tk-typography.component.scss',\n})\nexport class TkTypographyComponent {\n @Input() size: string = '';\n @Input() color: string = '';\n @Input() weight: string = '';\n @Input() type:\n | 'h1-heading'\n | 'h2-heading'\n | 'h3-heading'\n | 'h4-heading'\n | 'h5-heading'\n | 'h6-heading'\n | 'subtitle1'\n | 'subtitle2'\n | 'body1'\n | 'body2'\n | 'p1-paragraph'\n | 'underline-text' = 'body1';\n @Input() lineBreak: boolean = false;\n}\n","<ng-container [ngSwitch]=\"type\">\n <h1\n *ngSwitchCase=\"'h1-heading'\"\n class=\"general h1-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h1>\n <h2\n *ngSwitchCase=\"'h2-heading'\"\n class=\"general h2-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h2>\n <h3\n *ngSwitchCase=\"'h3-heading'\"\n class=\"general h3-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h3>\n <h4\n *ngSwitchCase=\"'h4-heading'\"\n class=\"general h4-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h4>\n <h5\n *ngSwitchCase=\"'h5-heading'\"\n class=\"general h5-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h5>\n <h6\n *ngSwitchCase=\"'h6-heading'\"\n class=\"general h6-heading\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h6>\n <h3\n *ngSwitchCase=\"'subtitle1'\"\n class=\"general subtitle1\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h3>\n <h3\n *ngSwitchCase=\"'subtitle2'\"\n class=\"general subtitle2\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </h3>\n <p\n *ngSwitchCase=\"'body1'\"\n class=\"general body1\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </p>\n <p\n *ngSwitchCase=\"'body2'\"\n class=\"general body2\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </p>\n <p\n *ngSwitchCase=\"'p1-paragraph'\"\n class=\"general p1-paragraph\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </p>\n <p\n *ngSwitchCase=\"'underline-text'\"\n class=\"general underline-text\"\n [class]=\"'color-' + color\"\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </p>\n <p\n *ngSwitchDefault\n [class.line-break]=\"lineBreak\"\n [style.font-size]=\"size\"\n [style.font-weight]=\"weight\">\n <ng-container *ngTemplateOutlet=\"text\"></ng-container>\n </p>\n</ng-container>\n\n<ng-template #text>\n <ng-content></ng-content>\n</ng-template>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;MAea,qBAAqB,CAAA;AAPlC,IAAA,WAAA,GAAA;QAQW,IAAI,CAAA,IAAA,GAAW,EAAE,CAAC;QAClB,IAAK,CAAA,KAAA,GAAW,EAAE,CAAC;QACnB,IAAM,CAAA,MAAA,GAAW,EAAE,CAAC;QACpB,IAAI,CAAA,IAAA,GAYU,OAAO,CAAC;QACtB,IAAS,CAAA,SAAA,GAAY,KAAK,CAAC;AACrC,KAAA;+GAlBY,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;mGAArB,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,mBAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,MAAA,EAAA,KAAA,EAAA,OAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,SAAA,EAAA,WAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,ECflC,gsHAyHA,ED9GY,MAAA,EAAA,CAAA,knRAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,QAAQ,6EAAE,YAAY,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,CAAA,cAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,eAAe,EAAA,QAAA,EAAA,mBAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,EAAA,CAAA,CAAA,EAAA;;4FAIxD,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBAPjC,SAAS;+BACE,mBAAmB,EAAA,UAAA,EACjB,IAAI,EAAA,OAAA,EACP,CAAC,QAAQ,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAA,QAAA,EAAA,gsHAAA,EAAA,MAAA,EAAA,CAAA,knRAAA,CAAA,EAAA,CAAA;8BAK3D,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBACG,KAAK,EAAA,CAAA;sBAAb,KAAK;gBACG,MAAM,EAAA,CAAA;sBAAd,KAAK;gBACG,IAAI,EAAA,CAAA;sBAAZ,KAAK;gBAaG,SAAS,EAAA,CAAA;sBAAjB,KAAK;;;AEhCR;;AAEG;;;;"}
@@ -1,91 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Injectable } from '@angular/core';
3
-
4
- class TypographyService {
5
- initTheme(customTypography = null) {
6
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
7
- const root = document.querySelector(':root');
8
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
9
- const classList = customTypography ?? this.getDefaultTypographyStyles();
10
- for (const key in classList) {
11
- const element = classList[key];
12
- for (const key2 in element) {
13
- const element2 = element[key2];
14
- root.style.setProperty(`--tk-typography-${key}-${key2}`, element2);
15
- }
16
- }
17
- }
18
- getDefaultTypographyStyles() {
19
- return {
20
- general: {
21
- fontFamily: '"Poppins", sans-serif',
22
- padding: 0,
23
- margin: 0,
24
- },
25
- 'h1-heading': {
26
- fontSize: '4.5rem',
27
- fontWeight: 700,
28
- },
29
- 'h2-heading': {
30
- fontSize: '3.875rem',
31
- fontWeight: 700,
32
- },
33
- 'h3-heading': {
34
- fontSize: '3.125rem',
35
- fontWeight: 700,
36
- },
37
- 'h4-heading': {
38
- fontSize: '2.5rem',
39
- fontWeight: 700,
40
- },
41
- 'h5-heading': {
42
- fontSize: '2rem',
43
- fontWeight: 700,
44
- },
45
- 'h6-heading': {
46
- fontSize: '1.5rem',
47
- fontWeight: 700,
48
- },
49
- subtitle1: {
50
- fontSize: '2.5rem',
51
- fontWeight: 400,
52
- },
53
- subtitle2: {
54
- fontSize: '2rem',
55
- fontWeight: 400,
56
- },
57
- body1: {
58
- fontSize: '1.5rem',
59
- fontWeight: 400,
60
- },
61
- body2: {
62
- fontSize: '1.25rem',
63
- fontWeight: 400,
64
- },
65
- 'p1-paragraph': {
66
- fontSize: '2.5rem',
67
- fontWeight: 400,
68
- },
69
- 'underline-text': {
70
- fontSize: '2rem',
71
- fontWeight: 400,
72
- textDecoration: 'underline',
73
- },
74
- };
75
- }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: TypographyService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
77
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: TypographyService, providedIn: 'root' }); }
78
- }
79
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: TypographyService, decorators: [{
80
- type: Injectable,
81
- args: [{
82
- providedIn: 'root',
83
- }]
84
- }] });
85
-
86
- /**
87
- * Generated bundle index. Do not edit.
88
- */
89
-
90
- export { TypographyService };
91
- //# sourceMappingURL=tekus-design-system-services-typography.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tekus-design-system-services-typography.mjs","sources":["../../../projects/design-system/services/typography/typography.service.ts","../../../projects/design-system/services/typography/tekus-design-system-services-typography.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { TypographyStyles } from './models/typographyStyles.model';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TypographyService {\n public initTheme(customTypography: TypographyStyles | null = null) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const root = document.querySelector<any>(':root');\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const classList: any =\n customTypography ?? this.getDefaultTypographyStyles();\n for (const key in classList) {\n const element = classList[key];\n for (const key2 in element) {\n const element2 = element[key2];\n root.style.setProperty(`--tk-typography-${key}-${key2}`, element2);\n }\n }\n }\n\n public getDefaultTypographyStyles(): TypographyStyles {\n return {\n general: {\n fontFamily: '\"Poppins\", sans-serif',\n padding: 0,\n margin: 0,\n },\n 'h1-heading': {\n fontSize: '4.5rem',\n fontWeight: 700,\n },\n 'h2-heading': {\n fontSize: '3.875rem',\n fontWeight: 700,\n },\n 'h3-heading': {\n fontSize: '3.125rem',\n fontWeight: 700,\n },\n 'h4-heading': {\n fontSize: '2.5rem',\n fontWeight: 700,\n },\n 'h5-heading': {\n fontSize: '2rem',\n fontWeight: 700,\n },\n 'h6-heading': {\n fontSize: '1.5rem',\n fontWeight: 700,\n },\n subtitle1: {\n fontSize: '2.5rem',\n fontWeight: 400,\n },\n subtitle2: {\n fontSize: '2rem',\n fontWeight: 400,\n },\n body1: {\n fontSize: '1.5rem',\n fontWeight: 400,\n },\n body2: {\n fontSize: '1.25rem',\n fontWeight: 400,\n },\n 'p1-paragraph': {\n fontSize: '2.5rem',\n fontWeight: 400,\n },\n 'underline-text': {\n fontSize: '2rem',\n fontWeight: 400,\n textDecoration: 'underline',\n },\n };\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export * from './typography.service';
@@ -1,8 +0,0 @@
1
- import { TypographyStyles } from './models/typographyStyles.model';
2
- import * as i0 from "@angular/core";
3
- export declare class TypographyService {
4
- initTheme(customTypography?: TypographyStyles | null): void;
5
- getDefaultTypographyStyles(): TypographyStyles;
6
- static ɵfac: i0.ɵɵFactoryDeclaration<TypographyService, never>;
7
- static ɵprov: i0.ɵɵInjectableDeclaration<TypographyService>;
8
- }