@frontify/fondue-components 29.1.0 → 30.0.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 (317) hide show
  1. package/dist/fondue-components.js +72 -70
  2. package/dist/fondue-components.js.map +1 -1
  3. package/dist/fondue-components10.js +181 -33
  4. package/dist/fondue-components10.js.map +1 -1
  5. package/dist/fondue-components100.js +8 -23
  6. package/dist/fondue-components100.js.map +1 -1
  7. package/dist/fondue-components101.js +11 -34
  8. package/dist/fondue-components101.js.map +1 -1
  9. package/dist/fondue-components102.js +10 -10
  10. package/dist/fondue-components103.js +6 -67
  11. package/dist/fondue-components103.js.map +1 -1
  12. package/dist/fondue-components104.js +12 -14
  13. package/dist/fondue-components104.js.map +1 -1
  14. package/dist/fondue-components105.js +22 -25
  15. package/dist/fondue-components105.js.map +1 -1
  16. package/dist/fondue-components106.js +34 -19
  17. package/dist/fondue-components106.js.map +1 -1
  18. package/dist/fondue-components107.js +10 -24
  19. package/dist/fondue-components107.js.map +1 -1
  20. package/dist/fondue-components108.js +67 -8
  21. package/dist/fondue-components108.js.map +1 -1
  22. package/dist/fondue-components109.js +14 -30
  23. package/dist/fondue-components109.js.map +1 -1
  24. package/dist/fondue-components11.js +35 -185
  25. package/dist/fondue-components11.js.map +1 -1
  26. package/dist/fondue-components110.js +23 -4
  27. package/dist/fondue-components110.js.map +1 -1
  28. package/dist/fondue-components111.js +18 -4
  29. package/dist/fondue-components111.js.map +1 -1
  30. package/dist/fondue-components112.js +24 -4
  31. package/dist/fondue-components112.js.map +1 -1
  32. package/dist/fondue-components113.js +9 -14
  33. package/dist/fondue-components113.js.map +1 -1
  34. package/dist/fondue-components114.js +32 -16
  35. package/dist/fondue-components114.js.map +1 -1
  36. package/dist/fondue-components115.js +7 -111
  37. package/dist/fondue-components115.js.map +1 -1
  38. package/dist/fondue-components116.js +4 -12
  39. package/dist/fondue-components116.js.map +1 -1
  40. package/dist/fondue-components117.js +5 -17
  41. package/dist/fondue-components117.js.map +1 -1
  42. package/dist/fondue-components118.js +214 -10
  43. package/dist/fondue-components118.js.map +1 -1
  44. package/dist/fondue-components119.js +18 -16
  45. package/dist/fondue-components119.js.map +1 -1
  46. package/dist/fondue-components12.js +185 -7
  47. package/dist/fondue-components12.js.map +1 -1
  48. package/dist/fondue-components120.js +15 -125
  49. package/dist/fondue-components120.js.map +1 -1
  50. package/dist/fondue-components121.js +151 -11
  51. package/dist/fondue-components121.js.map +1 -1
  52. package/dist/fondue-components122.js +45 -36
  53. package/dist/fondue-components122.js.map +1 -1
  54. package/dist/fondue-components123.js +16 -216
  55. package/dist/fondue-components123.js.map +1 -1
  56. package/dist/fondue-components124.js +14 -19
  57. package/dist/fondue-components124.js.map +1 -1
  58. package/dist/fondue-components125.js +16 -16
  59. package/dist/fondue-components125.js.map +1 -1
  60. package/dist/fondue-components126.js +107 -147
  61. package/dist/fondue-components126.js.map +1 -1
  62. package/dist/fondue-components127.js +12 -44
  63. package/dist/fondue-components127.js.map +1 -1
  64. package/dist/fondue-components128.js +17 -42
  65. package/dist/fondue-components128.js.map +1 -1
  66. package/dist/fondue-components129.js +16 -0
  67. package/dist/fondue-components129.js.map +1 -0
  68. package/dist/fondue-components13.js +8 -63
  69. package/dist/fondue-components13.js.map +1 -1
  70. package/dist/fondue-components130.js +127 -41
  71. package/dist/fondue-components130.js.map +1 -1
  72. package/dist/fondue-components131.js +11 -170
  73. package/dist/fondue-components131.js.map +1 -1
  74. package/dist/fondue-components132.js +34 -58
  75. package/dist/fondue-components132.js.map +1 -1
  76. package/dist/fondue-components133.js +33 -9
  77. package/dist/fondue-components133.js.map +1 -1
  78. package/dist/fondue-components134.js +6 -256
  79. package/dist/fondue-components134.js.map +1 -1
  80. package/dist/fondue-components137.js +4 -4
  81. package/dist/fondue-components138.js +1 -1
  82. package/dist/fondue-components139.js +1 -1
  83. package/dist/fondue-components14.js +61 -35
  84. package/dist/fondue-components14.js.map +1 -1
  85. package/dist/fondue-components140.js +2 -2
  86. package/dist/fondue-components141.js +3 -3
  87. package/dist/fondue-components142.js +2 -2
  88. package/dist/fondue-components143.js +168 -17
  89. package/dist/fondue-components143.js.map +1 -1
  90. package/dist/fondue-components144.js +60 -70
  91. package/dist/fondue-components144.js.map +1 -1
  92. package/dist/fondue-components145.js +7 -1350
  93. package/dist/fondue-components145.js.map +1 -1
  94. package/dist/fondue-components146.js +217 -902
  95. package/dist/fondue-components146.js.map +1 -1
  96. package/dist/fondue-components147.js +17 -196
  97. package/dist/fondue-components147.js.map +1 -1
  98. package/dist/fondue-components149.js +41 -39
  99. package/dist/fondue-components149.js.map +1 -1
  100. package/dist/fondue-components15.js +36 -121
  101. package/dist/fondue-components15.js.map +1 -1
  102. package/dist/fondue-components150.js +40 -67
  103. package/dist/fondue-components150.js.map +1 -1
  104. package/dist/fondue-components151.js +20 -30
  105. package/dist/fondue-components151.js.map +1 -1
  106. package/dist/fondue-components152.js +40 -9
  107. package/dist/fondue-components152.js.map +1 -1
  108. package/dist/fondue-components153.js +67 -150
  109. package/dist/fondue-components153.js.map +1 -1
  110. package/dist/fondue-components154.js +1351 -107
  111. package/dist/fondue-components154.js.map +1 -1
  112. package/dist/fondue-components155.js +943 -18
  113. package/dist/fondue-components155.js.map +1 -1
  114. package/dist/fondue-components156.js +197 -15
  115. package/dist/fondue-components156.js.map +1 -1
  116. package/dist/fondue-components157.js +68 -29
  117. package/dist/fondue-components157.js.map +1 -1
  118. package/dist/fondue-components158.js +31 -13
  119. package/dist/fondue-components158.js.map +1 -1
  120. package/dist/fondue-components159.js +9 -7
  121. package/dist/fondue-components159.js.map +1 -1
  122. package/dist/fondue-components16.js +121 -36
  123. package/dist/fondue-components16.js.map +1 -1
  124. package/dist/fondue-components160.js +156 -0
  125. package/dist/fondue-components160.js.map +1 -0
  126. package/dist/fondue-components161.js +111 -0
  127. package/dist/fondue-components161.js.map +1 -0
  128. package/dist/fondue-components162.js +19 -0
  129. package/dist/fondue-components162.js.map +1 -0
  130. package/dist/fondue-components163.js +32 -0
  131. package/dist/fondue-components163.js.map +1 -0
  132. package/dist/fondue-components164.js +16 -0
  133. package/dist/fondue-components164.js.map +1 -0
  134. package/dist/fondue-components165.js +19 -0
  135. package/dist/fondue-components165.js.map +1 -0
  136. package/dist/fondue-components166.js +10 -0
  137. package/dist/fondue-components166.js.map +1 -0
  138. package/dist/fondue-components17.js +30 -39
  139. package/dist/fondue-components17.js.map +1 -1
  140. package/dist/fondue-components18.js +44 -41
  141. package/dist/fondue-components18.js.map +1 -1
  142. package/dist/fondue-components19.js +42 -57
  143. package/dist/fondue-components19.js.map +1 -1
  144. package/dist/fondue-components20.js +55 -41
  145. package/dist/fondue-components20.js.map +1 -1
  146. package/dist/fondue-components21.js +39 -16
  147. package/dist/fondue-components21.js.map +1 -1
  148. package/dist/fondue-components22.js +17 -43
  149. package/dist/fondue-components22.js.map +1 -1
  150. package/dist/fondue-components23.js +46 -68
  151. package/dist/fondue-components23.js.map +1 -1
  152. package/dist/fondue-components24.js +67 -71
  153. package/dist/fondue-components24.js.map +1 -1
  154. package/dist/fondue-components25.js +72 -16
  155. package/dist/fondue-components25.js.map +1 -1
  156. package/dist/fondue-components26.js +18 -77
  157. package/dist/fondue-components26.js.map +1 -1
  158. package/dist/fondue-components27.js +75 -34
  159. package/dist/fondue-components27.js.map +1 -1
  160. package/dist/fondue-components28.js +34 -53
  161. package/dist/fondue-components28.js.map +1 -1
  162. package/dist/fondue-components29.js +55 -23
  163. package/dist/fondue-components29.js.map +1 -1
  164. package/dist/fondue-components3.js +1 -1
  165. package/dist/fondue-components30.js +23 -55
  166. package/dist/fondue-components30.js.map +1 -1
  167. package/dist/fondue-components31.js +52 -97
  168. package/dist/fondue-components31.js.map +1 -1
  169. package/dist/fondue-components32.js +98 -31
  170. package/dist/fondue-components32.js.map +1 -1
  171. package/dist/fondue-components33.js +31 -194
  172. package/dist/fondue-components33.js.map +1 -1
  173. package/dist/fondue-components34.js +184 -134
  174. package/dist/fondue-components34.js.map +1 -1
  175. package/dist/fondue-components35.js +143 -130
  176. package/dist/fondue-components35.js.map +1 -1
  177. package/dist/fondue-components36.js +131 -30
  178. package/dist/fondue-components36.js.map +1 -1
  179. package/dist/fondue-components37.js +29 -79
  180. package/dist/fondue-components37.js.map +1 -1
  181. package/dist/fondue-components38.js +68 -110
  182. package/dist/fondue-components38.js.map +1 -1
  183. package/dist/fondue-components39.js +121 -34
  184. package/dist/fondue-components39.js.map +1 -1
  185. package/dist/fondue-components4.js +21 -19
  186. package/dist/fondue-components4.js.map +1 -1
  187. package/dist/fondue-components40.js +36 -56
  188. package/dist/fondue-components40.js.map +1 -1
  189. package/dist/fondue-components41.js +56 -20
  190. package/dist/fondue-components41.js.map +1 -1
  191. package/dist/fondue-components42.js +20 -25
  192. package/dist/fondue-components42.js.map +1 -1
  193. package/dist/fondue-components43.js +25 -7
  194. package/dist/fondue-components43.js.map +1 -1
  195. package/dist/fondue-components44.js +7 -8
  196. package/dist/fondue-components44.js.map +1 -1
  197. package/dist/fondue-components45.js +9 -41
  198. package/dist/fondue-components45.js.map +1 -1
  199. package/dist/fondue-components46.js +41 -5
  200. package/dist/fondue-components46.js.map +1 -1
  201. package/dist/fondue-components47.js +1 -1
  202. package/dist/fondue-components48.js +3 -11
  203. package/dist/fondue-components48.js.map +1 -1
  204. package/dist/fondue-components49.js +25 -29
  205. package/dist/fondue-components49.js.map +1 -1
  206. package/dist/fondue-components5.js +2 -2
  207. package/dist/fondue-components50.js +33 -54
  208. package/dist/fondue-components50.js.map +1 -1
  209. package/dist/fondue-components51.js +20 -130
  210. package/dist/fondue-components51.js.map +1 -1
  211. package/dist/fondue-components52.js +85 -20
  212. package/dist/fondue-components52.js.map +1 -1
  213. package/dist/fondue-components53.js +13 -53
  214. package/dist/fondue-components53.js.map +1 -1
  215. package/dist/fondue-components54.js +32 -8
  216. package/dist/fondue-components54.js.map +1 -1
  217. package/dist/fondue-components55.js +54 -13
  218. package/dist/fondue-components55.js.map +1 -1
  219. package/dist/fondue-components56.js +130 -16
  220. package/dist/fondue-components56.js.map +1 -1
  221. package/dist/fondue-components57.js +20 -4
  222. package/dist/fondue-components57.js.map +1 -1
  223. package/dist/fondue-components58.js +52 -17
  224. package/dist/fondue-components58.js.map +1 -1
  225. package/dist/fondue-components59.js +7 -18
  226. package/dist/fondue-components59.js.map +1 -1
  227. package/dist/fondue-components6.js +1 -1
  228. package/dist/fondue-components60.js +13 -44
  229. package/dist/fondue-components60.js.map +1 -1
  230. package/dist/fondue-components61.js +16 -24
  231. package/dist/fondue-components61.js.map +1 -1
  232. package/dist/fondue-components62.js +4 -22
  233. package/dist/fondue-components62.js.map +1 -1
  234. package/dist/fondue-components63.js +18 -7
  235. package/dist/fondue-components63.js.map +1 -1
  236. package/dist/fondue-components64.js +18 -4
  237. package/dist/fondue-components64.js.map +1 -1
  238. package/dist/fondue-components65.js +43 -12
  239. package/dist/fondue-components65.js.map +1 -1
  240. package/dist/fondue-components66.js +24 -4
  241. package/dist/fondue-components66.js.map +1 -1
  242. package/dist/fondue-components67.js +22 -17
  243. package/dist/fondue-components67.js.map +1 -1
  244. package/dist/fondue-components68.js +4 -8
  245. package/dist/fondue-components68.js.map +1 -1
  246. package/dist/fondue-components69.js +4 -36
  247. package/dist/fondue-components69.js.map +1 -1
  248. package/dist/fondue-components7.js +32 -65
  249. package/dist/fondue-components7.js.map +1 -1
  250. package/dist/fondue-components70.js +12 -6
  251. package/dist/fondue-components70.js.map +1 -1
  252. package/dist/fondue-components71.js +1 -1
  253. package/dist/fondue-components72.js +17 -12
  254. package/dist/fondue-components72.js.map +1 -1
  255. package/dist/fondue-components73.js +10 -51
  256. package/dist/fondue-components73.js.map +1 -1
  257. package/dist/fondue-components74.js +37 -44
  258. package/dist/fondue-components74.js.map +1 -1
  259. package/dist/fondue-components75.js +7 -6
  260. package/dist/fondue-components75.js.map +1 -1
  261. package/dist/fondue-components76.js +5 -6
  262. package/dist/fondue-components76.js.map +1 -1
  263. package/dist/fondue-components77.js +13 -13
  264. package/dist/fondue-components77.js.map +1 -1
  265. package/dist/fondue-components78.js +51 -27
  266. package/dist/fondue-components78.js.map +1 -1
  267. package/dist/fondue-components79.js +42 -11
  268. package/dist/fondue-components79.js.map +1 -1
  269. package/dist/fondue-components8.js +65 -51
  270. package/dist/fondue-components8.js.map +1 -1
  271. package/dist/fondue-components80.js +6 -5
  272. package/dist/fondue-components80.js.map +1 -1
  273. package/dist/fondue-components81.js +6 -13
  274. package/dist/fondue-components81.js.map +1 -1
  275. package/dist/fondue-components82.js +13 -48
  276. package/dist/fondue-components82.js.map +1 -1
  277. package/dist/fondue-components83.js +27 -22
  278. package/dist/fondue-components83.js.map +1 -1
  279. package/dist/fondue-components84.js +13 -629
  280. package/dist/fondue-components84.js.map +1 -1
  281. package/dist/fondue-components85.js +4 -8
  282. package/dist/fondue-components85.js.map +1 -1
  283. package/dist/fondue-components86.js +12 -12
  284. package/dist/fondue-components86.js.map +1 -1
  285. package/dist/fondue-components87.js +47 -4
  286. package/dist/fondue-components87.js.map +1 -1
  287. package/dist/fondue-components88.js +22 -24
  288. package/dist/fondue-components88.js.map +1 -1
  289. package/dist/fondue-components89.js +628 -16
  290. package/dist/fondue-components89.js.map +1 -1
  291. package/dist/fondue-components9.js +46 -173
  292. package/dist/fondue-components9.js.map +1 -1
  293. package/dist/fondue-components90.js +9 -20
  294. package/dist/fondue-components90.js.map +1 -1
  295. package/dist/fondue-components91.js +13 -20
  296. package/dist/fondue-components91.js.map +1 -1
  297. package/dist/fondue-components92.js +5 -20
  298. package/dist/fondue-components92.js.map +1 -1
  299. package/dist/fondue-components93.js +24 -19
  300. package/dist/fondue-components93.js.map +1 -1
  301. package/dist/fondue-components94.js +17 -19
  302. package/dist/fondue-components94.js.map +1 -1
  303. package/dist/fondue-components95.js +20 -8
  304. package/dist/fondue-components95.js.map +1 -1
  305. package/dist/fondue-components96.js +20 -11
  306. package/dist/fondue-components96.js.map +1 -1
  307. package/dist/fondue-components97.js +20 -11
  308. package/dist/fondue-components97.js.map +1 -1
  309. package/dist/fondue-components98.js +20 -7
  310. package/dist/fondue-components98.js.map +1 -1
  311. package/dist/fondue-components99.js +19 -13
  312. package/dist/fondue-components99.js.map +1 -1
  313. package/dist/index.d.ts +187 -15
  314. package/dist/style.css +1 -1
  315. package/package.json +9 -5
  316. package/dist/fondue-components148.js +0 -24
  317. package/dist/fondue-components148.js.map +0 -1
