@zeedhi/common 1.118.0 → 1.120.0

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 (258) hide show
  1. package/dist/types/components/index.d.ts +151 -0
  2. package/dist/types/components/zd-alert/alert.d.ts +94 -0
  3. package/dist/types/components/zd-alert/interfaces.d.ts +18 -0
  4. package/dist/types/components/zd-badge/badge.d.ts +28 -0
  5. package/dist/types/components/zd-badge/interfaces.d.ts +10 -0
  6. package/dist/types/components/zd-breadcrumbs/breadcrumbs.d.ts +32 -0
  7. package/dist/types/components/zd-breadcrumbs/interfaces.d.ts +24 -0
  8. package/dist/types/components/zd-button/button.d.ts +89 -0
  9. package/dist/types/components/zd-button/interfaces.d.ts +48 -0
  10. package/dist/types/components/zd-button-group/button-group.d.ts +67 -0
  11. package/dist/types/components/zd-button-group/interfaces.d.ts +25 -0
  12. package/dist/types/components/zd-card/card.d.ts +152 -0
  13. package/dist/types/components/zd-card/interfaces.d.ts +40 -0
  14. package/dist/types/components/zd-carousel/carousel.d.ts +163 -0
  15. package/dist/types/components/zd-carousel/interfaces.d.ts +49 -0
  16. package/dist/types/components/zd-checkbox/checkbox.d.ts +12 -0
  17. package/dist/types/components/zd-checkbox/interfaces.d.ts +5 -0
  18. package/dist/types/components/zd-checkbox-multiple/checkbox-multiple.d.ts +39 -0
  19. package/dist/types/components/zd-checkbox-multiple/interfaces.d.ts +13 -0
  20. package/dist/types/components/zd-chip/chip.d.ts +60 -0
  21. package/dist/types/components/zd-chip/interfaces.d.ts +18 -0
  22. package/dist/types/components/zd-code-viewer/code-viewer.d.ts +86 -0
  23. package/dist/types/components/zd-code-viewer/interfaces.d.ts +13 -0
  24. package/dist/types/components/zd-col/col.d.ts +33 -0
  25. package/dist/types/components/zd-col/interfaces.d.ts +15 -0
  26. package/dist/types/components/zd-collapse-card/collapse-card.d.ts +56 -0
  27. package/dist/types/components/zd-collapse-card/interfaces.d.ts +14 -0
  28. package/dist/types/components/zd-component/child-not-found.d.ts +6 -0
  29. package/dist/types/components/zd-component/component-render.d.ts +16 -0
  30. package/dist/types/components/zd-component/component.d.ts +120 -0
  31. package/dist/types/components/zd-component/interfaces.d.ts +74 -0
  32. package/dist/types/components/zd-container/container.d.ts +45 -0
  33. package/dist/types/components/zd-container/interfaces.d.ts +12 -0
  34. package/dist/types/components/zd-currency/currency.d.ts +12 -0
  35. package/dist/types/components/zd-currency/interfaces.d.ts +6 -0
  36. package/dist/types/components/zd-date-input/date-input.d.ts +152 -0
  37. package/dist/types/components/zd-date-input/interfaces.d.ts +27 -0
  38. package/dist/types/components/zd-date-range/date-range.d.ts +158 -0
  39. package/dist/types/components/zd-date-range/interfaces.d.ts +18 -0
  40. package/dist/types/components/zd-dialog/dialog.d.ts +76 -0
  41. package/dist/types/components/zd-dialog/interfaces.d.ts +13 -0
  42. package/dist/types/components/zd-divider/divider.d.ts +20 -0
  43. package/dist/types/components/zd-divider/interfaces.d.ts +8 -0
  44. package/dist/types/components/zd-dropdown/dropdown.d.ts +81 -0
  45. package/dist/types/components/zd-dropdown/interfaces.d.ts +23 -0
  46. package/dist/types/components/zd-footer/footer.d.ts +80 -0
  47. package/dist/types/components/zd-footer/interfaces.d.ts +26 -0
  48. package/dist/types/components/zd-form/form.d.ts +174 -0
  49. package/dist/types/components/zd-form/interfaces.d.ts +36 -0
  50. package/dist/types/components/zd-frame/frame.d.ts +81 -0
  51. package/dist/types/components/zd-frame/interfaces.d.ts +23 -0
  52. package/dist/types/components/zd-frame-page/frame-page.d.ts +14 -0
  53. package/dist/types/components/zd-frame-page/interfaces.d.ts +4 -0
  54. package/dist/types/components/zd-grid/data-navigator.d.ts +12 -0
  55. package/dist/types/components/zd-grid/data-selector.d.ts +25 -0
  56. package/dist/types/components/zd-grid/grid-column.d.ts +47 -0
  57. package/dist/types/components/zd-grid/grid-events.d.ts +26 -0
  58. package/dist/types/components/zd-grid/grid.d.ts +85 -0
  59. package/dist/types/components/zd-grid/index.d.ts +11 -0
  60. package/dist/types/components/zd-grid/interfaces.d.ts +148 -0
  61. package/dist/types/components/zd-grid/iterable-table.d.ts +28 -0
  62. package/dist/types/components/zd-grid/keymap-merger.d.ts +26 -0
  63. package/dist/types/components/zd-grid/keymap-navigation.d.ts +6 -0
  64. package/dist/types/components/zd-grid/table-action-builder.d.ts +19 -0
  65. package/dist/types/components/zd-grid/view-navigator.d.ts +10 -0
  66. package/dist/types/components/zd-grid-editable/data-editor-with-add.d.ts +35 -0
  67. package/dist/types/components/zd-grid-editable/data-editor.d.ts +64 -0
  68. package/dist/types/components/zd-grid-editable/errors/index.d.ts +2 -0
  69. package/dist/types/components/zd-grid-editable/errors/not-editing.d.ts +6 -0
  70. package/dist/types/components/zd-grid-editable/errors/row-not-found.d.ts +6 -0
  71. package/dist/types/components/zd-grid-editable/grid-column-editable.d.ts +9 -0
  72. package/dist/types/components/zd-grid-editable/grid-editable-controller.d.ts +8 -0
  73. package/dist/types/components/zd-grid-editable/grid-editable-events.d.ts +32 -0
  74. package/dist/types/components/zd-grid-editable/grid-editable.d.ts +124 -0
  75. package/dist/types/components/zd-grid-editable/index.d.ts +8 -0
  76. package/dist/types/components/zd-grid-editable/interfaces.d.ts +66 -0
  77. package/dist/types/components/zd-grid-editable/keymap-editing.d.ts +7 -0
  78. package/dist/types/components/zd-header/header.d.ts +94 -0
  79. package/dist/types/components/zd-header/interfaces.d.ts +29 -0
  80. package/dist/types/components/zd-icon/icon.d.ts +55 -0
  81. package/dist/types/components/zd-icon/interfaces.d.ts +13 -0
  82. package/dist/types/components/zd-image/image.d.ts +73 -0
  83. package/dist/types/components/zd-image/interfaces.d.ts +17 -0
  84. package/dist/types/components/zd-increment/increment.d.ts +56 -0
  85. package/dist/types/components/zd-increment/interfaces.d.ts +9 -0
  86. package/dist/types/components/zd-input/input-factory.d.ts +6 -0
  87. package/dist/types/components/zd-input/input.d.ts +223 -0
  88. package/dist/types/components/zd-input/interfaces.d.ts +38 -0
  89. package/dist/types/components/zd-iterable/column-not-found.d.ts +6 -0
  90. package/dist/types/components/zd-iterable/column.d.ts +78 -0
  91. package/dist/types/components/zd-iterable/conditions-manager.d.ts +49 -0
  92. package/dist/types/components/zd-iterable/interfaces.d.ts +103 -0
  93. package/dist/types/components/zd-iterable/iterable-columns-button-controller.d.ts +9 -0
  94. package/dist/types/components/zd-iterable/iterable-columns-button.d.ts +35 -0
  95. package/dist/types/components/zd-iterable/iterable-controller.d.ts +8 -0
  96. package/dist/types/components/zd-iterable/iterable-page-component.d.ts +27 -0
  97. package/dist/types/components/zd-iterable/iterable-page-info.d.ts +7 -0
  98. package/dist/types/components/zd-iterable/iterable-page-size.d.ts +62 -0
  99. package/dist/types/components/zd-iterable/iterable-pagination.d.ts +28 -0
  100. package/dist/types/components/zd-iterable/iterable.d.ts +77 -0
  101. package/dist/types/components/zd-iterable/search.d.ts +31 -0
  102. package/dist/types/components/zd-iterable-component-render/interfaces.d.ts +34 -0
  103. package/dist/types/components/zd-iterable-component-render/iterable-component-render.d.ts +84 -0
  104. package/dist/types/components/zd-layout/interfaces.d.ts +7 -0
  105. package/dist/types/components/zd-layout/layout.d.ts +9 -0
  106. package/dist/types/components/zd-list/interfaces.d.ts +44 -0
  107. package/dist/types/components/zd-list/item-not-found.d.ts +6 -0
  108. package/dist/types/components/zd-list/list-group.d.ts +30 -0
  109. package/dist/types/components/zd-list/list-item.d.ts +46 -0
  110. package/dist/types/components/zd-list/list.d.ts +81 -0
  111. package/dist/types/components/zd-loading/interfaces.d.ts +7 -0
  112. package/dist/types/components/zd-loading/loading.d.ts +21 -0
  113. package/dist/types/components/zd-login/interfaces.d.ts +25 -0
  114. package/dist/types/components/zd-login/login-button.d.ts +50 -0
  115. package/dist/types/components/zd-login/login.d.ts +54 -0
  116. package/dist/types/components/zd-main/interfaces.d.ts +5 -0
  117. package/dist/types/components/zd-main/main.d.ts +7 -0
  118. package/dist/types/components/zd-master-detail/detail-not-found.d.ts +7 -0
  119. package/dist/types/components/zd-master-detail/interfaces.d.ts +10 -0
  120. package/dist/types/components/zd-master-detail/master-detail.d.ts +18 -0
  121. package/dist/types/components/zd-master-detail/master-not-found.d.ts +7 -0
  122. package/dist/types/components/zd-menu/interfaces.d.ts +68 -0
  123. package/dist/types/components/zd-menu/menu-button.d.ts +29 -0
  124. package/dist/types/components/zd-menu/menu-group.d.ts +61 -0
  125. package/dist/types/components/zd-menu/menu-link.d.ts +50 -0
  126. package/dist/types/components/zd-menu/menu-separator.d.ts +7 -0
  127. package/dist/types/components/zd-menu/menu.d.ts +199 -0
  128. package/dist/types/components/zd-modal/interfaces.d.ts +35 -0
  129. package/dist/types/components/zd-modal/modal-close-button.d.ts +28 -0
  130. package/dist/types/components/zd-modal/modal.d.ts +53 -0
  131. package/dist/types/components/zd-month/interfaces.d.ts +6 -0
  132. package/dist/types/components/zd-month/month.d.ts +33 -0
  133. package/dist/types/components/zd-number-input/interfaces.d.ts +8 -0
  134. package/dist/types/components/zd-number-input/number-input.d.ts +43 -0
  135. package/dist/types/components/zd-password/interfaces.d.ts +6 -0
  136. package/dist/types/components/zd-password/password.d.ts +17 -0
  137. package/dist/types/components/zd-progress/interfaces.d.ts +10 -0
  138. package/dist/types/components/zd-progress/progress.d.ts +41 -0
  139. package/dist/types/components/zd-radio/interfaces.d.ts +11 -0
  140. package/dist/types/components/zd-radio/radio.d.ts +35 -0
  141. package/dist/types/components/zd-row/interfaces.d.ts +13 -0
  142. package/dist/types/components/zd-row/row.d.ts +39 -0
  143. package/dist/types/components/zd-select/interfaces.d.ts +24 -0
  144. package/dist/types/components/zd-select/select.d.ts +238 -0
  145. package/dist/types/components/zd-select-multiple/interfaces.d.ts +18 -0
  146. package/dist/types/components/zd-select-multiple/select-multiple.d.ts +113 -0
  147. package/dist/types/components/zd-svg-map/interfaces.d.ts +26 -0
  148. package/dist/types/components/zd-svg-map/svg-map.d.ts +35 -0
  149. package/dist/types/components/zd-switch/interfaces.d.ts +7 -0
  150. package/dist/types/components/zd-switch/switch.d.ts +16 -0
  151. package/dist/types/components/zd-table/interfaces.d.ts +25 -0
  152. package/dist/types/components/zd-table/table.d.ts +42 -0
  153. package/dist/types/components/zd-tabs/interfaces.d.ts +40 -0
  154. package/dist/types/components/zd-tabs/tab-not-found.d.ts +11 -0
  155. package/dist/types/components/zd-tabs/tab.d.ts +57 -0
  156. package/dist/types/components/zd-tabs/tabs.d.ts +86 -0
  157. package/dist/types/components/zd-tag/interfaces.d.ts +7 -0
  158. package/dist/types/components/zd-tag/tag.d.ts +13 -0
  159. package/dist/types/components/zd-text/interfaces.d.ts +9 -0
  160. package/dist/types/components/zd-text/text.d.ts +8 -0
  161. package/dist/types/components/zd-text-input/interfaces.d.ts +23 -0
  162. package/dist/types/components/zd-text-input/text-input.d.ts +91 -0
  163. package/dist/types/components/zd-textarea/interfaces.d.ts +21 -0
  164. package/dist/types/components/zd-textarea/textarea.d.ts +71 -0
  165. package/dist/types/components/zd-time/interfaces.d.ts +22 -0
  166. package/dist/types/components/zd-time/time-format-selector.d.ts +8 -0
  167. package/dist/types/components/zd-time/time.d.ts +149 -0
  168. package/dist/types/components/zd-toggleable/interfaces.d.ts +6 -0
  169. package/dist/types/components/zd-toggleable/toggleable.d.ts +21 -0
  170. package/dist/types/components/zd-tooltip/interfaces.d.ts +18 -0
  171. package/dist/types/components/zd-tooltip/tooltip.d.ts +57 -0
  172. package/dist/types/components/zd-tree/interfaces.d.ts +107 -0
  173. package/dist/types/components/zd-tree/tree.d.ts +161 -0
  174. package/dist/types/components/zd-tree-grid/index.d.ts +6 -0
  175. package/dist/types/components/zd-tree-grid/interfaces.d.ts +35 -0
  176. package/dist/types/components/zd-tree-grid/iterable-tree.d.ts +10 -0
  177. package/dist/types/components/zd-tree-grid/keymap-tree.d.ts +7 -0
  178. package/dist/types/components/zd-tree-grid/tree-data-navigator.d.ts +10 -0
  179. package/dist/types/components/zd-tree-grid/tree-data-selector.d.ts +18 -0
  180. package/dist/types/components/zd-tree-grid/tree-grid.d.ts +119 -0
  181. package/dist/types/error/delete-rows.d.ts +7 -0
  182. package/dist/types/error/index.d.ts +3 -0
  183. package/dist/types/error/non-initialized.d.ts +7 -0
  184. package/dist/types/error/zeedhi-error.d.ts +6 -0
  185. package/dist/types/index.d.ts +6 -0
  186. package/dist/types/services/index.d.ts +4 -0
  187. package/dist/types/services/zd-alert/alert-queue.d.ts +13 -0
  188. package/dist/types/services/zd-alert/alert-replace.d.ts +18 -0
  189. package/dist/types/services/zd-alert/alert-service.d.ts +45 -0
  190. package/dist/types/services/zd-alert/alert-stack.d.ts +9 -0
  191. package/dist/types/services/zd-alert/index.d.ts +5 -0
  192. package/dist/types/services/zd-alert/interfaces.d.ts +6 -0
  193. package/dist/types/services/zd-dialog/dialog-service.d.ts +24 -0
  194. package/dist/types/services/zd-loading/loading-service.d.ts +17 -0
  195. package/dist/types/services/zd-modal/modal-service.d.ts +39 -0
  196. package/dist/types/utils/data-value-out/data-value-out.d.ts +5 -0
  197. package/dist/types/utils/data-value-out/index.d.ts +2 -0
  198. package/dist/types/utils/data-value-out/interfaces.d.ts +8 -0
  199. package/dist/types/utils/datasource-searcher/datasource-searcher.d.ts +6 -0
  200. package/dist/types/utils/datasource-searcher/index.d.ts +2 -0
  201. package/dist/types/utils/datasource-searcher/interfaces.d.ts +5 -0
  202. package/dist/types/utils/icons/icons.d.ts +24 -0
  203. package/dist/types/utils/index.d.ts +7 -0
  204. package/dist/types/utils/omit/omit.d.ts +11 -0
  205. package/dist/types/utils/theme/theme.d.ts +34 -0
  206. package/dist/types/utils/tree-data-structure/index.d.ts +2 -0
  207. package/dist/types/utils/tree-data-structure/interfaces.d.ts +30 -0
  208. package/dist/types/utils/tree-data-structure/tree-data-structure.d.ts +155 -0
  209. package/dist/types/utils/unique-by/unique-by.d.ts +3 -0
  210. package/dist/zd-common.esm.js +87 -24
  211. package/dist/zd-common.js +13133 -0
  212. package/dist/zd-common.min.js +13133 -0
  213. package/dist/zd-common.umd.js +87 -24
  214. package/package.json +2 -2
  215. package/types/components/zd-apex-chart/apex-chart.d.ts +1 -1
  216. package/types/components/zd-apex-chart/interfaces.d.ts +1 -1
  217. package/types/components/zd-card/card.d.ts +1 -1
  218. package/types/components/zd-card/interfaces.d.ts +1 -1
  219. package/types/components/zd-carousel/carousel.d.ts +1 -1
  220. package/types/components/zd-carousel/interfaces.d.ts +1 -1
  221. package/types/components/zd-code-editor/code-editor.d.ts +1 -1
  222. package/types/components/zd-code-editor/interfaces.d.ts +1 -1
  223. package/types/components/zd-col/col.d.ts +1 -1
  224. package/types/components/zd-col/interfaces.d.ts +1 -1
  225. package/types/components/zd-container/container.d.ts +1 -1
  226. package/types/components/zd-container/interfaces.d.ts +1 -1
  227. package/types/components/zd-dashboard/dashboard.d.ts +1 -1
  228. package/types/components/zd-dashboard/interfaces.d.ts +1 -1
  229. package/types/components/zd-date/date-range.d.ts +24 -4
  230. package/types/components/zd-form/form.d.ts +1 -1
  231. package/types/components/zd-form/interfaces.d.ts +1 -1
  232. package/types/components/zd-frame/frame.d.ts +1 -1
  233. package/types/components/zd-frame/interfaces.d.ts +1 -1
  234. package/types/components/zd-grid/grid.d.ts +1 -1
  235. package/types/components/zd-grid/interfaces.d.ts +1 -1
  236. package/types/components/zd-image/image.d.ts +1 -1
  237. package/types/components/zd-image/interfaces.d.ts +1 -1
  238. package/types/components/zd-iterable-component-render/interfaces.d.ts +1 -1
  239. package/types/components/zd-iterable-component-render/iterable-component-render.d.ts +1 -1
  240. package/types/components/zd-list/interfaces.d.ts +1 -1
  241. package/types/components/zd-list/list.d.ts +1 -1
  242. package/types/components/zd-master-detail/interfaces.d.ts +1 -1
  243. package/types/components/zd-master-detail/master-detail.d.ts +1 -1
  244. package/types/components/zd-row/interfaces.d.ts +1 -1
  245. package/types/components/zd-row/row.d.ts +1 -1
  246. package/types/components/zd-selectable-list/interfaces.d.ts +1 -1
  247. package/types/components/zd-selectable-list/selectable-list.d.ts +1 -1
  248. package/types/components/zd-table/interfaces.d.ts +1 -1
  249. package/types/components/zd-table/table.d.ts +1 -1
  250. package/types/components/zd-tabs/interfaces.d.ts +1 -1
  251. package/types/components/zd-tabs/tabs.d.ts +1 -1
  252. package/types/components/zd-textarea/interfaces.d.ts +1 -1
  253. package/types/components/zd-textarea/textarea.d.ts +1 -1
  254. package/types/components/zd-tooltip/interfaces.d.ts +1 -0
  255. package/types/components/zd-tooltip/tooltip.d.ts +4 -0
  256. package/types/components/zd-tree/interfaces.d.ts +1 -1
  257. package/types/components/zd-tree/tree.d.ts +1 -1
  258. package/types/services/zd-json-cache/json-cache-service.d.ts +0 -12
