@tetjana/flowmakers-ds 0.1.7 → 0.1.9

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 (51) hide show
  1. package/dist/components/CardCareer.d.ts +18 -0
  2. package/dist/components/CardCareer.figma.d.ts +1 -0
  3. package/dist/components/CardTest.d.ts +19 -0
  4. package/dist/components/CardTest.figma.d.ts +1 -0
  5. package/dist/components/DashboardTitle.d.ts +12 -0
  6. package/dist/components/DatePicker.d.ts +10 -0
  7. package/dist/components/Dropdown.d.ts +14 -0
  8. package/dist/components/Footer.figma.d.ts +1 -0
  9. package/dist/components/Header.figma.d.ts +1 -0
  10. package/dist/components/IconButton.d.ts +12 -0
  11. package/dist/components/IconButton.figma.d.ts +1 -0
  12. package/dist/components/ListItem.d.ts +8 -0
  13. package/dist/components/NavMenu.d.ts +18 -0
  14. package/dist/components/NavMenu.figma.d.ts +1 -0
  15. package/dist/components/Pagination.d.ts +15 -0
  16. package/dist/components/Pagination.figma.d.ts +1 -0
  17. package/dist/components/Price.d.ts +13 -0
  18. package/dist/components/PriceCard.d.ts +15 -0
  19. package/dist/components/ProcessStep.d.ts +12 -0
  20. package/dist/components/Question.d.ts +13 -0
  21. package/dist/components/RadioButton.d.ts +8 -0
  22. package/dist/components/Search.d.ts +7 -0
  23. package/dist/components/SectionTitle.d.ts +14 -0
  24. package/dist/components/SegmentedControl.d.ts +14 -0
  25. package/dist/components/SegmentedControl.figma.d.ts +1 -0
  26. package/dist/components/SignupForm.d.ts +10 -0
  27. package/dist/components/Stepper.d.ts +18 -0
  28. package/dist/components/StepperProgress.d.ts +13 -0
  29. package/dist/components/TagBig.d.ts +9 -0
  30. package/dist/components/Tariffs.d.ts +12 -0
  31. package/dist/components/TasksWidget.d.ts +13 -0
  32. package/dist/components/TestimonialCard.d.ts +11 -0
  33. package/dist/components/TimePicker.d.ts +10 -0
  34. package/dist/components/WidgetCard.d.ts +65 -0
  35. package/dist/components/WidgetCard.figma.d.ts +1 -0
  36. package/dist/demo.d.ts +3 -0
  37. package/dist/index.cjs.js +1 -1
  38. package/dist/index.d.ts +52 -0
  39. package/dist/index.esm.js +830 -110
  40. package/dist/styles.css +1 -1
  41. package/guidelines/Guidelines.md +17 -0
  42. package/guidelines/components/cardcareer.md +70 -0
  43. package/guidelines/components/cardtest.md +82 -0
  44. package/guidelines/components/iconbutton.md +42 -0
  45. package/guidelines/components/navmenu.md +48 -0
  46. package/guidelines/components/pagination.md +61 -0
  47. package/guidelines/components/segmentedcontrol.md +37 -0
  48. package/guidelines/components/widgetcard.md +187 -0
  49. package/guidelines/design-tokens/colors.md +3 -3
  50. package/guidelines/overview-components.md +49 -10
  51. package/package.json +1 -1