@@ -1,154 +1,114 @@
1
- import { jsxs as d, jsx as n } from "react/jsx-runtime";
2
- import { IconCaretDown as V } from "@frontify/fondue-icons";
3
- import * as I from "@radix-ui/react-popover";
4
- import { useSelect as s } from "downshift";
5
- import { forwardRef as ee, useRef as te, useCallback as N, useState as ne, useMemo as oe } from "react";
6
- import { useBadgeItems as re } from "./fondue-components135.js";
7
- import { useFocusRing as ae } from "./fondue-components136.js";
8
- import { useSelectData as se } from "./fondue-components137.js";
9
- import { useSelectionDescription as ie } from "./fondue-components138.js";
10
- import r from "./fondue-components127.js";
11
- import { ClearButton as le } from "./fondue-components139.js";
12
- import { CollapsibleBadges as ce } from "./fondue-components140.js";
13
- import { SelectMenu as ue } from "./fondue-components141.js";
14
- import { StatusIcons as ge } from "./fondue-components142.js";
15
- const O = ({
16
- children: M,
17
- selectedItemValues: o,
18
- onItemSelect: p,
19
- onClear: P,
20
- placeholder: c = "",
21
- status: u = "neutral",
22
- disabled: f,
23
- alignMenu: R = "start",
24
- side: j = "bottom",
25
- id: k,
26
- showStringValue: y = !0,
27
- "data-test-id": b = "fondue-select",
28
- viewportCollisionPadding: E = "compact",
29
- onEscapeKeyDown: F,
30
- multiple: g,
31
- ...i
32
- }, a) => {
33
- const C = te(null), B = N(
34
- (e) => {
35
- C.current = e, typeof a == "function" ? a(e) : a && (a.current = e);
36
- },
37
- [a]
38
- ), { inputSlots: H, menuSlots: K, items: w, clearButton: S, getItemByValue: l } = se(M), { onMouseDown: z, onFocus: A, onBlur: q } = ae(), { selectionDescriptionId: D, selectionDescription: m } = ie(
39
- g,
40
- o,
41
- l
42
- ), G = re(o, l), [J, v] = ne(!1), x = N(
43
- (e) => {
44
- const t = l(e);
45
- if (t)
46
- return !y && (t != null && t.children) ? t.children : t == null ? void 0 : t.label;
47
- },
48
- [l, y]
49
- ), { getToggleButtonProps: L, getMenuProps: Q, getItemProps: U, reset: W, isOpen: X, highlightedIndex: Y } = s({
50
- items: w,
51
- selectedItem: null,
52
- toggleButtonId: k,
53
- labelId: "aria-labelledby" in i ? i["aria-labelledby"] : void 0,
54
- onIsOpenChange: () => {
55
- v(!1);
56
- },
57
- onHighlightedIndexChange: () => {
58
- v(!0);
59
- },
60
- onSelectedItemChange: ({ selectedItem: e }) => {
61
- p(e == null ? void 0 : e.value);
62
- },
63
- itemToString: (e) => e ? e.label : "",
64
- ...g ? {
65
- stateReducer: (e, t) => {
66
- const { changes: h, type: $ } = t;
67
- switch ($) {
68
- case s.stateChangeTypes.ToggleButtonKeyDownEnter:
69
- case s.stateChangeTypes.ToggleButtonKeyDownSpaceButton:
70
- case s.stateChangeTypes.ItemClick:
71
- return {
72
- ...h,
73
- isOpen: !0,
74
- highlightedIndex: e.highlightedIndex
75
- };
76
- case s.stateChangeTypes.ToggleButtonBlur:
77
- return {
78
- ...h,
79
- selectedItem: e.selectedItem
80
- };
81
- }
82
- return h;
83
- }
84
- } : {}
85
- }), T = u === "error", Z = () => {
86
- P(), W();
87
- }, _ = oe(
88
- () => x(o[0]) || c,
89
- [x, o, c]
90
- );
91
- return /* @__PURE__ */ d(I.Root, { open: X, children: [
92
- /* @__PURE__ */ n(I.Anchor, { asChild: !0, onMouseDown: z, onFocus: A, onBlur: q, children: /* @__PURE__ */ d(
93
- "div",
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { IconArrowRight as h, IconArrowLeft as $ } from "@frontify/fondue-icons";
3
+ import { forwardRef as p, useMemo as c, useRef as b, useEffect as y } from "react";
4
+ import { getDefaultClassNames as w, DayPicker as g } from "react-day-picker";
5
+ /* empty css */
6
+ import { Button as m } from "./fondue-components6.js";
7
+ import { useFondueTheme as N } from "./fondue-components40.js";
8
+ import { transformDisabledDates as v } from "./fondue-components149.js";
9
+ import e from "./fondue-components150.js";
10
+ const B = p(
11
+ ({ "data-test-id": t = "fondue-date-picker-calendar", disabledDates: s, ...a }, o) => {
12
+ const d = w(), {
13
+ dir: l,
14
+ translations: { dateLocale: n }
15
+ } = N(), i = c(() => v(s), [s]), f = c(() => {
16
+ var u;
17
+ return a.mode === "single" ? a.selected : (u = a.selected) == null ? void 0 : u.from;
18
+ }, [a]);
19
+ return /* @__PURE__ */ r("div", { ref: o, "data-test-id": t, className: e.wrapper, children: /* @__PURE__ */ r(
20
+ g,
94
21
  {
95
- ref: B,
96
- className: r.root,
97
- "data-status": T ? "error" : u,
98
- "data-disabled": f,
99
- "data-empty": o.length === 0,
100
- "data-test-id": b,
101
- ...f ? {} : (
102
- // eslint-disable-next-line react-hooks/refs
103
- L({
104
- "aria-label": "aria-label" in i ? i["aria-label"] : void 0,
105
- "aria-describedby": m ? D : void 0,
106
- ref: B
107
- })
108
- ),
109
- children: [
110
- m ? /* @__PURE__ */ n("span", { id: D, className: r.srOnly, children: m }) : null,
111
- g ? /* @__PURE__ */ n("div", { className: r.selectedValue, children: /* @__PURE__ */ n(
112
- ce,
113
- {
114
- items: G,
115
- placeholder: c,
116
- onDismiss: (e) => {
117
- var t;
118
- p(e), (t = C.current) == null || t.focus();
119
- },
120
- selectedCount: o.length
121
- }
122
- ) }) : /* @__PURE__ */ n("span", { className: r.selectedValue, children: _ }),
123
- H,
124
- S ? /* @__PURE__ */ n(le, { onClear: Z, children: S }) : null,
125
- /* @__PURE__ */ d("div", { className: r.icons, children: [
126
- /* @__PURE__ */ n(V, { size: 16, className: r.caret }),
127
- /* @__PURE__ */ n(ge, { status: u, hasError: T, dataTestId: b })
128
- ] })
129
- ]
22
+ navLayout: "around",
23
+ "data-test-id": t,
24
+ locale: n,
25
+ components: D(),
26
+ showOutsideDays: !0,
27
+ disabled: i,
28
+ defaultMonth: f,
29
+ dir: l,
30
+ classNames: {
31
+ root: `${d.root} ${e.root}`,
32
+ day: `${e.day}`,
33
+ selected: `${e.selected}`,
34
+ week: `${d.week} ${e.week}`,
35
+ weekday: `${e.weekday}`,
36
+ weekdays: `${d.weekdays} ${e.weekdays}`,
37
+ range_start: `${e.selectedStart}`,
38
+ range_end: `${e.selectedEnd}`,
39
+ range_middle: `${e.selectedMiddle}`,
40
+ disabled: `${e.disabled}`,
41
+ outside: `${e.outside}`
42
+ },
43
+ ...a,
44
+ modifiersClassNames: {
45
+ hoverAfter: `${e.hoverAfter}`,
46
+ hoverBefore: `${e.hoverBefore}`,
47
+ hoverSelected: `${e.hoverSelected}`
48
+ }
130
49
  }
131
- ) }),
132
- /* @__PURE__ */ n(
133
- ue,
50
+ ) });
51
+ }
52
+ );
53
+ B.displayName = "DatePickerCalendar";
54
+ const D = () => ({
55
+ DayButton: ({ day: t, modifiers: s, onClick: a, onMouseEnter: o, onMouseLeave: d, ...l }) => {
56
+ const n = b(null);
57
+ return y(() => {
58
+ var i;
59
+ s.focused && ((i = n.current) == null || i.focus());
60
+ }, [s.focused]), /* @__PURE__ */ r(
61
+ "button",
134
62
  {
135
- align: R,
136
- side: j,
137
- highlightedIndex: Y,
138
- getMenuProps: Q,
139
- getItemProps: U,
140
- selectedItemValues: o,
141
- hasInteractedSinceOpening: J,
142
- viewportCollisionPadding: E,
143
- onEscapeKeyDown: F,
144
- children: K
63
+ ...l,
64
+ ref: n,
65
+ className: e.dayButton,
66
+ onClick: a,
67
+ onMouseEnter: o,
68
+ onMouseLeave: d,
69
+ type: "button",
70
+ children: /* @__PURE__ */ r("div", { className: `${e.dayContent} ${e.button}`, children: t.date.getDate() })
145
71
  }
146
- )
147
- ] });
148
- };
149
- O.displayName = "Select";
150
- const Te = ee(O);
72
+ );
73
+ },
74
+ PreviousMonthButton: ({
75
+ onClick: t,
76
+ "aria-label": s,
77
+ "aria-disabled": a
78
+ }) => /* @__PURE__ */ r("div", { className: `${e.toggleMonthButtonContainer} `, children: /* @__PURE__ */ r(
79
+ m,
80
+ {
81
+ emphasis: "weak",
82
+ size: "small",
83
+ aspect: "square",
84
+ "aria-label": s,
85
+ "aria-disabled": a,
86
+ onPress: (o) => {
87
+ o && (t == null || t(o));
88
+ },
89
+ children: /* @__PURE__ */ r($, { size: 16 })
90
+ }
91
+ ) }),
92
+ NextMonthButton: ({
93
+ onClick: t,
94
+ "aria-label": s,
95
+ "aria-disabled": a
96
+ }) => /* @__PURE__ */ r("div", { className: `${e.toggleMonthButtonContainer} ${e.nextMonthButtonContainer}`, children: /* @__PURE__ */ r(
97
+ m,
98
+ {
99
+ emphasis: "weak",
100
+ size: "small",
101
+ aspect: "square",
102
+ "aria-label": s,
103
+ "aria-disabled": a,
104
+ onPress: (o) => {
105
+ o && (t == null || t(o));
106
+ },
107
+ children: /* @__PURE__ */ r(h, { size: 16 })
108
+ }
109
+ ) })
110
+ });
151
111
  export {
152
- Te as SelectBase
112
+ B as DatePickerCalendar
153
113
  };
