@tetjana/flowmakers-ds 0.1.6 → 0.1.8

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 (65) hide show
  1. package/dist/components/Button.figma.d.ts +1 -0
  2. package/dist/components/CardCareer.d.ts +18 -0
  3. package/dist/components/CardCareer.figma.d.ts +1 -0
  4. package/dist/components/CardTest.d.ts +19 -0
  5. package/dist/components/CardTest.figma.d.ts +1 -0
  6. package/dist/components/Checkbox.figma.d.ts +1 -0
  7. package/dist/components/DashboardTitle.d.ts +12 -0
  8. package/dist/components/DatePicker.d.ts +10 -0
  9. package/dist/components/Dropdown.d.ts +14 -0
  10. package/dist/components/Footer.figma.d.ts +1 -0
  11. package/dist/components/Header.figma.d.ts +1 -0
  12. package/dist/components/IconButton.d.ts +12 -0
  13. package/dist/components/IconButton.figma.d.ts +1 -0
  14. package/dist/components/Input.figma.d.ts +1 -0
  15. package/dist/components/ListItem.d.ts +8 -0
  16. package/dist/components/NavMenu.d.ts +18 -0
  17. package/dist/components/NavMenu.figma.d.ts +1 -0
  18. package/dist/components/Pagination.d.ts +15 -0
  19. package/dist/components/Pagination.figma.d.ts +1 -0
  20. package/dist/components/Price.d.ts +13 -0
  21. package/dist/components/PriceCard.d.ts +15 -0
  22. package/dist/components/ProcessStep.d.ts +12 -0
  23. package/dist/components/Question.d.ts +12 -0
  24. package/dist/components/RadioButton.d.ts +8 -0
  25. package/dist/components/Search.d.ts +7 -0
  26. package/dist/components/SectionTitle.d.ts +14 -0
  27. package/dist/components/SegmentedControl.d.ts +14 -0
  28. package/dist/components/SegmentedControl.figma.d.ts +1 -0
  29. package/dist/components/SignupForm.d.ts +10 -0
  30. package/dist/components/Stepper.d.ts +18 -0
  31. package/dist/components/StepperProgress.d.ts +13 -0
  32. package/dist/components/Tag.figma.d.ts +1 -0
  33. package/dist/components/TagBig.d.ts +9 -0
  34. package/dist/components/Tariffs.d.ts +12 -0
  35. package/dist/components/TasksWidget.d.ts +13 -0
  36. package/dist/components/TestimonialCard.d.ts +11 -0
  37. package/dist/components/TimePicker.d.ts +10 -0
  38. package/dist/components/Toggle.figma.d.ts +1 -0
  39. package/dist/components/WidgetCard.d.ts +65 -0
  40. package/dist/components/WidgetCard.figma.d.ts +1 -0
  41. package/dist/demo.d.ts +3 -0
  42. package/dist/index.cjs.js +1 -1
  43. package/dist/index.d.ts +52 -0
  44. package/dist/index.esm.js +816 -98
  45. package/dist/styles.css +1 -1
  46. package/guidelines/Guidelines.md +53 -0
  47. package/guidelines/components/button.md +50 -0
  48. package/guidelines/components/cardcareer.md +70 -0
  49. package/guidelines/components/cardtest.md +82 -0
  50. package/guidelines/components/checkbox.md +51 -0
  51. package/guidelines/components/footer.md +63 -0
  52. package/guidelines/components/header.md +57 -0
  53. package/guidelines/components/iconbutton.md +42 -0
  54. package/guidelines/components/input.md +39 -0
  55. package/guidelines/components/navmenu.md +48 -0
  56. package/guidelines/components/pagination.md +61 -0
  57. package/guidelines/components/segmentedcontrol.md +37 -0
  58. package/guidelines/components/tag.md +27 -0
  59. package/guidelines/components/toggle.md +41 -0
  60. package/guidelines/components/widgetcard.md +187 -0
  61. package/guidelines/design-tokens/colors.md +42 -0
  62. package/guidelines/design-tokens/spacing.md +41 -0
  63. package/guidelines/design-tokens/typography.md +23 -0
  64. package/guidelines/overview-components.md +58 -0
  65. package/package.json +21 -12