package/dist/index.esm.js CHANGED
@@ -1,158 +1,878 @@
1
- import { jsxs as r, jsx as e } from "react/jsx-runtime";
2
- import { useRef as d, useEffect as p } from "react";
3
- const b = ({
4
- variant: c = "primary",
5
- size: a = "md",
6
- leftIcon: s,
7
- rightIcon: l,
8
- children: n,
1
+ import { jsxs as c, jsx as e, Fragment as _ } from "react/jsx-runtime";
2
+ import { useRef as k, useEffect as w, useState as v } from "react";
3
+ const E = ({
4
+ variant: s = "primary",
5
+ size: i = "md",
6
+ leftIcon: a,
7
+ rightIcon: r,
8
+ children: l,
9
9
  fullWidth: t = !1,
10
- disabled: m,
11
- className: o = "",
12
- ...i
10
+ disabled: n,
11
+ className: d = "",
12
+ ...o
13
13
  }) => {
14
- const f = [
14
+ const m = [
15
15
  "fm-btn",
16
- `fm-btn--${c}`,
17
- `fm-btn--${a}`,
16
+ `fm-btn--${s}`,
17
+ `fm-btn--${i}`,
18
18
  t ? "fm-btn--full" : "",
19
- m ? "fm-btn--disabled" : "",
20
- o
19
+ n ? "fm-btn--disabled" : "",
20
+ d
21
21
  ].filter(Boolean).join(" ");
22
- return /* @__PURE__ */ r("button", { className: f, disabled: m, ...i, children: [
23
- s && /* @__PURE__ */ e("span", { className: "fm-btn__icon fm-btn__icon--left", children: s }),
24
- n && /* @__PURE__ */ e("span", { className: "fm-btn__label", children: n }),
25
- l && /* @__PURE__ */ e("span", { className: "fm-btn__icon fm-btn__icon--right", children: l })
26
- ] });
27
- }, g = ({
28
- label: c,
29
- placeholder: a,
30
- state: s = "default",
31
- errorMessage: l,
32
- successMessage: n,
22
+ return /* @__PURE__ */ c("button", { className: m, disabled: n, ...o, children: [
23
+ a && /* @__PURE__ */ e("span", { className: "fm-btn__icon fm-btn__icon--left", children: a }),
24
+ l && /* @__PURE__ */ e("span", { className: "fm-btn__label", children: l }),
25
+ r && /* @__PURE__ */ e("span", { className: "fm-btn__icon fm-btn__icon--right", children: r })
26
+ ] });
27
+ }, H = ({
28
+ label: s,
29
+ placeholder: i,
30
+ state: a = "default",
31
+ errorMessage: r,
32
+ successMessage: l,
33
33
  leftIcon: t,
34
- rightIcon: m,
35
- className: o = "",
36
- disabled: i,
37
- ...f
34
+ rightIcon: n,
35
+ className: d = "",
36
+ disabled: o,
37
+ ...m
38
38
  }) => {
39
- const _ = [
39
+ const f = [
40
40
  "fm-input-wrapper",
41
- `fm-input-wrapper--${s}`,
42
- i ? "fm-input-wrapper--disabled" : "",
43
- o
41
+ `fm-input-wrapper--${a}`,
42
+ o ? "fm-input-wrapper--disabled" : "",
43
+ d
44
44
  ].filter(Boolean).join(" ");
45
- return /* @__PURE__ */ r("div", { className: _, children: [
46
- c && /* @__PURE__ */ e("label", { className: "fm-input__label", children: c }),
47
- /* @__PURE__ */ r("div", { className: "fm-input__field", children: [
45
+ return /* @__PURE__ */ c("div", { className: f, children: [
46
+ s && /* @__PURE__ */ e("label", { className: "fm-input__label", children: s }),
47
+ /* @__PURE__ */ c("div", { className: "fm-input__field", children: [
48
48
  t && /* @__PURE__ */ e("span", { className: "fm-input__icon fm-input__icon--left", children: t }),
49
49
  /* @__PURE__ */ e(
50
50
  "input",
51
51
  {
52
52
  className: "fm-input__el",
53
- placeholder: a,
54
- disabled: i,
55
- ...f
53
+ placeholder: i,
54
+ disabled: o,
55
+ ...m
56
56
  }
57
57
  ),
58
- m && /* @__PURE__ */ e("span", { className: "fm-input__icon fm-input__icon--right", children: m })
58
+ n && /* @__PURE__ */ e("span", { className: "fm-input__icon fm-input__icon--right", children: n })
59
59
  ] }),
60
- s === "error" && l && /* @__PURE__ */ e("p", { className: "fm-input__message fm-input__message--error", children: l }),
61
- s === "success" && n && /* @__PURE__ */ e("p", { className: "fm-input__message fm-input__message--success", children: n })
60
+ a === "error" && r && /* @__PURE__ */ e("p", { className: "fm-input__message fm-input__message--error", children: r }),
61
+ a === "success" && l && /* @__PURE__ */ e("p", { className: "fm-input__message fm-input__message--success", children: l })
62
62
  ] });
63
- }, k = ({ children: c, color: a = "grey", className: s = "" }) => {
64
- const l = ["fm-tag", `fm-tag--${a}`, s].filter(Boolean).join(" ");
65
- return /* @__PURE__ */ e("span", { className: l, children: c });
66
- }, x = ({ checked: c, onChange: a, disabled: s, label: l, className: n = "" }) => /* @__PURE__ */ r("label", { className: ["fm-toggle", s ? "fm-toggle--disabled" : "", n].filter(Boolean).join(" "), children: [
63
+ }, F = ({ children: s, color: i = "grey", className: a = "" }) => {
64
+ const r = ["fm-tag", `fm-tag--${i}`, a].filter(Boolean).join(" ");
65
+ return /* @__PURE__ */ e("span", { className: r, children: s });
66
+ }, V = ({ checked: s, onChange: i, disabled: a, label: r, className: l = "" }) => /* @__PURE__ */ c("label", { className: ["fm-toggle", a ? "fm-toggle--disabled" : "", l].filter(Boolean).join(" "), children: [
67
67
  /* @__PURE__ */ e(
68
68
  "input",
69
69
  {
70
70
  type: "checkbox",
71
71
  className: "fm-toggle__input",
72
- checked: c,
73
- onChange: (t) => a(t.target.checked),
74
- disabled: s
72
+ checked: s,
73
+ onChange: (t) => i(t.target.checked),
74
+ disabled: a
75
75
  }
76
76
  ),
77
77
  /* @__PURE__ */ e("span", { className: "fm-toggle__track", children: /* @__PURE__ */ e("span", { className: "fm-toggle__thumb" }) }),
78
- l && /* @__PURE__ */ e("span", { className: "fm-toggle__label", children: l })
79
- ] }), v = ({
80
- checked: c = !1,
81
- indeterminate: a = !1,
82
- onChange: s,
83
- disabled: l,
84
- size: n = "small",
78
+ r && /* @__PURE__ */ e("span", { className: "fm-toggle__label", children: r })
79
+ ] }), O = ({
80
+ checked: s = !1,
81
+ indeterminate: i = !1,
82
+ onChange: a,
83
+ disabled: r,
84
+ size: l = "small",
85
85
  label: t,
86
- className: m = ""
86
+ className: n = ""
87
87
  }) => {
88
- const o = d(null);
89
- return p(() => {
90
- o.current && (o.current.indeterminate = a);
91
- }, [a]), /* @__PURE__ */ r("label", { className: ["fm-checkbox", `fm-checkbox--${n}`, l ? "fm-checkbox--disabled" : "", m].filter(Boolean).join(" "), children: [
88
+ const d = k(null);
89
+ return w(() => {
90
+ d.current && (d.current.indeterminate = i);
91
+ }, [i]), /* @__PURE__ */ c("label", { className: ["fm-checkbox", `fm-checkbox--${l}`, r ? "fm-checkbox--disabled" : "", n].filter(Boolean).join(" "), children: [
92
92
  /* @__PURE__ */ e(
93
93
  "input",
94
94
  {
95
- ref: o,
95
+ ref: d,
96
96
  type: "checkbox",
97
97
  className: "fm-checkbox__input",
98
- checked: c,
99
- onChange: (i) => s == null ? void 0 : s(i.target.checked),
100
- disabled: l
98
+ checked: s,
99
+ onChange: (o) => a == null ? void 0 : a(o.target.checked),
100
+ disabled: r
101
101
  }
102
102
  ),
103
- /* @__PURE__ */ r("span", { className: "fm-checkbox__box", children: [
104
- c && !a && /* @__PURE__ */ e("svg", { width: "10", height: "8", viewBox: "0 0 10 8", fill: "none", children: /* @__PURE__ */ e("path", { d: "M1 4L3.5 6.5L9 1", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }),
105
- a && /* @__PURE__ */ e("span", { className: "fm-checkbox__minus" })
103
+ /* @__PURE__ */ c("span", { className: "fm-checkbox__box", children: [
104
+ s && !i && /* @__PURE__ */ e("svg", { width: "10", height: "8", viewBox: "0 0 10 8", fill: "none", children: /* @__PURE__ */ e("path", { d: "M1 4L3.5 6.5L9 1", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }),
105
+ i && /* @__PURE__ */ e("span", { className: "fm-checkbox__minus" })
106
106
  ] }),
107
107
  t && /* @__PURE__ */ e("span", { className: "fm-checkbox__label", children: t })
108
108
  ] });
109
- }, j = ({
110
- title: c,
111
- subtitle: a,
112
- color: s = "purple",
113
- leftSlot: l,
114
- rightSlot: n,
109
+ }, U = ({
110
+ title: s,
111
+ subtitle: i,
112
+ color: a = "purple",
113
+ leftSlot: r,
114
+ rightSlot: l,
115
115
  className: t = ""
116
116
  }) => {
117
- const m = ["fm-header", `fm-header--${s}`, t].filter(Boolean).join(" ");
118
- return /* @__PURE__ */ r("div", { className: m, children: [
119
- l && /* @__PURE__ */ e("div", { className: "fm-header__slot fm-header__slot--left", children: l }),
120
- /* @__PURE__ */ r("div", { className: "fm-header__title-block", children: [
121
- /* @__PURE__ */ e("h4", { className: "fm-header__title", children: c }),
122
- a && /* @__PURE__ */ e("p", { className: "fm-header__subtitle", children: a })
117
+ const n = ["fm-header", `fm-header--${a}`, t].filter(Boolean).join(" ");
118
+ return /* @__PURE__ */ c("div", { className: n, children: [
119
+ r && /* @__PURE__ */ e("div", { className: "fm-header__slot fm-header__slot--left", children: r }),
120
+ /* @__PURE__ */ c("div", { className: "fm-header__title-block", children: [
121
+ /* @__PURE__ */ e("h4", { className: "fm-header__title", children: s }),
122
+ i && /* @__PURE__ */ e("p", { className: "fm-header__subtitle", children: i })
123
123
  ] }),
124
- n && /* @__PURE__ */ e("div", { className: "fm-header__slot fm-header__slot--right", children: n })
125
- ] });
126
- }, B = ({
127
- variant: c = "light",
128
- headline: a = "Є ідеї чи пропозиції?",
129
- ctaLabel: s = "Написати нам",
130
- onCtaClick: l,
131
- sections: n = [],
124
+ l && /* @__PURE__ */ e("div", { className: "fm-header__slot fm-header__slot--right", children: l })
125
+ ] });
126
+ }, G = ({
127
+ variant: s = "light",
128
+ headline: i = "Є ідеї чи пропозиції?",
129
+ ctaLabel: a = "Написати нам",
130
+ onCtaClick: r,
131
+ sections: l = [],
132
132
  copyright: t = "© 2024 Made by FlowMakers. All rights reserved",
133
- className: m = ""
134
- }) => {
135
- const o = ["fm-footer", `fm-footer--${c}`, m].filter(Boolean).join(" ");
136
- return /* @__PURE__ */ r("footer", { className: o, children: [
137
- /* @__PURE__ */ r("div", { className: "fm-footer__top", children: [
138
- /* @__PURE__ */ r("div", { className: "fm-footer__cta-block", children: [
139
- /* @__PURE__ */ e("h3", { className: "fm-footer__headline", children: a }),
140
- /* @__PURE__ */ e("button", { className: "fm-footer__cta-btn", onClick: l, children: s })
133
+ className: n = ""
134
+ }) => {
135
+ const d = ["fm-footer", `fm-footer--${s}`, n].filter(Boolean).join(" ");
136
+ return /* @__PURE__ */ c("footer", { className: d, children: [
137
+ /* @__PURE__ */ c("div", { className: "fm-footer__top", children: [
138
+ /* @__PURE__ */ c("div", { className: "fm-footer__cta-block", children: [
139
+ /* @__PURE__ */ e("h3", { className: "fm-footer__headline", children: i }),
140
+ /* @__PURE__ */ e("button", { className: "fm-footer__cta-btn", onClick: r, children: a })
141
141
  ] }),
142
- /* @__PURE__ */ e("div", { className: "fm-footer__sections", children: n.map((i, f) => /* @__PURE__ */ r("div", { className: "fm-footer__section", children: [
143
- /* @__PURE__ */ e("p", { className: "fm-footer__section-title", children: i.title }),
144
- /* @__PURE__ */ e("ul", { className: "fm-footer__section-links", children: i.links.map((_, h) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e("a", { href: _.href, className: "fm-footer__link", children: _.label }) }, h)) })
145
- ] }, f)) })
142
+ /* @__PURE__ */ e("div", { className: "fm-footer__sections", children: l.map((o, m) => /* @__PURE__ */ c("div", { className: "fm-footer__section", children: [
143
+ /* @__PURE__ */ e("p", { className: "fm-footer__section-title", children: o.title }),
144
+ /* @__PURE__ */ e("ul", { className: "fm-footer__section-links", children: o.links.map((f, g) => /* @__PURE__ */ e("li", { children: /* @__PURE__ */ e("a", { href: f.href, className: "fm-footer__link", children: f.label }) }, g)) })
145
+ ] }, m)) })
146
146
  ] }),
147
147
  /* @__PURE__ */ e("div", { className: "fm-footer__bottom", children: /* @__PURE__ */ e("p", { className: "fm-footer__copyright", children: t }) })
148
148
  ] });
149
- };
149
+ }, Z = ({
150
+ icon: s,
151
+ label: i,
152
+ active: a = !1,
153
+ href: r,
154
+ onClick: l,
155
+ className: t = ""
156
+ }) => {
157
+ const n = [
158
+ "fm-nav-item",
159
+ a ? "fm-nav-item--active" : "",
160
+ t
161
+ ].filter(Boolean).join(" "), d = /* @__PURE__ */ c(_, { children: [
162
+ s && /* @__PURE__ */ e("span", { className: "fm-nav-item__icon", children: s }),
163
+ /* @__PURE__ */ e("span", { className: "fm-nav-item__label", children: i })
164
+ ] });
165
+ return r ? /* @__PURE__ */ e("a", { className: n, href: r, children: d }) : /* @__PURE__ */ e("button", { className: n, onClick: l, type: "button", children: d });
166
+ }, z = ({
167
+ children: s,
168
+ horizontal: i = !1,
169
+ className: a = ""
170
+ }) => {
171
+ const r = [
172
+ "fm-nav-bar",
173
+ i ? "fm-nav-bar--horizontal" : "",
174
+ a
175
+ ].filter(Boolean).join(" ");
176
+ return /* @__PURE__ */ e("nav", { className: r, children: s });
177
+ }, b = {
178
+ available: "Доступно",
179
+ "in-progress": "В процесі",
180
+ completed: "Завершено",
181
+ unavailable: "Недоступно"
182
+ }, K = ({
183
+ title: s,
184
+ description: i,
185
+ image: a,
186
+ state: r = "available",
187
+ tags: l,
188
+ meta: t,
189
+ action: n,
190
+ className: d = ""
191
+ }) => {
192
+ const o = [
193
+ "fm-card-test",
194
+ r === "unavailable" ? "fm-card-test--unavailable" : "",
195
+ d
196
+ ].filter(Boolean).join(" ");
197
+ return /* @__PURE__ */ c("div", { className: o, children: [
198
+ /* @__PURE__ */ c("div", { className: "fm-card-test__image", children: [
199
+ a && /* @__PURE__ */ e("img", { src: a, alt: s }),
200
+ /* @__PURE__ */ e("div", { className: "fm-card-test__image-overlay" }),
201
+ /* @__PURE__ */ e("span", { className: `fm-card-test__status-tag fm-card-test__status-tag--${r}`, children: b[r] })
202
+ ] }),
203
+ /* @__PURE__ */ c("div", { className: "fm-card-test__content", children: [
204
+ /* @__PURE__ */ e("h3", { className: "fm-card-test__title", children: s }),
205
+ i && /* @__PURE__ */ e("p", { className: "fm-card-test__description", children: i })
206
+ ] }),
207
+ l && /* @__PURE__ */ e("div", { className: "fm-card-test__tags", children: l }),
208
+ t && t.length > 0 && /* @__PURE__ */ e("div", { className: "fm-card-test__meta", children: t.map((m, f) => /* @__PURE__ */ c("div", { className: "fm-card-test__meta-item", children: [
209
+ /* @__PURE__ */ e("span", { className: "fm-card-test__meta-icon", children: m.icon }),
210
+ m.label
211
+ ] }, f)) }),
212
+ n
213
+ ] });
214
+ }, h = 21, p = 2 * Math.PI * h, L = ({ value: s }) => {
215
+ const i = p * (1 - Math.min(100, Math.max(0, s)) / 100), a = s >= 100;
216
+ return /* @__PURE__ */ c("div", { className: "fm-card-career__progress", children: [
217
+ /* @__PURE__ */ c("svg", { viewBox: "0 0 50 50", children: [
218
+ /* @__PURE__ */ e("circle", { className: "fm-card-career__progress-track", cx: "25", cy: "25", r: h }),
219
+ /* @__PURE__ */ e(
220
+ "circle",
221
+ {
222
+ className: `fm-card-career__progress-fill${a ? " fm-card-career__progress-fill--complete" : ""}`,
223
+ cx: "25",
224
+ cy: "25",
225
+ r: h,
226
+ strokeDasharray: p,
227
+ strokeDashoffset: i
228
+ }
229
+ )
230
+ ] }),
231
+ /* @__PURE__ */ c("span", { className: "fm-card-career__progress-label", children: [
232
+ s,
233
+ "%"
234
+ ] })
235
+ ] });
236
+ }, x = () => /* @__PURE__ */ e("svg", { className: "fm-card-career__chevron", viewBox: "0 0 20 20", fill: "none", children: /* @__PURE__ */ e("path", { d: "M5 7.5l5 5 5-5", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }), Q = ({
237
+ title: s,
238
+ subtitle: i,
239
+ statusTag: a,
240
+ tasks: r = [],
241
+ defaultOpen: l = !1,
242
+ className: t = ""
243
+ }) => {
244
+ const [n, d] = v(l), o = [
245
+ "fm-card-career",
246
+ n ? "fm-card-career--open" : "",
247
+ t
248
+ ].filter(Boolean).join(" ");
249
+ return /* @__PURE__ */ c("div", { className: o, children: [
250
+ /* @__PURE__ */ c("div", { className: "fm-card-career__header", onClick: () => d((m) => !m), children: [
251
+ /* @__PURE__ */ c("div", { className: "fm-card-career__header-content", children: [
252
+ /* @__PURE__ */ c("div", { className: "fm-card-career__title-row", children: [
253
+ /* @__PURE__ */ e("h3", { className: "fm-card-career__title", children: s }),
254
+ a
255
+ ] }),
256
+ i && /* @__PURE__ */ e("p", { className: "fm-card-career__subtitle", children: i })
257
+ ] }),
258
+ /* @__PURE__ */ e(x, {})
259
+ ] }),
260
+ /* @__PURE__ */ e("div", { className: "fm-card-career__tasks", children: r.map((m, f) => /* @__PURE__ */ c("div", { className: "fm-card-career__task", children: [
261
+ /* @__PURE__ */ c("div", { className: "fm-card-career__task-info", children: [
262
+ /* @__PURE__ */ e(L, { value: m.progress }),
263
+ /* @__PURE__ */ c("div", { className: "fm-card-career__task-text", children: [
264
+ /* @__PURE__ */ e("p", { className: "fm-card-career__task-title", children: m.title }),
265
+ m.subtitle && /* @__PURE__ */ e("p", { className: "fm-card-career__task-subtitle", children: m.subtitle })
266
+ ] })
267
+ ] }),
268
+ m.action
269
+ ] }, f)) })
270
+ ] });
271
+ }, B = {
272
+ minus: /* @__PURE__ */ e("svg", { viewBox: "0 0 18 18", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { d: "M3 9H15", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }),
273
+ plus: /* @__PURE__ */ e("svg", { viewBox: "0 0 18 18", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ e("path", { d: "M9 3V15M3 9H15", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round" }) }),
274
+ dots: /* @__PURE__ */ c("svg", { viewBox: "0 0 18 18", fill: "none", "aria-hidden": "true", children: [
275
+ /* @__PURE__ */ e("circle", { cx: "3.5", cy: "9", r: "1.5", fill: "currentColor" }),
276
+ /* @__PURE__ */ e("circle", { cx: "9", cy: "9", r: "1.5", fill: "currentColor" }),
277
+ /* @__PURE__ */ e("circle", { cx: "14.5", cy: "9", r: "1.5", fill: "currentColor" })
278
+ ] }),
279
+ pen: /* @__PURE__ */ e("svg", { viewBox: "0 0 18 18", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ e(
280
+ "path",
281
+ {
282
+ d: "M12.5 2.5L15.5 5.5M2 16L6 15L15.5 5.5L12.5 2.5L3 12L2 16Z",
283
+ stroke: "currentColor",
284
+ strokeWidth: "1.5",
285
+ strokeLinecap: "round",
286
+ strokeLinejoin: "round"
287
+ }
288
+ ) }),
289
+ link: /* @__PURE__ */ c("svg", { viewBox: "0 0 18 18", fill: "none", "aria-hidden": "true", children: [
290
+ /* @__PURE__ */ e(
291
+ "path",
292
+ {
293
+ d: "M7 11L11 7M8 5L5.5 7.5C4.5 8.5 4.5 10 5.5 11L7 12.5C8 13.5 9.5 13.5 10.5 12.5L13 10",
294
+ stroke: "currentColor",
295
+ strokeWidth: "1.5",
296
+ strokeLinecap: "round"
297
+ }
298
+ ),
299
+ /* @__PURE__ */ e(
300
+ "path",
301
+ {
302
+ d: "M10 13L12.5 10.5C13.5 9.5 13.5 8 12.5 7L11 5.5C10 4.5 8.5 4.5 7.5 5.5L5 8",
303
+ stroke: "currentColor",
304
+ strokeWidth: "1.5",
305
+ strokeLinecap: "round"
306
+ }
307
+ )
308
+ ] }),
309
+ "arrow-left": /* @__PURE__ */ e("svg", { viewBox: "0 0 15 15", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ e(
310
+ "path",
311
+ {
312
+ d: "M10.5 2.5L5 7.5L10.5 12.5",
313
+ stroke: "currentColor",
314
+ strokeWidth: "1.5",
315
+ strokeLinecap: "round",
316
+ strokeLinejoin: "round"
317
+ }
318
+ ) }),
319
+ "arrow-right": /* @__PURE__ */ e("svg", { viewBox: "0 0 15 15", fill: "none", "aria-hidden": "true", children: /* @__PURE__ */ e(
320
+ "path",
321
+ {
322
+ d: "M4.5 2.5L10 7.5L4.5 12.5",
323
+ stroke: "currentColor",
324
+ strokeWidth: "1.5",
325
+ strokeLinecap: "round",
326
+ strokeLinejoin: "round"
327
+ }
328
+ ) })
329
+ }, N = ({
330
+ icon: s = "arrow-right",
331
+ size: i = "regular",
332
+ variant: a = "filled",
333
+ className: r = "",
334
+ disabled: l,
335
+ ...t
336
+ }) => {
337
+ const n = [
338
+ "fm-icon-btn",
339
+ `fm-icon-btn--${i}`,
340
+ `fm-icon-btn--${a}`,
341
+ r
342
+ ].filter(Boolean).join(" ");
343
+ return /* @__PURE__ */ e("button", { className: n, disabled: l, ...t, children: B[s] });
344
+ }, J = ({
345
+ options: s,
346
+ value: i,
347
+ onChange: a,
348
+ className: r = ""
349
+ }) => {
350
+ const l = ["fm-segmented-control", r].filter(Boolean).join(" ");
351
+ return /* @__PURE__ */ e("div", { className: l, role: "tablist", children: s.map((t) => /* @__PURE__ */ e(
352
+ "button",
353
+ {
354
+ role: "tab",
355
+ "aria-selected": t.value === i,
356
+ className: [
357
+ "fm-segmented-control__item",
358
+ t.value === i ? "fm-segmented-control__item--active" : ""
359
+ ].filter(Boolean).join(" "),
360
+ onClick: () => a == null ? void 0 : a(t.value),
361
+ children: t.label
362
+ },
363
+ t.value
364
+ )) });
365
+ }, X = ({
366
+ variant: s = "dots",
367
+ page: i = 1,
368
+ total: a = 9,
369
+ onPrev: r,
370
+ onNext: l,
371
+ prevDisabled: t = !1,
372
+ nextDisabled: n = !1,
373
+ className: d = ""
374
+ }) => {
375
+ const o = [
376
+ "fm-pagination",
377
+ `fm-pagination--${s}`,
378
+ d
379
+ ].filter(Boolean).join(" ");
380
+ return /* @__PURE__ */ c("div", { className: o, children: [
381
+ /* @__PURE__ */ e(
382
+ N,
383
+ {
384
+ icon: "arrow-left",
385
+ "aria-label": "Попередня",
386
+ disabled: t,
387
+ onClick: r
388
+ }
389
+ ),
390
+ s === "dots" && /* @__PURE__ */ e("div", { className: "fm-pagination__dots", children: Array.from({ length: a }).map((m, f) => /* @__PURE__ */ e(
391
+ "span",
392
+ {
393
+ className: [
394
+ "fm-pagination__dot",
395
+ f + 1 === i ? "fm-pagination__dot--active" : ""
396
+ ].filter(Boolean).join(" ")
397
+ },
398
+ f
399
+ )) }),
400
+ s === "numbers" && /* @__PURE__ */ e("div", { className: "fm-pagination__numbers", children: /* @__PURE__ */ c("span", { className: "fm-pagination__numbers-text", children: [
401
+ i,
402
+ " з ",
403
+ a
404
+ ] }) }),
405
+ /* @__PURE__ */ e(
406
+ N,
407
+ {
408
+ icon: "arrow-right",
409
+ "aria-label": "Наступна",
410
+ disabled: n,
411
+ onClick: l
412
+ }
413
+ )
414
+ ] });
415
+ }, Y = ({
416
+ title: s,
417
+ subtitle: i,
418
+ color: a = "purple",
419
+ leftAction: r,
420
+ rightAction: l,
421
+ className: t = ""
422
+ }) => {
423
+ const n = [
424
+ "fm-widget-header",
425
+ `fm-widget-header--${a}`,
426
+ t
427
+ ].filter(Boolean).join(" ");
428
+ return /* @__PURE__ */ c("div", { className: n, children: [
429
+ r && /* @__PURE__ */ e("div", { className: "fm-widget-header__action", children: r }),
430
+ /* @__PURE__ */ c("div", { className: "fm-widget-header__title-group", children: [
431
+ /* @__PURE__ */ e("h3", { className: "fm-widget-header__title", children: s }),
432
+ i && /* @__PURE__ */ e("p", { className: "fm-widget-header__subtitle", children: i })
433
+ ] }),
434
+ l && /* @__PURE__ */ e("div", { className: "fm-widget-header__action", children: l })
435
+ ] });
436
+ }, ee = ({
437
+ header: s,
438
+ children: i,
439
+ className: a = "",
440
+ width: r
441
+ }) => {
442
+ const l = ["fm-widget-card", a].filter(Boolean).join(" ");
443
+ return /* @__PURE__ */ c("div", { className: l, style: r ? { width: r } : void 0, children: [
444
+ s,
445
+ /* @__PURE__ */ e("div", { className: "fm-widget-card__body", children: i })
446
+ ] });
447
+ }, ae = ({
448
+ tag: s,
449
+ title: i,
450
+ text: a,
451
+ className: r = ""
452
+ }) => /* @__PURE__ */ c("div", { className: ["fm-widget-news", r].filter(Boolean).join(" "), children: [
453
+ s && /* @__PURE__ */ e("div", { className: "fm-widget-news__tag", children: s }),
454
+ /* @__PURE__ */ c("div", { className: "fm-widget-news__content", children: [
455
+ /* @__PURE__ */ e("p", { className: "fm-widget-news__title", children: i }),
456
+ /* @__PURE__ */ e("p", { className: "fm-widget-news__text", children: a })
457
+ ] })
458
+ ] }), se = ({
459
+ image: s,
460
+ tag: i,
461
+ title: a,
462
+ className: r = ""
463
+ }) => /* @__PURE__ */ c("div", { className: ["fm-widget-general-news", r].filter(Boolean).join(" "), children: [
464
+ /* @__PURE__ */ e("div", { className: "fm-widget-general-news__image", children: s && /* @__PURE__ */ e("img", { src: s, alt: a }) }),
465
+ /* @__PURE__ */ c("div", { className: "fm-widget-general-news__content", children: [
466
+ i && /* @__PURE__ */ e("div", { className: "fm-widget-general-news__tag", children: i }),
467
+ /* @__PURE__ */ e("p", { className: "fm-widget-general-news__title", children: a })
468
+ ] })
469
+ ] }), ie = ({
470
+ title: s,
471
+ text: i,
472
+ date: a,
473
+ className: r = ""
474
+ }) => /* @__PURE__ */ c("div", { className: ["fm-widget-notes", r].filter(Boolean).join(" "), children: [
475
+ /* @__PURE__ */ e("p", { className: "fm-widget-notes__title", children: s }),
476
+ /* @__PURE__ */ e("p", { className: "fm-widget-notes__text", children: i }),
477
+ a && /* @__PURE__ */ e("div", { className: "fm-widget-notes__footer", children: /* @__PURE__ */ e("span", { className: "fm-widget-notes__date", children: a }) })
478
+ ] }), re = ({
479
+ tag: s,
480
+ text: i,
481
+ action: a,
482
+ className: r = ""
483
+ }) => /* @__PURE__ */ c("div", { className: ["fm-widget-advice", r].filter(Boolean).join(" "), children: [
484
+ s && /* @__PURE__ */ e("div", { className: "fm-widget-advice__tag", children: s }),
485
+ /* @__PURE__ */ e("p", { className: "fm-widget-advice__text", children: i }),
486
+ a && /* @__PURE__ */ e("div", { className: "fm-widget-advice__action", children: a })
487
+ ] }), ce = ({
488
+ days: s = [],
489
+ events: i = [],
490
+ className: a = ""
491
+ }) => /* @__PURE__ */ c("div", { className: ["fm-widget-calendar", a].filter(Boolean).join(" "), children: [
492
+ /* @__PURE__ */ e("div", { className: "fm-widget-calendar__days", children: s.map((r, l) => /* @__PURE__ */ c(
493
+ "div",
494
+ {
495
+ className: ["fm-widget-calendar__day", r.active ? "fm-widget-calendar__day--active" : ""].filter(Boolean).join(" "),
496
+ children: [
497
+ /* @__PURE__ */ e("span", { className: "fm-widget-calendar__day-label", children: r.dayLabel }),
498
+ /* @__PURE__ */ e("span", { className: "fm-widget-calendar__day-num", children: r.date }),
499
+ r.hasEvent && /* @__PURE__ */ e("span", { className: "fm-widget-calendar__day-dot" })
500
+ ]
501
+ },
502
+ l
503
+ )) }),
504
+ i.length > 0 && /* @__PURE__ */ e("div", { className: "fm-widget-calendar__events", children: i.map((r, l) => /* @__PURE__ */ c("div", { className: "fm-widget-calendar__event", children: [
505
+ /* @__PURE__ */ e("div", { className: "fm-widget-calendar__event-bar", style: { background: r.color || "#9076dc" } }),
506
+ /* @__PURE__ */ c("div", { className: "fm-widget-calendar__event-body", children: [
507
+ /* @__PURE__ */ e("span", { className: "fm-widget-calendar__event-title", children: r.title }),
508
+ /* @__PURE__ */ e("span", { className: "fm-widget-calendar__event-time", children: r.time })
509
+ ] })
510
+ ] }, l)) })
511
+ ] }), le = ({
512
+ placeholder: s = "Пошук...",
513
+ className: i = "",
514
+ ...a
515
+ }) => /* @__PURE__ */ c("div", { className: `fm-search ${i}`.trim(), children: [
516
+ /* @__PURE__ */ c("svg", { className: "fm-search__icon", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [
517
+ /* @__PURE__ */ e("circle", { cx: "9", cy: "9", r: "6", stroke: "#91939f", strokeWidth: "1.5" }),
518
+ /* @__PURE__ */ e("path", { d: "M13.5 13.5L17 17", stroke: "#91939f", strokeWidth: "1.5", strokeLinecap: "round" })
519
+ ] }),
520
+ /* @__PURE__ */ e(
521
+ "input",
522
+ {
523
+ className: "fm-search__input",
524
+ placeholder: s,
525
+ ...a
526
+ }
527
+ )
528
+ ] }), te = ({
529
+ options: s = [],
530
+ onSelect: i,
531
+ className: a = ""
532
+ }) => /* @__PURE__ */ e("div", { className: `fm-dropdown ${a}`.trim(), children: s.map((r) => /* @__PURE__ */ e(
533
+ "button",
534
+ {
535
+ className: "fm-dropdown__item",
536
+ type: "button",
537
+ onClick: () => i == null ? void 0 : i(r.value),
538
+ children: r.label
539
+ },
540
+ r.value
541
+ )) }), C = () => /* @__PURE__ */ c("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [
542
+ /* @__PURE__ */ e("rect", { x: "2.5", y: "4.5", width: "15", height: "13", rx: "2", stroke: "currentColor", strokeWidth: "1.3" }),
543
+ /* @__PURE__ */ e("path", { d: "M6.5 2.5v4M13.5 2.5v4M2.5 8.5h15", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round" }),
544
+ /* @__PURE__ */ e("circle", { cx: "7", cy: "12", r: "1", fill: "currentColor" }),
545
+ /* @__PURE__ */ e("circle", { cx: "10", cy: "12", r: "1", fill: "currentColor" }),
546
+ /* @__PURE__ */ e("circle", { cx: "13", cy: "12", r: "1", fill: "currentColor" }),
547
+ /* @__PURE__ */ e("circle", { cx: "7", cy: "15", r: "1", fill: "currentColor" }),
548
+ /* @__PURE__ */ e("circle", { cx: "10", cy: "15", r: "1", fill: "currentColor" })
549
+ ] }), ne = ({
550
+ label: s,
551
+ helperText: i,
552
+ state: a = "default",
553
+ disabled: r,
554
+ className: l = "",
555
+ ...t
556
+ }) => {
557
+ const n = r || a === "disabled", d = [
558
+ "fm-datepicker",
559
+ `fm-datepicker--${a}`,
560
+ n ? "fm-datepicker--disabled" : "",
561
+ l
562
+ ].filter(Boolean).join(" ");
563
+ return /* @__PURE__ */ c("div", { className: d, children: [
564
+ s && /* @__PURE__ */ e("label", { className: "fm-datepicker__label", children: s }),
565
+ /* @__PURE__ */ c("div", { className: "fm-datepicker__field", children: [
566
+ /* @__PURE__ */ e(
567
+ "input",
568
+ {
569
+ type: "date",
570
+ className: "fm-datepicker__input",
571
+ disabled: n,
572
+ ...t
573
+ }
574
+ ),
575
+ /* @__PURE__ */ e("span", { className: "fm-datepicker__icon", children: /* @__PURE__ */ e(C, {}) })
576
+ ] }),
577
+ i && /* @__PURE__ */ e("p", { className: "fm-datepicker__helper", children: i })
578
+ ] });
579
+ }, $ = () => /* @__PURE__ */ c("svg", { width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", children: [
580
+ /* @__PURE__ */ e("circle", { cx: "10", cy: "10", r: "7", stroke: "currentColor", strokeWidth: "1.3" }),
581
+ /* @__PURE__ */ e("path", { d: "M10 6.5V10.5L13 12", stroke: "currentColor", strokeWidth: "1.3", strokeLinecap: "round", strokeLinejoin: "round" })
582
+ ] }), de = ({
583
+ label: s,
584
+ helperText: i,
585
+ state: a = "default",
586
+ disabled: r,
587
+ className: l = "",
588
+ ...t
589
+ }) => {
590
+ const n = r || a === "disabled", d = [
591
+ "fm-timepicker",
592
+ `fm-timepicker--${a}`,
593
+ n ? "fm-timepicker--disabled" : "",
594
+ l
595
+ ].filter(Boolean).join(" ");
596
+ return /* @__PURE__ */ c("div", { className: d, children: [
597
+ s && /* @__PURE__ */ e("label", { className: "fm-timepicker__label", children: s }),
598
+ /* @__PURE__ */ c("div", { className: "fm-timepicker__field", children: [
599
+ /* @__PURE__ */ e(
600
+ "input",
601
+ {
602
+ type: "time",
603
+ className: "fm-timepicker__input",
604
+ disabled: n,
605
+ ...t
606
+ }
607
+ ),
608
+ /* @__PURE__ */ e("span", { className: "fm-timepicker__icon", children: /* @__PURE__ */ e($, {}) })
609
+ ] }),
610
+ i && /* @__PURE__ */ e("p", { className: "fm-timepicker__helper", children: i })
611
+ ] });
612
+ }, oe = ({
613
+ label: s,
614
+ checked: i = !1,
615
+ disabled: a,
616
+ className: r = "",
617
+ onChange: l,
618
+ ...t
619
+ }) => /* @__PURE__ */ c("label", { className: `fm-radio ${a ? "fm-radio--disabled" : ""} ${r}`.trim(), children: [
620
+ /* @__PURE__ */ e("span", { className: `fm-radio__circle ${i ? "fm-radio__circle--checked" : ""}`, children: i && /* @__PURE__ */ e("span", { className: "fm-radio__dot" }) }),
621
+ /* @__PURE__ */ e(
622
+ "input",
623
+ {
624
+ type: "radio",
625
+ className: "fm-radio__input",
626
+ checked: i,
627
+ disabled: a,
628
+ onChange: l,
629
+ ...t
630
+ }
631
+ ),
632
+ s && /* @__PURE__ */ e("span", { className: "fm-radio__label", children: s })
633
+ ] }), y = () => /* @__PURE__ */ e("svg", { width: "16", height: "12", viewBox: "0 0 16 12", fill: "none", children: /* @__PURE__ */ e("path", { d: "M1.5 6L6 10.5L14.5 1.5", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }), j = ({
634
+ step: s,
635
+ index: i,
636
+ isLast: a
637
+ }) => /* @__PURE__ */ c("div", { className: "fm-stepper__step", children: [
638
+ /* @__PURE__ */ c("div", { className: `fm-stepper__circle fm-stepper__circle--${s.state}`, children: [
639
+ s.state === "done" && /* @__PURE__ */ e(y, {}),
640
+ s.state === "in-process" && /* @__PURE__ */ e("span", { className: "fm-stepper__num", children: i + 1 }),
641
+ s.state === "inactive" && /* @__PURE__ */ e("span", { className: "fm-stepper__num fm-stepper__num--inactive", children: i + 1 })
642
+ ] }),
643
+ !a && /* @__PURE__ */ e("div", { className: `fm-stepper__line fm-stepper__line--${s.state}` }),
644
+ s.label && /* @__PURE__ */ e("p", { className: `fm-stepper__label fm-stepper__label--${s.state}`, children: s.label })
645
+ ] }), me = ({ steps: s, className: i = "" }) => /* @__PURE__ */ e("div", { className: `fm-stepper ${i}`.trim(), children: s.map((a, r) => /* @__PURE__ */ e(j, { step: a, index: r, isLast: r === s.length - 1 }, r)) }), M = () => /* @__PURE__ */ e("svg", { width: "16", height: "12", viewBox: "0 0 16 12", fill: "none", children: /* @__PURE__ */ e("path", { d: "M1.5 6L6 10.5L14.5 1.5", stroke: "white", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }), W = ({ step: s, isLast: i }) => {
646
+ const a = s.state ?? "inactive";
647
+ return /* @__PURE__ */ c("div", { className: `fm-stepper-progress__step fm-stepper-progress__step--${a}`, children: [
648
+ /* @__PURE__ */ e("div", { className: "fm-stepper-progress__circle", children: /* @__PURE__ */ e(M, {}) }),
649
+ !i && /* @__PURE__ */ e("div", { className: "fm-stepper-progress__line" }),
650
+ /* @__PURE__ */ e("p", { className: "fm-stepper-progress__label", children: s.label })
651
+ ] });
652
+ }, fe = ({ steps: s, className: i = "" }) => /* @__PURE__ */ e("div", { className: `fm-stepper-progress ${i}`.trim(), children: s.map((a, r) => /* @__PURE__ */ e(W, { step: a, isLast: r === s.length - 1 }, r)) }), _e = ({
653
+ avatar: s,
654
+ name: i,
655
+ role: a,
656
+ quote: r,
657
+ className: l = ""
658
+ }) => /* @__PURE__ */ c("div", { className: `fm-testimonial ${l}`.trim(), children: [
659
+ /* @__PURE__ */ c("div", { className: "fm-testimonial__author", children: [
660
+ s ? /* @__PURE__ */ e("img", { className: "fm-testimonial__avatar", src: s, alt: i }) : /* @__PURE__ */ e("div", { className: "fm-testimonial__avatar fm-testimonial__avatar--placeholder", children: i.charAt(0) }),
661
+ /* @__PURE__ */ c("div", { className: "fm-testimonial__meta", children: [
662
+ /* @__PURE__ */ e("p", { className: "fm-testimonial__name", children: i }),
663
+ a && /* @__PURE__ */ e("p", { className: "fm-testimonial__role", children: a })
664
+ ] })
665
+ ] }),
666
+ /* @__PURE__ */ e("p", { className: "fm-testimonial__quote", children: r })
667
+ ] }), he = ({
668
+ icon: s,
669
+ title: i,
670
+ description: a,
671
+ price: r,
672
+ period: l = "/місяць",
673
+ action: t,
674
+ badge: n,
675
+ highlighted: d = !1,
676
+ className: o = ""
677
+ }) => /* @__PURE__ */ c("div", { className: `fm-pricecard ${d ? "fm-pricecard--highlighted" : ""} ${o}`.trim(), children: [
678
+ n && /* @__PURE__ */ e("span", { className: "fm-pricecard__badge", children: n }),
679
+ s && /* @__PURE__ */ e("div", { className: "fm-pricecard__icon", children: s }),
680
+ /* @__PURE__ */ c("div", { className: "fm-pricecard__info", children: [
681
+ /* @__PURE__ */ e("h3", { className: "fm-pricecard__title", children: i }),
682
+ a && /* @__PURE__ */ e("p", { className: "fm-pricecard__desc", children: a })
683
+ ] }),
684
+ /* @__PURE__ */ c("div", { className: "fm-pricecard__footer", children: [
685
+ r !== void 0 && /* @__PURE__ */ c("div", { className: "fm-pricecard__price", children: [
686
+ /* @__PURE__ */ e("span", { className: "fm-pricecard__amount", children: r }),
687
+ /* @__PURE__ */ e("span", { className: "fm-pricecard__period", children: l })
688
+ ] }),
689
+ t && /* @__PURE__ */ e("div", { className: "fm-pricecard__action", children: t })
690
+ ] })
691
+ ] }), I = () => /* @__PURE__ */ e("svg", { width: "14", height: "10", viewBox: "0 0 14 10", fill: "none", children: /* @__PURE__ */ e("path", { d: "M1 5L5.5 9.5L13 1", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }), pe = ({
692
+ title: s = "Базовий",
693
+ amount: i = "₴0",
694
+ period: a = "/місяць",
695
+ actionLabel: r = "Отримати",
696
+ onAction: l,
697
+ features: t = [],
698
+ className: n = ""
699
+ }) => /* @__PURE__ */ c("div", { className: `fm-price ${n}`.trim(), children: [
700
+ /* @__PURE__ */ e("p", { className: "fm-price__title", children: s }),
701
+ /* @__PURE__ */ c("div", { className: "fm-price__amount-row", children: [
702
+ /* @__PURE__ */ e("span", { className: "fm-price__amount", children: i }),
703
+ /* @__PURE__ */ e("span", { className: "fm-price__period", children: a })
704
+ ] }),
705
+ /* @__PURE__ */ e("button", { className: "fm-price__cta", type: "button", onClick: l, children: r }),
706
+ t.length > 0 && /* @__PURE__ */ e("ul", { className: "fm-price__features", children: t.map((d, o) => /* @__PURE__ */ c("li", { className: "fm-price__feature", children: [
707
+ /* @__PURE__ */ e("div", { className: "fm-price__check", children: /* @__PURE__ */ e(I, {}) }),
708
+ /* @__PURE__ */ e("span", { children: d })
709
+ ] }, o)) })
710
+ ] }), P = () => /* @__PURE__ */ e("svg", { width: "14", height: "10", viewBox: "0 0 14 10", fill: "none", children: /* @__PURE__ */ e("path", { d: "M1 5L5.5 9.5L13 1", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }), Ne = ({ children: s, className: i = "" }) => /* @__PURE__ */ c("div", { className: `fm-list-item ${i}`.trim(), children: [
711
+ /* @__PURE__ */ e("div", { className: "fm-list-item__check", children: /* @__PURE__ */ e(P, {}) }),
712
+ /* @__PURE__ */ e("span", { className: "fm-list-item__text", children: s })
713
+ ] }), D = () => /* @__PURE__ */ c("svg", { width: "16", height: "16", viewBox: "0 0 16 16", fill: "none", children: [
714
+ /* @__PURE__ */ e("path", { d: "M8 1L9.5 6.5L15 8L9.5 9.5L8 15L6.5 9.5L1 8L6.5 6.5L8 1Z", fill: "url(#fm-sparkle-grad)" }),
715
+ /* @__PURE__ */ e("defs", { children: /* @__PURE__ */ c("linearGradient", { id: "fm-sparkle-grad", x1: "0", y1: "0", x2: "16", y2: "16", gradientUnits: "userSpaceOnUse", children: [
716
+ /* @__PURE__ */ e("stop", { offset: "0%", stopColor: "#9076dc" }),
717
+ /* @__PURE__ */ e("stop", { offset: "100%", stopColor: "#ffa8f1" })
718
+ ] }) })
719
+ ] }), u = ({
720
+ label: s = "АІ-помічник для кар'єрного розвитку",
721
+ showIcon: i = !0,
722
+ className: a = ""
723
+ }) => /* @__PURE__ */ c("div", { className: `fm-tag-big ${a}`.trim(), children: [
724
+ i && /* @__PURE__ */ e("span", { className: "fm-tag-big__icon", children: /* @__PURE__ */ e(D, {}) }),
725
+ /* @__PURE__ */ e("span", { className: "fm-tag-big__label", children: s })
726
+ ] }), ue = ({
727
+ tag: s = "Можливості платформи",
728
+ showTag: i = !0,
729
+ title: a = "Все для твоєї кар'єри",
730
+ subtitle: r = "Комплексна платформа для пошуку роботи, навчання та професійного розвитку",
731
+ showSubtitle: l = !0,
732
+ variant: t = "centered",
733
+ className: n = ""
734
+ }) => /* @__PURE__ */ e("div", { className: `fm-section-title fm-section-title--${t} ${n}`.trim(), children: t === "split" ? /* @__PURE__ */ c(_, { children: [
735
+ /* @__PURE__ */ c("div", { className: "fm-section-title__left", children: [
736
+ i && /* @__PURE__ */ e(u, { label: s, showIcon: !1 }),
737
+ /* @__PURE__ */ e("h2", { className: "fm-section-title__heading", children: a })
738
+ ] }),
739
+ l && /* @__PURE__ */ e("p", { className: "fm-section-title__subtitle", children: r })
740
+ ] }) : /* @__PURE__ */ c(_, { children: [
741
+ i && /* @__PURE__ */ e(u, { label: s, showIcon: !1 }),
742
+ /* @__PURE__ */ e("h2", { className: "fm-section-title__heading", children: a }),
743
+ l && /* @__PURE__ */ e("p", { className: "fm-section-title__subtitle", children: r })
744
+ ] }) }), ve = ({
745
+ title: s = "Привіт!",
746
+ subtitle: i = "Сьогодні чудовий день для кар'єрного зростання.",
747
+ actionLabel: a = "Почати тренування",
748
+ showAction: r = !0,
749
+ onAction: l,
750
+ className: t = ""
751
+ }) => /* @__PURE__ */ c("div", { className: `fm-dashboard-title ${t}`.trim(), children: [
752
+ /* @__PURE__ */ c("div", { className: "fm-dashboard-title__text", children: [
753
+ /* @__PURE__ */ e("h1", { className: "fm-dashboard-title__heading", children: s }),
754
+ /* @__PURE__ */ e("p", { className: "fm-dashboard-title__subtitle", children: i })
755
+ ] }),
756
+ r && /* @__PURE__ */ e("button", { className: "fm-dashboard-title__action", type: "button", onClick: l, children: a })
757
+ ] }), ge = ({
758
+ number: s = 1,
759
+ title: i = "Пройди тестування",
760
+ content: a = "АІ аналізує твої навички, інтерес та досвід",
761
+ style: r = "select",
762
+ className: l = ""
763
+ }) => /* @__PURE__ */ c("div", { className: `fm-process-step fm-process-step--${r} ${l}`.trim(), children: [
764
+ /* @__PURE__ */ e("div", { className: "fm-process-step__number", children: /* @__PURE__ */ e("span", { children: s }) }),
765
+ /* @__PURE__ */ c("div", { className: "fm-process-step__body", children: [
766
+ /* @__PURE__ */ e("h3", { className: "fm-process-step__title", children: i }),
767
+ /* @__PURE__ */ e("p", { className: "fm-process-step__content", children: a })
768
+ ] })
769
+ ] }), q = () => /* @__PURE__ */ e("svg", { width: "14", height: "10", viewBox: "0 0 14 10", fill: "none", children: /* @__PURE__ */ e("path", { d: "M1 5L5.5 9.5L13 1", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }), ke = ({ tasks: s, className: i = "" }) => /* @__PURE__ */ e("div", { className: `fm-tasks-widget ${i}`.trim(), children: s.map((a, r) => /* @__PURE__ */ c("div", { className: "fm-tasks-widget__row", children: [
770
+ /* @__PURE__ */ e("div", { className: `fm-tasks-widget__checkbox ${a.done ? "fm-tasks-widget__checkbox--done" : ""}`, children: a.done && /* @__PURE__ */ e(q, {}) }),
771
+ /* @__PURE__ */ e("span", { className: `fm-tasks-widget__label ${a.done ? "fm-tasks-widget__label--done" : ""}`, children: a.label }),
772
+ a.time && /* @__PURE__ */ e("span", { className: "fm-tasks-widget__tag", children: a.time })
773
+ ] }, r)) }), we = ({
774
+ placeholder: s = "Ваша електронна пошта",
775
+ buttonLabel: i = "Почати безкоштовно",
776
+ onSubmit: a,
777
+ className: r = ""
778
+ }) => {
779
+ const [l, t] = v(""), n = (d) => {
780
+ d.preventDefault(), a == null || a(l);
781
+ };
782
+ return /* @__PURE__ */ c("form", { className: `fm-signup-form ${r}`.trim(), onSubmit: n, children: [
783
+ /* @__PURE__ */ e(
784
+ "input",
785
+ {
786
+ type: "email",
787
+ className: "fm-signup-form__input",
788
+ placeholder: s,
789
+ value: l,
790
+ onChange: (d) => t(d.target.value)
791
+ }
792
+ ),
793
+ /* @__PURE__ */ e("button", { type: "submit", className: "fm-signup-form__btn", children: i })
794
+ ] });
795
+ }, be = ({
796
+ icon: s,
797
+ title: i = "Базовий",
798
+ description: a = "Ідеальний старт для знайомства з платформою та визначення кар'єрного напрямку.",
799
+ variant: r = "default",
800
+ className: l = ""
801
+ }) => /* @__PURE__ */ c("div", { className: `fm-tariffs fm-tariffs--${r} ${l}`.trim(), children: [
802
+ s && /* @__PURE__ */ e("div", { className: "fm-tariffs__icon", children: s }),
803
+ /* @__PURE__ */ c("div", { className: "fm-tariffs__body", children: [
804
+ /* @__PURE__ */ e("p", { className: "fm-tariffs__title", children: i }),
805
+ /* @__PURE__ */ e("p", { className: "fm-tariffs__desc", children: a })
806
+ ] })
807
+ ] }), T = () => /* @__PURE__ */ e("svg", { width: "18", height: "18", viewBox: "0 0 18 18", fill: "none", children: /* @__PURE__ */ e("path", { d: "M9 3.5V14.5M3.5 9H14.5", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round" }) }), S = () => /* @__PURE__ */ e("svg", { width: "18", height: "18", viewBox: "0 0 18 18", fill: "none", children: /* @__PURE__ */ e("path", { d: "M4.5 4.5L13.5 13.5M13.5 4.5L4.5 13.5", stroke: "white", strokeWidth: "1.5", strokeLinecap: "round" }) }), Le = ({
808
+ title: s = "Що таке Rework?",
809
+ text: i = "Rework — це AI-платформа для кар'єрного розвитку, яка допомагає знайти нову професію через персоналізовані тести, симуляції співбесід та розумні рекомендації вакансій.",
810
+ open: a = !1,
811
+ state: r = "default",
812
+ onClick: l,
813
+ className: t = ""
814
+ }) => /* @__PURE__ */ c(
815
+ "div",
816
+ {
817
+ className: [
818
+ "fm-question",
819
+ a ? "fm-question--open" : "",
820
+ !a && r === "hover" ? "fm-question--hover" : "",
821
+ t
822
+ ].filter(Boolean).join(" "),
823
+ onClick: l,
824
+ role: "button",
825
+ tabIndex: 0,
826
+ onKeyDown: (n) => n.key === "Enter" && (l == null ? void 0 : l()),
827
+ "aria-expanded": a,
828
+ children: [
829
+ /* @__PURE__ */ c("div", { className: "fm-question__content", children: [
830
+ /* @__PURE__ */ e("p", { className: "fm-question__title", children: s }),
831
+ a && /* @__PURE__ */ e("p", { className: "fm-question__text", children: i })
832
+ ] }),
833
+ /* @__PURE__ */ e("span", { className: `fm-question__icon ${a ? "fm-question__icon--open" : ""}`, children: a ? /* @__PURE__ */ e(S, {}) : /* @__PURE__ */ e(T, {}) })
834
+ ]
835
+ }
836
+ );
150
837
  export {
151
- b as Button,
152
- v as Checkbox,
153
- B as Footer,
154
- j as Header,
155
- g as Input,
156
- k as Tag,
157
- x as Toggle
838
+ E as Button,
839
+ ce as CalendarWidget,
840
+ Q as CardCareer,
841
+ K as CardTest,
842
+ O as Checkbox,
843
+ ve as DashboardTitle,
844
+ ne as DatePicker,
845
+ te as Dropdown,
846
+ G as Footer,
847
+ se as GeneralNewsWidget,
848
+ U as Header,
849
+ N as IconButton,
850
+ H as Input,
851
+ Ne as ListItem,
852
+ z as NavBar,
853
+ Z as NavItem,
854
+ ie as NotesWidget,
855
+ X as Pagination,
856
+ re as PersonalAdviceWidget,
857
+ ae as PlatformNewsWidget,
858
+ pe as Price,
859
+ he as PriceCard,
860
+ ge as ProcessStep,
861
+ Le as Question,
862
+ oe as RadioButton,
863
+ le as Search,
864
+ ue as SectionTitle,
865
+ J as SegmentedControl,
866
+ we as SignupForm,
867
+ me as Stepper,
868
+ fe as StepperProgress,
869
+ F as Tag,
870
+ u as TagBig,
871
+ be as Tariffs,
872
+ ke as TasksWidget,
873
+ _e as TestimonialCard,
874
+ de as TimePicker,
875
+ V as Toggle,
876
+ ee as WidgetCard,
877
+ Y as WidgetHeader
158
878
  };