quirk-ui 0.1.179 → 0.1.181

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.
@@ -0,0 +1 @@
1
+ "use strict";require('./FormField.css');const s=require("react/jsx-runtime"),q=require("./core/components/Input/index.cjs"),T=require("./core/components/Textarea/index.cjs"),_=require("./core/components/Select/index.cjs"),h=require("./core/components/Checkbox/index.cjs"),k=require("./core/components/Radio/index.cjs"),p=require("./core/components/Fieldset/index.cjs"),W=require("./core/components/DatePicker/index.cjs"),F=require("./core/components/Range/index.cjs"),j="_formBlock_1taaa_1",C="_container_1taaa_7",w="_formInner_1taaa_20",L="_maxWidthSm_1taaa_26",y="_maxWidthMd_1taaa_29",S="_maxWidthLg_1taaa_32",B="_maxWidthFull_1taaa_35",$="_heading_1taaa_41",H="_eyebrow_1taaa_47",G="_title_1taaa_51",I="_disclaimer_1taaa_55",M="_progress_1taaa_61",D="_progressHeader_1taaa_67",O="_stepLabel_1taaa_73",P="_stepCount_1taaa_79",R="_stepDescription_1taaa_84",V="_fields_1taaa_92",f="_fieldFull_1taaa_99",N="_fieldHalf_1taaa_103",z="_fieldThird_1taaa_111",A="_actions_1taaa_121",E="_submitButton_1taaa_128",J="_success_1taaa_134",K="_errorBanner_1taaa_149",u={formBlock:j,container:C,formInner:w,maxWidthSm:L,maxWidthMd:y,maxWidthLg:S,maxWidthFull:B,heading:$,eyebrow:H,title:G,disclaimer:I,progress:M,progressHeader:D,stepLabel:O,stepCount:P,stepDescription:R,fields:V,fieldFull:f,fieldHalf:N,fieldThird:z,actions:A,submitButton:E,success:J,errorBanner:K};function i(e){return(e??[]).map(t=>({label:t.label,value:t.value.current,disabled:t.disabled}))}function m(e){return(e??[]).map(t=>({label:t.label,options:t.options.map(r=>({label:r.label,value:r.value.current,disabled:r.disabled}))}))}function Q({field:e,value:t,error:r,onChange:l}){const n=e.name.current,x={full:u.fieldFull,half:u.fieldHalf,third:u.fieldThird}[e.width??"full"],c={id:n,name:n,label:e.label,required:e.required,disabled:e.disabled,helperText:e.helperText,error:r},d=()=>{switch(e.fieldType){case"text":case"email":case"phone":case"number":case"url":return s.jsx(q.Input,{...c,type:e.fieldType==="phone"?"tel":e.fieldType,placeholder:e.placeholder,value:t??"",minLength:e.minLength,maxLength:e.maxLength,fullWidth:!0,onChange:a=>l(n,a.target.value)});case"textarea":return s.jsx(T.Textarea,{...c,placeholder:e.placeholder,value:t??"",rows:e.rows??4,maxLength:e.maxLength,showCharCount:e.showCharCount,fullWidth:!0,onChange:a=>l(n,a.target.value)});case"select":{const a=e.useOptionGroups?m(e.optionGroups):i(e.options);return s.jsx(_.Select,{...c,placeholder:e.placeholder,options:a,value:t??"",fullWidth:!0,onChange:o=>l(n,o.target.value)})}case"multiselect":{const a=e.useOptionGroups?m(e.optionGroups):i(e.options);return s.jsx(_.Select,{...c,multiple:!0,options:a,value:t??[],showSelectedCount:!0,onChange:o=>l(n,o)})}case"checkbox":return s.jsx(h.Checkbox,{id:c.id,name:c.name,label:e.label,required:e.required,disabled:e.disabled,helperText:r??e.helperText,error:!!r,checked:t??!1,onChange:a=>l(n,a.target.checked)});case"checkboxGroup":{const a=t??[];return s.jsx(p.Fieldset,{legend:e.label,error:!!r,helperText:r,children:i(e.options).map(o=>s.jsx(h.Checkbox,{id:`${n}-${o.value}`,name:`${n}[]`,label:o.label,checked:a.includes(o.value),disabled:o.disabled||e.disabled,onChange:b=>{const g=b.target.checked?[...a,o.value]:a.filter(v=>v!==o.value);l(n,g)}},o.value))})}case"radio":return s.jsx(p.Fieldset,{legend:e.label,error:!!r,helperText:r,children:i(e.options).map(a=>s.jsx(k.Radio,{id:`${n}-${a.value}`,name:n,value:a.value,label:a.label,checked:t===a.value,disabled:a.disabled||e.disabled,required:e.required,onChange:()=>l(n,a.value)},a.value))});case"date":return s.jsx(W.DatePicker,{id:c.id,name:c.name,label:e.label,required:e.required,disabled:e.disabled,helperText:r??e.helperText,error:!!r,value:t??null,onChange:a=>l(n,a)});case"range":return s.jsx(F.Range,{...c,value:t??e.rangeMin??0,min:e.rangeMin??0,max:e.rangeMax??100,step:e.rangeStep??1,valuePrefix:e.rangeValuePrefix,valueSuffix:e.rangeValueSuffix,showValue:!0,onChange:a=>l(n,a)});case"hidden":return s.jsx("input",{type:"hidden",name:n,value:t??e.hiddenValue??""});default:return null}};return e.fieldType==="hidden"?d():s.jsx("div",{className:`${x}`,children:d()})}exports.FormField=Q;exports.styles=u;
@@ -1,19 +1,19 @@
1
1
  import { jsx as s } from "react/jsx-runtime";
2
- import { Input as v } from "./core/components/Input/index.mjs";
3
- import { Textarea as T } from "./core/components/Textarea/index.mjs";
2
+ import { Input as T } from "./core/components/Input/index.mjs";
3
+ import { Textarea as W } from "./core/components/Textarea/index.mjs";
4
4
  import { Select as m } from "./core/components/Select/index.mjs";
5
5
  import { Checkbox as _ } from "./core/components/Checkbox/index.mjs";
6
- import { Radio as W } from "./core/components/Radio/index.mjs";
6
+ import { Radio as f } from "./core/components/Radio/index.mjs";
7
7
  import { Fieldset as h } from "./core/components/Fieldset/index.mjs";
8
- import { DatePicker as f } from "./core/components/DatePicker/index.mjs";
9
- import { Range as k } from "./core/components/Range/index.mjs";
10
- import './FormField.css';const w = "_formBlock_8cqr5_1", L = "_container_8cqr5_7", C = "_formInner_8cqr5_20", F = "_maxWidthSm_8cqr5_26", y = "_maxWidthMd_8cqr5_29", B = "_maxWidthLg_8cqr5_32", S = "_maxWidthFull_8cqr5_35", H = "_heading_8cqr5_41", G = "_eyebrow_8cqr5_47", M = "_title_8cqr5_51", $ = "_disclaimer_8cqr5_55", I = "_progress_8cqr5_61", D = "_progressHeader_8cqr5_67", O = "_stepLabel_8cqr5_73", V = "_stepCount_8cqr5_79", P = "_stepDescription_8cqr5_84", R = "_fields_8cqr5_92", j = "_fieldFull_8cqr5_99", N = "_fieldHalf_8cqr5_103", z = "_fieldThird_8cqr5_111", A = "_actions_8cqr5_121", E = "_submitButton_8cqr5_128", J = "_success_8cqr5_134", K = "_errorBanner_8cqr5_149", u = {
11
- formBlock: w,
12
- container: L,
13
- formInner: C,
14
- maxWidthSm: F,
15
- maxWidthMd: y,
16
- maxWidthLg: B,
8
+ import { DatePicker as k } from "./core/components/DatePicker/index.mjs";
9
+ import { Range as w } from "./core/components/Range/index.mjs";
10
+ import './FormField.css';const L = "_formBlock_1taaa_1", C = "_container_1taaa_7", F = "_formInner_1taaa_20", y = "_maxWidthSm_1taaa_26", B = "_maxWidthMd_1taaa_29", q = "_maxWidthLg_1taaa_32", S = "_maxWidthFull_1taaa_35", H = "_heading_1taaa_41", G = "_eyebrow_1taaa_47", M = "_title_1taaa_51", $ = "_disclaimer_1taaa_55", I = "_progress_1taaa_61", D = "_progressHeader_1taaa_67", O = "_stepLabel_1taaa_73", V = "_stepCount_1taaa_79", P = "_stepDescription_1taaa_84", R = "_fields_1taaa_92", j = "_fieldFull_1taaa_99", N = "_fieldHalf_1taaa_103", z = "_fieldThird_1taaa_111", A = "_actions_1taaa_121", E = "_submitButton_1taaa_128", J = "_success_1taaa_134", K = "_errorBanner_1taaa_149", u = {
11
+ formBlock: L,
12
+ container: C,
13
+ formInner: F,
14
+ maxWidthSm: y,
15
+ maxWidthMd: B,
16
+ maxWidthLg: q,
17
17
  maxWidthFull: S,
18
18
  heading: H,
19
19
  eyebrow: G,
@@ -33,7 +33,7 @@ import './FormField.css';const w = "_formBlock_8cqr5_1", L = "_container_8cqr5_7
33
33
  success: J,
34
34
  errorBanner: K
35
35
  };
36
- function i(e) {
36
+ function c(e) {
37
37
  return (e ?? []).map((t) => ({
38
38
  label: t.label,
39
39
  value: t.value.current,
@@ -50,14 +50,14 @@ function p(e) {
50
50
  }))
51
51
  }));
52
52
  }
