@yuuvis/client-framework 2.0.0-beta.0 → 2.0.0-beta.10

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 (389) hide show
  1. package/actions/lib/actions/delete-action/delete/delete.component.d.ts +3 -3
  2. package/actions/lib/actions/delete-action/delete-action.d.ts +1 -1
  3. package/actions/lib/actions.service.d.ts +7 -3
  4. package/actions/lib/components/contextmenu/contextmenu.component.d.ts +3 -1
  5. package/autocomplete/README.md +3 -0
  6. package/autocomplete/index.d.ts +3 -0
  7. package/autocomplete/lib/autocomplete.component.d.ts +72 -0
  8. package/autocomplete/lib/autocomplete.interface.d.ts +4 -0
  9. package/autocomplete/lib/autocomplete.module.d.ts +7 -0
  10. package/common/index.d.ts +4 -4
  11. package/common/lib/common.module.d.ts +19 -0
  12. package/common/lib/common.utils.d.ts +2 -0
  13. package/common/lib/components/confirm/confirm.component.d.ts +7 -0
  14. package/common/lib/components/confirm/confirm.interface.d.ts +7 -0
  15. package/common/lib/components/confirm/confirm.service.d.ts +9 -0
  16. package/common/lib/components/dialog/dialog.component.d.ts +6 -0
  17. package/common/lib/components/dialog/dialog.options.d.ts +7 -0
  18. package/common/lib/components/index.d.ts +5 -0
  19. package/common/lib/directives/autofocus-child.directive.d.ts +13 -0
  20. package/common/lib/directives/autofocus-delayed.directive.d.ts +18 -0
  21. package/common/lib/directives/drag-scroll.directive.d.ts +20 -0
  22. package/common/lib/directives/index.d.ts +8 -4
  23. package/common/lib/directives/noop-value-accessor.directive.d.ts +2 -2
  24. package/common/lib/mat-form-field.abstract.d.ts +41 -0
  25. package/common/lib/services/index.d.ts +1 -1
  26. package/common/lib/services/layout-settings/layout-settings.service.d.ts +18 -0
  27. package/datepicker/README.md +3 -0
  28. package/datepicker/index.d.ts +5 -0
  29. package/datepicker/lib/calendar/calendar.component.d.ts +72 -0
  30. package/datepicker/lib/date-input/date-input-element/date-input-element.component.d.ts +43 -0
  31. package/datepicker/lib/date-input/date-input-hour-element/date-input-hour-element.component.d.ts +11 -0
  32. package/datepicker/lib/date-input/date-input.component.d.ts +61 -0
  33. package/datepicker/lib/datepicker-calendar/datepicker-calendar-trigger.component.d.ts +7 -0
  34. package/datepicker/lib/datepicker-calendar/datepicker-calendar.component.d.ts +12 -0
  35. package/datepicker/lib/datepicker.component.d.ts +80 -0
  36. package/datepicker/lib/datepicker.interface.d.ts +34 -0
  37. package/datepicker/lib/datepicker.module.d.ts +9 -0
  38. package/datepicker/lib/datepicker.service.d.ts +46 -0
  39. package/datepicker/lib/datepicker.utils.d.ts +23 -0
  40. package/datepicker/lib/time-input/time-input.component.d.ts +36 -0
  41. package/datepicker/lib/time-input/time-input.interface.d.ts +6 -0
  42. package/fesm2022/yuuvis-client-framework-actions.mjs +147 -105
  43. package/fesm2022/yuuvis-client-framework-actions.mjs.map +1 -1
  44. package/fesm2022/yuuvis-client-framework-app-bar.mjs +7 -8
  45. package/fesm2022/yuuvis-client-framework-app-bar.mjs.map +1 -1
  46. package/fesm2022/yuuvis-client-framework-autocomplete.mjs +210 -0
  47. package/fesm2022/yuuvis-client-framework-autocomplete.mjs.map +1 -0
  48. package/fesm2022/yuuvis-client-framework-clipboard.mjs +9 -9
  49. package/fesm2022/yuuvis-client-framework-clipboard.mjs.map +1 -1
  50. package/fesm2022/yuuvis-client-framework-common.mjs +853 -780
  51. package/fesm2022/yuuvis-client-framework-common.mjs.map +1 -1
  52. package/fesm2022/yuuvis-client-framework-datepicker.mjs +1688 -0
  53. package/fesm2022/yuuvis-client-framework-datepicker.mjs.map +1 -0
  54. package/fesm2022/yuuvis-client-framework-forms.mjs +945 -1157
  55. package/fesm2022/yuuvis-client-framework-forms.mjs.map +1 -1
  56. package/fesm2022/yuuvis-client-framework-icons.mjs +85 -12
  57. package/fesm2022/yuuvis-client-framework-icons.mjs.map +1 -1
  58. package/fesm2022/yuuvis-client-framework-list.mjs +81 -45
  59. package/fesm2022/yuuvis-client-framework-list.mjs.map +1 -1
  60. package/fesm2022/yuuvis-client-framework-master-details.mjs +112 -0
  61. package/fesm2022/yuuvis-client-framework-master-details.mjs.map +1 -0
  62. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs +60 -0
  63. package/fesm2022/yuuvis-client-framework-metadata-form-defaults.mjs.map +1 -0
  64. package/fesm2022/yuuvis-client-framework-metadata-form.mjs +125 -100
  65. package/fesm2022/yuuvis-client-framework-metadata-form.mjs.map +1 -1
  66. package/fesm2022/yuuvis-client-framework-object-details.mjs +49 -59
  67. package/fesm2022/yuuvis-client-framework-object-details.mjs.map +1 -1
  68. package/fesm2022/yuuvis-client-framework-object-flavor.mjs +188 -77
  69. package/fesm2022/yuuvis-client-framework-object-flavor.mjs.map +1 -1
  70. package/fesm2022/yuuvis-client-framework-object-form.mjs +99 -184
  71. package/fesm2022/yuuvis-client-framework-object-form.mjs.map +1 -1
  72. package/fesm2022/yuuvis-client-framework-object-preview.mjs +12 -12
  73. package/fesm2022/yuuvis-client-framework-object-preview.mjs.map +1 -1
  74. package/fesm2022/yuuvis-client-framework-object-summary.mjs +46 -42
  75. package/fesm2022/yuuvis-client-framework-object-summary.mjs.map +1 -1
  76. package/fesm2022/yuuvis-client-framework-overflow-menu.mjs +126 -0
  77. package/fesm2022/yuuvis-client-framework-overflow-menu.mjs.map +1 -0
  78. package/fesm2022/yuuvis-client-framework-pagination.mjs +7 -9
  79. package/fesm2022/yuuvis-client-framework-pagination.mjs.map +1 -1
  80. package/fesm2022/yuuvis-client-framework-panel.mjs +8 -7
  81. package/fesm2022/yuuvis-client-framework-panel.mjs.map +1 -1
  82. package/fesm2022/yuuvis-client-framework-popout.mjs +212 -0
  83. package/fesm2022/yuuvis-client-framework-popout.mjs.map +1 -0
  84. package/fesm2022/yuuvis-client-framework-renderer.mjs +99 -72
  85. package/fesm2022/yuuvis-client-framework-renderer.mjs.map +1 -1
  86. package/fesm2022/yuuvis-client-framework-sequence-list.mjs +29 -112
  87. package/fesm2022/yuuvis-client-framework-sequence-list.mjs.map +1 -1
  88. package/fesm2022/yuuvis-client-framework-simple-search.mjs +40 -21
  89. package/fesm2022/yuuvis-client-framework-simple-search.mjs.map +1 -1
  90. package/fesm2022/yuuvis-client-framework-split-view.mjs +188 -0
  91. package/fesm2022/yuuvis-client-framework-split-view.mjs.map +1 -0
  92. package/fesm2022/yuuvis-client-framework-tile-list.mjs +100 -93
  93. package/fesm2022/yuuvis-client-framework-tile-list.mjs.map +1 -1
  94. package/fesm2022/yuuvis-client-framework-tree.mjs +15 -15
  95. package/fesm2022/yuuvis-client-framework-tree.mjs.map +1 -1
  96. package/fesm2022/yuuvis-client-framework-upload-progress.mjs +16 -21
  97. package/fesm2022/yuuvis-client-framework-upload-progress.mjs.map +1 -1
  98. package/fesm2022/yuuvis-client-framework.mjs +4 -4
  99. package/fesm2022/yuuvis-client-framework.mjs.map +1 -1
  100. package/forms/index.d.ts +7 -1
  101. package/forms/lib/elements/catalog/catalog.component.d.ts +17 -56
  102. package/forms/lib/elements/data-grid/edit-table-data/edit-data.component.d.ts +5 -4
  103. package/forms/lib/elements/datetime/datetime.component.d.ts +19 -10
  104. package/forms/lib/elements/datetime-range/datetime-range.component.d.ts +12 -27
  105. package/forms/lib/elements/index.d.ts +0 -1
  106. package/forms/lib/elements/number/number.component.d.ts +21 -30
  107. package/forms/lib/elements/number-range/number-range.component.d.ts +12 -7
  108. package/forms/lib/elements/organization/organization.component.d.ts +23 -51
  109. package/forms/lib/elements/range-select-date/range-select-date.component.d.ts +12 -7
  110. package/forms/lib/elements/range-select-filesize/range-select-filesize.component.d.ts +12 -7
  111. package/forms/lib/elements/string/string.component.d.ts +15 -20
  112. package/forms/lib/forms.module.d.ts +8 -11
  113. package/icons/index.d.ts +1 -0
  114. package/icons/lib/icon.component.d.ts +20 -0
  115. package/lib/assets/i18n/de.json +7 -23
  116. package/lib/assets/i18n/en.json +10 -26
  117. package/list/index.d.ts +1 -0
  118. package/list/lib/list-item.directive.d.ts +5 -4
  119. package/list/lib/list.component.d.ts +6 -3
  120. package/list/lib/list.module.d.ts +8 -0
  121. package/master-details/README.md +3 -0
  122. package/master-details/index.d.ts +2 -0
  123. package/master-details/lib/master-details.component.d.ts +58 -0
  124. package/master-details/lib/master-details.interface.d.ts +7 -0
  125. package/master-details/lib/master-details.module.d.ts +7 -0
  126. package/metadata-form/index.d.ts +4 -1
  127. package/metadata-form/lib/metadata-form-field/metadata-form-field.component.d.ts +4 -17
  128. package/metadata-form/lib/metadata-form-field/metadata-form-field.interface.d.ts +11 -0
  129. package/metadata-form/lib/object-metadata-element-error.directive.d.ts +13 -0
  130. package/metadata-form/lib/object-metadata-element-label.directive.d.ts +10 -0
  131. package/metadata-form/lib/object-metadata-element-template.directive.d.ts +3 -3
  132. package/metadata-form-defaults/README.md +3 -0
  133. package/metadata-form-defaults/index.d.ts +2 -0
  134. package/metadata-form-defaults/lib/metadata-form-defaults.module.d.ts +7 -0
  135. package/object-details/lib/object-audit/object-audit.component.d.ts +3 -9
  136. package/object-details/lib/object-details.component.d.ts +0 -2
  137. package/object-details/lib/object-metadata/object-metadata.component.d.ts +4 -3
  138. package/object-details/lib/retention-badge/retention-badge.component.d.ts +0 -3
  139. package/object-flavor/index.d.ts +1 -0
  140. package/object-flavor/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.d.ts +1 -2
  141. package/object-flavor/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.d.ts +3 -2
  142. package/object-flavor/lib/default-apply-flavor/default-apply-flavor.component.d.ts +19 -0
  143. package/object-flavor/lib/flavor-chip/flavor-chip.component.d.ts +1 -1
  144. package/object-flavor/lib/object-flavor/object-flavor.component.d.ts +3 -6
  145. package/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.d.ts +0 -1
  146. package/object-form/index.d.ts +1 -1
  147. package/object-form/lib/object-form-element/object-form-element.component.d.ts +2 -2
  148. package/object-form/lib/object-form-group/object-form-group.component.d.ts +1 -3
  149. package/object-form/lib/object-form.component.d.ts +2 -2
  150. package/object-form/lib/object-form.interface.d.ts +0 -44
  151. package/object-form/lib/object-form.module.d.ts +7 -0
  152. package/object-form/lib/object-form.service.d.ts +1 -2
  153. package/object-form/lib/object-form.utils.d.ts +1 -1
  154. package/object-summary/lib/object-summary/object-summary.component.d.ts +13 -15
  155. package/overflow-menu/README.md +3 -0
  156. package/overflow-menu/index.d.ts +3 -0
  157. package/overflow-menu/lib/overflow-menu.component.d.ts +31 -0
  158. package/overflow-menu/lib/overflow-menu.interface.d.ts +9 -0
  159. package/overflow-menu/lib/overflow-menu.module.d.ts +7 -0
  160. package/package.json +44 -70
  161. package/popout/README.md +3 -0
  162. package/popout/index.d.ts +3 -0
  163. package/popout/lib/popout.component.d.ts +58 -0
  164. package/popout/lib/popout.interface.d.ts +17 -0
  165. package/popout/lib/popout.module.d.ts +7 -0
  166. package/renderer/lib/property-renderer/abstract.renderer.d.ts +4 -4
  167. package/renderer/lib/property-renderer/icon.renderer.component.d.ts +2 -0
  168. package/renderer/lib/renderer.directive.d.ts +4 -3
  169. package/sequence-list/index.d.ts +0 -1
  170. package/sequence-list/lib/sequence-list.component.d.ts +0 -4
  171. package/simple-search/index.d.ts +0 -1
  172. package/simple-search/lib/simple-search/simple-search.component.d.ts +6 -10
  173. package/split-view/README.md +3 -0
  174. package/split-view/index.d.ts +4 -0
  175. package/split-view/lib/split-area.directive.d.ts +16 -0
  176. package/split-view/lib/split-view.component.d.ts +76 -0
  177. package/split-view/lib/split-view.interface.d.ts +10 -0
  178. package/split-view/lib/split-view.module.d.ts +8 -0
  179. package/styles/client-framework.scss +21 -67
  180. package/tile-list/lib/tile/tile.component.d.ts +1 -2
  181. package/tile-list/lib/tile-config/property-select/property-select.component.d.ts +0 -1
  182. package/tile-list/lib/tile-config/tile-config-trigger/tile-config-trigger.component.d.ts +1 -2
  183. package/tile-list/lib/tile-config/tile-config.component.d.ts +0 -3
  184. package/tile-list/lib/tile-list/tile-list.component.d.ts +5 -5
  185. package/upload-progress/lib/upload-progress/upload-progress-overlay/upload-progress-overlay.component.d.ts +0 -5
  186. package/upload-progress/lib/upload-progress/upload-progress.component.d.ts +0 -4
  187. package/common/lib/components/focus-indicator/focus-indicator.component.d.ts +0 -7
  188. package/common/lib/components/token-input/token-input.component.d.ts +0 -55
  189. package/common/lib/components/token-input/token-input.interface.d.ts +0 -8
  190. package/common/lib/services/error-messages/error-messages.service.d.ts +0 -7
  191. package/esm2022/actions/index.mjs +0 -7
  192. package/esm2022/actions/lib/actions/copy-action/copy-action.mjs +0 -31
  193. package/esm2022/actions/lib/actions/cut-action/cut-action.mjs +0 -30
  194. package/esm2022/actions/lib/actions/delete-action/delete/delete.component.mjs +0 -67
  195. package/esm2022/actions/lib/actions/delete-action/delete-action.mjs +0 -38
  196. package/esm2022/actions/lib/actions/download-action/download-action.mjs +0 -33
  197. package/esm2022/actions/lib/actions.icon.mjs +0 -8
  198. package/esm2022/actions/lib/actions.interface.mjs +0 -19
  199. package/esm2022/actions/lib/actions.module.mjs +0 -16
  200. package/esm2022/actions/lib/actions.service.mjs +0 -89
  201. package/esm2022/actions/lib/components/contextmenu/contextmenu.component.mjs +0 -27
  202. package/esm2022/actions/yuuvis-client-framework-actions.mjs +0 -5
  203. package/esm2022/app-bar/index.mjs +0 -2
  204. package/esm2022/app-bar/lib/app-bar.component.mjs +0 -89
  205. package/esm2022/app-bar/yuuvis-client-framework-app-bar.mjs +0 -5
  206. package/esm2022/clipboard/index.mjs +0 -2
  207. package/esm2022/clipboard/lib/clipboard.component.mjs +0 -48
  208. package/esm2022/clipboard/yuuvis-client-framework-clipboard.mjs +0 -5
  209. package/esm2022/common/index.mjs +0 -7
  210. package/esm2022/common/lib/components/focus-indicator/focus-indicator.component.mjs +0 -41
  211. package/esm2022/common/lib/components/token-input/token-input.component.mjs +0 -324
  212. package/esm2022/common/lib/components/token-input/token-input.interface.mjs +0 -2
  213. package/esm2022/common/lib/directives/busy-overlay.directive.mjs +0 -88
  214. package/esm2022/common/lib/directives/click-double.directive.mjs +0 -61
  215. package/esm2022/common/lib/directives/container-size.directive.mjs +0 -56
  216. package/esm2022/common/lib/directives/drag-select.directive.mjs +0 -114
  217. package/esm2022/common/lib/directives/file-drop-zone/file-drop-zone.directive.mjs +0 -153
  218. package/esm2022/common/lib/directives/file-drop-zone/file-drop-zone.interface.mjs +0 -2
  219. package/esm2022/common/lib/directives/focus-within.directive.mjs +0 -81
  220. package/esm2022/common/lib/directives/index.mjs +0 -9
  221. package/esm2022/common/lib/directives/light-dismiss.directive.mjs +0 -44
  222. package/esm2022/common/lib/directives/longpress.directive.mjs +0 -36
  223. package/esm2022/common/lib/directives/noop-value-accessor.directive.mjs +0 -42
  224. package/esm2022/common/lib/services/error-messages/error-messages.service.mjs +0 -68
  225. package/esm2022/common/lib/services/index.mjs +0 -2
  226. package/esm2022/common/yuuvis-client-framework-common.mjs +0 -5
  227. package/esm2022/forms/index.mjs +0 -24
  228. package/esm2022/forms/lib/elements/catalog/catalog.component.mjs +0 -118
  229. package/esm2022/forms/lib/elements/data-grid/data-grid/data-grid.component.mjs +0 -172
  230. package/esm2022/forms/lib/elements/data-grid/edit-table-data/edit-data.component.mjs +0 -95
  231. package/esm2022/forms/lib/elements/data-grid/model/data-grid.interface.mjs +0 -9
  232. package/esm2022/forms/lib/elements/datetime/datetime.component.mjs +0 -82
  233. package/esm2022/forms/lib/elements/datetime-range/datetime-range.component.mjs +0 -166
  234. package/esm2022/forms/lib/elements/index.mjs +0 -11
  235. package/esm2022/forms/lib/elements/number/number.component.mjs +0 -195
  236. package/esm2022/forms/lib/elements/number-range/number-range.component.mjs +0 -176
  237. package/esm2022/forms/lib/elements/organization/organization.component.mjs +0 -286
  238. package/esm2022/forms/lib/elements/range-select-date/date-range-picker/date-range-picker.component.mjs +0 -38
  239. package/esm2022/forms/lib/elements/range-select-date/range-select-date.component.mjs +0 -181
  240. package/esm2022/forms/lib/elements/range-select-date/range-select-date.interface.mjs +0 -2
  241. package/esm2022/forms/lib/elements/range-select-filesize/range-select-filesize.component.mjs +0 -98
  242. package/esm2022/forms/lib/elements/range-select-filesize/range-select-filesize.interface.mjs +0 -2
  243. package/esm2022/forms/lib/elements/string/string.component.mjs +0 -261
  244. package/esm2022/forms/lib/form-input/form-input.component.mjs +0 -88
  245. package/esm2022/forms/lib/forms.module.mjs +0 -58
  246. package/esm2022/forms/yuuvis-client-framework-forms.mjs +0 -5
  247. package/esm2022/icons/index.mjs +0 -4
  248. package/esm2022/icons/lib/icon.service.mjs +0 -59
  249. package/esm2022/icons/lib/icons.mjs +0 -32
  250. package/esm2022/icons/lib/object-type-icon/object-type-icon.component.mjs +0 -29
  251. package/esm2022/icons/yuuvis-client-framework-icons.mjs +0 -5
  252. package/esm2022/index.mjs +0 -2
  253. package/esm2022/lib/yuuvis-client-framework.module.mjs +0 -15
  254. package/esm2022/list/index.mjs +0 -3
  255. package/esm2022/list/lib/list-item.directive.mjs +0 -72
  256. package/esm2022/list/lib/list.component.mjs +0 -135
  257. package/esm2022/list/yuuvis-client-framework-list.mjs +0 -5
  258. package/esm2022/metadata-form/index.mjs +0 -4
  259. package/esm2022/metadata-form/lib/metadata-default-templates/metadata-default-templates.component.mjs +0 -32
  260. package/esm2022/metadata-form/lib/metadata-form-element-registry.service.mjs +0 -99
  261. package/esm2022/metadata-form/lib/metadata-form-field/metadata-form-field.component.mjs +0 -83
  262. package/esm2022/metadata-form/lib/object-metadata-element-template.directive.mjs +0 -52
  263. package/esm2022/metadata-form/yuuvis-client-framework-metadata-form.mjs +0 -5
  264. package/esm2022/object-details/index.mjs +0 -8
  265. package/esm2022/object-details/lib/object-audit/object-audit.component.mjs +0 -195
  266. package/esm2022/object-details/lib/object-details-shell/object-details-shell.component.mjs +0 -127
  267. package/esm2022/object-details/lib/object-details.component.mjs +0 -61
  268. package/esm2022/object-details/lib/object-metadata/form-section-group.pipe.mjs +0 -17
  269. package/esm2022/object-details/lib/object-metadata/object-metadata.component.mjs +0 -202
  270. package/esm2022/object-details/lib/object-metadata/object-metadata.interface.mjs +0 -2
  271. package/esm2022/object-details/lib/retention-badge/retention-badge.component.mjs +0 -27
  272. package/esm2022/object-details/yuuvis-client-framework-object-details.mjs +0 -5
  273. package/esm2022/object-flavor/index.mjs +0 -6
  274. package/esm2022/object-flavor/lib/abstract-apply-create-flavor/abstract-apply-create-flavor.component.mjs +0 -25
  275. package/esm2022/object-flavor/lib/abstract-apply-object-flavor/abstract-apply-object-flavor.component.mjs +0 -21
  276. package/esm2022/object-flavor/lib/flavor-chip/flavor-chip.component.mjs +0 -35
  277. package/esm2022/object-flavor/lib/object-flavor/object-flavor.component.mjs +0 -93
  278. package/esm2022/object-flavor/lib/object-flavor-picker/object-flavor-picker.component.mjs +0 -43
  279. package/esm2022/object-flavor/yuuvis-client-framework-object-flavor.mjs +0 -5
  280. package/esm2022/object-form/index.mjs +0 -5
  281. package/esm2022/object-form/lib/form-scripting.api.interface.mjs +0 -2
  282. package/esm2022/object-form/lib/form-scripting.service.mjs +0 -160
  283. package/esm2022/object-form/lib/object-form-element/object-form-element.component.mjs +0 -87
  284. package/esm2022/object-form/lib/object-form-extension.interface.mjs +0 -36
  285. package/esm2022/object-form/lib/object-form-group/object-form-group.component.mjs +0 -85
  286. package/esm2022/object-form/lib/object-form-script/form-scripting-element-extension/form-scripting-element-extension.component.mjs +0 -23
  287. package/esm2022/object-form/lib/object-form-script/object-form-script.service.mjs +0 -115
  288. package/esm2022/object-form/lib/object-form-script/object-form-scripting-scope.mjs +0 -251
  289. package/esm2022/object-form/lib/object-form-translate.service.mjs +0 -73
  290. package/esm2022/object-form/lib/object-form.component.mjs +0 -628
  291. package/esm2022/object-form/lib/object-form.interface.mjs +0 -9
  292. package/esm2022/object-form/lib/object-form.model.mjs +0 -20
  293. package/esm2022/object-form/lib/object-form.service.mjs +0 -130
  294. package/esm2022/object-form/lib/object-form.utils.mjs +0 -55
  295. package/esm2022/object-form/lib/object-form.validation.mjs +0 -48
  296. package/esm2022/object-form/yuuvis-client-framework-object-form.mjs +0 -5
  297. package/esm2022/object-preview/index.mjs +0 -3
  298. package/esm2022/object-preview/lib/components/index.mjs +0 -3
  299. package/esm2022/object-preview/lib/components/object-email-preview/object-email-preview.component.mjs +0 -45
  300. package/esm2022/object-preview/lib/components/object-preview/object-preview.component.mjs +0 -78
  301. package/esm2022/object-preview/lib/services/object-preview.service.mjs +0 -119
  302. package/esm2022/object-preview/yuuvis-client-framework-object-preview.mjs +0 -5
  303. package/esm2022/object-summary/index.mjs +0 -5
  304. package/esm2022/object-summary/lib/multi-object-summary/multi-object-summary.component.mjs +0 -33
  305. package/esm2022/object-summary/lib/object-summary/object-summary.component.mjs +0 -275
  306. package/esm2022/object-summary/lib/object-summary-data/object-summary-data.component.mjs +0 -80
  307. package/esm2022/object-summary/lib/object-summary.module.mjs +0 -15
  308. package/esm2022/object-summary/yuuvis-client-framework-object-summary.mjs +0 -5
  309. package/esm2022/pagination/index.mjs +0 -3
  310. package/esm2022/pagination/lib/pagination.component.mjs +0 -46
  311. package/esm2022/pagination/lib/pagination.interface.mjs +0 -2
  312. package/esm2022/pagination/yuuvis-client-framework-pagination.mjs +0 -5
  313. package/esm2022/panel/index.mjs +0 -2
  314. package/esm2022/panel/lib/panel.component.mjs +0 -20
  315. package/esm2022/panel/yuuvis-client-framework-panel.mjs +0 -5
  316. package/esm2022/renderer/index.mjs +0 -11
  317. package/esm2022/renderer/lib/property-renderer/abstract.renderer.mjs +0 -29
  318. package/esm2022/renderer/lib/property-renderer/datetime.renderer.mjs +0 -13
  319. package/esm2022/renderer/lib/property-renderer/decimal.renderer.component.mjs +0 -12
  320. package/esm2022/renderer/lib/property-renderer/filesize.renderer.component.mjs +0 -28
  321. package/esm2022/renderer/lib/property-renderer/icon.renderer.component.mjs +0 -23
  322. package/esm2022/renderer/lib/property-renderer/integer.renderer.component.mjs +0 -12
  323. package/esm2022/renderer/lib/property-renderer/organization.renderer.mjs +0 -19
  324. package/esm2022/renderer/lib/property-renderer/string.renderer.component.mjs +0 -12
  325. package/esm2022/renderer/lib/property-renderer/unknown.renderer.mjs +0 -12
  326. package/esm2022/renderer/lib/renderer.directive.mjs +0 -51
  327. package/esm2022/renderer/lib/services/renderer/renderer.interface.mjs +0 -2
  328. package/esm2022/renderer/lib/services/renderer/renderer.service.mjs +0 -84
  329. package/esm2022/renderer/yuuvis-client-framework-renderer.mjs +0 -5
  330. package/esm2022/sequence-list/index.mjs +0 -4
  331. package/esm2022/sequence-list/lib/due-date-picker/due-date-picker.component.mjs +0 -99
  332. package/esm2022/sequence-list/lib/sequence-list.component.mjs +0 -141
  333. package/esm2022/sequence-list/lib/sequence-list.interface.mjs +0 -2
  334. package/esm2022/sequence-list/yuuvis-client-framework-sequence-list.mjs +0 -5
  335. package/esm2022/simple-search/index.mjs +0 -3
  336. package/esm2022/simple-search/lib/simple-search/simple-search.component.mjs +0 -111
  337. package/esm2022/simple-search/lib/simple-search/simple-search.interface.mjs +0 -2
  338. package/esm2022/simple-search/yuuvis-client-framework-simple-search.mjs +0 -5
  339. package/esm2022/tile-list/index.mjs +0 -11
  340. package/esm2022/tile-list/lib/tile/tile.component.mjs +0 -53
  341. package/esm2022/tile-list/lib/tile-config/action-select/action-select.component.mjs +0 -25
  342. package/esm2022/tile-list/lib/tile-config/icon-select/icon-select.component.mjs +0 -33
  343. package/esm2022/tile-list/lib/tile-config/property-select/property-select.component.mjs +0 -91
  344. package/esm2022/tile-list/lib/tile-config/tile-config-tile/tile-config-tile.component.mjs +0 -66
  345. package/esm2022/tile-list/lib/tile-config/tile-config-trigger/tile-config-trigger.component.mjs +0 -46
  346. package/esm2022/tile-list/lib/tile-config/tile-config.component.mjs +0 -156
  347. package/esm2022/tile-list/lib/tile-extension/directive/tile-extension.directive.mjs +0 -37
  348. package/esm2022/tile-list/lib/tile-extension/extensions/email.extension.mjs +0 -42
  349. package/esm2022/tile-list/lib/tile-extension/tile-extension.service.mjs +0 -35
  350. package/esm2022/tile-list/lib/tile-list/tile-list.component.mjs +0 -510
  351. package/esm2022/tile-list/lib/tile-list/tile-list.interface.mjs +0 -2
  352. package/esm2022/tile-list/yuuvis-client-framework-tile-list.mjs +0 -5
  353. package/esm2022/token-search/index.mjs +0 -3
  354. package/esm2022/token-search/token-search.component.mjs +0 -78
  355. package/esm2022/token-search/token-search.interface.mjs +0 -2
  356. package/esm2022/token-search/yuuvis-client-framework-token-search.mjs +0 -5
  357. package/esm2022/tree/index.mjs +0 -3
  358. package/esm2022/tree/lib/tree-node/tree-node.component.mjs +0 -65
  359. package/esm2022/tree/lib/tree.component.mjs +0 -148
  360. package/esm2022/tree/lib/tree.interface.mjs +0 -2
  361. package/esm2022/tree/lib/tree.service.mjs +0 -95
  362. package/esm2022/tree/yuuvis-client-framework-tree.mjs +0 -5
  363. package/esm2022/upload-progress/index.mjs +0 -2
  364. package/esm2022/upload-progress/lib/upload-progress/upload-progress-overlay/upload-progress-overlay.component.mjs +0 -49
  365. package/esm2022/upload-progress/lib/upload-progress/upload-progress.component.mjs +0 -37
  366. package/esm2022/upload-progress/yuuvis-client-framework-upload-progress.mjs +0 -5
  367. package/esm2022/user-avatar/index.mjs +0 -3
  368. package/esm2022/user-avatar/lib/user-avatar.component.mjs +0 -69
  369. package/esm2022/user-avatar/lib/user-avatar.module.mjs +0 -24
  370. package/esm2022/user-avatar/yuuvis-client-framework-user-avatar.mjs +0 -5
  371. package/esm2022/yuuvis-client-framework.mjs +0 -5
  372. package/fesm2022/yuuvis-client-framework-token-search.mjs +0 -85
  373. package/fesm2022/yuuvis-client-framework-token-search.mjs.map +0 -1
  374. package/fesm2022/yuuvis-client-framework-user-avatar.mjs +0 -96
  375. package/fesm2022/yuuvis-client-framework-user-avatar.mjs.map +0 -1
  376. package/forms/lib/form-input/form-input.component.d.ts +0 -48
  377. package/object-form/lib/object-form-translate.service.d.ts +0 -15
  378. package/object-form/lib/object-form.model.d.ts +0 -18
  379. package/sequence-list/lib/due-date-picker/due-date-picker.component.d.ts +0 -28
  380. package/simple-search/lib/simple-search/simple-search.interface.d.ts +0 -4
  381. package/token-search/README.md +0 -3
  382. package/token-search/index.d.ts +0 -2
  383. package/token-search/token-search.component.d.ts +0 -22
  384. package/token-search/token-search.interface.d.ts +0 -4
  385. package/user-avatar/README.md +0 -3
  386. package/user-avatar/index.d.ts +0 -2
  387. package/user-avatar/lib/user-avatar.component.d.ts +0 -44
  388. package/user-avatar/lib/user-avatar.module.d.ts +0 -8
  389. /package/{metadata-form → metadata-form-defaults}/lib/metadata-default-templates/metadata-default-templates.component.d.ts +0 -0
