@dododog/ui 0.9.1 → 0.10.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.
- package/dist/chunk-6KW7ZSKR.js +211 -0
- package/dist/{chunk-BFGRWOQM.mjs → chunk-IGBEBAPY.mjs} +65 -1
- package/dist/{chunk-3JM2X4I2.js → chunk-KFQILIZO.js} +65 -1
- package/dist/chunk-SRYZ4N7T.mjs +189 -0
- package/dist/components/RoomTypeCard/index.d.mts +25 -1
- package/dist/components/RoomTypeCard/index.d.ts +25 -1
- package/dist/components/RoomTypeCard/index.js +3 -3
- package/dist/components/RoomTypeCard/index.mjs +1 -1
- package/dist/components/SearchLoadingChecklist/index.d.mts +37 -0
- package/dist/components/SearchLoadingChecklist/index.d.ts +37 -0
- package/dist/components/SearchLoadingChecklist/index.js +11 -0
- package/dist/components/SearchLoadingChecklist/index.mjs +2 -0
- package/dist/index.d.mts +2 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.js +59 -54
- package/dist/index.mjs +11 -10
- package/package.json +16 -11
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkADIDI7AJ_js = require('./chunk-ADIDI7AJ.js');
|
|
4
|
+
var React = require('react');
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
|
|
7
|
+
function _interopNamespace(e) {
|
|
8
|
+
if (e && e.__esModule) return e;
|
|
9
|
+
var n = Object.create(null);
|
|
10
|
+
if (e) {
|
|
11
|
+
Object.keys(e).forEach(function (k) {
|
|
12
|
+
if (k !== 'default') {
|
|
13
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
15
|
+
enumerable: true,
|
|
16
|
+
get: function () { return e[k]; }
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
n.default = e;
|
|
22
|
+
return Object.freeze(n);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
var React__namespace = /*#__PURE__*/_interopNamespace(React);
|
|
26
|
+
|
|
27
|
+
var DEFAULT_STEPS = [
|
|
28
|
+
{ id: "analyse", label: "Analyse de votre recherche" },
|
|
29
|
+
{ id: "destination", label: "Exploration de la destination" },
|
|
30
|
+
{ id: "selection", label: "S\xE9lection des h\xE9bergements dog-friendly" },
|
|
31
|
+
{ id: "finalisation", label: "Finalisation des r\xE9sultats" }
|
|
32
|
+
];
|
|
33
|
+
var DEFAULT_TITLE = "Pr\xE9paration des r\xE9sultats de votre recherche";
|
|
34
|
+
function DogIcon({ className }) {
|
|
35
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
36
|
+
"svg",
|
|
37
|
+
{
|
|
38
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
39
|
+
viewBox: "0 0 24 24",
|
|
40
|
+
fill: "none",
|
|
41
|
+
stroke: "currentColor",
|
|
42
|
+
strokeWidth: "2",
|
|
43
|
+
strokeLinecap: "round",
|
|
44
|
+
strokeLinejoin: "round",
|
|
45
|
+
className,
|
|
46
|
+
"aria-hidden": "true",
|
|
47
|
+
children: [
|
|
48
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M11.25 16.25h1.5L12 17z" }),
|
|
49
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M16 14v.5" }),
|
|
50
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444a11.702 11.702 0 0 0-.493-3.309" }),
|
|
51
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8 14v.5" }),
|
|
52
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M8.5 8.5c-.384 1.05-1.083 2.028-2.344 2.5-1.931.722-3.576-.297-3.656-1-.113-.994 1.177-6.53 4-7 1.923-.321 3.651.845 3.651 2.235A7.497 7.497 0 0 1 14 5.277c0-1.39 1.844-2.598 3.767-2.277 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5" })
|
|
53
|
+
]
|
|
54
|
+
}
|
|
55
|
+
);
|
|
56
|
+
}
|
|
57
|
+
function CheckIcon({ className }) {
|
|
58
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
59
|
+
"svg",
|
|
60
|
+
{
|
|
61
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
62
|
+
viewBox: "0 0 24 24",
|
|
63
|
+
fill: "none",
|
|
64
|
+
stroke: "currentColor",
|
|
65
|
+
strokeWidth: "3",
|
|
66
|
+
strokeLinecap: "round",
|
|
67
|
+
strokeLinejoin: "round",
|
|
68
|
+
className,
|
|
69
|
+
"aria-hidden": "true",
|
|
70
|
+
children: /* @__PURE__ */ jsxRuntime.jsx("path", { d: "M20 6 9 17l-5-5" })
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
}
|
|
74
|
+
var SearchLoadingChecklist = React__namespace.forwardRef(
|
|
75
|
+
({
|
|
76
|
+
active = true,
|
|
77
|
+
title = DEFAULT_TITLE,
|
|
78
|
+
steps = DEFAULT_STEPS,
|
|
79
|
+
stepDurationMs = 750,
|
|
80
|
+
variant = "fixed",
|
|
81
|
+
className,
|
|
82
|
+
...props
|
|
83
|
+
}, ref) => {
|
|
84
|
+
const [completedThrough, setCompletedThrough] = React__namespace.useState(0);
|
|
85
|
+
const lastStepIndex = Math.max(0, steps.length - 1);
|
|
86
|
+
React__namespace.useEffect(() => {
|
|
87
|
+
if (!active) {
|
|
88
|
+
setCompletedThrough(0);
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
if (completedThrough >= lastStepIndex) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const timer = setTimeout(() => {
|
|
95
|
+
setCompletedThrough(
|
|
96
|
+
(current) => Math.min(current + 1, lastStepIndex)
|
|
97
|
+
);
|
|
98
|
+
}, stepDurationMs);
|
|
99
|
+
return () => {
|
|
100
|
+
clearTimeout(timer);
|
|
101
|
+
};
|
|
102
|
+
}, [active, completedThrough, lastStepIndex, stepDurationMs]);
|
|
103
|
+
if (!active) return null;
|
|
104
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
105
|
+
"div",
|
|
106
|
+
{
|
|
107
|
+
ref,
|
|
108
|
+
role: "status",
|
|
109
|
+
"aria-live": "polite",
|
|
110
|
+
"aria-busy": "true",
|
|
111
|
+
className: chunkADIDI7AJ_js.cn(
|
|
112
|
+
variant === "fixed" ? "fixed" : "absolute",
|
|
113
|
+
"inset-0 z-50 flex items-center justify-center bg-white/80 backdrop-blur-sm px-4",
|
|
114
|
+
className
|
|
115
|
+
),
|
|
116
|
+
...props,
|
|
117
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "w-full max-w-md rounded-2xl border border-sand-dark bg-white p-6 shadow-xl sm:p-8", children: [
|
|
118
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "relative flex h-16 w-16 items-center justify-center", children: [
|
|
119
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
120
|
+
"span",
|
|
121
|
+
{
|
|
122
|
+
className: "absolute inset-0 animate-spin rounded-full border-2 border-secondary/20 border-t-secondary",
|
|
123
|
+
"aria-hidden": "true"
|
|
124
|
+
}
|
|
125
|
+
),
|
|
126
|
+
/* @__PURE__ */ jsxRuntime.jsx(DogIcon, { className: "h-8 w-8 animate-pulse text-secondary" })
|
|
127
|
+
] }) }),
|
|
128
|
+
/* @__PURE__ */ jsxRuntime.jsx("h2", { className: "mt-5 text-center text-lg font-semibold text-text-primary", children: title }),
|
|
129
|
+
/* @__PURE__ */ jsxRuntime.jsx("ul", { className: "mt-6 space-y-3", children: steps.map((step, index) => {
|
|
130
|
+
const isCompleted = index < completedThrough;
|
|
131
|
+
const isCurrent = index === completedThrough;
|
|
132
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
133
|
+
"li",
|
|
134
|
+
{
|
|
135
|
+
className: "flex items-center gap-3",
|
|
136
|
+
"aria-current": isCurrent ? "step" : void 0,
|
|
137
|
+
children: [
|
|
138
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
139
|
+
"span",
|
|
140
|
+
{
|
|
141
|
+
className: chunkADIDI7AJ_js.cn(
|
|
142
|
+
"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-full border transition-colors duration-300",
|
|
143
|
+
isCompleted && "border-secondary bg-secondary text-white",
|
|
144
|
+
isCurrent && "border-secondary bg-secondary/10 text-secondary",
|
|
145
|
+
!isCompleted && !isCurrent && "border-gray-300 bg-white text-gray-300"
|
|
146
|
+
),
|
|
147
|
+
children: isCompleted ? /* @__PURE__ */ jsxRuntime.jsx(CheckIcon, { className: "h-3.5 w-3.5" }) : isCurrent ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
148
|
+
"svg",
|
|
149
|
+
{
|
|
150
|
+
className: "h-3.5 w-3.5 animate-spin",
|
|
151
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
152
|
+
fill: "none",
|
|
153
|
+
viewBox: "0 0 24 24",
|
|
154
|
+
"aria-hidden": "true",
|
|
155
|
+
children: [
|
|
156
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
157
|
+
"circle",
|
|
158
|
+
{
|
|
159
|
+
className: "opacity-25",
|
|
160
|
+
cx: "12",
|
|
161
|
+
cy: "12",
|
|
162
|
+
r: "10",
|
|
163
|
+
stroke: "currentColor",
|
|
164
|
+
strokeWidth: "4"
|
|
165
|
+
}
|
|
166
|
+
),
|
|
167
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
168
|
+
"path",
|
|
169
|
+
{
|
|
170
|
+
className: "opacity-75",
|
|
171
|
+
fill: "currentColor",
|
|
172
|
+
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
|
|
173
|
+
}
|
|
174
|
+
)
|
|
175
|
+
]
|
|
176
|
+
}
|
|
177
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
178
|
+
"span",
|
|
179
|
+
{
|
|
180
|
+
className: "h-1.5 w-1.5 rounded-full bg-current",
|
|
181
|
+
"aria-hidden": "true"
|
|
182
|
+
}
|
|
183
|
+
)
|
|
184
|
+
}
|
|
185
|
+
),
|
|
186
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
187
|
+
"span",
|
|
188
|
+
{
|
|
189
|
+
className: chunkADIDI7AJ_js.cn(
|
|
190
|
+
"text-sm transition-colors duration-300",
|
|
191
|
+
isCompleted && "font-medium text-text-primary",
|
|
192
|
+
isCurrent && "font-medium text-text-primary",
|
|
193
|
+
!isCompleted && !isCurrent && "text-text-secondary"
|
|
194
|
+
),
|
|
195
|
+
children: step.label
|
|
196
|
+
}
|
|
197
|
+
)
|
|
198
|
+
]
|
|
199
|
+
},
|
|
200
|
+
step.id
|
|
201
|
+
);
|
|
202
|
+
}) }),
|
|
203
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "mt-6 text-center text-xs text-text-secondary", children: "Cela peut prendre quelques instants, nous v\xE9rifions les meilleures disponibilit\xE9s pour vous et votre chien." })
|
|
204
|
+
] })
|
|
205
|
+
}
|
|
206
|
+
);
|
|
207
|
+
}
|
|
208
|
+
);
|
|
209
|
+
SearchLoadingChecklist.displayName = "SearchLoadingChecklist";
|
|
210
|
+
|
|
211
|
+
exports.SearchLoadingChecklist = SearchLoadingChecklist;
|
|
@@ -57,6 +57,12 @@ function GalleryIcon({ className }) {
|
|
|
57
57
|
/* @__PURE__ */ jsx("path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21" })
|
|
58
58
|
] });
|
|
59
59
|
}
|
|
60
|
+
function CardIcon({ className }) {
|
|
61
|
+
return /* @__PURE__ */ jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className, "aria-hidden": "true", children: [
|
|
62
|
+
/* @__PURE__ */ jsx("rect", { width: "20", height: "14", x: "2", y: "5", rx: "2" }),
|
|
63
|
+
/* @__PURE__ */ jsx("path", { d: "M2 10h20" })
|
|
64
|
+
] });
|
|
65
|
+
}
|
|
60
66
|
function formatPrice(price) {
|
|
61
67
|
return new Intl.NumberFormat("fr-FR", {
|
|
62
68
|
style: "currency",
|
|
@@ -94,6 +100,8 @@ function RateRow({
|
|
|
94
100
|
withTopBorder
|
|
95
101
|
}) {
|
|
96
102
|
const showReserveCta = selected && !!onReserve;
|
|
103
|
+
const [showDetails, setShowDetails] = React.useState(false);
|
|
104
|
+
const hasDetails = (rate.details?.length ?? 0) > 0 || (rate.amenities?.length ?? 0) > 0;
|
|
97
105
|
return /* @__PURE__ */ jsxs(
|
|
98
106
|
"div",
|
|
99
107
|
{
|
|
@@ -104,10 +112,66 @@ function RateRow({
|
|
|
104
112
|
children: [
|
|
105
113
|
/* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
|
|
106
114
|
rate.mealLabel && /* @__PURE__ */ jsx("div", { className: "text-[13px] font-medium text-primary", children: rate.mealLabel }),
|
|
107
|
-
/* @__PURE__ */
|
|
115
|
+
(rate.bedding || rate.paymentLabel) && /* @__PURE__ */ jsxs("div", { className: "mt-1 flex flex-wrap items-center gap-x-3 gap-y-1", children: [
|
|
116
|
+
rate.bedding && /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1.5 text-xs text-text-secondary", children: [
|
|
117
|
+
/* @__PURE__ */ jsx(BedIcon, { className: "w-3.5 h-3.5 flex-shrink-0" }),
|
|
118
|
+
rate.bedding
|
|
119
|
+
] }),
|
|
120
|
+
rate.paymentLabel && /* @__PURE__ */ jsxs("span", { className: "inline-flex items-center gap-1 rounded-full bg-amber-50 px-2 py-0.5 text-[11px] font-medium text-amber-700", children: [
|
|
121
|
+
/* @__PURE__ */ jsx(CardIcon, { className: "w-3 h-3 flex-shrink-0" }),
|
|
122
|
+
rate.paymentLabel
|
|
123
|
+
] })
|
|
124
|
+
] }),
|
|
125
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1", children: /* @__PURE__ */ jsx(CancellationChip, { cancellation: rate.cancellation }) }),
|
|
108
126
|
rate.dogFeeLabel && /* @__PURE__ */ jsxs("div", { className: "mt-1 inline-flex items-start gap-1.5 text-xs font-medium text-secondary", children: [
|
|
109
127
|
/* @__PURE__ */ jsx(DogIcon, { className: "w-3.5 h-3.5 mt-[1px] flex-shrink-0" }),
|
|
110
128
|
/* @__PURE__ */ jsx("span", { children: rate.dogFeeLabel })
|
|
129
|
+
] }),
|
|
130
|
+
hasDetails && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
131
|
+
/* @__PURE__ */ jsx("div", { className: "mt-1.5", children: /* @__PURE__ */ jsxs(
|
|
132
|
+
"button",
|
|
133
|
+
{
|
|
134
|
+
type: "button",
|
|
135
|
+
onClick: () => setShowDetails((v) => !v),
|
|
136
|
+
"aria-expanded": showDetails,
|
|
137
|
+
className: "inline-flex items-center gap-1 text-[12px] font-medium text-secondary",
|
|
138
|
+
children: [
|
|
139
|
+
/* @__PURE__ */ jsx(
|
|
140
|
+
ChevronDownIcon,
|
|
141
|
+
{
|
|
142
|
+
className: cn(
|
|
143
|
+
"w-3.5 h-3.5 transition-transform",
|
|
144
|
+
showDetails && "rotate-180"
|
|
145
|
+
)
|
|
146
|
+
}
|
|
147
|
+
),
|
|
148
|
+
showDetails ? "Masquer le d\xE9tail" : "Voir le d\xE9tail"
|
|
149
|
+
]
|
|
150
|
+
}
|
|
151
|
+
) }),
|
|
152
|
+
showDetails && /* @__PURE__ */ jsxs("div", { className: "mt-2 rounded-lg bg-sand-light px-3 py-2.5", children: [
|
|
153
|
+
rate.details && rate.details.length > 0 && /* @__PURE__ */ jsx("dl", { className: "space-y-1.5", children: rate.details.map((d, i) => /* @__PURE__ */ jsxs("div", { className: "text-xs leading-snug", children: [
|
|
154
|
+
/* @__PURE__ */ jsx("dt", { className: "font-medium text-text-secondary", children: d.label }),
|
|
155
|
+
/* @__PURE__ */ jsx("dd", { className: "text-text-muted", children: d.value })
|
|
156
|
+
] }, i)) }),
|
|
157
|
+
rate.amenities && rate.amenities.length > 0 && /* @__PURE__ */ jsx(
|
|
158
|
+
"div",
|
|
159
|
+
{
|
|
160
|
+
className: cn(
|
|
161
|
+
"flex flex-wrap gap-1.5",
|
|
162
|
+
rate.details && rate.details.length > 0 && "mt-2.5"
|
|
163
|
+
),
|
|
164
|
+
children: rate.amenities.map((a, i) => /* @__PURE__ */ jsx(
|
|
165
|
+
"span",
|
|
166
|
+
{
|
|
167
|
+
className: "rounded-full bg-white px-2 py-1 text-[11px] text-text-muted",
|
|
168
|
+
children: a
|
|
169
|
+
},
|
|
170
|
+
i
|
|
171
|
+
))
|
|
172
|
+
}
|
|
173
|
+
)
|
|
174
|
+
] })
|
|
111
175
|
] })
|
|
112
176
|
] }),
|
|
113
177
|
/* @__PURE__ */ jsxs("div", { className: "mt-2.5 flex items-end justify-between gap-3", children: [
|
|
@@ -79,6 +79,12 @@ function GalleryIcon({ className }) {
|
|
|
79
79
|
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21" })
|
|
80
80
|
] });
|
|
81
81
|
}
|
|
82
|
+
function CardIcon({ className }) {
|
|
83
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", width: "14", height: "14", viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", className, "aria-hidden": "true", children: [
|
|
84
|
+
/* @__PURE__ */ jsxRuntime.jsx("rect", { width: "20", height: "14", x: "2", y: "5", rx: "2" }),
|
|
85
|
+
/* @__PURE__ */ jsxRuntime.jsx("path", { d: "M2 10h20" })
|
|
86
|
+
] });
|
|
87
|
+
}
|
|
82
88
|
function formatPrice(price) {
|
|
83
89
|
return new Intl.NumberFormat("fr-FR", {
|
|
84
90
|
style: "currency",
|
|
@@ -116,6 +122,8 @@ function RateRow({
|
|
|
116
122
|
withTopBorder
|
|
117
123
|
}) {
|
|
118
124
|
const showReserveCta = selected && !!onReserve;
|
|
125
|
+
const [showDetails, setShowDetails] = React__namespace.useState(false);
|
|
126
|
+
const hasDetails = (rate.details?.length ?? 0) > 0 || (rate.amenities?.length ?? 0) > 0;
|
|
119
127
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
120
128
|
"div",
|
|
121
129
|
{
|
|
@@ -126,10 +134,66 @@ function RateRow({
|
|
|
126
134
|
children: [
|
|
127
135
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "min-w-0", children: [
|
|
128
136
|
rate.mealLabel && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-[13px] font-medium text-primary", children: rate.mealLabel }),
|
|
129
|
-
/* @__PURE__ */ jsxRuntime.
|
|
137
|
+
(rate.bedding || rate.paymentLabel) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-1 flex flex-wrap items-center gap-x-3 gap-y-1", children: [
|
|
138
|
+
rate.bedding && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1.5 text-xs text-text-secondary", children: [
|
|
139
|
+
/* @__PURE__ */ jsxRuntime.jsx(BedIcon, { className: "w-3.5 h-3.5 flex-shrink-0" }),
|
|
140
|
+
rate.bedding
|
|
141
|
+
] }),
|
|
142
|
+
rate.paymentLabel && /* @__PURE__ */ jsxRuntime.jsxs("span", { className: "inline-flex items-center gap-1 rounded-full bg-amber-50 px-2 py-0.5 text-[11px] font-medium text-amber-700", children: [
|
|
143
|
+
/* @__PURE__ */ jsxRuntime.jsx(CardIcon, { className: "w-3 h-3 flex-shrink-0" }),
|
|
144
|
+
rate.paymentLabel
|
|
145
|
+
] })
|
|
146
|
+
] }),
|
|
147
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1", children: /* @__PURE__ */ jsxRuntime.jsx(CancellationChip, { cancellation: rate.cancellation }) }),
|
|
130
148
|
rate.dogFeeLabel && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-1 inline-flex items-start gap-1.5 text-xs font-medium text-secondary", children: [
|
|
131
149
|
/* @__PURE__ */ jsxRuntime.jsx(DogIcon, { className: "w-3.5 h-3.5 mt-[1px] flex-shrink-0" }),
|
|
132
150
|
/* @__PURE__ */ jsxRuntime.jsx("span", { children: rate.dogFeeLabel })
|
|
151
|
+
] }),
|
|
152
|
+
hasDetails && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
153
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-1.5", children: /* @__PURE__ */ jsxRuntime.jsxs(
|
|
154
|
+
"button",
|
|
155
|
+
{
|
|
156
|
+
type: "button",
|
|
157
|
+
onClick: () => setShowDetails((v) => !v),
|
|
158
|
+
"aria-expanded": showDetails,
|
|
159
|
+
className: "inline-flex items-center gap-1 text-[12px] font-medium text-secondary",
|
|
160
|
+
children: [
|
|
161
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
162
|
+
ChevronDownIcon,
|
|
163
|
+
{
|
|
164
|
+
className: chunkADIDI7AJ_js.cn(
|
|
165
|
+
"w-3.5 h-3.5 transition-transform",
|
|
166
|
+
showDetails && "rotate-180"
|
|
167
|
+
)
|
|
168
|
+
}
|
|
169
|
+
),
|
|
170
|
+
showDetails ? "Masquer le d\xE9tail" : "Voir le d\xE9tail"
|
|
171
|
+
]
|
|
172
|
+
}
|
|
173
|
+
) }),
|
|
174
|
+
showDetails && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2 rounded-lg bg-sand-light px-3 py-2.5", children: [
|
|
175
|
+
rate.details && rate.details.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("dl", { className: "space-y-1.5", children: rate.details.map((d, i) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-xs leading-snug", children: [
|
|
176
|
+
/* @__PURE__ */ jsxRuntime.jsx("dt", { className: "font-medium text-text-secondary", children: d.label }),
|
|
177
|
+
/* @__PURE__ */ jsxRuntime.jsx("dd", { className: "text-text-muted", children: d.value })
|
|
178
|
+
] }, i)) }),
|
|
179
|
+
rate.amenities && rate.amenities.length > 0 && /* @__PURE__ */ jsxRuntime.jsx(
|
|
180
|
+
"div",
|
|
181
|
+
{
|
|
182
|
+
className: chunkADIDI7AJ_js.cn(
|
|
183
|
+
"flex flex-wrap gap-1.5",
|
|
184
|
+
rate.details && rate.details.length > 0 && "mt-2.5"
|
|
185
|
+
),
|
|
186
|
+
children: rate.amenities.map((a, i) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
187
|
+
"span",
|
|
188
|
+
{
|
|
189
|
+
className: "rounded-full bg-white px-2 py-1 text-[11px] text-text-muted",
|
|
190
|
+
children: a
|
|
191
|
+
},
|
|
192
|
+
i
|
|
193
|
+
))
|
|
194
|
+
}
|
|
195
|
+
)
|
|
196
|
+
] })
|
|
133
197
|
] })
|
|
134
198
|
] }),
|
|
135
199
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-2.5 flex items-end justify-between gap-3", children: [
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
import { cn } from './chunk-IMKLN273.mjs';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
var DEFAULT_STEPS = [
|
|
6
|
+
{ id: "analyse", label: "Analyse de votre recherche" },
|
|
7
|
+
{ id: "destination", label: "Exploration de la destination" },
|
|
8
|
+
{ id: "selection", label: "S\xE9lection des h\xE9bergements dog-friendly" },
|
|
9
|
+
{ id: "finalisation", label: "Finalisation des r\xE9sultats" }
|
|
10
|
+
];
|
|
11
|
+
var DEFAULT_TITLE = "Pr\xE9paration des r\xE9sultats de votre recherche";
|
|
12
|
+
function DogIcon({ className }) {
|
|
13
|
+
return /* @__PURE__ */ jsxs(
|
|
14
|
+
"svg",
|
|
15
|
+
{
|
|
16
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
17
|
+
viewBox: "0 0 24 24",
|
|
18
|
+
fill: "none",
|
|
19
|
+
stroke: "currentColor",
|
|
20
|
+
strokeWidth: "2",
|
|
21
|
+
strokeLinecap: "round",
|
|
22
|
+
strokeLinejoin: "round",
|
|
23
|
+
className,
|
|
24
|
+
"aria-hidden": "true",
|
|
25
|
+
children: [
|
|
26
|
+
/* @__PURE__ */ jsx("path", { d: "M11.25 16.25h1.5L12 17z" }),
|
|
27
|
+
/* @__PURE__ */ jsx("path", { d: "M16 14v.5" }),
|
|
28
|
+
/* @__PURE__ */ jsx("path", { d: "M4.42 11.247A13.152 13.152 0 0 0 4 14.556C4 18.728 7.582 21 12 21s8-2.272 8-6.444a11.702 11.702 0 0 0-.493-3.309" }),
|
|
29
|
+
/* @__PURE__ */ jsx("path", { d: "M8 14v.5" }),
|
|
30
|
+
/* @__PURE__ */ jsx("path", { d: "M8.5 8.5c-.384 1.05-1.083 2.028-2.344 2.5-1.931.722-3.576-.297-3.656-1-.113-.994 1.177-6.53 4-7 1.923-.321 3.651.845 3.651 2.235A7.497 7.497 0 0 1 14 5.277c0-1.39 1.844-2.598 3.767-2.277 2.823.47 4.113 6.006 4 7-.08.703-1.725 1.722-3.656 1-1.261-.472-1.855-1.45-2.239-2.5" })
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
}
|
|
35
|
+
function CheckIcon({ className }) {
|
|
36
|
+
return /* @__PURE__ */ jsx(
|
|
37
|
+
"svg",
|
|
38
|
+
{
|
|
39
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
40
|
+
viewBox: "0 0 24 24",
|
|
41
|
+
fill: "none",
|
|
42
|
+
stroke: "currentColor",
|
|
43
|
+
strokeWidth: "3",
|
|
44
|
+
strokeLinecap: "round",
|
|
45
|
+
strokeLinejoin: "round",
|
|
46
|
+
className,
|
|
47
|
+
"aria-hidden": "true",
|
|
48
|
+
children: /* @__PURE__ */ jsx("path", { d: "M20 6 9 17l-5-5" })
|
|
49
|
+
}
|
|
50
|
+
);
|
|
51
|
+
}
|
|
52
|
+
var SearchLoadingChecklist = React.forwardRef(
|
|
53
|
+
({
|
|
54
|
+
active = true,
|
|
55
|
+
title = DEFAULT_TITLE,
|
|
56
|
+
steps = DEFAULT_STEPS,
|
|
57
|
+
stepDurationMs = 750,
|
|
58
|
+
variant = "fixed",
|
|
59
|
+
className,
|
|
60
|
+
...props
|
|
61
|
+
}, ref) => {
|
|
62
|
+
const [completedThrough, setCompletedThrough] = React.useState(0);
|
|
63
|
+
const lastStepIndex = Math.max(0, steps.length - 1);
|
|
64
|
+
React.useEffect(() => {
|
|
65
|
+
if (!active) {
|
|
66
|
+
setCompletedThrough(0);
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
if (completedThrough >= lastStepIndex) {
|
|
70
|
+
return;
|
|
71
|
+
}
|
|
72
|
+
const timer = setTimeout(() => {
|
|
73
|
+
setCompletedThrough(
|
|
74
|
+
(current) => Math.min(current + 1, lastStepIndex)
|
|
75
|
+
);
|
|
76
|
+
}, stepDurationMs);
|
|
77
|
+
return () => {
|
|
78
|
+
clearTimeout(timer);
|
|
79
|
+
};
|
|
80
|
+
}, [active, completedThrough, lastStepIndex, stepDurationMs]);
|
|
81
|
+
if (!active) return null;
|
|
82
|
+
return /* @__PURE__ */ jsx(
|
|
83
|
+
"div",
|
|
84
|
+
{
|
|
85
|
+
ref,
|
|
86
|
+
role: "status",
|
|
87
|
+
"aria-live": "polite",
|
|
88
|
+
"aria-busy": "true",
|
|
89
|
+
className: cn(
|
|
90
|
+
variant === "fixed" ? "fixed" : "absolute",
|
|
91
|
+
"inset-0 z-50 flex items-center justify-center bg-white/80 backdrop-blur-sm px-4",
|
|
92
|
+
className
|
|
93
|
+
),
|
|
94
|
+
...props,
|
|
95
|
+
children: /* @__PURE__ */ jsxs("div", { className: "w-full max-w-md rounded-2xl border border-sand-dark bg-white p-6 shadow-xl sm:p-8", children: [
|
|
96
|
+
/* @__PURE__ */ jsx("div", { className: "flex justify-center", children: /* @__PURE__ */ jsxs("span", { className: "relative flex h-16 w-16 items-center justify-center", children: [
|
|
97
|
+
/* @__PURE__ */ jsx(
|
|
98
|
+
"span",
|
|
99
|
+
{
|
|
100
|
+
className: "absolute inset-0 animate-spin rounded-full border-2 border-secondary/20 border-t-secondary",
|
|
101
|
+
"aria-hidden": "true"
|
|
102
|
+
}
|
|
103
|
+
),
|
|
104
|
+
/* @__PURE__ */ jsx(DogIcon, { className: "h-8 w-8 animate-pulse text-secondary" })
|
|
105
|
+
] }) }),
|
|
106
|
+
/* @__PURE__ */ jsx("h2", { className: "mt-5 text-center text-lg font-semibold text-text-primary", children: title }),
|
|
107
|
+
/* @__PURE__ */ jsx("ul", { className: "mt-6 space-y-3", children: steps.map((step, index) => {
|
|
108
|
+
const isCompleted = index < completedThrough;
|
|
109
|
+
const isCurrent = index === completedThrough;
|
|
110
|
+
return /* @__PURE__ */ jsxs(
|
|
111
|
+
"li",
|
|
112
|
+
{
|
|
113
|
+
className: "flex items-center gap-3",
|
|
114
|
+
"aria-current": isCurrent ? "step" : void 0,
|
|
115
|
+
children: [
|
|
116
|
+
/* @__PURE__ */ jsx(
|
|
117
|
+
"span",
|
|
118
|
+
{
|
|
119
|
+
className: cn(
|
|
120
|
+
"flex h-6 w-6 flex-shrink-0 items-center justify-center rounded-full border transition-colors duration-300",
|
|
121
|
+
isCompleted && "border-secondary bg-secondary text-white",
|
|
122
|
+
isCurrent && "border-secondary bg-secondary/10 text-secondary",
|
|
123
|
+
!isCompleted && !isCurrent && "border-gray-300 bg-white text-gray-300"
|
|
124
|
+
),
|
|
125
|
+
children: isCompleted ? /* @__PURE__ */ jsx(CheckIcon, { className: "h-3.5 w-3.5" }) : isCurrent ? /* @__PURE__ */ jsxs(
|
|
126
|
+
"svg",
|
|
127
|
+
{
|
|
128
|
+
className: "h-3.5 w-3.5 animate-spin",
|
|
129
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
130
|
+
fill: "none",
|
|
131
|
+
viewBox: "0 0 24 24",
|
|
132
|
+
"aria-hidden": "true",
|
|
133
|
+
children: [
|
|
134
|
+
/* @__PURE__ */ jsx(
|
|
135
|
+
"circle",
|
|
136
|
+
{
|
|
137
|
+
className: "opacity-25",
|
|
138
|
+
cx: "12",
|
|
139
|
+
cy: "12",
|
|
140
|
+
r: "10",
|
|
141
|
+
stroke: "currentColor",
|
|
142
|
+
strokeWidth: "4"
|
|
143
|
+
}
|
|
144
|
+
),
|
|
145
|
+
/* @__PURE__ */ jsx(
|
|
146
|
+
"path",
|
|
147
|
+
{
|
|
148
|
+
className: "opacity-75",
|
|
149
|
+
fill: "currentColor",
|
|
150
|
+
d: "M4 12a8 8 0 018-8V0C5.373 0 0 5.373 0 12h4z"
|
|
151
|
+
}
|
|
152
|
+
)
|
|
153
|
+
]
|
|
154
|
+
}
|
|
155
|
+
) : /* @__PURE__ */ jsx(
|
|
156
|
+
"span",
|
|
157
|
+
{
|
|
158
|
+
className: "h-1.5 w-1.5 rounded-full bg-current",
|
|
159
|
+
"aria-hidden": "true"
|
|
160
|
+
}
|
|
161
|
+
)
|
|
162
|
+
}
|
|
163
|
+
),
|
|
164
|
+
/* @__PURE__ */ jsx(
|
|
165
|
+
"span",
|
|
166
|
+
{
|
|
167
|
+
className: cn(
|
|
168
|
+
"text-sm transition-colors duration-300",
|
|
169
|
+
isCompleted && "font-medium text-text-primary",
|
|
170
|
+
isCurrent && "font-medium text-text-primary",
|
|
171
|
+
!isCompleted && !isCurrent && "text-text-secondary"
|
|
172
|
+
),
|
|
173
|
+
children: step.label
|
|
174
|
+
}
|
|
175
|
+
)
|
|
176
|
+
]
|
|
177
|
+
},
|
|
178
|
+
step.id
|
|
179
|
+
);
|
|
180
|
+
}) }),
|
|
181
|
+
/* @__PURE__ */ jsx("p", { className: "mt-6 text-center text-xs text-text-secondary", children: "Cela peut prendre quelques instants, nous v\xE9rifions les meilleures disponibilit\xE9s pour vous et votre chien." })
|
|
182
|
+
] })
|
|
183
|
+
}
|
|
184
|
+
);
|
|
185
|
+
}
|
|
186
|
+
);
|
|
187
|
+
SearchLoadingChecklist.displayName = "SearchLoadingChecklist";
|
|
188
|
+
|
|
189
|
+
export { SearchLoadingChecklist };
|
|
@@ -6,6 +6,11 @@ interface RoomRateCancellation {
|
|
|
6
6
|
/** Texte explicite, ex: "Annulation gratuite avant le 10 août" ou "Non remboursable" */
|
|
7
7
|
label: string;
|
|
8
8
|
}
|
|
9
|
+
/** Ligne d'information affichée dans le panneau déplié « Voir le détail ». */
|
|
10
|
+
interface RoomRateDetail {
|
|
11
|
+
label: string;
|
|
12
|
+
value: string;
|
|
13
|
+
}
|
|
9
14
|
interface RoomRate {
|
|
10
15
|
id: string;
|
|
11
16
|
/** ex: "Sans petit-déjeuner", "Petit-déjeuner inclus" */
|
|
@@ -21,6 +26,25 @@ interface RoomRate {
|
|
|
21
26
|
totalLabel?: string;
|
|
22
27
|
/** Frais chien explicite, ex: "Chien inclus : +16 €" */
|
|
23
28
|
dogFeeLabel?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Literie de CETTE formule, ex: "1 grand lit double", "2 lits simples".
|
|
31
|
+
* Principal différenciateur entre deux formules d'un même type de chambre —
|
|
32
|
+
* affiché en clair sur la ligne compacte.
|
|
33
|
+
*/
|
|
34
|
+
bedding?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Mode de paiement, ex: "À régler sur place". Affiché en petit encart
|
|
37
|
+
* quand il distingue la formule (souvent ce qui explique un écart de prix).
|
|
38
|
+
*/
|
|
39
|
+
paymentLabel?: string;
|
|
40
|
+
/** Équipements propres à la formule, affichés dans le panneau déplié. */
|
|
41
|
+
amenities?: string[];
|
|
42
|
+
/**
|
|
43
|
+
* Détails additionnels (annulation précise, salle de bain, paiement…) révélés
|
|
44
|
+
* au clic sur « Voir le détail ». Quand non vide, le bouton apparaît et borne
|
|
45
|
+
* la hauteur de la carte tant que le voyageur ne déplie pas.
|
|
46
|
+
*/
|
|
47
|
+
details?: RoomRateDetail[];
|
|
24
48
|
}
|
|
25
49
|
interface RoomTypeData {
|
|
26
50
|
name: string;
|
|
@@ -99,4 +123,4 @@ interface RoomTypeCardSkeletonProps extends React.HTMLAttributes<HTMLDivElement>
|
|
|
99
123
|
*/
|
|
100
124
|
declare const RoomTypeCardSkeleton: React.ForwardRefExoticComponent<RoomTypeCardSkeletonProps & React.RefAttributes<HTMLDivElement>>;
|
|
101
125
|
|
|
102
|
-
export { type RoomRate, type RoomRateCancellation, type RoomRateCancellationKind, RoomTypeCard, type RoomTypeCardProps, RoomTypeCardSkeleton, type RoomTypeCardSkeletonProps, type RoomTypeData };
|
|
126
|
+
export { type RoomRate, type RoomRateCancellation, type RoomRateCancellationKind, type RoomRateDetail, RoomTypeCard, type RoomTypeCardProps, RoomTypeCardSkeleton, type RoomTypeCardSkeletonProps, type RoomTypeData };
|
|
@@ -6,6 +6,11 @@ interface RoomRateCancellation {
|
|
|
6
6
|
/** Texte explicite, ex: "Annulation gratuite avant le 10 août" ou "Non remboursable" */
|
|
7
7
|
label: string;
|
|
8
8
|
}
|
|
9
|
+
/** Ligne d'information affichée dans le panneau déplié « Voir le détail ». */
|
|
10
|
+
interface RoomRateDetail {
|
|
11
|
+
label: string;
|
|
12
|
+
value: string;
|
|
13
|
+
}
|
|
9
14
|
interface RoomRate {
|
|
10
15
|
id: string;
|
|
11
16
|
/** ex: "Sans petit-déjeuner", "Petit-déjeuner inclus" */
|
|
@@ -21,6 +26,25 @@ interface RoomRate {
|
|
|
21
26
|
totalLabel?: string;
|
|
22
27
|
/** Frais chien explicite, ex: "Chien inclus : +16 €" */
|
|
23
28
|
dogFeeLabel?: string;
|
|
29
|
+
/**
|
|
30
|
+
* Literie de CETTE formule, ex: "1 grand lit double", "2 lits simples".
|
|
31
|
+
* Principal différenciateur entre deux formules d'un même type de chambre —
|
|
32
|
+
* affiché en clair sur la ligne compacte.
|
|
33
|
+
*/
|
|
34
|
+
bedding?: string;
|
|
35
|
+
/**
|
|
36
|
+
* Mode de paiement, ex: "À régler sur place". Affiché en petit encart
|
|
37
|
+
* quand il distingue la formule (souvent ce qui explique un écart de prix).
|
|
38
|
+
*/
|
|
39
|
+
paymentLabel?: string;
|
|
40
|
+
/** Équipements propres à la formule, affichés dans le panneau déplié. */
|
|
41
|
+
amenities?: string[];
|
|
42
|
+
/**
|
|
43
|
+
* Détails additionnels (annulation précise, salle de bain, paiement…) révélés
|
|
44
|
+
* au clic sur « Voir le détail ». Quand non vide, le bouton apparaît et borne
|
|
45
|
+
* la hauteur de la carte tant que le voyageur ne déplie pas.
|
|
46
|
+
*/
|
|
47
|
+
details?: RoomRateDetail[];
|
|
24
48
|
}
|
|
25
49
|
interface RoomTypeData {
|
|
26
50
|
name: string;
|
|
@@ -99,4 +123,4 @@ interface RoomTypeCardSkeletonProps extends React.HTMLAttributes<HTMLDivElement>
|
|
|
99
123
|
*/
|
|
100
124
|
declare const RoomTypeCardSkeleton: React.ForwardRefExoticComponent<RoomTypeCardSkeletonProps & React.RefAttributes<HTMLDivElement>>;
|
|
101
125
|
|
|
102
|
-
export { type RoomRate, type RoomRateCancellation, type RoomRateCancellationKind, RoomTypeCard, type RoomTypeCardProps, RoomTypeCardSkeleton, type RoomTypeCardSkeletonProps, type RoomTypeData };
|
|
126
|
+
export { type RoomRate, type RoomRateCancellation, type RoomRateCancellationKind, type RoomRateDetail, RoomTypeCard, type RoomTypeCardProps, RoomTypeCardSkeleton, type RoomTypeCardSkeletonProps, type RoomTypeData };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkKFQILIZO_js = require('../../chunk-KFQILIZO.js');
|
|
4
4
|
require('../../chunk-NCU5PY34.js');
|
|
5
5
|
require('../../chunk-ADIDI7AJ.js');
|
|
6
6
|
|
|
@@ -8,9 +8,9 @@ require('../../chunk-ADIDI7AJ.js');
|
|
|
8
8
|
|
|
9
9
|
Object.defineProperty(exports, "RoomTypeCard", {
|
|
10
10
|
enumerable: true,
|
|
11
|
-
get: function () { return
|
|
11
|
+
get: function () { return chunkKFQILIZO_js.RoomTypeCard; }
|
|
12
12
|
});
|
|
13
13
|
Object.defineProperty(exports, "RoomTypeCardSkeleton", {
|
|
14
14
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
15
|
+
get: function () { return chunkKFQILIZO_js.RoomTypeCardSkeleton; }
|
|
16
16
|
});
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface SearchLoadingStep {
|
|
4
|
+
/** Identifiant stable de l'étape */
|
|
5
|
+
id: string;
|
|
6
|
+
/** Libellé affiché à l'utilisateur */
|
|
7
|
+
label: string;
|
|
8
|
+
}
|
|
9
|
+
interface SearchLoadingChecklistProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
10
|
+
/**
|
|
11
|
+
* Indique si la recherche réelle est en cours. Quand `false`, l'overlay
|
|
12
|
+
* disparaît immédiatement, même si toutes les étapes ne sont pas cochées.
|
|
13
|
+
* Défaut : `true`.
|
|
14
|
+
*/
|
|
15
|
+
active?: boolean;
|
|
16
|
+
/** Titre rassurant affiché au-dessus de la check-list. */
|
|
17
|
+
title?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Étapes affichées. Par défaut, les 4 étapes standard de la recherche
|
|
20
|
+
* dog-friendly.
|
|
21
|
+
*/
|
|
22
|
+
steps?: SearchLoadingStep[];
|
|
23
|
+
/**
|
|
24
|
+
* Durée cosmétique (ms) de chaque étape avant de se cocher. Purement
|
|
25
|
+
* visuel : n'a aucun effet sur la fin réelle du chargement. Défaut : 750.
|
|
26
|
+
*/
|
|
27
|
+
stepDurationMs?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Mise en page de l'overlay :
|
|
30
|
+
* - `fixed` : plein écran (position fixe) — défaut.
|
|
31
|
+
* - `absolute` : rempli le conteneur positionné parent.
|
|
32
|
+
*/
|
|
33
|
+
variant?: "fixed" | "absolute";
|
|
34
|
+
}
|
|
35
|
+
declare const SearchLoadingChecklist: React.ForwardRefExoticComponent<SearchLoadingChecklistProps & React.RefAttributes<HTMLDivElement>>;
|
|
36
|
+
|
|
37
|
+
export { SearchLoadingChecklist, type SearchLoadingChecklistProps, type SearchLoadingStep };
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface SearchLoadingStep {
|
|
4
|
+
/** Identifiant stable de l'étape */
|
|
5
|
+
id: string;
|
|
6
|
+
/** Libellé affiché à l'utilisateur */
|
|
7
|
+
label: string;
|
|
8
|
+
}
|
|
9
|
+
interface SearchLoadingChecklistProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
10
|
+
/**
|
|
11
|
+
* Indique si la recherche réelle est en cours. Quand `false`, l'overlay
|
|
12
|
+
* disparaît immédiatement, même si toutes les étapes ne sont pas cochées.
|
|
13
|
+
* Défaut : `true`.
|
|
14
|
+
*/
|
|
15
|
+
active?: boolean;
|
|
16
|
+
/** Titre rassurant affiché au-dessus de la check-list. */
|
|
17
|
+
title?: string;
|
|
18
|
+
/**
|
|
19
|
+
* Étapes affichées. Par défaut, les 4 étapes standard de la recherche
|
|
20
|
+
* dog-friendly.
|
|
21
|
+
*/
|
|
22
|
+
steps?: SearchLoadingStep[];
|
|
23
|
+
/**
|
|
24
|
+
* Durée cosmétique (ms) de chaque étape avant de se cocher. Purement
|
|
25
|
+
* visuel : n'a aucun effet sur la fin réelle du chargement. Défaut : 750.
|
|
26
|
+
*/
|
|
27
|
+
stepDurationMs?: number;
|
|
28
|
+
/**
|
|
29
|
+
* Mise en page de l'overlay :
|
|
30
|
+
* - `fixed` : plein écran (position fixe) — défaut.
|
|
31
|
+
* - `absolute` : rempli le conteneur positionné parent.
|
|
32
|
+
*/
|
|
33
|
+
variant?: "fixed" | "absolute";
|
|
34
|
+
}
|
|
35
|
+
declare const SearchLoadingChecklist: React.ForwardRefExoticComponent<SearchLoadingChecklistProps & React.RefAttributes<HTMLDivElement>>;
|
|
36
|
+
|
|
37
|
+
export { SearchLoadingChecklist, type SearchLoadingChecklistProps, type SearchLoadingStep };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunk6KW7ZSKR_js = require('../../chunk-6KW7ZSKR.js');
|
|
4
|
+
require('../../chunk-ADIDI7AJ.js');
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
Object.defineProperty(exports, "SearchLoadingChecklist", {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return chunk6KW7ZSKR_js.SearchLoadingChecklist; }
|
|
11
|
+
});
|
package/dist/index.d.mts
CHANGED
|
@@ -60,11 +60,12 @@ export { IconBadge, IconBadgeProps, iconBadgeVariants } from './components/IconB
|
|
|
60
60
|
export { PriceDisplay, PriceDisplayProps } from './components/PriceDisplay/index.mjs';
|
|
61
61
|
export { DetailItem, DetailList, DetailListProps } from './components/DetailList/index.mjs';
|
|
62
62
|
export { LoadingOverlay, LoadingOverlayProps } from './components/LoadingOverlay/index.mjs';
|
|
63
|
+
export { SearchLoadingChecklist, SearchLoadingChecklistProps, SearchLoadingStep } from './components/SearchLoadingChecklist/index.mjs';
|
|
63
64
|
export { Switch, SwitchProps, switchThumbVariants, switchTrackVariants } from './components/Switch/index.mjs';
|
|
64
65
|
export { DualRangeSlider, DualRangeSliderProps } from './components/DualRangeSlider/index.mjs';
|
|
65
66
|
export { CardList, CardListProps } from './components/CardList/index.mjs';
|
|
66
67
|
export { FilterAccordion, FilterAccordionItemData, FilterAccordionProps } from './components/FilterAccordion/index.mjs';
|
|
67
|
-
export { RoomRate, RoomRateCancellation, RoomRateCancellationKind, RoomTypeCard, RoomTypeCardProps, RoomTypeCardSkeleton, RoomTypeCardSkeletonProps, RoomTypeData } from './components/RoomTypeCard/index.mjs';
|
|
68
|
+
export { RoomRate, RoomRateCancellation, RoomRateCancellationKind, RoomRateDetail, RoomTypeCard, RoomTypeCardProps, RoomTypeCardSkeleton, RoomTypeCardSkeletonProps, RoomTypeData } from './components/RoomTypeCard/index.mjs';
|
|
68
69
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
69
70
|
export { SignInCallout, SignInCalloutProps, signInCalloutVariants } from './components/SignInCallout/index.mjs';
|
|
70
71
|
export { cn } from './utils/index.mjs';
|
package/dist/index.d.ts
CHANGED
|
@@ -60,11 +60,12 @@ export { IconBadge, IconBadgeProps, iconBadgeVariants } from './components/IconB
|
|
|
60
60
|
export { PriceDisplay, PriceDisplayProps } from './components/PriceDisplay/index.js';
|
|
61
61
|
export { DetailItem, DetailList, DetailListProps } from './components/DetailList/index.js';
|
|
62
62
|
export { LoadingOverlay, LoadingOverlayProps } from './components/LoadingOverlay/index.js';
|
|
63
|
+
export { SearchLoadingChecklist, SearchLoadingChecklistProps, SearchLoadingStep } from './components/SearchLoadingChecklist/index.js';
|
|
63
64
|
export { Switch, SwitchProps, switchThumbVariants, switchTrackVariants } from './components/Switch/index.js';
|
|
64
65
|
export { DualRangeSlider, DualRangeSliderProps } from './components/DualRangeSlider/index.js';
|
|
65
66
|
export { CardList, CardListProps } from './components/CardList/index.js';
|
|
66
67
|
export { FilterAccordion, FilterAccordionItemData, FilterAccordionProps } from './components/FilterAccordion/index.js';
|
|
67
|
-
export { RoomRate, RoomRateCancellation, RoomRateCancellationKind, RoomTypeCard, RoomTypeCardProps, RoomTypeCardSkeleton, RoomTypeCardSkeletonProps, RoomTypeData } from './components/RoomTypeCard/index.js';
|
|
68
|
+
export { RoomRate, RoomRateCancellation, RoomRateCancellationKind, RoomRateDetail, RoomTypeCard, RoomTypeCardProps, RoomTypeCardSkeleton, RoomTypeCardSkeletonProps, RoomTypeData } from './components/RoomTypeCard/index.js';
|
|
68
69
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
69
70
|
export { SignInCallout, SignInCalloutProps, signInCalloutVariants } from './components/SignInCallout/index.js';
|
|
70
71
|
export { cn } from './utils/index.js';
|
package/dist/index.js
CHANGED
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var chunk7IJOHVNJ_js = require('./chunk-7IJOHVNJ.js');
|
|
3
4
|
var chunkL7OYR6U3_js = require('./chunk-L7OYR6U3.js');
|
|
4
5
|
var chunkVTELEOT7_js = require('./chunk-VTELEOT7.js');
|
|
6
|
+
var chunkDTIYZ3TQ_js = require('./chunk-DTIYZ3TQ.js');
|
|
5
7
|
var chunkE6ZNND75_js = require('./chunk-E6ZNND75.js');
|
|
6
8
|
var chunkN3JU7JS7_js = require('./chunk-N3JU7JS7.js');
|
|
7
|
-
var
|
|
9
|
+
var chunkWXSBKARZ_js = require('./chunk-WXSBKARZ.js');
|
|
8
10
|
var chunkXHRDPJTF_js = require('./chunk-XHRDPJTF.js');
|
|
9
11
|
var chunkTT7L3ZU7_js = require('./chunk-TT7L3ZU7.js');
|
|
10
12
|
var chunkDFXXGKMI_js = require('./chunk-DFXXGKMI.js');
|
|
11
13
|
var chunk3VU6TPAT_js = require('./chunk-3VU6TPAT.js');
|
|
12
14
|
var chunkI4S3R6C6_js = require('./chunk-I4S3R6C6.js');
|
|
13
15
|
var chunk762LQMWP_js = require('./chunk-762LQMWP.js');
|
|
14
|
-
var chunk7IJOHVNJ_js = require('./chunk-7IJOHVNJ.js');
|
|
15
16
|
var chunkGXKON34B_js = require('./chunk-GXKON34B.js');
|
|
16
17
|
var chunkTZHT7NZU_js = require('./chunk-TZHT7NZU.js');
|
|
17
|
-
var
|
|
18
|
+
var chunkKFQILIZO_js = require('./chunk-KFQILIZO.js');
|
|
18
19
|
var chunkNCU5PY34_js = require('./chunk-NCU5PY34.js');
|
|
19
20
|
var chunkHS3MAW3G_js = require('./chunk-HS3MAW3G.js');
|
|
21
|
+
var chunk6KW7ZSKR_js = require('./chunk-6KW7ZSKR.js');
|
|
20
22
|
var chunkQWDKSY6Y_js = require('./chunk-QWDKSY6Y.js');
|
|
21
23
|
var chunk3R7PT3JG_js = require('./chunk-3R7PT3JG.js');
|
|
22
24
|
var chunkDS4LM7OS_js = require('./chunk-DS4LM7OS.js');
|
|
23
|
-
var chunkWXSBKARZ_js = require('./chunk-WXSBKARZ.js');
|
|
24
25
|
var chunkTE4WHZ4Q_js = require('./chunk-TE4WHZ4Q.js');
|
|
25
26
|
var chunkHN6B4TAW_js = require('./chunk-HN6B4TAW.js');
|
|
26
27
|
var chunkKZSGVMUG_js = require('./chunk-KZSGVMUG.js');
|
|
@@ -37,8 +38,8 @@ var chunkDLOHAW74_js = require('./chunk-DLOHAW74.js');
|
|
|
37
38
|
var chunk77WKG2D7_js = require('./chunk-77WKG2D7.js');
|
|
38
39
|
var chunkU3XWNFHH_js = require('./chunk-U3XWNFHH.js');
|
|
39
40
|
var chunkW7DZZS6L_js = require('./chunk-W7DZZS6L.js');
|
|
40
|
-
var chunkIEHX4DU6_js = require('./chunk-IEHX4DU6.js');
|
|
41
41
|
var chunkTDGU5Y2P_js = require('./chunk-TDGU5Y2P.js');
|
|
42
|
+
var chunkIEHX4DU6_js = require('./chunk-IEHX4DU6.js');
|
|
42
43
|
var chunkS5TLUDNM_js = require('./chunk-S5TLUDNM.js');
|
|
43
44
|
var chunk7W3TFPIF_js = require('./chunk-7W3TFPIF.js');
|
|
44
45
|
var chunkTJDHGNMR_js = require('./chunk-TJDHGNMR.js');
|
|
@@ -53,18 +54,18 @@ var chunkE24VNM6S_js = require('./chunk-E24VNM6S.js');
|
|
|
53
54
|
var chunkXXC2YD3D_js = require('./chunk-XXC2YD3D.js');
|
|
54
55
|
var chunkVWFY24XF_js = require('./chunk-VWFY24XF.js');
|
|
55
56
|
var chunkT5FLQQP6_js = require('./chunk-T5FLQQP6.js');
|
|
56
|
-
var
|
|
57
|
+
var chunkEY4ZIR3P_js = require('./chunk-EY4ZIR3P.js');
|
|
58
|
+
var chunkZ5S7LHMY_js = require('./chunk-Z5S7LHMY.js');
|
|
57
59
|
var chunk6EG6EAHW_js = require('./chunk-6EG6EAHW.js');
|
|
58
60
|
var chunkPND5YKFN_js = require('./chunk-PND5YKFN.js');
|
|
59
|
-
var
|
|
61
|
+
var chunkH3JNRTAI_js = require('./chunk-H3JNRTAI.js');
|
|
60
62
|
var chunkYZTVHCLK_js = require('./chunk-YZTVHCLK.js');
|
|
61
63
|
var chunkZAUYE2EI_js = require('./chunk-ZAUYE2EI.js');
|
|
62
|
-
var chunkH3JNRTAI_js = require('./chunk-H3JNRTAI.js');
|
|
63
64
|
var chunkMY6BYO5F_js = require('./chunk-MY6BYO5F.js');
|
|
64
65
|
var chunkMCF3EQTV_js = require('./chunk-MCF3EQTV.js');
|
|
65
|
-
var chunkWXEZA6NE_js = require('./chunk-WXEZA6NE.js');
|
|
66
|
-
var chunkEY4ZIR3P_js = require('./chunk-EY4ZIR3P.js');
|
|
67
66
|
var chunkWBRVUWGC_js = require('./chunk-WBRVUWGC.js');
|
|
67
|
+
var chunkWXEZA6NE_js = require('./chunk-WXEZA6NE.js');
|
|
68
|
+
var chunkNHB2TI2B_js = require('./chunk-NHB2TI2B.js');
|
|
68
69
|
var chunkADIDI7AJ_js = require('./chunk-ADIDI7AJ.js');
|
|
69
70
|
var React = require('react');
|
|
70
71
|
var classVarianceAuthority = require('class-variance-authority');
|
|
@@ -485,6 +486,14 @@ function MobileBookingBar({
|
|
|
485
486
|
);
|
|
486
487
|
}
|
|
487
488
|
|
|
489
|
+
Object.defineProperty(exports, "Tag", {
|
|
490
|
+
enumerable: true,
|
|
491
|
+
get: function () { return chunk7IJOHVNJ_js.Tag; }
|
|
492
|
+
});
|
|
493
|
+
Object.defineProperty(exports, "tagVariants", {
|
|
494
|
+
enumerable: true,
|
|
495
|
+
get: function () { return chunk7IJOHVNJ_js.tagVariants; }
|
|
496
|
+
});
|
|
488
497
|
Object.defineProperty(exports, "Textarea", {
|
|
489
498
|
enumerable: true,
|
|
490
499
|
get: function () { return chunkL7OYR6U3_js.Textarea; }
|
|
@@ -501,6 +510,10 @@ Object.defineProperty(exports, "toastVariants", {
|
|
|
501
510
|
enumerable: true,
|
|
502
511
|
get: function () { return chunkVTELEOT7_js.toastVariants; }
|
|
503
512
|
});
|
|
513
|
+
Object.defineProperty(exports, "Toggle", {
|
|
514
|
+
enumerable: true,
|
|
515
|
+
get: function () { return chunkDTIYZ3TQ_js.Toggle; }
|
|
516
|
+
});
|
|
504
517
|
Object.defineProperty(exports, "Tooltip", {
|
|
505
518
|
enumerable: true,
|
|
506
519
|
get: function () { return chunkE6ZNND75_js.Tooltip; }
|
|
@@ -509,9 +522,13 @@ Object.defineProperty(exports, "VerticalMarquee", {
|
|
|
509
522
|
enumerable: true,
|
|
510
523
|
get: function () { return chunkN3JU7JS7_js.VerticalMarquee; }
|
|
511
524
|
});
|
|
512
|
-
Object.defineProperty(exports, "
|
|
525
|
+
Object.defineProperty(exports, "SignInCallout", {
|
|
513
526
|
enumerable: true,
|
|
514
|
-
get: function () { return
|
|
527
|
+
get: function () { return chunkWXSBKARZ_js.SignInCallout; }
|
|
528
|
+
});
|
|
529
|
+
Object.defineProperty(exports, "signInCalloutVariants", {
|
|
530
|
+
enumerable: true,
|
|
531
|
+
get: function () { return chunkWXSBKARZ_js.signInCalloutVariants; }
|
|
515
532
|
});
|
|
516
533
|
Object.defineProperty(exports, "Spinner", {
|
|
517
534
|
enumerable: true,
|
|
@@ -553,14 +570,6 @@ Object.defineProperty(exports, "Tabs", {
|
|
|
553
570
|
enumerable: true,
|
|
554
571
|
get: function () { return chunk762LQMWP_js.Tabs; }
|
|
555
572
|
});
|
|
556
|
-
Object.defineProperty(exports, "Tag", {
|
|
557
|
-
enumerable: true,
|
|
558
|
-
get: function () { return chunk7IJOHVNJ_js.Tag; }
|
|
559
|
-
});
|
|
560
|
-
Object.defineProperty(exports, "tagVariants", {
|
|
561
|
-
enumerable: true,
|
|
562
|
-
get: function () { return chunk7IJOHVNJ_js.tagVariants; }
|
|
563
|
-
});
|
|
564
573
|
Object.defineProperty(exports, "RadioGroup", {
|
|
565
574
|
enumerable: true,
|
|
566
575
|
get: function () { return chunkGXKON34B_js.RadioGroup; }
|
|
@@ -571,11 +580,11 @@ Object.defineProperty(exports, "Rating", {
|
|
|
571
580
|
});
|
|
572
581
|
Object.defineProperty(exports, "RoomTypeCard", {
|
|
573
582
|
enumerable: true,
|
|
574
|
-
get: function () { return
|
|
583
|
+
get: function () { return chunkKFQILIZO_js.RoomTypeCard; }
|
|
575
584
|
});
|
|
576
585
|
Object.defineProperty(exports, "RoomTypeCardSkeleton", {
|
|
577
586
|
enumerable: true,
|
|
578
|
-
get: function () { return
|
|
587
|
+
get: function () { return chunkKFQILIZO_js.RoomTypeCardSkeleton; }
|
|
579
588
|
});
|
|
580
589
|
Object.defineProperty(exports, "Skeleton", {
|
|
581
590
|
enumerable: true,
|
|
@@ -597,6 +606,10 @@ Object.defineProperty(exports, "SearchBar", {
|
|
|
597
606
|
enumerable: true,
|
|
598
607
|
get: function () { return chunkHS3MAW3G_js.SearchBar; }
|
|
599
608
|
});
|
|
609
|
+
Object.defineProperty(exports, "SearchLoadingChecklist", {
|
|
610
|
+
enumerable: true,
|
|
611
|
+
get: function () { return chunk6KW7ZSKR_js.SearchLoadingChecklist; }
|
|
612
|
+
});
|
|
600
613
|
Object.defineProperty(exports, "SegmentedControl", {
|
|
601
614
|
enumerable: true,
|
|
602
615
|
get: function () { return chunkQWDKSY6Y_js.SegmentedControl; }
|
|
@@ -613,14 +626,6 @@ Object.defineProperty(exports, "Sidebar", {
|
|
|
613
626
|
enumerable: true,
|
|
614
627
|
get: function () { return chunkDS4LM7OS_js.Sidebar; }
|
|
615
628
|
});
|
|
616
|
-
Object.defineProperty(exports, "SignInCallout", {
|
|
617
|
-
enumerable: true,
|
|
618
|
-
get: function () { return chunkWXSBKARZ_js.SignInCallout; }
|
|
619
|
-
});
|
|
620
|
-
Object.defineProperty(exports, "signInCalloutVariants", {
|
|
621
|
-
enumerable: true,
|
|
622
|
-
get: function () { return chunkWXSBKARZ_js.signInCalloutVariants; }
|
|
623
|
-
});
|
|
624
629
|
Object.defineProperty(exports, "LoadingOverlay", {
|
|
625
630
|
enumerable: true,
|
|
626
631
|
get: function () { return chunkTE4WHZ4Q_js.LoadingOverlay; }
|
|
@@ -705,14 +710,14 @@ Object.defineProperty(exports, "LinkCard", {
|
|
|
705
710
|
enumerable: true,
|
|
706
711
|
get: function () { return chunkW7DZZS6L_js.LinkCard; }
|
|
707
712
|
});
|
|
708
|
-
Object.defineProperty(exports, "EmptyState", {
|
|
709
|
-
enumerable: true,
|
|
710
|
-
get: function () { return chunkIEHX4DU6_js.EmptyState; }
|
|
711
|
-
});
|
|
712
713
|
Object.defineProperty(exports, "DualRangeSlider", {
|
|
713
714
|
enumerable: true,
|
|
714
715
|
get: function () { return chunkTDGU5Y2P_js.DualRangeSlider; }
|
|
715
716
|
});
|
|
717
|
+
Object.defineProperty(exports, "EmptyState", {
|
|
718
|
+
enumerable: true,
|
|
719
|
+
get: function () { return chunkIEHX4DU6_js.EmptyState; }
|
|
720
|
+
});
|
|
716
721
|
Object.defineProperty(exports, "ErrorBoundary", {
|
|
717
722
|
enumerable: true,
|
|
718
723
|
get: function () { return chunkS5TLUDNM_js.ErrorBoundary; }
|
|
@@ -773,13 +778,17 @@ Object.defineProperty(exports, "DropdownMenu", {
|
|
|
773
778
|
enumerable: true,
|
|
774
779
|
get: function () { return chunkT5FLQQP6_js.DropdownMenu; }
|
|
775
780
|
});
|
|
776
|
-
Object.defineProperty(exports, "
|
|
781
|
+
Object.defineProperty(exports, "Avatar", {
|
|
777
782
|
enumerable: true,
|
|
778
|
-
get: function () { return
|
|
783
|
+
get: function () { return chunkEY4ZIR3P_js.Avatar; }
|
|
779
784
|
});
|
|
780
|
-
Object.defineProperty(exports, "
|
|
785
|
+
Object.defineProperty(exports, "Badge", {
|
|
781
786
|
enumerable: true,
|
|
782
|
-
get: function () { return
|
|
787
|
+
get: function () { return chunkZ5S7LHMY_js.Badge; }
|
|
788
|
+
});
|
|
789
|
+
Object.defineProperty(exports, "badgeVariants", {
|
|
790
|
+
enumerable: true,
|
|
791
|
+
get: function () { return chunkZ5S7LHMY_js.badgeVariants; }
|
|
783
792
|
});
|
|
784
793
|
Object.defineProperty(exports, "Banner", {
|
|
785
794
|
enumerable: true,
|
|
@@ -793,13 +802,13 @@ Object.defineProperty(exports, "BottomNavBar", {
|
|
|
793
802
|
enumerable: true,
|
|
794
803
|
get: function () { return chunkPND5YKFN_js.BottomNavBar; }
|
|
795
804
|
});
|
|
796
|
-
Object.defineProperty(exports, "
|
|
805
|
+
Object.defineProperty(exports, "Breadcrumb", {
|
|
797
806
|
enumerable: true,
|
|
798
|
-
get: function () { return
|
|
807
|
+
get: function () { return chunkH3JNRTAI_js.Breadcrumb; }
|
|
799
808
|
});
|
|
800
|
-
Object.defineProperty(exports, "
|
|
809
|
+
Object.defineProperty(exports, "breadcrumbVariants", {
|
|
801
810
|
enumerable: true,
|
|
802
|
-
get: function () { return
|
|
811
|
+
get: function () { return chunkH3JNRTAI_js.breadcrumbVariants; }
|
|
803
812
|
});
|
|
804
813
|
Object.defineProperty(exports, "Button", {
|
|
805
814
|
enumerable: true,
|
|
@@ -837,14 +846,6 @@ Object.defineProperty(exports, "cardVariants", {
|
|
|
837
846
|
enumerable: true,
|
|
838
847
|
get: function () { return chunkZAUYE2EI_js.cardVariants; }
|
|
839
848
|
});
|
|
840
|
-
Object.defineProperty(exports, "Breadcrumb", {
|
|
841
|
-
enumerable: true,
|
|
842
|
-
get: function () { return chunkH3JNRTAI_js.Breadcrumb; }
|
|
843
|
-
});
|
|
844
|
-
Object.defineProperty(exports, "breadcrumbVariants", {
|
|
845
|
-
enumerable: true,
|
|
846
|
-
get: function () { return chunkH3JNRTAI_js.breadcrumbVariants; }
|
|
847
|
-
});
|
|
848
849
|
Object.defineProperty(exports, "CardList", {
|
|
849
850
|
enumerable: true,
|
|
850
851
|
get: function () { return chunkMY6BYO5F_js.CardList; }
|
|
@@ -853,17 +854,21 @@ Object.defineProperty(exports, "Accordion", {
|
|
|
853
854
|
enumerable: true,
|
|
854
855
|
get: function () { return chunkMCF3EQTV_js.Accordion; }
|
|
855
856
|
});
|
|
857
|
+
Object.defineProperty(exports, "Alert", {
|
|
858
|
+
enumerable: true,
|
|
859
|
+
get: function () { return chunkWBRVUWGC_js.Alert; }
|
|
860
|
+
});
|
|
856
861
|
Object.defineProperty(exports, "AnchorTabs", {
|
|
857
862
|
enumerable: true,
|
|
858
863
|
get: function () { return chunkWXEZA6NE_js.AnchorTabs; }
|
|
859
864
|
});
|
|
860
|
-
Object.defineProperty(exports, "
|
|
865
|
+
Object.defineProperty(exports, "Autocomplete", {
|
|
861
866
|
enumerable: true,
|
|
862
|
-
get: function () { return
|
|
867
|
+
get: function () { return chunkNHB2TI2B_js.Autocomplete; }
|
|
863
868
|
});
|
|
864
|
-
Object.defineProperty(exports, "
|
|
869
|
+
Object.defineProperty(exports, "autocompleteInputVariants", {
|
|
865
870
|
enumerable: true,
|
|
866
|
-
get: function () { return
|
|
871
|
+
get: function () { return chunkNHB2TI2B_js.autocompleteInputVariants; }
|
|
867
872
|
});
|
|
868
873
|
Object.defineProperty(exports, "cn", {
|
|
869
874
|
enumerable: true,
|
package/dist/index.mjs
CHANGED
|
@@ -1,24 +1,25 @@
|
|
|
1
|
+
export { Tag, tagVariants } from './chunk-WOG6V7OW.mjs';
|
|
1
2
|
export { Textarea, textareaVariants } from './chunk-ZZ4EWC53.mjs';
|
|
2
3
|
export { Toast, toastVariants } from './chunk-YVTUUNAX.mjs';
|
|
4
|
+
export { Toggle } from './chunk-2AB5ZHY5.mjs';
|
|
3
5
|
export { Tooltip } from './chunk-2MJTZ6RR.mjs';
|
|
4
6
|
export { VerticalMarquee } from './chunk-JP5ZR2HI.mjs';
|
|
5
|
-
export {
|
|
7
|
+
export { SignInCallout, signInCalloutVariants } from './chunk-Z3KRMKHP.mjs';
|
|
6
8
|
export { Spinner, spinnerVariants } from './chunk-NCSFXSOZ.mjs';
|
|
7
9
|
export { StatCard } from './chunk-O2W7NR33.mjs';
|
|
8
10
|
export { StatusBadge, statusBadgeVariants } from './chunk-FZ7UNXSC.mjs';
|
|
9
11
|
export { Stepper } from './chunk-2ASKBL63.mjs';
|
|
10
12
|
export { Switch, switchThumbVariants, switchTrackVariants } from './chunk-DMCMWOBJ.mjs';
|
|
11
13
|
export { Tabs } from './chunk-VOZPGXQD.mjs';
|
|
12
|
-
export { Tag, tagVariants } from './chunk-WOG6V7OW.mjs';
|
|
13
14
|
export { RadioGroup } from './chunk-F2BUMJYW.mjs';
|
|
14
15
|
export { Rating } from './chunk-SGDC4IVX.mjs';
|
|
15
|
-
export { RoomTypeCard, RoomTypeCardSkeleton } from './chunk-
|
|
16
|
+
export { RoomTypeCard, RoomTypeCardSkeleton } from './chunk-IGBEBAPY.mjs';
|
|
16
17
|
export { Skeleton, SkeletonCircle, SkeletonImage, SkeletonText } from './chunk-PAHSQMXV.mjs';
|
|
17
18
|
export { SearchBar } from './chunk-KQK7LFWM.mjs';
|
|
19
|
+
export { SearchLoadingChecklist } from './chunk-SRYZ4N7T.mjs';
|
|
18
20
|
export { SegmentedControl } from './chunk-36Y7UU32.mjs';
|
|
19
21
|
export { Select, selectVariants } from './chunk-333YD5QI.mjs';
|
|
20
22
|
export { Sidebar } from './chunk-MPL35D5G.mjs';
|
|
21
|
-
export { SignInCallout, signInCalloutVariants } from './chunk-Z3KRMKHP.mjs';
|
|
22
23
|
export { LoadingOverlay } from './chunk-WVEJS2J2.mjs';
|
|
23
24
|
export { MegaMenu } from './chunk-EUEM2D5M.mjs';
|
|
24
25
|
export { MobileMenu } from './chunk-R4DC7XPP.mjs';
|
|
@@ -35,8 +36,8 @@ export { ImageWithFallback } from './chunk-BUXVK2HE.mjs';
|
|
|
35
36
|
export { Input, inputVariants } from './chunk-GRG4USTC.mjs';
|
|
36
37
|
export { Lightbox } from './chunk-GBWVIY3C.mjs';
|
|
37
38
|
export { LinkCard } from './chunk-UYDZKAGZ.mjs';
|
|
38
|
-
export { EmptyState } from './chunk-OCUHCDAQ.mjs';
|
|
39
39
|
export { DualRangeSlider } from './chunk-ERL3WXNY.mjs';
|
|
40
|
+
export { EmptyState } from './chunk-OCUHCDAQ.mjs';
|
|
40
41
|
export { ErrorBoundary } from './chunk-5257MWFI.mjs';
|
|
41
42
|
export { FilterAccordion } from './chunk-VQVRKRSM.mjs';
|
|
42
43
|
export { FilterPill } from './chunk-YKBASX5A.mjs';
|
|
@@ -51,18 +52,18 @@ export { DetailList } from './chunk-N6THLJIG.mjs';
|
|
|
51
52
|
export { Divider } from './chunk-E4B6LXK7.mjs';
|
|
52
53
|
export { Drawer } from './chunk-ZLF7IL3Y.mjs';
|
|
53
54
|
export { DropdownMenu } from './chunk-Q7BKR6O7.mjs';
|
|
54
|
-
export {
|
|
55
|
+
export { Avatar } from './chunk-2POGTS27.mjs';
|
|
56
|
+
export { Badge, badgeVariants } from './chunk-XZU2SISM.mjs';
|
|
55
57
|
export { Banner, bannerVariants } from './chunk-LFIZX2S6.mjs';
|
|
56
58
|
export { BottomNavBar } from './chunk-UQRQZLMQ.mjs';
|
|
57
|
-
export {
|
|
59
|
+
export { Breadcrumb, breadcrumbVariants } from './chunk-UKCH6RYL.mjs';
|
|
58
60
|
export { Button, buttonVariants } from './chunk-4U5MNA3B.mjs';
|
|
59
61
|
export { Card, CardContent, CardDescription, CardImage, CardTitle, cardImageVariants, cardVariants } from './chunk-V5J2XLPD.mjs';
|
|
60
|
-
export { Breadcrumb, breadcrumbVariants } from './chunk-UKCH6RYL.mjs';
|
|
61
62
|
export { CardList } from './chunk-RJWHPHHX.mjs';
|
|
62
63
|
export { Accordion } from './chunk-NZ7GF6RF.mjs';
|
|
63
|
-
export { AnchorTabs } from './chunk-M2H6QUAL.mjs';
|
|
64
|
-
export { Avatar } from './chunk-2POGTS27.mjs';
|
|
65
64
|
export { Alert } from './chunk-BQWVWK74.mjs';
|
|
65
|
+
export { AnchorTabs } from './chunk-M2H6QUAL.mjs';
|
|
66
|
+
export { Autocomplete, autocompleteInputVariants } from './chunk-B47HQHX3.mjs';
|
|
66
67
|
import { cn } from './chunk-IMKLN273.mjs';
|
|
67
68
|
export { cn } from './chunk-IMKLN273.mjs';
|
|
68
69
|
import * as React from 'react';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dododog/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"description": "React UI component library for DodoDog — pet-friendly travel platform",
|
|
5
5
|
"sideEffects": false,
|
|
6
6
|
"license": "MIT",
|
|
@@ -263,6 +263,11 @@
|
|
|
263
263
|
"import": "./dist/components/SearchBar/index.mjs",
|
|
264
264
|
"require": "./dist/components/SearchBar/index.js"
|
|
265
265
|
},
|
|
266
|
+
"./search-loading-checklist": {
|
|
267
|
+
"types": "./dist/components/SearchLoadingChecklist/index.d.ts",
|
|
268
|
+
"import": "./dist/components/SearchLoadingChecklist/index.mjs",
|
|
269
|
+
"require": "./dist/components/SearchLoadingChecklist/index.js"
|
|
270
|
+
},
|
|
266
271
|
"./segmented-control": {
|
|
267
272
|
"types": "./dist/components/SegmentedControl/index.d.ts",
|
|
268
273
|
"import": "./dist/components/SegmentedControl/index.mjs",
|
|
@@ -367,25 +372,19 @@
|
|
|
367
372
|
"main": "./dist/index.js",
|
|
368
373
|
"module": "./dist/index.mjs",
|
|
369
374
|
"types": "./dist/index.d.ts",
|
|
370
|
-
"scripts": {
|
|
371
|
-
"build": "NODE_OPTIONS='--max-old-space-size=8192' tsup",
|
|
372
|
-
"dev": "tsup --watch",
|
|
373
|
-
"lint": "eslint . --max-warnings 0",
|
|
374
|
-
"clean": "rm -rf .turbo node_modules dist"
|
|
375
|
-
},
|
|
376
375
|
"peerDependencies": {
|
|
377
376
|
"react": ">=18",
|
|
378
377
|
"tailwindcss": ">=3"
|
|
379
378
|
},
|
|
380
379
|
"devDependencies": {
|
|
381
|
-
"@dododog/eslint-config": "workspace:*",
|
|
382
|
-
"@dododog/typescript-config": "workspace:*",
|
|
383
380
|
"@types/react": "^18.2.61",
|
|
384
381
|
"@types/react-dom": "^18.2.19",
|
|
385
382
|
"eslint": "^8.57.0",
|
|
386
383
|
"react": "^18.2.0",
|
|
387
384
|
"tsup": "^8.0.2",
|
|
388
|
-
"typescript": "5.5.4"
|
|
385
|
+
"typescript": "5.5.4",
|
|
386
|
+
"@dododog/eslint-config": "0.0.0",
|
|
387
|
+
"@dododog/typescript-config": "0.0.0"
|
|
389
388
|
},
|
|
390
389
|
"publishConfig": {
|
|
391
390
|
"access": "public"
|
|
@@ -395,5 +394,11 @@
|
|
|
395
394
|
"class-variance-authority": "^0.7.1",
|
|
396
395
|
"clsx": "^2.1.1",
|
|
397
396
|
"tailwind-merge": "^2.6.1"
|
|
397
|
+
},
|
|
398
|
+
"scripts": {
|
|
399
|
+
"build": "NODE_OPTIONS='--max-old-space-size=8192' tsup",
|
|
400
|
+
"dev": "tsup --watch",
|
|
401
|
+
"lint": "eslint . --max-warnings 0",
|
|
402
|
+
"clean": "rm -rf .turbo node_modules dist"
|
|
398
403
|
}
|
|
399
|
-
}
|
|
404
|
+
}
|