154
114
  //# sourceMappingURL=fondue-components126.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components126.js","sources":["../src/components/Select/components/SelectBase.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconCaretDown } from '@frontify/fondue-icons';\nimport * as RadixPopover from '@radix-ui/react-popover';\nimport { useSelect } from 'downshift';\nimport { forwardRef, useCallback, useMemo, useRef, useState, type ForwardedRef, type ReactNode } from 'react';\n\nimport { type CommonAriaProps } from '#/helpers/aria';\n\nimport { useBadgeItems } from '../hooks/useBadgeItems';\nimport { useFocusRing } from '../hooks/useFocusRing';\nimport { useSelectData } from '../hooks/useSelectData';\nimport { useSelectionDescription } from '../hooks/useSelectionDescription';\nimport styles from '../styles/select.module.scss';\n\nimport { ClearButton } from './ClearButton';\nimport { CollapsibleBadges } from './CollapsibleBadges';\nimport { SelectMenu, type SelectMenuViewportCollisionPadding } from './SelectMenu';\nimport { StatusIcons } from './StatusIcons';\n\nexport type SelectSharedProps = {\n /**\n * Children of the Select component. This can contain the `Select.Slot` components for the label, decorators, clear action and menu\n */\n children?: ReactNode;\n /**\n * The placeholder in the select component\n */\n placeholder?: string;\n /**\n * Status of the text input\n * @default \"neutral\"\n */\n status?: 'neutral' | 'success' | 'error';\n /**\n * Disables the select component\n */\n disabled?: boolean;\n /**\n * The alignment of the menu\n * @default \"start\"\n */\n alignMenu?: 'start' | 'center' | 'end';\n /**\n * Defines the preferred side of the select. It will not be respected if there are collisions with the viewport\n * @default \"bottom\"\n */\n side?: 'left' | 'right' | 'bottom' | 'top';\n /**\n * The data test id of the select component\n */\n 'data-test-id'?: string;\n /**\n * Id of the select component\n */\n id?: string;\n /**\n * The value of the select is shown as plain text (from the label prop) when set to true\n * Items child components are used if set to false\n * @default true\n */\n showStringValue?: boolean;\n /**\n * Define the minimum distance between the select menu and the viewport edge\n * @default 'compact'\n */\n viewportCollisionPadding?: SelectMenuViewportCollisionPadding;\n /**\n * Event handler called when the escape key is pressed\n */\n onEscapeKeyDown?: (event: KeyboardEvent) => void;\n} & CommonAriaProps;\n\ntype SelectBaseProps = SelectSharedProps & {\n /**\n * The currently selected item values\n */\n selectedItemValues: string[];\n /**\n * Callback fired when an item is selected or deselected\n */\n onItemSelect: (value?: string) => void;\n /**\n * Callback fired when the selection is cleared\n */\n onClear: () => void;\n /**\n * Whether the select allows multiple selections\n */\n multiple: boolean;\n};\n\nconst SelectBaseInput = (\n {\n children,\n selectedItemValues,\n onItemSelect,\n onClear,\n placeholder = '',\n status = 'neutral',\n disabled,\n alignMenu = 'start',\n side = 'bottom',\n id,\n showStringValue = true,\n 'data-test-id': dataTestId = 'fondue-select',\n viewportCollisionPadding = 'compact',\n onEscapeKeyDown,\n multiple,\n ...props\n }: SelectBaseProps,\n forwardedRef: ForwardedRef<HTMLDivElement>,\n): ReactNode => {\n const internalRef = useRef<HTMLDivElement | null>(null);\n const triggerRef = useCallback(\n (node: HTMLDivElement | null): void => {\n internalRef.current = node;\n if (typeof forwardedRef === 'function') {\n forwardedRef(node);\n } else if (forwardedRef) {\n forwardedRef.current = node;\n }\n },\n [forwardedRef],\n );\n const { inputSlots, menuSlots, items, clearButton, getItemByValue } = useSelectData(children);\n const { onMouseDown, onFocus, onBlur } = useFocusRing();\n const { selectionDescriptionId, selectionDescription } = useSelectionDescription(\n multiple,\n selectedItemValues,\n getItemByValue,\n );\n const badgeItems = useBadgeItems(selectedItemValues, getItemByValue);\n\n const [hasInteractedSinceOpening, setHasInteractedSinceOpening] = useState(false);\n\n const getDisplayedValue = useCallback(\n (itemValue?: string): ReactNode => {\n const selectedItem = getItemByValue(itemValue);\n if (selectedItem) {\n return !showStringValue && selectedItem?.children ? selectedItem.children : selectedItem?.label;\n }\n return undefined;\n },\n [getItemByValue, showStringValue],\n );\n\n const { getToggleButtonProps, getMenuProps, getItemProps, reset, isOpen, highlightedIndex } = useSelect<{\n value: string;\n label: string;\n children?: ReactNode;\n }>({\n items,\n selectedItem: null,\n toggleButtonId: id,\n labelId: 'aria-labelledby' in props ? props['aria-labelledby'] : undefined,\n onIsOpenChange: () => {\n setHasInteractedSinceOpening(false);\n },\n onHighlightedIndexChange: () => {\n setHasInteractedSinceOpening(true);\n },\n onSelectedItemChange: ({ selectedItem }) => {\n onItemSelect(selectedItem?.value);\n },\n itemToString: (item) => (item ? item.label : ''),\n ...(multiple\n ? {\n stateReducer: (state, actionAndChanges) => {\n const { changes, type } = actionAndChanges;\n switch (type) {\n case useSelect.stateChangeTypes.ToggleButtonKeyDownEnter:\n case useSelect.stateChangeTypes.ToggleButtonKeyDownSpaceButton:\n case useSelect.stateChangeTypes.ItemClick:\n return {\n ...changes,\n isOpen: true,\n highlightedIndex: state.highlightedIndex,\n };\n case useSelect.stateChangeTypes.ToggleButtonBlur:\n return {\n ...changes,\n selectedItem: state.selectedItem,\n };\n }\n return changes;\n },\n }\n : {}),\n });\n\n const hasError = status === 'error';\n\n const handleClear = (): void => {\n onClear();\n reset();\n };\n\n const singleSelectValue = useMemo(\n (): ReactNode => getDisplayedValue(selectedItemValues[0]) || placeholder,\n [getDisplayedValue, selectedItemValues, placeholder],\n );\n\n return (\n <RadixPopover.Root open={isOpen}>\n <RadixPopover.Anchor asChild onMouseDown={onMouseDown} onFocus={onFocus} onBlur={onBlur}>\n <div\n ref={triggerRef}\n className={styles.root}\n data-status={hasError ? 'error' : status}\n data-disabled={disabled}\n data-empty={selectedItemValues.length === 0}\n data-test-id={dataTestId}\n {...(disabled\n ? {}\n : // eslint-disable-next-line react-hooks/refs\n getToggleButtonProps({\n 'aria-label': 'aria-label' in props ? props['aria-label'] : undefined,\n 'aria-describedby': selectionDescription ? selectionDescriptionId : undefined,\n ref: triggerRef,\n }))}\n >\n {selectionDescription ? (\n <span id={selectionDescriptionId} className={styles.srOnly}>\n {selectionDescription}\n </span>\n ) : null}\n {multiple ? (\n <div className={styles.selectedValue}>\n <CollapsibleBadges\n items={badgeItems}\n placeholder={placeholder}\n onDismiss={(value) => {\n onItemSelect(value);\n internalRef.current?.focus();\n }}\n selectedCount={selectedItemValues.length}\n />\n </div>\n ) : (\n <span className={styles.selectedValue}>{singleSelectValue}</span>\n )}\n {inputSlots}\n {clearButton ? <ClearButton onClear={handleClear}>{clearButton}</ClearButton> : null}\n <div className={styles.icons}>\n <IconCaretDown size={16} className={styles.caret} />\n <StatusIcons status={status} hasError={hasError} dataTestId={dataTestId} />\n </div>\n </div>\n </RadixPopover.Anchor>\n\n <SelectMenu\n align={alignMenu}\n side={side}\n highlightedIndex={highlightedIndex}\n getMenuProps={getMenuProps}\n getItemProps={getItemProps}\n selectedItemValues={selectedItemValues}\n hasInteractedSinceOpening={hasInteractedSinceOpening}\n viewportCollisionPadding={viewportCollisionPadding}\n onEscapeKeyDown={onEscapeKeyDown}\n >\n {menuSlots}\n </SelectMenu>\n </RadixPopover.Root>\n );\n};\nSelectBaseInput.displayName = 'Select';\n\nexport const SelectBase = forwardRef<HTMLDivElement, SelectBaseProps>(SelectBaseInput);\n"],"names":["SelectBaseInput","children","selectedItemValues","onItemSelect","onClear","placeholder","status","disabled","alignMenu","side","id","showStringValue","dataTestId","viewportCollisionPadding","onEscapeKeyDown","multiple","props","forwardedRef","internalRef","useRef","triggerRef","useCallback","node","inputSlots","menuSlots","items","clearButton","getItemByValue","useSelectData","onMouseDown","onFocus","onBlur","useFocusRing","selectionDescriptionId","selectionDescription","useSelectionDescription","badgeItems","useBadgeItems","hasInteractedSinceOpening","setHasInteractedSinceOpening","useState","getDisplayedValue","itemValue","selectedItem","getToggleButtonProps","getMenuProps","getItemProps","reset","isOpen","highlightedIndex","useSelect","item","state","actionAndChanges","changes","type","hasError","handleClear","singleSelectValue","useMemo","jsxs","RadixPopover","jsx","styles","CollapsibleBadges","value","_a","ClearButton","IconCaretDown","StatusIcons","SelectMenu","SelectBase","forwardRef"],"mappings":"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"}