@@ -1,95 +0,0 @@
1
- import { CommonModule } from '@angular/common';
2
- import { ChangeDetectionStrategy, Component, forwardRef, inject, input, signal } from '@angular/core';
3
- import { FormBuilder, NG_VALUE_ACCESSOR, ReactiveFormsModule, Validators } from '@angular/forms';
4
- import { Situation, TranslateModule } from '@yuuvis/client-core';
5
- import { YvcOverlayRef } from '@yuuvis/components/overlay';
6
- import { FormInputComponent } from '../../../form-input/form-input.component';
7
- import { NumberComponent } from '../../number/number.component';
8
- import { StringComponent } from '../../string/string.component';
9
- import { ErrorMessagesService } from '@yuuvis/client-framework/common';
10
- import * as i0 from "@angular/core";
11
- import * as i1 from "@angular/forms";
12
- import * as i2 from "@yuuvis/client-core";
13
- export class EditTableDataComponent {
14
- constructor() {
15
- this.#oRef = inject((YvcOverlayRef));
16
- this.#fb = inject(FormBuilder);
17
- this.#errorMassge = inject(ErrorMessagesService);
18
- this.errorMassage = signal(null);
19
- this.tableForm = this.#fb.group({});
20
- this.isInnerTableForm = input(true);
21
- this.formElement = this.#oRef.data?.formElement || {};
22
- this.#elementData = this.#oRef.data?.elementData || {};
23
- this.situation = this.#oRef.data?.situation || Situation.EDIT;
24
- this.header = this.#oRef.data?.label || '';
25
- this.adding = this.#oRef.data?.adding;
26
- }
27
- #oRef;
28
- #fb;
29
- #errorMassge;
30
- #elementData;
31
- cancel() {
32
- if (this.#oRef)
33
- this.#oRef.close();
34
- }
35
- submit() {
36
- if (this.tableForm.valid && this.#oRef)
37
- this.#oRef.close(this.tableForm.getRawValue());
38
- }
39
- ngOnInit() {
40
- Object.values(this.formElement['elements']).forEach((element) => {
41
- return this.tableForm.addControl(element.name, this.#fb.control({ value: '', disabled: element.readonly }, element.required ? Validators.required : null));
42
- });
43
- this.tableForm.setValidators(this.#globalErrorValidator());
44
- this.#elementData && this.tableForm.patchValue(this.#elementData);
45
- this.tableForm.valueChanges.subscribe((v) => {
46
- this.errorMassage.set(this.tableForm.errors
47
- ? Object.keys(this.tableForm.errors).map((key) => this.tableForm.errors && this.tableForm.errors[key]
48
- ? Object.keys(this.tableForm.errors[key]).map((k) => ({ [key]: this.#errorMassge.getErrorLabel(k, key) }))
49
- : null)
50
- : null);
51
- });
52
- }
53
- #globalErrorValidator() {
54
- return (control) => {
55
- const formGroup = control;
56
- const errors = {};
57
- Object.keys(formGroup.controls).forEach((key) => {
58
- const control = formGroup.get(key);
59
- if (control && control.invalid && control.dirty) {
60
- const controlErrors = control.errors;
61
- if (controlErrors) {
62
- // Ignore 'required' error if there are more errors
63
- if (Object.keys(controlErrors).length > 1 && controlErrors['required']) {
64
- const { required, ...otherErrors } = controlErrors;
65
- errors[key] = otherErrors;
66
- }
67
- else {
68
- errors[key] = controlErrors;
69
- }
70
- }
71
- }
72
- });
73
- return Object.keys(errors).length ? errors : null;
74
- };
75
- }
76
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditTableDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
77
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: EditTableDataComponent, isStandalone: true, selector: "yuv-edit-table-data", inputs: { isInnerTableForm: { classPropertyName: "isInnerTableForm", publicName: "isInnerTableForm", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
78
- {
79
- provide: NG_VALUE_ACCESSOR,
80
- useExisting: forwardRef(() => EditTableDataComponent),
81
- multi: true
82
- }
83
- ], ngImport: i0, template: "<header>\n <h2>{{ 'yuv.form.element.data.grid.edit.headline' | translate: { headline: header } }}</h2>\n</header>\n\n<div [formGroup]=\"tableForm\">\n @for (element of formElement['elements']; track $index) {\n <div [attr.data-name]=\"element.name\" class=\"form-field\">\n <yuv-form-input\n [label]=\"element.label\"\n [required]=\"element.required\"\n [invalid]=\"false\"\n [disabled]=\"element.readonly\"\n [invalid]=\"!tableForm.get(element.label)?.valid && tableForm.get(element.label)?.dirty\"\n >\n @switch (element.type) {\n @case ('string') {\n <yuv-string\n [situation]=\"situation\"\n [formControlName]=\"element.name\"\n [attr.data-name]=\"element.name\"\n [multiselect]=\"element.cardinality === 'multi' || situation === 'SEARCH'\"\n [rows]=\"element.rows\"\n [classifications]=\"element.classifications\"\n [regex]=\"element.regex\"\n [readonly]=\"element.readonly\"\n [minLength]=\"element.minLength\"\n [maxLength]=\"element.maxLength\"\n >\n </yuv-string>\n }\n @case ('decimal') {\n <yuv-number\n [readonly]=\"element.readonly\"\n [precision]=\"element.precision\"\n [scale]=\"element.scale\"\n [pattern]=\"element.pattern\"\n [grouping]=\"element.grouping\"\n [minValue]=\"element.minValue\"\n [maxValue]=\"element.maxValue\"\n [formControlName]=\"element.name\"\n [attr.data-name]=\"element.name\"\n ></yuv-number>\n }\n @default {\n <input [type]=\"element.type\" [id]=\"element.name\" [name]=\"element.name\" [readonly]=\"element.readonly\" [required]=\"element.required\" />\n }\n }\n <!-- <input [type]=\"element.type\" [id]=\"element.name\" [name]=\"element.name\" [readonly]=\"element.readonly\" [required]=\"element.required\" /> -->\n </yuv-form-input>\n @let errorsGroup = errorMassage();\n @if (errorsGroup && tableForm.errors) {\n <div class=\"err-msg\">\n @for (errors of errorsGroup; track $index) {\n @for (error of errors; track $index) {\n {{ error[element.label] }}\n }\n }\n </div>\n }\n </div>\n }\n <footer>\n <button (click)=\"cancel()\">{{ 'yuv.form.element.data.grid.edit.cancel' | translate }}</button>\n <button class=\"primary\" (click)=\"submit()\" [disabled]=\"!tableForm.dirty && !tableForm.valid\">\n @if (adding) {\n {{ 'yuv.form.element.data.grid.edit.add' | translate }}\n } @else {\n {{ 'yuv.form.element.data.grid.edit' | translate }}\n }\n </button>\n </footer>\n</div>\n", styles: [":host{display:flex;flex-direction:column;padding:var(--app-pane-padding)}:host header h2{padding:0;font-weight:400;font-size:var(--font-headline);margin:0 0 var(--app-pane-padding) 0}:host .err-msg{font-size:var(--font-hint);color:var(--color-error);padding:calc(var(--app-pane-padding) / 4) 0;border:0}:host footer{display:flex;justify-content:end;gap:var(--app-pane-padding);margin-block-start:var(--app-pane-padding)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FormInputComponent, selector: "yuv-form-input", inputs: ["label", "tag", "description", "invalid", "disabled", "required"] }, { kind: "component", type: StringComponent, selector: "yuv-string", inputs: ["multiselect", "rows", "readonly", "autofocus", "classifications", "situation", "regex", "minLength", "maxLength"] }, { kind: "component", type: NumberComponent, selector: "yuv-number", inputs: ["scale", "precision", "grouping", "groupPattern", "readonly", "minValue", "maxValue", "classifications"] }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
84
- }
85
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditTableDataComponent, decorators: [{
86
- type: Component,
87
- args: [{ selector: 'yuv-edit-table-data', standalone: true, imports: [CommonModule, ReactiveFormsModule, FormInputComponent, StringComponent, NumberComponent, TranslateModule], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
88
- {
89
- provide: NG_VALUE_ACCESSOR,
90
- useExisting: forwardRef(() => EditTableDataComponent),
91
- multi: true
92
- }
93
- ], template: "<header>\n <h2>{{ 'yuv.form.element.data.grid.edit.headline' | translate: { headline: header } }}</h2>\n</header>\n\n<div [formGroup]=\"tableForm\">\n @for (element of formElement['elements']; track $index) {\n <div [attr.data-name]=\"element.name\" class=\"form-field\">\n <yuv-form-input\n [label]=\"element.label\"\n [required]=\"element.required\"\n [invalid]=\"false\"\n [disabled]=\"element.readonly\"\n [invalid]=\"!tableForm.get(element.label)?.valid && tableForm.get(element.label)?.dirty\"\n >\n @switch (element.type) {\n @case ('string') {\n <yuv-string\n [situation]=\"situation\"\n [formControlName]=\"element.name\"\n [attr.data-name]=\"element.name\"\n [multiselect]=\"element.cardinality === 'multi' || situation === 'SEARCH'\"\n [rows]=\"element.rows\"\n [classifications]=\"element.classifications\"\n [regex]=\"element.regex\"\n [readonly]=\"element.readonly\"\n [minLength]=\"element.minLength\"\n [maxLength]=\"element.maxLength\"\n >\n </yuv-string>\n }\n @case ('decimal') {\n <yuv-number\n [readonly]=\"element.readonly\"\n [precision]=\"element.precision\"\n [scale]=\"element.scale\"\n [pattern]=\"element.pattern\"\n [grouping]=\"element.grouping\"\n [minValue]=\"element.minValue\"\n [maxValue]=\"element.maxValue\"\n [formControlName]=\"element.name\"\n [attr.data-name]=\"element.name\"\n ></yuv-number>\n }\n @default {\n <input [type]=\"element.type\" [id]=\"element.name\" [name]=\"element.name\" [readonly]=\"element.readonly\" [required]=\"element.required\" />\n }\n }\n <!-- <input [type]=\"element.type\" [id]=\"element.name\" [name]=\"element.name\" [readonly]=\"element.readonly\" [required]=\"element.required\" /> -->\n </yuv-form-input>\n @let errorsGroup = errorMassage();\n @if (errorsGroup && tableForm.errors) {\n <div class=\"err-msg\">\n @for (errors of errorsGroup; track $index) {\n @for (error of errors; track $index) {\n {{ error[element.label] }}\n }\n }\n </div>\n }\n </div>\n }\n <footer>\n <button (click)=\"cancel()\">{{ 'yuv.form.element.data.grid.edit.cancel' | translate }}</button>\n <button class=\"primary\" (click)=\"submit()\" [disabled]=\"!tableForm.dirty && !tableForm.valid\">\n @if (adding) {\n {{ 'yuv.form.element.data.grid.edit.add' | translate }}\n } @else {\n {{ 'yuv.form.element.data.grid.edit' | translate }}\n }\n </button>\n </footer>\n</div>\n", styles: [":host{display:flex;flex-direction:column;padding:var(--app-pane-padding)}:host header h2{padding:0;font-weight:400;font-size:var(--font-headline);margin:0 0 var(--app-pane-padding) 0}:host .err-msg{font-size:var(--font-hint);color:var(--color-error);padding:calc(var(--app-pane-padding) / 4) 0;border:0}:host footer{display:flex;justify-content:end;gap:var(--app-pane-padding);margin-block-start:var(--app-pane-padding)}\n"] }]
94
- }] });
95
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1kYXRhLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvZm9ybXMvc3JjL2xpYi9lbGVtZW50cy9kYXRhLWdyaWQvZWRpdC10YWJsZS1kYXRhL2VkaXQtZGF0YS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2Zvcm1zL3NyYy9saWIvZWxlbWVudHMvZGF0YS1ncmlkL2VkaXQtdGFibGUtZGF0YS9lZGl0LWRhdGEuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlHLE9BQU8sRUFBbUIsV0FBVyxFQUFhLGlCQUFpQixFQUFFLG1CQUFtQixFQUFvQixVQUFVLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMvSSxPQUFPLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUM5RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7O0FBaUJ2RSxNQUFNLE9BQU8sc0JBQXNCO0lBZm5DO1FBZ0JXLFVBQUssR0FBRyxN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QUNILENBQUM7Z0JBQ0gsQ0FBQztZQUNILENBQUMsQ0FBQyxDQUFDO1lBRUgsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDcEQsQ0FBQyxDQUFDO0lBQ0osQ0FBQzsrR0F0RVUsc0JBQXNCO21HQUF0QixzQkFBc0IsdU9BUnRCO1lBQ1Q7Z0JBQ0UsT0FBTyxFQUFFLGlCQUFpQjtnQkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxzQkFBc0IsQ0FBQztnQkFDckQsS0FBSyxFQUFFLElBQUk7YUFDWjtTQUNGLDBCQ3ZCSCxrMUZBd0VBLCtkRDNEWSxZQUFZLDhCQUFFLG1CQUFtQiw2dUJBQUUsa0JBQWtCLHVJQUFFLGVBQWUsb0xBQUUsZUFBZSx5S0FBRSxlQUFlOzs0RkFZdkcsc0JBQXNCO2tCQWZsQyxTQUFTOytCQUNFLHFCQUFxQixjQUNuQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsbUJBQW1CLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFLGVBQWUsRUFBRSxlQUFlLENBQUMsbUJBR2xHLHVCQUF1QixDQUFDLE1BQU0sYUFDcEM7d0JBQ1Q7NEJBQ0UsT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7NEJBQ3JELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIGZvcndhcmRSZWYsIGluamVjdCwgaW5wdXQsIE9uSW5pdCwgc2lnbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIEZvcm1CdWlsZGVyLCBGb3JtR3JvdXAsIE5HX1ZBTFVFX0FDQ0VTU09SLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0aW9uRXJyb3JzLCBWYWxpZGF0b3JzIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU2l0dWF0aW9uLCBUcmFuc2xhdGVNb2R1bGUgfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFl2Y092ZXJsYXlSZWYgfSBmcm9tICdAeXV1dmlzL2NvbXBvbmVudHMvb3ZlcmxheSc7XG5pbXBvcnQgeyBGb3JtSW5wdXRDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9mb3JtLWlucHV0L2Zvcm0taW5wdXQuY29tcG9uZW50JztcbmltcG9ydCB7IE51bWJlckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL251bWJlci9udW1iZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFN0cmluZ0NvbXBvbmVudCB9IGZyb20gJy4uLy4uL3N0cmluZy9zdHJpbmcuY29tcG9uZW50JztcbmltcG9ydCB7IEVycm9yTWVzc2FnZXNTZXJ2aWNlIH0gZnJvbSAnQHl1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3l1di1lZGl0LXRhYmxlLWRhdGEnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBGb3JtSW5wdXRDb21wb25lbnQsIFN0cmluZ0NvbXBvbmVudCwgTnVtYmVyQ29tcG9uZW50LCBUcmFuc2xhdGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdC1kYXRhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2VkaXQtZGF0YS5jb21wb25lbnQuc2NzcycsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IEVkaXRUYWJsZURhdGFDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRWRpdFRhYmxlRGF0YUNvbXBvbmVudDxUID0gYW55PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHJlYWRvbmx5ICNvUmVmID0gaW5qZWN0KFl2Y092ZXJsYXlSZWY8VCwgeyBhZGRpbmc6IGJvb2xlYW47IGZvcm1FbGVtZW50OiB7IFtrZXk6IHN0cmluZ106IGFueSB9OyBlbGVtZW50RGF0YTogVDsgc2l0dWF0aW9uOiBTaXR1YXRpb247IGxhYmVsOiBzdHJpbmcgfT4pO1xuICByZWFkb25seSAjZmIgPSBpbmplY3QoRm9ybUJ1aWxkZXIpO1xuICByZWFkb25seSAjZXJyb3JNYXNzZ2UgPSBpbmplY3QoRXJyb3JNZXNzYWdlc1NlcnZpY2UpO1xuXG4gIGVycm9yTWFzc2FnZSA9IHNpZ25hbDxhbnlbXSB8IG51bGw+KG51bGwpO1xuICB0YWJsZUZvcm06IEZvcm1Hcm91cCA9IHRoaXMuI2ZiLmdyb3VwKHt9KTtcblxuICBpc0lubmVyVGFibGVGb3JtID0gaW5wdXQodHJ1ZSk7XG5cbiAgZm9ybUVsZW1lbnQ6IHsgW2tleTogc3RyaW5nXTogYW55IH0gPSB0aGlzLiNvUmVmLmRhdGE/LmZvcm1FbGVtZW50IHx8IHt9O1xuICAjZWxlbWVudERhdGE6IFQgPSB0aGlzLiNvUmVmLmRhdGE/LmVsZW1lbnREYXRhIHx8ICh7fSBhcyBUKTtcbiAgc2l0dWF0aW9uOiBTaXR1YXRpb24gPSB0aGlzLiNvUmVmLmRhdGE/LnNpdHVhdGlvbiB8fCBTaXR1YXRpb24uRURJVDtcbiAgaGVhZGVyID0gdGhpcy4jb1JlZi5kYXRhPy5sYWJlbCB8fCAnJztcbiAgYWRkaW5nID0gdGhpcy4jb1JlZi5kYXRhPy5hZGRpbmc7XG5cbiAgY2FuY2VsKCkge1xuICAgIGlmICh0aGlzLiNvUmVmKSB0aGlzLiNvUmVmLmNsb3NlKCk7XG4gIH1cblxuICBzdWJtaXQoKSB7XG4gICAgaWYgKHRoaXMudGFibGVGb3JtLnZhbGlkICYmIHRoaXMuI29SZWYpIHRoaXMuI29SZWYuY2xvc2UodGhpcy50YWJsZUZvcm0uZ2V0UmF3VmFsdWUoKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICBPYmplY3QudmFsdWVzKHRoaXMuZm9ybUVsZW1lbnRbJ2VsZW1lbnRzJ10pLmZvckVhY2goKGVsZW1lbnQ6IGFueSkgPT4ge1xuICAgICAgcmV0dXJuIHRoaXMudGFibGVGb3JtLmFkZENvbnRyb2woXG4gICAgICAgIGVsZW1lbnQubmFtZSxcbiAgICAgICAgdGhpcy4jZmIuY29udHJvbCh7IHZhbHVlOiAnJywgZGlzYWJsZWQ6IGVsZW1lbnQucmVhZG9ubHkgfSwgZWxlbWVudC5yZXF1aXJlZCA/IFZhbGlkYXRvcnMucmVxdWlyZWQgOiBudWxsKVxuICAgICAgKTtcbiAgICB9KTtcbiAgICB0aGlzLnRhYmxlRm9ybS5zZXRWYWxpZGF0b3JzKHRoaXMuI2dsb2JhbEVycm9yVmFsaWRhdG9yKCkpO1xuICAgIHRoaXMuI2VsZW1lbnREYXRhICYmIHRoaXMudGFibGVGb3JtLnBhdGNoVmFsdWUodGhpcy4jZWxlbWVudERhdGEpO1xuXG4gICAgdGhpcy50YWJsZUZvcm0udmFsdWVDaGFuZ2VzLnN1YnNjcmliZSgodikgPT4ge1xuICAgICAgdGhpcy5lcnJvck1hc3NhZ2Uuc2V0KFxuICAgICAgICB0aGlzLnRhYmxlRm9ybS5lcnJvcnNcbiAgICAgICAgICA/IE9iamVjdC5rZXlzKHRoaXMudGFibGVGb3JtLmVycm9ycykubWFwKChrZXkpID0+XG4gICAgICAgICAgICAgIHRoaXMudGFibGVGb3JtLmVycm9ycyAmJiB0aGlzLnRhYmxlRm9ybS5lcnJvcnNba2V5XVxuICAgICAgICAgICAgICAgID8gT2JqZWN0LmtleXModGhpcy50YWJsZUZvcm0uZXJyb3JzW2tleV0pLm1hcCgoaykgPT4gKHsgW2tleV06IHRoaXMuI2Vycm9yTWFzc2dlLmdldEVycm9yTGFiZWwoaywga2V5KSB9KSlcbiAgICAgICAgICAgICAgICA6IG51bGxcbiAgICAgICAgICAgIClcbiAgICAgICAgICA6IG51bGxcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICAjZ2xvYmFsRXJyb3JWYWxpZGF0b3IoKSB7XG4gICAgcmV0dXJuIChjb250cm9sOiBBYnN0cmFjdENvbnRyb2wpOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBjb25zdCBmb3JtR3JvdXAgPSBjb250cm9sIGFzIEZvcm1Hcm91cDtcbiAgICAgIGNvbnN0IGVycm9yczogVmFsaWRhdGlvbkVycm9ycyA9IHt9O1xuXG4gICAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goKGtleSkgPT4ge1xuICAgICAgICBjb25zdCBjb250cm9sID0gZm9ybUdyb3VwLmdldChrZXkpO1xuICAgICAgICBpZiAoY29udHJvbCAmJiBjb250cm9sLmludmFsaWQgJiYgY29udHJvbC5kaXJ0eSkge1xuICAgICAgICAgIGNvbnN0IGNvbnRyb2xFcnJvcnMgPSBjb250cm9sLmVycm9ycztcbiAgICAgICAgICBpZiAoY29udHJvbEVycm9ycykge1xuICAgICAgICAgICAgLy8gSWdub3JlICdyZXF1aXJlZCcgZXJyb3IgaWYgdGhlcmUgYXJlIG1vcmUgZXJyb3JzXG4gICAgICAgICAgICBpZiAoT2JqZWN0LmtleXMoY29udHJvbEVycm9ycykubGVuZ3RoID4gMSAmJiBjb250cm9sRXJyb3JzWydyZXF1aXJlZCddKSB7XG4gICAgICAgICAgICAgIGNvbnN0IHsgcmVxdWlyZWQsIC4uLm90aGVyRXJyb3JzIH0gPSBjb250cm9sRXJyb3JzO1xuICAgICAgICAgICAgICBlcnJvcnNba2V5XSA9IG90aGVyRXJyb3JzO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgZXJyb3JzW2tleV0gPSBjb250cm9sRXJyb3JzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSk7XG5cbiAgICAgIHJldHVybiBPYmplY3Qua2V5cyhlcnJvcnMpLmxlbmd0aCA/IGVycm9ycyA6IG51bGw7XG4gICAgfTtcbiAgfVxufVxuIiwiPGhlYWRlcj5cbiAgPGgyPnt7ICd5dXYuZm9ybS5lbGVtZW50LmRhdGEuZ3JpZC5lZGl0LmhlYWRsaW5lJyB8IHRyYW5zbGF0ZTogeyBoZWFkbGluZTogaGVhZGVyIH0gfX08L2gyPlxuPC9oZWFkZXI+XG5cbjxkaXYgW2Zvcm1Hcm91cF09XCJ0YWJsZUZvcm1cIj5cbiAgQGZvciAoZWxlbWVudCBvZiBmb3JtRWxlbWVudFsnZWxlbWVudHMnXTsgdHJhY2sgJGluZGV4KSB7XG4gICAgPGRpdiBbYXR0ci5kYXRhLW5hbWVdPVwiZWxlbWVudC5uYW1lXCIgY2xhc3M9XCJmb3JtLWZpZWxkXCI+XG4gICAgICA8eXV2LWZvcm0taW5wdXRcbiAgICAgICAgW2xhYmVsXT1cImVsZW1lbnQubGFiZWxcIlxuICAgICAgICBbcmVxdWlyZWRdPVwiZWxlbWVudC5yZXF1aXJlZFwiXG4gICAgICAgIFtpbnZhbGlkXT1cImZhbHNlXCJcbiAgICAgICAgW2Rpc2FibGVkXT1cImVsZW1lbnQucmVhZG9ubHlcIlxuICAgICAgICBbaW52YWxpZF09XCIhdGFibGVGb3JtLmdldChlbGVtZW50LmxhYmVsKT8udmFsaWQgJiYgdGFibGVGb3JtLmdldChlbGVtZW50LmxhYmVsKT8uZGlydHlcIlxuICAgICAgPlxuICAgICAgICBAc3dpdGNoIChlbGVtZW50LnR5cGUpIHtcbiAgICAgICAgICBAY2FzZSAoJ3N0cmluZycpIHtcbiAgICAgICAgICAgIDx5dXYtc3RyaW5nXG4gICAgICAgICAgICAgIFtzaXR1YXRpb25dPVwic2l0dWF0aW9uXCJcbiAgICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJlbGVtZW50Lm5hbWVcIlxuICAgICAgICAgICAgICBbYXR0ci5kYXRhLW5hbWVdPVwiZWxlbWVudC5uYW1lXCJcbiAgICAgICAgICAgICAgW211bHRpc2VsZWN0XT1cImVsZW1lbnQuY2FyZGluYWxpdHkgPT09ICdtdWx0aScgfHwgc2l0dWF0aW9uID09PSAnU0VBUkNIJ1wiXG4gICAgICAgICAgICAgIFtyb3dzXT1cImVsZW1lbnQucm93c1wiXG4gICAgICAgICAgICAgIFtjbGFzc2lmaWNhdGlvbnNdPVwiZWxlbWVudC5jbGFzc2lmaWNhdGlvbnNcIlxuICAgICAgICAgICAgICBbcmVnZXhdPVwiZWxlbWVudC5yZWdleFwiXG4gICAgICAgICAgICAgIFtyZWFkb25seV09XCJlbGVtZW50LnJlYWRvbmx5XCJcbiAgICAgICAgICAgICAgW21pbkxlbmd0aF09XCJlbGVtZW50Lm1pbkxlbmd0aFwiXG4gICAgICAgICAgICAgIFttYXhMZW5ndGhdPVwiZWxlbWVudC5tYXhMZW5ndGhcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPC95dXYtc3RyaW5nPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAY2FzZSAoJ2RlY2ltYWwnKSB7XG4gICAgICAgICAgICA8eXV2LW51bWJlclxuICAgICAgICAgICAgICBbcmVhZG9ubHldPVwiZWxlbWVudC5yZWFkb25seVwiXG4gICAgICAgICAgICAgIFtwcmVjaXNpb25dPVwiZWxlbWVudC5wcmVjaXNpb25cIlxuICAgICAgICAgICAgICBbc2NhbGVdPVwiZWxlbWVudC5zY2FsZVwiXG4gICAgICAgICAgICAgIFtwYXR0ZXJuXT1cImVsZW1lbnQucGF0dGVyblwiXG4gICAgICAgICAgICAgIFtncm91cGluZ109XCJlbGVtZW50Lmdyb3VwaW5nXCJcbiAgICAgICAgICAgICAgW21pblZhbHVlXT1cImVsZW1lbnQubWluVmFsdWVcIlxuICAgICAgICAgICAgICBbbWF4VmFsdWVdPVwiZWxlbWVudC5tYXhWYWx1ZVwiXG4gICAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiZWxlbWVudC5uYW1lXCJcbiAgICAgICAgICAgICAgW2F0dHIuZGF0YS1uYW1lXT1cImVsZW1lbnQubmFtZVwiXG4gICAgICAgICAgICA+PC95dXYtbnVtYmVyPlxuICAgICAgICAgIH1cbiAgICAgICAgICBAZGVmYXVsdCB7XG4gICAgICAgICAgICA8aW5wdXQgW3R5cGVdPVwiZWxlbWVudC50eXBlXCIgW2lkXT1cImVsZW1lbnQubmFtZVwiIFtuYW1lXT1cImVsZW1lbnQubmFtZVwiIFtyZWFkb25seV09XCJlbGVtZW50LnJlYWRvbmx5XCIgW3JlcXVpcmVkXT1cImVsZW1lbnQucmVxdWlyZWRcIiAvPlxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA8IS0tIDxpbnB1dCBbdHlwZV09XCJlbGVtZW50LnR5cGVcIiBbaWRdPVwiZWxlbWVudC5uYW1lXCIgW25hbWVdPVwiZWxlbWVudC5uYW1lXCIgW3JlYWRvbmx5XT1cImVsZW1lbnQucmVhZG9ubHlcIiBbcmVxdWlyZWRdPVwiZWxlbWVudC5yZXF1aXJlZFwiIC8+IC0tPlxuICAgICAgPC95dXYtZm9ybS1pbnB1dD5cbiAgICAgIEBsZXQgZXJyb3JzR3JvdXAgPSBlcnJvck1hc3NhZ2UoKTtcbiAgICAgIEBpZiAoZXJyb3JzR3JvdXAgJiYgdGFibGVGb3JtLmVycm9ycykge1xuICAgICAgICA8ZGl2IGNsYXNzPVwiZXJyLW1zZ1wiPlxuICAgICAgICAgIEBmb3IgKGVycm9ycyBvZiBlcnJvcnNHcm91cDsgdHJhY2sgJGluZGV4KSB7XG4gICAgICAgICAgICBAZm9yIChlcnJvciBvZiBlcnJvcnM7IHRyYWNrICRpbmRleCkge1xuICAgICAgICAgICAgICB7eyBlcnJvcltlbGVtZW50LmxhYmVsXSB9fVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgPC9kaXY+XG4gICAgICB9XG4gICAgPC9kaXY+XG4gIH1cbiAgPGZvb3Rlcj5cbiAgICA8YnV0dG9uIChjbGljayk9XCJjYW5jZWwoKVwiPnt7ICd5dXYuZm9ybS5lbGVtZW50LmRhdGEuZ3JpZC5lZGl0LmNhbmNlbCcgfCB0cmFuc2xhdGUgfX08L2J1dHRvbj5cbiAgICA8YnV0dG9uIGNsYXNzPVwicHJpbWFyeVwiIChjbGljayk9XCJzdWJtaXQoKVwiIFtkaXNhYmxlZF09XCIhdGFibGVGb3JtLmRpcnR5ICYmICF0YWJsZUZvcm0udmFsaWRcIj5cbiAgICAgIEBpZiAoYWRkaW5nKSB7XG4gICAgICAgIHt7ICd5dXYuZm9ybS5lbGVtZW50LmRhdGEuZ3JpZC5lZGl0LmFkZCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICB7eyAneXV2LmZvcm0uZWxlbWVudC5kYXRhLmdyaWQuZWRpdCcgfCB0cmFuc2xhdGUgfX1cbiAgICAgIH1cbiAgICA8L2J1dHRvbj5cbiAgPC9mb290ZXI+XG48L2Rpdj5cbiJdfQ==
@@ -1,9 +0,0 @@
1
- export var DataGridSizeType;
2
- (function (DataGridSizeType) {
3
- DataGridSizeType["SMALL"] = "small";
4
- DataGridSizeType["MEDIUM"] = "medium";
5
- DataGridSizeType["LARGE"] = "large";
6
- DataGridSizeType["XLARGE"] = "extra-large";
7
- DataGridSizeType["AUTO"] = "auto";
8
- })(DataGridSizeType || (DataGridSizeType = {}));
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1ncmlkLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvZm9ybXMvc3JjL2xpYi9lbGVtZW50cy9kYXRhLWdyaWQvbW9kZWwvZGF0YS1ncmlkLmludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQU4sSUFBWSxnQkFNWDtBQU5ELFdBQVksZ0JBQWdCO0lBQzFCLG1DQUFlLENBQUE7SUFDZixxQ0FBaUIsQ0FBQTtJQUNqQixtQ0FBZSxDQUFBO0lBQ2YsMENBQXNCLENBQUE7SUFDdEIsaUNBQWEsQ0FBQTtBQUNmLENBQUMsRUFOVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBTTNCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGVudW0gRGF0YUdyaWRTaXplVHlwZSB7XG4gIFNNQUxMID0gJ3NtYWxsJyxcbiAgTUVESVVNID0gJ21lZGl1bScsXG4gIExBUkdFID0gJ2xhcmdlJyxcbiAgWExBUkdFID0gJ2V4dHJhLWxhcmdlJyxcbiAgQVVUTyA9ICdhdXRvJ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERhdGFHcmlkU2l6ZSB7XG4gIGV4dHJhbGFyZ2U6IERhdGFHcmlkU2l6ZVR5cGUuWExBUkdFO1xuICBsYXJnZTogRGF0YUdyaWRTaXplVHlwZS5MQVJHRTtcbiAgbWVkaXVtOiBEYXRhR3JpZFNpemVUeXBlLk1FRElVTTtcbiAgc21hbGw6IERhdGFHcmlkU2l6ZVR5cGUuU01BTEw7XG4gIGF1dG86IERhdGFHcmlkU2l6ZVR5cGUuQVVUTztcbn1cbiJdfQ==
@@ -1,82 +0,0 @@
1
- import { Component, Input, forwardRef, inject } from '@angular/core';
2
- import { FormsModule, NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { TranslateService } from '@ngx-translate/core';
4
- import { YvcDatepickerModule } from '@yuuvis/components/datepicker';
5
- import * as i0 from "@angular/core";
6
- import * as i1 from "@angular/forms";
7
- import * as i2 from "@yuuvis/components/datepicker";
8
- export class DatetimeComponent {
9
- constructor() {
10
- this.translate = inject(TranslateService);
11
- this.value = null;
12
- this.locale = this.translate.currentLang;
13
- /**
14
- * Whether or not to allow only values in the future (default: false)
15
- */
16
- this.onlyFutureDates = false;
17
- /**
18
- * Will prevent the input from being changed (default: false)
19
- */
20
- this.readonly = false;
21
- /**
22
- * Enables setting time as well (default: false)
23
- */
24
- this.withTime = false;
25
- // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
26
- this.propagateChange = (fn) => { };
27
- // eslint-disable-next-line @typescript-eslint/no-empty-function
28
- this.validationChange = () => { };
29
- this._setLabels();
30
- this.translate.onLangChange.subscribe((e) => (this.locale = e.lang));
31
- }
32
- _setLabels() {
33
- this.labels = {
34
- calendarApply: this.translate.instant('yuv.form.element.datetime.calendar.select'),
35
- calendarCancel: this.translate.instant('yuv.form.element.datetime.calendar.cancel'),
36
- shortcut: { today: this.translate.instant('yuv.form.element.datetime.calendar.today') }
37
- };
38
- }
39
- writeValue(value) {
40
- if (typeof value === 'string') {
41
- value = new Date(value);
42
- this.propagateChange(value);
43
- }
44
- this.value = value || null;
45
- }
46
- registerOnChange(fn) {
47
- this.propagateChange = fn;
48
- }
49
- registerOnValidatorChange(fn) {
50
- this.validationChange = fn;
51
- }
52
- // eslint-disable-next-line @typescript-eslint/no-empty-function
53
- registerOnTouched() { }
54
- onValueChange(e) {
55
- this.propagateChange(this.withTime ? e : e.toISOString().split('T')[0]);
56
- }
57
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatetimeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
58
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DatetimeComponent, isStandalone: true, selector: "yuv-datetime", inputs: { onlyFutureDates: "onlyFutureDates", readonly: "readonly", withTime: "withTime" }, providers: [
59
- {
60
- provide: NG_VALUE_ACCESSOR,
61
- useExisting: forwardRef(() => DatetimeComponent),
62
- multi: true
63
- }
64
- ], ngImport: i0, template: "<yvc-datepicker #picker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels!\"\n [onlyFutureDates]=\"onlyFutureDates\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host{display:flex}:host yvc-datepicker{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { 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: YvcDatepickerModule }, { kind: "component", type: i2.Datepicker, selector: "yvc-datepicker", inputs: ["calendar", "readonly", "hour12", "locale", "labels", "withTime", "onlyFutureDates", "minDate", "maxDate", "disabled"] }] }); }
65
- }
66
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatetimeComponent, decorators: [{
67
- type: Component,
68
- args: [{ selector: 'yuv-datetime', standalone: true, imports: [FormsModule, YvcDatepickerModule, DatetimeComponent], providers: [
69
- {
70
- provide: NG_VALUE_ACCESSOR,
71
- useExisting: forwardRef(() => DatetimeComponent),
72
- multi: true
73
- }
74
- ], template: "<yvc-datepicker #picker [calendar]=\"true\" [disabled]=\"readonly\" [locale]=\"locale\" [withTime]=\"withTime\" [labels]=\"labels!\"\n [onlyFutureDates]=\"onlyFutureDates\"\n [ngModelOptions]=\"{standalone: true}\" [(ngModel)]=\"value\"\n (ngModelChange)=\"onValueChange($event)\"></yvc-datepicker>", styles: [":host{display:flex}:host yvc-datepicker{flex:1}\n"] }]
75
- }], ctorParameters: () => [], propDecorators: { onlyFutureDates: [{
76
- type: Input
77
- }], readonly: [{
78
- type: Input
79
- }], withTime: [{
80
- type: Input
81
- }] } });
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9mb3Jtcy9zcmMvbGliL2VsZW1lbnRzL2RhdGV0aW1lL2RhdGV0aW1lLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvZm9ybXMvc3JjL2xpYi9lbGVtZW50cy9kYXRldGltZS9kYXRldGltZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3JFLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEYsT0FBTyxFQUFtQixnQkFBZ0IsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3hFLE9BQU8sRUFBb0IsbUJBQW1CLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQzs7OztBQWdCdEYsTUFBTSxPQUFPLGlCQUFpQjtJQXFCNUI7UUFwQlEsY0FBUyxHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTdDLFVBQUssR0FBZ0IsSUFBSSxDQUFDO1FBQzFCLFdBQU0sR0FBVyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQztRQUc1Qzs7V0FFRztRQUNNLG9CQUFlLEdBQUcsS0FBSyxDQUFDO1FBQ2pDOztXQUVHO1FBQ00sYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQjs7V0FFRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFjMUIsbUdBQW1HO1FBQ25HLG9CQUFlLEdBQUcsQ0FBQyxFQUFjLEVBQUUsRUFBRSxHQUFFLENBQUMsQ0FBQztRQUN6QyxnRUFBZ0U7UUFDaEUscUJBQWdCLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDO1FBZDFCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFrQixFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFDeEYsQ0FBQztJQUVPLFVBQVU7UUFDaEIsSUFBSSxDQUFDLE1BQU0sR0FBRztZQUNaLGFBQWEsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQywyQ0FBMkMsQ0FBQztZQUNsRixjQUFjLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsMkNBQTJDLENBQUM7WUFDbkYsUUFBUSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLDBDQUEwQyxDQUFDLEVBQUU7U0FDeEYsQ0FBQztJQUNKLENBQUM7SUFNRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQzlCLEtBQUssR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUN4QixJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUM7SUFDN0IsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQWM7UUFDN0IsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELHlCQUF5QixDQUFFLEVBQWM7UUFDdkMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBRUQsZ0VBQWdFO0lBQ2hFLGlCQUFpQixLQUFVLENBQUM7SUFFNUIsYUFBYSxDQUFDLENBQU07UUFDbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxRSxDQUFDOytHQTNEVSxpQkFBaUI7bUdBQWpCLGlCQUFpQix1SkFSakI7WUFDVDtnQkFDRSxPQUFPLEVBQUUsaUJBQWlCO2dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUNoRCxLQUFLLEVBQUUsSUFBSTthQUNaO1NBQ0YsMEJDakJILHFUQUc2RCwwR0RLakQsV0FBVyw4VkFBRSxtQkFBbUI7OzRGQVcvQixpQkFBaUI7a0JBZDdCLFNBQVM7K0JBQ0UsY0FBYyxjQUNaLElBQUksV0FDUCxDQUFDLFdBQVcsRUFBRSxtQkFBbUIsb0JBQW9CLGFBR25EO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDOzRCQUNoRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjt3REFZUSxlQUFlO3NCQUF2QixLQUFLO2dCQUlHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS0csUUFBUTtzQkFBaEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIGZvcndhcmRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEZvcm1zTW9kdWxlLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IExhbmdDaGFuZ2VFdmVudCwgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xuaW1wb3J0IHsgRGF0ZXBpY2tlckxhYmVscywgWXZjRGF0ZXBpY2tlck1vZHVsZSB9IGZyb20gJ0B5dXV2aXMvY29tcG9uZW50cy9kYXRlcGlja2VyJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAneXV2LWRhdGV0aW1lJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0Zvcm1zTW9kdWxlLCBZdmNEYXRlcGlja2VyTW9kdWxlLCBEYXRldGltZUNvbXBvbmVudF0sXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRldGltZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsOiAnLi9kYXRldGltZS5jb21wb25lbnQuc2NzcycsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZXRpbWVDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXRpbWVDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gIHByaXZhdGUgdHJhbnNsYXRlID0gaW5qZWN0KFRyYW5zbGF0ZVNlcnZpY2UpO1xuXG4gIHZhbHVlOiBEYXRlIHwgbnVsbCA9IG51bGw7XG4gIGxvY2FsZTogc3RyaW5nID0gdGhpcy50cmFuc2xhdGUuY3VycmVudExhbmc7XG4gIGxhYmVscz86IERhdGVwaWNrZXJMYWJlbHM7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGFsbG93IG9ubHkgdmFsdWVzIGluIHRoZSBmdXR1cmUgKGRlZmF1bHQ6IGZhbHNlKVxuICAgKi9cbiAgQElucHV0KCkgb25seUZ1dHVyZURhdGVzID0gZmFsc2U7XG4gIC8qKlxuICAgKiBXaWxsIHByZXZlbnQgdGhlIGlucHV0IGZyb20gYmVpbmcgY2hhbmdlZCAoZGVmYXVsdDogZmFsc2UpXG4gICAqL1xuICBASW5wdXQoKSByZWFkb25seSA9IGZhbHNlO1xuXG4gIC8qKlxuICAgKiBFbmFibGVzIHNldHRpbmcgdGltZSBhcyB3ZWxsIChkZWZhdWx0OiBmYWxzZSlcbiAgICovXG4gIEBJbnB1dCgpIHdpdGhUaW1lID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgdGhpcy5fc2V0TGFiZWxzKCk7XG4gICAgdGhpcy50cmFuc2xhdGUub25MYW5nQ2hhbmdlLnN1YnNjcmliZSgoZTogTGFuZ0NoYW5nZUV2ZW50KSA9PiAodGhpcy5sb2NhbGUgPSBlLmxhbmcpKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldExhYmVscygpIHtcbiAgICB0aGlzLmxhYmVscyA9IHtcbiAgICAgIGNhbGVuZGFyQXBwbHk6IHRoaXMudHJhbnNsYXRlLmluc3RhbnQoJ3l1di5mb3JtLmVsZW1lbnQuZGF0ZXRpbWUuY2FsZW5kYXIuc2VsZWN0JyksXG4gICAgICBjYWxlbmRhckNhbmNlbDogdGhpcy50cmFuc2xhdGUuaW5zdGFudCgneXV2LmZvcm0uZWxlbWVudC5kYXRldGltZS5jYWxlbmRhci5jYW5jZWwnKSxcbiAgICAgIHNob3J0Y3V0OiB7IHRvZGF5OiB0aGlzLnRyYW5zbGF0ZS5pbnN0YW50KCd5dXYuZm9ybS5lbGVtZW50LmRhdGV0aW1lLmNhbGVuZGFyLnRvZGF5JykgfVxuICAgIH07XG4gIH1cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChmbjogKCkgPT4gdm9pZCkgPT4ge307XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb25cbiAgdmFsaWRhdGlvbkNoYW5nZSA9ICgpID0+IHt9O1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB2YWx1ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHZhbHVlKTtcbiAgICB9XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlIHx8IG51bGw7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25WYWxpZGF0b3JDaGFuZ2U/KGZuOiAoKSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy52YWxpZGF0aW9uQ2hhbmdlID0gZm47XG4gIH1cblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCk6IHZvaWQge31cblxuICBvblZhbHVlQ2hhbmdlKGU6IGFueSkge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMud2l0aFRpbWUgPyBlIDogZS50b0lTT1N0cmluZygpLnNwbGl0KCdUJylbMF0pO1xuICB9XG59XG4iLCI8eXZjLWRhdGVwaWNrZXIgI3BpY2tlciBbY2FsZW5kYXJdPVwidHJ1ZVwiIFtkaXNhYmxlZF09XCJyZWFkb25seVwiIFtsb2NhbGVdPVwibG9jYWxlXCIgW3dpdGhUaW1lXT1cIndpdGhUaW1lXCIgW2xhYmVsc109XCJsYWJlbHMhXCJcbiAgICBbb25seUZ1dHVyZURhdGVzXT1cIm9ubHlGdXR1cmVEYXRlc1wiXG4gICAgW25nTW9kZWxPcHRpb25zXT1cIntzdGFuZGFsb25lOiB0cnVlfVwiIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgIChuZ01vZGVsQ2hhbmdlKT1cIm9uVmFsdWVDaGFuZ2UoJGV2ZW50KVwiPjwveXZjLWRhdGVwaWNrZXI+Il19
@@ -1,166 +0,0 @@
1
- import { Component, Input, forwardRef, inject } from '@angular/core';
2
- import { FormBuilder, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule, Validators } from '@angular/forms';
3
- import { Operator, OperatorLabel, Situation } from '@yuuvis/client-core';
4
- import { YvcDropdownModule } from '@yuuvis/components/dropdown';
5
- import { DatetimeComponent } from '../datetime/datetime.component';
6
- import { CommonModule } from '@angular/common';
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "@angular/forms";
9
- import * as i2 from "@yuuvis/components/dropdown";
10
- export class DatetimeRangeComponent {
11
- constructor() {
12
- this.fb = inject(FormBuilder);
13
- /**
14
- * Enables setting time as well (default: false)
15
- */
16
- this.withTime = false;
17
- /**
18
- * Will prevent the input from being changed (default: false)
19
- */
20
- this.readonly = false;
21
- this.operator = 'eq';
22
- this.rangeForm = this.fb.group({
23
- dateValue: [undefined, Validators.required],
24
- dateValueFrom: []
25
- });
26
- this._isValid = true;
27
- // options for search situation
28
- this.availableSearchOptions = [
29
- { label: OperatorLabel.EQUAL, value: Operator.EQUAL },
30
- { label: OperatorLabel.GREATER_OR_EQUAL, value: Operator.GREATER_OR_EQUAL },
31
- { label: OperatorLabel.LESS_OR_EQUAL, value: Operator.LESS_OR_EQUAL },
32
- { label: OperatorLabel.INTERVAL_INCLUDE_BOTH, value: Operator.INTERVAL_INCLUDE_BOTH }
33
- ];
34
- // the selected search option
35
- this.searchOption = this.availableSearchOptions[1].value;
36
- // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
37
- this.propagateChange = (_) => { };
38
- }
39
- writeValue(value) {
40
- if (value && (value.firstValue || value.secondValue)) {
41
- const match = this.availableSearchOptions.find((o) => o.value === value.operator);
42
- this.searchOption = match ? match.value : this.availableSearchOptions[0].value;
43
- this.value = value;
44
- this.rangeForm.patchValue({
45
- dateValueFrom: value.secondValue && value.firstValue,
46
- dateValue: value.secondValue || value.firstValue
47
- });
48
- }
49
- else {
50
- this.searchOption = this.availableSearchOptions[0].value;
51
- this.value = undefined;
52
- this.rangeForm.reset();
53
- }
54
- }
55
- registerOnChange(fn) {
56
- this.propagateChange = fn;
57
- }
58
- // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
59
- registerOnTouched(fn) { }
60
- onValueChange() {
61
- const dateValue = this.rangeForm.value.dateValue || undefined;
62
- if (this.searchOption === Operator.INTERVAL_INCLUDE_BOTH) {
63
- const dateValueFrom = this.rangeForm.value.dateValueFrom || undefined;
64
- if (dateValueFrom || dateValue) {
65
- this._isValid = this.rangeForm.valid && !!dateValueFrom && !!dateValue;
66
- this.value = !this._isValid
67
- ? // {
68
- // operator: this.searchOption,
69
- // firstValue: undefined,
70
- // secondValue: undefined
71
- // }
72
- undefined
73
- : {
74
- operator: this.searchOption,
75
- firstValue: dateValueFrom,
76
- secondValue: dateValue
77
- };
78
- }
79
- }
80
- else {
81
- this._isValid = this.rangeForm.valid;
82
- this.value = !this._isValid
83
- ? // {
84
- // operator: this.searchOption,
85
- // firstValue: undefined,
86
- // secondValue: undefined
87
- // }
88
- undefined
89
- : {
90
- operator: this.searchOption,
91
- firstValue: dateValue,
92
- secondValue: undefined
93
- };
94
- }
95
- this.propagateChange(this.value);
96
- }
97
- validate() {
98
- let err;
99
- if (this.searchOption === Operator.EQUAL) {
100
- err = {
101
- datecontrol: {
102
- valid: false
103
- }
104
- };
105
- }
106
- else {
107
- // make sure that on ranges, the first value is earlier than the last
108
- if (this.searchOption === Operator.INTERVAL_INCLUDE_BOTH && this.value && this.value.firstValue && this.value.secondValue) {
109
- this._isValid = new Date(this.value.firstValue).getTime() < new Date(this.value.secondValue).getTime();
110
- err = {
111
- daterangeorder: {
112
- valid: false
113
- }
114
- };
115
- }
116
- else {
117
- err = {
118
- daterange: {
119
- valid: false
120
- }
121
- };
122
- }
123
- }
124
- return this.situation === Situation.SEARCH || this._isValid ? null : err;
125
- }
126
- ngOnInit() {
127
- this.rangeForm.valueChanges.subscribe(() => this.onValueChange());
128
- }
129
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatetimeRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
130
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DatetimeRangeComponent, isStandalone: true, selector: "yuv-datetime-range", inputs: { withTime: "withTime", readonly: "readonly", operator: "operator", situation: "situation" }, providers: [
131
- {
132
- provide: NG_VALUE_ACCESSOR,
133
- useExisting: forwardRef(() => DatetimeRangeComponent),
134
- multi: true
135
- },
136
- {
137
- provide: NG_VALIDATORS,
138
- useExisting: forwardRef(() => DatetimeRangeComponent),
139
- multi: true
140
- }
141
- ], ngImport: i0, template: "<form class=\"eo-datetime-range\" [formGroup]=\"rangeForm\">\n @if (searchOption === 'gtelte') {\n <yuv-datetime [withTime]=\"withTime\" formControlName=\"dateValueFrom\"></yuv-datetime>\n }\n <yvc-dropdown\n [disableClearButton]=\"true\"\n [(ngModel)]=\"searchOption\"\n (ngModelChange)=\"onValueChange()\"\n [ngModelOptions]=\"{ standalone: true }\"\n [options]=\"availableSearchOptions\"\n ></yvc-dropdown>\n\n <yuv-datetime [withTime]=\"withTime\" formControlName=\"dateValue\"></yuv-datetime>\n</form>\n", styles: [":host form{display:flex;flex-flow:row nowrap;gap:3px}:host form yuv-datetime{flex:1 1 auto}:host form yvc-dropdown{--yvc-form-element-border-color: var(--text-color-hint);--yvc-form-element-focus-border-color: var(--color-accent);padding:0;min-width:auto;border-radius:2px;background-color:var(--list-item-hover-background)}:host form yvc-dropdown:hover{background-color:var(--list-item-selected-background)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: YvcDropdownModule }, { kind: "component", type: i2.Dropdown, selector: "yvc-dropdown", inputs: ["options", "filter", "disabled", "multiple", "disableClearButton"], outputs: ["onDropdownOptionsClose"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DatetimeComponent, selector: "yuv-datetime", inputs: ["onlyFutureDates", "readonly", "withTime"] }] }); }
142
- }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DatetimeRangeComponent, decorators: [{
144
- type: Component,
145
- args: [{ selector: 'yuv-datetime-range', standalone: true, imports: [CommonModule, FormsModule, YvcDropdownModule, ReactiveFormsModule, DatetimeComponent], providers: [
146
- {
147
- provide: NG_VALUE_ACCESSOR,
148
- useExisting: forwardRef(() => DatetimeRangeComponent),
149
- multi: true
150
- },
151
- {
152
- provide: NG_VALIDATORS,
153
- useExisting: forwardRef(() => DatetimeRangeComponent),
154
- multi: true
155
- }
156
- ], template: "<form class=\"eo-datetime-range\" [formGroup]=\"rangeForm\">\n @if (searchOption === 'gtelte') {\n <yuv-datetime [withTime]=\"withTime\" formControlName=\"dateValueFrom\"></yuv-datetime>\n }\n <yvc-dropdown\n [disableClearButton]=\"true\"\n [(ngModel)]=\"searchOption\"\n (ngModelChange)=\"onValueChange()\"\n [ngModelOptions]=\"{ standalone: true }\"\n [options]=\"availableSearchOptions\"\n ></yvc-dropdown>\n\n <yuv-datetime [withTime]=\"withTime\" formControlName=\"dateValue\"></yuv-datetime>\n</form>\n", styles: [":host form{display:flex;flex-flow:row nowrap;gap:3px}:host form yuv-datetime{flex:1 1 auto}:host form yvc-dropdown{--yvc-form-element-border-color: var(--text-color-hint);--yvc-form-element-focus-border-color: var(--color-accent);padding:0;min-width:auto;border-radius:2px;background-color:var(--list-item-hover-background)}:host form yvc-dropdown:hover{background-color:var(--list-item-selected-background)}\n"] }]
157
- }], propDecorators: { withTime: [{
158
- type: Input
159
- }], readonly: [{
160
- type: Input
161
- }], operator: [{
162
- type: Input
163
- }], situation: [{
164
- type: Input
165
- }] } });
166
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcmFuZ2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy95dXV2aXMvY2xpZW50LWZyYW1ld29yay9mb3Jtcy9zcmMvbGliL2VsZW1lbnRzL2RhdGV0aW1lLXJhbmdlL2RhdGV0aW1lLXJhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMveXV1dmlzL2NsaWVudC1mcmFtZXdvcmsvZm9ybXMvc3JjL2xpYi9lbGVtZW50cy9kYXRldGltZS1yYW5nZS9kYXRldGltZS1yYW5nZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdFLE9BQU8sRUFFTCxXQUFXLEVBRVgsV0FBVyxFQUNYLGFBQWEsRUFDYixpQkFBaUIsRUFDakIsbUJBQW1CLEVBRW5CLFVBQVUsRUFDWCxNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFjLFNBQVMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JGLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQXFCL0MsTUFBTSxPQUFPLHNCQUFzQjtJQW5CbkM7UUFvQlUsT0FBRSxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVqQzs7V0FFRztRQUNNLGFBQVEsR0FBRyxLQUFLLENBQUM7UUFDMUI7O1dBRUc7UUFDTSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGFBQVEsR0FBRyxJQUFJLENBQUM7UUFHekIsY0FB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SCxxaEJBY0EsbWRETVksWUFBWSw4QkFBRSxXQUFXLG1tQkFBRSxpQkFBaUIsb05BQUUsbUJBQW1CLGdWQUFFLGlCQUFpQjs7NEZBZ0JuRixzQkFBc0I7a0JBbkJsQyxTQUFTOytCQUNFLG9CQUFvQixjQUNsQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLG1CQUFtQixFQUFFLGlCQUFpQixDQUFDLGFBR3BGO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHVCQUF1QixDQUFDOzRCQUNyRCxLQUFLLEVBQUUsSUFBSTt5QkFDWjt3QkFDRDs0QkFDRSxPQUFPLEVBQUUsYUFBYTs0QkFDdEIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsdUJBQXVCLENBQUM7NEJBQ3JELEtBQUssRUFBRSxJQUFJO3lCQUNaO3FCQUNGOzhCQVFRLFFBQVE7c0JBQWhCLEtBQUs7Z0JBSUcsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQsIGZvcndhcmRSZWYsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgQ29udHJvbFZhbHVlQWNjZXNzb3IsXG4gIEZvcm1CdWlsZGVyLFxuICBGb3JtR3JvdXAsXG4gIEZvcm1zTW9kdWxlLFxuICBOR19WQUxJREFUT1JTLFxuICBOR19WQUxVRV9BQ0NFU1NPUixcbiAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgVmFsaWRhdG9yLFxuICBWYWxpZGF0b3JzXG59IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE9wZXJhdG9yLCBPcGVyYXRvckxhYmVsLCBSYW5nZVZhbHVlLCBTaXR1YXRpb24gfSBmcm9tICdAeXV1dmlzL2NsaWVudC1jb3JlJztcbmltcG9ydCB7IFl2Y0Ryb3Bkb3duTW9kdWxlIH0gZnJvbSAnQHl1dXZpcy9jb21wb25lbnRzL2Ryb3Bkb3duJztcbmltcG9ydCB7IERhdGV0aW1lQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0ZXRpbWUvZGF0ZXRpbWUuY29tcG9uZW50JztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3l1di1kYXRldGltZS1yYW5nZScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEZvcm1zTW9kdWxlLCBZdmNEcm9wZG93bk1vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgRGF0ZXRpbWVDb21wb25lbnRdLFxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXRpbWUtcmFuZ2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vZGF0ZXRpbWUtcmFuZ2UuY29tcG9uZW50LnNjc3MnLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGV0aW1lUmFuZ2VDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRldGltZVJhbmdlQ29tcG9uZW50KSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGV0aW1lUmFuZ2VDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgVmFsaWRhdG9yLCBPbkluaXQge1xuICBwcml2YXRlIGZiID0gaW5qZWN0KEZvcm1CdWlsZGVyKTtcblxuICAvKipcbiAgICogRW5hYmxlcyBzZXR0aW5nIHRpbWUgYXMgd2VsbCAoZGVmYXVsdDogZmFsc2UpXG4gICAqL1xuICBASW5wdXQoKSB3aXRoVGltZSA9IGZhbHNlO1xuICAvKipcbiAgICogV2lsbCBwcmV2ZW50IHRoZSBpbnB1dCBmcm9tIGJlaW5nIGNoYW5nZWQgKGRlZmF1bHQ6IGZhbHNlKVxuICAgKi9cbiAgQElucHV0KCkgcmVhZG9ubHkgPSBmYWxzZTtcbiAgQElucHV0KCkgb3BlcmF0b3IgPSAnZXEnO1xuICBASW5wdXQoKSBzaXR1YXRpb24/OiBzdHJpbmc7XG5cbiAgcmFuZ2VGb3JtOiBGb3JtR3JvdXAgPSB0aGlzLmZiLmdyb3VwKHtcbiAgICBkYXRlVmFsdWU6IFt1bmRlZmluZWQsIFZhbGlkYXRvcnMucmVxdWlyZWRdLFxuICAgIGRhdGVWYWx1ZUZyb206IFtdXG4gIH0pO1xuICB2YWx1ZT86IFJhbmdlVmFsdWU7XG5cbiAgcHJpdmF0ZSBfaXNWYWxpZCA9IHRydWU7XG5cbiAgLy8gb3B0aW9ucyBmb3Igc2VhcmNoIHNpdHVhdGlvblxuICBhdmFpbGFibGVTZWFyY2hPcHRpb25zID0gW1xuICAgIHsgbGFiZWw6IE9wZXJhdG9yTGFiZWwuRVFVQUwsIHZhbHVlOiBPcGVyYXRvci5FUVVBTCB9LFxuICAgIHsgbGFiZWw6IE9wZXJhdG9yTGFiZWwuR1JFQVRFUl9PUl9FUVVBTCwgdmFsdWU6IE9wZXJhdG9yLkdSRUFURVJfT1JfRVFVQUwgfSxcbiAgICB7IGxhYmVsOiBPcGVyYXRvckxhYmVsLkxFU1NfT1JfRVFVQUwsIHZhbHVlOiBPcGVyYXRvci5MRVNTX09SX0VRVUFMIH0sXG4gICAgeyBsYWJlbDogT3BlcmF0b3JMYWJlbC5JTlRFUlZBTF9JTkNMVURFX0JPVEgsIHZhbHVlOiBPcGVyYXRvci5JTlRFUlZBTF9JTkNMVURFX0JPVEggfVxuICBdO1xuICAvLyB0aGUgc2VsZWN0ZWQgc2VhcmNoIG9wdGlvblxuICBzZWFyY2hPcHRpb24gPSB0aGlzLmF2YWlsYWJsZVNlYXJjaE9wdGlvbnNbMV0udmFsdWU7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHt9O1xuXG4gIHdyaXRlVmFsdWUodmFsdWU6IFJhbmdlVmFsdWUpOiB2b2lkIHtcbiAgICBpZiAodmFsdWUgJiYgKHZhbHVlLmZpcnN0VmFsdWUgfHwgdmFsdWUuc2Vjb25kVmFsdWUpKSB7XG4gICAgICBjb25zdCBtYXRjaCA9IHRoaXMuYXZhaWxhYmxlU2VhcmNoT3B0aW9ucy5maW5kKChvKSA9PiBvLnZhbHVlID09PSB2YWx1ZS5vcGVyYXRvcik7XG4gICAgICB0aGlzLnNlYXJjaE9wdGlvbiA9IG1hdGNoID8gbWF0Y2gudmFsdWUgOiB0aGlzLmF2YWlsYWJsZVNlYXJjaE9wdGlvbnNbMF0udmFsdWU7XG5cbiAgICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcbiAgICAgIHRoaXMucmFuZ2VGb3JtLnBhdGNoVmFsdWUoe1xuICAgICAgICBkYXRlVmFsdWVGcm9tOiB2YWx1ZS5zZWNvbmRWYWx1ZSAmJiB2YWx1ZS5maXJzdFZhbHVlLFxuICAgICAgICBkYXRlVmFsdWU6IHZhbHVlLnNlY29uZFZhbHVlIHx8IHZhbHVlLmZpcnN0VmFsdWVcbiAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnNlYXJjaE9wdGlvbiA9IHRoaXMuYXZhaWxhYmxlU2VhcmNoT3B0aW9uc1swXS52YWx1ZTtcbiAgICAgIHRoaXMudmFsdWUgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnJhbmdlRm9ybS5yZXNldCgpO1xuICAgIH1cbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XG4gIH1cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycywgQHR5cGVzY3JpcHQtZXNsaW50L25vLWVtcHR5LWZ1bmN0aW9uXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHt9XG5cbiAgb25WYWx1ZUNoYW5nZSgpIHtcbiAgICBjb25zdCBkYXRlVmFsdWUgPSB0aGlzLnJhbmdlRm9ybS52YWx1ZS5kYXRlVmFsdWUgfHwgdW5kZWZpbmVkO1xuICAgIGlmICh0aGlzLnNlYXJjaE9wdGlvbiA9PT0gT3BlcmF0b3IuSU5URVJWQUxfSU5DTFVERV9CT1RIKSB7XG4gICAgICBjb25zdCBkYXRlVmFsdWVGcm9tID0gdGhpcy5yYW5nZUZvcm0udmFsdWUuZGF0ZVZhbHVlRnJvbSB8fCB1bmRlZmluZWQ7XG5cbiAgICAgIGlmIChkYXRlVmFsdWVGcm9tIHx8IGRhdGVWYWx1ZSkge1xuICAgICAgICB0aGlzLl9pc1ZhbGlkID0gdGhpcy5yYW5nZUZvcm0udmFsaWQgJiYgISFkYXRlVmFsdWVGcm9tICYmICEhZGF0ZVZhbHVlO1xuICAgICAgICB0aGlzLnZhbHVlID0gIXRoaXMuX2lzVmFsaWRcbiAgICAgICAgICA/IC8vIHtcbiAgICAgICAgICAgIC8vICAgb3BlcmF0b3I6IHRoaXMuc2VhcmNoT3B0aW9uLFxuICAgICAgICAgICAgLy8gICBmaXJzdFZhbHVlOiB1bmRlZmluZWQsXG4gICAgICAgICAgICAvLyAgIHNlY29uZFZhbHVlOiB1bmRlZmluZWRcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgIHVuZGVmaW5lZFxuICAgICAgICAgIDoge1xuICAgICAgICAgICAgICBvcGVyYXRvcjogdGhpcy5zZWFyY2hPcHRpb24sXG4gICAgICAgICAgICAgIGZpcnN0VmFsdWU6IGRhdGVWYWx1ZUZyb20sXG4gICAgICAgICAgICAgIHNlY29uZFZhbHVlOiBkYXRlVmFsdWVcbiAgICAgICAgICAgIH07XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX2lzVmFsaWQgPSB0aGlzLnJhbmdlRm9ybS52YWxpZDtcbiAgICAgIHRoaXMudmFsdWUgPSAhdGhpcy5faXNWYWxpZFxuICAgICAgICA/IC8vIHtcbiAgICAgICAgICAvLyAgIG9wZXJhdG9yOiB0aGlzLnNlYXJjaE9wdGlvbixcbiAgICAgICAgICAvLyAgIGZpcnN0VmFsdWU6IHVuZGVmaW5lZCxcbiAgICAgICAgICAvLyAgIHNlY29uZFZhbHVlOiB1bmRlZmluZWRcbiAgICAgICAgICAvLyB9XG4gICAgICAgICAgdW5kZWZpbmVkXG4gICAgICAgIDoge1xuICAgICAgICAgICAgb3BlcmF0b3I6IHRoaXMuc2VhcmNoT3B0aW9uLFxuICAgICAgICAgICAgZmlyc3RWYWx1ZTogZGF0ZVZhbHVlLFxuICAgICAgICAgICAgc2Vjb25kVmFsdWU6IHVuZGVmaW5lZFxuICAgICAgICAgIH07XG4gICAgfVxuXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UodGhpcy52YWx1ZSk7XG4gIH1cblxuICB2YWxpZGF0ZSgpIHtcbiAgICBsZXQgZXJyO1xuICAgIGlmICh0aGlzLnNlYXJjaE9wdGlvbiA9PT0gT3BlcmF0b3IuRVFVQUwpIHtcbiAgICAgIGVyciA9IHtcbiAgICAgICAgZGF0ZWNvbnRyb2w6IHtcbiAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gbWFrZSBzdXJlIHRoYXQgb24gcmFuZ2VzLCB0aGUgZmlyc3QgdmFsdWUgaXMgZWFybGllciB0aGFuIHRoZSBsYXN0XG4gICAgICBpZiAodGhpcy5zZWFyY2hPcHRpb24gPT09IE9wZXJhdG9yLklOVEVSVkFMX0lOQ0xVREVfQk9USCAmJiB0aGlzLnZhbHVlICYmIHRoaXMudmFsdWUuZmlyc3RWYWx1ZSAmJiB0aGlzLnZhbHVlLnNlY29uZFZhbHVlKSB7XG4gICAgICAgIHRoaXMuX2lzVmFsaWQgPSBuZXcgRGF0ZSh0aGlzLnZhbHVlLmZpcnN0VmFsdWUgYXMgRGF0ZSkuZ2V0VGltZSgpIDwgbmV3IERhdGUodGhpcy52YWx1ZS5zZWNvbmRWYWx1ZSBhcyBEYXRlKS5nZXRUaW1lKCk7XG4gICAgICAgIGVyciA9IHtcbiAgICAgICAgICBkYXRlcmFuZ2VvcmRlcjoge1xuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXJyID0ge1xuICAgICAgICAgIGRhdGVyYW5nZToge1xuICAgICAgICAgICAgdmFsaWQ6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICB9O1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5zaXR1YXRpb24gPT09IFNpdHVhdGlvbi5TRUFSQ0ggfHwgdGhpcy5faXNWYWxpZCA/IG51bGwgOiBlcnI7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnJhbmdlRm9ybS52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKCgpID0+IHRoaXMub25WYWx1ZUNoYW5nZSgpKTtcbiAgfVxufVxuIiwiPGZvcm0gY2xhc3M9XCJlby1kYXRldGltZS1yYW5nZVwiIFtmb3JtR3JvdXBdPVwicmFuZ2VGb3JtXCI+XG4gIEBpZiAoc2VhcmNoT3B0aW9uID09PSAnZ3RlbHRlJykge1xuICAgIDx5dXYtZGF0ZXRpbWUgW3dpdGhUaW1lXT1cIndpdGhUaW1lXCIgZm9ybUNvbnRyb2xOYW1lPVwiZGF0ZVZhbHVlRnJvbVwiPjwveXV2LWRhdGV0aW1lPlxuICB9XG4gIDx5dmMtZHJvcGRvd25cbiAgICBbZGlzYWJsZUNsZWFyQnV0dG9uXT1cInRydWVcIlxuICAgIFsobmdNb2RlbCldPVwic2VhcmNoT3B0aW9uXCJcbiAgICAobmdNb2RlbENoYW5nZSk9XCJvblZhbHVlQ2hhbmdlKClcIlxuICAgIFtuZ01vZGVsT3B0aW9uc109XCJ7IHN0YW5kYWxvbmU6IHRydWUgfVwiXG4gICAgW29wdGlvbnNdPVwiYXZhaWxhYmxlU2VhcmNoT3B0aW9uc1wiXG4gID48L3l2Yy1kcm9wZG93bj5cblxuICA8eXV2LWRhdGV0aW1lIFt3aXRoVGltZV09XCJ3aXRoVGltZVwiIGZvcm1Db250cm9sTmFtZT1cImRhdGVWYWx1ZVwiPjwveXV2LWRhdGV0aW1lPlxuPC9mb3JtPlxuIl19
@@ -1,11 +0,0 @@
1
- export * from './catalog/catalog.component';
2
- export * from './data-grid/data-grid/data-grid.component';
3
- export * from './datetime/datetime.component';
4
- export * from './datetime-range/datetime-range.component';
5
- export * from './number/number.component';
6
- export * from './number-range/number-range.component';
7
- export * from './organization/organization.component';
8
- export * from './range-select-date/range-select-date.component';
9
- export * from './range-select-filesize/range-select-filesize.component';
10
- export * from './string/string.component';
11
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3l1dXZpcy9jbGllbnQtZnJhbWV3b3JrL2Zvcm1zL3NyYy9saWIvZWxlbWVudHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsdUNBQXVDLENBQUM7QUFDdEQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGlEQUFpRCxDQUFDO0FBQ2hFLGNBQWMseURBQXlELENBQUM7QUFDeEUsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vY2F0YWxvZy9jYXRhbG9nLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGEtZ3JpZC9kYXRhLWdyaWQvZGF0YS1ncmlkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGV0aW1lL2RhdGV0aW1lLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RhdGV0aW1lLXJhbmdlL2RhdGV0aW1lLXJhbmdlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL251bWJlci9udW1iZXIuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbnVtYmVyLXJhbmdlL251bWJlci1yYW5nZS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9vcmdhbml6YXRpb24vb3JnYW5pemF0aW9uLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JhbmdlLXNlbGVjdC1kYXRlL3JhbmdlLXNlbGVjdC1kYXRlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3JhbmdlLXNlbGVjdC1maWxlc2l6ZS9yYW5nZS1zZWxlY3QtZmlsZXNpemUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vc3RyaW5nL3N0cmluZy5jb21wb25lbnQnO1xuIl19