package/dist/index.esm.js CHANGED
@@ -1,158 +1,876 @@
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",
1
+ import { jsxs as c, jsx as e, Fragment as _ } from "react/jsx-runtime";
2
+ import { useRef as k, useEffect as b, useState as v } from "react";
3
+ const A = ({
4
+ variant: a = "primary",
5
+ size: i = "md",
6
6
  leftIcon: s,
7
- rightIcon: l,
8
- children: n,
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
16
  `fm-btn--${a}`,
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: [
22
+ return /* @__PURE__ */ c("button", { className: m, disabled: n, ...o, children: [
23
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 })
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
26
  ] });
27
- }, g = ({
28
- label: c,
29
- placeholder: a,
27
+ }, E = ({
28
+ label: a,
29
+ placeholder: i,
30
30
  state: s = "default",
31
- errorMessage: l,
32
- successMessage: n,
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
41
  `fm-input-wrapper--${s}`,
42
- i ? "fm-input-wrapper--disabled" : "",
43
- o
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
+ a && /* @__PURE__ */ e("label", { className: "fm-input__label", children: a }),
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
+ s === "error" && r && /* @__PURE__ */ e("p", { className: "fm-input__message fm-input__message--error", children: r }),
61
+ s === "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: a, color: i = "grey", className: s = "" }) => {
64
+ const r = ["fm-tag", `fm-tag--${i}`, s].filter(Boolean).join(" ");
65
+ return /* @__PURE__ */ e("span", { className: r, children: a });
66
+ }, H = ({ checked: a, onChange: i, disabled: s, label: r, className: l = "" }) => /* @__PURE__ */ c("label", { className: ["fm-toggle", s ? "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),
72
+ checked: a,
73
+ onChange: (t) => i(t.target.checked),
74
74
  disabled: s
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,
78
+ r && /* @__PURE__ */ e("span", { className: "fm-toggle__label", children: r })
79
+ ] }), R = ({
80
+ checked: a = !1,
81
+ indeterminate: i = !1,
82
82
  onChange: s,
83
- disabled: l,
84
- size: n = "small",
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 b(() => {
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: a,
99
+ onChange: (o) => s == null ? void 0 : s(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
+ a && !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,
109
+ }, O = ({
110
+ title: a,
111
+ subtitle: i,
112
112
  color: s = "purple",
113
- leftSlot: l,
114
- rightSlot: n,
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--${s}`, 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: a }),
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 })
124
+ l && /* @__PURE__ */ e("div", { className: "fm-header__slot fm-header__slot--right", children: l })
125
125
  ] });
126
- }, B = ({
127
- variant: c = "light",
128
- headline: a = "Є ідеї чи пропозиції?",
126
+ }, U = ({
127
+ variant: a = "light",
128
+ headline: i = "Є ідеї чи пропозиції?",
129
129
  ctaLabel: s = "Написати нам",
130
- onCtaClick: l,
131
- sections: n = [],
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--${a}`, 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: s })
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
+ }, V = ({
150
+ icon: a,
151
+ label: i,
152
+ active: s = !1,
153
+ href: r,
154
+ onClick: l,
155
+ className: t = ""
156
+ }) => {
157
+ const n = [
158
+ "fm-nav-item",
159
+ s ? "fm-nav-item--active" : "",
160
+ t
161
+ ].filter(Boolean).join(" "), d = /* @__PURE__ */ c(_, { children: [
162
+ a && /* @__PURE__ */ e("span", { className: "fm-nav-item__icon", children: a }),
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
+ }, G = ({
167
+ children: a,
168
+ horizontal: i = !1,
169
+ className: s = ""
170
+ }) => {
171
+ const r = [
172
+ "fm-nav-bar",
173
+ i ? "fm-nav-bar--horizontal" : "",
174
+ s
175
+ ].filter(Boolean).join(" ");
176
+ return /* @__PURE__ */ e("nav", { className: r, children: a });
177
+ }, w = {
178
+ available: "Доступно",
179
+ "in-progress": "В процесі",
180
+ completed: "Завершено",
181
+ unavailable: "Недоступно"
182
+ }, Z = ({
183
+ title: a,
184
+ description: i,
185
+ image: s,
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
+ s && /* @__PURE__ */ e("img", { src: s, alt: a }),
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: w[r] })
202
+ ] }),
203
+ /* @__PURE__ */ c("div", { className: "fm-card-test__content", children: [
204
+ /* @__PURE__ */ e("h3", { className: "fm-card-test__title", children: a }),
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: a }) => {
215
+ const i = p * (1 - Math.min(100, Math.max(0, a)) / 100), s = a >= 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${s ? " 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
+ a,
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" }) }), z = ({
237
+ title: a,
238
+ subtitle: i,
239
+ statusTag: s,
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: a }),
254
+ s
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: a = "arrow-right",
331
+ size: i = "regular",
332
+ variant: s = "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--${s}`,
341
+ r
342
+ ].filter(Boolean).join(" ");
343
+ return /* @__PURE__ */ e("button", { className: n, disabled: l, ...t, children: B[a] });
344
+ }, K = ({
345
+ options: a,
346
+ value: i,
347
+ onChange: s,
348
+ className: r = ""
349
+ }) => {
350
+ const l = ["fm-segmented-control", r].filter(Boolean).join(" ");
351
+ return /* @__PURE__ */ e("div", { className: l, role: "tablist", children: a.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: () => s == null ? void 0 : s(t.value),
361
+ children: t.label
362
+ },
363
+ t.value
364
+ )) });
365
+ }, Q = ({
366
+ variant: a = "dots",
367
+ page: i = 1,
368
+ total: s = 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--${a}`,
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
+ a === "dots" && /* @__PURE__ */ e("div", { className: "fm-pagination__dots", children: Array.from({ length: s }).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
+ a === "numbers" && /* @__PURE__ */ e("div", { className: "fm-pagination__numbers", children: /* @__PURE__ */ c("span", { className: "fm-pagination__numbers-text", children: [
401
+ i,
402
+ " з ",
403
+ s
404
+ ] }) }),
405
+ /* @__PURE__ */ e(
406
+ N,
407
+ {
408
+ icon: "arrow-right",
409
+ "aria-label": "Наступна",
410
+ disabled: n,
411
+ onClick: l
412
+ }
413
+ )
414
+ ] });
415
+ }, J = ({
416
+ title: a,
417
+ subtitle: i,
418
+ color: s = "purple",
419
+ leftAction: r,
420
+ rightAction: l,
421
+ className: t = ""
422
+ }) => {
423
+ const n = [
424
+ "fm-widget-header",
425
+ `fm-widget-header--${s}`,
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: a }),
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
+ }, X = ({
437
+ header: a,
438
+ children: i,
439
+ className: s = "",
440
+ width: r
441
+ }) => {
442
+ const l = ["fm-widget-card", s].filter(Boolean).join(" ");
443
+ return /* @__PURE__ */ c("div", { className: l, style: r ? { width: r } : void 0, children: [
444
+ a,
445
+ /* @__PURE__ */ e("div", { className: "fm-widget-card__body", children: i })
446
+ ] });
447
+ }, Y = ({
448
+ tag: a,
449
+ title: i,
450
+ text: s,
451
+ className: r = ""
452
+ }) => /* @__PURE__ */ c("div", { className: ["fm-widget-news", r].filter(Boolean).join(" "), children: [
453
+ a && /* @__PURE__ */ e("div", { className: "fm-widget-news__tag", children: a }),
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: s })
457
+ ] })
458
+ ] }), ee = ({
459
+ image: a,
460
+ tag: i,
461
+ title: s,
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: a && /* @__PURE__ */ e("img", { src: a, alt: s }) }),
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: s })
468
+ ] })
469
+ ] }), ae = ({
470
+ title: a,
471
+ text: i,
472
+ date: s,
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: a }),
476
+ /* @__PURE__ */ e("p", { className: "fm-widget-notes__text", children: i }),
477
+ s && /* @__PURE__ */ e("div", { className: "fm-widget-notes__footer", children: /* @__PURE__ */ e("span", { className: "fm-widget-notes__date", children: s }) })
478
+ ] }), se = ({
479
+ tag: a,
480
+ text: i,
481
+ action: s,
482
+ className: r = ""
483
+ }) => /* @__PURE__ */ c("div", { className: ["fm-widget-advice", r].filter(Boolean).join(" "), children: [
484
+ a && /* @__PURE__ */ e("div", { className: "fm-widget-advice__tag", children: a }),
485
+ /* @__PURE__ */ e("p", { className: "fm-widget-advice__text", children: i }),
486
+ s && /* @__PURE__ */ e("div", { className: "fm-widget-advice__action", children: s })
487
+ ] }), ie = ({
488
+ days: a = [],
489
+ events: i = [],
490
+ className: s = ""
491
+ }) => /* @__PURE__ */ c("div", { className: ["fm-widget-calendar", s].filter(Boolean).join(" "), children: [
492
+ /* @__PURE__ */ e("div", { className: "fm-widget-calendar__days", children: a.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
+ ] }), re = ({
512
+ placeholder: a = "Пошук...",
513
+ className: i = "",
514
+ ...s
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: a,
525
+ ...s
526
+ }
527
+ )
528
+ ] }), ce = ({
529
+ options: a = [],
530
+ onSelect: i,
531
+ className: s = ""
532
+ }) => /* @__PURE__ */ e("div", { className: `fm-dropdown ${s}`.trim(), children: a.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
+ )) }), $ = () => /* @__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
+ ] }), le = ({
550
+ label: a,
551
+ helperText: i,
552
+ state: s = "default",
553
+ disabled: r,
554
+ className: l = "",
555
+ ...t
556
+ }) => {
557
+ const n = r || s === "disabled", d = [
558
+ "fm-datepicker",
559
+ `fm-datepicker--${s}`,
560
+ n ? "fm-datepicker--disabled" : "",
561
+ l
562
+ ].filter(Boolean).join(" ");
563
+ return /* @__PURE__ */ c("div", { className: d, children: [
564
+ a && /* @__PURE__ */ e("label", { className: "fm-datepicker__label", children: a }),
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($, {}) })
576
+ ] }),
577
+ i && /* @__PURE__ */ e("p", { className: "fm-datepicker__helper", children: i })
578
+ ] });
579
+ }, y = () => /* @__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
+ ] }), te = ({
583
+ label: a,
584
+ helperText: i,
585
+ state: s = "default",
586
+ disabled: r,
587
+ className: l = "",
588
+ ...t
589
+ }) => {
590
+ const n = r || s === "disabled", d = [
591
+ "fm-timepicker",
592
+ `fm-timepicker--${s}`,
593
+ n ? "fm-timepicker--disabled" : "",
594
+ l
595
+ ].filter(Boolean).join(" ");
596
+ return /* @__PURE__ */ c("div", { className: d, children: [
597
+ a && /* @__PURE__ */ e("label", { className: "fm-timepicker__label", children: a }),
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(y, {}) })
609
+ ] }),
610
+ i && /* @__PURE__ */ e("p", { className: "fm-timepicker__helper", children: i })
611
+ ] });
612
+ }, ne = ({
613
+ label: a,
614
+ checked: i = !1,
615
+ disabled: s,
616
+ className: r = "",
617
+ onChange: l,
618
+ ...t
619
+ }) => /* @__PURE__ */ c("label", { className: `fm-radio ${s ? "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: s,
628
+ onChange: l,
629
+ ...t
630
+ }
631
+ ),
632
+ a && /* @__PURE__ */ e("span", { className: "fm-radio__label", children: a })
633
+ ] }), C = () => /* @__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: a,
635
+ index: i,
636
+ isLast: s
637
+ }) => /* @__PURE__ */ c("div", { className: "fm-stepper__step", children: [
638
+ /* @__PURE__ */ c("div", { className: `fm-stepper__circle fm-stepper__circle--${a.state}`, children: [
639
+ a.state === "done" && /* @__PURE__ */ e(C, {}),
640
+ a.state === "in-process" && /* @__PURE__ */ e("span", { className: "fm-stepper__num", children: i + 1 }),
641
+ a.state === "inactive" && /* @__PURE__ */ e("span", { className: "fm-stepper__num fm-stepper__num--inactive", children: i + 1 })
642
+ ] }),
643
+ !s && /* @__PURE__ */ e("div", { className: `fm-stepper__line fm-stepper__line--${a.state}` }),
644
+ a.label && /* @__PURE__ */ e("p", { className: `fm-stepper__label fm-stepper__label--${a.state}`, children: a.label })
645
+ ] }), de = ({ steps: a, className: i = "" }) => /* @__PURE__ */ e("div", { className: `fm-stepper ${i}`.trim(), children: a.map((s, r) => /* @__PURE__ */ e(j, { step: s, index: r, isLast: r === a.length - 1 }, r)) }), W = () => /* @__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" }) }), M = ({ step: a, isLast: i }) => {
646
+ const s = a.state ?? "inactive";
647
+ return /* @__PURE__ */ c("div", { className: `fm-stepper-progress__step fm-stepper-progress__step--${s}`, children: [
648
+ /* @__PURE__ */ e("div", { className: "fm-stepper-progress__circle", children: /* @__PURE__ */ e(W, {}) }),
649
+ !i && /* @__PURE__ */ e("div", { className: "fm-stepper-progress__line" }),
650
+ /* @__PURE__ */ e("p", { className: "fm-stepper-progress__label", children: a.label })
651
+ ] });
652
+ }, oe = ({ steps: a, className: i = "" }) => /* @__PURE__ */ e("div", { className: `fm-stepper-progress ${i}`.trim(), children: a.map((s, r) => /* @__PURE__ */ e(M, { step: s, isLast: r === a.length - 1 }, r)) }), me = ({
653
+ avatar: a,
654
+ name: i,
655
+ role: s,
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
+ a ? /* @__PURE__ */ e("img", { className: "fm-testimonial__avatar", src: a, 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
+ s && /* @__PURE__ */ e("p", { className: "fm-testimonial__role", children: s })
664
+ ] })
665
+ ] }),
666
+ /* @__PURE__ */ e("p", { className: "fm-testimonial__quote", children: r })
667
+ ] }), fe = ({
668
+ icon: a,
669
+ title: i,
670
+ description: s,
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
+ a && /* @__PURE__ */ e("div", { className: "fm-pricecard__icon", children: a }),
680
+ /* @__PURE__ */ c("div", { className: "fm-pricecard__info", children: [
681
+ /* @__PURE__ */ e("h3", { className: "fm-pricecard__title", children: i }),
682
+ s && /* @__PURE__ */ e("p", { className: "fm-pricecard__desc", children: s })
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" }) }), _e = ({
692
+ title: a = "Базовий",
693
+ amount: i = "₴0",
694
+ period: s = "/місяць",
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: a }),
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: s })
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" }) }), he = ({ children: a, 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: a })
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: a = "АІ-помічник для кар'єрного розвитку",
721
+ showIcon: i = !0,
722
+ className: s = ""
723
+ }) => /* @__PURE__ */ c("div", { className: `fm-tag-big ${s}`.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: a })
726
+ ] }), pe = ({
727
+ tag: a = "Можливості платформи",
728
+ showTag: i = !0,
729
+ title: s = "Все для твоєї кар'єри",
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: a, showIcon: !1 }),
737
+ /* @__PURE__ */ e("h2", { className: "fm-section-title__heading", children: s })
738
+ ] }),
739
+ l && /* @__PURE__ */ e("p", { className: "fm-section-title__subtitle", children: r })
740
+ ] }) : /* @__PURE__ */ c(_, { children: [
741
+ i && /* @__PURE__ */ e(u, { label: a, showIcon: !1 }),
742
+ /* @__PURE__ */ e("h2", { className: "fm-section-title__heading", children: s }),
743
+ l && /* @__PURE__ */ e("p", { className: "fm-section-title__subtitle", children: r })
744
+ ] }) }), Ne = ({
745
+ title: a = "Привіт!",
746
+ subtitle: i = "Сьогодні чудовий день для кар'єрного зростання.",
747
+ actionLabel: s = "Почати тренування",
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: a }),
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: s })
757
+ ] }), ue = ({
758
+ number: a = 1,
759
+ title: i = "Пройди тестування",
760
+ content: s = "АІ аналізує твої навички, інтерес та досвід",
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: a }) }),
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: s })
768
+ ] })
769
+ ] }), T = () => /* @__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" }) }), ve = ({ tasks: a, className: i = "" }) => /* @__PURE__ */ e("div", { className: `fm-tasks-widget ${i}`.trim(), children: a.map((s, r) => /* @__PURE__ */ c("div", { className: "fm-tasks-widget__row", children: [
770
+ /* @__PURE__ */ e("div", { className: `fm-tasks-widget__checkbox ${s.done ? "fm-tasks-widget__checkbox--done" : ""}`, children: s.done && /* @__PURE__ */ e(T, {}) }),
771
+ /* @__PURE__ */ e("span", { className: `fm-tasks-widget__label ${s.done ? "fm-tasks-widget__label--done" : ""}`, children: s.label }),
772
+ s.time && /* @__PURE__ */ e("span", { className: "fm-tasks-widget__tag", children: s.time })
773
+ ] }, r)) }), ge = ({
774
+ placeholder: a = "Ваша електронна пошта",
775
+ buttonLabel: i = "Почати безкоштовно",
776
+ onSubmit: s,
777
+ className: r = ""
778
+ }) => {
779
+ const [l, t] = v(""), n = (d) => {
780
+ d.preventDefault(), s == null || s(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: a,
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
+ }, ke = ({
796
+ icon: a,
797
+ title: i = "Базовий",
798
+ description: s = "Ідеальний старт для знайомства з платформою та визначення кар'єрного напрямку.",
799
+ variant: r = "default",
800
+ className: l = ""
801
+ }) => /* @__PURE__ */ c("div", { className: `fm-tariffs fm-tariffs--${r} ${l}`.trim(), children: [
802
+ a && /* @__PURE__ */ e("div", { className: "fm-tariffs__icon", children: a }),
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: s })
806
+ ] })
807
+ ] }), be = ({
808
+ label: a = "Творчість та інновації",
809
+ state: i = "default",
810
+ selected: s = !1,
811
+ onClick: r,
812
+ className: l = ""
813
+ }) => {
814
+ const t = i === "active" || s;
815
+ return /* @__PURE__ */ c(
816
+ "div",
817
+ {
818
+ className: [
819
+ "fm-question",
820
+ `fm-question--${i}`,
821
+ t ? "fm-question--selected" : "",
822
+ l
823
+ ].filter(Boolean).join(" "),
824
+ onClick: r,
825
+ role: "button",
826
+ tabIndex: 0,
827
+ onKeyDown: (n) => n.key === "Enter" && (r == null ? void 0 : r()),
828
+ children: [
829
+ /* @__PURE__ */ e("span", { className: "fm-question__label", children: a }),
830
+ /* @__PURE__ */ e("span", { className: `fm-question__radio ${t ? "fm-question__radio--checked" : ""}`, children: t && /* @__PURE__ */ e("span", { className: "fm-question__dot" }) })
831
+ ]
832
+ }
833
+ );
149
834
  };
