overview-components 1.0.91 → 1.0.93

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 (228) hide show
  1. package/dist/assets/generated/locales/de.js +70 -72
  2. package/dist/assets/generated/locales/de.js.map +1 -0
  3. package/dist/assets/generated/locales/en.js +70 -72
  4. package/dist/assets/generated/locales/en.js.map +1 -0
  5. package/dist/assets/generated/locales/fr.js +70 -72
  6. package/dist/assets/generated/locales/fr.js.map +1 -0
  7. package/dist/assets/generated/locales/hr.js +70 -72
  8. package/dist/assets/generated/locales/hr.js.map +1 -0
  9. package/dist/assets/generated/locales/it.js +70 -72
  10. package/dist/assets/generated/locales/it.js.map +1 -0
  11. package/dist/assets/generated/locales/pl.js +70 -72
  12. package/dist/assets/generated/locales/pl.js.map +1 -0
  13. package/dist/assets/generated/locales/ro.js +70 -72
  14. package/dist/assets/generated/locales/ro.js.map +1 -0
  15. package/dist/assets/generated/locales/sk.js +70 -72
  16. package/dist/assets/generated/locales/sk.js.map +1 -0
  17. package/dist/assets/generated/locales/sr.js +70 -72
  18. package/dist/assets/generated/locales/sr.js.map +1 -0
  19. package/dist/assets/icons/iconGlyphs.js +679 -0
  20. package/dist/assets/icons/iconGlyphs.js.map +1 -0
  21. package/dist/assets/illustration/delete-illustration.js +96 -0
  22. package/dist/assets/illustration/delete-illustration.js.map +1 -0
  23. package/dist/assets/illustration/no-content.js +167 -0
  24. package/dist/assets/illustration/no-content.js.map +1 -0
  25. package/dist/assets/illustration/no-preview.js +133 -0
  26. package/dist/assets/illustration/no-preview.js.map +1 -0
  27. package/dist/assets/illustration/not-found.js +106 -0
  28. package/dist/assets/illustration/not-found.js.map +1 -0
  29. package/dist/assets/illustration/settings-illustration.js +176 -0
  30. package/dist/assets/illustration/settings-illustration.js.map +1 -0
  31. package/dist/components/components-settings/attachments-tab-settings.js +226 -0
  32. package/dist/components/components-settings/attachments-tab-settings.js.map +1 -0
  33. package/dist/components/components-settings/data-grid-settings.js +318 -0
  34. package/dist/components/components-settings/data-grid-settings.js.map +1 -0
  35. package/dist/components/components-settings/section-tab-settings.js +269 -0
  36. package/dist/components/components-settings/section-tab-settings.js.map +1 -0
  37. package/dist/components/components-settings/tabs-overview-settings.js +439 -0
  38. package/dist/components/components-settings/tabs-overview-settings.js.map +1 -0
  39. package/dist/components/lit-attachments-tab.js +432 -267
  40. package/dist/components/lit-attachments-tab.js.map +1 -0
  41. package/dist/components/lit-badge.js +40 -37
  42. package/dist/components/lit-badge.js.map +1 -0
  43. package/dist/components/lit-case-variables-tab.js +497 -378
  44. package/dist/components/lit-case-variables-tab.js.map +1 -0
  45. package/dist/components/lit-chart.js +406 -375
  46. package/dist/components/lit-chart.js.map +1 -0
  47. package/dist/components/lit-data-grid-tanstack.js +1663 -1145
  48. package/dist/components/lit-data-grid-tanstack.js.map +1 -0
  49. package/dist/components/lit-filter-modal.js +230 -194
  50. package/dist/components/lit-filter-modal.js.map +1 -0
  51. package/dist/components/lit-multiselect-item.js +477 -297
  52. package/dist/components/lit-multiselect-item.js.map +1 -0
  53. package/dist/components/lit-section-tab.js +85 -69
  54. package/dist/components/lit-section-tab.js.map +1 -0
  55. package/dist/components/lit-tabs-overview.js +232 -187
  56. package/dist/components/lit-tabs-overview.js.map +1 -0
  57. package/dist/components/modals/lit-confirm-modal.js +120 -0
  58. package/dist/components/modals/lit-confirm-modal.js.map +1 -0
  59. package/dist/components/modals/lit-delete-modal.js +128 -0
  60. package/dist/components/modals/lit-delete-modal.js.map +1 -0
  61. package/dist/components/react-wrappers/attachments-tab.js +8 -13
  62. package/dist/components/react-wrappers/attachments-tab.js.map +1 -0
  63. package/dist/components/react-wrappers/badge.js +8 -13
  64. package/dist/components/react-wrappers/badge.js.map +1 -0
  65. package/dist/components/react-wrappers/button.js +8 -13
  66. package/dist/components/react-wrappers/button.js.map +1 -0
  67. package/dist/components/react-wrappers/case-variables-tab.js +8 -13
  68. package/dist/components/react-wrappers/case-variables-tab.js.map +1 -0
  69. package/dist/components/react-wrappers/chart.js +8 -13
  70. package/dist/components/react-wrappers/chart.js.map +1 -0
  71. package/dist/components/react-wrappers/data-grid-tanstack.js +8 -13
  72. package/dist/components/react-wrappers/data-grid-tanstack.js.map +1 -0
  73. package/dist/components/react-wrappers/filter-modal.js +8 -13
  74. package/dist/components/react-wrappers/filter-modal.js.map +1 -0
  75. package/dist/components/react-wrappers/progress-bar.js +8 -13
  76. package/dist/components/react-wrappers/progress-bar.js.map +1 -0
  77. package/dist/components/react-wrappers/section-tab.js +8 -13
  78. package/dist/components/react-wrappers/section-tab.js.map +1 -0
  79. package/dist/components/react-wrappers/tabs-overview.js +8 -13
  80. package/dist/components/react-wrappers/tabs-overview.js.map +1 -0
  81. package/dist/data/translations.js +2763 -0
  82. package/dist/data/translations.js.map +1 -0
  83. package/dist/index.js +43 -42
  84. package/dist/index.js.map +1 -0
  85. package/dist/schemas/index.js +17 -0
  86. package/dist/schemas/index.js.map +1 -0
  87. package/dist/schemas/lit-attachments-tab-document.schema.js +20 -0
  88. package/dist/schemas/lit-attachments-tab-document.schema.js.map +1 -0
  89. package/dist/schemas/lit-attachments-tab-settings-value.schema.js +15 -0
  90. package/dist/schemas/lit-attachments-tab-settings-value.schema.js.map +1 -0
  91. package/dist/schemas/lit-attachments-tab.schema.js +32 -0
  92. package/dist/schemas/lit-attachments-tab.schema.js.map +1 -0
  93. package/dist/schemas/lit-case-variables-tab-cell.schema.js +43 -0
  94. package/dist/schemas/lit-case-variables-tab-cell.schema.js.map +1 -0
  95. package/dist/schemas/lit-case-variables-tab-rows.schema.js +6 -0
  96. package/dist/schemas/lit-case-variables-tab-rows.schema.js.map +1 -0
  97. package/dist/schemas/lit-case-variables-tab.schema.js +24 -0
  98. package/dist/schemas/lit-case-variables-tab.schema.js.map +1 -0
  99. package/dist/schemas/lit-data-grid-tanstack-column-array.schema.js +6 -0
  100. package/dist/schemas/lit-data-grid-tanstack-column-array.schema.js.map +1 -0
  101. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter-array.schema.js +6 -0
  102. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter-array.schema.js.map +1 -0
  103. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter.schema.js +11 -0
  104. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter.schema.js.map +1 -0
  105. package/dist/schemas/lit-data-grid-tanstack-column.schema.js +55 -0
  106. package/dist/schemas/lit-data-grid-tanstack-column.schema.js.map +1 -0
  107. package/dist/schemas/lit-data-grid-tanstack.schema.js +99 -0
  108. package/dist/schemas/lit-data-grid-tanstack.schema.js.map +1 -0
  109. package/dist/schemas/lit-section-tab-schema.js +24 -0
  110. package/dist/schemas/lit-section-tab-schema.js.map +1 -0
  111. package/dist/schemas/lit-tabs-overview-tab-array.schema.js +6 -0
  112. package/dist/schemas/lit-tabs-overview-tab-array.schema.js.map +1 -0
  113. package/dist/schemas/lit-tabs-overview-tab.schema.js +32 -0
  114. package/dist/schemas/lit-tabs-overview-tab.schema.js.map +1 -0
  115. package/dist/schemas/lit-tabs-overview.schema.js +29 -0
  116. package/dist/schemas/lit-tabs-overview.schema.js.map +1 -0
  117. package/dist/scripts/translate-locales.js +69 -0
  118. package/dist/scripts/translate-locales.js.map +1 -0
  119. package/dist/shared/filter-inputs.js +427 -0
  120. package/dist/shared/filter-inputs.js.map +1 -0
  121. package/dist/shared/lit-button.js +80 -63
  122. package/dist/shared/lit-button.js.map +1 -0
  123. package/dist/shared/lit-case-variables-tab-cell.js +226 -0
  124. package/dist/shared/lit-case-variables-tab-cell.js.map +1 -0
  125. package/dist/shared/lit-checkbox.js +171 -0
  126. package/dist/shared/lit-checkbox.js.map +1 -0
  127. package/dist/shared/lit-custom-popper.js +117 -0
  128. package/dist/shared/lit-custom-popper.js.map +1 -0
  129. package/dist/shared/lit-data-grid-action-buttons-popover.js +295 -0
  130. package/dist/shared/lit-data-grid-action-buttons-popover.js.map +1 -0
  131. package/dist/shared/lit-data-grid-density-popover.js +84 -0
  132. package/dist/shared/lit-data-grid-density-popover.js.map +1 -0
  133. package/dist/shared/lit-data-grid-export-popover.js +68 -0
  134. package/dist/shared/lit-data-grid-export-popover.js.map +1 -0
  135. package/dist/shared/lit-data-grid-operators-popover.js +114 -0
  136. package/dist/shared/lit-data-grid-operators-popover.js.map +1 -0
  137. package/dist/shared/lit-data-grid-row-actions.js +76 -0
  138. package/dist/shared/lit-data-grid-row-actions.js.map +1 -0
  139. package/dist/shared/lit-date-picker.js +606 -0
  140. package/dist/shared/lit-date-picker.js.map +1 -0
  141. package/dist/shared/lit-icon-button.js +105 -0
  142. package/dist/shared/lit-icon-button.js.map +1 -0
  143. package/dist/shared/lit-icon.js +284 -0
  144. package/dist/shared/lit-icon.js.map +1 -0
  145. package/dist/shared/lit-input.js +239 -0
  146. package/dist/shared/lit-input.js.map +1 -0
  147. package/dist/shared/lit-label.js +104 -0
  148. package/dist/shared/lit-label.js.map +1 -0
  149. package/dist/shared/lit-loader.js +69 -0
  150. package/dist/shared/lit-loader.js.map +1 -0
  151. package/dist/shared/lit-loading-bar.js +127 -0
  152. package/dist/shared/lit-loading-bar.js.map +1 -0
  153. package/dist/shared/lit-menu-item.js +99 -0
  154. package/dist/shared/lit-menu-item.js.map +1 -0
  155. package/dist/shared/lit-menu.js +42 -0
  156. package/dist/shared/lit-menu.js.map +1 -0
  157. package/dist/shared/lit-modal-body.js +22 -0
  158. package/dist/shared/lit-modal-body.js.map +1 -0
  159. package/dist/shared/lit-modal-footer.js +29 -0
  160. package/dist/shared/lit-modal-footer.js.map +1 -0
  161. package/dist/shared/lit-modal-header.js +36 -0
  162. package/dist/shared/lit-modal-header.js.map +1 -0
  163. package/dist/shared/lit-modal.js +169 -0
  164. package/dist/shared/lit-modal.js.map +1 -0
  165. package/dist/shared/lit-overflow-tooltip.js +103 -0
  166. package/dist/shared/lit-overflow-tooltip.js.map +1 -0
  167. package/dist/shared/lit-pill.js +88 -0
  168. package/dist/shared/lit-pill.js.map +1 -0
  169. package/dist/shared/lit-progress-bar.js +33 -32
  170. package/dist/shared/lit-progress-bar.js.map +1 -0
  171. package/dist/shared/lit-responsive-button.js +94 -0
  172. package/dist/shared/lit-responsive-button.js.map +1 -0
  173. package/dist/shared/lit-select-field.js +459 -0
  174. package/dist/shared/lit-select-field.js.map +1 -0
  175. package/dist/shared/lit-select.js +413 -0
  176. package/dist/shared/lit-select.js.map +1 -0
  177. package/dist/shared/lit-settings.js +77 -0
  178. package/dist/shared/lit-settings.js.map +1 -0
  179. package/dist/shared/lit-text-field.js +222 -0
  180. package/dist/shared/lit-text-field.js.map +1 -0
  181. package/dist/shared/lit-toggle.js +222 -0
  182. package/dist/shared/lit-toggle.js.map +1 -0
  183. package/dist/shared/lit-tooltip.js +166 -0
  184. package/dist/shared/lit-tooltip.js.map +1 -0
  185. package/dist/shared/simple-popper.js +266 -0
  186. package/dist/shared/simple-popper.js.map +1 -0
  187. package/dist/shared/simple-tooltip.js +198 -122
  188. package/dist/shared/simple-tooltip.js.map +1 -0
  189. package/dist/shared/styles/button-shared-styles.js +4 -5
  190. package/dist/shared/styles/button-shared-styles.js.map +1 -0
  191. package/dist/styles.js +169 -0
  192. package/dist/styles.js.map +1 -0
  193. package/dist/utils/currency.js +15 -12
  194. package/dist/utils/currency.js.map +1 -0
  195. package/dist/utils/custom-filters.js +80 -45
  196. package/dist/utils/custom-filters.js.map +1 -0
  197. package/dist/utils/date.js +21 -13
  198. package/dist/utils/date.js.map +1 -0
  199. package/dist/utils/getOperatorByType.js +65 -50
  200. package/dist/utils/getOperatorByType.js.map +1 -0
  201. package/dist/utils/getOverviewValue.js +177 -0
  202. package/dist/utils/getOverviewValue.js.map +1 -0
  203. package/dist/utils/localization.js +431 -29
  204. package/dist/utils/localization.js.map +1 -0
  205. package/dist/utils/utils.js +13 -0
  206. package/dist/utils/utils.js.map +1 -0
  207. package/dist/utils/validate-json-schema.js +8 -0
  208. package/dist/utils/validate-json-schema.js.map +1 -0
  209. package/dist/validators/validator.js +7 -0
  210. package/dist/validators/validator.js.map +1 -0
  211. package/package.json +74 -76
  212. package/dist/libs/xlsx.mini.min.js +0 -10
  213. package/dist/node_modules/@lit/reactive-element/css-tag.js +0 -42
  214. package/dist/node_modules/@lit/reactive-element/decorators/base.js +0 -9
  215. package/dist/node_modules/@lit/reactive-element/decorators/custom-element.js +0 -13
  216. package/dist/node_modules/@lit/reactive-element/decorators/property.js +0 -37
  217. package/dist/node_modules/@lit/reactive-element/decorators/query.js +0 -20
  218. package/dist/node_modules/@lit/reactive-element/decorators/state.js +0 -12
  219. package/dist/node_modules/@lit/reactive-element/reactive-element.js +0 -249
  220. package/dist/node_modules/lit-html/async-directive.js +0 -69
  221. package/dist/node_modules/lit-html/directive-helpers.js +0 -45
  222. package/dist/node_modules/lit-html/directive.js +0 -27
  223. package/dist/node_modules/lit-html/directives/ref.js +0 -42
  224. package/dist/node_modules/lit-html/directives/repeat.js +0 -61
  225. package/dist/node_modules/lit-html/directives/style-map.js +0 -36
  226. package/dist/node_modules/lit-html/directives/unsafe-html.js +0 -27
  227. package/dist/node_modules/lit-html/lit-html.js +0 -242
  228. package/dist/vite.svg +0 -1
