@middag-io/react 0.18.0 → 0.19.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 (229) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +12 -1
  3. package/dist-lib/{MarkdownContent-Bt6q-Y_1.js → MarkdownContent-NiKKjJ9H.js} +4812 -1554
  4. package/dist-lib/app/ContractPage.d.ts +1 -1
  5. package/dist-lib/app/ContractPage.d.ts.map +1 -1
  6. package/dist-lib/app/HostSlot.d.ts +2 -2
  7. package/dist-lib/app/providers/locales/pt-BR.d.ts +1 -1
  8. package/dist-lib/app/register-defaults.d.ts +6 -6
  9. package/dist-lib/app/register-defaults.d.ts.map +1 -1
  10. package/dist-lib/app/registries.d.ts +4 -4
  11. package/dist-lib/app/registries.d.ts.map +1 -1
  12. package/dist-lib/base/blocks/ActionGridBlock.d.ts.map +1 -1
  13. package/dist-lib/base/blocks/DenseTableBlock.d.ts.map +1 -1
  14. package/dist-lib/base/blocks/DetailPanelBlock.d.ts.map +1 -1
  15. package/dist-lib/base/blocks/EmptyStateBlock.d.ts.map +1 -1
  16. package/dist-lib/base/blocks/MarkdownPanelBlock.d.ts.map +1 -1
  17. package/dist-lib/base/hooks/usePolling.d.ts.map +1 -1
  18. package/dist-lib/base/layout/DashboardLayout.d.ts.map +1 -1
  19. package/dist-lib/base/partials/ActionBar/index.d.ts.map +1 -1
  20. package/dist-lib/base/partials/DataTable/index.d.ts.map +1 -1
  21. package/dist-lib/base/shell/ImmersiveShell.d.ts.map +1 -1
  22. package/dist-lib/base/shell/partials/InspectorContext.d.ts +2 -15
  23. package/dist-lib/base/shell/partials/InspectorContext.d.ts.map +1 -1
  24. package/dist-lib/base/shell/partials/PageActionButton.d.ts +5 -1
  25. package/dist-lib/base/shell/partials/PageActionButton.d.ts.map +1 -1
  26. package/dist-lib/components/reui/accordion.d.ts +8 -0
  27. package/dist-lib/components/reui/accordion.d.ts.map +1 -0
  28. package/dist-lib/components/reui/alert-dialog.d.ts +19 -0
  29. package/dist-lib/components/reui/alert-dialog.d.ts.map +1 -0
  30. package/dist-lib/components/reui/alert.d.ts +1 -1
  31. package/dist-lib/components/reui/aspect-ratio.d.ts +4 -0
  32. package/dist-lib/components/reui/aspect-ratio.d.ts.map +1 -0
  33. package/dist-lib/components/reui/autocomplete.d.ts +41 -0
  34. package/dist-lib/components/reui/autocomplete.d.ts.map +1 -0
  35. package/dist-lib/components/reui/badge.d.ts +1 -1
  36. package/dist-lib/components/reui/breadcrumb.d.ts +12 -0
  37. package/dist-lib/components/reui/breadcrumb.d.ts.map +1 -0
  38. package/dist-lib/components/reui/button-group.d.ts +12 -0
  39. package/dist-lib/components/reui/button-group.d.ts.map +1 -0
  40. package/dist-lib/components/reui/button.d.ts +1 -1
  41. package/dist-lib/components/reui/carousel.d.ts +20 -0
  42. package/dist-lib/components/reui/carousel.d.ts.map +1 -0
  43. package/dist-lib/components/reui/collapsible.d.ts +6 -0
  44. package/dist-lib/components/reui/collapsible.d.ts.map +1 -0
  45. package/dist-lib/components/reui/command.d.ts +19 -0
  46. package/dist-lib/components/reui/command.d.ts.map +1 -0
  47. package/dist-lib/components/reui/context-menu.d.ts +26 -0
  48. package/dist-lib/components/reui/context-menu.d.ts.map +1 -0
  49. package/dist-lib/components/reui/data-grid/data-grid-column-filter.d.ts +15 -0
  50. package/dist-lib/components/reui/data-grid/data-grid-column-filter.d.ts.map +1 -0
  51. package/dist-lib/components/reui/data-grid/data-grid-column-header.d.ts +15 -0
  52. package/dist-lib/components/reui/data-grid/data-grid-column-header.d.ts.map +1 -0
  53. package/dist-lib/components/reui/data-grid/data-grid-column-visibility.d.ts +8 -0
  54. package/dist-lib/components/reui/data-grid/data-grid-column-visibility.d.ts.map +1 -0
  55. package/dist-lib/components/reui/data-grid/data-grid-pagination.d.ts +20 -0
  56. package/dist-lib/components/reui/data-grid/data-grid-pagination.d.ts.map +1 -0
  57. package/dist-lib/components/reui/data-grid/data-grid-scroll-area.d.ts +11 -0
  58. package/dist-lib/components/reui/data-grid/data-grid-scroll-area.d.ts.map +1 -0
  59. package/dist-lib/components/reui/data-grid/data-grid-table-dnd-rows.d.ts +12 -0
  60. package/dist-lib/components/reui/data-grid/data-grid-table-dnd-rows.d.ts.map +1 -0
  61. package/dist-lib/components/reui/data-grid/data-grid-table-dnd.d.ts +8 -0
  62. package/dist-lib/components/reui/data-grid/data-grid-table-dnd.d.ts.map +1 -0
  63. package/dist-lib/components/reui/data-grid/data-grid-table-virtual.d.ts +28 -0
  64. package/dist-lib/components/reui/data-grid/data-grid-table-virtual.d.ts.map +1 -0
  65. package/dist-lib/components/reui/data-grid/data-grid-table.d.ts +98 -0
  66. package/dist-lib/components/reui/data-grid/data-grid-table.d.ts.map +1 -0
  67. package/dist-lib/components/reui/data-grid/data-grid.d.ts +94 -0
  68. package/dist-lib/components/reui/data-grid/data-grid.d.ts.map +1 -0
  69. package/dist-lib/components/reui/data-grid-pagination.d.ts +20 -0
  70. package/dist-lib/components/reui/data-grid-pagination.d.ts.map +1 -0
  71. package/dist-lib/components/reui/drawer.d.ts +14 -0
  72. package/dist-lib/components/reui/drawer.d.ts.map +1 -0
  73. package/dist-lib/components/reui/empty.d.ts +12 -0
  74. package/dist-lib/components/reui/empty.d.ts.map +1 -0
  75. package/dist-lib/components/reui/field.d.ts +25 -0
  76. package/dist-lib/components/reui/field.d.ts.map +1 -0
  77. package/dist-lib/components/reui/filters.d.ts +165 -0
  78. package/dist-lib/components/reui/filters.d.ts.map +1 -0
  79. package/dist-lib/components/reui/frame.d.ts +1 -1
  80. package/dist-lib/components/reui/hover-card.d.ts +7 -0
  81. package/dist-lib/components/reui/hover-card.d.ts.map +1 -0
  82. package/dist-lib/components/reui/icon-placeholder.d.ts +18 -0
  83. package/dist-lib/components/reui/icon-placeholder.d.ts.map +1 -0
  84. package/dist-lib/components/reui/input-otp.d.ts +12 -0
  85. package/dist-lib/components/reui/input-otp.d.ts.map +1 -0
  86. package/dist-lib/components/reui/item.d.ts +24 -0
  87. package/dist-lib/components/reui/item.d.ts.map +1 -0
  88. package/dist-lib/components/reui/kbd.d.ts +4 -0
  89. package/dist-lib/components/reui/kbd.d.ts.map +1 -0
  90. package/dist-lib/components/reui/menubar.d.ts +27 -0
  91. package/dist-lib/components/reui/menubar.d.ts.map +1 -0
  92. package/dist-lib/components/reui/native-select.d.ts +8 -0
  93. package/dist-lib/components/reui/native-select.d.ts.map +1 -0
  94. package/dist-lib/components/reui/navigation-menu.d.ts +15 -0
  95. package/dist-lib/components/reui/navigation-menu.d.ts.map +1 -0
  96. package/dist-lib/components/reui/pagination.d.ts +14 -0
  97. package/dist-lib/components/reui/pagination.d.ts.map +1 -0
  98. package/dist-lib/components/reui/progress.d.ts +5 -0
  99. package/dist-lib/components/reui/progress.d.ts.map +1 -0
  100. package/dist-lib/components/reui/resizable.d.ts +8 -0
  101. package/dist-lib/components/reui/resizable.d.ts.map +1 -0
  102. package/dist-lib/components/reui/scrollspy.d.ts +15 -0
  103. package/dist-lib/components/reui/scrollspy.d.ts.map +1 -0
  104. package/dist-lib/components/reui/slider.d.ts +5 -0
  105. package/dist-lib/components/reui/slider.d.ts.map +1 -0
  106. package/dist-lib/components/reui/sortable.d.ts +39 -0
  107. package/dist-lib/components/reui/sortable.d.ts.map +1 -0
  108. package/dist-lib/components/reui/svgs/claudeAiIcon.d.ts +4 -0
  109. package/dist-lib/components/reui/svgs/claudeAiIcon.d.ts.map +1 -0
  110. package/dist-lib/components/reui/svgs/gemini.d.ts +4 -0
  111. package/dist-lib/components/reui/svgs/gemini.d.ts.map +1 -0
  112. package/dist-lib/components/reui/svgs/openai.d.ts +4 -0
  113. package/dist-lib/components/reui/svgs/openai.d.ts.map +1 -0
  114. package/dist-lib/components/reui/svgs/openaiDark.d.ts +4 -0
  115. package/dist-lib/components/reui/svgs/openaiDark.d.ts.map +1 -0
  116. package/dist-lib/components/reui/table.d.ts +11 -0
  117. package/dist-lib/components/reui/table.d.ts.map +1 -0
  118. package/dist-lib/components/reui/timeline.d.ts +26 -0
  119. package/dist-lib/components/reui/timeline.d.ts.map +1 -0
  120. package/dist-lib/components/reui/toggle-group.d.ts +10 -0
  121. package/dist-lib/components/reui/toggle-group.d.ts.map +1 -0
  122. package/dist-lib/components/reui/toggle.d.ts +10 -0
  123. package/dist-lib/components/reui/toggle.d.ts.map +1 -0
  124. package/dist-lib/components/reui/tree.d.ts +24 -0
  125. package/dist-lib/components/reui/tree.d.ts.map +1 -0
  126. package/dist-lib/contracts/block-data/actions.d.ts +32 -31
  127. package/dist-lib/contracts/block-data/actions.d.ts.map +1 -1
  128. package/dist-lib/contracts/block-data/data-display.d.ts +0 -25
  129. package/dist-lib/contracts/block-data/data-display.d.ts.map +1 -1
  130. package/dist-lib/contracts/block-data/form.d.ts +0 -15
  131. package/dist-lib/contracts/block-data/form.d.ts.map +1 -1
  132. package/dist-lib/contracts/block-data/interactive.d.ts +11 -114
  133. package/dist-lib/contracts/block-data/interactive.d.ts.map +1 -1
  134. package/dist-lib/contracts/generated/contract-schema.d.ts +182 -0
  135. package/dist-lib/contracts/generated/contract-schema.d.ts.map +1 -0
  136. package/dist-lib/contracts/generated/contract-types.d.ts +278 -0
  137. package/dist-lib/contracts/generated/contract-types.d.ts.map +1 -0
  138. package/dist-lib/contracts/generated/index.d.ts +16 -0
  139. package/dist-lib/contracts/generated/index.d.ts.map +1 -0
  140. package/dist-lib/contracts/page-contract-schema.d.ts +81 -33
  141. package/dist-lib/contracts/page-contract-schema.d.ts.map +1 -1
  142. package/dist-lib/contracts/page-contract.d.ts +26 -168
  143. package/dist-lib/contracts/page-contract.d.ts.map +1 -1
  144. package/dist-lib/index.d.ts +3 -14
  145. package/dist-lib/index.d.ts.map +1 -1
  146. package/dist-lib/lib/actions/resolve-action-target.d.ts +76 -0
  147. package/dist-lib/lib/actions/resolve-action-target.d.ts.map +1 -0
  148. package/dist-lib/lib/i18n/render-label.d.ts +31 -0
  149. package/dist-lib/lib/i18n/render-label.d.ts.map +1 -0
  150. package/dist-lib/middag-react.css +1 -1
  151. package/dist-lib/middag-react.js +23960 -8210
  152. package/package.json +9 -10
  153. package/dist-lib/ChartPanelBlock-CSQd3YU7.js +0 -18005
  154. package/dist-lib/ConditionTreeBlock-BX_2p3Yz.js +0 -86
  155. package/dist-lib/DateField-BxYJUlk4.js +0 -121
  156. package/dist-lib/DateRangeField-DK02BwDy.js +0 -663
  157. package/dist-lib/DocumentField-Mc-FrWZt.js +0 -221
  158. package/dist-lib/FlowEditorBlock-NrPOi3mS.js +0 -7180
  159. package/dist-lib/FormBuilderBlock-Yzy7KaAI.js +0 -240
  160. package/dist-lib/FormPanelBlock-C9facP0m.js +0 -8827
  161. package/dist-lib/FormPanelBlock-ulvxaRzJ.js +0 -2
  162. package/dist-lib/HugeiconsIcon-Bh8XgTFo.js +0 -1346
  163. package/dist-lib/KanbanBoardBlock-DhiQZzqL.js +0 -399
  164. package/dist-lib/PhoneField-B1EDgorM.js +0 -18585
  165. package/dist-lib/SentenceBuilderBlock--JBOCkXI.js +0 -91
  166. package/dist-lib/badge-AMZPvmLD.js +0 -63
  167. package/dist-lib/base/blocks/ChartPanelBlock.d.ts +0 -11
  168. package/dist-lib/base/blocks/ChartPanelBlock.d.ts.map +0 -1
  169. package/dist-lib/base/blocks/ConditionTreeBlock.d.ts +0 -13
  170. package/dist-lib/base/blocks/ConditionTreeBlock.d.ts.map +0 -1
  171. package/dist-lib/base/blocks/FlowEditorBlock.d.ts +0 -15
  172. package/dist-lib/base/blocks/FlowEditorBlock.d.ts.map +0 -1
  173. package/dist-lib/base/blocks/FormBuilderBlock.d.ts +0 -17
  174. package/dist-lib/base/blocks/FormBuilderBlock.d.ts.map +0 -1
  175. package/dist-lib/base/blocks/FormPanelBlock.d.ts +0 -18
  176. package/dist-lib/base/blocks/FormPanelBlock.d.ts.map +0 -1
  177. package/dist-lib/base/blocks/KanbanBoardBlock.d.ts +0 -11
  178. package/dist-lib/base/blocks/KanbanBoardBlock.d.ts.map +0 -1
  179. package/dist-lib/base/blocks/SentenceBuilderBlock.d.ts +0 -15
  180. package/dist-lib/base/blocks/SentenceBuilderBlock.d.ts.map +0 -1
  181. package/dist-lib/base/form/form-schema-builder.d.ts +0 -27
  182. package/dist-lib/base/form/form-schema-builder.d.ts.map +0 -1
  183. package/dist-lib/base/shell/ProductShell.d.ts +0 -34
  184. package/dist-lib/base/shell/ProductShell.d.ts.map +0 -1
  185. package/dist-lib/base/shell/partials/AdminTabBar.d.ts +0 -12
  186. package/dist-lib/base/shell/partials/AdminTabBar.d.ts.map +0 -1
  187. package/dist-lib/base/shell/partials/AppearanceToggle.d.ts +0 -8
  188. package/dist-lib/base/shell/partials/AppearanceToggle.d.ts.map +0 -1
  189. package/dist-lib/base/shell/partials/BoostSearchBar.d.ts +0 -32
  190. package/dist-lib/base/shell/partials/BoostSearchBar.d.ts.map +0 -1
  191. package/dist-lib/base/shell/partials/CommandPalette.d.ts +0 -24
  192. package/dist-lib/base/shell/partials/CommandPalette.d.ts.map +0 -1
  193. package/dist-lib/base/shell/partials/HelpContext.d.ts +0 -15
  194. package/dist-lib/base/shell/partials/HelpContext.d.ts.map +0 -1
  195. package/dist-lib/base/shell/partials/HelpPanel.d.ts +0 -15
  196. package/dist-lib/base/shell/partials/HelpPanel.d.ts.map +0 -1
  197. package/dist-lib/base/shell/partials/InlineInspector.d.ts +0 -16
  198. package/dist-lib/base/shell/partials/InlineInspector.d.ts.map +0 -1
  199. package/dist-lib/base/shell/partials/PageFilterTabs.d.ts +0 -22
  200. package/dist-lib/base/shell/partials/PageFilterTabs.d.ts.map +0 -1
  201. package/dist-lib/base/shell/partials/PageHeader.d.ts +0 -22
  202. package/dist-lib/base/shell/partials/PageHeader.d.ts.map +0 -1
  203. package/dist-lib/base/shell/partials/SidebarNav.d.ts +0 -17
  204. package/dist-lib/base/shell/partials/SidebarNav.d.ts.map +0 -1
  205. package/dist-lib/button-D5Y6A1RJ.js +0 -242
  206. package/dist-lib/calendar-bwe48kor.js +0 -4503
  207. package/dist-lib/chevron-right-C6BILigO.js +0 -7
  208. package/dist-lib/chunk-DeC0fbbY.js +0 -22
  209. package/dist-lib/combobox-BDHFCl2n.js +0 -5303
  210. package/dist-lib/contracts/page-contract-data.d.ts +0 -63
  211. package/dist-lib/contracts/page-contract-data.d.ts.map +0 -1
  212. package/dist-lib/dist-BpzJKgoL.js +0 -1196
  213. package/dist-lib/dist-DkjgjvZx.js +0 -123
  214. package/dist-lib/dist-FCfSQ65-.js +0 -15
  215. package/dist-lib/dist-a1sZXfE3.js +0 -54
  216. package/dist-lib/dist-igfsCvSN.js +0 -235
  217. package/dist-lib/document-validation-DfjoJeek.js +0 -1249
  218. package/dist-lib/floating-ui.react-dom-62M1nRNP.js +0 -1089
  219. package/dist-lib/i18n-BMTYOmLT.js +0 -329
  220. package/dist-lib/input-DzdJK5AV.js +0 -14
  221. package/dist-lib/popover-DmaFo0PE.js +0 -242
  222. package/dist-lib/scroll-area-f_LkBXTB.js +0 -557
  223. package/dist-lib/skeleton-DzfTvSIA.js +0 -12
  224. package/dist-lib/sortable.esm-DsdSKGdv.js +0 -2499
  225. package/dist-lib/use-mobile-BADA7dx5.js +0 -205
  226. package/dist-lib/utils-CpaZ5_iF.js +0 -1692
  227. package/dist-lib/value-PnGnjGbr.js +0 -413
  228. package/dist-lib/with-selector-t6tzmyqE.js +0 -185
  229. /package/dist-lib/{dist-DEukRl4M.js → dist-CK9PErDU.js} +0 -0
