@dododog/ui 0.9.1 → 0.9.2

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.
@@ -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.jsx("div", { className: "mt-0.5", children: /* @__PURE__ */ jsxRuntime.jsx(CancellationChip, { cancellation: rate.cancellation }) }),
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.jsxs(
154
+ "button",
155
+ {
156
+ type: "button",
157
+ onClick: () => setShowDetails((v) => !v),
158
+ "aria-expanded": showDetails,
159
+ className: "mt-1.5 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: [
@@ -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__ */ jsx("div", { className: "mt-0.5", children: /* @__PURE__ */ jsx(CancellationChip, { cancellation: rate.cancellation }) }),
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__ */ jsxs(
132
+ "button",
133
+ {
134
+ type: "button",
135
+ onClick: () => setShowDetails((v) => !v),
136
+ "aria-expanded": showDetails,
137
+ className: "mt-1.5 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: [
@@ -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 chunk3JM2X4I2_js = require('../../chunk-3JM2X4I2.js');
3
+ var chunkSATQIPV5_js = require('../../chunk-SATQIPV5.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 chunk3JM2X4I2_js.RoomTypeCard; }
11
+ get: function () { return chunkSATQIPV5_js.RoomTypeCard; }
12
12
  });
13
13
  Object.defineProperty(exports, "RoomTypeCardSkeleton", {
14
14
  enumerable: true,
15
- get: function () { return chunk3JM2X4I2_js.RoomTypeCardSkeleton; }
15
+ get: function () { return chunkSATQIPV5_js.RoomTypeCardSkeleton; }
16
16
  });
@@ -1,3 +1,3 @@
1
- export { RoomTypeCard, RoomTypeCardSkeleton } from '../../chunk-BFGRWOQM.mjs';
1
+ export { RoomTypeCard, RoomTypeCardSkeleton } from '../../chunk-ZEHZPS2P.mjs';
2
2
  import '../../chunk-PAHSQMXV.mjs';
3
3
  import '../../chunk-IMKLN273.mjs';
package/dist/index.d.mts CHANGED
@@ -64,7 +64,7 @@ export { Switch, SwitchProps, switchThumbVariants, switchTrackVariants } from '.
64
64
  export { DualRangeSlider, DualRangeSliderProps } from './components/DualRangeSlider/index.mjs';
65
65
  export { CardList, CardListProps } from './components/CardList/index.mjs';
66
66
  export { FilterAccordion, FilterAccordionItemData, FilterAccordionProps } from './components/FilterAccordion/index.mjs';
67
- export { RoomRate, RoomRateCancellation, RoomRateCancellationKind, RoomTypeCard, RoomTypeCardProps, RoomTypeCardSkeleton, RoomTypeCardSkeletonProps, RoomTypeData } from './components/RoomTypeCard/index.mjs';
67
+ export { RoomRate, RoomRateCancellation, RoomRateCancellationKind, RoomRateDetail, RoomTypeCard, RoomTypeCardProps, RoomTypeCardSkeleton, RoomTypeCardSkeletonProps, RoomTypeData } from './components/RoomTypeCard/index.mjs';
68
68
  import * as react_jsx_runtime from 'react/jsx-runtime';
69
69
  export { SignInCallout, SignInCalloutProps, signInCalloutVariants } from './components/SignInCallout/index.mjs';
70
70
  export { cn } from './utils/index.mjs';
package/dist/index.d.ts CHANGED
@@ -64,7 +64,7 @@ export { Switch, SwitchProps, switchThumbVariants, switchTrackVariants } from '.
64
64
  export { DualRangeSlider, DualRangeSliderProps } from './components/DualRangeSlider/index.js';
65
65
  export { CardList, CardListProps } from './components/CardList/index.js';
66
66
  export { FilterAccordion, FilterAccordionItemData, FilterAccordionProps } from './components/FilterAccordion/index.js';
67
- export { RoomRate, RoomRateCancellation, RoomRateCancellationKind, RoomTypeCard, RoomTypeCardProps, RoomTypeCardSkeleton, RoomTypeCardSkeletonProps, RoomTypeData } from './components/RoomTypeCard/index.js';
67
+ export { RoomRate, RoomRateCancellation, RoomRateCancellationKind, RoomRateDetail, RoomTypeCard, RoomTypeCardProps, RoomTypeCardSkeleton, RoomTypeCardSkeletonProps, RoomTypeData } from './components/RoomTypeCard/index.js';
68
68
  import * as react_jsx_runtime from 'react/jsx-runtime';
69
69
  export { SignInCallout, SignInCalloutProps, signInCalloutVariants } from './components/SignInCallout/index.js';
70
70
  export { cn } from './utils/index.js';
package/dist/index.js CHANGED
@@ -2,9 +2,9 @@
2
2
 
3
3
  var chunkL7OYR6U3_js = require('./chunk-L7OYR6U3.js');
4
4
  var chunkVTELEOT7_js = require('./chunk-VTELEOT7.js');
5
+ var chunkDTIYZ3TQ_js = require('./chunk-DTIYZ3TQ.js');
5
6
  var chunkE6ZNND75_js = require('./chunk-E6ZNND75.js');
6
7
  var chunkN3JU7JS7_js = require('./chunk-N3JU7JS7.js');
7
- var chunkDTIYZ3TQ_js = require('./chunk-DTIYZ3TQ.js');
8
8
  var chunkXHRDPJTF_js = require('./chunk-XHRDPJTF.js');
9
9
  var chunkTT7L3ZU7_js = require('./chunk-TT7L3ZU7.js');
10
10
  var chunkDFXXGKMI_js = require('./chunk-DFXXGKMI.js');
@@ -14,7 +14,7 @@ var chunk762LQMWP_js = require('./chunk-762LQMWP.js');
14
14
  var chunk7IJOHVNJ_js = require('./chunk-7IJOHVNJ.js');
15
15
  var chunkGXKON34B_js = require('./chunk-GXKON34B.js');
16
16
  var chunkTZHT7NZU_js = require('./chunk-TZHT7NZU.js');
17
- var chunk3JM2X4I2_js = require('./chunk-3JM2X4I2.js');
17
+ var chunkSATQIPV5_js = require('./chunk-SATQIPV5.js');
18
18
  var chunkNCU5PY34_js = require('./chunk-NCU5PY34.js');
19
19
  var chunkHS3MAW3G_js = require('./chunk-HS3MAW3G.js');
20
20
  var chunkQWDKSY6Y_js = require('./chunk-QWDKSY6Y.js');
@@ -37,8 +37,8 @@ var chunkDLOHAW74_js = require('./chunk-DLOHAW74.js');
37
37
  var chunk77WKG2D7_js = require('./chunk-77WKG2D7.js');
38
38
  var chunkU3XWNFHH_js = require('./chunk-U3XWNFHH.js');
39
39
  var chunkW7DZZS6L_js = require('./chunk-W7DZZS6L.js');
40
- var chunkIEHX4DU6_js = require('./chunk-IEHX4DU6.js');
41
40
  var chunkTDGU5Y2P_js = require('./chunk-TDGU5Y2P.js');
41
+ var chunkIEHX4DU6_js = require('./chunk-IEHX4DU6.js');
42
42
  var chunkS5TLUDNM_js = require('./chunk-S5TLUDNM.js');
43
43
  var chunk7W3TFPIF_js = require('./chunk-7W3TFPIF.js');
44
44
  var chunkTJDHGNMR_js = require('./chunk-TJDHGNMR.js');
@@ -53,18 +53,18 @@ var chunkE24VNM6S_js = require('./chunk-E24VNM6S.js');
53
53
  var chunkXXC2YD3D_js = require('./chunk-XXC2YD3D.js');
54
54
  var chunkVWFY24XF_js = require('./chunk-VWFY24XF.js');
55
55
  var chunkT5FLQQP6_js = require('./chunk-T5FLQQP6.js');
56
+ var chunkZ5S7LHMY_js = require('./chunk-Z5S7LHMY.js');
56
57
  var chunkNHB2TI2B_js = require('./chunk-NHB2TI2B.js');
57
58
  var chunk6EG6EAHW_js = require('./chunk-6EG6EAHW.js');
58
59
  var chunkPND5YKFN_js = require('./chunk-PND5YKFN.js');
59
- var chunkZ5S7LHMY_js = require('./chunk-Z5S7LHMY.js');
60
+ var chunkH3JNRTAI_js = require('./chunk-H3JNRTAI.js');
60
61
  var chunkYZTVHCLK_js = require('./chunk-YZTVHCLK.js');
61
62
  var chunkZAUYE2EI_js = require('./chunk-ZAUYE2EI.js');
62
- var chunkH3JNRTAI_js = require('./chunk-H3JNRTAI.js');
63
63
  var chunkMY6BYO5F_js = require('./chunk-MY6BYO5F.js');
64
64
  var chunkMCF3EQTV_js = require('./chunk-MCF3EQTV.js');
65
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 chunkEY4ZIR3P_js = require('./chunk-EY4ZIR3P.js');
68
68
  var chunkADIDI7AJ_js = require('./chunk-ADIDI7AJ.js');
69
69
  var React = require('react');
70
70
  var classVarianceAuthority = require('class-variance-authority');
@@ -501,6 +501,10 @@ Object.defineProperty(exports, "toastVariants", {
501
501
  enumerable: true,
502
502
  get: function () { return chunkVTELEOT7_js.toastVariants; }
503
503
  });
504
+ Object.defineProperty(exports, "Toggle", {
505
+ enumerable: true,
506
+ get: function () { return chunkDTIYZ3TQ_js.Toggle; }
507
+ });
504
508
  Object.defineProperty(exports, "Tooltip", {
505
509
  enumerable: true,
506
510
  get: function () { return chunkE6ZNND75_js.Tooltip; }
@@ -509,10 +513,6 @@ Object.defineProperty(exports, "VerticalMarquee", {
509
513
  enumerable: true,
510
514
  get: function () { return chunkN3JU7JS7_js.VerticalMarquee; }
511
515
  });
512
- Object.defineProperty(exports, "Toggle", {
513
- enumerable: true,
514
- get: function () { return chunkDTIYZ3TQ_js.Toggle; }
515
- });
516
516
  Object.defineProperty(exports, "Spinner", {
517
517
  enumerable: true,
518
518
  get: function () { return chunkXHRDPJTF_js.Spinner; }
@@ -571,11 +571,11 @@ Object.defineProperty(exports, "Rating", {
571
571
  });
572
572
  Object.defineProperty(exports, "RoomTypeCard", {
573
573
  enumerable: true,
574
- get: function () { return chunk3JM2X4I2_js.RoomTypeCard; }
574
+ get: function () { return chunkSATQIPV5_js.RoomTypeCard; }
575
575
  });
576
576
  Object.defineProperty(exports, "RoomTypeCardSkeleton", {
577
577
  enumerable: true,
578
- get: function () { return chunk3JM2X4I2_js.RoomTypeCardSkeleton; }
578
+ get: function () { return chunkSATQIPV5_js.RoomTypeCardSkeleton; }
579
579
  });
580
580
  Object.defineProperty(exports, "Skeleton", {
581
581
  enumerable: true,
@@ -705,14 +705,14 @@ Object.defineProperty(exports, "LinkCard", {
705
705
  enumerable: true,
706
706
  get: function () { return chunkW7DZZS6L_js.LinkCard; }
707
707
  });
708
- Object.defineProperty(exports, "EmptyState", {
709
- enumerable: true,
710
- get: function () { return chunkIEHX4DU6_js.EmptyState; }
711
- });
712
708
  Object.defineProperty(exports, "DualRangeSlider", {
713
709
  enumerable: true,
714
710
  get: function () { return chunkTDGU5Y2P_js.DualRangeSlider; }
715
711
  });
712
+ Object.defineProperty(exports, "EmptyState", {
713
+ enumerable: true,
714
+ get: function () { return chunkIEHX4DU6_js.EmptyState; }
715
+ });
716
716
  Object.defineProperty(exports, "ErrorBoundary", {
717
717
  enumerable: true,
718
718
  get: function () { return chunkS5TLUDNM_js.ErrorBoundary; }
@@ -773,6 +773,14 @@ Object.defineProperty(exports, "DropdownMenu", {
773
773
  enumerable: true,
774
774
  get: function () { return chunkT5FLQQP6_js.DropdownMenu; }
775
775
  });
776
+ Object.defineProperty(exports, "Badge", {
777
+ enumerable: true,
778
+ get: function () { return chunkZ5S7LHMY_js.Badge; }
779
+ });
780
+ Object.defineProperty(exports, "badgeVariants", {
781
+ enumerable: true,
782
+ get: function () { return chunkZ5S7LHMY_js.badgeVariants; }
783
+ });
776
784
  Object.defineProperty(exports, "Autocomplete", {
777
785
  enumerable: true,
778
786
  get: function () { return chunkNHB2TI2B_js.Autocomplete; }
@@ -793,13 +801,13 @@ Object.defineProperty(exports, "BottomNavBar", {
793
801
  enumerable: true,
794
802
  get: function () { return chunkPND5YKFN_js.BottomNavBar; }
795
803
  });
796
- Object.defineProperty(exports, "Badge", {
804
+ Object.defineProperty(exports, "Breadcrumb", {
797
805
  enumerable: true,
798
- get: function () { return chunkZ5S7LHMY_js.Badge; }
806
+ get: function () { return chunkH3JNRTAI_js.Breadcrumb; }
799
807
  });
800
- Object.defineProperty(exports, "badgeVariants", {
808
+ Object.defineProperty(exports, "breadcrumbVariants", {
801
809
  enumerable: true,
802
- get: function () { return chunkZ5S7LHMY_js.badgeVariants; }
810
+ get: function () { return chunkH3JNRTAI_js.breadcrumbVariants; }
803
811
  });
804
812
  Object.defineProperty(exports, "Button", {
805
813
  enumerable: true,
@@ -837,14 +845,6 @@ Object.defineProperty(exports, "cardVariants", {
837
845
  enumerable: true,
838
846
  get: function () { return chunkZAUYE2EI_js.cardVariants; }
839
847
  });
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
848
  Object.defineProperty(exports, "CardList", {
849
849
  enumerable: true,
850
850
  get: function () { return chunkMY6BYO5F_js.CardList; }
@@ -857,14 +857,14 @@ Object.defineProperty(exports, "AnchorTabs", {
857
857
  enumerable: true,
858
858
  get: function () { return chunkWXEZA6NE_js.AnchorTabs; }
859
859
  });
860
- Object.defineProperty(exports, "Avatar", {
861
- enumerable: true,
862
- get: function () { return chunkEY4ZIR3P_js.Avatar; }
863
- });
864
860
  Object.defineProperty(exports, "Alert", {
865
861
  enumerable: true,
866
862
  get: function () { return chunkWBRVUWGC_js.Alert; }
867
863
  });
864
+ Object.defineProperty(exports, "Avatar", {
865
+ enumerable: true,
866
+ get: function () { return chunkEY4ZIR3P_js.Avatar; }
867
+ });
868
868
  Object.defineProperty(exports, "cn", {
869
869
  enumerable: true,
870
870
  get: function () { return chunkADIDI7AJ_js.cn; }
package/dist/index.mjs CHANGED
@@ -1,8 +1,8 @@
1
1
  export { Textarea, textareaVariants } from './chunk-ZZ4EWC53.mjs';
2
2
  export { Toast, toastVariants } from './chunk-YVTUUNAX.mjs';
3
+ export { Toggle } from './chunk-2AB5ZHY5.mjs';
3
4
  export { Tooltip } from './chunk-2MJTZ6RR.mjs';
4
5
  export { VerticalMarquee } from './chunk-JP5ZR2HI.mjs';
5
- export { Toggle } from './chunk-2AB5ZHY5.mjs';
6
6
  export { Spinner, spinnerVariants } from './chunk-NCSFXSOZ.mjs';
7
7
  export { StatCard } from './chunk-O2W7NR33.mjs';
8
8
  export { StatusBadge, statusBadgeVariants } from './chunk-FZ7UNXSC.mjs';
@@ -12,7 +12,7 @@ export { Tabs } from './chunk-VOZPGXQD.mjs';
12
12
  export { Tag, tagVariants } from './chunk-WOG6V7OW.mjs';
13
13
  export { RadioGroup } from './chunk-F2BUMJYW.mjs';
14
14
  export { Rating } from './chunk-SGDC4IVX.mjs';
15
- export { RoomTypeCard, RoomTypeCardSkeleton } from './chunk-BFGRWOQM.mjs';
15
+ export { RoomTypeCard, RoomTypeCardSkeleton } from './chunk-ZEHZPS2P.mjs';
16
16
  export { Skeleton, SkeletonCircle, SkeletonImage, SkeletonText } from './chunk-PAHSQMXV.mjs';
17
17
  export { SearchBar } from './chunk-KQK7LFWM.mjs';
18
18
  export { SegmentedControl } from './chunk-36Y7UU32.mjs';
@@ -35,8 +35,8 @@ export { ImageWithFallback } from './chunk-BUXVK2HE.mjs';
35
35
  export { Input, inputVariants } from './chunk-GRG4USTC.mjs';
36
36
  export { Lightbox } from './chunk-GBWVIY3C.mjs';
37
37
  export { LinkCard } from './chunk-UYDZKAGZ.mjs';
38
- export { EmptyState } from './chunk-OCUHCDAQ.mjs';
39
38
  export { DualRangeSlider } from './chunk-ERL3WXNY.mjs';
39
+ export { EmptyState } from './chunk-OCUHCDAQ.mjs';
40
40
  export { ErrorBoundary } from './chunk-5257MWFI.mjs';
41
41
  export { FilterAccordion } from './chunk-VQVRKRSM.mjs';
42
42
  export { FilterPill } from './chunk-YKBASX5A.mjs';
@@ -51,18 +51,18 @@ export { DetailList } from './chunk-N6THLJIG.mjs';
51
51
  export { Divider } from './chunk-E4B6LXK7.mjs';
52
52
  export { Drawer } from './chunk-ZLF7IL3Y.mjs';
53
53
  export { DropdownMenu } from './chunk-Q7BKR6O7.mjs';
54
+ export { Badge, badgeVariants } from './chunk-XZU2SISM.mjs';
54
55
  export { Autocomplete, autocompleteInputVariants } from './chunk-B47HQHX3.mjs';
55
56
  export { Banner, bannerVariants } from './chunk-LFIZX2S6.mjs';
56
57
  export { BottomNavBar } from './chunk-UQRQZLMQ.mjs';
57
- export { Badge, badgeVariants } from './chunk-XZU2SISM.mjs';
58
+ export { Breadcrumb, breadcrumbVariants } from './chunk-UKCH6RYL.mjs';
58
59
  export { Button, buttonVariants } from './chunk-4U5MNA3B.mjs';
59
60
  export { Card, CardContent, CardDescription, CardImage, CardTitle, cardImageVariants, cardVariants } from './chunk-V5J2XLPD.mjs';
60
- export { Breadcrumb, breadcrumbVariants } from './chunk-UKCH6RYL.mjs';
61
61
  export { CardList } from './chunk-RJWHPHHX.mjs';
62
62
  export { Accordion } from './chunk-NZ7GF6RF.mjs';
63
63
  export { AnchorTabs } from './chunk-M2H6QUAL.mjs';
64
- export { Avatar } from './chunk-2POGTS27.mjs';
65
64
  export { Alert } from './chunk-BQWVWK74.mjs';
65
+ export { Avatar } from './chunk-2POGTS27.mjs';
66
66
  import { cn } from './chunk-IMKLN273.mjs';
67
67
  export { cn } from './chunk-IMKLN273.mjs';
68
68
  import * as React from 'react';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dododog/ui",
3
- "version": "0.9.1",
3
+ "version": "0.9.2",
4
4
  "description": "React UI component library for DodoDog — pet-friendly travel platform",
5
5
  "sideEffects": false,
6
6
  "license": "MIT",