@prijsvrijtechsupport/ui 0.0.45 → 0.0.47
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.
- package/dist/components/blogWidget/styles.css +1 -0
- package/dist/components/calendar/styles.css +11 -0
- package/dist/components/toggle/styles.css +2 -2
- package/dist/dist/index.css +24 -2
- package/dist/dist/index.css.map +1 -1
- package/dist/index.cjs +231 -227
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -2
- package/dist/index.js +232 -227
- package/dist/index.js.map +1 -1
- package/dist/styles/utilities.css +2 -1
- package/dist/styles/variables.css +10 -0
- package/dist/utils/storybookIcons.d.ts +1 -1
- package/package.json +10 -10
- package/dist/components/hr/hr.test.d.ts +0 -1
- package/dist/components/hr/index.d.ts +0 -8
- /package/dist/components/{filterButtons → filterButton}/filterButton.test.d.ts +0 -0
- /package/dist/components/{filterButtons → filterButton}/index.d.ts +0 -0
- /package/dist/components/{filterButtons → filterButton}/styles.css +0 -0
package/dist/index.cjs
CHANGED
|
@@ -53,114 +53,118 @@ var variables_default = {};
|
|
|
53
53
|
|
|
54
54
|
//#endregion
|
|
55
55
|
//#region src/components/topMenu/styles.css
|
|
56
|
-
var styles_default$
|
|
56
|
+
var styles_default$28 = {};
|
|
57
57
|
|
|
58
58
|
//#endregion
|
|
59
59
|
//#region src/components/button/styles.css
|
|
60
|
-
var styles_default$
|
|
60
|
+
var styles_default$27 = {};
|
|
61
61
|
|
|
62
62
|
//#endregion
|
|
63
63
|
//#region src/components/priceCheck/styles.css
|
|
64
|
-
var styles_default$
|
|
64
|
+
var styles_default$26 = {};
|
|
65
65
|
|
|
66
66
|
//#endregion
|
|
67
67
|
//#region src/components/toggle/styles.css
|
|
68
|
-
var styles_default$
|
|
68
|
+
var styles_default$25 = {};
|
|
69
69
|
|
|
70
70
|
//#endregion
|
|
71
71
|
//#region src/components/topHeaderMenu/styles.css
|
|
72
|
+
var styles_default$24 = {};
|
|
73
|
+
|
|
74
|
+
//#endregion
|
|
75
|
+
//#region src/components/filterButton/styles.css
|
|
72
76
|
var styles_default$23 = {};
|
|
73
77
|
|
|
74
78
|
//#endregion
|
|
75
|
-
//#region src/components/
|
|
79
|
+
//#region src/components/searchBox/styles.css
|
|
76
80
|
var styles_default$22 = {};
|
|
77
81
|
|
|
78
82
|
//#endregion
|
|
79
|
-
//#region src/components/
|
|
83
|
+
//#region src/components/dropdown/styles.css
|
|
80
84
|
var styles_default$21 = {};
|
|
81
85
|
|
|
82
86
|
//#endregion
|
|
83
|
-
//#region src/components/
|
|
87
|
+
//#region src/components/counterIcon/styles.css
|
|
84
88
|
var styles_default$20 = {};
|
|
85
89
|
|
|
86
90
|
//#endregion
|
|
87
|
-
//#region src/components/
|
|
91
|
+
//#region src/components/usp/styles.css
|
|
88
92
|
var styles_default$19 = {};
|
|
89
93
|
|
|
90
94
|
//#endregion
|
|
91
|
-
//#region src/components/
|
|
95
|
+
//#region src/components/middleNavigation/styles.css
|
|
92
96
|
var styles_default$18 = {};
|
|
93
97
|
|
|
94
98
|
//#endregion
|
|
95
|
-
//#region src/components/
|
|
99
|
+
//#region src/components/menu/styles.css
|
|
96
100
|
var styles_default$17 = {};
|
|
97
101
|
|
|
98
102
|
//#endregion
|
|
99
|
-
//#region src/components/
|
|
103
|
+
//#region src/components/footer/styles.css
|
|
100
104
|
var styles_default$16 = {};
|
|
101
105
|
|
|
102
106
|
//#endregion
|
|
103
|
-
//#region src/components/
|
|
107
|
+
//#region src/components/blogWidget/styles.css
|
|
104
108
|
var styles_default$15 = {};
|
|
105
109
|
|
|
106
110
|
//#endregion
|
|
107
|
-
//#region src/components/
|
|
111
|
+
//#region src/components/searchBlock/styles.css
|
|
108
112
|
var styles_default$14 = {};
|
|
109
113
|
|
|
110
114
|
//#endregion
|
|
111
|
-
//#region src/components/
|
|
115
|
+
//#region src/components/categoryFilter/styles.css
|
|
112
116
|
var styles_default$13 = {};
|
|
113
117
|
|
|
114
118
|
//#endregion
|
|
115
|
-
//#region src/components/
|
|
119
|
+
//#region src/components/collection/styles.css
|
|
116
120
|
var styles_default$12 = {};
|
|
117
121
|
|
|
118
122
|
//#endregion
|
|
119
|
-
//#region src/components/
|
|
123
|
+
//#region src/components/review/styles.css
|
|
120
124
|
var styles_default$11 = {};
|
|
121
125
|
|
|
122
126
|
//#endregion
|
|
123
|
-
//#region src/components/
|
|
127
|
+
//#region src/components/hotelAccomodationResults/styles.css
|
|
124
128
|
var styles_default$10 = {};
|
|
125
129
|
|
|
126
130
|
//#endregion
|
|
127
|
-
//#region src/components/
|
|
131
|
+
//#region src/components/coupon/styles.css
|
|
128
132
|
var styles_default$9 = {};
|
|
129
133
|
|
|
130
134
|
//#endregion
|
|
131
|
-
//#region src/components/
|
|
135
|
+
//#region src/components/giftCard/styles.css
|
|
132
136
|
var styles_default$8 = {};
|
|
133
137
|
|
|
134
138
|
//#endregion
|
|
135
|
-
//#region src/components/
|
|
139
|
+
//#region src/components/pvPopup/styles.css
|
|
136
140
|
var styles_default$7 = {};
|
|
137
141
|
|
|
138
142
|
//#endregion
|
|
139
|
-
//#region src/components/
|
|
143
|
+
//#region src/components/photoCardsRotated/styles.css
|
|
140
144
|
var styles_default$6 = {};
|
|
141
145
|
|
|
142
146
|
//#endregion
|
|
143
|
-
//#region src/components/
|
|
147
|
+
//#region src/components/spotlights/styles.css
|
|
144
148
|
var styles_default$5 = {};
|
|
145
149
|
|
|
146
150
|
//#endregion
|
|
147
|
-
//#region src/components/
|
|
151
|
+
//#region src/components/viewedAccomodations/styles.css
|
|
148
152
|
var styles_default$4 = {};
|
|
149
153
|
|
|
150
154
|
//#endregion
|
|
151
|
-
//#region src/components/
|
|
155
|
+
//#region src/components/quantityButtons/styles.css
|
|
152
156
|
var styles_default$3 = {};
|
|
153
157
|
|
|
154
158
|
//#endregion
|
|
155
|
-
//#region src/components/
|
|
159
|
+
//#region src/components/matrixTable/styles.css
|
|
156
160
|
var styles_default$2 = {};
|
|
157
161
|
|
|
158
162
|
//#endregion
|
|
159
|
-
//#region src/components/
|
|
163
|
+
//#region src/components/pageNavigation/styles.css
|
|
160
164
|
var styles_default$1 = {};
|
|
161
165
|
|
|
162
166
|
//#endregion
|
|
163
|
-
//#region src/components/
|
|
167
|
+
//#region src/components/calendar/styles.css
|
|
164
168
|
var styles_default = {};
|
|
165
169
|
|
|
166
170
|
//#endregion
|
|
@@ -339,7 +343,7 @@ const CounterIcon = ({ className, icon, id, count, allowZero = false, onClick, i
|
|
|
339
343
|
//#region src/components/divider/index.tsx
|
|
340
344
|
const Divider = ({ className,...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
341
345
|
"data-component": "divider",
|
|
342
|
-
className: (0, clsx.default)("block h-px w-full bg-
|
|
346
|
+
className: (0, clsx.default)("block h-px w-full bg-[#e0e0e0]", className),
|
|
343
347
|
...props
|
|
344
348
|
});
|
|
345
349
|
|
|
@@ -1922,7 +1926,7 @@ const Dropdown = ({ className, loading, dropdownItems, selectedItem, onClick, dr
|
|
|
1922
1926
|
onClick: toggleDropdown,
|
|
1923
1927
|
onKeyDown: handleKeyDown,
|
|
1924
1928
|
tabIndex: 0,
|
|
1925
|
-
className: "dropdown-button bg-white px-3 py-2 h-12 border rounded-md w-full flex items-center flex-row justify-between",
|
|
1929
|
+
className: "dropdown-button bg-white cursor-pointer px-3 py-2 h-12 border rounded-md w-full flex items-center flex-row justify-between",
|
|
1926
1930
|
"aria-haspopup": "true",
|
|
1927
1931
|
"aria-expanded": isOpen,
|
|
1928
1932
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
@@ -1950,7 +1954,7 @@ const Dropdown = ({ className, loading, dropdownItems, selectedItem, onClick, dr
|
|
|
1950
1954
|
};
|
|
1951
1955
|
|
|
1952
1956
|
//#endregion
|
|
1953
|
-
//#region src/components/
|
|
1957
|
+
//#region src/components/filterButton/index.tsx
|
|
1954
1958
|
const FilterButton = ({ className, icon, leftContent, text, disabled, onClick }) => {
|
|
1955
1959
|
const formattedIcon = icon ? formatIcon(icon, { className: "min-w-4 min-h-4" }) : null;
|
|
1956
1960
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
@@ -4844,14 +4848,17 @@ const AccordionItem = ({ className, item, isOpen, onToggle,...props }) => {
|
|
|
4844
4848
|
const icon = resolvedIsOpen ? item.iconOpen ?? iconOpenFallback : item.iconClosed ?? iconClosedFallback;
|
|
4845
4849
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
4846
4850
|
"data-component": "pv-accordion",
|
|
4847
|
-
className: (0, clsx.default)(className, "divide-y divide-
|
|
4851
|
+
className: (0, clsx.default)(className, "divide-y divide-[#e0e0e0]"),
|
|
4848
4852
|
...props,
|
|
4849
4853
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("button", {
|
|
4850
4854
|
type: "button",
|
|
4851
4855
|
className: "flex justify-between w-full py-4 items-center",
|
|
4852
4856
|
"aria-expanded": resolvedIsOpen,
|
|
4853
4857
|
onClick: () => onToggle ? onToggle() : setUncontrolledIsOpen((v) => !v),
|
|
4854
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
4858
|
+
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
4859
|
+
className: "text-start",
|
|
4860
|
+
children: item.title
|
|
4861
|
+
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
4855
4862
|
className: "w-10 h-10 items-center flex",
|
|
4856
4863
|
children: icon
|
|
4857
4864
|
})]
|
|
@@ -5131,7 +5138,7 @@ const QuantityButtons = ({ className, value, setValue, minValue = 0, maxValue =
|
|
|
5131
5138
|
ariaLabel: "Decrease value",
|
|
5132
5139
|
variant: "icon",
|
|
5133
5140
|
disabled: isMin,
|
|
5134
|
-
className: "group rounded-full quantity-buttons-border-color border-2 p-1 w-8 h-8 items-center justify-center focus-visible:ring-2 focus-visible:ring-secondary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
5141
|
+
className: "group cursor-pointer rounded-full quantity-buttons-border-color border-2 p-1 w-8 h-8 items-center justify-center focus-visible:ring-2 focus-visible:ring-secondary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
5135
5142
|
onClick: () => setValue(Math.max(value - 1, minValue)),
|
|
5136
5143
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconMinus, { className: "quantity-buttons-color" })
|
|
5137
5144
|
}),
|
|
@@ -5143,7 +5150,7 @@ const QuantityButtons = ({ className, value, setValue, minValue = 0, maxValue =
|
|
|
5143
5150
|
ariaLabel: "Increase value",
|
|
5144
5151
|
variant: "icon",
|
|
5145
5152
|
disabled: isMax,
|
|
5146
|
-
className: "group rounded-full quantity-buttons-border-color border-2 p-1 w-8 h-8 items-center justify-center focus-visible:ring-2 focus-visible:ring-secondary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
5153
|
+
className: "group cursor-pointer rounded-full quantity-buttons-border-color border-2 p-1 w-8 h-8 items-center justify-center focus-visible:ring-2 focus-visible:ring-secondary focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",
|
|
5147
5154
|
onClick: () => setValue(Math.min(value + 1, maxValue)),
|
|
5148
5155
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconPlus, { className: "quantity-buttons-color" })
|
|
5149
5156
|
})
|
|
@@ -5258,22 +5265,22 @@ function Slider({ slides, options, plugins, lazyLoad = false, showArrows = true,
|
|
|
5258
5265
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
5259
5266
|
type: "button",
|
|
5260
5267
|
"aria-label": "Previous slide",
|
|
5261
|
-
className: cn("pointer-events-auto cursor-pointer ml-2 inline-flex size-9 items-center justify-center rounded-full bg-
|
|
5268
|
+
className: cn("pointer-events-auto cursor-pointer ml-2 inline-flex size-9 items-center justify-center rounded-full bg-black/40 text-white shadow", !canScrollPrev && "opacity-50"),
|
|
5262
5269
|
onClick: scrollPrev,
|
|
5263
5270
|
disabled: !canScrollPrev,
|
|
5264
5271
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
5265
5272
|
"aria-hidden": "true",
|
|
5266
|
-
children: "
|
|
5273
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrowLeft, { className: "size-4 text-white" })
|
|
5267
5274
|
})
|
|
5268
5275
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
5269
5276
|
type: "button",
|
|
5270
5277
|
"aria-label": "Next slide",
|
|
5271
|
-
className: cn("pointer-events-auto cursor-pointer mr-2 inline-flex size-9 items-center justify-center rounded-full bg-
|
|
5278
|
+
className: cn("pointer-events-auto cursor-pointer mr-2 inline-flex size-9 items-center justify-center rounded-full bg-black/40 text-white shadow", !canScrollNext && "opacity-50"),
|
|
5272
5279
|
onClick: scrollNext,
|
|
5273
5280
|
disabled: !canScrollNext,
|
|
5274
5281
|
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
5275
5282
|
"aria-hidden": "true",
|
|
5276
|
-
children: "
|
|
5283
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrowRight, { className: "size-4 text-white" })
|
|
5277
5284
|
})
|
|
5278
5285
|
})]
|
|
5279
5286
|
}),
|
|
@@ -7844,14 +7851,6 @@ const HamburgerMenuButton = (0, react.forwardRef)(({ menuState, setMenuState },
|
|
|
7844
7851
|
});
|
|
7845
7852
|
HamburgerMenuButton.displayName = "HamburgerMenuButton";
|
|
7846
7853
|
|
|
7847
|
-
//#endregion
|
|
7848
|
-
//#region src/components/hr/index.tsx
|
|
7849
|
-
const HR = ({ className }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("hr", {
|
|
7850
|
-
"data-component": "hr",
|
|
7851
|
-
className: `h-px w-full border-none bg-gray-200 ${className}`
|
|
7852
|
-
});
|
|
7853
|
-
HR.displayName = "HR";
|
|
7854
|
-
|
|
7855
7854
|
//#endregion
|
|
7856
7855
|
//#region src/components/island/index.tsx
|
|
7857
7856
|
const Island = ({ children, className, noShadow = false, noPadding = false,...props }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
@@ -8934,77 +8933,77 @@ const iconOptions = [
|
|
|
8934
8933
|
"IconWinterSport",
|
|
8935
8934
|
"IconWinterSun"
|
|
8936
8935
|
];
|
|
8937
|
-
const getIcon = (iconName) => {
|
|
8936
|
+
const getIcon = (iconName, color) => {
|
|
8938
8937
|
const iconMap$1 = {
|
|
8939
|
-
IconAlert: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconAlert, { className: "w-full h-full" }),
|
|
8940
|
-
IconArrival: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrival, { className: "w-full h-full" }),
|
|
8941
|
-
IconArrowDown: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrowDown, { className: "w-full h-full" }),
|
|
8942
|
-
IconArrowLeft: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrowLeft, { className: "w-full h-full" }),
|
|
8943
|
-
IconArrowRight: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrowRight, { className: "w-full h-full" }),
|
|
8944
|
-
IconArrowUp: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrowUp, { className: "w-full h-full" }),
|
|
8945
|
-
IconBeach: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconBeach, { className: "w-full h-full" }),
|
|
8946
|
-
IconBed: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconBed, { className: "w-full h-full" }),
|
|
8947
|
-
IconBlog: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconBlog, { className: "w-full h-full" }),
|
|
8948
|
-
IconBus: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconBus, { className: "w-full h-full" }),
|
|
8949
|
-
IconCalendar: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconCalendar, { className: "w-full h-full" }),
|
|
8950
|
-
IconCancel: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconCancel, { className: "w-full h-full" }),
|
|
8951
|
-
IconCar: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconCar, { className: "w-full h-full" }),
|
|
8952
|
-
IconCarSun: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconCarSun, { className: "w-full h-full" }),
|
|
8953
|
-
IconCheck: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconCheck, { className: "w-full h-full" }),
|
|
8954
|
-
IconChevronRight: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconChevronRight, { className: "w-full h-full" }),
|
|
8955
|
-
IconCity: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconCity, { className: "w-full h-full" }),
|
|
8956
|
-
IconClock: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconClock, { className: "w-full h-full" }),
|
|
8957
|
-
IconDelete: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconDelete, { className: "w-full h-full" }),
|
|
8958
|
-
IconDeparture: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconDeparture, { className: "w-full h-full" }),
|
|
8959
|
-
IconDollar: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconDollar, { className: "w-full h-full" }),
|
|
8960
|
-
IconEdit: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconEdit, { className: "w-full h-full" }),
|
|
8961
|
-
IconExpand: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconExpand, { className: "w-full h-full" }),
|
|
8962
|
-
IconFacebook: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconFacebook, { className: "w-full h-full" }),
|
|
8963
|
-
IconFavorite: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconFavorite, { className: "w-full h-full" }),
|
|
8964
|
-
IconFilter: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconFilter, { className: "w-full h-full" }),
|
|
8965
|
-
IconFood: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconFood, { className: "w-full h-full" }),
|
|
8966
|
-
IconHeart: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconHeart, { className: "w-full h-full" }),
|
|
8967
|
-
IconHot: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconHot, { className: "w-full h-full" }),
|
|
8968
|
-
IconHotel: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconHotel, { className: "w-full h-full" }),
|
|
8969
|
-
IconHouse: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconHouse, { className: "w-full h-full" }),
|
|
8970
|
-
IconInfo: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconInfo, { className: "w-full h-full" }),
|
|
8971
|
-
IconInstagram: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconInstagram, { className: "w-full h-full" }),
|
|
8972
|
-
IconLuggage: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconLuggage, { className: "w-full h-full" }),
|
|
8973
|
-
IconMail: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconMail, { className: "w-full h-full" }),
|
|
8974
|
-
IconMap: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconMap, { className: "w-full h-full" }),
|
|
8975
|
-
IconMinus: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconMinus, { className: "w-full h-full" }),
|
|
8976
|
-
IconParty: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconParty, { className: "w-full h-full" }),
|
|
8977
|
-
IconPhone: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconPhone, { className: "w-full h-full" }),
|
|
8978
|
-
IconPhoto: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconPhoto, { className: "w-full h-full" }),
|
|
8979
|
-
IconPinterest: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconPinterest, { className: "w-full h-full" }),
|
|
8980
|
-
IconPlane: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconPlane, { className: "w-full h-full" }),
|
|
8981
|
-
IconPlus: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconPlus, { className: "w-full h-full" }),
|
|
8982
|
-
IconQuestion: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconQuestion, { className: "w-full h-full" }),
|
|
8983
|
-
IconRating: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconRating, { className: "w-full h-full" }),
|
|
8984
|
-
IconSearch: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconSearch, { className: "w-full h-full" }),
|
|
8985
|
-
IconSeat: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconSeat, { className: "w-full h-full" }),
|
|
8986
|
-
IconShare: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconShare, { className: "w-full h-full" }),
|
|
8987
|
-
IconSplash: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconSplash, { className: "w-full h-full" }),
|
|
8988
|
-
IconStar: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconStar, { className: "w-full h-full" }),
|
|
8989
|
-
IconSuccess: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconSuccess, { className: "w-full h-full" }),
|
|
8990
|
-
IconSun: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconSun, { className: "w-full h-full" }),
|
|
8991
|
-
IconSupport: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconSupport, { className: "w-full h-full" }),
|
|
8992
|
-
IconTemperature: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconTemperature, { className: "w-full h-full" }),
|
|
8993
|
-
IconTiktok: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconTiktok, { className: "w-full h-full" }),
|
|
8994
|
-
IconTransfer: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconTransfer, { className: "w-full h-full" }),
|
|
8995
|
-
IconTree: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconTree, { className: "w-full h-full" }),
|
|
8996
|
-
IconTwitter: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconTwitter, { className: "w-full h-full" }),
|
|
8997
|
-
IconUser: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconUser, { className: "w-full h-full" }),
|
|
8998
|
-
IconView: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconView, { className: "w-full h-full" }),
|
|
8999
|
-
IconWarning: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarning, { className: "w-full h-full" }),
|
|
9000
|
-
IconWhatsapp: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWhatsapp, { className: "w-full h-full" }),
|
|
9001
|
-
IconWinterSport: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWinterSport, { className: "w-full h-full" }),
|
|
9002
|
-
IconWinterSun: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWinterSun, { className: "w-full h-full" })
|
|
8938
|
+
IconAlert: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconAlert, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8939
|
+
IconArrival: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrival, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8940
|
+
IconArrowDown: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrowDown, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8941
|
+
IconArrowLeft: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrowLeft, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8942
|
+
IconArrowRight: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrowRight, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8943
|
+
IconArrowUp: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrowUp, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8944
|
+
IconBeach: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconBeach, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8945
|
+
IconBed: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconBed, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8946
|
+
IconBlog: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconBlog, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8947
|
+
IconBus: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconBus, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8948
|
+
IconCalendar: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconCalendar, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8949
|
+
IconCancel: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconCancel, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8950
|
+
IconCar: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconCar, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8951
|
+
IconCarSun: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconCarSun, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8952
|
+
IconCheck: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconCheck, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8953
|
+
IconChevronRight: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconChevronRight, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8954
|
+
IconCity: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconCity, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8955
|
+
IconClock: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconClock, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8956
|
+
IconDelete: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconDelete, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8957
|
+
IconDeparture: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconDeparture, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8958
|
+
IconDollar: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconDollar, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8959
|
+
IconEdit: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconEdit, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8960
|
+
IconExpand: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconExpand, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8961
|
+
IconFacebook: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconFacebook, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8962
|
+
IconFavorite: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconFavorite, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8963
|
+
IconFilter: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconFilter, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8964
|
+
IconFood: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconFood, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8965
|
+
IconHeart: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconHeart, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8966
|
+
IconHot: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconHot, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8967
|
+
IconHotel: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconHotel, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8968
|
+
IconHouse: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconHouse, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8969
|
+
IconInfo: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconInfo, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8970
|
+
IconInstagram: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconInstagram, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8971
|
+
IconLuggage: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconLuggage, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8972
|
+
IconMail: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconMail, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8973
|
+
IconMap: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconMap, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8974
|
+
IconMinus: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconMinus, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8975
|
+
IconParty: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconParty, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8976
|
+
IconPhone: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconPhone, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8977
|
+
IconPhoto: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconPhoto, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8978
|
+
IconPinterest: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconPinterest, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8979
|
+
IconPlane: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconPlane, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8980
|
+
IconPlus: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconPlus, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8981
|
+
IconQuestion: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconQuestion, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8982
|
+
IconRating: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconRating, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8983
|
+
IconSearch: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconSearch, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8984
|
+
IconSeat: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconSeat, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8985
|
+
IconShare: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconShare, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8986
|
+
IconSplash: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconSplash, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8987
|
+
IconStar: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconStar, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8988
|
+
IconSuccess: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconSuccess, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8989
|
+
IconSun: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconSun, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8990
|
+
IconSupport: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconSupport, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8991
|
+
IconTemperature: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconTemperature, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8992
|
+
IconTiktok: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconTiktok, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8993
|
+
IconTransfer: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconTransfer, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8994
|
+
IconTree: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconTree, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8995
|
+
IconTwitter: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconTwitter, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8996
|
+
IconUser: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconUser, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8997
|
+
IconView: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconView, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8998
|
+
IconWarning: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWarning, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
8999
|
+
IconWhatsapp: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWhatsapp, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
9000
|
+
IconWinterSport: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWinterSport, { className: (0, clsx.default)("w-full h-full", color) }),
|
|
9001
|
+
IconWinterSun: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconWinterSun, { className: (0, clsx.default)("w-full h-full", color) })
|
|
9003
9002
|
};
|
|
9004
9003
|
const icon = iconMap$1[iconName];
|
|
9005
9004
|
if (!icon) {
|
|
9006
9005
|
console.warn(`Icon "${iconName}" not found, returning fallback`);
|
|
9007
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrowDown, { className: "w-full h-full" });
|
|
9006
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrowDown, { className: (0, clsx.default)("w-full h-full", color) });
|
|
9008
9007
|
}
|
|
9009
9008
|
return icon;
|
|
9010
9009
|
};
|
|
@@ -9044,13 +9043,13 @@ const CategoryFilter = ({ className, categories, defaultActiveId, onCategoryChan
|
|
|
9044
9043
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9045
9044
|
className: "flex flex-row gap-2 relative",
|
|
9046
9045
|
children: [categories.map((category) => {
|
|
9047
|
-
const formattedIcon = category.icon ? formatIcon(getIcon(category.icon), { className: (0, clsx.default)("size-
|
|
9046
|
+
const formattedIcon = category.icon ? formatIcon(getIcon(category.icon), { className: (0, clsx.default)("size-6") }) : null;
|
|
9048
9047
|
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9049
9048
|
ref: (el) => categoryRefs.current[category.id] = el,
|
|
9050
9049
|
className: (0, clsx.default)("flex items-center gap-2 cursor-pointer px-3 py-3 rounded transition-colors whitespace-nowrap"),
|
|
9051
9050
|
onClick: () => handleCategoryClick(category.id),
|
|
9052
9051
|
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9053
|
-
className: `h-
|
|
9052
|
+
className: `h-6 w-6 flex items-center justify-center ${activeId === category.id && "text-primary"}`,
|
|
9054
9053
|
children: formattedIcon
|
|
9055
9054
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9056
9055
|
className: `text-dark-600 ${activeId === category.id && "text-primary"}`,
|
|
@@ -9105,13 +9104,13 @@ const Calendar = ({ className, month, year = 2026,...props }) => {
|
|
|
9105
9104
|
]);
|
|
9106
9105
|
const resolvedSelectedDay = selectedDay ?? defaultSelectableDay;
|
|
9107
9106
|
const weekdayLabels = [
|
|
9108
|
-
"
|
|
9109
|
-
"
|
|
9110
|
-
"
|
|
9111
|
-
"
|
|
9112
|
-
"
|
|
9113
|
-
"
|
|
9114
|
-
"
|
|
9107
|
+
"Ma",
|
|
9108
|
+
"Di",
|
|
9109
|
+
"Wo",
|
|
9110
|
+
"Do",
|
|
9111
|
+
"Vr",
|
|
9112
|
+
"Za",
|
|
9113
|
+
"Zo"
|
|
9115
9114
|
];
|
|
9116
9115
|
const range = (0, react.useMemo)(() => {
|
|
9117
9116
|
if (!resolvedSelectedDay) return 0;
|
|
@@ -9176,113 +9175,120 @@ const Calendar = ({ className, month, year = 2026,...props }) => {
|
|
|
9176
9175
|
"data-component": "calendar",
|
|
9177
9176
|
className: (0, clsx.default)(className, "w-full"),
|
|
9178
9177
|
...props,
|
|
9179
|
-
children: [
|
|
9180
|
-
|
|
9181
|
-
|
|
9182
|
-
|
|
9183
|
-
|
|
9184
|
-
|
|
9185
|
-
|
|
9178
|
+
children: [
|
|
9179
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9180
|
+
className: "flex items-center justify-end gap-4 mb-3",
|
|
9181
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("select", {
|
|
9182
|
+
"data-testid": "calendar-mode",
|
|
9183
|
+
className: "border border-gray-200 rounded px-2 py-1 text-sm",
|
|
9184
|
+
value: mode,
|
|
9185
|
+
onChange: (e) => setMode(e.target.value),
|
|
9186
|
+
children: [
|
|
9187
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9188
|
+
value: "exact",
|
|
9189
|
+
children: "Exacte datum"
|
|
9190
|
+
}),
|
|
9191
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9192
|
+
value: "pm1",
|
|
9193
|
+
children: "+/- 1 dag"
|
|
9194
|
+
}),
|
|
9195
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9196
|
+
value: "pm2",
|
|
9197
|
+
children: "+/- 2 dagen"
|
|
9198
|
+
}),
|
|
9199
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9200
|
+
value: "pm3",
|
|
9201
|
+
children: "+/- 3 dagen"
|
|
9202
|
+
}),
|
|
9203
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("option", {
|
|
9204
|
+
value: "month",
|
|
9205
|
+
children: "Hele maand"
|
|
9206
|
+
})
|
|
9207
|
+
]
|
|
9186
9208
|
})
|
|
9187
|
-
}),
|
|
9188
|
-
|
|
9189
|
-
className: "
|
|
9190
|
-
|
|
9191
|
-
|
|
9209
|
+
}),
|
|
9210
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9211
|
+
className: "flex items-center justify-center gap-4 mb-3",
|
|
9212
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9213
|
+
className: "text-base text-secondary font-bold whitespace-nowrap capitalize",
|
|
9214
|
+
children: firstOfMonth.toLocaleDateString("nl-NL", {
|
|
9215
|
+
month: "long",
|
|
9216
|
+
year: "numeric"
|
|
9217
|
+
})
|
|
9218
|
+
})
|
|
9219
|
+
}),
|
|
9220
|
+
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
9221
|
+
className: "grid grid-cols-7 gap-0",
|
|
9222
|
+
"data-testid": "calendar-grid",
|
|
9192
9223
|
children: [
|
|
9193
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("
|
|
9194
|
-
|
|
9195
|
-
children:
|
|
9196
|
-
}),
|
|
9197
|
-
|
|
9198
|
-
|
|
9199
|
-
|
|
9200
|
-
|
|
9201
|
-
|
|
9202
|
-
|
|
9203
|
-
|
|
9224
|
+
weekdayLabels.map((label) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9225
|
+
className: "text-base font-normal calendar-day-color text-center py-2",
|
|
9226
|
+
children: label
|
|
9227
|
+
}, label)),
|
|
9228
|
+
Array.from({ length: mondayIndex }).map((_, i) => {
|
|
9229
|
+
const day = daysInPrevMonth - mondayIndex + i + 1;
|
|
9230
|
+
const prevDate = new Date(year, month - 1, day);
|
|
9231
|
+
const yyyy = String(prevDate.getFullYear());
|
|
9232
|
+
const mm = String(prevDate.getMonth() + 1).padStart(2, "0");
|
|
9233
|
+
const dd = String(prevDate.getDate()).padStart(2, "0");
|
|
9234
|
+
const testId = `calendar-day-outside-${yyyy}-${mm}-${dd}`;
|
|
9235
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9236
|
+
type: "button",
|
|
9237
|
+
"data-testid": testId,
|
|
9238
|
+
className: "h-10 rounded text-sm flex items-center justify-center text-gray-300 cursor-not-allowed",
|
|
9239
|
+
disabled: true,
|
|
9240
|
+
"aria-pressed": false,
|
|
9241
|
+
children: day
|
|
9242
|
+
}, testId);
|
|
9204
9243
|
}),
|
|
9205
|
-
|
|
9206
|
-
|
|
9207
|
-
|
|
9244
|
+
Array.from({ length: daysInMonth }).map((_, i) => {
|
|
9245
|
+
const day = i + 1;
|
|
9246
|
+
const date = new Date(year, month, day);
|
|
9247
|
+
const disabled = isPastDate(date);
|
|
9248
|
+
const active = isActive(day);
|
|
9249
|
+
const subActive = isSubActive(day);
|
|
9250
|
+
const inRange = !disabled && (subActive || active && mode !== "exact");
|
|
9251
|
+
const isRangeStart = !!rangeBounds && day === rangeBounds.start;
|
|
9252
|
+
const isRangeEnd = !!rangeBounds && day === rangeBounds.end;
|
|
9253
|
+
const leftFade = !!rangeBounds && rangeBounds.leftOverflow && day === 1;
|
|
9254
|
+
const rightFade = !!rangeBounds && rangeBounds.rightOverflow && day === daysInMonth;
|
|
9255
|
+
const rangeBgClass = !inRange ? null : leftFade ? "bg-gradient-to-r from-transparent via-primary/5 to-primary/5 " : rightFade ? "bg-gradient-to-r from-primary/5 via-primary/5 to-transparent " : "bg-primary/5";
|
|
9256
|
+
const yyyy = String(year);
|
|
9257
|
+
const mm = String(month + 1).padStart(2, "0");
|
|
9258
|
+
const dd = String(day).padStart(2, "0");
|
|
9259
|
+
const testId = `calendar-day-${yyyy}-${mm}-${dd}`;
|
|
9260
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9261
|
+
type: "button",
|
|
9262
|
+
"data-testid": testId,
|
|
9263
|
+
className: (0, clsx.default)("h-10 text-sm flex items-center justify-center", disabled && "text-gray-300 cursor-not-allowed", rangeBgClass, inRange && isRangeStart && "rounded-l-full", inRange && isRangeEnd && "rounded-r-full"),
|
|
9264
|
+
disabled,
|
|
9265
|
+
"aria-pressed": active,
|
|
9266
|
+
onClick: () => handleDayClick(day),
|
|
9267
|
+
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9268
|
+
className: (0, clsx.default)("w-8 h-8 p-2 flex justify-center items-center cursor-pointer", active && "calendar-selected-bg text-white rounded-full ", !disabled && !active && !subActive && "hover:bg-primary/20 hover:rounded-full "),
|
|
9269
|
+
children: day
|
|
9270
|
+
})
|
|
9271
|
+
}, testId);
|
|
9208
9272
|
}),
|
|
9209
|
-
|
|
9210
|
-
|
|
9211
|
-
|
|
9273
|
+
Array.from({ length: trailingOutsideDays }).map((_, i) => {
|
|
9274
|
+
const day = i + 1;
|
|
9275
|
+
const nextDate = new Date(year, month + 1, day);
|
|
9276
|
+
const yyyy = String(nextDate.getFullYear());
|
|
9277
|
+
const mm = String(nextDate.getMonth() + 1).padStart(2, "0");
|
|
9278
|
+
const dd = String(nextDate.getDate()).padStart(2, "0");
|
|
9279
|
+
const testId = `calendar-day-outside-${yyyy}-${mm}-${dd}`;
|
|
9280
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9281
|
+
type: "button",
|
|
9282
|
+
"data-testid": testId,
|
|
9283
|
+
className: "h-10 rounded text-sm flex items-center calendar-grayed-out-date justify-center cursor-not-allowed",
|
|
9284
|
+
disabled: true,
|
|
9285
|
+
"aria-pressed": false,
|
|
9286
|
+
children: day
|
|
9287
|
+
}, testId);
|
|
9212
9288
|
})
|
|
9213
9289
|
]
|
|
9214
|
-
})
|
|
9215
|
-
|
|
9216
|
-
className: "grid grid-cols-7 gap-0",
|
|
9217
|
-
"data-testid": "calendar-grid",
|
|
9218
|
-
children: [
|
|
9219
|
-
weekdayLabels.map((label) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
9220
|
-
className: "text-xs font-semibold text-gray-600 text-center py-2",
|
|
9221
|
-
children: label
|
|
9222
|
-
}, label)),
|
|
9223
|
-
Array.from({ length: mondayIndex }).map((_, i) => {
|
|
9224
|
-
const day = daysInPrevMonth - mondayIndex + i + 1;
|
|
9225
|
-
const prevDate = new Date(year, month - 1, day);
|
|
9226
|
-
const yyyy = String(prevDate.getFullYear());
|
|
9227
|
-
const mm = String(prevDate.getMonth() + 1).padStart(2, "0");
|
|
9228
|
-
const dd = String(prevDate.getDate()).padStart(2, "0");
|
|
9229
|
-
const testId = `calendar-day-outside-${yyyy}-${mm}-${dd}`;
|
|
9230
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9231
|
-
type: "button",
|
|
9232
|
-
"data-testid": testId,
|
|
9233
|
-
className: "h-10 rounded text-sm flex items-center justify-center text-gray-300 cursor-not-allowed",
|
|
9234
|
-
disabled: true,
|
|
9235
|
-
"aria-pressed": false,
|
|
9236
|
-
children: day
|
|
9237
|
-
}, testId);
|
|
9238
|
-
}),
|
|
9239
|
-
Array.from({ length: daysInMonth }).map((_, i) => {
|
|
9240
|
-
const day = i + 1;
|
|
9241
|
-
const date = new Date(year, month, day);
|
|
9242
|
-
const disabled = isPastDate(date);
|
|
9243
|
-
const active = isActive(day);
|
|
9244
|
-
const subActive = isSubActive(day);
|
|
9245
|
-
const inRange = !disabled && (subActive || active && mode !== "exact");
|
|
9246
|
-
const isRangeStart = !!rangeBounds && day === rangeBounds.start;
|
|
9247
|
-
const isRangeEnd = !!rangeBounds && day === rangeBounds.end;
|
|
9248
|
-
const leftFade = !!rangeBounds && rangeBounds.leftOverflow && day === 1;
|
|
9249
|
-
const rightFade = !!rangeBounds && rangeBounds.rightOverflow && day === daysInMonth;
|
|
9250
|
-
const rangeBgClass = !inRange ? null : leftFade ? "bg-gradient-to-r from-transparent via-primary/5 to-primary/5 " : rightFade ? "bg-gradient-to-r from-primary/5 via-primary/5 to-transparent " : "bg-primary/5";
|
|
9251
|
-
const yyyy = String(year);
|
|
9252
|
-
const mm = String(month + 1).padStart(2, "0");
|
|
9253
|
-
const dd = String(day).padStart(2, "0");
|
|
9254
|
-
const testId = `calendar-day-${yyyy}-${mm}-${dd}`;
|
|
9255
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9256
|
-
type: "button",
|
|
9257
|
-
"data-testid": testId,
|
|
9258
|
-
className: (0, clsx.default)("h-10 text-sm flex items-center justify-center", disabled && "text-gray-300 cursor-not-allowed", rangeBgClass, inRange && isRangeStart && "rounded-l-full", inRange && isRangeEnd && "rounded-r-full"),
|
|
9259
|
-
disabled,
|
|
9260
|
-
"aria-pressed": active,
|
|
9261
|
-
onClick: () => handleDayClick(day),
|
|
9262
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
9263
|
-
className: (0, clsx.default)("w-8 h-8 p-2 flex justify-center items-center cursor-pointer", active && "bg-primary text-white rounded-full ", !disabled && !active && !subActive && "hover:bg-primary/20 hover:rounded-full "),
|
|
9264
|
-
children: day
|
|
9265
|
-
})
|
|
9266
|
-
}, testId);
|
|
9267
|
-
}),
|
|
9268
|
-
Array.from({ length: trailingOutsideDays }).map((_, i) => {
|
|
9269
|
-
const day = i + 1;
|
|
9270
|
-
const nextDate = new Date(year, month + 1, day);
|
|
9271
|
-
const yyyy = String(nextDate.getFullYear());
|
|
9272
|
-
const mm = String(nextDate.getMonth() + 1).padStart(2, "0");
|
|
9273
|
-
const dd = String(nextDate.getDate()).padStart(2, "0");
|
|
9274
|
-
const testId = `calendar-day-outside-${yyyy}-${mm}-${dd}`;
|
|
9275
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
|
|
9276
|
-
type: "button",
|
|
9277
|
-
"data-testid": testId,
|
|
9278
|
-
className: "h-10 rounded text-sm flex items-center justify-center text-gray-300 cursor-not-allowed",
|
|
9279
|
-
disabled: true,
|
|
9280
|
-
"aria-pressed": false,
|
|
9281
|
-
children: day
|
|
9282
|
-
}, testId);
|
|
9283
|
-
})
|
|
9284
|
-
]
|
|
9285
|
-
})]
|
|
9290
|
+
})
|
|
9291
|
+
]
|
|
9286
9292
|
});
|
|
9287
9293
|
};
|
|
9288
9294
|
|
|
@@ -10957,10 +10963,10 @@ const BlogWidget = ({ className, blogTitle, blogText, blogImage, buttonText, But
|
|
|
10957
10963
|
className: "p-4 flex flex-col",
|
|
10958
10964
|
children: [
|
|
10959
10965
|
/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("span", {
|
|
10960
|
-
className: "text-
|
|
10966
|
+
className: "text-xs blog-widget-date font-bold",
|
|
10961
10967
|
children: [new Date().toLocaleDateString("nl-NL"), readingTime && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
10962
10968
|
className: "uppercase",
|
|
10963
|
-
children: ` - ${readingTime}`
|
|
10969
|
+
children: ` - Leestijd: ${readingTime}`
|
|
10964
10970
|
})]
|
|
10965
10971
|
}),
|
|
10966
10972
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
|
|
@@ -10973,9 +10979,8 @@ const BlogWidget = ({ className, blogTitle, blogText, blogImage, buttonText, But
|
|
|
10973
10979
|
}),
|
|
10974
10980
|
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(Button, {
|
|
10975
10981
|
variant: "outline",
|
|
10976
|
-
className: "w-fit",
|
|
10982
|
+
className: "w-fit uppercase",
|
|
10977
10983
|
iconRight: true,
|
|
10978
|
-
icon: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(IconArrowRight, {}),
|
|
10979
10984
|
onClick: ButtonAction,
|
|
10980
10985
|
children: buttonText
|
|
10981
10986
|
})
|
|
@@ -11586,7 +11591,6 @@ exports.Filters = Filters;
|
|
|
11586
11591
|
exports.FlightSwitch = FlightSwitch;
|
|
11587
11592
|
exports.Footer = Footer;
|
|
11588
11593
|
exports.GiftCard = GiftCard;
|
|
11589
|
-
exports.HR = HR;
|
|
11590
11594
|
exports.HamburgerMenuButton = HamburgerMenuButton;
|
|
11591
11595
|
exports.Header = Header;
|
|
11592
11596
|
exports.Hero = Hero;
|