overview-components 1.1.159 → 1.1.161

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 (242) hide show
  1. package/LICENSE +7 -0
  2. package/README.md +82 -0
  3. package/dist/icons.js +692 -0
  4. package/dist/index.js +19890 -7
  5. package/dist/shared/lit-icon.d.ts.map +1 -1
  6. package/package.json +58 -21
  7. package/dist/assets/generated/locales/de.js +0 -269
  8. package/dist/assets/generated/locales/de.js.map +0 -1
  9. package/dist/assets/generated/locales/en.js +0 -269
  10. package/dist/assets/generated/locales/en.js.map +0 -1
  11. package/dist/assets/generated/locales/fr.js +0 -269
  12. package/dist/assets/generated/locales/fr.js.map +0 -1
  13. package/dist/assets/generated/locales/hr.js +0 -269
  14. package/dist/assets/generated/locales/hr.js.map +0 -1
  15. package/dist/assets/generated/locales/it.js +0 -269
  16. package/dist/assets/generated/locales/it.js.map +0 -1
  17. package/dist/assets/generated/locales/pl.js +0 -269
  18. package/dist/assets/generated/locales/pl.js.map +0 -1
  19. package/dist/assets/generated/locales/ro.js +0 -269
  20. package/dist/assets/generated/locales/ro.js.map +0 -1
  21. package/dist/assets/generated/locales/sk.js +0 -269
  22. package/dist/assets/generated/locales/sk.js.map +0 -1
  23. package/dist/assets/generated/locales/sr.js +0 -269
  24. package/dist/assets/generated/locales/sr.js.map +0 -1
  25. package/dist/assets/icons/iconGlyphs.js +0 -691
  26. package/dist/assets/icons/iconGlyphs.js.map +0 -1
  27. package/dist/assets/illustration/aichatbot-illustration.js +0 -144
  28. package/dist/assets/illustration/aichatbot-illustration.js.map +0 -1
  29. package/dist/assets/illustration/delete-illustration.js +0 -88
  30. package/dist/assets/illustration/delete-illustration.js.map +0 -1
  31. package/dist/assets/illustration/no-content.js +0 -159
  32. package/dist/assets/illustration/no-content.js.map +0 -1
  33. package/dist/assets/illustration/no-preview.js +0 -125
  34. package/dist/assets/illustration/no-preview.js.map +0 -1
  35. package/dist/assets/illustration/not-found.js +0 -98
  36. package/dist/assets/illustration/not-found.js.map +0 -1
  37. package/dist/assets/illustration/settings-illustration.js +0 -168
  38. package/dist/assets/illustration/settings-illustration.js.map +0 -1
  39. package/dist/components/components-settings/attachments-tab-settings.js +0 -318
  40. package/dist/components/components-settings/attachments-tab-settings.js.map +0 -1
  41. package/dist/components/components-settings/data-grid-settings.js +0 -553
  42. package/dist/components/components-settings/data-grid-settings.js.map +0 -1
  43. package/dist/components/components-settings/section-tab-settings.js +0 -719
  44. package/dist/components/components-settings/section-tab-settings.js.map +0 -1
  45. package/dist/components/components-settings/tabs-overview-settings.js +0 -421
  46. package/dist/components/components-settings/tabs-overview-settings.js.map +0 -1
  47. package/dist/components/index.js +0 -30
  48. package/dist/components/index.js.map +0 -1
  49. package/dist/components/lit-ai-filter-assistant.js +0 -443
  50. package/dist/components/lit-ai-filter-assistant.js.map +0 -1
  51. package/dist/components/lit-attachments-tab.js +0 -2044
  52. package/dist/components/lit-attachments-tab.js.map +0 -1
  53. package/dist/components/lit-badge.js +0 -124
  54. package/dist/components/lit-badge.js.map +0 -1
  55. package/dist/components/lit-case-variables-tab.js +0 -3718
  56. package/dist/components/lit-case-variables-tab.js.map +0 -1
  57. package/dist/components/lit-chart.js +0 -727
  58. package/dist/components/lit-chart.js.map +0 -1
  59. package/dist/components/lit-data-grid-tanstack.js +0 -2550
  60. package/dist/components/lit-data-grid-tanstack.js.map +0 -1
  61. package/dist/components/lit-filter-builder.js +0 -701
  62. package/dist/components/lit-filter-builder.js.map +0 -1
  63. package/dist/components/lit-filter-modal.js +0 -349
  64. package/dist/components/lit-filter-modal.js.map +0 -1
  65. package/dist/components/lit-multiselect-item.js +0 -707
  66. package/dist/components/lit-multiselect-item.js.map +0 -1
  67. package/dist/components/lit-section-tab.js +0 -268
  68. package/dist/components/lit-section-tab.js.map +0 -1
  69. package/dist/components/lit-tabs-overview.js +0 -356
  70. package/dist/components/lit-tabs-overview.js.map +0 -1
  71. package/dist/components/modals/lit-confirm-modal.js +0 -121
  72. package/dist/components/modals/lit-confirm-modal.js.map +0 -1
  73. package/dist/components/modals/lit-delete-modal.js +0 -131
  74. package/dist/components/modals/lit-delete-modal.js.map +0 -1
  75. package/dist/components/react-wrappers/ai-filter-assistant.js +0 -9
  76. package/dist/components/react-wrappers/ai-filter-assistant.js.map +0 -1
  77. package/dist/components/react-wrappers/attachments-tab.js +0 -9
  78. package/dist/components/react-wrappers/attachments-tab.js.map +0 -1
  79. package/dist/components/react-wrappers/badge.js +0 -9
  80. package/dist/components/react-wrappers/badge.js.map +0 -1
  81. package/dist/components/react-wrappers/button.js +0 -9
  82. package/dist/components/react-wrappers/button.js.map +0 -1
  83. package/dist/components/react-wrappers/calendar.js +0 -9
  84. package/dist/components/react-wrappers/calendar.js.map +0 -1
  85. package/dist/components/react-wrappers/case-variables-tab.js +0 -9
  86. package/dist/components/react-wrappers/case-variables-tab.js.map +0 -1
  87. package/dist/components/react-wrappers/chart.js +0 -9
  88. package/dist/components/react-wrappers/chart.js.map +0 -1
  89. package/dist/components/react-wrappers/data-grid-tanstack.js +0 -9
  90. package/dist/components/react-wrappers/data-grid-tanstack.js.map +0 -1
  91. package/dist/components/react-wrappers/filter-builder.js +0 -12
  92. package/dist/components/react-wrappers/filter-builder.js.map +0 -1
  93. package/dist/components/react-wrappers/filter-modal.js +0 -9
  94. package/dist/components/react-wrappers/filter-modal.js.map +0 -1
  95. package/dist/components/react-wrappers/index.js +0 -27
  96. package/dist/components/react-wrappers/index.js.map +0 -1
  97. package/dist/components/react-wrappers/progress-bar.js +0 -9
  98. package/dist/components/react-wrappers/progress-bar.js.map +0 -1
  99. package/dist/components/react-wrappers/section-tab.js +0 -9
  100. package/dist/components/react-wrappers/section-tab.js.map +0 -1
  101. package/dist/components/react-wrappers/tabs-overview.js +0 -9
  102. package/dist/components/react-wrappers/tabs-overview.js.map +0 -1
  103. package/dist/data/translations.js +0 -2768
  104. package/dist/data/translations.js.map +0 -1
  105. package/dist/index.js.map +0 -1
  106. package/dist/schemas/index.js +0 -18
  107. package/dist/schemas/index.js.map +0 -1
  108. package/dist/schemas/lit-attachments-tab-document.schema.js +0 -39
  109. package/dist/schemas/lit-attachments-tab-document.schema.js.map +0 -1
  110. package/dist/schemas/lit-attachments-tab-settings-value.schema.js +0 -30
  111. package/dist/schemas/lit-attachments-tab-settings-value.schema.js.map +0 -1
  112. package/dist/schemas/lit-attachments-tab.schema.js +0 -68
  113. package/dist/schemas/lit-attachments-tab.schema.js.map +0 -1
  114. package/dist/schemas/lit-case-variables-tab-cell.schema.js +0 -225
  115. package/dist/schemas/lit-case-variables-tab-cell.schema.js.map +0 -1
  116. package/dist/schemas/lit-case-variables-tab-rows.schema.js +0 -6
  117. package/dist/schemas/lit-case-variables-tab-rows.schema.js.map +0 -1
  118. package/dist/schemas/lit-case-variables-tab.schema.js +0 -27
  119. package/dist/schemas/lit-case-variables-tab.schema.js.map +0 -1
  120. package/dist/schemas/lit-data-grid-tanstack-column-array.schema.js +0 -6
  121. package/dist/schemas/lit-data-grid-tanstack-column-array.schema.js.map +0 -1
  122. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter-array.schema.js +0 -6
  123. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter-array.schema.js.map +0 -1
  124. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter.schema.js +0 -11
  125. package/dist/schemas/lit-data-grid-tanstack-column-custom-filter.schema.js.map +0 -1
  126. package/dist/schemas/lit-data-grid-tanstack-column.schema.js +0 -79
  127. package/dist/schemas/lit-data-grid-tanstack-column.schema.js.map +0 -1
  128. package/dist/schemas/lit-data-grid-tanstack.schema.js +0 -108
  129. package/dist/schemas/lit-data-grid-tanstack.schema.js.map +0 -1
  130. package/dist/schemas/lit-filter-builder.schema.js +0 -61
  131. package/dist/schemas/lit-filter-builder.schema.js.map +0 -1
  132. package/dist/schemas/lit-section-tab-schema.js +0 -37
  133. package/dist/schemas/lit-section-tab-schema.js.map +0 -1
  134. package/dist/schemas/lit-tabs-overview-tab-array.schema.js +0 -6
  135. package/dist/schemas/lit-tabs-overview-tab-array.schema.js.map +0 -1
  136. package/dist/schemas/lit-tabs-overview-tab.schema.js +0 -32
  137. package/dist/schemas/lit-tabs-overview-tab.schema.js.map +0 -1
  138. package/dist/schemas/lit-tabs-overview.schema.js +0 -29
  139. package/dist/schemas/lit-tabs-overview.schema.js.map +0 -1
  140. package/dist/scripts/translate-locales.js +0 -241
  141. package/dist/scripts/translate-locales.js.map +0 -1
  142. package/dist/shared/filter-inputs.js +0 -429
  143. package/dist/shared/filter-inputs.js.map +0 -1
  144. package/dist/shared/index.js +0 -40
  145. package/dist/shared/index.js.map +0 -1
  146. package/dist/shared/lit-button.js +0 -159
  147. package/dist/shared/lit-button.js.map +0 -1
  148. package/dist/shared/lit-calendar.js +0 -485
  149. package/dist/shared/lit-calendar.js.map +0 -1
  150. package/dist/shared/lit-case-variables-tab-cell.js +0 -226
  151. package/dist/shared/lit-case-variables-tab-cell.js.map +0 -1
  152. package/dist/shared/lit-checkbox.js +0 -184
  153. package/dist/shared/lit-checkbox.js.map +0 -1
  154. package/dist/shared/lit-custom-popper.js +0 -116
  155. package/dist/shared/lit-custom-popper.js.map +0 -1
  156. package/dist/shared/lit-data-grid-action-buttons-popover.js +0 -295
  157. package/dist/shared/lit-data-grid-action-buttons-popover.js.map +0 -1
  158. package/dist/shared/lit-data-grid-density-popover.js +0 -84
  159. package/dist/shared/lit-data-grid-density-popover.js.map +0 -1
  160. package/dist/shared/lit-data-grid-export-popover.js +0 -68
  161. package/dist/shared/lit-data-grid-export-popover.js.map +0 -1
  162. package/dist/shared/lit-data-grid-operators-popover.js +0 -114
  163. package/dist/shared/lit-data-grid-operators-popover.js.map +0 -1
  164. package/dist/shared/lit-data-grid-row-actions.js +0 -87
  165. package/dist/shared/lit-data-grid-row-actions.js.map +0 -1
  166. package/dist/shared/lit-date-picker.js +0 -608
  167. package/dist/shared/lit-date-picker.js.map +0 -1
  168. package/dist/shared/lit-document-thumbnail.js +0 -383
  169. package/dist/shared/lit-document-thumbnail.js.map +0 -1
  170. package/dist/shared/lit-filter-input.js +0 -115
  171. package/dist/shared/lit-filter-input.js.map +0 -1
  172. package/dist/shared/lit-icon-button.js +0 -165
  173. package/dist/shared/lit-icon-button.js.map +0 -1
  174. package/dist/shared/lit-icon.js +0 -338
  175. package/dist/shared/lit-icon.js.map +0 -1
  176. package/dist/shared/lit-input.js +0 -282
  177. package/dist/shared/lit-input.js.map +0 -1
  178. package/dist/shared/lit-label.js +0 -103
  179. package/dist/shared/lit-label.js.map +0 -1
  180. package/dist/shared/lit-loader.js +0 -68
  181. package/dist/shared/lit-loader.js.map +0 -1
  182. package/dist/shared/lit-loading-bar.js +0 -91
  183. package/dist/shared/lit-loading-bar.js.map +0 -1
  184. package/dist/shared/lit-menu-item.js +0 -98
  185. package/dist/shared/lit-menu-item.js.map +0 -1
  186. package/dist/shared/lit-menu.js +0 -29
  187. package/dist/shared/lit-menu.js.map +0 -1
  188. package/dist/shared/lit-modal-body.js +0 -24
  189. package/dist/shared/lit-modal-body.js.map +0 -1
  190. package/dist/shared/lit-modal-footer.js +0 -21
  191. package/dist/shared/lit-modal-footer.js.map +0 -1
  192. package/dist/shared/lit-modal-header.js +0 -34
  193. package/dist/shared/lit-modal-header.js.map +0 -1
  194. package/dist/shared/lit-modal.js +0 -168
  195. package/dist/shared/lit-modal.js.map +0 -1
  196. package/dist/shared/lit-overflow-tooltip.js +0 -114
  197. package/dist/shared/lit-overflow-tooltip.js.map +0 -1
  198. package/dist/shared/lit-pill.js +0 -87
  199. package/dist/shared/lit-pill.js.map +0 -1
  200. package/dist/shared/lit-progress-bar.js +0 -130
  201. package/dist/shared/lit-progress-bar.js.map +0 -1
  202. package/dist/shared/lit-responsive-button.js +0 -106
  203. package/dist/shared/lit-responsive-button.js.map +0 -1
  204. package/dist/shared/lit-select-field.js +0 -457
  205. package/dist/shared/lit-select-field.js.map +0 -1
  206. package/dist/shared/lit-select.js +0 -668
  207. package/dist/shared/lit-select.js.map +0 -1
  208. package/dist/shared/lit-settings.js +0 -76
  209. package/dist/shared/lit-settings.js.map +0 -1
  210. package/dist/shared/lit-text-field.js +0 -252
  211. package/dist/shared/lit-text-field.js.map +0 -1
  212. package/dist/shared/lit-toggle.js +0 -240
  213. package/dist/shared/lit-toggle.js.map +0 -1
  214. package/dist/shared/lit-tooltip.js +0 -165
  215. package/dist/shared/lit-tooltip.js.map +0 -1
  216. package/dist/shared/simple-popper.js +0 -285
  217. package/dist/shared/simple-popper.js.map +0 -1
  218. package/dist/shared/simple-tooltip.js +0 -249
  219. package/dist/shared/simple-tooltip.js.map +0 -1
  220. package/dist/shared/styles/button-shared-styles.js +0 -494
  221. package/dist/shared/styles/button-shared-styles.js.map +0 -1
  222. package/dist/styles.js +0 -169
  223. package/dist/styles.js.map +0 -1
  224. package/dist/utils/custom-filters.js +0 -42
  225. package/dist/utils/custom-filters.js.map +0 -1
  226. package/dist/utils/date.js +0 -21
  227. package/dist/utils/date.js.map +0 -1
  228. package/dist/utils/file-type-utils.js +0 -55
  229. package/dist/utils/file-type-utils.js.map +0 -1
  230. package/dist/utils/formatNumber.js +0 -62
  231. package/dist/utils/formatNumber.js.map +0 -1
  232. package/dist/utils/getOperatorByType.js +0 -70
  233. package/dist/utils/getOperatorByType.js.map +0 -1
  234. package/dist/utils/getOverviewValue.js +0 -175
  235. package/dist/utils/getOverviewValue.js.map +0 -1
  236. package/dist/utils/localization.js +0 -433
  237. package/dist/utils/localization.js.map +0 -1
  238. package/dist/utils/pdf-thumbnail-generator.js +0 -91
  239. package/dist/utils/pdf-thumbnail-generator.js.map +0 -1
  240. package/dist/utils/utils.js +0 -94
  241. package/dist/utils/utils.js.map +0 -1
  242. package/dist/vite.svg +0 -1
