@stoovles/gap-kit 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/index.js +2417 -0
  2. package/dist/styles.css +4309 -0
  3. package/guidelines/components/accordion.md +99 -0
  4. package/guidelines/components/breadcrumb.md +74 -0
  5. package/guidelines/components/buttons.md +90 -0
  6. package/guidelines/components/checkbox.md +86 -0
  7. package/guidelines/components/chip.md +77 -0
  8. package/guidelines/components/divider.md +52 -0
  9. package/guidelines/components/dropdown.md +125 -0
  10. package/guidelines/components/filter-sort.md +108 -0
  11. package/guidelines/components/fulfillment.md +100 -0
  12. package/guidelines/components/global-footer.md +71 -0
  13. package/guidelines/components/global-header.md +67 -0
  14. package/guidelines/components/hamburger-nav.md +79 -0
  15. package/guidelines/components/handle.md +49 -0
  16. package/guidelines/components/icons.md +147 -0
  17. package/guidelines/components/link.md +70 -0
  18. package/guidelines/components/logo.md +63 -0
  19. package/guidelines/components/mega-nav.md +103 -0
  20. package/guidelines/components/notification.md +97 -0
  21. package/guidelines/components/pagination.md +88 -0
  22. package/guidelines/components/popover.md +77 -0
  23. package/guidelines/components/price.md +86 -0
  24. package/guidelines/components/product-card.md +82 -0
  25. package/guidelines/components/radio.md +92 -0
  26. package/guidelines/components/search-input.md +63 -0
  27. package/guidelines/components/selector-swatch.md +78 -0
  28. package/guidelines/components/selector.md +95 -0
  29. package/guidelines/components/slider.md +116 -0
  30. package/guidelines/components/switch.md +108 -0
  31. package/guidelines/components/tabs.md +83 -0
  32. package/guidelines/components/text-input.md +80 -0
  33. package/guidelines/composition/buy-box.md +132 -0
  34. package/guidelines/composition/recommendations.md +100 -0
  35. package/package.json +38 -0