@@ -0,0 +1,606 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { LitElement, html, css } from 'lit';
8
+ import { property, customElement, query, state } from 'lit/decorators.js';
9
+ import { isEmpty, isEqual } from 'lodash';
10
+ import { DateTime } from 'luxon';
11
+ import { msg } from '@lit/localize';
12
+ import 'air-datepicker/air-datepicker.css';
13
+ // components
14
+ import './lit-icon-button.js';
15
+ import './lit-icon.js';
16
+ import './simple-popper.js';
17
+ import './lit-menu.js';
18
+ import './lit-menu-item.js';
19
+ import AirDatepicker from 'air-datepicker';
20
+ import { localizedDatePicker } from '../utils/localization.js';
21
+ import { classMap } from 'lit/directives/class-map.js';
22
+ import { debounce } from '../utils/utils.js';
23
+ import { autoUpdate, computePosition, flip, hide, offset, shift } from '@floating-ui/dom';
24
+ let LitDatePicker = class LitDatePicker extends LitElement {
25
+ constructor() {
26
+ super();
27
+ this.pickerVariant = 'date';
28
+ this.userLang = 'cs';
29
+ this.placeholder = '';
30
+ this.disableClearButton = false;
31
+ this.range = false;
32
+ this.server = false;
33
+ this.disabled = false;
34
+ this.setOperator = (operator, opt) => { };
35
+ this.filterOperators = [];
36
+ this.displayValue = '';
37
+ this.isSubmenuOpen = false;
38
+ this.submenuTriggerEl = null;
39
+ this.handleOutsideClick = (event) => {
40
+ const path = event.composedPath();
41
+ const isClickInsideDatepicker = path.some((element) => element instanceof HTMLElement && element.classList.contains('air-datepicker'));
42
+ // Check if the date picker is visible before trying to hide it
43
+ if (!path.includes(this) && !isClickInsideDatepicker && this.datePicker.visible) {
44
+ this.datePicker.clear();
45
+ this.datePicker.hide();
46
+ }
47
+ };
48
+ this.debouncedHandleInput = debounce(this.handleDateInput, 500);
49
+ }
50
+ connectedCallback() {
51
+ super.connectedCallback();
52
+ this.addEventListener('focus', () => this.focus());
53
+ }
54
+ disconnectedCallback() {
55
+ super.disconnectedCallback();
56
+ document.removeEventListener('click', this.handleOutsideClick, { capture: true });
57
+ this.removeEventListener('focus', () => this.focus());
58
+ }
59
+ updated(changedProperties) {
60
+ if (changedProperties.has('operator')) {
61
+ const oldValue = changedProperties.get('operator');
62
+ if (this.operator === 'fromTo' || oldValue === 'fromTo') {
63
+ this.datePicker.update({
64
+ range: this.operator === 'fromTo',
65
+ }, { silent: true });
66
+ }
67
+ }
68
+ if (changedProperties.has('range')) {
69
+ this.datePicker.update({
70
+ range: this.range,
71
+ }, { silent: true });
72
+ }
73
+ if (changedProperties.has('value') &&
74
+ !isEqual(this.value, changedProperties.get('value'))) {
75
+ if (typeof this.value === 'undefined' || this.value === '') {
76
+ this.datePicker.clear({ silent: true });
77
+ return;
78
+ }
79
+ if (this.value) {
80
+ this.datePicker.selectDate(this.value, { silent: true });
81
+ }
82
+ }
83
+ }
84
+ reinitializeDatePicker() {
85
+ if (this.datePicker) {
86
+ this.datePicker.destroy();
87
+ }
88
+ this.datePicker = new AirDatepicker(this.dateInputEl, {
89
+ timepicker: this.pickerVariant === 'dateTime',
90
+ multipleDatesSeparator: ' - ',
91
+ // isMobile: window.matchMedia('(max-width: 600px)').matches,
92
+ dateFormat: this.dateFormat || undefined,
93
+ locale: this.getLocale(),
94
+ autoClose: true,
95
+ range: this.operator === 'fromTo',
96
+ onRenderCell: ({ date, cellType, }) => {
97
+ const isDay = cellType === 'day';
98
+ const _date = date.getDate();
99
+ },
100
+ onShow: () => {
101
+ const dpRoot = this.datePicker.$datepicker;
102
+ this.submenuTriggerEl = dpRoot?.querySelector('.submenu-trigger');
103
+ if (this.submenuTriggerEl) {
104
+ this.submenuTriggerEl.addEventListener('mouseenter', () => {
105
+ this.openSubmenu(true);
106
+ });
107
+ this.submenuTriggerEl?.addEventListener('mouseleave', (e) => {
108
+ const related = e.relatedTarget;
109
+ const isGoingToPopper = related?.closest('simple-popper');
110
+ if (!isGoingToPopper) {
111
+ this.openSubmenu(false);
112
+ }
113
+ });
114
+ }
115
+ const $datepicker = this.datePicker?.$datepicker;
116
+ const $target = this.dateInputEl;
117
+ if (!$datepicker || !$target)
118
+ return;
119
+ // Destroy previous observer
120
+ this.cleanupAutoUpdate?.();
121
+ this.cleanupAutoUpdate = autoUpdate($target, $datepicker, () => {
122
+ computePosition($target, $datepicker, {
123
+ placement: 'bottom-start',
124
+ middleware: [offset(4), flip(), hide(), shift({ padding: 8 })],
125
+ }).then(({ x, y, middlewareData }) => {
126
+ if (middlewareData.hide) {
127
+ Object.assign($datepicker.style, {
128
+ display: middlewareData.hide.referenceHidden ? 'none' : 'block',
129
+ });
130
+ }
131
+ Object.assign($datepicker.style, {
132
+ position: 'absolute',
133
+ left: `${x}px`,
134
+ top: `${y}px`,
135
+ overflow: 'visible',
136
+ });
137
+ });
138
+ });
139
+ },
140
+ onHide: () => {
141
+ this.cleanupAutoUpdate?.();
142
+ this.openSubmenu(false);
143
+ },
144
+ buttons: [
145
+ {
146
+ content: msg('Dnes'), // Button text
147
+ className: 'custom-today-btn', // Custom class (optional)
148
+ onClick: (dp) => {
149
+ this.handleSetOperator('=');
150
+ dp.update({
151
+ range: false,
152
+ selectedDates: [new Date()],
153
+ });
154
+ },
155
+ },
156
+ ...(this.server
157
+ ? [
158
+ {
159
+ content: '<lit-icon icon="arrowLeft" size="1rem" style="margin-right: 0.5rem"></lit-icon> ' +
160
+ msg('Rychlé volby'),
161
+ className: 'custom-today-btn submenu-trigger',
162
+ onClick: () => { },
163
+ },
164
+ ]
165
+ : []),
166
+ ],
167
+ onSelect: ({ date, formattedDate, datepicker, }) => {
168
+ if (Array.isArray(date) && date.length === 2) {
169
+ const from = date[0].toISOString();
170
+ const to = date[1].toISOString();
171
+ this.value = [from, to];
172
+ }
173
+ else if (date instanceof Date) {
174
+ this.value = date.toISOString();
175
+ }
176
+ else if ((Array.isArray(date) && date.length === 0) || !date) {
177
+ this.value = undefined;
178
+ }
179
+ if (this.onChange) {
180
+ this.onChange(this.value);
181
+ }
182
+ this.displayValue = formattedDate;
183
+ },
184
+ });
185
+ }
186
+ firstUpdated() {
187
+ this.reinitializeDatePicker();
188
+ document.addEventListener('click', this.handleOutsideClick, { capture: true });
189
+ }
190
+ openSubmenu(open) {
191
+ this.isSubmenuOpen = open;
192
+ }
193
+ getLocale() {
194
+ const lang = this.userLang || localStorage.getItem('userLang') || 'cs';
195
+ return localizedDatePicker.get(lang);
196
+ }
197
+ handleDateInput(dateStr) {
198
+ const parsedDate = this._parseDate(dateStr);
199
+ if (parsedDate) {
200
+ // this.value = parsedDate;
201
+ this.datePicker.selectDate(parsedDate);
202
+ }
203
+ if (dateStr === '') {
204
+ this.datePicker.clear();
205
+ }
206
+ }
207
+ _parseDate(dateStr) {
208
+ // Regular expressions for different date formats
209
+ // Patterns for different formats
210
+ const patterns = [
211
+ { regex: /^(\d{1,2})\.(\d{1,2})\.(\d{4})$/, format: 'd.M.yyyy' }, // d.M.yyyy
212
+ { regex: /^(\d{2})\.(\d{2})\.(\d{4})$/, format: 'dd.MM.yyyy' }, // dd.MM.yyyy
213
+ { regex: /^(\d{2})\/(\d{2})\/(\d{4})$/, format: 'MM/dd/yyyy' }, // MM/dd/yyyy
214
+ { regex: /^(\d{2})\/(\d{2})\/(\d{4})$/, format: 'dd/MM/yyyy' }, // dd/MM/yyyy
215
+ { regex: /^(\d{4})-(\d{2})-(\d{2})$/, format: 'yyyy-MM-dd' }, // yyyy-MM-dd
216
+ // Ranges
217
+ {
218
+ regex: /^(\d{2})\.(\d{2})\.(\d{4})\s*-\s*(\d{2})\.(\d{2})\.(\d{4})$/,
219
+ format: 'dd.MM.yyyy - dd.MM.yyyy',
220
+ },
221
+ {
222
+ regex: /^(\d{1,2})\.(\d{1,2})\.(\d{4})\s*-\s*(\d{1,2})\.(\d{1,2})\.(\d{4})$/,
223
+ format: 'd.M.yyyy - d.M.yyyy',
224
+ },
225
+ {
226
+ regex: /^(\d{2})\/(\d{2})\/(\d{4})\s*-\s*(\d{2})\/(\d{2})\/(\d{4})$/,
227
+ format: 'MM/dd/yyyy - MM/dd/yyyy',
228
+ },
229
+ {
230
+ regex: /^(\d{2})\/(\d{2})\/(\d{4})\s*-\s*(\d{2})\/(\d{2})\/(\d{4})$/,
231
+ format: 'dd/MM/yyyy - dd/MM/yyyy',
232
+ },
233
+ {
234
+ regex: /^(\d{4})-(\d{2})-(\d{2})\s*-\s*(\d{4})-(\d{2})-(\d{2})$/,
235
+ format: 'yyyy-MM-dd - yyyy-MM-dd',
236
+ },
237
+ ];
238
+ for (const { regex, format } of patterns) {
239
+ const match = dateStr.match(regex);
240
+ if (match) {
241
+ // Handle ranges
242
+ if (format.includes(' - ')) {
243
+ // Extract start and end dates from the match groups
244
+ const startDateStr = match[0].split(' - ')[0];
245
+ const endDateStr = match[0].split(' - ')[1];
246
+ // Parse both start and end dates
247
+ const startDate = DateTime.fromFormat(startDateStr, this.dateFormat || format.split(' - ')[0]).toJSDate();
248
+ console.log('startDateStr', startDateStr);
249
+ console.log(format.split(' - ')[0]);
250
+ console.log('startDate', startDate);
251
+ const endDate = DateTime.fromFormat(endDateStr, this.dateFormat || format.split(' - ')[1]).toJSDate();
252
+ return [startDate, endDate];
253
+ }
254
+ else {
255
+ // Single date match
256
+ return DateTime.fromFormat(dateStr, this.dateFormat || format).toJSDate();
257
+ }
258
+ }
259
+ }
260
+ return null;
261
+ }
262
+ handleSetOperator(value) {
263
+ this.datePicker.update({
264
+ range: value === 'fromTo',
265
+ selectedDates: [],
266
+ }, { silent: true });
267
+ if (!['isEmpty', 'isNotEmpty'].includes(value)) {
268
+ // this.focus();
269
+ this.datePicker.show();
270
+ }
271
+ this.setOperator(value, { silent: true });
272
+ }
273
+ focus() {
274
+ const firstFocusable = this.shadowRoot?.querySelector('input');
275
+ firstFocusable?.focus();
276
+ }
277
+ _handleClearButtonClick() {
278
+ this.datePicker.clear();
279
+ }
280
+ render() {
281
+ return html `
282
+ <div class="custom-icon-wrapper">
283
+ <input
284
+ id="dateInput"
285
+ class="inputs customCell"
286
+ type="text"
287
+ placeholder="${msg(this.placeholder)}"
288
+ value="${this.displayValue || ''}"
289
+ @input=${(e) => this.debouncedHandleInput(e.target.value)}
290
+ .disabled="${this.disabled}"
291
+ />
292
+ <div
293
+ class=${classMap({
294
+ 'events-icon': true,
295
+ 'events-icon--no-filter': !this.server,
296
+ })}
297
+ @click=${() => {
298
+ this.datePicker.show();
299
+ }}
300
+ >
301
+ <lit-icon-button
302
+ icon="events"
303
+ size="small"
304
+ variant="text"
305
+ .disabled="${this.disabled}"
306
+ ></lit-icon-button>
307
+ </div>
308
+ ${(!isEmpty(this.value) ||
309
+ this.operator === 'isEmpty' ||
310
+ this.operator === 'isNotEmpty') &&
311
+ !this.disableClearButton
312
+ ? html `
313
+ <div
314
+ class=${classMap({
315
+ 'clear-icon': true,
316
+ 'clear-icon--no-filter': !this.server,
317
+ })}
318
+ @click=${() => {
319
+ this._handleClearButtonClick();
320
+ }}
321
+ >
322
+ <lit-icon-button
323
+ icon="close"
324
+ size="small"
325
+ variant="text"
326
+ ></lit-icon-button>
327
+ </div>
328
+ `
329
+ : ''}
330
+ ${this.server
331
+ ? html `<lit-data-grid-operators-popover
332
+ class="filter-icon"
333
+ .type="${'date'}"
334
+ .setOperator="${(value) => {
335
+ this.handleSetOperator(value);
336
+ }}"
337
+ .operator="${this.operator}"
338
+ @mousedown=${(e) => {
339
+ e.preventDefault();
340
+ e.stopPropagation();
341
+ }}
342
+ .disabled="${this.disabled}"
343
+ .filterOperators="${this.filterOperators}"
344
+ ></lit-data-grid-operators-popover>`
345
+ : null}
346
+ </div>
347
+ ${this.server
348
+ ? html `<simple-popper
349
+ placement="left-end"
350
+ manualOpening
351
+ .offset="${0}"
352
+ .target=${this.submenuTriggerEl}
353
+ .showing=${this.isSubmenuOpen}
354
+ >
355
+ <lit-menu>
356
+ <lit-menu-item
357
+ icon="events"
358
+ .onClick="${() => {
359
+ this.handleSetOperator('fromTo');
360
+ this.datePicker.update({
361
+ range: true,
362
+ selectedDates: [
363
+ DateTime.now().minus({ days: 7 }).toJSDate(),
364
+ new Date(),
365
+ ],
366
+ });
367
+ this.isSubmenuOpen = false;
368
+ }}"
369
+ >
370
+ ${msg('Posledních 7 dní')}
371
+ </lit-menu-item>
372
+ <lit-menu-item
373
+ icon="events"
374
+ .onClick="${() => {
375
+ this.handleSetOperator('fromTo');
376
+ this.datePicker.update({
377
+ range: true,
378
+ selectedDates: [
379
+ DateTime.now().minus({ days: 14 }).toJSDate(),
380
+ new Date(),
381
+ ],
382
+ });
383
+ this.isSubmenuOpen = false;
384
+ }}"
385
+ >
386
+ ${msg('Posledních 14 dní')}
387
+ </lit-menu-item>
388
+ <lit-menu-item
389
+ icon="events"
390
+ .onClick="${() => {
391
+ this.handleSetOperator('fromTo');
392
+ this.datePicker.update({
393
+ range: true,
394
+ selectedDates: [
395
+ DateTime.now().minus({ days: 30 }).toJSDate(),
396
+ new Date(),
397
+ ],
398
+ });
399
+ this.isSubmenuOpen = false;
400
+ }}"
401
+ >
402
+ ${msg('Posledních 30 dní')}
403
+ </lit-menu-item>
404
+ <lit-menu-item
405
+ icon="events"
406
+ .onClick="${() => {
407
+ this.handleSetOperator('fromTo');
408
+ this.datePicker.update({
409
+ range: true,
410
+ selectedDates: [
411
+ DateTime.now()
412
+ .minus({ months: 1 })
413
+ .startOf('month')
414
+ .toJSDate(),
415
+ new Date(),
416
+ ],
417
+ });
418
+ }}"
419
+ >
420
+ ${msg('Poslední kalendářní měsíc')}
421
+ </lit-menu-item>
422
+ <lit-menu-item
423
+ icon="events"
424
+ .onClick="${() => {
425
+ this.handleSetOperator('fromTo');
426
+ const now = DateTime.now();
427
+ const currentQuarter = now.quarter;
428
+ const lastQuarterDate = now.minus({ quarters: 1 });
429
+ const startOfLastQuarter = lastQuarterDate.startOf('quarter');
430
+ const endOfLastQuarter = lastQuarterDate.endOf('quarter');
431
+ this.datePicker.update({
432
+ range: true,
433
+ selectedDates: [
434
+ startOfLastQuarter.toJSDate(),
435
+ endOfLastQuarter.toJSDate(),
436
+ ],
437
+ });
438
+ }}"
439
+ >
440
+ ${msg('Poslední kvartál')}
441
+ </lit-menu-item>
442
+ <lit-menu-item
443
+ icon="events"
444
+ .onClick="${() => {
445
+ this.handleSetOperator('fromTo');
446
+ this.datePicker.update({
447
+ range: true,
448
+ selectedDates: [
449
+ DateTime.now().minus({ months: 12 }).toJSDate(),
450
+ new Date(),
451
+ ],
452
+ });
453
+ }}"
454
+ >
455
+ ${msg('Poslední 12 měsíců')}
456
+ </lit-menu-item>
457
+ <lit-menu-item
458
+ icon="events"
459
+ .onClick="${() => {
460
+ this.handleSetOperator('fromTo');
461
+ this.datePicker.update({
462
+ range: true,
463
+ selectedDates: [
464
+ DateTime.now().startOf('year').toJSDate(),
465
+ DateTime.now().endOf('year').toJSDate(),
466
+ ],
467
+ });
468
+ }}"
469
+ >
470
+ ${msg('Poslední kalendářní rok')}
471
+ </lit-menu-item>
472
+ </lit-menu>
473
+ </simple-popper>`
474
+ : ''}
475
+ `;
476
+ }
477
+ };
478
+ LitDatePicker.styles = css `
479
+ .custom-icon-wrapper {
480
+ position: relative;
481
+ width: 100%;
482
+ display: inline-block;
483
+ }
484
+
485
+ input {
486
+ padding: 0.5rem;
487
+ border: 0.0625rem solid var(--color-divider, #d0d3db);
488
+ border-radius: 0.25rem;
489
+ min-width: 0;
490
+ width: -webkit-fill-available;
491
+ width: -moz-available;
492
+ width: fill-available;
493
+ background-color: var(--background-paper, #fff);
494
+ color: var(--text-primary, #111827);
495
+ }
496
+
497
+ input:hover:not(:disabled) {
498
+ border: 0.0625rem solid var(--color-secondary-main, #111827);
499
+ }
500
+ input:disabled {
501
+ background-color: var(--background-paper, #fff);
502
+ cursor: not-allowed;
503
+ }
504
+ input:focus {
505
+ outline: none;
506
+ border: 0.0625rem solid var(--color-secondary-dark, #010204);
507
+ }
508
+
509
+ .custom-icon-wrapper .clear-icon {
510
+ display: none;
511
+ position: absolute;
512
+ right: 56px;
513
+ top: 50%;
514
+ transform: translateY(-50%);
515
+ cursor: pointer;
516
+ pointer-events: auto;
517
+ }
518
+
519
+ .custom-icon-wrapper .clear-icon--no-filter {
520
+ right: 33px;
521
+ }
522
+
523
+ .custom-icon-wrapper:hover .clear-icon {
524
+ display: inline-block;
525
+ }
526
+
527
+ .custom-icon-wrapper .events-icon {
528
+ position: absolute;
529
+ right: 33px;
530
+ top: 50%;
531
+ transform: translateY(-50%);
532
+ z-index: 0;
533
+ cursor: pointer;
534
+ pointer-events: auto;
535
+ }
536
+
537
+ .custom-icon-wrapper .events-icon--no-filter {
538
+ right: 10px;
539
+ }
540
+
541
+ .custom-icon-wrapper .filter-icon {
542
+ display: block;
543
+ position: absolute;
544
+ right: 10px;
545
+ top: 50%;
546
+ transform: translateY(-50%);
547
+ cursor: pointer;
548
+ pointer-events: auto;
549
+ }
550
+ `;
551
+ __decorate([
552
+ property({ type: String })
553
+ ], LitDatePicker.prototype, "dateFormat", void 0);
554
+ __decorate([
555
+ property({ type: String })
556
+ ], LitDatePicker.prototype, "pickerVariant", void 0);
557
+ __decorate([
558
+ property({ type: String })
559
+ ], LitDatePicker.prototype, "value", void 0);
560
+ __decorate([
561
+ property({ type: String })
562
+ ], LitDatePicker.prototype, "userLang", void 0);
563
+ __decorate([
564
+ property({ type: String })
565
+ ], LitDatePicker.prototype, "placeholder", void 0);
566
+ __decorate([
567
+ property({ type: Function })
568
+ ], LitDatePicker.prototype, "onChange", void 0);
569
+ __decorate([
570
+ property({ type: Boolean })
571
+ ], LitDatePicker.prototype, "disableClearButton", void 0);
572
+ __decorate([
573
+ property({ type: Boolean })
574
+ ], LitDatePicker.prototype, "range", void 0);
575
+ __decorate([
576
+ property({ type: Boolean })
577
+ ], LitDatePicker.prototype, "server", void 0);
578
+ __decorate([
579
+ property({ type: String })
580
+ ], LitDatePicker.prototype, "operator", void 0);
581
+ __decorate([
582
+ property({ type: Boolean })
583
+ ], LitDatePicker.prototype, "disabled", void 0);
584
+ __decorate([
585
+ property({ type: Function })
586
+ ], LitDatePicker.prototype, "setOperator", void 0);
587
+ __decorate([
588
+ property({ type: Array })
589
+ ], LitDatePicker.prototype, "filterOperators", void 0);
590
+ __decorate([
591
+ state()
592
+ ], LitDatePicker.prototype, "displayValue", void 0);
593
+ __decorate([
594
+ query('#dateInput')
595
+ ], LitDatePicker.prototype, "dateInputEl", void 0);
596
+ __decorate([
597
+ state()
598
+ ], LitDatePicker.prototype, "isSubmenuOpen", void 0);
599
+ __decorate([
600
+ query('simple-popper')
601
+ ], LitDatePicker.prototype, "simplePopperEl", void 0);
602
+ LitDatePicker = __decorate([
603
+ customElement('lit-date-picker')
604
+ ], LitDatePicker);
605
+ export { LitDatePicker };
606
+ //# sourceMappingURL=lit-date-picker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lit-date-picker.js","sourceRoot":"","sources":["../../src/shared/lit-date-picker.ts"],"names":[],"mappings":"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"}