1
+ {"version":3,"file":"fondue-components126.js","sources":["../src/components/DatePicker/DatePickerCalendar.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { IconArrowLeft, IconArrowRight } from '@frontify/fondue-icons';\nimport { forwardRef, useEffect, useMemo, useRef } from 'react';\nimport {\n getDefaultClassNames,\n DayPicker,\n type PreviousMonthButtonProps,\n type NextMonthButtonProps,\n type OnSelectHandler,\n type DateRange as InternalDayPickerDateRange,\n type CustomComponents,\n type Matcher,\n type DayButtonProps,\n} from 'react-day-picker';\nimport 'react-day-picker/style.css';\n\nimport { Button } from '../Button/Button';\nimport { useFondueTheme } from '../ThemeProvider/ThemeProvider';\n\nimport { transformDisabledDates } from './helpers/dateTransformer';\nimport styles from './styles/datePickerCalendar.module.scss';\nimport { type DisabledDatePickerDates } from './types';\n\ntype DatePickerCalendarSingleModeProps = {\n mode: 'single';\n required: true;\n selected: Date | undefined;\n onSelect: OnSelectHandler<Date>;\n};\ntype DatePickerCalendarRangeModeProps = {\n mode: 'range';\n required: true;\n selected: InternalDayPickerDateRange | undefined;\n onSelect: OnSelectHandler<InternalDayPickerDateRange>;\n modifiers?: Record<string, Matcher>;\n onDayMouseEnter?: (day: Date) => void;\n onDayMouseLeave?: (day: Date) => void;\n};\n\ntype DatePickerCalendarModeProps = DatePickerCalendarSingleModeProps | DatePickerCalendarRangeModeProps;\n\nexport type DatePickerBaseProps = {\n /** The days to be disabled. */\n disabledDates?: DisabledDatePickerDates | DisabledDatePickerDates[];\n /** The test id applied to the wrapper and forwarded to DayPicker. */\n 'data-test-id'?: string;\n};\n\ntype DatePickerCalendarProps = DatePickerBaseProps & DatePickerCalendarModeProps;\n\nexport const DatePickerCalendar = forwardRef<HTMLDivElement, DatePickerCalendarProps>(\n ({ 'data-test-id': dataTestId = 'fondue-date-picker-calendar', disabledDates, ...modeProps }, ref): JSX.Element => {\n const defaultClassNames = getDefaultClassNames();\n const {\n dir,\n translations: { dateLocale },\n } = useFondueTheme();\n\n const transformedDisabledDates = useMemo(() => transformDisabledDates(disabledDates), [disabledDates]);\n\n const defaultMonth = useMemo(() => {\n if (modeProps.mode === 'single') {\n return modeProps.selected;\n }\n return modeProps.selected?.from;\n }, [modeProps]);\n\n return (\n <div ref={ref} data-test-id={dataTestId} className={styles.wrapper}>\n <DayPicker\n navLayout=\"around\"\n data-test-id={dataTestId}\n locale={dateLocale}\n components={getCustomComponents()}\n showOutsideDays\n disabled={transformedDisabledDates}\n defaultMonth={defaultMonth}\n dir={dir}\n classNames={{\n root: `${defaultClassNames.root} ${styles.root}`,\n day: `${styles.day}`,\n selected: `${styles.selected}`,\n week: `${defaultClassNames.week} ${styles.week}`,\n weekday: `${styles.weekday}`,\n weekdays: `${defaultClassNames.weekdays} ${styles.weekdays}`,\n range_start: `${styles.selectedStart}`,\n range_end: `${styles.selectedEnd}`,\n range_middle: `${styles.selectedMiddle}`,\n disabled: `${styles.disabled}`,\n outside: `${styles.outside}`,\n }}\n {...modeProps}\n modifiersClassNames={{\n hoverAfter: `${styles.hoverAfter}`,\n hoverBefore: `${styles.hoverBefore}`,\n hoverSelected: `${styles.hoverSelected}`,\n }}\n />\n </div>\n );\n },\n);\nDatePickerCalendar.displayName = 'DatePickerCalendar';\n\nconst getCustomComponents = (): Partial<CustomComponents> => ({\n DayButton: ({ day, modifiers, onClick, onMouseEnter, onMouseLeave, ...props }: DayButtonProps): JSX.Element => {\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n useEffect(() => {\n if (modifiers.focused) {\n buttonRef.current?.focus();\n }\n }, [modifiers.focused]);\n\n return (\n <button\n {...props}\n ref={buttonRef}\n className={styles.dayButton}\n onClick={onClick}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n type=\"button\"\n >\n <div className={`${styles.dayContent} ${styles.button}`}>{day.date.getDate()}</div>\n </button>\n );\n },\n PreviousMonthButton: ({\n onClick,\n 'aria-label': ariaLabel,\n 'aria-disabled': ariaDisabled,\n }: PreviousMonthButtonProps): JSX.Element => {\n return (\n <div className={`${styles.toggleMonthButtonContainer} `}>\n <Button\n emphasis=\"weak\"\n size=\"small\"\n aspect=\"square\"\n aria-label={ariaLabel}\n aria-disabled={ariaDisabled}\n onPress={(event) => {\n if (event) {\n onClick?.(event);\n }\n }}\n >\n <IconArrowLeft size={16} />\n </Button>\n </div>\n );\n },\n NextMonthButton: ({\n onClick,\n 'aria-label': ariaLabel,\n 'aria-disabled': ariaDisabled,\n }: NextMonthButtonProps): JSX.Element => {\n return (\n <div className={`${styles.toggleMonthButtonContainer} ${styles.nextMonthButtonContainer}`}>\n <Button\n emphasis=\"weak\"\n size=\"small\"\n aspect=\"square\"\n aria-label={ariaLabel}\n aria-disabled={ariaDisabled}\n onPress={(event) => {\n if (event) {\n onClick?.(event);\n }\n }}\n >\n <IconArrowRight size={16} />\n </Button>\n </div>\n );\n },\n});\n"],"names":["DatePickerCalendar","forwardRef","dataTestId","disabledDates","modeProps","ref","defaultClassNames","getDefaultClassNames","dir","dateLocale","useFondueTheme","transformedDisabledDates","useMemo","transformDisabledDates","defaultMonth","_a","styles","jsx","DayPicker","getCustomComponents","day","modifiers","onClick","onMouseEnter","onMouseLeave","props","buttonRef","useRef","useEffect","ariaLabel","ariaDisabled","Button","event","IconArrowLeft","IconArrowRight"],"mappings":"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"}
@@ -1,48 +1,16 @@
1
- const c = "_root_13ciu_7", e = "_selectedValue_13ciu_63", _ = "_input_13ciu_80", o = "_slot_13ciu_106", t = "_clear_13ciu_156", n = "_clearIcon_13ciu_163", u = "_icons_13ciu_167", i = "_caret_13ciu_173", r = "_iconSuccess_13ciu_201", s = "_iconError_13ciu_207", a = "_menu_13ciu_213", l = "_portal_13ciu_236", p = "_item_13ciu_252", g = "_checkmarkIcon_13ciu_281", m = "_itemValue_13ciu_287", d = "_group_13ciu_301", I = "_groupHeading_13ciu_312", b = "_badgesContainer_13ciu_324", k = "_badgeWrapper_13ciu_336", S = "_srOnly_13ciu_345", V = "_multiSelectInput_13ciu_357", y = {
2
- root: c,
3
- selectedValue: e,
4
- input: _,
5
- slot: o,
6
- clear: t,
7
- clearIcon: n,
8
- icons: u,
9
- caret: i,
10
- iconSuccess: r,
11
- iconError: s,
12
- menu: a,
13
- portal: l,
14
- item: p,
15
- checkmarkIcon: g,
16
- itemValue: m,
17
- group: d,
18
- groupHeading: I,
19
- badgesContainer: b,
20
- badgeWrapper: k,
21
- srOnly: S,
22
- multiSelectInput: V
1
+ import { useState as o, useMemo as D } from "react";
2
+ import { transformDateRangeToPickerDateRange as c, transformPickerDateRangeToDateRange as i } from "./fondue-components149.js";
3
+ const l = (e, t) => {
4
+ const [n, r] = o(e), [s, g] = o(e);
5
+ return s !== e && (g(e), r(e)), {
6
+ selectedDateRange: D(() => c(n), [n]),
7
+ handleSelect: (R) => {
8
+ const a = i(R);
9
+ a && (t == null || t(a), r(a));
10
+ }
11
+ };
23
12
  };
24
13
  export {
25
- k as badgeWrapper,
26
- b as badgesContainer,
27
- i as caret,
28
- g as checkmarkIcon,
29
- t as clear,
30
- n as clearIcon,
31
- y as default,
32
- d as group,
33
- I as groupHeading,
34
- s as iconError,
35
- r as iconSuccess,
36
- u as icons,
37
- _ as input,
38
- p as item,
39
- m as itemValue,
40
- a as menu,
41
- V as multiSelectInput,
42
- l as portal,
43
- c as root,
44
- e as selectedValue,
45
- o as slot,
46
- S as srOnly
14
+ l as useDateRange
47
15
  };
48
16
  //# sourceMappingURL=fondue-components127.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components127.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"fondue-components127.js","sources":["../src/components/DatePicker/hooks/useDateRange.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useMemo, useState } from 'react';\nimport { type DateRange as InternalDayPickerDateRange, type OnSelectHandler } from 'react-day-picker';\n\nimport { transformDateRangeToPickerDateRange, transformPickerDateRangeToDateRange } from '../helpers/dateTransformer';\nimport { type DatePickerDateRange } from '../types';\n\nexport const useDateRange = (selected: DatePickerDateRange, onSelect?: (dateRange: DatePickerDateRange) => void) => {\n const [internalSelectedDateRange, setInternalSelectedDateRange] = useState<DatePickerDateRange>(selected);\n const [prevSelected, setPrevSelected] = useState<DatePickerDateRange | undefined>(selected);\n\n if (prevSelected !== selected) {\n setPrevSelected(selected);\n setInternalSelectedDateRange(selected);\n }\n\n const selectedDateRange = useMemo(() => {\n return transformDateRangeToPickerDateRange(internalSelectedDateRange);\n }, [internalSelectedDateRange]);\n\n const handleSelect: OnSelectHandler<InternalDayPickerDateRange> = (pickerDateRange) => {\n const dateRange = transformPickerDateRangeToDateRange(pickerDateRange);\n\n if (dateRange) {\n onSelect?.(dateRange);\n setInternalSelectedDateRange(dateRange);\n }\n };\n\n return {\n selectedDateRange,\n handleSelect,\n };\n};\n"],"names":["useDateRange","selected","onSelect","internalSelectedDateRange","setInternalSelectedDateRange","useState","prevSelected","setPrevSelected","useMemo","transformDateRangeToPickerDateRange","pickerDateRange","dateRange","transformPickerDateRangeToDateRange"],"mappings":";;AAQO,MAAMA,IAAe,CAACC,GAA+BC,MAAwD;AAChH,QAAM,CAACC,GAA2BC,CAA4B,IAAIC,EAA8BJ,CAAQ,GAClG,CAACK,GAAcC,CAAe,IAAIF,EAA0CJ,CAAQ;AAE1F,SAAIK,MAAiBL,MACjBM,EAAgBN,CAAQ,GACxBG,EAA6BH,CAAQ,IAgBlC;AAAA,IACH,mBAdsBO,EAAQ,MACvBC,EAAoCN,CAAyB,GACrE,CAACA,CAAyB,CAAC;AAAA,IAa1B,cAX8D,CAACO,MAAoB;AACnF,YAAMC,IAAYC,EAAoCF,CAAe;AAErE,MAAIC,MACAT,KAAA,QAAAA,EAAWS,IACXP,EAA6BO,CAAS;AAAA,IAE9C;AAAA,EAII;AAER;"}
@@ -1,45 +1,20 @@
1
- const i = (r) => {
2
- if (r)
3
- return {
4
- year: r.getFullYear(),
5
- // Month is 0-indexed in JavaScript, so we add 1 to get the correct month
6
- month: r.getMonth() + 1,
7
- day: r.getDate()
8
- };
9
- }, t = (r) => {
10
- if (r)
11
- return new Date(r.year, r.month - 1, r.day);
12
- }, m = (r) => {
13
- const n = i(r == null ? void 0 : r.from), o = i(r == null ? void 0 : r.to);
14
- if (!(!n || !o))
15
- return {
16
- from: n,
17
- to: o
18
- };
19
- }, u = (r) => {
20
- if (r)
21
- return {
22
- from: t(r.from),
23
- to: t(r.to)
24
- };
25
- }, c = (r) => {
26
- if (!r)
27
- return;
28
- const o = (Array.isArray(r) ? r : [r]).flatMap((f) => {
29
- if ("before" in f) {
30
- const s = t(f.before);
31
- return s ? [{ before: s }] : [];
32
- }
33
- const e = t(f.after);
34
- return e ? [{ after: e }] : [];
35
- });
36
- return o.length > 0 ? o : void 0;
37
- };
1
+ import { useMemo as o } from "react";
2
+ const f = {
3
+ hoverBefore: !1,
4
+ hoverAfter: !1,
5
+ hoverSelected: !1
6
+ }, h = (r) => ({
7
+ hoverModifiers: o(() => !(r != null && r.from) || !(r != null && r.to) || (r == null ? void 0 : r.to.getTime()) > (r == null ? void 0 : r.from.getTime()) ? f : {
8
+ hoverBefore: {
9
+ before: r == null ? void 0 : r.from
10
+ },
11
+ hoverAfter: {
12
+ after: r == null ? void 0 : r.to
13
+ },
14
+ hoverSelected: r == null ? void 0 : r.from
15
+ }, [r])
16
+ });
38
17
  export {
39
- t as transformDatePickerDateToDate,
40
- u as transformDateRangeToPickerDateRange,
41
- i as transformDateToDatePickerDate,
42
- c as transformDisabledDates,
43
- m as transformPickerDateRangeToDateRange
18
+ h as useRangeHover
44
19
  };
45
20
  //# sourceMappingURL=fondue-components128.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components128.js","sources":["../src/components/DatePicker/helpers/dateTransformer.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { type DateRange as InternalDayPickerDateRange } from 'react-day-picker';\n\nimport { type DisabledDatePickerDates, type DatePickerDate, type DatePickerDateRange } from '../types';\n\nexport const transformDateToDatePickerDate = (date?: Date): DatePickerDate | undefined => {\n if (!date) {\n return undefined;\n }\n return {\n year: date.getFullYear(),\n // Month is 0-indexed in JavaScript, so we add 1 to get the correct month\n month: date.getMonth() + 1,\n day: date.getDate(),\n };\n};\n\nexport const transformDatePickerDateToDate = (datePickerDate?: DatePickerDate): Date | undefined => {\n if (!datePickerDate) {\n return undefined;\n }\n // Month is 0-indexed in JavaScript, so we subtract 1 to get the correct month\n return new Date(datePickerDate.year, datePickerDate.month - 1, datePickerDate.day);\n};\n\nexport const transformPickerDateRangeToDateRange = (dateRange?: InternalDayPickerDateRange): DatePickerDateRange => {\n const fromDate = transformDateToDatePickerDate(dateRange?.from);\n const toDate = transformDateToDatePickerDate(dateRange?.to);\n if (!fromDate || !toDate) {\n return undefined;\n }\n\n return {\n from: fromDate,\n to: toDate,\n };\n};\n\nexport const transformDateRangeToPickerDateRange = (\n dateRange?: DatePickerDateRange,\n): InternalDayPickerDateRange | undefined => {\n if (!dateRange) {\n return undefined;\n }\n\n return {\n from: transformDatePickerDateToDate(dateRange.from),\n to: transformDatePickerDateToDate(dateRange.to),\n };\n};\n\ntype DisabledDate = { before: Date } | { after: Date };\n\nexport const transformDisabledDates = (\n disabledDates?: DisabledDatePickerDates | DisabledDatePickerDates[],\n): DisabledDate[] | undefined => {\n if (!disabledDates) {\n return undefined;\n }\n\n const entries = Array.isArray(disabledDates) ? disabledDates : [disabledDates];\n\n const transformedDisabledDates = entries.flatMap((entry): DisabledDate[] => {\n if ('before' in entry) {\n const date = transformDatePickerDateToDate(entry.before);\n return date ? [{ before: date }] : [];\n }\n const date = transformDatePickerDateToDate(entry.after);\n return date ? [{ after: date }] : [];\n });\n\n return transformedDisabledDates.length > 0 ? transformedDisabledDates : undefined;\n};\n"],"names":["transformDateToDatePickerDate","date","transformDatePickerDateToDate","datePickerDate","transformPickerDateRangeToDateRange","dateRange","fromDate","toDate","transformDateRangeToPickerDateRange","transformDisabledDates","disabledDates","transformedDisabledDates","entry"],"mappings":"AAMO,MAAMA,IAAgC,CAACC,MAA4C;AACtF,MAAKA;AAGL,WAAO;AAAA,MACH,MAAMA,EAAK,YAAA;AAAA;AAAA,MAEX,OAAOA,EAAK,SAAA,IAAa;AAAA,MACzB,KAAKA,EAAK,QAAA;AAAA,IAAQ;AAE1B,GAEaC,IAAgC,CAACC,MAAsD;AAChG,MAAKA;AAIL,WAAO,IAAI,KAAKA,EAAe,MAAMA,EAAe,QAAQ,GAAGA,EAAe,GAAG;AACrF,GAEaC,IAAsC,CAACC,MAAgE;AAChH,QAAMC,IAAWN,EAA8BK,KAAA,gBAAAA,EAAW,IAAI,GACxDE,IAASP,EAA8BK,KAAA,gBAAAA,EAAW,EAAE;AAC1D,MAAI,GAACC,KAAY,CAACC;AAIlB,WAAO;AAAA,MACH,MAAMD;AAAA,MACN,IAAIC;AAAA,IAAA;AAEZ,GAEaC,IAAsC,CAC/CH,MACyC;AACzC,MAAKA;AAIL,WAAO;AAAA,MACH,MAAMH,EAA8BG,EAAU,IAAI;AAAA,MAClD,IAAIH,EAA8BG,EAAU,EAAE;AAAA,IAAA;AAEtD,GAIaI,IAAyB,CAClCC,MAC6B;AAC7B,MAAI,CAACA;AACD;AAKJ,QAAMC,KAFU,MAAM,QAAQD,CAAa,IAAIA,IAAgB,CAACA,CAAa,GAEpC,QAAQ,CAACE,MAA0B;AACxE,QAAI,YAAYA,GAAO;AACnB,YAAMX,IAAOC,EAA8BU,EAAM,MAAM;AACvD,aAAOX,IAAO,CAAC,EAAE,QAAQA,EAAAA,CAAM,IAAI,CAAA;AAAA,IACvC;AACA,UAAMA,IAAOC,EAA8BU,EAAM,KAAK;AACtD,WAAOX,IAAO,CAAC,EAAE,OAAOA,EAAA,CAAM,IAAI,CAAA;AAAA,EACtC,CAAC;AAED,SAAOU,EAAyB,SAAS,IAAIA,IAA2B;AAC5E;"}
1
+ {"version":3,"file":"fondue-components128.js","sources":["../src/components/DatePicker/hooks/useRangeHover.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useMemo } from 'react';\nimport { type DateRange as InternalDayPickerDateRange } from 'react-day-picker';\n\ntype RangeHoverModifiers = {\n hoverBefore:\n | {\n before: Date;\n }\n | false;\n hoverAfter:\n | {\n after: Date;\n }\n | false;\n hoverSelected: Date | false;\n};\n\nconst DISABLED_MODIFIERS: RangeHoverModifiers = {\n hoverBefore: false,\n hoverAfter: false,\n hoverSelected: false,\n};\n\nexport const useRangeHover = (selectedDateRange?: InternalDayPickerDateRange) => {\n const hoverModifiers = useMemo(() => {\n if (\n !selectedDateRange?.from ||\n !selectedDateRange?.to ||\n selectedDateRange?.to.getTime() > selectedDateRange?.from.getTime()\n ) {\n return DISABLED_MODIFIERS;\n }\n return {\n hoverBefore: {\n before: selectedDateRange?.from,\n },\n hoverAfter: {\n after: selectedDateRange?.to,\n },\n hoverSelected: selectedDateRange?.from,\n };\n }, [selectedDateRange]);\n\n return {\n hoverModifiers,\n };\n};\n"],"names":["DISABLED_MODIFIERS","useRangeHover","selectedDateRange","useMemo"],"mappings":";AAmBA,MAAMA,IAA0C;AAAA,EAC5C,aAAa;AAAA,EACb,YAAY;AAAA,EACZ,eAAe;AACnB,GAEaC,IAAgB,CAACC,OAoBnB;AAAA,EACH,gBApBmBC,EAAQ,MAEvB,EAACD,KAAA,QAAAA,EAAmB,SACpB,EAACA,KAAA,QAAAA,EAAmB,QACpBA,KAAA,gBAAAA,EAAmB,GAAG,cAAYA,KAAA,gBAAAA,EAAmB,KAAK,aAEnDF,IAEJ;AAAA,IACH,aAAa;AAAA,MACT,QAAQE,KAAA,gBAAAA,EAAmB;AAAA,IAAA;AAAA,IAE/B,YAAY;AAAA,MACR,OAAOA,KAAA,gBAAAA,EAAmB;AAAA,IAAA;AAAA,IAE9B,eAAeA,KAAA,gBAAAA,EAAmB;AAAA,EAAA,GAEvC,CAACA,CAAiB,CAAC;AAGlB;"}
@@ -0,0 +1,16 @@
1
+ import { useState as o, useMemo as i } from "react";
2
+ import { transformDatePickerDateToDate as m, transformDateToDatePickerDate as d } from "./fondue-components149.js";
3
+ const P = (e, t) => {
4
+ const [a, r] = o(e), [D, s] = o(e);
5
+ return D !== e && (s(e), r(e)), {
6
+ selectedDate: i(() => m(a), [a]),
7
+ handleSelect: (c) => {
8
+ const n = d(c);
9
+ r(n), t == null || t(n);
10
+ }
11
+ };
12
+ };
13
+ export {
14
+ P as useSingleDate
15
+ };
16
+ //# sourceMappingURL=fondue-components129.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fondue-components129.js","sources":["../src/components/DatePicker/hooks/useSingleDate.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { useMemo, useState } from 'react';\nimport { type OnSelectHandler } from 'react-day-picker';\n\nimport { transformDatePickerDateToDate, transformDateToDatePickerDate } from '../helpers/dateTransformer';\nimport { type DatePickerDate } from '../types';\n\nexport const useSingleDate = (selected?: DatePickerDate, onSelect?: (date?: DatePickerDate) => void) => {\n const [internalSelectedDate, setInternalSelectedDate] = useState<DatePickerDate | undefined>(selected);\n const [prevSelected, setPrevSelected] = useState<DatePickerDate | undefined>(selected);\n\n if (prevSelected !== selected) {\n setPrevSelected(selected);\n setInternalSelectedDate(selected);\n }\n\n const selectedDate = useMemo(() => {\n return transformDatePickerDateToDate(internalSelectedDate);\n }, [internalSelectedDate]);\n\n const handleSelect: OnSelectHandler<Date> = (date) => {\n const datePickerDate = transformDateToDatePickerDate(date);\n\n setInternalSelectedDate(datePickerDate);\n onSelect?.(datePickerDate);\n };\n\n return {\n selectedDate,\n handleSelect,\n };\n};\n"],"names":["useSingleDate","selected","onSelect","internalSelectedDate","setInternalSelectedDate","useState","prevSelected","setPrevSelected","useMemo","transformDatePickerDateToDate","date","datePickerDate","transformDateToDatePickerDate"],"mappings":";;AAQO,MAAMA,IAAgB,CAACC,GAA2BC,MAA+C;AACpG,QAAM,CAACC,GAAsBC,CAAuB,IAAIC,EAAqCJ,CAAQ,GAC/F,CAACK,GAAcC,CAAe,IAAIF,EAAqCJ,CAAQ;AAErF,SAAIK,MAAiBL,MACjBM,EAAgBN,CAAQ,GACxBG,EAAwBH,CAAQ,IAc7B;AAAA,IACH,cAZiBO,EAAQ,MAClBC,EAA8BN,CAAoB,GAC1D,CAACA,CAAoB,CAAC;AAAA,IAWrB,cATwC,CAACO,MAAS;AAClD,YAAMC,IAAiBC,EAA8BF,CAAI;AAEzD,MAAAN,EAAwBO,CAAc,GACtCT,KAAA,QAAAA,EAAWS;AAAA,IACf;AAAA,EAII;AAER;"}
@@ -1,66 +1,11 @@
1
- import { jsx as f } from "react/jsx-runtime";
2
- import { Slot as v } from "@radix-ui/react-slot";
3
- import { forwardRef as N, useState as S, useRef as c } from "react";
4
- import g from "./fondue-components63.js";
5
- const A = N(
6
- ({
7
- onChange: o,
8
- asChild: m,
9
- hugWidth: x = !0,
10
- "aria-label": b,
11
- children: p,
12
- "data-test-id": w = "fondue-editable-text"
13
- }, E) => {
14
- const R = m ? v : "span", [n, u] = S(!1), s = c(!1), l = c(null), i = c(""), T = () => {
15
- s.current = !0;
16
- }, h = (t) => {
17
- var d;
18
- i.current = t.currentTarget.textContent ?? "", u(!0), (d = l.current) == null || d.setAttribute("data-show-focus-ring", String(!s.current));
19
- const a = t.currentTarget, e = document.createRange();
20
- e.selectNodeContents(a), e.collapse(!1);
21
- const r = window.getSelection();
22
- r == null || r.removeAllRanges(), r == null || r.addRange(e);
23
- }, y = (t) => {
24
- t.key === "Enter" && (t.preventDefault(), t.currentTarget.blur());
25
- }, D = (t) => {
26
- var e;
27
- u(!1), (e = l.current) == null || e.setAttribute("data-show-focus-ring", "false"), s.current = !1, t.currentTarget.scrollLeft = 0;
28
- const a = t.currentTarget.textContent ?? "";
29
- a !== i.current && (o == null || o(a));
30
- };
31
- return /* @__PURE__ */ f(
32
- "div",
33
- {
34
- ref: l,
35
- className: g.root,
36
- "data-editing": n,
37
- "data-hug-width": x,
38
- "data-show-focus-ring": "false",
39
- "data-test-id": w,
40
- children: /* @__PURE__ */ f(
41
- R,
42
- {
43
- ref: E,
44
- className: g.text,
45
- contentEditable: n ? "plaintext-only" : void 0,
46
- suppressContentEditableWarning: !0,
47
- tabIndex: 0,
48
- role: n ? "textbox" : void 0,
49
- "aria-label": n ? b : void 0,
50
- "aria-live": "off",
51
- onMouseDown: T,
52
- onFocus: h,
53
- onKeyDown: y,
54
- onBlur: D,
55
- children: p
56
- }
57
- )
58
- }
59
- );
60
- }
61
- );
62
- A.displayName = "EditableText";
1
+ import { ForwardedRefDatePickerInput as r } from "./fondue-components65.js";
2
+ import { ForwardedRefRangeDatePicker as a } from "./fondue-components66.js";
3
+ import { ForwardedRefSingleDatePicker as t } from "./fondue-components67.js";
4
+ const e = t;
5
+ e.Range = a;
6
+ e.Input = r;
7
+ e.displayName = "DatePicker";
63
8
  export {
64
- A as EditableText
9
+ e as DatePicker
65
10
  };
66
11
  //# sourceMappingURL=fondue-components13.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fondue-components13.js","sources":["../src/components/EditableText/EditableText.tsx"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { Slot } from '@radix-ui/react-slot';\nimport { type ReactNode, forwardRef, useRef, useState } from 'react';\n\nimport styles from './styles/editable-text.module.scss';\n\nexport type EditableTextProps = {\n /**\n * Callback fired with the plain text value when editing is confirmed (on blur or Enter).\n * Only fires if the value has actually changed.\n */\n onChange?: (value: string) => void;\n /**\n * When true, renders the child element instead of a default span,\n * merging all editable props onto it.\n */\n asChild?: boolean;\n /**\n * When true, the EditableText only takes the width of the content.\n * @default true\n */\n hugWidth?: boolean;\n /**\n * Accessible label for the editable text field.\n */\n 'aria-label'?: string;\n children?: ReactNode;\n 'data-test-id'?: string;\n};\n\nexport const EditableText = forwardRef<HTMLElement, EditableTextProps>(\n (\n {\n onChange,\n asChild,\n hugWidth = true,\n 'aria-label': ariaLabel,\n children,\n 'data-test-id': dataTestId = 'fondue-editable-text',\n },\n forwardedRef,\n ) => {\n const TextElement = asChild ? Slot : 'span';\n const [isEditing, setIsEditing] = useState(false);\n const wasClickedRef = useRef(false);\n const rootRef = useRef<HTMLDivElement>(null);\n const valueOnFocusRef = useRef('');\n\n const handleMouseDown = () => {\n wasClickedRef.current = true;\n };\n\n const handleFocus = (event: React.FocusEvent<HTMLElement>) => {\n valueOnFocusRef.current = event.currentTarget.textContent ?? '';\n setIsEditing(true);\n rootRef.current?.setAttribute('data-show-focus-ring', String(!wasClickedRef.current));\n const element = event.currentTarget;\n const range = document.createRange();\n range.selectNodeContents(element);\n range.collapse(false);\n const selection = window.getSelection();\n selection?.removeAllRanges();\n selection?.addRange(range);\n };\n\n const handleKeyDown = (event: React.KeyboardEvent<HTMLElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n event.currentTarget.blur();\n }\n };\n\n const handleBlur = (event: React.FocusEvent<HTMLElement>) => {\n setIsEditing(false);\n rootRef.current?.setAttribute('data-show-focus-ring', 'false');\n wasClickedRef.current = false;\n event.currentTarget.scrollLeft = 0;\n const currentValue = event.currentTarget.textContent ?? '';\n if (currentValue !== valueOnFocusRef.current) {\n onChange?.(currentValue);\n }\n };\n\n return (\n <div\n ref={rootRef}\n className={styles.root}\n data-editing={isEditing}\n data-hug-width={hugWidth}\n data-show-focus-ring=\"false\"\n data-test-id={dataTestId}\n >\n <TextElement\n ref={forwardedRef}\n className={styles.text}\n contentEditable={isEditing ? 'plaintext-only' : undefined}\n suppressContentEditableWarning\n tabIndex={0}\n role={isEditing ? 'textbox' : undefined}\n aria-label={isEditing ? ariaLabel : undefined}\n aria-live=\"off\"\n onMouseDown={handleMouseDown}\n onFocus={handleFocus}\n onKeyDown={handleKeyDown}\n onBlur={handleBlur}\n >\n {children}\n </TextElement>\n </div>\n );\n },\n);\n\nEditableText.displayName = 'EditableText';\n"],"names":["EditableText","forwardRef","onChange","asChild","hugWidth","ariaLabel","children","dataTestId","forwardedRef","TextElement","Slot","isEditing","setIsEditing","useState","wasClickedRef","useRef","rootRef","valueOnFocusRef","handleMouseDown","handleFocus","event","_a","element","range","selection","handleKeyDown","handleBlur","currentValue","jsx","styles"],"mappings":";;;;AA+BO,MAAMA,IAAeC;AAAA,EACxB,CACI;AAAA,IACI,UAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,cAAcC;AAAA,IACd,UAAAC;AAAA,IACA,gBAAgBC,IAAa;AAAA,EAAA,GAEjCC,MACC;AACD,UAAMC,IAAcN,IAAUO,IAAO,QAC/B,CAACC,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1CC,IAAgBC,EAAO,EAAK,GAC5BC,IAAUD,EAAuB,IAAI,GACrCE,IAAkBF,EAAO,EAAE,GAE3BG,IAAkB,MAAM;AAC1B,MAAAJ,EAAc,UAAU;AAAA,IAC5B,GAEMK,IAAc,CAACC,MAAyC;;AAC1D,MAAAH,EAAgB,UAAUG,EAAM,cAAc,eAAe,IAC7DR,EAAa,EAAI,IACjBS,IAAAL,EAAQ,YAAR,QAAAK,EAAiB,aAAa,wBAAwB,OAAO,CAACP,EAAc,OAAO;AACnF,YAAMQ,IAAUF,EAAM,eAChBG,IAAQ,SAAS,YAAA;AACvB,MAAAA,EAAM,mBAAmBD,CAAO,GAChCC,EAAM,SAAS,EAAK;AACpB,YAAMC,IAAY,OAAO,aAAA;AACzB,MAAAA,KAAA,QAAAA,EAAW,mBACXA,KAAA,QAAAA,EAAW,SAASD;AAAA,IACxB,GAEME,IAAgB,CAACL,MAA4C;AAC/D,MAAIA,EAAM,QAAQ,YACdA,EAAM,eAAA,GACNA,EAAM,cAAc,KAAA;AAAA,IAE5B,GAEMM,IAAa,CAACN,MAAyC;;AACzD,MAAAR,EAAa,EAAK,IAClBS,IAAAL,EAAQ,YAAR,QAAAK,EAAiB,aAAa,wBAAwB,UACtDP,EAAc,UAAU,IACxBM,EAAM,cAAc,aAAa;AACjC,YAAMO,IAAeP,EAAM,cAAc,eAAe;AACxD,MAAIO,MAAiBV,EAAgB,YACjCf,KAAA,QAAAA,EAAWyB;AAAA,IAEnB;AAEA,WACI,gBAAAC;AAAA,MAAC;AAAA,MAAA;AAAA,QACG,KAAKZ;AAAA,QACL,WAAWa,EAAO;AAAA,QAClB,gBAAclB;AAAA,QACd,kBAAgBP;AAAA,QAChB,wBAAqB;AAAA,QACrB,gBAAcG;AAAA,QAEd,UAAA,gBAAAqB;AAAA,UAACnB;AAAA,UAAA;AAAA,YACG,KAAKD;AAAA,YACL,WAAWqB,EAAO;AAAA,YAClB,iBAAiBlB,IAAY,mBAAmB;AAAA,YAChD,gCAA8B;AAAA,YAC9B,UAAU;AAAA,YACV,MAAMA,IAAY,YAAY;AAAA,YAC9B,cAAYA,IAAYN,IAAY;AAAA,YACpC,aAAU;AAAA,YACV,aAAaa;AAAA,YACb,SAASC;AAAA,YACT,WAAWM;AAAA,YACX,QAAQC;AAAA,YAEP,UAAApB;AAAA,UAAA;AAAA,QAAA;AAAA,MACL;AAAA,IAAA;AAAA,EAGZ;AACJ;AAEAN,EAAa,cAAc;"}
1
+ {"version":3,"file":"fondue-components13.js","sources":["../src/components/DatePicker/DatePicker.ts"],"sourcesContent":["/* (c) Copyright Frontify Ltd., all rights reserved. */\n\nimport { ForwardedRefDatePickerInput } from './DatePickerInput';\nimport { ForwardedRefRangeDatePicker } from './RangeDatePicker';\nimport { ForwardedRefSingleDatePicker } from './SingleDatePicker';\n\n// @ts-expect-error We support both single component (without slots) and compound components (with slots)\nexport const DatePicker: typeof ForwardedRefSingleDatePicker & {\n Range: typeof ForwardedRefRangeDatePicker;\n Input: typeof ForwardedRefDatePickerInput;\n} = ForwardedRefSingleDatePicker;\nDatePicker.Range = ForwardedRefRangeDatePicker;\nDatePicker.Input = ForwardedRefDatePickerInput;\nDatePicker.displayName = 'DatePicker';\nexport type { DatePickerDate, DatePickerDateRange } from './types';\n"],"names":["DatePicker","ForwardedRefSingleDatePicker","ForwardedRefRangeDatePicker","ForwardedRefDatePickerInput"],"mappings":";;;AAOO,MAAMA,IAGTC;AACJD,EAAW,QAAQE;AACnBF,EAAW,QAAQG;AACnBH,EAAW,cAAc;"}