package/dist/index.js ADDED
@@ -0,0 +1,2417 @@
1
+ import { jsx as e, jsxs as a, Fragment as N } from "react/jsx-runtime";
2
+ import S, { useId as G, useState as B, useRef as Z, useCallback as A, useEffect as D } from "react";
3
+ const T = {
4
+ x: /* @__PURE__ */ e(
5
+ "path",
6
+ {
7
+ d: "M13.3 0L7 6.3L0.7 0L0 0.7L6.3 7L0 13.3L0.7 14L7 7.7L13.3 14L14 13.3L7.7 7L14 0.7L13.3 0Z",
8
+ fill: "currentColor"
9
+ }
10
+ ),
11
+ "chevron-left": /* @__PURE__ */ e(
12
+ "path",
13
+ {
14
+ d: "M8 0L0 7L8 14",
15
+ fill: "none",
16
+ stroke: "currentColor",
17
+ strokeWidth: "1.5"
18
+ }
19
+ ),
20
+ "chevron-right": /* @__PURE__ */ e(
21
+ "path",
22
+ {
23
+ d: "M0 0L8 7L0 14",
24
+ fill: "none",
25
+ stroke: "currentColor",
26
+ strokeWidth: "1.5"
27
+ }
28
+ ),
29
+ "chevron-down": /* @__PURE__ */ e(
30
+ "path",
31
+ {
32
+ d: "M0 0L7 8L14 0",
33
+ fill: "none",
34
+ stroke: "currentColor",
35
+ strokeWidth: "1.5"
36
+ }
37
+ ),
38
+ "chevron-up": /* @__PURE__ */ e(
39
+ "path",
40
+ {
41
+ d: "M0 8L7 0L14 8",
42
+ fill: "none",
43
+ stroke: "currentColor",
44
+ strokeWidth: "1.5"
45
+ }
46
+ ),
47
+ search: /* @__PURE__ */ a(N, { children: [
48
+ /* @__PURE__ */ e(
49
+ "circle",
50
+ {
51
+ cx: "6",
52
+ cy: "6",
53
+ r: "5.25",
54
+ fill: "none",
55
+ stroke: "currentColor",
56
+ strokeWidth: "1.5"
57
+ }
58
+ ),
59
+ /* @__PURE__ */ e(
60
+ "line",
61
+ {
62
+ x1: "10",
63
+ y1: "10",
64
+ x2: "14",
65
+ y2: "14",
66
+ stroke: "currentColor",
67
+ strokeWidth: "1.5"
68
+ }
69
+ )
70
+ ] }),
71
+ menu: /* @__PURE__ */ a(N, { children: [
72
+ /* @__PURE__ */ e("line", { x1: "0", y1: "1", x2: "14", y2: "1", stroke: "currentColor", strokeWidth: "1.5" }),
73
+ /* @__PURE__ */ e("line", { x1: "0", y1: "7", x2: "14", y2: "7", stroke: "currentColor", strokeWidth: "1.5" }),
74
+ /* @__PURE__ */ e("line", { x1: "0", y1: "13", x2: "14", y2: "13", stroke: "currentColor", strokeWidth: "1.5" })
75
+ ] }),
76
+ bag: /* @__PURE__ */ a(N, { children: [
77
+ /* @__PURE__ */ e(
78
+ "path",
79
+ {
80
+ d: "M2 5L0 14H14L12 5H2Z",
81
+ fill: "none",
82
+ stroke: "currentColor",
83
+ strokeWidth: "1.2"
84
+ }
85
+ ),
86
+ /* @__PURE__ */ e(
87
+ "path",
88
+ {
89
+ d: "M4 5V3C4 1.34 5.34 0 7 0C8.66 0 10 1.34 10 3V5",
90
+ fill: "none",
91
+ stroke: "currentColor",
92
+ strokeWidth: "1.2"
93
+ }
94
+ )
95
+ ] }),
96
+ profile: /* @__PURE__ */ a(N, { children: [
97
+ /* @__PURE__ */ e(
98
+ "circle",
99
+ {
100
+ cx: "7",
101
+ cy: "4",
102
+ r: "3.25",
103
+ fill: "none",
104
+ stroke: "currentColor",
105
+ strokeWidth: "1.5"
106
+ }
107
+ ),
108
+ /* @__PURE__ */ e(
109
+ "path",
110
+ {
111
+ d: "M0.5 14C0.5 11 3.4 8.5 7 8.5C10.6 8.5 13.5 11 13.5 14",
112
+ fill: "none",
113
+ stroke: "currentColor",
114
+ strokeWidth: "1.5"
115
+ }
116
+ )
117
+ ] }),
118
+ "checkmark-outlined": /* @__PURE__ */ e(
119
+ "path",
120
+ {
121
+ d: "M1 7.5L5 12L13 2",
122
+ fill: "none",
123
+ stroke: "currentColor",
124
+ strokeWidth: "1.5",
125
+ strokeLinecap: "round",
126
+ strokeLinejoin: "round"
127
+ }
128
+ ),
129
+ "checkmark-filled": /* @__PURE__ */ a(N, { children: [
130
+ /* @__PURE__ */ e("circle", { cx: "7", cy: "7", r: "7", fill: "currentColor" }),
131
+ /* @__PURE__ */ e(
132
+ "path",
133
+ {
134
+ d: "M4 7L6.5 9.5L10 4.5",
135
+ fill: "none",
136
+ stroke: "var(--color-white, #fff)",
137
+ strokeWidth: "1.5",
138
+ strokeLinecap: "round",
139
+ strokeLinejoin: "round"
140
+ }
141
+ )
142
+ ] }),
143
+ filter: /* @__PURE__ */ a(N, { children: [
144
+ /* @__PURE__ */ e("line", { x1: "0", y1: "2.5", x2: "14", y2: "2.5", stroke: "currentColor", strokeWidth: "1.2" }),
145
+ /* @__PURE__ */ e("line", { x1: "0", y1: "7", x2: "14", y2: "7", stroke: "currentColor", strokeWidth: "1.2" }),
146
+ /* @__PURE__ */ e("line", { x1: "0", y1: "11.5", x2: "14", y2: "11.5", stroke: "currentColor", strokeWidth: "1.2" }),
147
+ /* @__PURE__ */ e("circle", { cx: "4", cy: "2.5", r: "1.5", fill: "currentColor" }),
148
+ /* @__PURE__ */ e("circle", { cx: "10", cy: "7", r: "1.5", fill: "currentColor" }),
149
+ /* @__PURE__ */ e("circle", { cx: "6", cy: "11.5", r: "1.5", fill: "currentColor" })
150
+ ] }),
151
+ play: /* @__PURE__ */ e("path", { d: "M1 0.5V13.5L12 7L1 0.5Z", fill: "currentColor" }),
152
+ pause: /* @__PURE__ */ a(N, { children: [
153
+ /* @__PURE__ */ e("rect", { x: "1", y: "1", width: "4", height: "12", fill: "currentColor" }),
154
+ /* @__PURE__ */ e("rect", { x: "9", y: "1", width: "4", height: "12", fill: "currentColor" })
155
+ ] }),
156
+ info: /* @__PURE__ */ a(N, { children: [
157
+ /* @__PURE__ */ e(
158
+ "circle",
159
+ {
160
+ cx: "7",
161
+ cy: "7",
162
+ r: "6.25",
163
+ fill: "none",
164
+ stroke: "currentColor",
165
+ strokeWidth: "1.5"
166
+ }
167
+ ),
168
+ /* @__PURE__ */ e("line", { x1: "7", y1: "6", x2: "7", y2: "11", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }),
169
+ /* @__PURE__ */ e("circle", { cx: "7", cy: "3.75", r: "0.75", fill: "currentColor" })
170
+ ] }),
171
+ "info-circle": /* @__PURE__ */ a(N, { children: [
172
+ /* @__PURE__ */ e("circle", { cx: "7", cy: "7", r: "7", fill: "currentColor" }),
173
+ /* @__PURE__ */ e("line", { x1: "7", y1: "6", x2: "7", y2: "11", stroke: "var(--color-white, #fff)", strokeWidth: "1.5", strokeLinecap: "round" }),
174
+ /* @__PURE__ */ e("circle", { cx: "7", cy: "3.75", r: "0.75", fill: "var(--color-white, #fff)" })
175
+ ] }),
176
+ "alert-circle": /* @__PURE__ */ a(N, { children: [
177
+ /* @__PURE__ */ e("circle", { cx: "7", cy: "7", r: "7", fill: "currentColor" }),
178
+ /* @__PURE__ */ e("line", { x1: "7", y1: "3.5", x2: "7", y2: "8", stroke: "var(--color-white, #fff)", strokeWidth: "1.5", strokeLinecap: "round" }),
179
+ /* @__PURE__ */ e("circle", { cx: "7", cy: "10.5", r: "0.75", fill: "var(--color-white, #fff)" })
180
+ ] }),
181
+ fire: /* @__PURE__ */ e(
182
+ "path",
183
+ {
184
+ d: "M5.5 0C5.5 0 3 3.5 3 6C3 7.38 3.62 8.5 4.5 9.2C3.9 8.2 4 6.5 5.5 4.5C5.5 4.5 6 7 7.5 8.5C9 10 8.5 11.5 7 12.5C9.5 12.5 11 10.5 11 8C11 4.5 7 2 5.5 0Z",
185
+ fill: "currentColor"
186
+ }
187
+ ),
188
+ "star-filled": /* @__PURE__ */ e(
189
+ "path",
190
+ {
191
+ d: "M7 0L9.1 4.6L14 5.1L10.3 8.5L11.3 13.3L7 10.9L2.7 13.3L3.7 8.5L0 5.1L4.9 4.6L7 0Z",
192
+ fill: "currentColor"
193
+ }
194
+ ),
195
+ "star-half": /* @__PURE__ */ a(N, { children: [
196
+ /* @__PURE__ */ e(
197
+ "path",
198
+ {
199
+ d: "M7 0L9.1 4.6L14 5.1L10.3 8.5L11.3 13.3L7 10.9L2.7 13.3L3.7 8.5L0 5.1L4.9 4.6L7 0Z",
200
+ fill: "none",
201
+ stroke: "currentColor",
202
+ strokeWidth: "1"
203
+ }
204
+ ),
205
+ /* @__PURE__ */ e(
206
+ "path",
207
+ {
208
+ d: "M7 0L7 10.9L2.7 13.3L3.7 8.5L0 5.1L4.9 4.6L7 0Z",
209
+ fill: "currentColor"
210
+ }
211
+ )
212
+ ] }),
213
+ "star-empty": /* @__PURE__ */ e(
214
+ "path",
215
+ {
216
+ d: "M7 0L9.1 4.6L14 5.1L10.3 8.5L11.3 13.3L7 10.9L2.7 13.3L3.7 8.5L0 5.1L4.9 4.6L7 0Z",
217
+ fill: "none",
218
+ stroke: "currentColor",
219
+ strokeWidth: "1.2"
220
+ }
221
+ ),
222
+ "email-outlined": /* @__PURE__ */ a(N, { children: [
223
+ /* @__PURE__ */ e(
224
+ "rect",
225
+ {
226
+ x: "0.5",
227
+ y: "1.5",
228
+ width: "13",
229
+ height: "11",
230
+ rx: "1",
231
+ fill: "none",
232
+ stroke: "currentColor",
233
+ strokeWidth: "1.2"
234
+ }
235
+ ),
236
+ /* @__PURE__ */ e(
237
+ "path",
238
+ {
239
+ d: "M0.5 2.5L7 7.5L13.5 2.5",
240
+ fill: "none",
241
+ stroke: "currentColor",
242
+ strokeWidth: "1.2"
243
+ }
244
+ )
245
+ ] }),
246
+ "location-outlined": /* @__PURE__ */ e(
247
+ "path",
248
+ {
249
+ d: "M7 0.5C4.24 0.5 2 2.74 2 5.5C2 9.5 7 13.5 7 13.5C7 13.5 12 9.5 12 5.5C12 2.74 9.76 0.5 7 0.5ZM7 7.5C5.9 7.5 5 6.6 5 5.5C5 4.4 5.9 3.5 7 3.5C8.1 3.5 9 4.4 9 5.5C9 6.6 8.1 7.5 7 7.5Z",
250
+ fill: "none",
251
+ stroke: "currentColor",
252
+ strokeWidth: "1.2"
253
+ }
254
+ ),
255
+ "location-filled": /* @__PURE__ */ e(
256
+ "path",
257
+ {
258
+ d: "M7 0C4.24 0 2 2.24 2 5C2 9 7 14 7 14C7 14 12 9 12 5C12 2.24 9.76 0 7 0ZM7 7C5.9 7 5 6.1 5 5C5 3.9 5.9 3 7 3C8.1 3 9 3.9 9 5C9 6.1 8.1 7 7 7Z",
259
+ fill: "currentColor"
260
+ }
261
+ ),
262
+ phone: /* @__PURE__ */ e(
263
+ "path",
264
+ {
265
+ d: "M4 0H2C0.9 0 0 0.9 0 2V12C0 13.1 0.9 14 2 14H4C5.1 14 6 13.1 6 12V2C6 0.9 5.1 0 4 0ZM3 13C2.45 13 2 12.55 2 12C2 11.45 2.45 11 3 11C3.55 11 4 11.45 4 12C4 12.55 3.55 13 3 13Z",
266
+ fill: "currentColor"
267
+ }
268
+ ),
269
+ show: /* @__PURE__ */ a(N, { children: [
270
+ /* @__PURE__ */ e(
271
+ "path",
272
+ {
273
+ d: "M7 3C3 3 0.5 7 0.5 7C0.5 7 3 11 7 11C11 11 13.5 7 13.5 7C13.5 7 11 3 7 3Z",
274
+ fill: "none",
275
+ stroke: "currentColor",
276
+ strokeWidth: "1.2"
277
+ }
278
+ ),
279
+ /* @__PURE__ */ e("circle", { cx: "7", cy: "7", r: "2", fill: "currentColor" })
280
+ ] }),
281
+ swatch: /* @__PURE__ */ e("circle", { cx: "7", cy: "7", r: "6.25", fill: "none", stroke: "currentColor", strokeWidth: "1.5" }),
282
+ loader: /* @__PURE__ */ a(N, { children: [
283
+ /* @__PURE__ */ e("circle", { cx: "2", cy: "7", r: "1.5", fill: "currentColor", opacity: "0.3" }),
284
+ /* @__PURE__ */ e("circle", { cx: "7", cy: "7", r: "1.5", fill: "currentColor", opacity: "0.6" }),
285
+ /* @__PURE__ */ e("circle", { cx: "12", cy: "7", r: "1.5", fill: "currentColor" })
286
+ ] }),
287
+ quickadd: /* @__PURE__ */ a(N, { children: [
288
+ /* @__PURE__ */ e(
289
+ "path",
290
+ {
291
+ d: "M2 5L0 14H14L12 5H2Z",
292
+ fill: "none",
293
+ stroke: "currentColor",
294
+ strokeWidth: "1.2"
295
+ }
296
+ ),
297
+ /* @__PURE__ */ e(
298
+ "path",
299
+ {
300
+ d: "M4 5V3C4 1.34 5.34 0 7 0C8.66 0 10 1.34 10 3V5",
301
+ fill: "none",
302
+ stroke: "currentColor",
303
+ strokeWidth: "1.2"
304
+ }
305
+ ),
306
+ /* @__PURE__ */ e("line", { x1: "7", y1: "7.5", x2: "7", y2: "12.5", stroke: "currentColor", strokeWidth: "1.2" }),
307
+ /* @__PURE__ */ e("line", { x1: "4.5", y1: "10", x2: "9.5", y2: "10", stroke: "currentColor", strokeWidth: "1.2" })
308
+ ] }),
309
+ "volume-on": /* @__PURE__ */ a(N, { children: [
310
+ /* @__PURE__ */ e("path", { d: "M0 5V9H3L7 13V1L3 5H0Z", fill: "currentColor" }),
311
+ /* @__PURE__ */ e(
312
+ "path",
313
+ {
314
+ d: "M9.5 3.5C10.5 4.5 11 5.7 11 7C11 8.3 10.5 9.5 9.5 10.5",
315
+ fill: "none",
316
+ stroke: "currentColor",
317
+ strokeWidth: "1.2",
318
+ strokeLinecap: "round"
319
+ }
320
+ )
321
+ ] }),
322
+ "volume-off": /* @__PURE__ */ a(N, { children: [
323
+ /* @__PURE__ */ e("path", { d: "M0 5V9H3L7 13V1L3 5H0Z", fill: "currentColor" }),
324
+ /* @__PURE__ */ e("line", { x1: "10", y1: "5", x2: "14", y2: "9", stroke: "currentColor", strokeWidth: "1.2", strokeLinecap: "round" }),
325
+ /* @__PURE__ */ e("line", { x1: "14", y1: "5", x2: "10", y2: "9", stroke: "currentColor", strokeWidth: "1.2", strokeLinecap: "round" })
326
+ ] })
327
+ }, R = {
328
+ 12: 12,
329
+ 16: 16,
330
+ 24: 24,
331
+ 32: 32
332
+ };
333
+ function Me({
334
+ name: r,
335
+ size: l = 16,
336
+ color: n = "dark",
337
+ className: i,
338
+ "aria-label": t
339
+ }) {
340
+ const o = R[l], s = T[r];
341
+ return /* @__PURE__ */ e(
342
+ "svg",
343
+ {
344
+ xmlns: "http://www.w3.org/2000/svg",
345
+ width: o,
346
+ height: o,
347
+ viewBox: "0 0 14 14",
348
+ fill: "none",
349
+ style: { color: n === "dark" ? "var(--color-icon-default, #000)" : "var(--color-icon-inverse, #fff)" },
350
+ className: i,
351
+ role: t ? "img" : "presentation",
352
+ "aria-label": t,
353
+ "aria-hidden": !t,
354
+ children: s
355
+ }
356
+ );
357
+ }
358
+ function Be({
359
+ color: r = "dark",
360
+ height: l = 60,
361
+ className: n,
362
+ "aria-label": i = "Gap"
363
+ }) {
364
+ const t = Math.round(1.35 * l);
365
+ return /* @__PURE__ */ e(
366
+ "svg",
367
+ {
368
+ xmlns: "http://www.w3.org/2000/svg",
369
+ width: t,
370
+ height: l,
371
+ viewBox: "0 0 81 60",
372
+ fill: "none",
373
+ className: n,
374
+ role: "img",
375
+ "aria-label": i,
376
+ children: /* @__PURE__ */ e(
377
+ "path",
378
+ {
379
+ d: "M8.16223 60C4.14335 59.9524 0.0574468 58.5447 0 50.9567V7.3108C0.0131649 1.37792 4.5383 0.013089 7.6871 0C9.78012 0.0800684 11.8099 0.734926 13.5515 1.89196C14.0434 2.19181 14.6525 2.26678 14.6561 1.32318V0.5307H16.1162V19.0731H14.0721C13.0117 19.0731 12.6515 18.7482 12.6515 17.7939C12.6256 13.6656 12.2698 9.54586 11.5875 5.47358C10.9616 2.82247 9.61277 1.08044 7.67633 1.07092C5.3246 1.05069 5.04335 4.2218 5.04335 5.58187V55.633C5.02331 56.0638 5.08982 56.4942 5.23901 56.8991C5.3882 57.3041 5.61707 57.6753 5.91224 57.9913C6.20742 58.3073 6.56298 58.5616 6.95814 58.7393C7.3533 58.9171 7.78013 59.0148 8.2137 59.0267C8.65741 59.026 9.09651 58.9371 9.50514 58.7652C9.91376 58.5932 10.2837 58.3417 10.593 58.0255C10.9024 57.7093 11.145 57.3347 11.3065 56.9238C11.4681 56.5129 11.5453 56.074 11.5336 55.633V33.471H8.34056V32.3905H19.3751V33.471H16.7625V59.5121H15.4628C15.4628 58.3924 14.7267 57.788 14.0565 58.045C12.8023 58.54 11.3039 59.9976 8.2113 59.9976L8.16223 60ZM61.2072 59.3015V58.296H61.7852C63.5386 58.2282 63.9969 57.8082 64.0592 56.6147V1.50405H61.2036V0.574726H72.0491C78.4544 0.568777 81 3.51261 81 6.78605V27.7784C81 31.0531 78.0463 33.4983 72.8617 33.4983H69.3024V55.6592C69.3395 57.406 70.0971 58.2258 72.1496 58.296H73.4338V59.3015H61.2072ZM69.3024 30.2225V32.3382H72.2944C72.7618 32.3615 73.2289 32.2867 73.6653 32.1188C74.1017 31.9508 74.4977 31.6935 74.8275 31.3634C75.1573 31.0333 75.4136 30.638 75.5797 30.203C75.7458 29.768 75.8179 29.3032 75.7915 28.8386V5.27844C75.7993 4.78328 75.7076 4.29157 75.5216 3.83216C75.3356 3.37276 75.0592 2.95493 74.7086 2.60321C74.3579 2.25149 73.9401 1.97297 73.4797 1.78402C73.0193 1.59506 72.5256 1.49947 72.0275 1.50286H69.3024V30.2225ZM41.2289 59.2956V58.2889H42.0343C43.717 58.1842 43.863 57.6821 43.8666 56.3089L41.0098 33.4555H34.6668L31.9464 55.5712C31.7154 56.9764 32.7614 58.2889 35.0725 58.2889V59.2956H26.909V58.2889C30.0638 58.2377 30.2661 57.0383 30.6622 55.0762L37.3763 0.558068H42.008L48.9184 55.6509V55.608C48.9255 55.9758 49.0071 56.3383 49.1584 56.674C49.3096 57.0097 49.5274 57.3116 49.7986 57.5618C50.0698 57.8119 50.389 58.0051 50.737 58.1298C51.0851 58.2546 51.4548 58.3083 51.8242 58.2877H52.1114V59.2944L41.2289 59.2956ZM34.7852 32.4203H40.8806L37.6492 8.77558L34.7852 32.4203Z",
380
+ fill: r === "dark" ? "var(--color-type-primary, #000)" : "var(--color-type-inverse, #fff)"
381
+ }
382
+ )
383
+ }
384
+ );
385
+ }
386
+ function K({ className: r }) {
387
+ return /* @__PURE__ */ a("span", { className: `gap-button-loader ${r ?? ""}`, "aria-hidden": "true", children: [
388
+ /* @__PURE__ */ e("span", { className: "gap-button-loader-dot gap-button-loader-dot--1" }),
389
+ /* @__PURE__ */ e("span", { className: "gap-button-loader-dot gap-button-loader-dot--2" }),
390
+ /* @__PURE__ */ e("span", { className: "gap-button-loader-dot gap-button-loader-dot--3" })
391
+ ] });
392
+ }
393
+ function We({
394
+ variant: r = "primary",
395
+ loading: l = !1,
396
+ fullWidth: n = !1,
397
+ disabled: i = !1,
398
+ children: t,
399
+ className: o,
400
+ ...s
401
+ }) {
402
+ const c = [
403
+ "gap-button",
404
+ `gap-button--${r}`,
405
+ n && "gap-button--full-width",
406
+ l && "gap-button--loading",
407
+ o
408
+ ].filter(Boolean).join(" ");
409
+ return /* @__PURE__ */ e(
410
+ "button",
411
+ {
412
+ className: c,
413
+ disabled: i || l,
414
+ "aria-busy": l || void 0,
415
+ ...s,
416
+ children: l ? /* @__PURE__ */ e(K, {}) : /* @__PURE__ */ e("span", { className: "gap-button-label", children: t })
417
+ }
418
+ );
419
+ }
420
+ function O() {
421
+ return /* @__PURE__ */ e(
422
+ "svg",
423
+ {
424
+ className: "gap-checkbox-checkmark",
425
+ width: "16",
426
+ height: "12",
427
+ viewBox: "0 0 16 12",
428
+ fill: "none",
429
+ xmlns: "http://www.w3.org/2000/svg",
430
+ "aria-hidden": "true",
431
+ children: /* @__PURE__ */ e(
432
+ "path",
433
+ {
434
+ d: "M1 6L5.5 10.5L15 1",
435
+ stroke: "currentColor",
436
+ strokeWidth: "2",
437
+ strokeLinecap: "square"
438
+ }
439
+ )
440
+ }
441
+ );
442
+ }
443
+ function Ie({
444
+ label: r,
445
+ error: l = !1,
446
+ disabled: n = !1,
447
+ className: i,
448
+ id: t,
449
+ ...o
450
+ }) {
451
+ const s = G(), c = t ?? s, u = [
452
+ "gap-checkbox",
453
+ l && "gap-checkbox--error",
454
+ n && "gap-checkbox--disabled",
455
+ i
456
+ ].filter(Boolean).join(" ");
457
+ return /* @__PURE__ */ a("div", { className: u, children: [
458
+ /* @__PURE__ */ a("span", { className: "gap-checkbox-control", children: [
459
+ /* @__PURE__ */ e(
460
+ "input",
461
+ {
462
+ id: c,
463
+ type: "checkbox",
464
+ className: "gap-checkbox-input",
465
+ disabled: n,
466
+ "aria-invalid": l || void 0,
467
+ ...o
468
+ }
469
+ ),
470
+ /* @__PURE__ */ e("span", { className: "gap-checkbox-box", "aria-hidden": "true", children: /* @__PURE__ */ e(O, {}) })
471
+ ] }),
472
+ r != null && /* @__PURE__ */ e("label", { className: "gap-checkbox-label", htmlFor: c, children: r })
473
+ ] });
474
+ }
475
+ function Ve({
476
+ children: r,
477
+ label: l,
478
+ error: n = !1,
479
+ className: i
480
+ }) {
481
+ const t = [
482
+ "gap-checkbox-group",
483
+ n && "gap-checkbox-group--error",
484
+ i
485
+ ].filter(Boolean).join(" ");
486
+ return /* @__PURE__ */ a("fieldset", { className: t, role: "group", children: [
487
+ l && /* @__PURE__ */ e("legend", { className: "gap-checkbox-group-legend", children: l }),
488
+ r
489
+ ] });
490
+ }
491
+ function P() {
492
+ return /* @__PURE__ */ e(
493
+ "svg",
494
+ {
495
+ className: "gap-chip-dismiss-icon",
496
+ width: "9",
497
+ height: "9",
498
+ viewBox: "0 0 9 9",
499
+ fill: "none",
500
+ xmlns: "http://www.w3.org/2000/svg",
501
+ "aria-hidden": "true",
502
+ children: /* @__PURE__ */ e(
503
+ "path",
504
+ {
505
+ d: "M1 1L4.5 4.5M4.5 4.5L8 8M4.5 4.5L8 1M4.5 4.5L1 8",
506
+ stroke: "currentColor",
507
+ strokeWidth: "1.5",
508
+ strokeLinecap: "square"
509
+ }
510
+ )
511
+ }
512
+ );
513
+ }
514
+ function je({ label: r, onDismiss: l, swatch: n, className: i }) {
515
+ const t = ["gap-chip", i].filter(Boolean).join(" ");
516
+ return /* @__PURE__ */ a("span", { className: t, children: [
517
+ n != null && /* @__PURE__ */ e(
518
+ "span",
519
+ {
520
+ className: "gap-chip-swatch",
521
+ style: { backgroundColor: n },
522
+ "aria-hidden": "true"
523
+ }
524
+ ),
525
+ /* @__PURE__ */ e("span", { className: "gap-chip-label", children: r }),
526
+ l && /* @__PURE__ */ e(
527
+ "button",
528
+ {
529
+ type: "button",
530
+ className: "gap-chip-dismiss",
531
+ onClick: l,
532
+ "aria-label": `Remove ${r}`,
533
+ children: /* @__PURE__ */ e(P, {})
534
+ }
535
+ )
536
+ ] });
537
+ }
538
+ function Se({
539
+ children: r,
540
+ onClearAll: l,
541
+ clearAllLabel: n = "Clear all",
542
+ className: i
543
+ }) {
544
+ const t = ["gap-chip-group", i].filter(Boolean).join(" ");
545
+ return /* @__PURE__ */ a("div", { className: t, role: "group", children: [
546
+ l && /* @__PURE__ */ e(
547
+ "button",
548
+ {
549
+ type: "button",
550
+ className: "gap-chip-group-clear",
551
+ onClick: l,
552
+ children: n
553
+ }
554
+ ),
555
+ /* @__PURE__ */ e("div", { className: "gap-chip-group-chips", children: r })
556
+ ] });
557
+ }
558
+ function $e({ variant: r = "default", className: l }) {
559
+ const n = [
560
+ "gap-divider",
561
+ `gap-divider--${r}`,
562
+ l
563
+ ].filter(Boolean).join(" ");
564
+ return /* @__PURE__ */ e("hr", { className: n });
565
+ }
566
+ function He({ size: r = "large", className: l }) {
567
+ const n = [
568
+ "gap-handle",
569
+ `gap-handle--${r}`,
570
+ l
571
+ ].filter(Boolean).join(" ");
572
+ return /* @__PURE__ */ a("span", { className: n, role: "presentation", children: [
573
+ /* @__PURE__ */ e("span", { className: "gap-handle-ring" }),
574
+ /* @__PURE__ */ e("span", { className: "gap-handle-thumb" })
575
+ ] });
576
+ }
577
+ function Ze({
578
+ variant: r = "inline",
579
+ children: l,
580
+ className: n,
581
+ ...i
582
+ }) {
583
+ const t = [
584
+ "gap-link",
585
+ `gap-link--${r}`,
586
+ n
587
+ ].filter(Boolean).join(" ");
588
+ return /* @__PURE__ */ e("a", { className: t, ...i, children: l });
589
+ }
590
+ function Ge({
591
+ amount: r,
592
+ originalAmount: l,
593
+ discount: n,
594
+ rangeEnd: i,
595
+ layout: t = "inline",
596
+ className: o
597
+ }) {
598
+ const s = l != null, c = [
599
+ "gap-price",
600
+ `gap-price--${t}`,
601
+ s && "gap-price--sale",
602
+ o
603
+ ].filter(Boolean).join(" ");
604
+ return s ? /* @__PURE__ */ a("span", { className: c, children: [
605
+ /* @__PURE__ */ e("span", { className: "gap-price-original", children: l }),
606
+ /* @__PURE__ */ a("span", { className: "gap-price-details", children: [
607
+ n && /* @__PURE__ */ e("span", { className: "gap-price-discount", children: n }),
608
+ /* @__PURE__ */ e("span", { className: "gap-price-sale", children: r })
609
+ ] }),
610
+ i && /* @__PURE__ */ a("span", { className: "gap-price-range", children: [
611
+ /* @__PURE__ */ e("span", { className: "gap-price-range-separator", children: "-" }),
612
+ /* @__PURE__ */ e("span", { className: "gap-price-range-end", children: i })
613
+ ] })
614
+ ] }) : /* @__PURE__ */ e("span", { className: c, children: /* @__PURE__ */ e("span", { className: "gap-price-current", children: r }) });
615
+ }
616
+ function De({
617
+ label: r,
618
+ error: l = !1,
619
+ disabled: n = !1,
620
+ className: i,
621
+ id: t,
622
+ ...o
623
+ }) {
624
+ const s = G(), c = t ?? s, u = [
625
+ "gap-radio",
626
+ l && "gap-radio--error",
627
+ n && "gap-radio--disabled",
628
+ i
629
+ ].filter(Boolean).join(" ");
630
+ return /* @__PURE__ */ a("div", { className: u, children: [
631
+ /* @__PURE__ */ a("span", { className: "gap-radio-control", children: [
632
+ /* @__PURE__ */ e(
633
+ "input",
634
+ {
635
+ id: c,
636
+ type: "radio",
637
+ className: "gap-radio-input",
638
+ disabled: n,
639
+ "aria-invalid": l || void 0,
640
+ ...o
641
+ }
642
+ ),
643
+ /* @__PURE__ */ e("span", { className: "gap-radio-circle", "aria-hidden": "true" })
644
+ ] }),
645
+ r != null && /* @__PURE__ */ e("label", { className: "gap-radio-label", htmlFor: c, children: r })
646
+ ] });
647
+ }
648
+ function Ee({
649
+ children: r,
650
+ label: l,
651
+ name: n,
652
+ error: i = !1,
653
+ className: t
654
+ }) {
655
+ const o = [
656
+ "gap-radio-group",
657
+ i && "gap-radio-group--error",
658
+ t
659
+ ].filter(Boolean).join(" ");
660
+ return /* @__PURE__ */ a("fieldset", { className: o, role: "radiogroup", children: [
661
+ l && /* @__PURE__ */ e("legend", { className: "gap-radio-group-legend", children: l }),
662
+ S.Children.map(r, (s) => S.isValidElement(s) ? S.cloneElement(s, { name: n }) : s)
663
+ ] });
664
+ }
665
+ function Y({
666
+ checked: r,
667
+ defaultChecked: l,
668
+ onChange: n,
669
+ showLabel: i = !1,
670
+ disabled: t = !1,
671
+ className: o,
672
+ "aria-label": s
673
+ }) {
674
+ const [c, u] = S.useState(
675
+ l ?? !1
676
+ ), h = r !== void 0, f = h ? r : c, p = () => {
677
+ if (t) return;
678
+ const d = !f;
679
+ h || u(d), n == null || n(d);
680
+ }, g = [
681
+ "gap-switch",
682
+ f ? "gap-switch--on" : "gap-switch--off",
683
+ t && "gap-switch--disabled",
684
+ o
685
+ ].filter(Boolean).join(" ");
686
+ return /* @__PURE__ */ a(
687
+ "button",
688
+ {
689
+ type: "button",
690
+ role: "switch",
691
+ "aria-checked": f,
692
+ "aria-label": s,
693
+ className: g,
694
+ disabled: t,
695
+ onClick: p,
696
+ children: [
697
+ f && i && /* @__PURE__ */ e("span", { className: "gap-switch-label", children: "ON" }),
698
+ /* @__PURE__ */ e("span", { className: "gap-switch-thumb" }),
699
+ !f && i && /* @__PURE__ */ e("span", { className: "gap-switch-label", children: "OFF" })
700
+ ]
701
+ }
702
+ );
703
+ }
704
+ function Ae({
705
+ checked: r = !1,
706
+ onChange: l,
707
+ storeName: n,
708
+ storeHref: i,
709
+ description: t = "Find items available for pickup",
710
+ className: o
711
+ }) {
712
+ const s = ["gap-bopis-switch", o].filter(Boolean).join(" "), c = r && n;
713
+ return /* @__PURE__ */ a("div", { className: s, children: [
714
+ /* @__PURE__ */ e("hr", { className: "gap-divider gap-divider--subtle" }),
715
+ /* @__PURE__ */ a("div", { className: "gap-bopis-switch-content", children: [
716
+ /* @__PURE__ */ a("div", { className: "gap-bopis-switch-header", children: [
717
+ /* @__PURE__ */ e("span", { className: "gap-bopis-switch-title", children: "Store Pickup" }),
718
+ /* @__PURE__ */ e(
719
+ Y,
720
+ {
721
+ checked: r,
722
+ onChange: l,
723
+ "aria-label": "Toggle store pickup"
724
+ }
725
+ )
726
+ ] }),
727
+ !c && /* @__PURE__ */ e("span", { className: "gap-bopis-switch-description", children: t }),
728
+ c && /* @__PURE__ */ e(
729
+ "a",
730
+ {
731
+ className: "gap-link gap-link--inline gap-bopis-switch-store",
732
+ href: i,
733
+ children: n
734
+ }
735
+ )
736
+ ] })
737
+ ] });
738
+ }
739
+ function Fe({
740
+ label: r,
741
+ error: l = !1,
742
+ helperText: n,
743
+ errorText: i,
744
+ maxLength: t,
745
+ className: o,
746
+ id: s,
747
+ disabled: c = !1,
748
+ value: u,
749
+ defaultValue: h,
750
+ onFocus: f,
751
+ onBlur: p,
752
+ onChange: g,
753
+ ...d
754
+ }) {
755
+ const m = G(), k = s ?? m, b = `${k}-helper`, [x, I] = B(!1), [W, w] = B(
756
+ h ?? ""
757
+ ), y = u !== void 0, L = y ? String(u) : W, M = L.length > 0, C = x || M, j = [
758
+ "gap-text-input",
759
+ x && "gap-text-input--focused",
760
+ l && "gap-text-input--error",
761
+ c && "gap-text-input--disabled",
762
+ o
763
+ ].filter(Boolean).join(" "), H = l ? i : n;
764
+ return /* @__PURE__ */ a("div", { className: j, children: [
765
+ /* @__PURE__ */ a("div", { className: "gap-text-input-field", children: [
766
+ C && /* @__PURE__ */ e("span", { className: "gap-text-input-floating-label", children: r }),
767
+ /* @__PURE__ */ e(
768
+ "input",
769
+ {
770
+ id: k,
771
+ className: "gap-text-input-input",
772
+ disabled: c,
773
+ placeholder: C ? void 0 : r,
774
+ value: y ? L : void 0,
775
+ defaultValue: y ? void 0 : h,
776
+ maxLength: t,
777
+ "aria-invalid": l || void 0,
778
+ "aria-describedby": H ? b : void 0,
779
+ onFocus: (v) => {
780
+ I(!0), f == null || f(v);
781
+ },
782
+ onBlur: (v) => {
783
+ I(!1), p == null || p(v);
784
+ },
785
+ onChange: (v) => {
786
+ y || w(v.target.value), g == null || g(v);
787
+ },
788
+ ...d
789
+ }
790
+ )
791
+ ] }),
792
+ H && /* @__PURE__ */ a("div", { className: "gap-text-input-helper", id: b, children: [
793
+ /* @__PURE__ */ e("span", { className: "gap-text-input-helper-text", children: H }),
794
+ t != null && /* @__PURE__ */ a("span", { className: "gap-text-input-helper-count", children: [
795
+ L.length,
796
+ "/",
797
+ t
798
+ ] })
799
+ ] })
800
+ ] });
801
+ }
802
+ function Te({
803
+ title: r,
804
+ count: l,
805
+ subtitle: n,
806
+ attributes: i,
807
+ defaultExpanded: t = !1,
808
+ children: o,
809
+ className: s
810
+ }) {
811
+ const [c, u] = B(t), h = [
812
+ "gap-accordion-item",
813
+ c && "gap-accordion-item--expanded",
814
+ s
815
+ ].filter(Boolean).join(" ");
816
+ return /* @__PURE__ */ a("div", { className: h, children: [
817
+ /* @__PURE__ */ e("hr", { className: "gap-divider gap-divider--subtle" }),
818
+ /* @__PURE__ */ a("div", { className: "gap-accordion-header", children: [
819
+ /* @__PURE__ */ a(
820
+ "button",
821
+ {
822
+ type: "button",
823
+ className: "gap-accordion-trigger",
824
+ "aria-expanded": c,
825
+ onClick: () => u((f) => !f),
826
+ children: [
827
+ /* @__PURE__ */ a("span", { className: "gap-accordion-title-group", children: [
828
+ /* @__PURE__ */ e("span", { className: "gap-accordion-title", children: r }),
829
+ l != null && /* @__PURE__ */ a("span", { className: "gap-accordion-count", children: [
830
+ "(",
831
+ l,
832
+ ")"
833
+ ] })
834
+ ] }),
835
+ /* @__PURE__ */ e(
836
+ "svg",
837
+ {
838
+ className: `gap-accordion-chevron${c ? " gap-accordion-chevron--up" : ""}`,
839
+ width: "10",
840
+ height: "6",
841
+ viewBox: "0 0 10 6",
842
+ fill: "none",
843
+ xmlns: "http://www.w3.org/2000/svg",
844
+ "aria-hidden": "true",
845
+ children: /* @__PURE__ */ e(
846
+ "path",
847
+ {
848
+ d: "M1 1L5 5L9 1",
849
+ stroke: "currentColor",
850
+ strokeWidth: "1.5",
851
+ strokeLinecap: "round",
852
+ strokeLinejoin: "round"
853
+ }
854
+ )
855
+ }
856
+ )
857
+ ]
858
+ }
859
+ ),
860
+ !c && n && /* @__PURE__ */ e("span", { className: "gap-accordion-subtitle", children: n }),
861
+ c && i && /* @__PURE__ */ e("span", { className: "gap-accordion-subtitle", children: i })
862
+ ] }),
863
+ c && /* @__PURE__ */ e("div", { className: "gap-accordion-content", children: o })
864
+ ] });
865
+ }
866
+ function Re({ children: r, className: l }) {
867
+ const n = ["gap-accordion", l].filter(Boolean).join(" ");
868
+ return /* @__PURE__ */ e("div", { className: n, children: r });
869
+ }
870
+ function Ke({ items: r, className: l }) {
871
+ if (r.length === 0) return null;
872
+ const n = ["gap-breadcrumb", l].filter(Boolean).join(" ");
873
+ return /* @__PURE__ */ e("nav", { "aria-label": "Breadcrumb", className: n, children: /* @__PURE__ */ e("ol", { className: "gap-breadcrumb-list", children: r.map((i, t) => {
874
+ const o = t === r.length - 1;
875
+ return /* @__PURE__ */ a("li", { className: "gap-breadcrumb-item", children: [
876
+ t > 0 && /* @__PURE__ */ e("span", { className: "gap-breadcrumb-separator", "aria-hidden": "true", children: "/" }),
877
+ /* @__PURE__ */ e(
878
+ "a",
879
+ {
880
+ href: i.href,
881
+ className: `gap-breadcrumb-link${o && r.length > 1 ? " gap-breadcrumb-link--current" : ""}`,
882
+ ...o && r.length > 1 ? { "aria-current": "page" } : {},
883
+ children: i.label
884
+ }
885
+ )
886
+ ] }, t);
887
+ }) }) });
888
+ }
889
+ function Oe({
890
+ label: r,
891
+ options: l,
892
+ value: n,
893
+ defaultValue: i,
894
+ onChange: t,
895
+ error: o = !1,
896
+ disabled: s = !1,
897
+ className: c,
898
+ id: u
899
+ }) {
900
+ const h = G(), f = u ?? h, p = `${f}-listbox`, [g, d] = B(!1), [m, k] = B(i ?? ""), [b, x] = B(-1), I = n !== void 0, W = I ? n : m, w = l.find((v) => v.value === W), y = W !== "", L = Z(null), M = Z(null);
901
+ Z(null);
902
+ const C = A(
903
+ (v) => {
904
+ var V;
905
+ I || k(v), t == null || t(v), d(!1), (V = M.current) == null || V.focus();
906
+ },
907
+ [I, t]
908
+ );
909
+ D(() => {
910
+ if (!g) return;
911
+ function v(V) {
912
+ L.current && !L.current.contains(V.target) && d(!1);
913
+ }
914
+ return document.addEventListener("mousedown", v), () => document.removeEventListener("mousedown", v);
915
+ }, [g]), D(() => {
916
+ if (g) {
917
+ const v = l.findIndex((V) => V.value === W);
918
+ x(v >= 0 ? v : 0);
919
+ }
920
+ }, [g, l, W]);
921
+ const j = (v) => {
922
+ var V;
923
+ if (!s)
924
+ switch (v.key) {
925
+ case "Enter":
926
+ case " ":
927
+ v.preventDefault(), g && b >= 0 ? C(l[b].value) : d(!0);
928
+ break;
929
+ case "ArrowDown":
930
+ v.preventDefault(), g ? x(($) => Math.min($ + 1, l.length - 1)) : d(!0);
931
+ break;
932
+ case "ArrowUp":
933
+ v.preventDefault(), g && x(($) => Math.max($ - 1, 0));
934
+ break;
935
+ case "Escape":
936
+ g && (v.preventDefault(), d(!1), (V = M.current) == null || V.focus());
937
+ break;
938
+ case "Tab":
939
+ g && d(!1);
940
+ break;
941
+ }
942
+ }, H = [
943
+ "gap-dropdown",
944
+ g && "gap-dropdown--open",
945
+ o && "gap-dropdown--error",
946
+ s && "gap-dropdown--disabled",
947
+ y && "gap-dropdown--filled",
948
+ c
949
+ ].filter(Boolean).join(" ");
950
+ return /* @__PURE__ */ a("div", { className: H, ref: L, children: [
951
+ /* @__PURE__ */ a(
952
+ "button",
953
+ {
954
+ ref: M,
955
+ type: "button",
956
+ id: f,
957
+ className: "gap-dropdown-trigger",
958
+ "aria-haspopup": "listbox",
959
+ "aria-expanded": g,
960
+ "aria-labelledby": y ? `${f}-label` : void 0,
961
+ "aria-label": y ? void 0 : r,
962
+ disabled: s,
963
+ onClick: () => d((v) => !v),
964
+ onKeyDown: j,
965
+ children: [
966
+ y && /* @__PURE__ */ e("span", { className: "gap-dropdown-floating-label", id: `${f}-label`, children: r }),
967
+ /* @__PURE__ */ e("span", { className: "gap-dropdown-value", children: y ? (w == null ? void 0 : w.label) ?? W : r }),
968
+ /* @__PURE__ */ e(
969
+ "svg",
970
+ {
971
+ className: `gap-dropdown-chevron${g ? " gap-dropdown-chevron--up" : ""}`,
972
+ width: "10",
973
+ height: "6",
974
+ viewBox: "0 0 10 6",
975
+ fill: "none",
976
+ xmlns: "http://www.w3.org/2000/svg",
977
+ "aria-hidden": "true",
978
+ children: /* @__PURE__ */ e(
979
+ "path",
980
+ {
981
+ d: "M1 1L5 5L9 1",
982
+ stroke: "currentColor",
983
+ strokeWidth: "1.5",
984
+ strokeLinecap: "round",
985
+ strokeLinejoin: "round"
986
+ }
987
+ )
988
+ }
989
+ )
990
+ ]
991
+ }
992
+ ),
993
+ g && /* @__PURE__ */ e(
994
+ "div",
995
+ {
996
+ className: "gap-dropdown-menu",
997
+ id: p,
998
+ role: "listbox",
999
+ "aria-labelledby": f,
1000
+ tabIndex: -1,
1001
+ onKeyDown: j,
1002
+ children: l.map((v, V) => {
1003
+ const $ = v.value === W, F = [
1004
+ "gap-dropdown-option",
1005
+ $ && "gap-dropdown-option--selected",
1006
+ V === b && "gap-dropdown-option--active"
1007
+ ].filter(Boolean).join(" ");
1008
+ return /* @__PURE__ */ e(
1009
+ "div",
1010
+ {
1011
+ className: F,
1012
+ role: "option",
1013
+ "aria-selected": $,
1014
+ onMouseEnter: () => x(V),
1015
+ onClick: () => C(v.value),
1016
+ children: v.label
1017
+ },
1018
+ v.value
1019
+ );
1020
+ })
1021
+ }
1022
+ )
1023
+ ] });
1024
+ }
1025
+ function q() {
1026
+ return /* @__PURE__ */ a(
1027
+ "svg",
1028
+ {
1029
+ width: "16",
1030
+ height: "16",
1031
+ viewBox: "0 0 16 16",
1032
+ fill: "none",
1033
+ xmlns: "http://www.w3.org/2000/svg",
1034
+ "aria-hidden": "true",
1035
+ children: [
1036
+ /* @__PURE__ */ e("circle", { cx: "8", cy: "8", r: "7", stroke: "currentColor", strokeWidth: "1.5" }),
1037
+ /* @__PURE__ */ e(
1038
+ "path",
1039
+ {
1040
+ d: "M8 7v4M8 5.5v-.01",
1041
+ stroke: "currentColor",
1042
+ strokeWidth: "1.5",
1043
+ strokeLinecap: "round"
1044
+ }
1045
+ )
1046
+ ]
1047
+ }
1048
+ );
1049
+ }
1050
+ function J() {
1051
+ return /* @__PURE__ */ a(
1052
+ "svg",
1053
+ {
1054
+ width: "16",
1055
+ height: "16",
1056
+ viewBox: "0 0 16 16",
1057
+ fill: "none",
1058
+ xmlns: "http://www.w3.org/2000/svg",
1059
+ "aria-hidden": "true",
1060
+ children: [
1061
+ /* @__PURE__ */ e(
1062
+ "path",
1063
+ {
1064
+ d: "M8 1.5L14.5 13.5H1.5L8 1.5Z",
1065
+ stroke: "currentColor",
1066
+ strokeWidth: "1.5",
1067
+ strokeLinejoin: "round"
1068
+ }
1069
+ ),
1070
+ /* @__PURE__ */ e(
1071
+ "path",
1072
+ {
1073
+ d: "M8 6.5v3M8 11.5v-.01",
1074
+ stroke: "currentColor",
1075
+ strokeWidth: "1.5",
1076
+ strokeLinecap: "round"
1077
+ }
1078
+ )
1079
+ ]
1080
+ }
1081
+ );
1082
+ }
1083
+ function U() {
1084
+ return /* @__PURE__ */ a(
1085
+ "svg",
1086
+ {
1087
+ width: "16",
1088
+ height: "16",
1089
+ viewBox: "0 0 16 16",
1090
+ fill: "none",
1091
+ xmlns: "http://www.w3.org/2000/svg",
1092
+ "aria-hidden": "true",
1093
+ children: [
1094
+ /* @__PURE__ */ e("circle", { cx: "8", cy: "8", r: "7", fill: "currentColor" }),
1095
+ /* @__PURE__ */ e(
1096
+ "path",
1097
+ {
1098
+ d: "M5 8l2 2 4-4",
1099
+ stroke: "#fff",
1100
+ strokeWidth: "1.5",
1101
+ strokeLinecap: "round",
1102
+ strokeLinejoin: "round"
1103
+ }
1104
+ )
1105
+ ]
1106
+ }
1107
+ );
1108
+ }
1109
+ function z() {
1110
+ return /* @__PURE__ */ a(
1111
+ "svg",
1112
+ {
1113
+ width: "16",
1114
+ height: "16",
1115
+ viewBox: "0 0 16 16",
1116
+ fill: "none",
1117
+ xmlns: "http://www.w3.org/2000/svg",
1118
+ "aria-hidden": "true",
1119
+ children: [
1120
+ /* @__PURE__ */ e("circle", { cx: "8", cy: "8", r: "7", fill: "currentColor" }),
1121
+ /* @__PURE__ */ e(
1122
+ "path",
1123
+ {
1124
+ d: "M5.5 5.5l5 5M10.5 5.5l-5 5",
1125
+ stroke: "#fff",
1126
+ strokeWidth: "1.5",
1127
+ strokeLinecap: "round"
1128
+ }
1129
+ )
1130
+ ]
1131
+ }
1132
+ );
1133
+ }
1134
+ function Q() {
1135
+ return /* @__PURE__ */ e(
1136
+ "svg",
1137
+ {
1138
+ width: "16",
1139
+ height: "16",
1140
+ viewBox: "0 0 16 16",
1141
+ fill: "none",
1142
+ xmlns: "http://www.w3.org/2000/svg",
1143
+ "aria-hidden": "true",
1144
+ children: /* @__PURE__ */ e(
1145
+ "path",
1146
+ {
1147
+ d: "M4 4l8 8M12 4l-8 8",
1148
+ stroke: "currentColor",
1149
+ strokeWidth: "1.5",
1150
+ strokeLinecap: "round"
1151
+ }
1152
+ )
1153
+ }
1154
+ );
1155
+ }
1156
+ const X = {
1157
+ info: q,
1158
+ warning: J,
1159
+ success: U,
1160
+ error: z
1161
+ }, _ = {
1162
+ info: "status",
1163
+ warning: "status",
1164
+ success: "status",
1165
+ error: "alert"
1166
+ };
1167
+ function Pe({
1168
+ type: r = "info",
1169
+ variant: l = "banner",
1170
+ children: n,
1171
+ showIcon: i = !0,
1172
+ onDismiss: t,
1173
+ className: o
1174
+ }) {
1175
+ const s = X[r], c = [
1176
+ "gap-notification",
1177
+ `gap-notification--${r}`,
1178
+ `gap-notification--${l}`,
1179
+ o
1180
+ ].filter(Boolean).join(" ");
1181
+ return /* @__PURE__ */ a("div", { className: c, role: _[r], children: [
1182
+ i && l !== "bare" && /* @__PURE__ */ e("span", { className: "gap-notification-icon", children: /* @__PURE__ */ e(s, {}) }),
1183
+ /* @__PURE__ */ e("div", { className: "gap-notification-content", children: n }),
1184
+ l === "banner" && t && /* @__PURE__ */ e(
1185
+ "button",
1186
+ {
1187
+ type: "button",
1188
+ className: "gap-notification-close",
1189
+ onClick: t,
1190
+ "aria-label": "Dismiss notification",
1191
+ children: /* @__PURE__ */ e(Q, {})
1192
+ }
1193
+ )
1194
+ ] });
1195
+ }
1196
+ function ee() {
1197
+ return /* @__PURE__ */ a("span", { className: "gap-pagination-loader", "aria-hidden": "true", children: [
1198
+ /* @__PURE__ */ e("span", { className: "gap-pagination-dot gap-pagination-dot--sm" }),
1199
+ /* @__PURE__ */ e("span", { className: "gap-pagination-dot gap-pagination-dot--md" }),
1200
+ /* @__PURE__ */ e("span", { className: "gap-pagination-dot gap-pagination-dot--lg" })
1201
+ ] });
1202
+ }
1203
+ function Ye({
1204
+ shown: r,
1205
+ total: l,
1206
+ moreCount: n,
1207
+ loading: i = !1,
1208
+ onLoadMore: t,
1209
+ showBackToTop: o = !1,
1210
+ onBackToTop: s,
1211
+ className: c
1212
+ }) {
1213
+ const u = ["gap-pagination", c].filter(Boolean).join(" ");
1214
+ return /* @__PURE__ */ a("div", { className: u, children: [
1215
+ /* @__PURE__ */ a("span", { className: "gap-pagination-count", children: [
1216
+ r,
1217
+ " of ",
1218
+ l,
1219
+ " items"
1220
+ ] }),
1221
+ i && /* @__PURE__ */ e(
1222
+ "button",
1223
+ {
1224
+ type: "button",
1225
+ className: "gap-pagination-btn gap-pagination-btn--loading",
1226
+ disabled: !0,
1227
+ "aria-busy": "true",
1228
+ children: /* @__PURE__ */ e(ee, {})
1229
+ }
1230
+ ),
1231
+ !i && !o && n != null && n > 0 && /* @__PURE__ */ e(
1232
+ "button",
1233
+ {
1234
+ type: "button",
1235
+ className: "gap-pagination-btn",
1236
+ onClick: t,
1237
+ children: /* @__PURE__ */ a("span", { className: "gap-pagination-btn-text", children: [
1238
+ "View ",
1239
+ n,
1240
+ " more"
1241
+ ] })
1242
+ }
1243
+ ),
1244
+ !i && o && /* @__PURE__ */ e(
1245
+ "button",
1246
+ {
1247
+ type: "button",
1248
+ className: "gap-pagination-btn",
1249
+ onClick: s,
1250
+ children: /* @__PURE__ */ e("span", { className: "gap-pagination-btn-text", children: "Back to Top" })
1251
+ }
1252
+ )
1253
+ ] });
1254
+ }
1255
+ function qe({
1256
+ position: r = "top",
1257
+ align: l = "center",
1258
+ children: n,
1259
+ className: i
1260
+ }) {
1261
+ const t = [
1262
+ "gap-popover",
1263
+ `gap-popover--${r}`,
1264
+ `gap-popover--align-${l}`,
1265
+ i
1266
+ ].filter(Boolean).join(" ");
1267
+ return /* @__PURE__ */ a("div", { className: t, children: [
1268
+ /* @__PURE__ */ e("div", { className: "gap-popover-body", children: n }),
1269
+ /* @__PURE__ */ e("span", { className: "gap-popover-arrow", "aria-hidden": "true" })
1270
+ ] });
1271
+ }
1272
+ function Je({
1273
+ color: r,
1274
+ active: l = !1,
1275
+ focused: n = !1,
1276
+ unavailable: i = !1,
1277
+ label: t,
1278
+ size: o = "lg",
1279
+ "aria-label": s,
1280
+ onClick: c,
1281
+ className: u
1282
+ }) {
1283
+ const h = [
1284
+ "gap-swatch",
1285
+ `gap-swatch--${o}`,
1286
+ l && "gap-swatch--active",
1287
+ n && "gap-swatch--focused",
1288
+ i && "gap-swatch--unavailable",
1289
+ u
1290
+ ].filter(Boolean).join(" ");
1291
+ return /* @__PURE__ */ a(
1292
+ "button",
1293
+ {
1294
+ type: "button",
1295
+ className: h,
1296
+ "aria-label": s ?? t ?? `Color: ${r}`,
1297
+ "aria-pressed": l,
1298
+ "aria-disabled": i || void 0,
1299
+ onClick: c,
1300
+ children: [
1301
+ /* @__PURE__ */ e("span", { className: "gap-swatch-ring", children: /* @__PURE__ */ e(
1302
+ "span",
1303
+ {
1304
+ className: "gap-swatch-circle",
1305
+ style: { backgroundColor: r },
1306
+ children: i && /* @__PURE__ */ e("span", { className: "gap-swatch-slash", "aria-hidden": "true" })
1307
+ }
1308
+ ) }),
1309
+ t && /* @__PURE__ */ e("span", { className: "gap-swatch-label", children: t })
1310
+ ]
1311
+ }
1312
+ );
1313
+ }
1314
+ function Ue({ children: r, className: l }) {
1315
+ const n = ["gap-swatch-grid", l].filter(Boolean).join(" ");
1316
+ return /* @__PURE__ */ e("div", { className: n, role: "radiogroup", children: r });
1317
+ }
1318
+ function ze({
1319
+ options: r,
1320
+ value: l,
1321
+ defaultValue: n,
1322
+ onChange: i,
1323
+ className: t
1324
+ }) {
1325
+ const [o, s] = S.useState(n ?? ""), c = l !== void 0, u = c ? l : o, h = (p, g) => {
1326
+ g.disabled || g.unavailable || (c || s(p), i == null || i(p));
1327
+ }, f = ["gap-selector", t].filter(Boolean).join(" ");
1328
+ return /* @__PURE__ */ e("div", { className: f, role: "radiogroup", children: r.map((p) => {
1329
+ const g = p.value === u, d = [
1330
+ "gap-selector-pill",
1331
+ g && "gap-selector-pill--selected",
1332
+ p.unavailable && "gap-selector-pill--unavailable",
1333
+ p.disabled && "gap-selector-pill--disabled"
1334
+ ].filter(Boolean).join(" ");
1335
+ return /* @__PURE__ */ a(
1336
+ "button",
1337
+ {
1338
+ type: "button",
1339
+ className: d,
1340
+ role: "radio",
1341
+ "aria-checked": g,
1342
+ "aria-disabled": p.disabled || p.unavailable || void 0,
1343
+ onClick: () => h(p.value, p),
1344
+ children: [
1345
+ p.label,
1346
+ p.unavailable && /* @__PURE__ */ e("span", { className: "gap-selector-slash", "aria-hidden": "true" })
1347
+ ]
1348
+ },
1349
+ p.value
1350
+ );
1351
+ }) });
1352
+ }
1353
+ function Qe({
1354
+ label: r,
1355
+ selectedLabel: l,
1356
+ children: n,
1357
+ className: i
1358
+ }) {
1359
+ const t = ["gap-selector-group", i].filter(Boolean).join(" ");
1360
+ return /* @__PURE__ */ a("fieldset", { className: t, children: [
1361
+ /* @__PURE__ */ a("legend", { className: "gap-selector-group-header", children: [
1362
+ /* @__PURE__ */ e("span", { className: "gap-selector-group-title", children: r }),
1363
+ l && /* @__PURE__ */ e("span", { className: "gap-selector-group-selected", children: l })
1364
+ ] }),
1365
+ /* @__PURE__ */ e("div", { className: "gap-selector-group-options", children: n })
1366
+ ] });
1367
+ }
1368
+ function Xe({
1369
+ title: r,
1370
+ selected: l = !1,
1371
+ availability: n,
1372
+ children: i,
1373
+ onClick: t,
1374
+ className: o
1375
+ }) {
1376
+ const s = [
1377
+ "gap-fulfillment-tile",
1378
+ l && "gap-fulfillment-tile--selected",
1379
+ o
1380
+ ].filter(Boolean).join(" ");
1381
+ return /* @__PURE__ */ a("button", { type: "button", className: s, onClick: t, children: [
1382
+ /* @__PURE__ */ a("div", { className: "gap-fulfillment-tile-content", children: [
1383
+ /* @__PURE__ */ e("span", { className: "gap-fulfillment-tile-title", children: r }),
1384
+ i && /* @__PURE__ */ e("div", { className: "gap-fulfillment-tile-body", children: i })
1385
+ ] }),
1386
+ n && /* @__PURE__ */ e(
1387
+ "span",
1388
+ {
1389
+ className: `gap-fulfillment-tile-availability${l ? " gap-fulfillment-tile-availability--selected" : ""}`,
1390
+ children: n
1391
+ }
1392
+ )
1393
+ ] });
1394
+ }
1395
+ function _e({ children: r, className: l }) {
1396
+ const n = ["gap-fulfillment", l].filter(Boolean).join(" ");
1397
+ return /* @__PURE__ */ e("div", { className: n, children: r });
1398
+ }
1399
+ function ae({
1400
+ min: r,
1401
+ max: l,
1402
+ low: n,
1403
+ high: i,
1404
+ defaultLow: t,
1405
+ defaultHigh: o,
1406
+ step: s = 1,
1407
+ onChange: c,
1408
+ "aria-label": u = "Range",
1409
+ className: h
1410
+ }) {
1411
+ const [f, p] = B(t ?? r), [g, d] = B(o ?? l), m = n !== void 0 && i !== void 0, k = m ? n : f, b = m ? i : g, x = Z(null), I = (k - r) / (l - r) * 100, W = (b - r) / (l - r) * 100, w = A(
1412
+ (C, j) => {
1413
+ m || (p(C), d(j)), c == null || c(C, j);
1414
+ },
1415
+ [m, c]
1416
+ ), y = (C) => {
1417
+ const j = Math.min(Number(C.target.value), b - s);
1418
+ w(j, b);
1419
+ }, L = (C) => {
1420
+ const j = Math.max(Number(C.target.value), k + s);
1421
+ w(k, j);
1422
+ };
1423
+ D(() => {
1424
+ m || (t !== void 0 && p(t), o !== void 0 && d(o));
1425
+ }, [t, o, m]);
1426
+ const M = ["gap-range-slider", h].filter(Boolean).join(" ");
1427
+ return /* @__PURE__ */ a("div", { className: M, "aria-label": u, children: [
1428
+ /* @__PURE__ */ e("div", { className: "gap-range-slider-track", ref: x, children: /* @__PURE__ */ e(
1429
+ "div",
1430
+ {
1431
+ className: "gap-range-slider-fill",
1432
+ style: { left: `${I}%`, right: `${100 - W}%` }
1433
+ }
1434
+ ) }),
1435
+ /* @__PURE__ */ e(
1436
+ "input",
1437
+ {
1438
+ type: "range",
1439
+ className: "gap-range-slider-input gap-range-slider-input--low",
1440
+ min: r,
1441
+ max: l,
1442
+ step: s,
1443
+ value: k,
1444
+ onChange: y,
1445
+ "aria-label": "Minimum value"
1446
+ }
1447
+ ),
1448
+ /* @__PURE__ */ e(
1449
+ "input",
1450
+ {
1451
+ type: "range",
1452
+ className: "gap-range-slider-input gap-range-slider-input--high",
1453
+ min: r,
1454
+ max: l,
1455
+ step: s,
1456
+ value: b,
1457
+ onChange: L,
1458
+ "aria-label": "Maximum value"
1459
+ }
1460
+ )
1461
+ ] });
1462
+ }
1463
+ function ea({
1464
+ min: r,
1465
+ max: l,
1466
+ low: n,
1467
+ high: i,
1468
+ defaultLow: t,
1469
+ defaultHigh: o,
1470
+ step: s = 1,
1471
+ onChange: c,
1472
+ onReset: u,
1473
+ className: h
1474
+ }) {
1475
+ const [f, p] = B(t ?? r), [g, d] = B(o ?? l), m = n !== void 0 && i !== void 0, k = m ? n : f, b = m ? i : g, x = (L, M) => {
1476
+ m || (p(L), d(M)), c == null || c(L, M);
1477
+ }, I = (L) => {
1478
+ const M = Number(L.target.value);
1479
+ if (!Number.isNaN(M)) {
1480
+ const C = Math.min(Math.max(M, r), b - s);
1481
+ m || p(C), c == null || c(C, b);
1482
+ }
1483
+ }, W = (L) => {
1484
+ const M = Number(L.target.value);
1485
+ if (!Number.isNaN(M)) {
1486
+ const C = Math.max(Math.min(M, l), k + s);
1487
+ m || d(C), c == null || c(k, C);
1488
+ }
1489
+ }, w = () => {
1490
+ m || (p(r), d(l)), u == null || u();
1491
+ }, y = ["gap-price-filter", h].filter(Boolean).join(" ");
1492
+ return /* @__PURE__ */ a("div", { className: y, children: [
1493
+ /* @__PURE__ */ e("div", { className: "gap-price-filter-slider", children: /* @__PURE__ */ e(
1494
+ ae,
1495
+ {
1496
+ min: r,
1497
+ max: l,
1498
+ low: k,
1499
+ high: b,
1500
+ step: s,
1501
+ onChange: x,
1502
+ "aria-label": "Price range"
1503
+ }
1504
+ ) }),
1505
+ /* @__PURE__ */ a("div", { className: "gap-price-filter-inputs", children: [
1506
+ /* @__PURE__ */ a("div", { className: "gap-price-filter-field", children: [
1507
+ /* @__PURE__ */ e("div", { className: "gap-price-filter-field-box", children: /* @__PURE__ */ e(
1508
+ "input",
1509
+ {
1510
+ type: "number",
1511
+ className: "gap-price-filter-input",
1512
+ value: k,
1513
+ onChange: I,
1514
+ min: r,
1515
+ max: b - s,
1516
+ "aria-label": "Minimum price"
1517
+ }
1518
+ ) }),
1519
+ /* @__PURE__ */ e("span", { className: "gap-price-filter-label", children: "Min" })
1520
+ ] }),
1521
+ /* @__PURE__ */ a("div", { className: "gap-price-filter-field", children: [
1522
+ /* @__PURE__ */ e("div", { className: "gap-price-filter-field-box", children: /* @__PURE__ */ e(
1523
+ "input",
1524
+ {
1525
+ type: "number",
1526
+ className: "gap-price-filter-input",
1527
+ value: b,
1528
+ onChange: W,
1529
+ min: k + s,
1530
+ max: l,
1531
+ "aria-label": "Maximum price"
1532
+ }
1533
+ ) }),
1534
+ /* @__PURE__ */ e("span", { className: "gap-price-filter-label", children: "Max" })
1535
+ ] })
1536
+ ] }),
1537
+ u && /* @__PURE__ */ e(
1538
+ "button",
1539
+ {
1540
+ type: "button",
1541
+ className: "gap-price-filter-reset",
1542
+ onClick: w,
1543
+ children: "Reset"
1544
+ }
1545
+ )
1546
+ ] });
1547
+ }
1548
+ function aa({
1549
+ title: r,
1550
+ tabs: l,
1551
+ value: n,
1552
+ defaultValue: i,
1553
+ onChange: t,
1554
+ className: o
1555
+ }) {
1556
+ var g;
1557
+ const [s, c] = B(
1558
+ i ?? ((g = l[0]) == null ? void 0 : g.value) ?? ""
1559
+ ), u = n !== void 0, h = u ? n : s, f = (d) => {
1560
+ u || c(d), t == null || t(d);
1561
+ }, p = ["gap-tabs", o].filter(Boolean).join(" ");
1562
+ return /* @__PURE__ */ a("div", { className: p, children: [
1563
+ r && /* @__PURE__ */ e("span", { className: "gap-tabs-title", children: r }),
1564
+ /* @__PURE__ */ e("div", { className: "gap-tabs-bar", role: "tablist", children: l.map((d) => {
1565
+ const m = d.value === h;
1566
+ return /* @__PURE__ */ e(
1567
+ "button",
1568
+ {
1569
+ type: "button",
1570
+ role: "tab",
1571
+ className: `gap-tabs-tab${m ? " gap-tabs-tab--selected" : ""}`,
1572
+ "aria-selected": m,
1573
+ tabIndex: m ? 0 : -1,
1574
+ onClick: () => f(d.value),
1575
+ children: d.label
1576
+ },
1577
+ d.value
1578
+ );
1579
+ }) })
1580
+ ] });
1581
+ }
1582
+ const re = [
1583
+ { label: "Gap", href: "#" },
1584
+ { label: "Gap Factory", href: "#" },
1585
+ { label: "Old Navy", href: "#" },
1586
+ { label: "Banana Republic", href: "#" },
1587
+ { label: "Athleta", href: "#" },
1588
+ { label: "Banana Republic Factory", href: "#" }
1589
+ ];
1590
+ function le() {
1591
+ return /* @__PURE__ */ a(
1592
+ "svg",
1593
+ {
1594
+ width: "24",
1595
+ height: "24",
1596
+ viewBox: "0 0 24 24",
1597
+ fill: "none",
1598
+ xmlns: "http://www.w3.org/2000/svg",
1599
+ "aria-hidden": "true",
1600
+ children: [
1601
+ /* @__PURE__ */ e("circle", { cx: "12", cy: "8", r: "4", stroke: "currentColor", strokeWidth: "1.5" }),
1602
+ /* @__PURE__ */ e(
1603
+ "path",
1604
+ {
1605
+ d: "M4 20c0-3.3 3.6-6 8-6s8 2.7 8 6",
1606
+ stroke: "currentColor",
1607
+ strokeWidth: "1.5",
1608
+ strokeLinecap: "round"
1609
+ }
1610
+ )
1611
+ ]
1612
+ }
1613
+ );
1614
+ }
1615
+ function ne() {
1616
+ return /* @__PURE__ */ a(
1617
+ "svg",
1618
+ {
1619
+ width: "18",
1620
+ height: "24",
1621
+ viewBox: "0 0 18 24",
1622
+ fill: "none",
1623
+ xmlns: "http://www.w3.org/2000/svg",
1624
+ "aria-hidden": "true",
1625
+ children: [
1626
+ /* @__PURE__ */ e(
1627
+ "path",
1628
+ {
1629
+ d: "M1 7h16v15H1V7Z",
1630
+ stroke: "currentColor",
1631
+ strokeWidth: "1.5"
1632
+ }
1633
+ ),
1634
+ /* @__PURE__ */ e(
1635
+ "path",
1636
+ {
1637
+ d: "M5 7V5a4 4 0 0 1 8 0v2",
1638
+ stroke: "currentColor",
1639
+ strokeWidth: "1.5",
1640
+ strokeLinecap: "round"
1641
+ }
1642
+ )
1643
+ ]
1644
+ }
1645
+ );
1646
+ }
1647
+ function ra({
1648
+ brands: r = re,
1649
+ promoText: l = "Free shipping on $50+ for Rewards Members",
1650
+ promoLinks: n = [
1651
+ { label: "Sign In or Join", href: "#" },
1652
+ { label: "Details", href: "#" }
1653
+ ],
1654
+ bagCount: i,
1655
+ onBagClick: t,
1656
+ onAccountClick: o,
1657
+ onLogoClick: s,
1658
+ className: c
1659
+ }) {
1660
+ const u = ["gap-global-header", c].filter(Boolean).join(" ");
1661
+ return /* @__PURE__ */ e("header", { className: u, children: /* @__PURE__ */ a("div", { className: "gap-global-header-bar", children: [
1662
+ /* @__PURE__ */ e("div", { className: "gap-global-header-brands", children: r.map((h, f) => /* @__PURE__ */ e("a", { href: h.href, className: "gap-global-header-brand", children: h.label }, f)) }),
1663
+ /* @__PURE__ */ a("div", { className: "gap-global-header-promo", children: [
1664
+ /* @__PURE__ */ e("span", { className: "gap-global-header-promo-text", children: l }),
1665
+ n.length > 0 && /* @__PURE__ */ e("span", { className: "gap-global-header-promo-links", children: n.map((h, f) => /* @__PURE__ */ e("a", { href: h.href, className: "gap-global-header-promo-link", children: h.label }, f)) })
1666
+ ] }),
1667
+ /* @__PURE__ */ a("div", { className: "gap-global-header-actions", children: [
1668
+ /* @__PURE__ */ e(
1669
+ "button",
1670
+ {
1671
+ type: "button",
1672
+ className: "gap-global-header-icon-btn",
1673
+ "aria-label": "Account",
1674
+ onClick: o,
1675
+ children: /* @__PURE__ */ e(le, {})
1676
+ }
1677
+ ),
1678
+ /* @__PURE__ */ a(
1679
+ "button",
1680
+ {
1681
+ type: "button",
1682
+ className: "gap-global-header-icon-btn gap-global-header-bag",
1683
+ "aria-label": `Shopping bag${i ? `, ${i} items` : ""}`,
1684
+ onClick: t,
1685
+ children: [
1686
+ /* @__PURE__ */ e(ne, {}),
1687
+ i != null && i > 0 && /* @__PURE__ */ e("span", { className: "gap-global-header-badge", children: i })
1688
+ ]
1689
+ }
1690
+ )
1691
+ ] })
1692
+ ] }) });
1693
+ }
1694
+ function te() {
1695
+ return /* @__PURE__ */ a("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: [
1696
+ /* @__PURE__ */ e("circle", { cx: "16", cy: "16", r: "16", fill: "#000" }),
1697
+ /* @__PURE__ */ e("path", { d: "M21.5 13.5V10.3c-.8-.3-1.4-.9-1.7-1.7-.1-.3-.2-.6-.2-1h-2.8v10.6c0 1.3-1 2.3-2.3 2.3s-2.3-1-2.3-2.3 1-2.3 2.3-2.3c.3 0 .5 0 .7.1v-2.8c-.2 0-.5-.1-.7-.1-2.8 0-5.1 2.3-5.1 5.1s2.3 5.1 5.1 5.1 5.1-2.3 5.1-5.1V14c1 .7 2.1 1.1 3.4 1.1v-2.8c-.6 0-1.1-.3-1.5-.8Z", fill: "#fff" })
1698
+ ] });
1699
+ }
1700
+ function ie() {
1701
+ return /* @__PURE__ */ a("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: [
1702
+ /* @__PURE__ */ e("circle", { cx: "16", cy: "16", r: "16", fill: "#000" }),
1703
+ /* @__PURE__ */ e("rect", { x: "8", y: "8", width: "16", height: "16", rx: "4", stroke: "#fff", strokeWidth: "1.5" }),
1704
+ /* @__PURE__ */ e("circle", { cx: "16", cy: "16", r: "4", stroke: "#fff", strokeWidth: "1.5" }),
1705
+ /* @__PURE__ */ e("circle", { cx: "21", cy: "11", r: "1", fill: "#fff" })
1706
+ ] });
1707
+ }
1708
+ function ce() {
1709
+ return /* @__PURE__ */ a("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: [
1710
+ /* @__PURE__ */ e("circle", { cx: "16", cy: "16", r: "16", fill: "#000" }),
1711
+ /* @__PURE__ */ e("path", { d: "M24.5 12.4c-.2-.8-.8-1.4-1.6-1.6C21.4 10.5 16 10.5 16 10.5s-5.4 0-6.9.3c-.8.2-1.4.8-1.6 1.6-.3 1.5-.3 4.6-.3 4.6s0 3.1.3 4.6c.2.8.8 1.4 1.6 1.6 1.5.3 6.9.3 6.9.3s5.4 0 6.9-.3c.8-.2 1.4-.8 1.6-1.6.3-1.5.3-4.6.3-4.6s0-3.1-.3-4.6Z", fill: "#fff" }),
1712
+ /* @__PURE__ */ e("path", { d: "M14 19.5V13l5 3.25L14 19.5Z", fill: "#000" })
1713
+ ] });
1714
+ }
1715
+ function se() {
1716
+ return /* @__PURE__ */ a("svg", { width: "32", height: "32", viewBox: "0 0 32 32", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: [
1717
+ /* @__PURE__ */ e("circle", { cx: "16", cy: "16", r: "16", fill: "#000" }),
1718
+ /* @__PURE__ */ e("circle", { cx: "16", cy: "16", r: "8", stroke: "#fff", strokeWidth: "1.5" }),
1719
+ /* @__PURE__ */ e("path", { d: "M12 18c2.5-1 5.5-1 8 .5M11.5 15.5c3-1.2 7-1.2 10 .5M11 13c3.5-1.4 8.5-1.4 12 .5", stroke: "#fff", strokeWidth: "1.5", strokeLinecap: "round" })
1720
+ ] });
1721
+ }
1722
+ const oe = [
1723
+ {
1724
+ title: "Sign Up for Email",
1725
+ content: /* @__PURE__ */ a(N, { children: [
1726
+ /* @__PURE__ */ a("div", { className: "gap-footer-email-row", children: [
1727
+ /* @__PURE__ */ e(
1728
+ "input",
1729
+ {
1730
+ type: "email",
1731
+ className: "gap-footer-email-input",
1732
+ placeholder: "Enter your email address",
1733
+ "aria-label": "Email address"
1734
+ }
1735
+ ),
1736
+ /* @__PURE__ */ e("button", { type: "button", className: "gap-footer-email-btn", children: "Join" })
1737
+ ] }),
1738
+ /* @__PURE__ */ e("p", { className: "gap-footer-block-copy", children: "Get access to exclusive offers, new arrivals, and other perks." }),
1739
+ /* @__PURE__ */ e("a", { href: "#", className: "gap-footer-block-link", children: "Privacy policy" })
1740
+ ] })
1741
+ },
1742
+ {
1743
+ title: "Gap Good Rewards Credit Card",
1744
+ content: /* @__PURE__ */ a(N, { children: [
1745
+ /* @__PURE__ */ e("p", { className: "gap-footer-block-copy", children: "Save 20% on your first purchase with your new card at Gap. Earn 5 points per every $1 spent and redeem across our brands." }),
1746
+ /* @__PURE__ */ a("div", { className: "gap-footer-block-links", children: [
1747
+ /* @__PURE__ */ e("a", { href: "#", className: "gap-footer-block-link", children: "Apply now" }),
1748
+ /* @__PURE__ */ e("a", { href: "#", className: "gap-footer-block-link", children: "Learn more" })
1749
+ ] })
1750
+ ] })
1751
+ },
1752
+ {
1753
+ title: "Get the Gap app",
1754
+ content: /* @__PURE__ */ a(N, { children: [
1755
+ /* @__PURE__ */ e("p", { className: "gap-footer-block-copy", children: "Scan the QR code below to download our app and get exclusive access, special offers, and more perks." }),
1756
+ /* @__PURE__ */ e("a", { href: "#", className: "gap-footer-block-link", children: "Learn More" })
1757
+ ] })
1758
+ }
1759
+ ], de = [
1760
+ {
1761
+ title: "Customer Support",
1762
+ links: [
1763
+ { label: "Customer service", href: "#" },
1764
+ { label: "Shipping", href: "#" },
1765
+ { label: "Returns & exchanges", href: "#" },
1766
+ { label: "Track your order", href: "#" },
1767
+ { label: "Gift cards", href: "#" },
1768
+ { label: "Size & fit guides", href: "#" },
1769
+ { label: "Buy online, pick up in store", href: "#" },
1770
+ { label: "GapCash", href: "#" }
1771
+ ]
1772
+ },
1773
+ {
1774
+ title: "Gap Good Rewards",
1775
+ links: [
1776
+ { label: "Pay credit card", href: "#" },
1777
+ { label: "Points & rewards", href: "#" },
1778
+ { label: "Explore benefits", href: "#" },
1779
+ { label: "Activate credit card", href: "#" },
1780
+ { label: "Join our rewards program - it's free!", href: "#" },
1781
+ { label: "or Apply for a credit card", href: "#" }
1782
+ ]
1783
+ },
1784
+ {
1785
+ title: "About Us",
1786
+ links: [
1787
+ { label: "Careers", href: "#" },
1788
+ { label: "Our values", href: "#" },
1789
+ { label: "Accessibility", href: "#" }
1790
+ ]
1791
+ },
1792
+ {
1793
+ title: "Find Us",
1794
+ links: [
1795
+ { label: "Contact us", href: "#" },
1796
+ { label: "Store locator", href: "#" },
1797
+ { label: "Get the Gap App", href: "#" },
1798
+ { label: "Sign up for texts", href: "#" }
1799
+ ]
1800
+ }
1801
+ ], pe = [
1802
+ { label: "TikTok", href: "#", icon: /* @__PURE__ */ e(te, {}) },
1803
+ { label: "Instagram", href: "#", icon: /* @__PURE__ */ e(ie, {}) },
1804
+ { label: "YouTube", href: "#", icon: /* @__PURE__ */ e(ce, {}) },
1805
+ { label: "Spotify", href: "#", icon: /* @__PURE__ */ e(se, {}) }
1806
+ ], he = [
1807
+ "© 2025 The Gap, Inc. | Privacy Policy | Your Privacy Choices | Your California Privacy Rights | Terms of Use | Sustainability | About Gap Inc.",
1808
+ "Americans with Disabilities Act | California Transparency in Supply Chains Act | Gap Inc. Policies"
1809
+ ];
1810
+ function la({
1811
+ blocks: r = oe,
1812
+ navColumns: l = de,
1813
+ socialLinks: n = pe,
1814
+ legalLines: i = he,
1815
+ className: t
1816
+ }) {
1817
+ const o = ["gap-global-footer", t].filter(Boolean).join(" ");
1818
+ return /* @__PURE__ */ a("footer", { className: o, children: [
1819
+ r.length > 0 && /* @__PURE__ */ e("div", { className: "gap-footer-blocks", children: r.map((s, c) => /* @__PURE__ */ a("div", { className: "gap-footer-block", children: [
1820
+ /* @__PURE__ */ e("h3", { className: "gap-footer-block-title", children: s.title }),
1821
+ /* @__PURE__ */ e("div", { className: "gap-footer-block-body", children: s.content })
1822
+ ] }, c)) }),
1823
+ /* @__PURE__ */ e("hr", { className: "gap-divider gap-divider--subtle" }),
1824
+ /* @__PURE__ */ e("div", { className: "gap-footer-nav", children: l.map((s, c) => {
1825
+ const u = c === l.length - 1;
1826
+ return /* @__PURE__ */ a("div", { className: "gap-footer-nav-col", children: [
1827
+ /* @__PURE__ */ e("h4", { className: "gap-footer-nav-header", children: s.title }),
1828
+ /* @__PURE__ */ e("ul", { className: "gap-footer-nav-links", children: s.links.map((h, f) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e("a", { href: h.href, className: "gap-footer-nav-link", children: h.label }) }, f)) }),
1829
+ u && n.length > 0 && /* @__PURE__ */ e("div", { className: "gap-footer-social", children: n.map((h, f) => /* @__PURE__ */ e(
1830
+ "a",
1831
+ {
1832
+ href: h.href,
1833
+ "aria-label": h.label,
1834
+ className: "gap-footer-social-link",
1835
+ children: h.icon
1836
+ },
1837
+ f
1838
+ )) })
1839
+ ] }, c);
1840
+ }) }),
1841
+ i.length > 0 && /* @__PURE__ */ e("div", { className: "gap-footer-legal", children: i.map((s, c) => /* @__PURE__ */ e("p", { className: "gap-footer-legal-line", children: s }, c)) })
1842
+ ] });
1843
+ }
1844
+ function ue() {
1845
+ return /* @__PURE__ */ a(
1846
+ "svg",
1847
+ {
1848
+ width: "24",
1849
+ height: "24",
1850
+ viewBox: "0 0 24 24",
1851
+ fill: "none",
1852
+ xmlns: "http://www.w3.org/2000/svg",
1853
+ "aria-hidden": "true",
1854
+ children: [
1855
+ /* @__PURE__ */ e("circle", { cx: "11", cy: "11", r: "7", stroke: "currentColor", strokeWidth: "1.5" }),
1856
+ /* @__PURE__ */ e(
1857
+ "path",
1858
+ {
1859
+ d: "M16 16l4.5 4.5",
1860
+ stroke: "currentColor",
1861
+ strokeWidth: "1.5",
1862
+ strokeLinecap: "round"
1863
+ }
1864
+ )
1865
+ ]
1866
+ }
1867
+ );
1868
+ }
1869
+ function na({
1870
+ value: r,
1871
+ defaultValue: l = "",
1872
+ placeholder: n = "Search",
1873
+ onChange: i,
1874
+ onSubmit: t,
1875
+ onClear: o,
1876
+ className: s
1877
+ }) {
1878
+ const [c, u] = B(l), [h, f] = B(!1), p = Z(null), g = r !== void 0, d = g ? r : c, m = d.length > 0, k = (w) => {
1879
+ const y = w.target.value;
1880
+ g || u(y), i == null || i(y);
1881
+ }, b = () => {
1882
+ var w;
1883
+ g || u(""), i == null || i(""), o == null || o(), (w = p.current) == null || w.focus();
1884
+ }, x = () => {
1885
+ t == null || t(d);
1886
+ }, I = (w) => {
1887
+ w.key === "Enter" && (w.preventDefault(), x());
1888
+ }, W = [
1889
+ "gap-search-input",
1890
+ h && "gap-search-input--active",
1891
+ m && "gap-search-input--filled",
1892
+ s
1893
+ ].filter(Boolean).join(" ");
1894
+ return /* @__PURE__ */ a("div", { className: W, children: [
1895
+ /* @__PURE__ */ e(
1896
+ "input",
1897
+ {
1898
+ ref: p,
1899
+ type: "search",
1900
+ className: "gap-search-input-field",
1901
+ value: d,
1902
+ placeholder: n,
1903
+ onChange: k,
1904
+ onFocus: () => f(!0),
1905
+ onBlur: () => f(!1),
1906
+ onKeyDown: I,
1907
+ "aria-label": n
1908
+ }
1909
+ ),
1910
+ m && /* @__PURE__ */ a("div", { className: "gap-search-input-actions", children: [
1911
+ /* @__PURE__ */ e(
1912
+ "button",
1913
+ {
1914
+ type: "button",
1915
+ className: "gap-search-input-clear",
1916
+ onClick: b,
1917
+ children: "Clear"
1918
+ }
1919
+ ),
1920
+ /* @__PURE__ */ e("span", { className: "gap-search-input-divider", "aria-hidden": "true" })
1921
+ ] }),
1922
+ /* @__PURE__ */ e(
1923
+ "button",
1924
+ {
1925
+ type: "button",
1926
+ className: "gap-search-input-icon",
1927
+ "aria-label": "Search",
1928
+ onClick: x,
1929
+ children: /* @__PURE__ */ e(ue, {})
1930
+ }
1931
+ )
1932
+ ] });
1933
+ }
1934
+ function ge({ filled: r }) {
1935
+ return /* @__PURE__ */ e(
1936
+ "svg",
1937
+ {
1938
+ width: "14",
1939
+ height: "14",
1940
+ viewBox: "0 0 14 14",
1941
+ fill: "none",
1942
+ xmlns: "http://www.w3.org/2000/svg",
1943
+ "aria-hidden": "true",
1944
+ children: /* @__PURE__ */ e(
1945
+ "path",
1946
+ {
1947
+ d: "M7 1l1.76 3.57 3.94.57-2.85 2.78.67 3.93L7 10.07l-3.52 1.78.67-3.93L1.3 5.14l3.94-.57L7 1Z",
1948
+ fill: r ? "currentColor" : "none",
1949
+ stroke: "currentColor",
1950
+ strokeWidth: "1",
1951
+ strokeLinejoin: "round"
1952
+ }
1953
+ )
1954
+ }
1955
+ );
1956
+ }
1957
+ function fe({
1958
+ rating: r,
1959
+ reviewCount: l
1960
+ }) {
1961
+ return /* @__PURE__ */ a("div", { className: "gap-product-card-rating", children: [
1962
+ /* @__PURE__ */ e("div", { className: "gap-product-card-stars", "aria-label": `${r} out of 5 stars`, children: [1, 2, 3, 4, 5].map((n) => /* @__PURE__ */ e(ge, { filled: n <= Math.round(r) }, n)) }),
1963
+ l != null && /* @__PURE__ */ e("span", { className: "gap-product-card-review-count", children: l.toLocaleString() })
1964
+ ] });
1965
+ }
1966
+ function ta({
1967
+ imageUrl: r,
1968
+ imageAlt: l = "",
1969
+ name: n,
1970
+ badge: i,
1971
+ originalPrice: t,
1972
+ salePrice: o,
1973
+ discount: s,
1974
+ marketingFlag: c,
1975
+ rating: u,
1976
+ reviewCount: h,
1977
+ swatches: f,
1978
+ moreSwatches: p,
1979
+ variant: g = "default",
1980
+ onClick: d,
1981
+ className: m
1982
+ }) {
1983
+ const k = [
1984
+ "gap-product-card",
1985
+ `gap-product-card--${g}`,
1986
+ m
1987
+ ].filter(Boolean).join(" ");
1988
+ return g === "mini" ? /* @__PURE__ */ a("div", { className: k, onClick: d, role: d ? "button" : void 0, children: [
1989
+ /* @__PURE__ */ e("div", { className: "gap-product-card-media gap-product-card-media--mini", children: r ? /* @__PURE__ */ e("img", { src: r, alt: l, className: "gap-product-card-img" }) : /* @__PURE__ */ e("div", { className: "gap-product-card-placeholder" }) }),
1990
+ /* @__PURE__ */ a("div", { className: "gap-product-card-mini-details", children: [
1991
+ /* @__PURE__ */ e("span", { className: "gap-product-card-name", children: n }),
1992
+ (t || o) && /* @__PURE__ */ a("div", { className: "gap-product-card-price-inline", children: [
1993
+ t && /* @__PURE__ */ e("span", { className: "gap-product-card-original-price", children: t }),
1994
+ s && /* @__PURE__ */ e("span", { className: "gap-product-card-discount", children: s }),
1995
+ o && /* @__PURE__ */ e("span", { className: "gap-product-card-sale-price", children: o })
1996
+ ] })
1997
+ ] })
1998
+ ] }) : /* @__PURE__ */ a("div", { className: k, onClick: d, role: d ? "button" : void 0, children: [
1999
+ /* @__PURE__ */ a("div", { className: "gap-product-card-media", children: [
2000
+ r ? /* @__PURE__ */ e("img", { src: r, alt: l, className: "gap-product-card-img" }) : /* @__PURE__ */ e("div", { className: "gap-product-card-placeholder" }),
2001
+ i && /* @__PURE__ */ e("span", { className: "gap-product-card-badge", children: i })
2002
+ ] }),
2003
+ f && f.length > 0 && /* @__PURE__ */ a("div", { className: "gap-product-card-swatches", children: [
2004
+ f.map((b, x) => /* @__PURE__ */ e(
2005
+ "span",
2006
+ {
2007
+ className: `gap-product-card-swatch${x === 0 ? " gap-product-card-swatch--active" : ""}`,
2008
+ style: { backgroundColor: b.color },
2009
+ "aria-label": b.label
2010
+ },
2011
+ x
2012
+ )),
2013
+ p != null && p > 0 && /* @__PURE__ */ a("span", { className: "gap-product-card-more-swatches", children: [
2014
+ "+",
2015
+ p
2016
+ ] })
2017
+ ] }),
2018
+ /* @__PURE__ */ a("div", { className: "gap-product-card-details", children: [
2019
+ /* @__PURE__ */ e("span", { className: "gap-product-card-name", children: n }),
2020
+ (t || o) && /* @__PURE__ */ a("div", { className: "gap-product-card-price-stacked", children: [
2021
+ t && /* @__PURE__ */ e("span", { className: "gap-product-card-original-price", children: t }),
2022
+ s && /* @__PURE__ */ e("span", { className: "gap-product-card-discount", children: s }),
2023
+ o && /* @__PURE__ */ e("span", { className: "gap-product-card-sale-price", children: o })
2024
+ ] }),
2025
+ c && /* @__PURE__ */ e("span", { className: "gap-product-card-flag", children: c }),
2026
+ u != null && /* @__PURE__ */ e(fe, { rating: u, reviewCount: h })
2027
+ ] })
2028
+ ] });
2029
+ }
2030
+ function me() {
2031
+ return /* @__PURE__ */ a("svg", { width: "24", height: "24", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: [
2032
+ /* @__PURE__ */ e("circle", { cx: "11", cy: "11", r: "7", stroke: "currentColor", strokeWidth: "1.5" }),
2033
+ /* @__PURE__ */ e("path", { d: "M16 16l4.5 4.5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" })
2034
+ ] });
2035
+ }
2036
+ function E() {
2037
+ return /* @__PURE__ */ e("svg", { width: "6", height: "10", viewBox: "0 0 6 10", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { d: "M1 1l4 4-4 4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
2038
+ }
2039
+ function ve() {
2040
+ return /* @__PURE__ */ e("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { d: "M1 1l12 12M13 1L1 13", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) });
2041
+ }
2042
+ function ia({
2043
+ open: r,
2044
+ onClose: l,
2045
+ sections: n,
2046
+ headerSlot: i,
2047
+ searchPlaceholder: t = "Search Gap",
2048
+ onSearch: o,
2049
+ className: s
2050
+ }) {
2051
+ const [c, u] = S.useState("");
2052
+ if (!r) return null;
2053
+ const h = (p) => {
2054
+ p.key === "Enter" && (p.preventDefault(), o == null || o(c));
2055
+ }, f = ["gap-hamburger-nav", s].filter(Boolean).join(" ");
2056
+ return /* @__PURE__ */ a("div", { className: f, children: [
2057
+ /* @__PURE__ */ e(
2058
+ "div",
2059
+ {
2060
+ className: "gap-hamburger-nav-overlay",
2061
+ onClick: l,
2062
+ "aria-hidden": "true"
2063
+ }
2064
+ ),
2065
+ /* @__PURE__ */ a("nav", { className: "gap-hamburger-nav-panel", "aria-label": "Main navigation", children: [
2066
+ i,
2067
+ /* @__PURE__ */ a("div", { className: "gap-hamburger-nav-search", children: [
2068
+ /* @__PURE__ */ e("span", { className: "gap-hamburger-nav-search-icon", children: /* @__PURE__ */ e(me, {}) }),
2069
+ /* @__PURE__ */ e(
2070
+ "input",
2071
+ {
2072
+ type: "search",
2073
+ className: "gap-hamburger-nav-search-input",
2074
+ placeholder: t,
2075
+ value: c,
2076
+ onChange: (p) => u(p.target.value),
2077
+ onKeyDown: h,
2078
+ "aria-label": t
2079
+ }
2080
+ )
2081
+ ] }),
2082
+ /* @__PURE__ */ e("div", { className: "gap-hamburger-nav-body", children: n.map((p, g) => /* @__PURE__ */ e(
2083
+ "div",
2084
+ {
2085
+ className: `gap-hamburger-nav-section${p.secondary ? " gap-hamburger-nav-section--secondary" : ""}`,
2086
+ children: p.items.map((d, m) => /* @__PURE__ */ e("div", { className: "gap-hamburger-nav-row", children: d.href ? /* @__PURE__ */ a(
2087
+ "a",
2088
+ {
2089
+ href: d.href,
2090
+ className: "gap-hamburger-nav-link",
2091
+ onClick: d.onClick,
2092
+ children: [
2093
+ /* @__PURE__ */ e("span", { className: "gap-hamburger-nav-label", children: d.label }),
2094
+ d.hasChildren && /* @__PURE__ */ e(E, {})
2095
+ ]
2096
+ }
2097
+ ) : /* @__PURE__ */ a(
2098
+ "button",
2099
+ {
2100
+ type: "button",
2101
+ className: "gap-hamburger-nav-link",
2102
+ onClick: d.onClick,
2103
+ children: [
2104
+ /* @__PURE__ */ e("span", { className: "gap-hamburger-nav-label", children: d.label }),
2105
+ d.hasChildren && /* @__PURE__ */ e(E, {})
2106
+ ]
2107
+ }
2108
+ ) }, m))
2109
+ },
2110
+ g
2111
+ )) })
2112
+ ] }),
2113
+ /* @__PURE__ */ e(
2114
+ "button",
2115
+ {
2116
+ type: "button",
2117
+ className: "gap-hamburger-nav-close",
2118
+ "aria-label": "Close navigation",
2119
+ onClick: l,
2120
+ children: /* @__PURE__ */ e(ve, {})
2121
+ }
2122
+ )
2123
+ ] });
2124
+ }
2125
+ function ca({
2126
+ logo: r,
2127
+ onLogoClick: l,
2128
+ departments: n,
2129
+ utilityLinks: i = [],
2130
+ searchSlot: t,
2131
+ className: o
2132
+ }) {
2133
+ var p, g;
2134
+ const [s, c] = B(null), u = s != null ? n[s] : void 0, h = u && (u.categories && u.categories.length > 0 || u.marketingImages && u.marketingImages.length > 0), f = ["gap-mega-nav", o].filter(Boolean).join(" ");
2135
+ return /* @__PURE__ */ a(
2136
+ "nav",
2137
+ {
2138
+ className: f,
2139
+ onMouseLeave: () => c(null),
2140
+ "aria-label": "Main navigation",
2141
+ children: [
2142
+ i.length > 0 && /* @__PURE__ */ e("div", { className: "gap-mega-nav-utility", children: i.map((d, m) => /* @__PURE__ */ a(S.Fragment, { children: [
2143
+ m > 0 && /* @__PURE__ */ e("span", { className: "gap-mega-nav-utility-sep", "aria-hidden": "true", children: "/" }),
2144
+ /* @__PURE__ */ e("a", { href: d.href, className: "gap-mega-nav-utility-link", children: d.label })
2145
+ ] }, m)) }),
2146
+ /* @__PURE__ */ a("div", { className: "gap-mega-nav-bar", children: [
2147
+ r && /* @__PURE__ */ e(
2148
+ "button",
2149
+ {
2150
+ type: "button",
2151
+ className: "gap-mega-nav-logo",
2152
+ onClick: l,
2153
+ "aria-label": "Home",
2154
+ children: r
2155
+ }
2156
+ ),
2157
+ /* @__PURE__ */ e("div", { className: "gap-mega-nav-departments", children: n.map((d, m) => /* @__PURE__ */ e(
2158
+ "a",
2159
+ {
2160
+ href: d.href ?? "#",
2161
+ className: `gap-mega-nav-dept${d.sale ? " gap-mega-nav-dept--sale" : ""}${s === m ? " gap-mega-nav-dept--active" : ""}`,
2162
+ onMouseEnter: () => c(m),
2163
+ children: d.label
2164
+ },
2165
+ m
2166
+ )) }),
2167
+ t && /* @__PURE__ */ e("div", { className: "gap-mega-nav-search", children: t })
2168
+ ] }),
2169
+ h && /* @__PURE__ */ e(
2170
+ "div",
2171
+ {
2172
+ className: "gap-mega-nav-dropdown",
2173
+ onMouseEnter: () => {
2174
+ },
2175
+ onMouseLeave: () => c(null),
2176
+ children: /* @__PURE__ */ a("div", { className: "gap-mega-nav-dropdown-inner", children: [
2177
+ (p = u.categories) == null ? void 0 : p.map((d, m) => /* @__PURE__ */ a("div", { className: "gap-mega-nav-category", children: [
2178
+ /* @__PURE__ */ e("h3", { className: "gap-mega-nav-category-title", children: d.title }),
2179
+ /* @__PURE__ */ e("ul", { className: "gap-mega-nav-category-links", children: d.links.map((k, b) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e(
2180
+ "a",
2181
+ {
2182
+ href: k.href,
2183
+ className: "gap-mega-nav-category-link",
2184
+ children: k.label
2185
+ }
2186
+ ) }, b)) })
2187
+ ] }, m)),
2188
+ (g = u.marketingImages) == null ? void 0 : g.map((d, m) => /* @__PURE__ */ a("div", { className: "gap-mega-nav-marketing", children: [
2189
+ /* @__PURE__ */ e("div", { className: "gap-mega-nav-marketing-img-wrapper", children: /* @__PURE__ */ e(
2190
+ "img",
2191
+ {
2192
+ src: d.imageUrl,
2193
+ alt: d.alt ?? "",
2194
+ className: "gap-mega-nav-marketing-img"
2195
+ }
2196
+ ) }),
2197
+ /* @__PURE__ */ e("a", { href: d.href, className: "gap-mega-nav-marketing-link", children: d.label })
2198
+ ] }, m))
2199
+ ] })
2200
+ }
2201
+ )
2202
+ ]
2203
+ }
2204
+ );
2205
+ }
2206
+ function be() {
2207
+ return /* @__PURE__ */ e("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { d: "M2 4h12M4 8h8M6 12h4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) });
2208
+ }
2209
+ function ke() {
2210
+ return /* @__PURE__ */ e("svg", { width: "10", height: "6", viewBox: "0 0 10 6", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { d: "M1 1l4 4 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) });
2211
+ }
2212
+ function Ne() {
2213
+ return /* @__PURE__ */ e("svg", { width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { d: "M1 1l8 8M9 1l-8 8", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) });
2214
+ }
2215
+ function sa({
2216
+ chips: r = [],
2217
+ activeChip: l,
2218
+ onChipClick: n,
2219
+ activeFilters: i = [],
2220
+ onRemoveFilter: t,
2221
+ onClearAll: o,
2222
+ resultCount: s,
2223
+ className: c
2224
+ }) {
2225
+ const u = ["gap-filter-controls", c].filter(Boolean).join(" ");
2226
+ return /* @__PURE__ */ a("div", { className: u, children: [
2227
+ r.length > 0 && /* @__PURE__ */ e("div", { className: "gap-filter-chips", children: r.map((h) => {
2228
+ const f = h.value === l;
2229
+ return /* @__PURE__ */ a(
2230
+ "button",
2231
+ {
2232
+ type: "button",
2233
+ className: `gap-filter-chip${f ? " gap-filter-chip--active" : ""}`,
2234
+ onClick: () => n == null ? void 0 : n(h.value),
2235
+ children: [
2236
+ h.value === "filter-sort" && /* @__PURE__ */ e("span", { className: "gap-filter-chip-icon", children: /* @__PURE__ */ e(be, {}) }),
2237
+ /* @__PURE__ */ e("span", { children: h.label }),
2238
+ h.hasDropdown && /* @__PURE__ */ e(ke, {})
2239
+ ]
2240
+ },
2241
+ h.value
2242
+ );
2243
+ }) }),
2244
+ (i.length > 0 || s) && /* @__PURE__ */ a("div", { className: "gap-filter-active-row", children: [
2245
+ i.length > 0 && /* @__PURE__ */ a(N, { children: [
2246
+ /* @__PURE__ */ e(
2247
+ "button",
2248
+ {
2249
+ type: "button",
2250
+ className: "gap-filter-clear-all",
2251
+ onClick: o,
2252
+ children: "Clear all"
2253
+ }
2254
+ ),
2255
+ /* @__PURE__ */ e("div", { className: "gap-filter-active-tags", children: i.map((h) => /* @__PURE__ */ a(
2256
+ "button",
2257
+ {
2258
+ type: "button",
2259
+ className: "gap-filter-active-tag",
2260
+ onClick: () => t == null ? void 0 : t(h.value),
2261
+ children: [
2262
+ /* @__PURE__ */ e("span", { children: h.label }),
2263
+ /* @__PURE__ */ e(Ne, {})
2264
+ ]
2265
+ },
2266
+ h.value
2267
+ )) })
2268
+ ] }),
2269
+ s && /* @__PURE__ */ e("span", { className: "gap-filter-result-count", children: s })
2270
+ ] })
2271
+ ] });
2272
+ }
2273
+ function we({ expanded: r }) {
2274
+ return /* @__PURE__ */ e(
2275
+ "svg",
2276
+ {
2277
+ width: "10",
2278
+ height: "6",
2279
+ viewBox: "0 0 10 6",
2280
+ fill: "none",
2281
+ xmlns: "http://www.w3.org/2000/svg",
2282
+ "aria-hidden": "true",
2283
+ className: `gap-filter-drawer-chevron${r ? " gap-filter-drawer-chevron--up" : ""}`,
2284
+ children: /* @__PURE__ */ e("path", { d: "M1 1l4 4 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" })
2285
+ }
2286
+ );
2287
+ }
2288
+ function Ce() {
2289
+ return /* @__PURE__ */ e("svg", { width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { d: "M1 1l12 12M13 1L1 13", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) });
2290
+ }
2291
+ function oa({
2292
+ open: r,
2293
+ title: l = "Filter & Sort",
2294
+ onClose: n,
2295
+ sections: i = [],
2296
+ applyLabel: t = "Apply",
2297
+ onApply: o,
2298
+ className: s
2299
+ }) {
2300
+ const [c, u] = B(
2301
+ /* @__PURE__ */ new Set()
2302
+ );
2303
+ if (!r) return null;
2304
+ const h = (p) => {
2305
+ u((g) => {
2306
+ const d = new Set(g);
2307
+ return d.has(p) ? d.delete(p) : d.add(p), d;
2308
+ });
2309
+ }, f = ["gap-filter-drawer-overlay", s].filter(Boolean).join(" ");
2310
+ return /* @__PURE__ */ a("div", { className: f, children: [
2311
+ /* @__PURE__ */ e(
2312
+ "div",
2313
+ {
2314
+ className: "gap-filter-drawer-backdrop",
2315
+ onClick: n,
2316
+ "aria-hidden": "true"
2317
+ }
2318
+ ),
2319
+ /* @__PURE__ */ a("div", { className: "gap-filter-drawer", role: "dialog", "aria-label": l, children: [
2320
+ /* @__PURE__ */ a("div", { className: "gap-filter-drawer-header", children: [
2321
+ /* @__PURE__ */ e("h2", { className: "gap-filter-drawer-title", children: l }),
2322
+ /* @__PURE__ */ e(
2323
+ "button",
2324
+ {
2325
+ type: "button",
2326
+ className: "gap-filter-drawer-close",
2327
+ "aria-label": "Close",
2328
+ onClick: n,
2329
+ children: /* @__PURE__ */ e(Ce, {})
2330
+ }
2331
+ )
2332
+ ] }),
2333
+ /* @__PURE__ */ e("div", { className: "gap-filter-drawer-body", children: i.map((p, g) => {
2334
+ const d = c.has(g);
2335
+ return /* @__PURE__ */ a("div", { className: "gap-filter-drawer-section", children: [
2336
+ /* @__PURE__ */ e("hr", { className: "gap-divider gap-divider--subtle" }),
2337
+ /* @__PURE__ */ a(
2338
+ "button",
2339
+ {
2340
+ type: "button",
2341
+ className: "gap-filter-drawer-section-header",
2342
+ "aria-expanded": d,
2343
+ onClick: () => h(g),
2344
+ children: [
2345
+ /* @__PURE__ */ a("div", { className: "gap-filter-drawer-section-title-group", children: [
2346
+ /* @__PURE__ */ a("span", { className: "gap-filter-drawer-section-title", children: [
2347
+ p.title,
2348
+ p.count != null && /* @__PURE__ */ a("span", { className: "gap-filter-drawer-section-count", children: [
2349
+ " ",
2350
+ "(",
2351
+ p.count,
2352
+ ")"
2353
+ ] })
2354
+ ] }),
2355
+ !d && p.subtitle && /* @__PURE__ */ e("span", { className: "gap-filter-drawer-section-subtitle", children: p.subtitle })
2356
+ ] }),
2357
+ /* @__PURE__ */ e(we, { expanded: d })
2358
+ ]
2359
+ }
2360
+ ),
2361
+ d && p.children && /* @__PURE__ */ e("div", { className: "gap-filter-drawer-section-content", children: p.children })
2362
+ ] }, g);
2363
+ }) }),
2364
+ o && /* @__PURE__ */ e("div", { className: "gap-filter-drawer-footer", children: /* @__PURE__ */ e(
2365
+ "button",
2366
+ {
2367
+ type: "button",
2368
+ className: "gap-filter-drawer-apply",
2369
+ onClick: o,
2370
+ children: t
2371
+ }
2372
+ ) })
2373
+ ] })
2374
+ ] });
2375
+ }
2376
+ export {
2377
+ Re as Accordion,
2378
+ Te as AccordionItem,
2379
+ Ae as BopisSwitch,
2380
+ Ke as Breadcrumb,
2381
+ We as Button,
2382
+ Ie as Checkbox,
2383
+ Ve as CheckboxGroup,
2384
+ je as Chip,
2385
+ Se as ChipGroup,
2386
+ $e as Divider,
2387
+ Oe as Dropdown,
2388
+ sa as FilterControls,
2389
+ oa as FilterDrawer,
2390
+ _e as Fulfillment,
2391
+ Xe as FulfillmentTile,
2392
+ Be as GapLogo,
2393
+ la as GlobalFooter,
2394
+ ra as GlobalHeader,
2395
+ ia as HamburgerNav,
2396
+ He as Handle,
2397
+ Me as Icon,
2398
+ Ze as Link,
2399
+ ca as MegaNav,
2400
+ Pe as Notification,
2401
+ Ye as Pagination,
2402
+ qe as Popover,
2403
+ Ge as Price,
2404
+ ea as PriceFilter,
2405
+ ta as ProductCard,
2406
+ De as Radio,
2407
+ Ee as RadioGroup,
2408
+ ae as RangeSlider,
2409
+ na as SearchInput,
2410
+ ze as Selector,
2411
+ Qe as SelectorGroup,
2412
+ Je as SelectorSwatch,
2413
+ Ue as SwatchGrid,
2414
+ Y as Switch,
2415
+ aa as Tabs,
2416
+ Fe as TextInput
2417
+ };