@@ -4328,6 +4328,13 @@ FormatterParserProvider.registerParser('ZdDateTime', (value, { dateTimeFormat =
4328
4328
  });
4329
4329
  InputFactory.register('ZdDate', Date$1);
4330
4330
 
4331
+ const ERROR_MAP = {
4332
+ invalid_range: 'VALIDATION_INVALID_RANGE',
4333
+ incomplete_range: 'VALIDATION_INVALID_DATE',
4334
+ empty: 'VALIDATION_INVALID_DATE',
4335
+ invalid_date: 'VALIDATION_INVALID_DATE',
4336
+ none: '',
4337
+ };
4331
4338
  class DateRange extends TextInput {
4332
4339
  /* istanbul ignore next */
4333
4340
  /**
@@ -4336,6 +4343,10 @@ class DateRange extends TextInput {
4336
4343
  */
4337
4344
  constructor(props) {
4338
4345
  super(props);
4346
+ /**
4347
+ * Restricts which dates can be selected.
4348
+ */
4349
+ this.allowedDates = undefined;
4339
4350
  /**
4340
4351
  * Input auto complete.
4341
4352
  */
@@ -4403,6 +4414,7 @@ class DateRange extends TextInput {
4403
4414
  this.parserFn = FormatterParserProvider.getParser('ZdDateRange');
4404
4415
  this.previousHint = '';
4405
4416
  this.previousPersistentHint = false;
4417
+ this.allowedDates = this.getInitValue('allowedDates', props.allowedDates, this.allowedDates);
4406
4418
  this.appendIcon = this.getInitValue('appendIcon', props.appendIcon, 'calendar');
4407
4419
  this.autocomplete = this.getInitValue('autocomplete', props.autocomplete, this.autocomplete);
4408
4420
  this.dateFormat = this.getInitValue('dateFormat', props.dateFormat, this.dateFormat);
@@ -4442,7 +4454,7 @@ class DateRange extends TextInput {
4442
4454
  * Character that will separate the two dates
4443
4455
  */
4444
4456
  get splitter() {
4445
- return I18n.translate(this.internalSplitter);
4457
+ return ` ${I18n.translate(this.internalSplitter).trim()} `;
4446
4458
  }
4447
4459
  set splitter(splitter) {
4448
4460
  this.internalSplitter = splitter;
@@ -4505,36 +4517,79 @@ class DateRange extends TextInput {
4505
4517
  return format.replace(/[A-Za-z]/gi, '#');
4506
4518
  }
4507
4519
  setDateValue(displayValue) {
4508
- const lastValue = this.displayValue;
4509
- const values = this.splitValues(displayValue);
4510
- if (this.isValidDateArray(this.displayFormat, values)) {
4520
+ const lastDisplayValue = this.displayValue;
4521
+ const values = this.parser(displayValue);
4522
+ const validation = this.isValidDateArray(values);
4523
+ if (validation.isValid) {
4511
4524
  this.internalDisplayValue = displayValue;
4512
4525
  this.internalValue = this.parser(displayValue);
4513
4526
  this.dateError = false;
4514
- if (lastValue !== this.displayValue)
4527
+ if (lastDisplayValue !== this.displayValue) {
4515
4528
  this.change(this.value);
4529
+ }
4516
4530
  }
4517
- else {
4518
- if (!displayValue) {
4519
- this.internalDisplayValue = displayValue;
4520
- this.internalValue = [];
4521
- if (lastValue !== this.displayValue)
4522
- this.change(this.value);
4531
+ else if (validation.errorType === 'empty') {
4532
+ this.internalDisplayValue = '';
4533
+ this.internalValue = [];
4534
+ if (lastDisplayValue !== this.displayValue) {
4535
+ this.change(this.value);
4523
4536
  }
4524
- this.dateError = !!displayValue;
4525
4537
  }
4526
- this.value = this.internalValue; // forces value accessor to be called if necessary
4538
+ else {
4539
+ this.dateError = validation.errorType;
4540
+ }
4541
+ this.value = this.internalValue;
4527
4542
  }
4528
4543
  /**
4529
4544
  * Faz a validação do array de datas
4530
- * @param format o formato da data
4531
- * @param values o array de datas
4545
+ * @param values o array de datas formatadas de acordo com o dateFormat
4532
4546
  * @returns true se todos os valores forem validados
4533
4547
  * */
4534
- isValidDateArray(format, values) {
4535
- if (!values || values.length < 2)
4536
- return false;
4537
- return values.every((value) => this.isValidDate(value, format));
4548
+ isValidDateArray(values) {
4549
+ if (!values || values.length === 0 || values.every((value) => !value)) {
4550
+ return { isValid: false, errorType: 'empty' };
4551
+ }
4552
+ if (values.length === 1 && values[0] !== '') {
4553
+ return { isValid: false, errorType: 'incomplete_range' };
4554
+ }
4555
+ const invalidRange = !this.isAllowedRange(values);
4556
+ if (invalidRange) {
4557
+ return { isValid: false, errorType: 'invalid_range' };
4558
+ }
4559
+ const allDatesValid = values.every((value) => this.isValidDate(value, this.dateFormat));
4560
+ if (!allDatesValid) {
4561
+ return { isValid: false, errorType: 'invalid_date' };
4562
+ }
4563
+ return { isValid: true, errorType: 'none' };
4564
+ }
4565
+ isAllowedDate(value, format) {
4566
+ if (this.allowedDates === undefined)
4567
+ return true;
4568
+ const dateStr = dayjs(value, format).format(this.dateFormat);
4569
+ if (this.allowedDates instanceof Function) {
4570
+ return this.allowedDates(dateStr);
4571
+ }
4572
+ return this.allowedDates.includes(dateStr);
4573
+ }
4574
+ /**
4575
+ * Checks if a range is allowed
4576
+ * @param value range to be checked, must be in dateFormat
4577
+ */
4578
+ isAllowedRange(value) {
4579
+ if (!this.allowedDates)
4580
+ return true;
4581
+ const startDate = dayjs(value[0], this.dateFormat);
4582
+ const endDate = dayjs(value[1], this.dateFormat);
4583
+ let currentDate = startDate;
4584
+ while (currentDate.isBefore(endDate) || currentDate.isSame(endDate)) {
4585
+ const dateToCheck = currentDate.format(this.dateFormat);
4586
+ const isAllowed = this.isAllowedDate(dateToCheck, this.dateFormat);
4587
+ if (!isAllowed) {
4588
+ return false;
4589
+ }
4590
+ currentDate = currentDate.add(1, 'day');
4591
+ }
4592
+ return true;
4538
4593
  }
4539
4594
  splitValues(value) {
4540
4595
  let splitedValue = [];
@@ -4561,6 +4616,9 @@ class DateRange extends TextInput {
4561
4616
  const isValidMax = !maxDate || date.isBefore(maxDate) || date.isSame(maxDate);
4562
4617
  if (!isValidMax)
4563
4618
  return false;
4619
+ if (!this.isAllowedDate(value, format)) {
4620
+ return false;
4621
+ }
4564
4622
  return true;
4565
4623
  }
4566
4624
  isValidFormatDate(value, format, strict = true) {
@@ -4605,7 +4663,10 @@ class DateRange extends TextInput {
4605
4663
  return parsedValue.sort((a, b) => (dayjs(a, this.dateFormat).isAfter(dayjs(b, this.dateFormat)) ? 1 : -1));
4606
4664
  }
4607
4665
  dateValidation() {
4608
- return !this.dateError || I18n.translate('VALIDATION_INVALID_DATE');
4666
+ if (this.dateError) {
4667
+ return I18n.translate(ERROR_MAP[this.dateError]);
4668
+ }
4669
+ return true;
4609
4670
  }
4610
4671
  click(event, element) {
4611
4672
  const clickEvent = event || new MouseEvent('click');
@@ -4651,7 +4712,7 @@ class DateRange extends TextInput {
4651
4712
  */
4652
4713
  removeDateMask() {
4653
4714
  if (isUndefined(this.getInitialMask()) || !this.value || this.dateError
4654
- || !this.isValidDateArray(this.dateFormat, this.value)) {
4715
+ || !this.isValidDateArray(this.value).isValid) {
4655
4716
  return;
4656
4717
  }
4657
4718
  this.mask = '';
@@ -12660,9 +12721,6 @@ class SelectMultiple extends Select {
12660
12721
  return this.checkboxAllValue;
12661
12722
  }
12662
12723
  set checkboxAll(value) {
12663
- if (this.showCheckboxAll) {
12664
- this.disabled = value;
12665
- }
12666
12724
  this.checkboxAllValue = value;
12667
12725
  }
12668
12726
  /**
@@ -14912,6 +14970,10 @@ class Tooltip extends ComponentRender {
14912
14970
  * Nudge the content to the top
14913
14971
  */
14914
14972
  this.top = false;
14973
+ /**
14974
+ * Render the label as HTML
14975
+ */
14976
+ this.html = false;
14915
14977
  this.bottom = this.getInitValue('bottom', props.bottom, this.bottom);
14916
14978
  this.color = this.getInitValue('color', props.color, this.color);
14917
14979
  this.disabled = this.getInitValue('disabled', props.disabled, this.disabled);
@@ -14925,6 +14987,7 @@ class Tooltip extends ComponentRender {
14925
14987
  this.openOnHover = this.getInitValue('openOnHover', props.openOnHover, this.openOnHover);
14926
14988
  this.right = this.getInitValue('right', props.right, this.right);
14927
14989
  this.top = this.getInitValue('top', props.top, this.top);
14990
+ this.html = this.getInitValue('html', props.html, this.html);
14928
14991
  this.createAccessors();
14929
14992
  }
14930
14993
  }