53
- function ne({ field: e, value: t, error: n, onChange: c }) {
54
- const a = e.name.current, b = {
53
+ function ne({ field: e, value: t, error: n, onChange: o }) {
54
+ const r = e.name.current, b = {
55
55
  full: u.fieldFull,
56
56
  half: u.fieldHalf,
57
57
  third: u.fieldThird
58
- }[e.width ?? "full"], o = {
59
- id: a,
60
- name: a,
58
+ }[e.width ?? "full"], i = {
59
+ id: r,
60
+ name: r,
61
61
  label: e.label,
62
62
  required: e.required,
63
63
  disabled: e.disabled,
@@ -72,60 +72,60 @@ function ne({ field: e, value: t, error: n, onChange: c }) {
72
72
  case "number":
73
73
  case "url":
74
74
  return /* @__PURE__ */ s(
75
- v,
75
+ T,
76
76
  {
77
- ...o,
77
+ ...i,
78
78
  type: e.fieldType === "phone" ? "tel" : e.fieldType,
79
79
  placeholder: e.placeholder,
80
80
  value: t ?? "",
81
81
  minLength: e.minLength,
82
82
  maxLength: e.maxLength,
83
83
  fullWidth: !0,
84
- onChange: (r) => c(a, r.target.value)
84
+ onChange: (a) => o(r, a.target.value)
85
85
  }
86
86
  );
87
87
  // ── Textarea ───────────────────────────────────────────────────────
88
88
  case "textarea":
89
89
  return /* @__PURE__ */ s(
90
- T,
90
+ W,
91
91
  {
92
- ...o,
92
+ ...i,
93
93
  placeholder: e.placeholder,
94
94
  value: t ?? "",
95
95
  rows: e.rows ?? 4,
96
96
  maxLength: e.maxLength,
97
97
  showCharCount: e.showCharCount,
98
98
  fullWidth: !0,
99
- onChange: (r) => c(a, r.target.value)
99
+ onChange: (a) => o(r, a.target.value)
100
100
  }
101
101
  );
102
102
  // ── Select ─────────────────────────────────────────────────────────
103
103
  case "select": {
104
- const r = e.useOptionGroups ? p(e.optionGroups) : i(e.options);
104
+ const a = e.useOptionGroups ? p(e.optionGroups) : c(e.options);
105
105
  return /* @__PURE__ */ s(
106
106
  m,
107
107
  {
108
- ...o,
108
+ ...i,
109
109
  placeholder: e.placeholder,
110
- options: r,
110
+ options: a,
111
111
  value: t ?? "",
112
112
  fullWidth: !0,
113
- onChange: (l) => c(a, l.target.value)
113
+ onChange: (l) => o(r, l.target.value)
114
114
  }
115
115
  );
116
116
  }
117
117
  // ── Multi-select ───────────────────────────────────────────────────
118
118
  case "multiselect": {
119
- const r = e.useOptionGroups ? p(e.optionGroups) : i(e.options);
119
+ const a = e.useOptionGroups ? p(e.optionGroups) : c(e.options);
120
120
  return /* @__PURE__ */ s(
121
121
  m,
122
122
  {
123
- ...o,
123
+ ...i,
124
124
  multiple: !0,
125
- options: r,
125
+ options: a,
126
126
  value: t ?? [],
127
127
  showSelectedCount: !0,
128
- onChange: (l) => c(a, l)
128
+ onChange: (l) => o(r, l)
129
129
  }
130
130
  );
131
131
  }
@@ -134,31 +134,31 @@ function ne({ field: e, value: t, error: n, onChange: c }) {
134
134
  return /* @__PURE__ */ s(
135
135
  _,
136
136
  {
137
- id: o.id,
138
- name: o.name,
137
+ id: i.id,
138
+ name: i.name,
139
139
  label: e.label,
140
140
  required: e.required,
141
141
  disabled: e.disabled,
142
142
  helperText: n ?? e.helperText,
143
143
  error: !!n,
144
144
  checked: t ?? !1,
145
- onChange: (r) => c(a, r.target.checked)
145
+ onChange: (a) => o(r, a.target.checked)
146
146
  }
147
147
  );
148
148
  // ── Checkbox group ─────────────────────────────────────────────────
149
149
  case "checkboxGroup": {
150
- const r = t ?? [];
151
- return /* @__PURE__ */ s(h, { legend: e.label, error: !!n, helperText: n, children: i(e.options).map((l) => /* @__PURE__ */ s(
150
+ const a = t ?? [];
151
+ return /* @__PURE__ */ s(h, { legend: e.label, error: !!n, helperText: n, children: c(e.options).map((l) => /* @__PURE__ */ s(
152
152
  _,
153
153
  {
154
- id: `${a}-${l.value}`,
155
- name: `${a}[]`,
154
+ id: `${r}-${l.value}`,
155
+ name: `${r}[]`,
156
156
  label: l.label,
157
- checked: r.includes(l.value),
157
+ checked: a.includes(l.value),
158
158
  disabled: l.disabled || e.disabled,
159
159
  onChange: (x) => {
160
- const g = x.target.checked ? [...r, l.value] : r.filter((q) => q !== l.value);
161
- c(a, g);
160
+ const g = x.target.checked ? [...a, l.value] : a.filter((v) => v !== l.value);
161
+ o(r, g);
162
162
  }
163
163
  },
164
164
  l.value
@@ -166,42 +166,42 @@ function ne({ field: e, value: t, error: n, onChange: c }) {
166
166
  }
167
167
  // ── Radio group ────────────────────────────────────────────────────
168
168
  case "radio":
169
- return /* @__PURE__ */ s(h, { legend: e.label, error: !!n, helperText: n, children: i(e.options).map((r) => /* @__PURE__ */ s(
170
- W,
169
+ return /* @__PURE__ */ s(h, { legend: e.label, error: !!n, helperText: n, children: c(e.options).map((a) => /* @__PURE__ */ s(
170
+ f,
171
171
  {
172
- id: `${a}-${r.value}`,
173
- name: a,
174
- value: r.value,
175
- label: r.label,
176
- checked: t === r.value,
177
- disabled: r.disabled || e.disabled,
172
+ id: `${r}-${a.value}`,
173
+ name: r,
174
+ value: a.value,
175
+ label: a.label,
176
+ checked: t === a.value,
177
+ disabled: a.disabled || e.disabled,
178
178
  required: e.required,
179
- onChange: () => c(a, r.value)
179
+ onChange: () => o(r, a.value)
180
180
  },
181
- r.value
181
+ a.value
182
182
  )) });
183
183
  // ── Date picker ────────────────────────────────────────────────────
184
184
  case "date":
185
185
  return /* @__PURE__ */ s(
186
- f,
186
+ k,
187
187
  {
188
- id: o.id,
189
- name: o.name,
188
+ id: i.id,
189
+ name: i.name,
190
190
  label: e.label,
191
191
  required: e.required,
192
192
  disabled: e.disabled,
193
193
  helperText: n ?? e.helperText,
194
194
  error: !!n,
195
195
  value: t ?? null,
196
- onChange: (r) => c(a, r)
196
+ onChange: (a) => o(r, a)
197
197
  }
198
198
  );
199
199
  // ── Range ──────────────────────────────────────────────────────────
200
200
  case "range":
201
201
  return /* @__PURE__ */ s(
202
- k,
202
+ w,
203
203
  {
204
- ...o,
204
+ ...i,
205
205
  value: t ?? e.rangeMin ?? 0,
206
206
  min: e.rangeMin ?? 0,
207
207
  max: e.rangeMax ?? 100,
@@ -209,7 +209,7 @@ function ne({ field: e, value: t, error: n, onChange: c }) {
209
209
  valuePrefix: e.rangeValuePrefix,
210
210
  valueSuffix: e.rangeValueSuffix,
211
211
  showValue: !0,
212
- onChange: (r) => c(a, r)
212
+ onChange: (a) => o(r, a)
213
213
  }
214
214
  );
215
215
  // ── Hidden ─────────────────────────────────────────────────────────
@@ -218,7 +218,7 @@ function ne({ field: e, value: t, error: n, onChange: c }) {
218
218
  "input",
219
219
  {
220
220
  type: "hidden",
221
- name: a,
221
+ name: r,
222
222
  value: t ?? e.hiddenValue ?? ""
223
223
  }
224
224
  );
@@ -1 +1 @@
1
- ._formBlock_8cqr5_1{width:100%;padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}._container_8cqr5_7{width:100%;max-width:var(--layout-width, 1250px);margin:0 auto;padding-left:var(--spacing-md);padding-right:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-lg)}._formInner_8cqr5_20{width:100%;margin-left:auto;margin-right:auto}._maxWidthSm_8cqr5_26{max-width:480px}._maxWidthMd_8cqr5_29{max-width:640px}._maxWidthLg_8cqr5_32{max-width:800px}._maxWidthFull_8cqr5_35{max-width:100%}._heading_8cqr5_41{display:flex;flex-direction:column;gap:var(--spacing-sm)}._eyebrow_8cqr5_47{font-weight:var(--font-weight-bold)}._title_8cqr5_51{text-wrap:balance}._disclaimer_8cqr5_55{font-size:var(--font-size-sm)}._progress_8cqr5_61{display:flex;flex-direction:column;gap:var(--spacing-sm)}._progressHeader_8cqr5_67{display:flex;justify-content:space-between;align-items:center}._stepLabel_8cqr5_73{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--color-text-primary)}._stepCount_8cqr5_79{font-size:var(--font-size-sm);color:var(--color-secondary-50)}._stepDescription_8cqr5_84{color:var(--color-secondary-75);font-size:var(--font-size-md);margin:0}._fields_8cqr5_92{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}._fieldFull_8cqr5_99{width:100%}._fieldHalf_8cqr5_103{width:calc(50% - var(--spacing-md) / 2)}@media (max-width: 767px){._fieldHalf_8cqr5_103{width:100%}}._fieldThird_8cqr5_111{width:calc(33.333% - var(--spacing-md) * 2 / 3)}@media (max-width: 767px){._fieldThird_8cqr5_111{width:100%}}._actions_8cqr5_121{display:flex;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-sm)}._submitButton_8cqr5_128{margin-left:auto}._success_8cqr5_134{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-lg);padding:var(--spacing-md) 0 0}._success_8cqr5_134 p{color:var(--color-states-success-bg);font-weight:var(--font-weight-semibold)}._errorBanner_8cqr5_149{padding:var(--spacing-md);background-color:var(--color-states-error-bg);color:var(--color-states-error-text);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.split ._container_8cqr5_7{flex-direction:row;gap:3rem}.split ._heading_8cqr5_41,.split form{flex:.5}
1
+ ._formBlock_1taaa_1{width:100%;padding-top:var(--spacing-xl);padding-bottom:var(--spacing-xl)}._container_1taaa_7{width:100%;max-width:var(--layout-width, 1250px);margin:0 auto;padding-left:var(--spacing-md);padding-right:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-lg)}._formInner_1taaa_20{width:100%;margin-left:auto;margin-right:auto}._maxWidthSm_1taaa_26{max-width:480px}._maxWidthMd_1taaa_29{max-width:640px}._maxWidthLg_1taaa_32{max-width:800px}._maxWidthFull_1taaa_35{max-width:100%}._heading_1taaa_41{display:flex;flex-direction:column;gap:var(--spacing-sm)}._eyebrow_1taaa_47{font-weight:var(--font-weight-bold)}._title_1taaa_51{text-wrap:balance}._disclaimer_1taaa_55{font-size:var(--font-size-sm)}._progress_1taaa_61{display:flex;flex-direction:column;gap:var(--spacing-sm)}._progressHeader_1taaa_67{display:flex;justify-content:space-between;align-items:center}._stepLabel_1taaa_73{font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);color:var(--color-text-primary)}._stepCount_1taaa_79{font-size:var(--font-size-sm);color:var(--color-secondary-50)}._stepDescription_1taaa_84{color:var(--color-secondary-75);font-size:var(--font-size-md);margin:0}._fields_1taaa_92{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}._fieldFull_1taaa_99{width:100%}._fieldHalf_1taaa_103{width:calc(50% - var(--spacing-md) / 2)}@media (max-width: 767px){._fieldHalf_1taaa_103{width:100%}}._fieldThird_1taaa_111{width:calc(33.333% - var(--spacing-md) * 2 / 3)}@media (max-width: 767px){._fieldThird_1taaa_111{width:100%}}._actions_1taaa_121{display:flex;align-items:center;gap:var(--spacing-md);padding-top:var(--spacing-sm)}._submitButton_1taaa_128{margin-left:auto}._success_1taaa_134{display:flex;flex-direction:column;align-items:flex-start;gap:var(--spacing-lg);padding:var(--spacing-md) 0 0}._success_1taaa_134 p{color:var(--color-states-success-bg);font-weight:var(--font-weight-semibold)}._errorBanner_1taaa_149{padding:var(--spacing-md);background-color:var(--color-states-error-bg);color:var(--color-states-error-text);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.split ._container_1taaa_7{flex-direction:row;gap:3rem}.split ._heading_1taaa_41,.split form{flex:.5}@media (max-width: 767px){.split ._container_1taaa_7{flex-direction:column-reverse}.split ._heading_1taaa_41,.split form{flex:1}}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index52.css');const e=require("react/jsx-runtime"),T=require("../../../index-0SVQqhAg.cjs"),k=require("../ButtonGroup/index.cjs"),s=require("../../../index-CBK5rp6X.cjs"),$=require("../../../external-link-DDShu-48.cjs"),F="_footer_1lalq_1",I="_container_1lalq_10",S="_primaryNav_1lalq_24",w="_secondaryNav_1lalq_35",L="_details_1lalq_72",A="_nav_1lalq_86",B="_logo_1lalq_94",E="_socialItems_1lalq_109",C="_group_1lalq_116",M="_groups_1lalq_126",z="_groupTitle_1lalq_137",G="_sublinks_1lalq_146",Y="_link_1lalq_154",O="_newTabIcon_1lalq_172",P="_bottom_1lalq_186",U="_left_1lalq_197",D="_center_1lalq_217",H="_right_1lalq_247",a={footer:F,container:I,primaryNav:S,secondaryNav:w,details:L,nav:A,logo:B,socialItems:E,group:C,groups:M,groupTitle:z,sublinks:G,link:Y,newTabIcon:O,bottom:P,left:U,center:D,right:H},J={Facebook:s.FaFacebook,Twitter:s.FaTwitter,LinkedIn:s.FaLinkedin,Instagram:s.FaInstagram,YouTube:s.FaYoutube},K={left:a.left,center:a.center,right:a.right};function Q({logo:d,items:u,primaryInfo:g,secondaryInfo:h,utilityItems:r,socialItems:t,alignment:m="left",copyright:v,className:b,style:j,...q}){const i=(l,o=!1)=>l.map((n,N)=>{var x;const f=n._key??`${n.label}-${N}`,c=!!((x=n.sublinks)!=null&&x.length),y=!!n.href,_=n.icon?J[n.icon]:void 0,p=e.jsxs(e.Fragment,{children:[!o&&n.label,_&&e.jsx(_,{"aria-hidden":"true"}),!_&&n.isExternal&&e.jsx($.ExternalLink,{className:a.newTabIcon,size:14,"aria-hidden":"true"})]});return e.jsxs("div",{className:a.group,children:[y?e.jsx("a",{href:n.href,className:`${a.link}${c?` ${a.groupTitle}`:""}`,target:n.isExternal?"_blank":"_self",rel:n.isExternal?"noopener noreferrer":void 0,"aria-label":o?n.label:void 0,onClick:n.onClick,children:p}):e.jsx("span",{className:c?a.groupTitle:void 0,children:p}),c&&e.jsx("div",{className:a.sublinks,"aria-label":`${n.label} links`,children:i(n.sublinks)})]},f)});return e.jsx("footer",{className:`${a.footer} ${K[m]}${b?` ${b}`:""}`,style:j,...q,children:e.jsxs("div",{className:a.container,children:[e.jsxs("div",{className:a.primaryNav,children:[e.jsxs("div",{className:a.details,children:[d&&e.jsx("div",{className:a.logo,children:d}),t&&t.length>0&&e.jsx("div",{className:a.socialItems,"aria-label":"Social media links",children:i(t,!0)}),g&&e.jsx("div",{children:g}),h&&e.jsx("div",{children:h})]}),u.length>0&&e.jsx("nav",{className:a.nav,id:"footer-nav","aria-label":"Footer navigation",children:e.jsx("div",{className:a.groups,children:i(u)})})]}),e.jsxs("div",{className:a.secondaryNav,children:[v&&e.jsx("div",{className:a.bottom,children:e.jsx("span",{children:v})}),r&&r.length>0&&e.jsx("nav",{"aria-label":"Utility links",children:e.jsx(k.ButtonGroup,{orientation:"horizontal",children:r.map((l,o)=>e.jsx(T.Button,{as:"a",href:l.href??"/",variant:l.variant??"primary",displayType:l.displayType??"text",imageSrc:l.imageSrc,imageAlt:l.imageAlt,"aria-label":l.ariaLabel??(typeof l.label=="string"?l.label:""),icon:l.icon,iconAlignment:l.iconAlignment,children:l.label},l._key??o))})})]})]})})}exports.Footer=Q;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require('../../../index52.css');const e=require("react/jsx-runtime"),k=require("../../../index-0SVQqhAg.cjs"),$=require("../ButtonGroup/index.cjs"),a=require("../../../index-CBK5rp6X.cjs"),F=require("../../../external-link-DDShu-48.cjs"),I="_footer_rb1sm_1",S="_container_rb1sm_10",q="_primaryNav_rb1sm_24",w="_secondaryNav_rb1sm_35",L="_details_rb1sm_72",A="_nav_rb1sm_86",B="_logo_rb1sm_94",E="_socialItems_rb1sm_109",C="_group_rb1sm_116",M="_groups_rb1sm_126",z="_groupTitle_rb1sm_137",G="_sublinks_rb1sm_146",Y="_link_rb1sm_154",O="_newTabIcon_rb1sm_172",P="_bottom_rb1sm_186",U="_left_rb1sm_197",D="_center_rb1sm_217",H="_right_rb1sm_247",s={footer:I,container:S,primaryNav:q,secondaryNav:w,details:L,nav:A,logo:B,socialItems:E,group:C,groups:M,groupTitle:z,sublinks:G,link:Y,newTabIcon:O,bottom:P,left:U,center:D,right:H},J={Facebook:a.FaFacebook,Twitter:a.FaTwitter,LinkedIn:a.FaLinkedin,Instagram:a.FaInstagram,YouTube:a.FaYoutube},K={left:s.left,center:s.center,right:s.right};function Q({logo:d,items:b,primaryInfo:m,secondaryInfo:u,utilityItems:t,socialItems:i,alignment:x="left",copyright:g,className:h,style:j,...N}){const l=(r,o=!1)=>r.map((n,f)=>{var p;const y=n._key??`${n.label}-${f}`,c=!!((p=n.sublinks)!=null&&p.length),T=!!n.href,_=n.icon?J[n.icon]:void 0,v=e.jsxs(e.Fragment,{children:[!o&&n.label,_&&e.jsx(_,{"aria-hidden":"true"}),!_&&n.isExternal&&e.jsx(F.ExternalLink,{className:s.newTabIcon,size:14,"aria-hidden":"true"})]});return e.jsxs("div",{className:s.group,children:[T?e.jsx("a",{href:n.href,className:`${s.link}${c?` ${s.groupTitle}`:""}`,target:n.isExternal?"_blank":"_self",rel:n.isExternal?"noopener noreferrer":void 0,"aria-label":o?n.label:void 0,onClick:n.onClick,children:v}):e.jsx("span",{className:c?s.groupTitle:void 0,children:v}),c&&e.jsx("div",{className:s.sublinks,"aria-label":`${n.label} links`,children:l(n.sublinks)})]},y)});return e.jsx("footer",{className:`${s.footer} ${K[x]}${h?` ${h}`:""}`,style:j,...N,children:e.jsxs("div",{className:s.container,children:[e.jsxs("div",{className:s.primaryNav,children:[e.jsxs("div",{className:s.details,children:[d&&e.jsx("div",{className:s.logo,children:d}),i&&i.length>0&&e.jsx("div",{className:s.socialItems,"aria-label":"Social media links",children:l(i,!0)}),m&&e.jsx("div",{children:m}),u&&e.jsx("div",{children:u})]}),b.length>0&&e.jsx("nav",{className:s.nav,id:"footer-nav","aria-label":"Footer navigation",children:e.jsx("div",{className:s.groups,children:l(b)})})]}),e.jsxs("div",{className:s.secondaryNav,children:[g&&e.jsx("div",{className:s.bottom,children:e.jsx("span",{children:g})}),t&&t.length>0&&e.jsx("nav",{"aria-label":"Utility links",children:e.jsx($.ButtonGroup,{orientation:"horizontal",children:t.map((r,o)=>e.jsx(k.Button,{as:"a",href:r.href??"/",variant:r.variant??"primary",displayType:r.displayType??"text",imageSrc:r.imageSrc,imageAlt:r.imageAlt,"aria-label":r.ariaLabel??(typeof r.label=="string"?r.label:""),icon:r.icon,iconAlignment:r.iconAlignment,children:r.label},r._key??o))})})]})]})})}exports.Footer=Q;
@@ -1,17 +1,17 @@
1
- import { jsx as l, jsxs as o, Fragment as F } from "react/jsx-runtime";
2
- import { B as $ } from "../../../index-aWdsapYP.js";
3
- import { ButtonGroup as x } from "../ButtonGroup/index.mjs";
4
- import { a as I, b as w, c as E, d as S, e as A } from "../../../index-CeBA0PT0.js";
5
- import { E as L } from "../../../external-link-BOPobeQJ.js";
6
- import '../../../index52.css';const B = "_footer_1lalq_1", C = "_container_1lalq_10", j = "_primaryNav_1lalq_24", z = "_secondaryNav_1lalq_35", M = "_details_1lalq_72", Y = "_nav_1lalq_86", G = "_logo_1lalq_94", U = "_socialItems_1lalq_109", D = "_group_1lalq_116", H = "_groups_1lalq_126", J = "_groupTitle_1lalq_137", K = "_sublinks_1lalq_146", O = "_link_1lalq_154", P = "_newTabIcon_1lalq_172", Q = "_bottom_1lalq_186", R = "_left_1lalq_197", V = "_center_1lalq_217", W = "_right_1lalq_247", a = {
7
- footer: B,
8
- container: C,
9
- primaryNav: j,
10
- secondaryNav: z,
11
- details: M,
12
- nav: Y,
13
- logo: G,
14
- socialItems: U,
1
+ import { jsx as r, jsxs as s, Fragment as $ } from "react/jsx-runtime";
2
+ import { B as x } from "../../../index-aWdsapYP.js";
3
+ import { ButtonGroup as I } from "../ButtonGroup/index.mjs";
4
+ import { a as w, b as E, c as S, d as A, e as L } from "../../../index-CeBA0PT0.js";
5
+ import { E as B } from "../../../external-link-BOPobeQJ.js";
6
+ import '../../../index52.css';const C = "_footer_rb1sm_1", j = "_container_rb1sm_10", z = "_primaryNav_rb1sm_24", M = "_secondaryNav_rb1sm_35", Y = "_details_rb1sm_72", G = "_nav_rb1sm_86", U = "_logo_rb1sm_94", q = "_socialItems_rb1sm_109", D = "_group_rb1sm_116", H = "_groups_rb1sm_126", J = "_groupTitle_rb1sm_137", K = "_sublinks_rb1sm_146", O = "_link_rb1sm_154", P = "_newTabIcon_rb1sm_172", Q = "_bottom_rb1sm_186", R = "_left_rb1sm_197", V = "_center_rb1sm_217", W = "_right_rb1sm_247", a = {
7
+ footer: C,
8
+ container: j,
9
+ primaryNav: z,
10
+ secondaryNav: M,
11
+ details: Y,
12
+ nav: G,
13
+ logo: U,
14
+ socialItems: q,
15
15
  group: D,
16
16
  groups: H,
17
17
  groupTitle: J,
@@ -23,36 +23,36 @@ import '../../../index52.css';const B = "_footer_1lalq_1", C = "_container_1lalq
23
23
  center: V,
24
24
  right: W
25
25
  }, X = {
26
- Facebook: A,
27
- Twitter: S,
28
- LinkedIn: E,
29
- Instagram: w,
30
- YouTube: I
26
+ Facebook: L,
27
+ Twitter: A,
28
+ LinkedIn: S,
29
+ Instagram: E,
30
+ YouTube: w
31
31
  }, Z = {
32
32
  left: a.left,
33
33
  center: a.center,
34
34
  right: a.right
35
35
  };
36
- function ra({
36
+ function oa({
37
37
  logo: d,
38
- items: g,
39
- primaryInfo: h,
40
- secondaryInfo: p,
41
- utilityItems: s,
42
- socialItems: t,
38
+ items: m,
39
+ primaryInfo: b,
40
+ secondaryInfo: g,
41
+ utilityItems: t,
42
+ socialItems: l,
43
43
  alignment: f = "left",
44
- copyright: m,
45
- className: v,
44
+ copyright: h,
45
+ className: p,
46
46
  style: N,
47
- ...q
47
+ ...y
48
48
  }) {
49
- const i = (n, r = !1) => n.map((e, y) => {
49
+ const i = (n, o = !1) => n.map((e, T) => {
50
50
  var u;
51
- const T = e._key ?? `${e.label}-${y}`, c = !!((u = e.sublinks) != null && u.length), k = !!e.href, _ = e.icon ? X[e.icon] : void 0, b = /* @__PURE__ */ o(F, { children: [
52
- !r && e.label,
53
- _ && /* @__PURE__ */ l(_, { "aria-hidden": "true" }),
54
- !_ && e.isExternal && /* @__PURE__ */ l(
55
- L,
51
+ const k = e._key ?? `${e.label}-${T}`, c = !!((u = e.sublinks) != null && u.length), F = !!e.href, _ = e.icon ? X[e.icon] : void 0, v = /* @__PURE__ */ s($, { children: [
52
+ !o && e.label,
53
+ _ && /* @__PURE__ */ r(_, { "aria-hidden": "true" }),
54
+ !_ && e.isExternal && /* @__PURE__ */ r(
55
+ B,
56
56
  {
57
57
  className: a.newTabIcon,
58
58
  size: 14,
@@ -60,57 +60,57 @@ function ra({
60
60
  }
61
61
  )
62
62
  ] });
63
- return /* @__PURE__ */ o("div", { className: a.group, children: [
64
- k ? /* @__PURE__ */ l(
63
+ return /* @__PURE__ */ s("div", { className: a.group, children: [
64
+ F ? /* @__PURE__ */ r(
65
65
  "a",
66
66
  {
67
67
  href: e.href,
68
68
  className: `${a.link}${c ? ` ${a.groupTitle}` : ""}`,
69
69
  target: e.isExternal ? "_blank" : "_self",
70
70
  rel: e.isExternal ? "noopener noreferrer" : void 0,
71
- "aria-label": r ? e.label : void 0,
71
+ "aria-label": o ? e.label : void 0,
72
72
  onClick: e.onClick,
73
- children: b
73
+ children: v
74
74
  }
75
- ) : /* @__PURE__ */ l("span", { className: c ? a.groupTitle : void 0, children: b }),
76
- c && /* @__PURE__ */ l("div", { className: a.sublinks, "aria-label": `${e.label} links`, children: i(e.sublinks) })
77
- ] }, T);
75
+ ) : /* @__PURE__ */ r("span", { className: c ? a.groupTitle : void 0, children: v }),
76
+ c && /* @__PURE__ */ r("div", { className: a.sublinks, "aria-label": `${e.label} links`, children: i(e.sublinks) })
77
+ ] }, k);
78
78
  });
79
- return /* @__PURE__ */ l(
79
+ return /* @__PURE__ */ r(
80
80
  "footer",
81
81
  {
82
- className: `${a.footer} ${Z[f]}${v ? ` ${v}` : ""}`,
82
+ className: `${a.footer} ${Z[f]}${p ? ` ${p}` : ""}`,
83
83
  style: N,
84
- ...q,
85
- children: /* @__PURE__ */ o("div", { className: a.container, children: [
86
- /* @__PURE__ */ o("div", { className: a.primaryNav, children: [
87
- /* @__PURE__ */ o("div", { className: a.details, children: [
88
- d && /* @__PURE__ */ l("div", { className: a.logo, children: d }),
89
- t && t.length > 0 && /* @__PURE__ */ l(
84
+ ...y,
85
+ children: /* @__PURE__ */ s("div", { className: a.container, children: [
86
+ /* @__PURE__ */ s("div", { className: a.primaryNav, children: [
87
+ /* @__PURE__ */ s("div", { className: a.details, children: [
88
+ d && /* @__PURE__ */ r("div", { className: a.logo, children: d }),
89
+ l && l.length > 0 && /* @__PURE__ */ r(
90
90
  "div",
91
91
  {
92
92
  className: a.socialItems,
93
93
  "aria-label": "Social media links",
94
- children: i(t, !0)
94
+ children: i(l, !0)
95
95
  }
96
96
  ),
97
- h && /* @__PURE__ */ l("div", { children: h }),
98
- p && /* @__PURE__ */ l("div", { children: p })
97
+ b && /* @__PURE__ */ r("div", { children: b }),
98
+ g && /* @__PURE__ */ r("div", { children: g })
99
99
  ] }),
100
- g.length > 0 && /* @__PURE__ */ l(
100
+ m.length > 0 && /* @__PURE__ */ r(
101
101
  "nav",
102
102
  {
103
103
  className: a.nav,
104
104
  id: "footer-nav",
105
105
  "aria-label": "Footer navigation",
106
- children: /* @__PURE__ */ l("div", { className: a.groups, children: i(g) })
106
+ children: /* @__PURE__ */ r("div", { className: a.groups, children: i(m) })
107
107
  }
108
108
  )
109
109
  ] }),
110
- /* @__PURE__ */ o("div", { className: a.secondaryNav, children: [
111
- m && /* @__PURE__ */ l("div", { className: a.bottom, children: /* @__PURE__ */ l("span", { children: m }) }),
112
- s && s.length > 0 && /* @__PURE__ */ l("nav", { "aria-label": "Utility links", children: /* @__PURE__ */ l(x, { orientation: "horizontal", children: s.map((n, r) => /* @__PURE__ */ l(
113
- $,
110
+ /* @__PURE__ */ s("div", { className: a.secondaryNav, children: [
111
+ h && /* @__PURE__ */ r("div", { className: a.bottom, children: /* @__PURE__ */ r("span", { children: h }) }),
112
+ t && t.length > 0 && /* @__PURE__ */ r("nav", { "aria-label": "Utility links", children: /* @__PURE__ */ r(I, { orientation: "horizontal", children: t.map((n, o) => /* @__PURE__ */ r(
113
+ x,
114
114
  {
115
115
  as: "a",
116
116
  href: n.href ?? "/",
@@ -123,7 +123,7 @@ function ra({
123
123
  iconAlignment: n.iconAlignment,
124
124
  children: n.label
125
125
  },
126
- n._key ?? r
126
+ n._key ?? o
127
127
  )) }) })
128
128
  ] })
129
129
  ] })
@@ -131,5 +131,5 @@ function ra({
131
131
  );
132
132
  }
133
133
  export {
134
- ra as Footer
134
+ oa as Footer
135
135
  };
package/dist/index52.css CHANGED
@@ -1 +1 @@
1
- ._footer_1lalq_1{max-width:var(--layout-width);margin:0 auto;background-color:var(--color-background);padding:var(--spacing-xl) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-primary)}._container_1lalq_10{display:flex;flex-direction:column;align-items:flex-start;gap:2rem}._utilityImage_1lalq_20{width:100%}._primaryNav_1lalq_24{display:flex;gap:var(--spacing-xl);width:100%}@media (max-width: 767px){._primaryNav_1lalq_24{width:100%;flex-direction:column-reverse}}._secondaryNav_1lalq_35{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;width:100%;gap:var(--spacing-xl);margin-top:var(--spacing-xl)}._secondaryNav_1lalq_35 a:has(img){height:unset;background-color:transparent}._secondaryNav_1lalq_35 a:has(img) img{width:auto;height:60px}._secondaryNav_1lalq_35 a:has(img):hover{background-color:transparent}@media (max-width: 767px){._secondaryNav_1lalq_35{flex-direction:column-reverse;align-items:center;justify-content:center;margin-top:0}._secondaryNav_1lalq_35 nav{width:100%;display:flex;justify-content:center}}._details_1lalq_72{flex-basis:200px;display:flex;flex-direction:column;gap:var(--spacing-lg)}@media (max-width: 767px){._details_1lalq_72{justify-content:center;align-items:center;text-align:center;flex-basis:auto}}._nav_1lalq_86{display:flex;flex-direction:row;align-items:flex-start;gap:var(--spacing-lg);flex:1}._logo_1lalq_94{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary-100)}._logo_1lalq_94 a{display:block}._logo_1lalq_94 img{height:auto}._socialItems_1lalq_109{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-md)}._socialItems_1lalq_109 ._group_1lalq_116{flex:unset;min-width:unset}._socialItems_1lalq_109 a{transition:color .3s ease-in-out;font-size:var(--font-size-xl)}._groups_1lalq_126{display:flex;flex-wrap:wrap;gap:var(--spacing-xl)}._group_1lalq_116{flex:.2;min-width:140px}._groupTitle_1lalq_137{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-xs);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}._sublinks_1lalq_146{position:relative;display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}._linkList_1lalq_154{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;padding:0;margin:0}._link_1lalq_154{color:var(--color-text-primary);text-decoration:none;display:block;transition:color .3s ease-in-out;display:flex;align-items:center;gap:var(--spacing-xs)}._link_1lalq_154 ._newTabIcon_1lalq_172{color:var(--color-secondary-75);transition:color .3s ease-in-out}._link_1lalq_154:hover,._link_1lalq_154:hover ._newTabIcon_1lalq_172{color:var(--color-primary-100)}._bottom_1lalq_186{text-align:left;font-size:var(--font-size-sm);color:var(--color-text-primary)}@media (max-width: 767px){._bottom_1lalq_186{text-align:center}}._left_1lalq_197 ._container_1lalq_10{justify-content:flex-start}._left_1lalq_197 ._logo_1lalq_94{flex:unset}._left_1lalq_197 ._nav_1lalq_86{flex:1}@media (max-width: 767px){._left_1lalq_197 ._logo_1lalq_94{flex:1}}._center_1lalq_217 ._nav_1lalq_86{transition:transform .3s ease-in-out,opacity .3s ease-in-out;will-change:transform,opacity}._center_1lalq_217 ._nav_1lalq_86._hidden_1lalq_225{transform:translateY(-100%);opacity:0;pointer-events:none}@media (min-width: 768px){._center_1lalq_217 ._nav_1lalq_86._visible_1lalq_232{transform:translateY(0);opacity:1;pointer-events:auto}}@media (max-width: 767px){._center_1lalq_217 ._logo_1lalq_94{flex:1}}._right_1lalq_247 ._container_1lalq_10{justify-content:flex-end}._right_1lalq_247 ._logo_1lalq_94,._right_1lalq_247 ._title_1lalq_253{flex:1}._right_1lalq_247 ._nav_1lalq_86{flex:unset}
1
+ ._footer_rb1sm_1{max-width:var(--layout-width);margin:0 auto;background-color:var(--color-background);padding:var(--spacing-xl) var(--spacing-md);font-size:var(--font-size-sm);color:var(--color-text-primary)}._container_rb1sm_10{display:flex;flex-direction:column;align-items:flex-start;gap:2rem}._utilityImage_rb1sm_20{width:100%}._primaryNav_rb1sm_24{display:flex;gap:var(--spacing-xl);width:100%}@media (max-width: 767px){._primaryNav_rb1sm_24{width:100%;flex-direction:column-reverse}}._secondaryNav_rb1sm_35{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;width:100%;gap:var(--spacing-xl);margin-top:var(--spacing-xl)}._secondaryNav_rb1sm_35 a:has(img){height:unset;background-color:transparent}._secondaryNav_rb1sm_35 a:has(img) img{width:auto;height:60px}._secondaryNav_rb1sm_35 a:has(img):hover{background-color:transparent}@media (max-width: 767px){._secondaryNav_rb1sm_35{flex-direction:column-reverse;align-items:center;justify-content:center;margin-top:0}._secondaryNav_rb1sm_35 nav{width:100%;display:flex;justify-content:center}}._details_rb1sm_72{flex-basis:200px;display:flex;flex-direction:column;gap:var(--spacing-lg)}@media (max-width: 767px){._details_rb1sm_72{justify-content:center;align-items:center;text-align:center;flex-basis:auto}}._nav_rb1sm_86{display:flex;flex-direction:row;align-items:flex-start;gap:var(--spacing-lg);flex:1}._logo_rb1sm_94{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);color:var(--color-primary-100)}._logo_rb1sm_94 a{display:block}._logo_rb1sm_94 img{height:auto}._socialItems_rb1sm_109{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-md)}._socialItems_rb1sm_109 ._group_rb1sm_116{flex:unset;min-width:unset}._socialItems_rb1sm_109 a{transition:color .3s ease-in-out;font-size:var(--font-size-xl)}._groups_rb1sm_126{display:flex;flex-wrap:wrap;gap:var(--spacing-xl)}._group_rb1sm_116{flex:.2;min-width:170px}._groupTitle_rb1sm_137{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-xs);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}._sublinks_rb1sm_146{position:relative;display:flex;flex-direction:column;gap:var(--spacing-sm);margin-top:var(--spacing-md)}._linkList_rb1sm_154{display:flex;flex-direction:column;gap:var(--spacing-xs);list-style:none;padding:0;margin:0}._link_rb1sm_154{color:var(--color-text-primary);text-decoration:none;display:block;transition:color .3s ease-in-out;display:flex;align-items:center;gap:var(--spacing-xs)}._link_rb1sm_154 ._newTabIcon_rb1sm_172{color:var(--color-secondary-75);transition:color .3s ease-in-out}._link_rb1sm_154:hover,._link_rb1sm_154:hover ._newTabIcon_rb1sm_172{color:var(--color-primary-100)}._bottom_rb1sm_186{text-align:left;font-size:var(--font-size-sm);color:var(--color-text-primary)}@media (max-width: 767px){._bottom_rb1sm_186{text-align:center}}._left_rb1sm_197 ._container_rb1sm_10{justify-content:flex-start}._left_rb1sm_197 ._logo_rb1sm_94{flex:unset}._left_rb1sm_197 ._nav_rb1sm_86{flex:1}@media (max-width: 767px){._left_rb1sm_197 ._logo_rb1sm_94{flex:1}}._center_rb1sm_217 ._nav_rb1sm_86{transition:transform .3s ease-in-out,opacity .3s ease-in-out;will-change:transform,opacity}._center_rb1sm_217 ._nav_rb1sm_86._hidden_rb1sm_225{transform:translateY(-100%);opacity:0;pointer-events:none}@media (min-width: 768px){._center_rb1sm_217 ._nav_rb1sm_86._visible_rb1sm_232{transform:translateY(0);opacity:1;pointer-events:auto}}@media (max-width: 767px){._center_rb1sm_217 ._logo_rb1sm_94{flex:1}}._right_rb1sm_247 ._container_rb1sm_10{justify-content:flex-end}._right_rb1sm_247 ._logo_rb1sm_94,._right_rb1sm_247 ._title_rb1sm_253{flex:1}._right_rb1sm_247 ._nav_rb1sm_86{flex:unset}
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react/jsx-runtime");require("../../../core/components/Input/index.cjs");require("../../../core/components/Textarea/index.cjs");require("../../../core/components/Select/index.cjs");require("../../../core/components/Checkbox/index.cjs");require("../../../core/components/Radio/index.cjs");require("../../../core/components/Fieldset/index.cjs");require("../../../core/components/DatePicker/index.cjs");require("../../../core/components/Range/index.cjs");const e=require("../../../FormField-Cy_aF1xz.cjs");exports.FormField=e.FormField;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});require("react/jsx-runtime");require("../../../core/components/Input/index.cjs");require("../../../core/components/Textarea/index.cjs");require("../../../core/components/Select/index.cjs");require("../../../core/components/Checkbox/index.cjs");require("../../../core/components/Radio/index.cjs");require("../../../core/components/Fieldset/index.cjs");require("../../../core/components/DatePicker/index.cjs");require("../../../core/components/Range/index.cjs");const e=require("../../../FormField-LSFCBISi.cjs");exports.FormField=e.FormField;
@@ -7,7 +7,7 @@ import "../../../core/components/Radio/index.mjs";
7
7
  import "../../../core/components/Fieldset/index.mjs";
8
8
  import "../../../core/components/DatePicker/index.mjs";
9
9
  import "../../../core/components/Range/index.mjs";
10
- import { F as l } from "../../../FormField-CWdr56Tp.js";
10
+ import { F as l } from "../../../FormField-oa2piuZf.js";
11
11
  export {
12
12
  l as FormField
13
13
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),i=require("react"),W=require("../../../core/components/Form/index.cjs"),E=require("../../../index-0SVQqhAg.cjs"),M=require("../../../core/components/ProgressBar/index.cjs"),A=require("../../hooks/useStyleClasses.cjs"),e=require("../../../FormField-Cy_aF1xz.cjs"),_=require("./validate.cjs");function D(r,s){switch(s.type){case"SET_VALUE":return{...r,values:{...r.values,[s.name]:s.value},errors:{...r.errors,[s.name]:""}};case"SET_ERRORS":return{...r,errors:s.errors};case"CLEAR_ERROR":return{...r,errors:{...r.errors,[s.name]:""}};case"NEXT_STEP":return{...r,currentStep:r.currentStep+1,errors:{}};case"PREV_STEP":return{...r,currentStep:r.currentStep-1,errors:{}};case"SET_SUBMITTING":return{...r,isSubmitting:s.value};case"SET_RESULT":return{...r,submitResult:s.result,isSubmitting:!1};case"RESET":return{...r,currentStep:0,errors:{},submitResult:null,isSubmitting:!1};default:return r}}function G({id:r,heading:s,layout:B="vertical",maxWidth:x="md",steps:S,submitLabel:C="Submit",nextLabel:F="Next",backLabel:L="Back",successMessage:P="Thank you! Your submission has been received.",errorMessage:p="Something went wrong. Please try again.",styleOptions:$,renderRichText:c,onSubmit:v}){const N=A.useStyleClasses($??{}),j={sm:e.styles.maxWidthSm,md:e.styles.maxWidthMd,lg:e.styles.maxWidthLg,full:e.styles.maxWidthFull}[x],q=i.useMemo(()=>_.buildInitialValues(S),[]),[w,o]=i.useReducer(D,{values:q,errors:{},currentStep:0,isSubmitting:!1,submitResult:null}),{values:u,errors:T,currentStep:m,isSubmitting:b,submitResult:n}=w,y=S.length,k=y>1,f=m===y-1,I=(m+1)/y*100,a=S[m],O=i.useCallback((l,d)=>{o({type:"SET_VALUE",name:l,value:d})},[]),U=i.useCallback(()=>{const l=_.validateStep(a.fields,u);if(Object.keys(l).length>0){o({type:"SET_ERRORS",errors:l});return}o({type:"NEXT_STEP"})},[a.fields,u]),V=i.useCallback(()=>{o({type:"PREV_STEP"})},[]),R=i.useCallback(async()=>{const l=_.validateStep(a.fields,u);if(Object.keys(l).length>0){o({type:"SET_ERRORS",errors:l});return}o({type:"SET_SUBMITTING",value:!0});try{const d=await v(u);o({type:"SET_RESULT",result:d})}catch{o({type:"SET_RESULT",result:{success:!1,message:p}})}},[a.fields,u,v,p]);return n!=null&&n.success?t.jsx("section",{id:r,className:`${e.styles.formBlock} ${N}`,children:t.jsx("div",{className:`${e.styles.formInner} ${j}`,children:t.jsx("div",{className:e.styles.container,children:t.jsxs("div",{className:e.styles.success,children:[t.jsx("p",{children:n.message??P}),t.jsx(E.Button,{as:"button",variant:"secondary",onClick:()=>o({type:"RESET"}),children:"Submit another response"})]})})})}):t.jsx("section",{id:r,className:`${e.styles.formBlock} ${N}`,children:t.jsx("div",{className:`${e.styles.formInner} ${j}`,children:t.jsxs("div",{className:e.styles.container,children:[((s==null?void 0:s.title)||(s==null?void 0:s.description))&&t.jsxs("div",{className:e.styles.heading,children:[s.eyebrow&&(c==null?void 0:c({blocks:s.eyebrow,className:e.styles.eyebrow})),s.title&&(c==null?void 0:c({blocks:s.title,className:e.styles.title})),s.description&&(c==null?void 0:c({blocks:s.description}))]}),k&&t.jsxs("div",{className:e.styles.progress,children:[t.jsxs("div",{className:e.styles.progressHeader,children:[t.jsx("span",{className:e.styles.stepLabel,children:a.title}),t.jsxs("span",{className:e.styles.stepCount,children:[m+1," / ",y]})]}),t.jsx(M.ProgressBar,{progress:I,variant:"primary",size:"sm",showLabel:!1})]}),a.description&&t.jsx("p",{className:e.styles.stepDescription,children:a.description}),n&&!n.success&&t.jsx("div",{className:e.styles.errorBanner,role:"alert",children:n.message??p}),t.jsxs(W.Form,{layout:B,noValidate:!0,onSubmit:l=>{l.preventDefault(),f?R():U()},children:[t.jsx("div",{className:e.styles.fields,children:a.fields.map(l=>t.jsx(e.FormField,{field:l,value:u[l.name.current],error:T[l.name.current],onChange:O},l._key))}),(s==null?void 0:s.disclaimer)&&(c==null?void 0:c({blocks:s==null?void 0:s.disclaimer,className:e.styles.disclaimer})),t.jsxs("div",{className:e.styles.actions,children:[k&&m>0&&t.jsx(E.Button,{as:"button",type:"button",variant:"secondary",onClick:V,disabled:b,children:L}),t.jsx(E.Button,{as:"button",type:"submit",variant:"primary",disabled:b,className:e.styles.submitButton,children:b?"Submitting…":f?C:F})]})]})]})})})}exports.FormBlock=G;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),i=require("react"),W=require("../../../core/components/Form/index.cjs"),E=require("../../../index-0SVQqhAg.cjs"),M=require("../../../core/components/ProgressBar/index.cjs"),A=require("../../hooks/useStyleClasses.cjs"),e=require("../../../FormField-LSFCBISi.cjs"),_=require("./validate.cjs");function D(r,s){switch(s.type){case"SET_VALUE":return{...r,values:{...r.values,[s.name]:s.value},errors:{...r.errors,[s.name]:""}};case"SET_ERRORS":return{...r,errors:s.errors};case"CLEAR_ERROR":return{...r,errors:{...r.errors,[s.name]:""}};case"NEXT_STEP":return{...r,currentStep:r.currentStep+1,errors:{}};case"PREV_STEP":return{...r,currentStep:r.currentStep-1,errors:{}};case"SET_SUBMITTING":return{...r,isSubmitting:s.value};case"SET_RESULT":return{...r,submitResult:s.result,isSubmitting:!1};case"RESET":return{...r,currentStep:0,errors:{},submitResult:null,isSubmitting:!1};default:return r}}function G({id:r,heading:s,layout:B="vertical",maxWidth:x="md",steps:S,submitLabel:C="Submit",nextLabel:F="Next",backLabel:L="Back",successMessage:P="Thank you! Your submission has been received.",errorMessage:p="Something went wrong. Please try again.",styleOptions:$,renderRichText:c,onSubmit:v}){const N=A.useStyleClasses($??{}),j={sm:e.styles.maxWidthSm,md:e.styles.maxWidthMd,lg:e.styles.maxWidthLg,full:e.styles.maxWidthFull}[x],q=i.useMemo(()=>_.buildInitialValues(S),[]),[w,o]=i.useReducer(D,{values:q,errors:{},currentStep:0,isSubmitting:!1,submitResult:null}),{values:u,errors:T,currentStep:m,isSubmitting:b,submitResult:n}=w,y=S.length,k=y>1,f=m===y-1,I=(m+1)/y*100,a=S[m],O=i.useCallback((l,d)=>{o({type:"SET_VALUE",name:l,value:d})},[]),U=i.useCallback(()=>{const l=_.validateStep(a.fields,u);if(Object.keys(l).length>0){o({type:"SET_ERRORS",errors:l});return}o({type:"NEXT_STEP"})},[a.fields,u]),V=i.useCallback(()=>{o({type:"PREV_STEP"})},[]),R=i.useCallback(async()=>{const l=_.validateStep(a.fields,u);if(Object.keys(l).length>0){o({type:"SET_ERRORS",errors:l});return}o({type:"SET_SUBMITTING",value:!0});try{const d=await v(u);o({type:"SET_RESULT",result:d})}catch{o({type:"SET_RESULT",result:{success:!1,message:p}})}},[a.fields,u,v,p]);return n!=null&&n.success?t.jsx("section",{id:r,className:`${e.styles.formBlock} ${N}`,children:t.jsx("div",{className:`${e.styles.formInner} ${j}`,children:t.jsx("div",{className:e.styles.container,children:t.jsxs("div",{className:e.styles.success,children:[t.jsx("p",{children:n.message??P}),t.jsx(E.Button,{as:"button",variant:"secondary",onClick:()=>o({type:"RESET"}),children:"Submit another response"})]})})})}):t.jsx("section",{id:r,className:`${e.styles.formBlock} ${N}`,children:t.jsx("div",{className:`${e.styles.formInner} ${j}`,children:t.jsxs("div",{className:e.styles.container,children:[((s==null?void 0:s.title)||(s==null?void 0:s.description))&&t.jsxs("div",{className:e.styles.heading,children:[s.eyebrow&&(c==null?void 0:c({blocks:s.eyebrow,className:e.styles.eyebrow})),s.title&&(c==null?void 0:c({blocks:s.title,className:e.styles.title})),s.description&&(c==null?void 0:c({blocks:s.description}))]}),k&&t.jsxs("div",{className:e.styles.progress,children:[t.jsxs("div",{className:e.styles.progressHeader,children:[t.jsx("span",{className:e.styles.stepLabel,children:a.title}),t.jsxs("span",{className:e.styles.stepCount,children:[m+1," / ",y]})]}),t.jsx(M.ProgressBar,{progress:I,variant:"primary",size:"sm",showLabel:!1})]}),a.description&&t.jsx("p",{className:e.styles.stepDescription,children:a.description}),n&&!n.success&&t.jsx("div",{className:e.styles.errorBanner,role:"alert",children:n.message??p}),t.jsxs(W.Form,{layout:B,noValidate:!0,onSubmit:l=>{l.preventDefault(),f?R():U()},children:[t.jsx("div",{className:e.styles.fields,children:a.fields.map(l=>t.jsx(e.FormField,{field:l,value:u[l.name.current],error:T[l.name.current],onChange:O},l._key))}),(s==null?void 0:s.disclaimer)&&(c==null?void 0:c({blocks:s==null?void 0:s.disclaimer,className:e.styles.disclaimer})),t.jsxs("div",{className:e.styles.actions,children:[k&&m>0&&t.jsx(E.Button,{as:"button",type:"button",variant:"secondary",onClick:V,disabled:b,children:L}),t.jsx(E.Button,{as:"button",type:"submit",variant:"primary",disabled:b,className:e.styles.submitButton,children:b?"Submitting…":f?C:F})]})]})]})})})}exports.FormBlock=G;
@@ -4,7 +4,7 @@ import { Form as X } from "../../../core/components/Form/index.mjs";
4
4
  import { B as d } from "../../../index-aWdsapYP.js";
5
5
  import { ProgressBar as z } from "../../../core/components/ProgressBar/index.mjs";
6
6
  import { useStyleClasses as H } from "../../hooks/useStyleClasses.mjs";
7
- import { s as r, F as Y } from "../../../FormField-CWdr56Tp.js";
7
+ import { s as r, F as Y } from "../../../FormField-oa2piuZf.js";
8
8
  import { buildInitialValues as h, validateStep as L } from "./validate.mjs";
9
9
  function q(e, s) {
10
10
  switch (s.type) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "quirk-ui",
3
3
  "private": false,
4
- "version": "0.1.179",
4
+ "version": "0.1.181",
5
5
  "type": "module",
6
6
  "exports": {
7
7
  ".": {
@@ -1 +0,0 @@
1
- "use strict";require('./FormField.css');const a=require("react/jsx-runtime"),v=require("./core/components/Input/index.cjs"),T=require("./core/components/Textarea/index.cjs"),_=require("./core/components/Select/index.cjs"),h=require("./core/components/Checkbox/index.cjs"),k=require("./core/components/Radio/index.cjs"),p=require("./core/components/Fieldset/index.cjs"),W=require("./core/components/DatePicker/index.cjs"),F=require("./core/components/Range/index.cjs"),j="_formBlock_8cqr5_1",C="_container_8cqr5_7",w="_formInner_8cqr5_20",L="_maxWidthSm_8cqr5_26",y="_maxWidthMd_8cqr5_29",S="_maxWidthLg_8cqr5_32",B="_maxWidthFull_8cqr5_35",$="_heading_8cqr5_41",H="_eyebrow_8cqr5_47",G="_title_8cqr5_51",I="_disclaimer_8cqr5_55",M="_progress_8cqr5_61",D="_progressHeader_8cqr5_67",O="_stepLabel_8cqr5_73",P="_stepCount_8cqr5_79",R="_stepDescription_8cqr5_84",V="_fields_8cqr5_92",f="_fieldFull_8cqr5_99",N="_fieldHalf_8cqr5_103",z="_fieldThird_8cqr5_111",A="_actions_8cqr5_121",E="_submitButton_8cqr5_128",J="_success_8cqr5_134",K="_errorBanner_8cqr5_149",u={formBlock:j,container:C,formInner:w,maxWidthSm:L,maxWidthMd:y,maxWidthLg:S,maxWidthFull:B,heading:$,eyebrow:H,title:G,disclaimer:I,progress:M,progressHeader:D,stepLabel:O,stepCount:P,stepDescription:R,fields:V,fieldFull:f,fieldHalf:N,fieldThird:z,actions:A,submitButton:E,success:J,errorBanner:K};function i(e){return(e??[]).map(t=>({label:t.label,value:t.value.current,disabled:t.disabled}))}function m(e){return(e??[]).map(t=>({label:t.label,options:t.options.map(s=>({label:s.label,value:s.value.current,disabled:s.disabled}))}))}function Q({field:e,value:t,error:s,onChange:o}){const n=e.name.current,x={full:u.fieldFull,half:u.fieldHalf,third:u.fieldThird}[e.width??"full"],l={id:n,name:n,label:e.label,required:e.required,disabled:e.disabled,helperText:e.helperText,error:s},d=()=>{switch(e.fieldType){case"text":case"email":case"phone":case"number":case"url":return a.jsx(v.Input,{...l,type:e.fieldType==="phone"?"tel":e.fieldType,placeholder:e.placeholder,value:t??"",minLength:e.minLength,maxLength:e.maxLength,fullWidth:!0,onChange:r=>o(n,r.target.value)});case"textarea":return a.jsx(T.Textarea,{...l,placeholder:e.placeholder,value:t??"",rows:e.rows??4,maxLength:e.maxLength,showCharCount:e.showCharCount,fullWidth:!0,onChange:r=>o(n,r.target.value)});case"select":{const r=e.useOptionGroups?m(e.optionGroups):i(e.options);return a.jsx(_.Select,{...l,placeholder:e.placeholder,options:r,value:t??"",fullWidth:!0,onChange:c=>o(n,c.target.value)})}case"multiselect":{const r=e.useOptionGroups?m(e.optionGroups):i(e.options);return a.jsx(_.Select,{...l,multiple:!0,options:r,value:t??[],showSelectedCount:!0,onChange:c=>o(n,c)})}case"checkbox":return a.jsx(h.Checkbox,{id:l.id,name:l.name,label:e.label,required:e.required,disabled:e.disabled,helperText:s??e.helperText,error:!!s,checked:t??!1,onChange:r=>o(n,r.target.checked)});case"checkboxGroup":{const r=t??[];return a.jsx(p.Fieldset,{legend:e.label,error:!!s,helperText:s,children:i(e.options).map(c=>a.jsx(h.Checkbox,{id:`${n}-${c.value}`,name:`${n}[]`,label:c.label,checked:r.includes(c.value),disabled:c.disabled||e.disabled,onChange:b=>{const q=b.target.checked?[...r,c.value]:r.filter(g=>g!==c.value);o(n,q)}},c.value))})}case"radio":return a.jsx(p.Fieldset,{legend:e.label,error:!!s,helperText:s,children:i(e.options).map(r=>a.jsx(k.Radio,{id:`${n}-${r.value}`,name:n,value:r.value,label:r.label,checked:t===r.value,disabled:r.disabled||e.disabled,required:e.required,onChange:()=>o(n,r.value)},r.value))});case"date":return a.jsx(W.DatePicker,{id:l.id,name:l.name,label:e.label,required:e.required,disabled:e.disabled,helperText:s??e.helperText,error:!!s,value:t??null,onChange:r=>o(n,r)});case"range":return a.jsx(F.Range,{...l,value:t??e.rangeMin??0,min:e.rangeMin??0,max:e.rangeMax??100,step:e.rangeStep??1,valuePrefix:e.rangeValuePrefix,valueSuffix:e.rangeValueSuffix,showValue:!0,onChange:r=>o(n,r)});case"hidden":return a.jsx("input",{type:"hidden",name:n,value:t??e.hiddenValue??""});default:return null}};return e.fieldType==="hidden"?d():a.jsx("div",{className:`${x}`,children:d()})}exports.FormField=Q;exports.styles=u;