150
835
  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
836
+ A as Button,
837
+ ie as CalendarWidget,
838
+ z as CardCareer,
839
+ Z as CardTest,
840
+ R as Checkbox,
841
+ Ne as DashboardTitle,
842
+ le as DatePicker,
843
+ ce as Dropdown,
844
+ U as Footer,
845
+ ee as GeneralNewsWidget,
846
+ O as Header,
847
+ N as IconButton,
848
+ E as Input,
849
+ he as ListItem,
850
+ G as NavBar,
851
+ V as NavItem,
852
+ ae as NotesWidget,
853
+ Q as Pagination,
854
+ se as PersonalAdviceWidget,
855
+ Y as PlatformNewsWidget,
856
+ _e as Price,
857
+ fe as PriceCard,
858
+ ue as ProcessStep,
859
+ be as Question,
860
+ ne as RadioButton,
861
+ re as Search,
862
+ pe as SectionTitle,
863
+ K as SegmentedControl,
864
+ ge as SignupForm,
865
+ de as Stepper,
866
+ oe as StepperProgress,
867
+ F as Tag,
868
+ u as TagBig,
869
+ ke as Tariffs,
870
+ ve as TasksWidget,
871
+ me as TestimonialCard,
872
+ te as TimePicker,
873
+ H as Toggle,
874
+ X as WidgetCard,
875
+ J as WidgetHeader
158
876
  };