@@ -1,663 +0,0 @@
1
- import { t as e } from "./button-D5Y6A1RJ.js";
2
- import { a as t, c as n, i as r, n as i, o as a, r as o, t as s } from "./calendar-bwe48kor.js";
3
- import { K as c, at as l, dt as u, j as d, t as f, y as p } from "./HugeiconsIcon-Bh8XgTFo.js";
4
- import { t as m } from "./utils-CpaZ5_iF.js";
5
- import { t as h } from "./scroll-area-f_LkBXTB.js";
6
- import { a as g, i as _, n as v, t as y } from "./use-mobile-BADA7dx5.js";
7
- import { t as b } from "./input-DzdJK5AV.js";
8
- import { createContext as x, useCallback as S, useContext as C, useEffect as w, useMemo as T, useState as E } from "react";
9
- import { jsx as D, jsxs as O } from "react/jsx-runtime";
10
- //#region node_modules/date-fns/subMonths.js
11
- function k(e, t, r) {
12
- return n(e, -t, r);
13
- }
14
- //#endregion
15
- //#region src/components/reui/date-selector.tsx
16
- var A = {
17
- selectDate: "Select date",
18
- apply: "Apply",
19
- cancel: "Cancel",
20
- clear: "Clear",
21
- today: "Today",
22
- filterTypes: {
23
- is: "is",
24
- before: "before",
25
- after: "after",
26
- between: "between"
27
- },
28
- periodTypes: {
29
- day: "Day",
30
- month: "Month",
31
- quarter: "Quarter",
32
- halfYear: "Half-year",
33
- year: "Year"
34
- },
35
- months: [
36
- "January",
37
- "February",
38
- "March",
39
- "April",
40
- "May",
41
- "June",
42
- "July",
43
- "August",
44
- "September",
45
- "October",
46
- "November",
47
- "December"
48
- ],
49
- monthsShort: [
50
- "Jan",
51
- "Feb",
52
- "Mar",
53
- "Apr",
54
- "May",
55
- "Jun",
56
- "Jul",
57
- "Aug",
58
- "Sep",
59
- "Oct",
60
- "Nov",
61
- "Dec"
62
- ],
63
- quarters: [
64
- "Q1",
65
- "Q2",
66
- "Q3",
67
- "Q4"
68
- ],
69
- halfYears: ["H1", "H2"],
70
- weekdays: [
71
- "Sunday",
72
- "Monday",
73
- "Tuesday",
74
- "Wednesday",
75
- "Thursday",
76
- "Friday",
77
- "Saturday"
78
- ],
79
- weekdaysShort: [
80
- "Su",
81
- "Mo",
82
- "Tu",
83
- "We",
84
- "Th",
85
- "Fr",
86
- "Sa"
87
- ],
88
- placeholder: "Select date...",
89
- rangePlaceholder: "Select date range..."
90
- }, j = x({
91
- i18n: A,
92
- variant: "outline",
93
- size: "default"
94
- }), M = () => C(j);
95
- function N(e, t = A, n = "MM/dd/yyyy") {
96
- let { period: r, startDate: i, endDate: o, year: s, month: c, quarter: l, halfYear: u, rangeStart: d, rangeEnd: f } = e;
97
- return r === "day" ? i && o ? `${a(i, n)} - ${a(o, n)}` : i ? a(i, n) : "" : r === "month" ? d && f ? `${t.monthsShort[d.value]} ${d.year} - ${t.monthsShort[f.value]} ${f.year}` : s !== void 0 && c !== void 0 ? `${t.monthsShort[c]} ${s}` : "" : r === "quarter" ? d && f ? `${t.quarters[d.value]} ${d.year} - ${t.quarters[f.value]} ${f.year}` : s !== void 0 && l !== void 0 ? `${t.quarters[l]} ${s}` : "" : r === "half-year" ? d && f ? `${t.halfYears[d.value]} ${d.year} - ${t.halfYears[f.value]} ${f.year}` : s !== void 0 && u !== void 0 ? `${t.halfYears[u]} ${s}` : "" : r === "year" ? d && f ? `${d.year} - ${f.year}` : s === void 0 ? "" : `${s}` : "";
98
- }
99
- function P({ value: e, onChange: n, defaultPeriodType: r = "day", defaultFilterType: i = "is", presetMode: a, allowRange: o = !0, yearRange: s = 11, baseYear: c, minYear: l, maxYear: u, periodTypes: d }) {
100
- let f = c ?? (/* @__PURE__ */ new Date()).getFullYear(), p = T(() => !d || d.length === 0 || d.includes(r) ? r : d[0], [d, r]), m = a ?? e?.operator ?? i, [h, g] = E(e?.period || p), [_, v] = E(m), [y, b] = E(e?.startDate), [x, C] = E(e?.endDate), [D, O] = E(e?.startDate || /* @__PURE__ */ new Date()), [k, A] = E(e?.year), [j, M] = E(e?.month), [N, P] = E(e?.quarter), [F, I] = E(e?.halfYear), [L, R] = E(e?.rangeStart), [z, B] = E(e?.rangeEnd), [V, H] = E(), U = T(() => l !== void 0 && u !== void 0 ? Array.from({ length: u - l + 1 }, (e, t) => l + t) : Array.from({ length: s }, (e, t) => f - Math.floor(s / 2) + t), [
101
- f,
102
- s,
103
- l,
104
- u
105
- ]), W = T(() => ({
106
- period: h,
107
- operator: a ?? _,
108
- startDate: y,
109
- endDate: x,
110
- year: k,
111
- month: j,
112
- quarter: N,
113
- halfYear: F,
114
- rangeStart: L,
115
- rangeEnd: z
116
- }), [
117
- h,
118
- a,
119
- _,
120
- y,
121
- x,
122
- k,
123
- j,
124
- N,
125
- F,
126
- L,
127
- z
128
- ]), G = S(() => {
129
- b(void 0), C(void 0), A(void 0), M(void 0), P(void 0), I(void 0), R(void 0), B(void 0);
130
- }, []), K = S((e) => {
131
- _ === "between" && o ? !y || y && x ? (b(e), C(void 0)) : t(e, y) ? (C(y), b(e)) : C(e) : (b(e), C(void 0));
132
- }, [
133
- _,
134
- o,
135
- y,
136
- x
137
- ]), q = S((e, t) => {
138
- if (_ === "between" && o) if (!L || L && z) R({
139
- year: e,
140
- value: t
141
- }), B(void 0), A(e), h === "month" && M(t), h === "quarter" && P(t), h === "half-year" && I(t);
142
- else {
143
- let n = L.year * 100 + L.value;
144
- e * 100 + t < n ? (B(L), R({
145
- year: e,
146
- value: t
147
- })) : B({
148
- year: e,
149
- value: t
150
- });
151
- }
152
- else A(e), h === "month" && M(t), h === "quarter" && P(t), h === "half-year" && I(t), R(void 0), B(void 0);
153
- }, [
154
- _,
155
- o,
156
- L,
157
- z,
158
- h
159
- ]), ee = S((e) => {
160
- _ === "between" && o ? !L || L && z ? (R({
161
- year: e,
162
- value: 0
163
- }), B(void 0), A(e)) : e < L.year ? (B(L), R({
164
- year: e,
165
- value: 0
166
- })) : B({
167
- year: e,
168
- value: 0
169
- }) : (A(e), R(void 0), B(void 0));
170
- }, [
171
- _,
172
- o,
173
- L,
174
- z
175
- ]), te = S((e) => {
176
- g(e), G();
177
- }, [G]), ne = S((e) => {
178
- a === void 0 && (v(e), G());
179
- }, [G, a]), J = S((e, t) => {
180
- if (!L || !z) return !1;
181
- let n = e * 100 + t, r = L.year * 100 + L.value, i = z.year * 100 + z.value;
182
- return n >= r && n <= i;
183
- }, [L, z]), Y = S((e) => !L || !z ? !1 : e >= L.year && e <= z.year, [L, z]);
184
- return w(() => {
185
- e && (g(e.period || p), v(a ?? e.operator ?? i), b(e.startDate), C(e.endDate), A(e.year), M(e.month), P(e.quarter), I(e.halfYear), R(e.rangeStart), B(e.rangeEnd));
186
- }, [
187
- e,
188
- p,
189
- i,
190
- a
191
- ]), w(() => {
192
- a !== void 0 && v(a);
193
- }, [a]), w(() => {
194
- n?.(W);
195
- }, [W, n]), {
196
- periodType: h,
197
- filterType: _,
198
- selectedDate: y,
199
- selectedEndDate: x,
200
- calendarMonth: D,
201
- selectedYear: k,
202
- selectedMonth: j,
203
- selectedQuarter: N,
204
- selectedHalfYear: F,
205
- rangeStart: L,
206
- rangeEnd: z,
207
- hoverDate: V,
208
- years: U,
209
- currentValue: W,
210
- allowRange: o,
211
- setPeriodType: te,
212
- setFilterType: ne,
213
- setSelectedDate: b,
214
- setSelectedEndDate: C,
215
- setCalendarMonth: O,
216
- setHoverDate: H,
217
- clearSelection: G,
218
- handleDayClick: K,
219
- handlePeriodSelect: q,
220
- handleYearSelect: ee,
221
- isInRange: J,
222
- isYearInRange: Y
223
- };
224
- }
225
- function F({ value: e, onChange: t, showBetween: n = !0, showIs: r = !0, presetMode: i, className: a }) {
226
- let { i18n: o } = M(), s = i !== void 0;
227
- return /* @__PURE__ */ D(v, {
228
- value: e,
229
- onValueChange: (e) => {
230
- !s && e && t(e);
231
- },
232
- className: a,
233
- children: /* @__PURE__ */ O(_, {
234
- className: m("bg-muted/80", s && "pointer-events-none opacity-50", a),
235
- children: [
236
- r && /* @__PURE__ */ D(g, {
237
- value: "is",
238
- "aria-label": o.filterTypes.is,
239
- className: "py-1 font-normal",
240
- children: o.filterTypes.is
241
- }),
242
- /* @__PURE__ */ D(g, {
243
- value: "before",
244
- "aria-label": o.filterTypes.before,
245
- className: "py-1 font-normal",
246
- children: o.filterTypes.before
247
- }),
248
- /* @__PURE__ */ D(g, {
249
- value: "after",
250
- "aria-label": o.filterTypes.after,
251
- className: "py-1 font-normal",
252
- children: o.filterTypes.after
253
- }),
254
- n && /* @__PURE__ */ D(g, {
255
- value: "between",
256
- "aria-label": o.filterTypes.between,
257
- className: "py-1 font-normal",
258
- children: o.filterTypes.between
259
- })
260
- ]
261
- })
262
- });
263
- }
264
- function I({ value: t, onChange: r, periodTypes: i, className: a, calendarMonth: s, onMonthChange: c, showNavigationButtons: h = !1 }) {
265
- let { i18n: y } = M(), b = [
266
- {
267
- value: "day",
268
- label: y.periodTypes.day
269
- },
270
- {
271
- value: "month",
272
- label: y.periodTypes.month
273
- },
274
- {
275
- value: "quarter",
276
- label: y.periodTypes.quarter
277
- },
278
- {
279
- value: "half-year",
280
- label: y.periodTypes.halfYear
281
- },
282
- {
283
- value: "year",
284
- label: y.periodTypes.year
285
- }
286
- ], x = i ? b.filter((e) => i.includes(e.value)) : b;
287
- return /* @__PURE__ */ O("div", {
288
- className: m("flex flex-wrap items-center justify-between gap-3", a),
289
- children: [/* @__PURE__ */ D(v, {
290
- value: t,
291
- onValueChange: (e) => {
292
- e && r(e);
293
- },
294
- children: /* @__PURE__ */ D(_, { children: x.map((e) => /* @__PURE__ */ D(g, {
295
- value: e.value,
296
- "aria-label": e.label,
297
- className: "px-1 py-1 font-normal sm:px-2.5",
298
- children: e.label
299
- }, e.value)) })
300
- }), h && t === "day" && s && c && /* @__PURE__ */ O("div", {
301
- className: "flex items-center",
302
- children: [
303
- (() => {
304
- let t = /* @__PURE__ */ new Date();
305
- if (o(s, t)) return null;
306
- let n = s > t;
307
- return /* @__PURE__ */ D(e, {
308
- variant: "ghost",
309
- className: "size-8.5",
310
- onClick: () => c(/* @__PURE__ */ new Date()),
311
- title: y.today,
312
- children: n ? /* @__PURE__ */ D(f, {
313
- icon: d,
314
- strokeWidth: 2
315
- }) : /* @__PURE__ */ D(f, {
316
- icon: u,
317
- strokeWidth: 2
318
- })
319
- });
320
- })(),
321
- /* @__PURE__ */ D(e, {
322
- variant: "ghost",
323
- className: "size-8.5",
324
- onClick: () => c(k(s, 1)),
325
- children: /* @__PURE__ */ D(f, {
326
- icon: l,
327
- strokeWidth: 2,
328
- className: "size-4"
329
- })
330
- }),
331
- /* @__PURE__ */ D(e, {
332
- variant: "ghost",
333
- className: "size-8.5",
334
- onClick: () => c(n(s, 1)),
335
- children: /* @__PURE__ */ D(f, {
336
- icon: p,
337
- strokeWidth: 2,
338
- className: "size-4"
339
- })
340
- })
341
- ]
342
- })]
343
- });
344
- }
345
- function L({ currentMonth: e, selectedDate: t, selectedEndDate: n, onDayClick: r, isRange: a, onDayHover: o, hoverDate: c, showTwoMonths: l = !0, weekStartsOn: u, className: d }) {
346
- let { i18n: f } = M(), p = y(), h = a ? t && n ? {
347
- from: t,
348
- to: n
349
- } : t ? {
350
- from: t,
351
- to: c || t
352
- } : void 0 : t, g = (e) => {
353
- e && (a && "from" in e ? e.from && !e.to ? r(e.from) : e.from && e.to && r(e.to) : !a && e instanceof Date && r(e));
354
- }, _ = S((e) => /* @__PURE__ */ D(i, {
355
- ...e,
356
- onMouseEnter: () => {
357
- a && o && e.day && o(e.day.date);
358
- },
359
- onMouseLeave: () => {
360
- a && o && o(void 0);
361
- }
362
- }), [a, o]), v = {
363
- formatWeekdayName: (e) => {
364
- let t = e.getDay();
365
- return f.weekdaysShort[t] || f.weekdays[t];
366
- },
367
- formatMonthCaption: (e) => {
368
- let t = e.getMonth(), n = e.getFullYear();
369
- return `${f.months[t]} ${n}`;
370
- }
371
- };
372
- return /* @__PURE__ */ D("div", {
373
- className: m("flex w-full items-center justify-between", d),
374
- children: a ? /* @__PURE__ */ D(s, {
375
- month: e,
376
- mode: "range",
377
- selected: h,
378
- onSelect: g,
379
- numberOfMonths: p ? 1 : l ? 2 : 1,
380
- showOutsideDays: !0,
381
- weekStartsOn: u,
382
- formatters: v,
383
- className: "w-full shrink-0 p-0",
384
- classNames: {
385
- months: "flex flex-wrap items-start justify-between gap-5 w-full",
386
- month: "flex flex-col items-center min-w-0 flex-1",
387
- nav: "hidden"
388
- },
389
- components: { DayButton: _ }
390
- }) : /* @__PURE__ */ D(s, {
391
- month: e,
392
- mode: "single",
393
- selected: h,
394
- onSelect: g,
395
- numberOfMonths: p ? 1 : l ? 2 : 1,
396
- showOutsideDays: !0,
397
- weekStartsOn: u,
398
- formatters: v,
399
- className: "w-full shrink-0 p-0",
400
- classNames: {
401
- months: "flex flex-wrap items-start justify-between gap-5 w-full",
402
- month: "flex flex-col items-center min-w-0 flex-1",
403
- nav: "hidden"
404
- },
405
- components: { DayButton: _ }
406
- })
407
- });
408
- }
409
- function R({ years: t, items: n, selectedYear: r, selectedValue: i, rangeStart: a, rangeEnd: o, isInRange: s, onSelect: c, columns: l, className: u }) {
410
- return /* @__PURE__ */ D("div", {
411
- className: m("w-full space-y-6", u),
412
- children: t.map((t) => /* @__PURE__ */ O("div", { children: [/* @__PURE__ */ D("div", {
413
- className: "text-muted-foreground mb-3 text-sm font-medium",
414
- children: t
415
- }), /* @__PURE__ */ D("div", {
416
- className: "grid gap-2",
417
- style: { gridTemplateColumns: `repeat(${l}, minmax(0, 1fr))` },
418
- children: n.map((n, l) => {
419
- let u = r === t && i === l, d = a?.year === t && a?.value === l, f = o?.year === t && o?.value === l, p = s(t, l);
420
- return /* @__PURE__ */ D(e, {
421
- size: "sm",
422
- variant: u || d || f ? "default" : "outline",
423
- className: m(p && !u && !d && !f && "bg-accent dark:bg-accent/60"),
424
- onClick: () => c(t, l),
425
- children: n
426
- }, n);
427
- })
428
- })] }, t))
429
- });
430
- }
431
- function z({ years: t, selectedYear: n, rangeStart: r, rangeEnd: i, isYearInRange: a, onSelect: o, className: s }) {
432
- return /* @__PURE__ */ D("div", {
433
- className: m("grid grid-cols-2 gap-2", s),
434
- children: t.map((t) => {
435
- let s = n === t && !r && !i, c = r?.year === t, l = i?.year === t, u = a(t);
436
- return /* @__PURE__ */ D(e, {
437
- size: "sm",
438
- variant: s || c || l ? "default" : "outline",
439
- className: m(u && !s && !c && !l && "bg-accent dark:bg-accent/60"),
440
- onClick: () => o(t),
441
- children: t
442
- }, t);
443
- })
444
- });
445
- }
446
- function B({ value: e, onChange: t, allowRange: n = !0, periodTypes: i, defaultPeriodType: a = "day", defaultFilterType: o = "is", presetMode: s, showInput: l = !0, showTwoMonths: u = !0, label: d, className: p, yearRange: g = 10, baseYear: _, minYear: v = 2015, maxYear: y = 2026, i18n: x, inputHint: C, dayDateFormat: k = "MM/dd/yyyy", dayDateFormats: M, weekStartsOn: B }) {
447
- let V = T(() => ({
448
- ...A,
449
- ...x
450
- }), [x]), { periodType: H, filterType: U, selectedDate: W, selectedEndDate: G, calendarMonth: K, selectedYear: q, selectedMonth: ee, selectedQuarter: te, selectedHalfYear: ne, rangeStart: J, rangeEnd: Y, hoverDate: re, years: X, currentValue: ie, setPeriodType: ae, setFilterType: oe, setCalendarMonth: se, setHoverDate: ce, clearSelection: le, handleDayClick: ue, handlePeriodSelect: de, handleYearSelect: fe, isInRange: pe, isYearInRange: me } = P({
451
- value: e,
452
- onChange: t,
453
- defaultPeriodType: a,
454
- defaultFilterType: o,
455
- presetMode: s,
456
- allowRange: n,
457
- yearRange: g,
458
- baseYear: _,
459
- minYear: v,
460
- maxYear: y,
461
- periodTypes: i
462
- }), Z = N(ie, V, k), [Q, he] = E(Z), [ge, _e] = E(!1);
463
- w(() => {
464
- ge || he(Z);
465
- }, [Z, ge]);
466
- let ve = T(() => {
467
- if (M && M.length > 0) {
468
- let e = [...M];
469
- return e.includes(k) || e.unshift(k), e;
470
- }
471
- let e = [
472
- k,
473
- "dd/MM/yyyy",
474
- "yyyy-MM-dd",
475
- "MM-dd-yyyy",
476
- "dd-MM-yyyy"
477
- ];
478
- return Array.from(new Set(e));
479
- }, [k, M]), $ = S((e) => {
480
- if (!e.trim()) return null;
481
- let t = e.trim(), n = t.match(/^\d{4}$/);
482
- if (n) {
483
- let e = parseInt(n[0]);
484
- if (e >= 1900 && e <= 2100) return {
485
- period: "year",
486
- operator: s ?? U,
487
- year: e
488
- };
489
- }
490
- let i = t.match(/^Q([1-4])(?:\s+(\d{4}))?$/i);
491
- if (i) {
492
- let e = parseInt(i[1]) - 1, t = i[2] ? parseInt(i[2]) : (/* @__PURE__ */ new Date()).getFullYear();
493
- if (t >= 1900 && t <= 2100) return {
494
- period: "quarter",
495
- operator: s ?? U,
496
- year: t,
497
- quarter: e
498
- };
499
- }
500
- for (let e of ve) try {
501
- let n = r(t, e, /* @__PURE__ */ new Date());
502
- if (!isNaN(n.getTime())) return {
503
- period: "day",
504
- operator: s ?? U,
505
- startDate: n
506
- };
507
- } catch {}
508
- return null;
509
- }, [
510
- U,
511
- s,
512
- ve
513
- ]), ye = S((e) => {
514
- let n = e.target.value;
515
- he(n);
516
- let r = $(n);
517
- r && t?.(r);
518
- }, [t, $]), be = S(() => {
519
- _e(!1), $(Q) || he(Z);
520
- }, [
521
- Q,
522
- Z,
523
- $
524
- ]);
525
- return /* @__PURE__ */ D(j.Provider, {
526
- value: {
527
- i18n: V,
528
- variant: "outline",
529
- size: "default"
530
- },
531
- children: /* @__PURE__ */ O("div", {
532
- className: m("w-full space-y-4 sm:w-[470px]", p),
533
- children: [
534
- /* @__PURE__ */ O("div", {
535
- className: "flex flex-wrap items-center gap-3",
536
- children: [d && /* @__PURE__ */ D("h3", {
537
- className: "text-sm font-medium",
538
- "data-slot": "data-selector-label",
539
- children: d
540
- }), /* @__PURE__ */ D(F, {
541
- value: U,
542
- onChange: oe,
543
- showBetween: n,
544
- presetMode: s
545
- })]
546
- }),
547
- l && /* @__PURE__ */ O("div", {
548
- className: "relative",
549
- children: [/* @__PURE__ */ D(b, {
550
- type: "text",
551
- value: C ? Q : Z,
552
- readOnly: !C,
553
- placeholder: ge && C ? C : V.placeholder,
554
- onFocus: () => _e(!0),
555
- onBlur: be,
556
- onChange: ye
557
- }), (C ? Q : Z) && /* @__PURE__ */ D("button", {
558
- type: "button",
559
- onClick: le,
560
- className: m("absolute end-2.5 top-1/2 size-4 -translate-y-1/2 cursor-pointer rounded-xs", "opacity-70 transition-opacity hover:opacity-100", "ring-offset-background focus:ring-ring focus:ring-2 focus:ring-offset-2 focus:outline-none"),
561
- children: /* @__PURE__ */ D(f, {
562
- icon: c,
563
- strokeWidth: 2,
564
- className: "size-4"
565
- })
566
- })]
567
- }),
568
- /* @__PURE__ */ D(I, {
569
- value: H,
570
- onChange: ae,
571
- periodTypes: i,
572
- calendarMonth: K,
573
- onMonthChange: se,
574
- showNavigationButtons: H === "day"
575
- }),
576
- H === "day" ? /* @__PURE__ */ D("div", {
577
- className: "w-full pb-1",
578
- children: /* @__PURE__ */ D(L, {
579
- currentMonth: K,
580
- selectedDate: W,
581
- selectedEndDate: G,
582
- onDayClick: ue,
583
- isRange: U === "between" && n,
584
- onDayHover: ce,
585
- hoverDate: re,
586
- showTwoMonths: u,
587
- weekStartsOn: B
588
- })
589
- }) : /* @__PURE__ */ D("div", {
590
- className: "-mr-3 w-full",
591
- children: /* @__PURE__ */ O(h, {
592
- className: "h-[200px] w-full pe-3",
593
- children: [
594
- H === "month" && /* @__PURE__ */ D(R, {
595
- years: X,
596
- items: V.monthsShort,
597
- selectedYear: q,
598
- selectedValue: ee,
599
- rangeStart: J,
600
- rangeEnd: Y,
601
- isInRange: pe,
602
- onSelect: de,
603
- columns: 3
604
- }),
605
- H === "quarter" && /* @__PURE__ */ D(R, {
606
- years: X,
607
- items: V.quarters,
608
- selectedYear: q,
609
- selectedValue: te,
610
- rangeStart: J,
611
- rangeEnd: Y,
612
- isInRange: pe,
613
- onSelect: de,
614
- columns: 4
615
- }),
616
- H === "half-year" && /* @__PURE__ */ D(R, {
617
- years: X,
618
- items: V.halfYears,
619
- selectedYear: q,
620
- selectedValue: ne,
621
- rangeStart: J,
622
- rangeEnd: Y,
623
- isInRange: pe,
624
- onSelect: de,
625
- columns: 2
626
- }),
627
- H === "year" && /* @__PURE__ */ D(z, {
628
- years: X,
629
- selectedYear: q,
630
- rangeStart: J,
631
- rangeEnd: Y,
632
- isYearInRange: me,
633
- onSelect: fe
634
- })
635
- ]
636
- }, H)
637
- })
638
- ]
639
- })
640
- });
641
- }
642
- //#endregion
643
- //#region src/base/form/fields/DateRangeField.tsx
644
- function V({ id: e, value: t, onChange: n, operator: r, error: i, helpTextId: a, errorId: o }) {
645
- let s = [i ? o : void 0, a].filter(Boolean).join(" ") || void 0, c = S((e) => {
646
- n(e);
647
- }, [n]);
648
- return /* @__PURE__ */ D("div", {
649
- id: e,
650
- "aria-invalid": i ? !0 : void 0,
651
- "aria-describedby": s,
652
- children: /* @__PURE__ */ D(B, {
653
- value: t,
654
- onChange: c,
655
- allowRange: !0,
656
- defaultFilterType: r ?? "is",
657
- presetMode: r || void 0,
658
- showInput: !0
659
- })
660
- });
661
- }
662
- //#endregion
663
- export { V as DateRangeField };