@@ -1,485 +0,0 @@
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, state } from 'lit/decorators.js';
9
- import { classMap } from 'lit/directives/class-map.js';
10
- import { DateTime } from 'luxon';
11
- import { msg } from '@lit/localize';
12
- import { localizedDatePicker } from '../utils/localization.js';
13
- import './lit-icon-button.js';
14
- import './lit-tooltip.js';
15
- export class LitCalendar extends LitElement {
16
- constructor() {
17
- super(...arguments);
18
- this.month = DateTime.now().month;
19
- this.year = DateTime.now().year;
20
- this.dayData = {};
21
- this.totalHoursTarget = 48;
22
- this.limitHoursPerDay = 8;
23
- this.nonWorkingDays = []; // Array of dates in YYYY-MM-DD format
24
- this.weekendDays = [6, 7]; // 1=Monday, 7=Sunday (Saturday and Sunday by default)
25
- this.userLang = 'cs';
26
- // @property({ type: Function }) onMonthChange?: (month: number, year: number) => void;
27
- this.currentDate = DateTime.now();
28
- }
29
- connectedCallback() {
30
- super.connectedCallback();
31
- this.currentDate = DateTime.fromObject({ month: this.month, year: this.year });
32
- }
33
- updated(changedProperties) {
34
- if (changedProperties.has('month') || changedProperties.has('year')) {
35
- this.currentDate = DateTime.fromObject({ month: this.month, year: this.year });
36
- }
37
- }
38
- getMonthName() {
39
- const locale = localizedDatePicker.get(this.userLang) || localizedDatePicker.get('en');
40
- return locale.months[this.month - 1];
41
- }
42
- getDayHeaders() {
43
- const locale = localizedDatePicker.get(this.userLang) || localizedDatePicker.get('en');
44
- // Get day headers starting from Monday (index 1) since firstDay is usually 1 for most locales
45
- const days = locale.daysShort;
46
- const firstDay = locale.firstDay || 1;
47
- if (firstDay === 0) {
48
- // Sunday first (US style) - reorder to start with Monday
49
- return [...days.slice(1), days[0]];
50
- }
51
- // Monday first - use as is
52
- return [...days.slice(1), days[0]];
53
- }
54
- // private navigateMonth(direction: 'prev' | 'next') {
55
- // const newDate =
56
- // direction === 'prev'
57
- // ? this.currentDate.minus({ months: 1 })
58
- // : this.currentDate.plus({ months: 1 });
59
- // this.month = newDate.month;
60
- // this.year = newDate.year;
61
- // this.currentDate = newDate;
62
- // if (this.onMonthChange) {
63
- // this.onMonthChange(this.month, this.year);
64
- // }
65
- // }
66
- getCalendarDays() {
67
- const startOfMonth = this.currentDate.startOf('month');
68
- // Get first day of week (Monday = 1)
69
- const startDay = startOfMonth.weekday;
70
- const daysFromPrevMonth = startDay - 1;
71
- const startDate = startOfMonth.minus({ days: daysFromPrevMonth });
72
- const days = [];
73
- // Generate 42 days (6 weeks)
74
- for (let i = 0; i < 42; i++) {
75
- const date = startDate.plus({ days: i });
76
- days.push({
77
- date,
78
- isCurrentMonth: date.month === this.currentDate.month,
79
- });
80
- }
81
- return days;
82
- }
83
- getDayKey(date) {
84
- return date.toFormat('yyyy-MM-dd');
85
- }
86
- calculateTotalWorkedHours() {
87
- return Object.values(this.dayData).reduce((total, day) => total + day.totalHours, 0);
88
- }
89
- formatHours(hours) {
90
- return hours.toLocaleString(this.userLang, {
91
- minimumFractionDigits: 0,
92
- maximumFractionDigits: 2,
93
- });
94
- }
95
- isDayOverLimit(dayData) {
96
- return dayData.totalHours > this.limitHoursPerDay;
97
- }
98
- isNonWorkingDay(date) {
99
- const dayKey = this.getDayKey(date);
100
- return this.nonWorkingDays.includes(dayKey);
101
- }
102
- isWeekend(date) {
103
- return this.weekendDays.includes(date.weekday);
104
- }
105
- renderTooltipContent(dayData) {
106
- return html `
107
- <div class="tooltip-content">
108
- <table class="tooltip-table">
109
- <tbody>
110
- ${dayData.entries.map((entry, index) => html `
111
- <tr
112
- class="tooltip-entry"
113
- id="tooltip-entry-${dayData.date}-${index}"
114
- @click=${() => this.handleTooltipEntryClick(entry, dayData.date)}
115
- >
116
- <td class="tooltip-entry-hours">
117
- ${this.formatHours(entry.hours)}h
118
- </td>
119
- <td class="tooltip-entry-project">${entry.project}</td>
120
- <td class="tooltip-entry-description">
121
- ${entry.description || ''}
122
- </td>
123
- </tr>
124
- `)}
125
- </tbody>
126
- </table>
127
- </div>
128
- `;
129
- }
130
- handleTooltipEntryClick(entry, date) {
131
- if (this.onTooltipEntryClick) {
132
- this.onTooltipEntryClick(entry, date);
133
- }
134
- }
135
- render() {
136
- const totalWorked = this.calculateTotalWorkedHours();
137
- const calendarDays = this.getCalendarDays();
138
- const dayHeaders = this.getDayHeaders();
139
- return html `
140
- <div class="calendar-wrapper">
141
- <div class="calendar-header">
142
- <div class="month">
143
- <div class="year-title">Měsíc</div>
144
- <div class="month-title">${this.getMonthName()}</div>
145
- </div>
146
- <div class="year">
147
- <div class="year-title">Rok</div>
148
- <div class="month-title">${this.year}</div>
149
- </div>
150
- <div class="hours-summary">
151
- <div class="year-title">${msg('Vyplněno (hod)')}</div>
152
- <div class="month-title">
153
- ${this.formatHours(totalWorked)} / ${this.totalHoursTarget}
154
- </div>
155
- </div>
156
- </div>
157
-
158
- <div class="calendar-grid">
159
- ${dayHeaders.map((header) => html ` <div class="calendar-day-header">${header}</div> `)}
160
- ${calendarDays.map(({ date, isCurrentMonth }) => {
161
- const dayKey = this.getDayKey(date);
162
- const dayData = this.dayData[dayKey];
163
- const hasData = dayData && dayData.totalHours > 0;
164
- const isNonWorking = this.isNonWorkingDay(date);
165
- const isWeekend = this.isWeekend(date);
166
- return html `
167
- <div
168
- class=${classMap({
169
- 'calendar-day': true,
170
- 'calendar-day--other-month': !isCurrentMonth,
171
- 'calendar-day--non-working': isCurrentMonth && isNonWorking,
172
- 'calendar-day--weekend': isCurrentMonth && isWeekend && !isNonWorking,
173
- })}
174
- >
175
- <div class="day-number">${date.day}</div>
176
- ${hasData
177
- ? html `
178
- <perf-tooltip placement="bottom">
179
- <div
180
- slot="trigger"
181
- class=${classMap({
182
- 'hours-badge': true,
183
- 'hours-badge--error': this.isDayOverLimit(dayData),
184
- })}
185
- >
186
- ${this.formatHours(dayData.totalHours)} h
187
- </div>
188
- <div slot="tooltip">
189
- ${this.renderTooltipContent(dayData)}
190
- </div>
191
- </perf-tooltip>
192
- `
193
- : ''}
194
- </div>
195
- `;
196
- })}
197
- </div>
198
- </div>
199
- `;
200
- }
201
- }
202
- LitCalendar.styles = css `
203
- :host {
204
- display: block;
205
- font-family: var(--font-family, Inter, sans-serif);
206
- border-radius: var(--border-radius-medium, 0.75rem);
207
- padding: 1rem;
208
- }
209
-
210
- .calendar-wrapper {
211
- display: flex;
212
- flex-direction: column;
213
- gap: 1rem;
214
- }
215
- .calendar-header {
216
- background-color: var(--background-paper, #ffffff);
217
- display: flex;
218
- justify-content: space-between;
219
- align-items: center;
220
- padding: 8px 12px;
221
- border-radius: var(--border-radius-small, 0.5rem);
222
- }
223
-
224
- .month,
225
- .year {
226
- display: flex;
227
- flex-direction: column;
228
- gap: 0.625rem;
229
- }
230
-
231
- .month-title {
232
- font-size: 0.875rem;
233
- font-weight: 500;
234
- color: var(--text-primary, #111827);
235
- }
236
-
237
- .year-title {
238
- font-size: 0.75rem;
239
- font-weight: 400;
240
- color: var(--text-secondary, #5d6371);
241
- }
242
-
243
- .hours-summary {
244
- display: flex;
245
- flex-direction: column;
246
- align-items: flex-end;
247
- gap: 0.25rem;
248
- }
249
-
250
- .hours-label {
251
- font-size: 0.875rem;
252
- color: var(--text-secondary, #5d6371);
253
- }
254
-
255
- .hours-value {
256
- font-size: 1.125rem;
257
- font-weight: 600;
258
- color: var(--text-primary, #111827);
259
- }
260
-
261
- .calendar-grid {
262
- display: grid;
263
- grid-template-columns: repeat(7, 1fr);
264
- border-radius: var(--border-radius-small, 0.5rem);
265
- overflow: hidden;
266
- background-color: var(--background-paper, #ffffff);
267
- }
268
-
269
- .calendar-day-header {
270
- padding: 0.5rem;
271
- text-align: center;
272
- font-size: 0.875rem;
273
- font-weight: 500;
274
- color: var(--text-secondary, #5d6371);
275
- border-right: 0.5px dashed var(--color-divider, #d0d3db);
276
- &:nth-child(7n) {
277
- border-right: none;
278
- }
279
- }
280
-
281
- .calendar-day {
282
- background-color: var(--background-paper, #ffffff);
283
- min-height: 60px;
284
- position: relative;
285
- display: flex;
286
- flex-direction: column;
287
- align-items: center;
288
- cursor: pointer;
289
- transition: background-color 0.2s ease;
290
- border-top: 0.5px dashed var(--color-divider, #d0d3db);
291
- border-right: 0.5px dashed var(--color-divider, #d0d3db);
292
- padding: 0.5rem;
293
- &:nth-child(7n) {
294
- border-right: none;
295
- }
296
- }
297
-
298
- .calendar-day:hover {
299
- background-color: var(--color-primary-light, #f0fadf);
300
- }
301
-
302
- .calendar-day--other-month {
303
- color: var(--text-disabled, #d0d3db);
304
- }
305
-
306
- .calendar-day--other-month:hover {
307
- background-color: var(--background-default, #eff3f4);
308
- }
309
-
310
- .calendar-day--non-working {
311
- background-color: var(--background-default, #eff3f4);
312
- position: relative;
313
- }
314
-
315
- .calendar-day--non-working:hover {
316
- background-color: var(--color-secondary-light, #d0d3db);
317
- }
318
-
319
- // .calendar-day--non-working::before {
320
- // content: '';
321
- // position: absolute;
322
- // top: 0;
323
- // left: 0;
324
- // right: 0;
325
- // bottom: 0;
326
- // background: repeating-linear-gradient(
327
- // 45deg,
328
- // transparent,
329
- // transparent 2px,
330
- // var(--color-divider, #d0d3db) 2px,
331
- // var(--color-divider, #d0d3db) 4px
332
- // );
333
- // pointer-events: none;
334
- // }
335
-
336
- .calendar-day--weekend {
337
- background-color: var(--background-default, #d0d3db);
338
- }
339
-
340
- .calendar-day--weekend:hover {
341
- background-color: var(--color-secondary-light, #d0d3db);
342
- }
343
-
344
- .day-number {
345
- font-size: 0.875rem;
346
- color: var(--text-primary, #111827);
347
- margin-bottom: 0.25rem;
348
- }
349
-
350
- .calendar-day--other-month .day-number {
351
- color: var(--text-disabled, #d0d3db);
352
- }
353
-
354
- .calendar-day--non-working .day-number {
355
- color: var(--text-secondary, #5d6371);
356
- font-weight: 600;
357
- }
358
-
359
- .calendar-day--weekend .day-number {
360
- color: var(--text-secondary, #5d6371);
361
- }
362
-
363
- .hours-badge {
364
- background-color: var(--color-success-main, #76b703);
365
- color: white;
366
- padding: 0.125rem 0.375rem;
367
- border-radius: 50px;
368
- font-size: 0.625rem;
369
- font-weight: 600;
370
- white-space: nowrap;
371
- }
372
-
373
- .hours-badge--error {
374
- background-color: var(--color-warning-main, #ca2d0a);
375
- animation: pulse-error 2s infinite;
376
- }
377
-
378
- @keyframes pulse-error {
379
- 0% {
380
- box-shadow: 0 0 0 0 rgba(202, 45, 10, 0.7);
381
- }
382
- 70% {
383
- box-shadow: 0 0 0 8px rgba(202, 45, 10, 0);
384
- }
385
- 100% {
386
- box-shadow: 0 0 0 0 rgba(202, 45, 10, 0);
387
- }
388
- }
389
-
390
- .navigation {
391
- display: flex;
392
- gap: 0.5rem;
393
- }
394
-
395
- .tooltip-content {
396
- font-size: 0.75rem;
397
- // min-width: 300px;
398
- // max-width: 400px;
399
- }
400
-
401
- .tooltip-table {
402
- width: 100%;
403
- border-collapse: collapse;
404
- table-layout: auto;
405
- }
406
-
407
- .tooltip-entry {
408
- cursor: pointer;
409
- transition: background-color 0.2s ease;
410
- border-bottom: 1px solid rgba(255, 255, 255, 0.1);
411
- }
412
-
413
- .tooltip-entry:last-child {
414
- border-bottom: none;
415
- }
416
-
417
- .tooltip-entry:hover {
418
- background-color: rgba(255, 255, 255, 0.1);
419
- }
420
-
421
- .tooltip-entry-hours {
422
- padding: 0.5rem 0.75rem;
423
- font-weight: 600;
424
- text-align: left;
425
- white-space: nowrap;
426
- vertical-align: top;
427
- width: 1%;
428
- }
429
-
430
- .tooltip-entry-project {
431
- padding: 0.5rem 0.75rem;
432
- white-space: nowrap;
433
- line-height: 1.3;
434
- vertical-align: top;
435
- max-width: 300px;
436
- overflow: hidden;
437
- text-overflow: ellipsis;
438
- }
439
-
440
- .tooltip-entry-description {
441
- padding: 0.5rem 0.75rem;
442
- opacity: 0.9;
443
- white-space: nowrap;
444
- line-height: 1.3;
445
- vertical-align: top;
446
- width: 1%;
447
- max-width: 150px;
448
- overflow: hidden;
449
- text-overflow: ellipsis;
450
- }
451
- `;
452
- __decorate([
453
- property({ type: Number })
454
- ], LitCalendar.prototype, "month", void 0);
455
- __decorate([
456
- property({ type: Number })
457
- ], LitCalendar.prototype, "year", void 0);
458
- __decorate([
459
- property({ type: Object })
460
- ], LitCalendar.prototype, "dayData", void 0);
461
- __decorate([
462
- property({ type: Number })
463
- ], LitCalendar.prototype, "totalHoursTarget", void 0);
464
- __decorate([
465
- property({ type: Number })
466
- ], LitCalendar.prototype, "limitHoursPerDay", void 0);
467
- __decorate([
468
- property({ type: Array })
469
- ], LitCalendar.prototype, "nonWorkingDays", void 0);
470
- __decorate([
471
- property({ type: Array })
472
- ], LitCalendar.prototype, "weekendDays", void 0);
473
- __decorate([
474
- property({ type: String })
475
- ], LitCalendar.prototype, "userLang", void 0);
476
- __decorate([
477
- property({ type: Function })
478
- ], LitCalendar.prototype, "onTooltipEntryClick", void 0);
479
- __decorate([
480
- state()
481
- ], LitCalendar.prototype, "currentDate", void 0);
482
- if (!window.customElements.get('lit-calendar')) {
483
- window.customElements.define('lit-calendar', LitCalendar);
484
- }
485
- //# sourceMappingURL=lit-calendar.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"lit-calendar.js","sourceRoot":"","sources":["../../src/shared/lit-calendar.ts"],"names":[],"mappings":"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"}