@vkzstudio/muza-ui 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (204) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +52 -2
  2. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  3. package/dist/components/Accordion/Accordion.js +111 -76
  4. package/dist/components/ArticleCard/ArticleCard.d.ts +178 -0
  5. package/dist/components/ArticleCard/ArticleCard.d.ts.map +1 -0
  6. package/dist/components/ArticleCard/ArticleCard.js +542 -0
  7. package/dist/components/ArticleCard/ArticleCard.stories.d.ts +14 -0
  8. package/dist/components/ArticleCard/ArticleCard.stories.d.ts.map +1 -0
  9. package/dist/components/ArticleCard/index.d.ts +2 -0
  10. package/dist/components/ArticleCard/index.d.ts.map +1 -0
  11. package/dist/components/BalanceListView/BalanceListView.examples.d.ts +38 -0
  12. package/dist/components/BalanceListView/BalanceListView.examples.d.ts.map +1 -0
  13. package/dist/components/BalanceListView/BalanceListView.stories.d.ts +8 -0
  14. package/dist/components/BalanceListView/BalanceListView.stories.d.ts.map +1 -0
  15. package/dist/components/ButtonArrow/ButtonArrow.d.ts +3 -3
  16. package/dist/components/ButtonArrow/ButtonArrow.d.ts.map +1 -1
  17. package/dist/components/ButtonArrow/ButtonArrow.js +26 -25
  18. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  19. package/dist/components/Calendar/Calendar.js +5 -5
  20. package/dist/components/Calendar/index.d.ts +1 -2
  21. package/dist/components/Calendar/index.d.ts.map +1 -1
  22. package/dist/components/Carousel/Carousel.d.ts +9 -0
  23. package/dist/components/Carousel/Carousel.d.ts.map +1 -1
  24. package/dist/components/Carousel/Carousel.js +135 -133
  25. package/dist/components/CarouselSection/CarouselSection.examples.d.ts +34 -0
  26. package/dist/components/CarouselSection/CarouselSection.examples.d.ts.map +1 -0
  27. package/dist/components/CarouselSection/CarouselSection.stories.d.ts +8 -0
  28. package/dist/components/CarouselSection/CarouselSection.stories.d.ts.map +1 -0
  29. package/dist/components/CategoryCard/CategoryCard.d.ts +97 -0
  30. package/dist/components/CategoryCard/CategoryCard.d.ts.map +1 -0
  31. package/dist/components/CategoryCard/CategoryCard.js +152 -0
  32. package/dist/components/CategoryCard/CategoryCard.stories.d.ts +14 -0
  33. package/dist/components/CategoryCard/CategoryCard.stories.d.ts.map +1 -0
  34. package/dist/components/CategoryCard/index.d.ts +2 -0
  35. package/dist/components/CategoryCard/index.d.ts.map +1 -0
  36. package/dist/components/CategoryIcon/CategoryIcon.d.ts +45 -0
  37. package/dist/components/CategoryIcon/CategoryIcon.d.ts.map +1 -0
  38. package/dist/components/CategoryIcon/CategoryIcon.js +54 -0
  39. package/dist/components/CategoryIcon/CategoryIcon.stories.d.ts +10 -0
  40. package/dist/components/CategoryIcon/CategoryIcon.stories.d.ts.map +1 -0
  41. package/dist/components/CategoryIcon/index.d.ts +2 -0
  42. package/dist/components/CategoryIcon/index.d.ts.map +1 -0
  43. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
  44. package/dist/components/DatePicker/DatePicker.js +5 -5
  45. package/dist/components/Dialog/Dialog.d.ts +12 -6
  46. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  47. package/dist/components/Dialog/Dialog.js +116 -120
  48. package/dist/components/Dialog/Dialog.stories.d.ts +1 -0
  49. package/dist/components/Dialog/Dialog.stories.d.ts.map +1 -1
  50. package/dist/components/DotDivider/DotDivider.d.ts +35 -0
  51. package/dist/components/DotDivider/DotDivider.d.ts.map +1 -0
  52. package/dist/components/DotDivider/DotDivider.js +31 -0
  53. package/dist/components/DotDivider/DotDivider.stories.d.ts +10 -0
  54. package/dist/components/DotDivider/DotDivider.stories.d.ts.map +1 -0
  55. package/dist/components/DotDivider/index.d.ts +2 -0
  56. package/dist/components/DotDivider/index.d.ts.map +1 -0
  57. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  58. package/dist/components/DropdownMenu/DropdownMenu.js +13 -13
  59. package/dist/components/EdgeButton/EdgeButton.d.ts.map +1 -1
  60. package/dist/components/EdgeButton/EdgeButton.js +10 -11
  61. package/dist/components/EmptyState/EmptyState.js +19 -19
  62. package/dist/components/FileUpload/FileItem.d.ts.map +1 -1
  63. package/dist/components/FileUpload/FileItem.js +8 -9
  64. package/dist/components/FileUpload/FileUpload.js +3 -3
  65. package/dist/components/HeartButton/HeartButton.d.ts +61 -0
  66. package/dist/components/HeartButton/HeartButton.d.ts.map +1 -0
  67. package/dist/components/HeartButton/HeartButton.js +88 -0
  68. package/dist/components/HeartButton/HeartButton.stories.d.ts +10 -0
  69. package/dist/components/HeartButton/HeartButton.stories.d.ts.map +1 -0
  70. package/dist/components/HeartButton/index.d.ts +2 -0
  71. package/dist/components/HeartButton/index.d.ts.map +1 -0
  72. package/dist/components/Icons/CustomBadges.d.ts +20 -0
  73. package/dist/components/Icons/CustomBadges.d.ts.map +1 -1
  74. package/dist/components/Icons/CustomBadges.js +176 -21
  75. package/dist/components/Icons/CustomIcons.d.ts +13 -0
  76. package/dist/components/Icons/CustomIcons.d.ts.map +1 -1
  77. package/dist/components/Icons/CustomIcons.js +50 -30
  78. package/dist/components/Icons/LogosAndBadges.stories.d.ts +2 -1
  79. package/dist/components/Icons/LogosAndBadges.stories.d.ts.map +1 -1
  80. package/dist/components/InputOTP/InputOTP.d.ts +95 -0
  81. package/dist/components/InputOTP/InputOTP.d.ts.map +1 -0
  82. package/dist/components/InputOTP/InputOTP.js +187 -0
  83. package/dist/components/InputOTP/InputOTP.stories.d.ts +18 -0
  84. package/dist/components/InputOTP/InputOTP.stories.d.ts.map +1 -0
  85. package/dist/components/InputOTP/index.d.ts +3 -0
  86. package/dist/components/InputOTP/index.d.ts.map +1 -0
  87. package/dist/components/InputOTP/useWebOtpAutofill.d.ts +33 -0
  88. package/dist/components/InputOTP/useWebOtpAutofill.d.ts.map +1 -0
  89. package/dist/components/InputOTP/useWebOtpAutofill.js +25 -0
  90. package/dist/components/LanguageSwitcher/LanguageSwitcher.d.ts.map +1 -1
  91. package/dist/components/LanguageSwitcher/LanguageSwitcher.js +65 -55
  92. package/dist/components/LoginScreen/LoginScreen.d.ts +10 -1
  93. package/dist/components/LoginScreen/LoginScreen.d.ts.map +1 -1
  94. package/dist/components/LoginScreen/LoginScreen.js +23 -17
  95. package/dist/components/MarketNav/MarketNav.examples.d.ts +60 -0
  96. package/dist/components/MarketNav/MarketNav.examples.d.ts.map +1 -0
  97. package/dist/components/MarketNav/MarketNav.stories.d.ts +9 -0
  98. package/dist/components/MarketNav/MarketNav.stories.d.ts.map +1 -0
  99. package/dist/components/MultiSelect/MultiSelect.js +1 -1
  100. package/dist/components/OfferCard/OfferCard.d.ts +206 -0
  101. package/dist/components/OfferCard/OfferCard.d.ts.map +1 -0
  102. package/dist/components/OfferCard/OfferCard.js +423 -0
  103. package/dist/components/OfferCard/OfferCard.stories.d.ts +15 -0
  104. package/dist/components/OfferCard/OfferCard.stories.d.ts.map +1 -0
  105. package/dist/components/OfferCard/index.d.ts +2 -0
  106. package/dist/components/OfferCard/index.d.ts.map +1 -0
  107. package/dist/components/PageContainer/PageContainer.d.ts +53 -0
  108. package/dist/components/PageContainer/PageContainer.d.ts.map +1 -0
  109. package/dist/components/PageContainer/PageContainer.js +49 -0
  110. package/dist/components/PageContainer/PageContainer.stories.d.ts +14 -0
  111. package/dist/components/PageContainer/PageContainer.stories.d.ts.map +1 -0
  112. package/dist/components/PageContainer/index.d.ts +2 -0
  113. package/dist/components/PageContainer/index.d.ts.map +1 -0
  114. package/dist/components/PartnerCard/PartnerCard.d.ts +234 -0
  115. package/dist/components/PartnerCard/PartnerCard.d.ts.map +1 -0
  116. package/dist/components/PartnerCard/PartnerCard.js +591 -0
  117. package/dist/components/PartnerCard/PartnerCard.stories.d.ts +14 -0
  118. package/dist/components/PartnerCard/PartnerCard.stories.d.ts.map +1 -0
  119. package/dist/components/PartnerCard/index.d.ts +2 -0
  120. package/dist/components/PartnerCard/index.d.ts.map +1 -0
  121. package/dist/components/PaymentMethodSelect/PaymentMethodSelect.examples.d.ts +35 -0
  122. package/dist/components/PaymentMethodSelect/PaymentMethodSelect.examples.d.ts.map +1 -0
  123. package/dist/components/PaymentMethodSelect/PaymentMethodSelect.stories.d.ts +11 -0
  124. package/dist/components/PaymentMethodSelect/PaymentMethodSelect.stories.d.ts.map +1 -0
  125. package/dist/components/Rating/Rating.d.ts +62 -0
  126. package/dist/components/Rating/Rating.d.ts.map +1 -0
  127. package/dist/components/Rating/Rating.js +88 -0
  128. package/dist/components/Rating/Rating.stories.d.ts +12 -0
  129. package/dist/components/Rating/Rating.stories.d.ts.map +1 -0
  130. package/dist/components/Rating/index.d.ts +2 -0
  131. package/dist/components/Rating/index.d.ts.map +1 -0
  132. package/dist/components/RatingBlock/RatingBlock.d.ts +65 -0
  133. package/dist/components/RatingBlock/RatingBlock.d.ts.map +1 -0
  134. package/dist/components/RatingBlock/RatingBlock.js +92 -0
  135. package/dist/components/RatingBlock/RatingBlock.stories.d.ts +12 -0
  136. package/dist/components/RatingBlock/RatingBlock.stories.d.ts.map +1 -0
  137. package/dist/components/RatingBlock/index.d.ts +2 -0
  138. package/dist/components/RatingBlock/index.d.ts.map +1 -0
  139. package/dist/components/ReorderableTable/ReorderableTable.stories.d.ts.map +1 -1
  140. package/dist/components/ResponsiveLayoutTable/ResponsiveLayoutTable.js +5 -5
  141. package/dist/components/SearchFilters/SearchFilters.d.ts +88 -0
  142. package/dist/components/SearchFilters/SearchFilters.d.ts.map +1 -0
  143. package/dist/components/SearchFilters/SearchFilters.js +176 -0
  144. package/dist/components/SearchFilters/SearchFilters.stories.d.ts +12 -0
  145. package/dist/components/SearchFilters/SearchFilters.stories.d.ts.map +1 -0
  146. package/dist/components/SearchFilters/index.d.ts +2 -0
  147. package/dist/components/SearchFilters/index.d.ts.map +1 -0
  148. package/dist/components/SegmentedControl/SegmentedControl.js +11 -11
  149. package/dist/components/Tag/Tag.d.ts.map +1 -1
  150. package/dist/components/Tag/Tag.js +1 -1
  151. package/dist/components/TransactionsListView/TransactionsListView.d.ts +152 -0
  152. package/dist/components/TransactionsListView/TransactionsListView.d.ts.map +1 -0
  153. package/dist/components/TransactionsListView/TransactionsListView.js +367 -0
  154. package/dist/components/TransactionsListView/TransactionsListView.stories.d.ts +12 -0
  155. package/dist/components/TransactionsListView/TransactionsListView.stories.d.ts.map +1 -0
  156. package/dist/components/TransactionsListView/index.d.ts +2 -0
  157. package/dist/components/TransactionsListView/index.d.ts.map +1 -0
  158. package/dist/components/UniversalFooter/UniversalFooter.d.ts +6 -5
  159. package/dist/components/UniversalFooter/UniversalFooter.d.ts.map +1 -1
  160. package/dist/components/UniversalFooter/UniversalFooter.js +186 -177
  161. package/dist/components/UniversalFooter/UniversalFooter.stories.d.ts.map +1 -1
  162. package/dist/components/VoucherCard/VoucherCard.d.ts +105 -0
  163. package/dist/components/VoucherCard/VoucherCard.d.ts.map +1 -0
  164. package/dist/components/VoucherCard/VoucherCard.js +167 -0
  165. package/dist/components/VoucherCard/VoucherCard.stories.d.ts +9 -0
  166. package/dist/components/VoucherCard/VoucherCard.stories.d.ts.map +1 -0
  167. package/dist/components/VoucherCard/index.d.ts +2 -0
  168. package/dist/components/VoucherCard/index.d.ts.map +1 -0
  169. package/dist/components/index.d.ts +14 -0
  170. package/dist/components/index.d.ts.map +1 -1
  171. package/dist/index.js +413 -352
  172. package/dist/muza-ui.css +1 -1
  173. package/dist/styles/primitives.css +5 -0
  174. package/dist/styles/token-colors.css +106 -30
  175. package/dist/styles/token-sizes.css +60 -16
  176. package/dist/translations/index.d.ts +2 -1
  177. package/dist/translations/index.d.ts.map +1 -1
  178. package/dist/translations/locales/cs.d.ts.map +1 -1
  179. package/dist/translations/locales/cs.js +30 -2
  180. package/dist/translations/locales/en.d.ts.map +1 -1
  181. package/dist/translations/locales/en.js +26 -2
  182. package/dist/translations/locales/sk.d.ts.map +1 -1
  183. package/dist/translations/locales/sk.js +30 -2
  184. package/dist/translations/resolvePluralTemplate.d.ts +10 -0
  185. package/dist/translations/resolvePluralTemplate.d.ts.map +1 -0
  186. package/dist/translations/resolvePluralTemplate.js +20 -0
  187. package/dist/translations/types.d.ts +57 -0
  188. package/dist/translations/types.d.ts.map +1 -1
  189. package/dist/utils/cn.d.ts.map +1 -1
  190. package/dist/utils/cn.js +124 -27
  191. package/dist/utils/disabledLinkProps.d.ts +14 -0
  192. package/dist/utils/disabledLinkProps.d.ts.map +1 -0
  193. package/dist/utils/disabledLinkProps.js +9 -0
  194. package/dist/{components/Calendar/utils → utils}/formatDate.d.ts +1 -1
  195. package/dist/utils/formatDate.d.ts.map +1 -0
  196. package/dist/utils/formatDateRange.d.ts.map +1 -0
  197. package/dist/utils/index.d.ts +3 -0
  198. package/dist/utils/index.d.ts.map +1 -1
  199. package/package.json +4 -3
  200. package/dist/components/Calendar/utils/formatDate.d.ts.map +0 -1
  201. package/dist/components/Calendar/utils/formatDateRange.d.ts.map +0 -1
  202. /package/dist/{components/Calendar/utils → utils}/formatDate.js +0 -0
  203. /package/dist/{components/Calendar/utils → utils}/formatDateRange.d.ts +0 -0
  204. /package/dist/{components/Calendar/utils → utils}/formatDateRange.js +0 -0
@@ -0,0 +1,542 @@
1
+ import { jsxs as t, Fragment as T, jsx as e } from "react/jsx-runtime";
2
+ import * as L from "react";
3
+ import { Slot as q } from "@radix-ui/react-slot";
4
+ import { cva as D } from "class-variance-authority";
5
+ import { useMuzaTranslationContext as G } from "../../translations/TranslationContext.js";
6
+ import { formatDate as H } from "../../utils/formatDate.js";
7
+ import { Flex as d } from "../Flex/Flex.js";
8
+ import { disabledLinkProps as J } from "../../utils/disabledLinkProps.js";
9
+ import { Tag as z } from "../Tag/Tag.js";
10
+ import { DotDivider as K } from "../DotDivider/DotDivider.js";
11
+ import { Button as Q } from "../Button/Button.js";
12
+ import { Skeleton as l } from "../Skeleton/Skeleton.js";
13
+ import { Typography as f } from "../Typography/Typography.js";
14
+ import { cn as o } from "../../utils/cn.js";
15
+ import { AltArrowRightOutline as U } from "@solar-icons/react-perf";
16
+ const X = D(
17
+ "group relative inline-flex border border-solid transition-colors focus-visible:outline-none data-[disabled=true]:pointer-events-none",
18
+ {
19
+ variants: {
20
+ variant: {
21
+ compact: "flex-col overflow-hidden rounded-comp-article-card-compact-radius border-comp-article-card-stroke-default bg-comp-article-card-fill-default hover:border-comp-article-card-stroke-hover focus-visible:border-comp-article-card-stroke-focused data-[disabled=true]:border-comp-article-card-stroke-disabled",
22
+ heroLarge: "h-full w-full overflow-hidden rounded-comp-article-card-hero-large-radius border-transparent focus-visible:border-comp-article-card-stroke-focused",
23
+ search: "flex-row gap-comp-article-card-search-gap border-transparent"
24
+ }
25
+ },
26
+ defaultVariants: { variant: "compact" }
27
+ }
28
+ ), Z = D("", {
29
+ variants: {
30
+ variant: {
31
+ compact: "text-text-dark-primary-def group-hover:text-text-brand-hover group-focus-visible:text-text-brand-focused group-data-[disabled=true]:text-text-dark-disabled",
32
+ heroLarge: "text-text-invert-def group-data-[disabled=true]:text-text-dark-disabled",
33
+ search: "text-text-dark-primary-def group-hover:text-text-brand-hover group-focus-visible:text-text-brand-focused group-data-[disabled=true]:text-text-dark-disabled"
34
+ }
35
+ },
36
+ defaultVariants: { variant: "compact" }
37
+ }), _ = D("", {
38
+ variants: {
39
+ variant: {
40
+ compact: "text-text-dark-secondary group-focus-visible:text-text-brand-focused group-data-[disabled=true]:text-text-dark-disabled",
41
+ heroLarge: "text-text-invert-def group-data-[disabled=true]:text-text-dark-disabled",
42
+ search: "text-text-dark-secondary group-focus-visible:text-text-brand-focused group-data-[disabled=true]:text-text-dark-disabled"
43
+ }
44
+ },
45
+ defaultVariants: { variant: "compact" }
46
+ }), ee = (r) => r instanceof Date ? r : new Date(r), u = ({ categories: r, maxNumberOfVisibleTags: a, className: i }) => r.length <= a ? /* @__PURE__ */ e(
47
+ d,
48
+ {
49
+ gap: "xs",
50
+ justify: "start",
51
+ align: "start",
52
+ flex: 1,
53
+ className: o("min-w-0", i),
54
+ children: r.map((c, n) => /* @__PURE__ */ e(
55
+ z,
56
+ {
57
+ variant: "invert",
58
+ className: "min-w-[50px] shrink-1 overflow-hidden",
59
+ children: c
60
+ },
61
+ n
62
+ ))
63
+ }
64
+ ) : /* @__PURE__ */ t(
65
+ d,
66
+ {
67
+ gap: "xs",
68
+ justify: "start",
69
+ align: "start",
70
+ flex: 1,
71
+ className: o("min-w-0", i),
72
+ wrap: "wrap",
73
+ children: [
74
+ r.slice(0, a).map((c, n) => /* @__PURE__ */ e(
75
+ z,
76
+ {
77
+ variant: "invert",
78
+ className: "min-w-[50px] shrink-1 overflow-hidden",
79
+ children: c
80
+ },
81
+ n
82
+ )),
83
+ /* @__PURE__ */ t(z, { variant: "invert", className: "shrink-0", children: [
84
+ r.length - a,
85
+ "+"
86
+ ] }, "more")
87
+ ]
88
+ }
89
+ );
90
+ u.displayName = "ArticleCard.Tags";
91
+ const b = ({
92
+ variant: r,
93
+ dateText: a,
94
+ readingTime: i,
95
+ readingTimeFormatter: c
96
+ }) => {
97
+ const n = _({ variant: r }), m = r === "heroLarge" ? "invert" : "default";
98
+ return /* @__PURE__ */ t(d, { align: "center", gap: "sm", wrap: "wrap", children: [
99
+ /* @__PURE__ */ e(
100
+ f,
101
+ {
102
+ component: "span",
103
+ variant: "body",
104
+ size: "sm",
105
+ weight: "regular",
106
+ fixY: !0,
107
+ className: n,
108
+ children: a
109
+ }
110
+ ),
111
+ i != null && /* @__PURE__ */ t(T, { children: [
112
+ /* @__PURE__ */ e(K, { variant: m }),
113
+ /* @__PURE__ */ e(
114
+ f,
115
+ {
116
+ component: "span",
117
+ variant: "body",
118
+ size: "sm",
119
+ weight: "regular",
120
+ fixY: !0,
121
+ className: n,
122
+ children: c(i)
123
+ }
124
+ )
125
+ ] })
126
+ ] });
127
+ };
128
+ b.displayName = "ArticleCard.Metadata";
129
+ const v = ({ variant: r, label: a }) => {
130
+ const i = r === "heroLarge";
131
+ return /* @__PURE__ */ e(
132
+ Q,
133
+ {
134
+ asChild: !0,
135
+ variant: i ? "linkInvert" : "link",
136
+ size: "xs",
137
+ icon: /* @__PURE__ */ e(U, {}),
138
+ iconPosition: "end",
139
+ className: o(
140
+ "self-start",
141
+ i ? "group-hover:text-comp-button-link-invert-text-hover group-data-[disabled=true]:text-comp-button-link-invert-text-disabled" : "group-hover:text-comp-button-link-text-hover group-focus-visible:text-comp-button-link-text-focused group-data-[disabled=true]:text-comp-button-link-text-disabled"
142
+ ),
143
+ children: /* @__PURE__ */ e("span", { children: a })
144
+ }
145
+ );
146
+ };
147
+ v.displayName = "ArticleCard.Cta";
148
+ const F = ({
149
+ variant: r = "compact",
150
+ color: a = "default",
151
+ className: i,
152
+ ...c
153
+ }) => r === "compact" ? /* @__PURE__ */ t(
154
+ "div",
155
+ {
156
+ className: o(
157
+ "inline-flex flex-col overflow-hidden rounded-comp-article-card-compact-radius border border-solid border-comp-article-card-stroke-default bg-comp-article-card-fill-default",
158
+ i
159
+ ),
160
+ ...c,
161
+ children: [
162
+ /* @__PURE__ */ t("div", { className: "relative aspect-[288/162] w-full shrink-0 overflow-hidden", children: [
163
+ /* @__PURE__ */ e(
164
+ l,
165
+ {
166
+ color: a,
167
+ className: "absolute inset-0 size-full rounded-none"
168
+ }
169
+ ),
170
+ /* @__PURE__ */ e("div", { className: "absolute top-comp-article-card-compact-p-img right-comp-article-card-compact-p-img left-comp-article-card-compact-p-img", children: /* @__PURE__ */ t(d, { gap: "xs", justify: "start", align: "start", children: [
171
+ /* @__PURE__ */ e(
172
+ l,
173
+ {
174
+ color: a,
175
+ className: "h-comp-tag-h-def w-16 rounded-full"
176
+ }
177
+ ),
178
+ /* @__PURE__ */ e(
179
+ l,
180
+ {
181
+ color: a,
182
+ className: "h-comp-tag-h-def w-20 rounded-full"
183
+ }
184
+ )
185
+ ] }) })
186
+ ] }),
187
+ /* @__PURE__ */ t(
188
+ d,
189
+ {
190
+ direction: "column",
191
+ flex: 1,
192
+ justify: "between",
193
+ className: "gap-comp-article-card-compact-gap px-comp-article-card-compact-p-hor py-comp-article-card-compact-p-ver",
194
+ children: [
195
+ /* @__PURE__ */ t(d, { direction: "column", gap: "2xs", children: [
196
+ /* @__PURE__ */ e(l, { color: a, className: "h-5 w-full" }),
197
+ /* @__PURE__ */ e(l, { color: a, className: "h-5 w-3/4" }),
198
+ /* @__PURE__ */ e(l, { color: a, className: "mt-2xs h-4 w-32" })
199
+ ] }),
200
+ /* @__PURE__ */ e(l, { color: a, className: "h-4 w-24 self-start" })
201
+ ]
202
+ }
203
+ )
204
+ ]
205
+ }
206
+ ) : r === "heroLarge" ? /* @__PURE__ */ e(
207
+ "div",
208
+ {
209
+ className: o(
210
+ "relative h-full w-full overflow-hidden rounded-comp-article-card-hero-large-radius",
211
+ i
212
+ ),
213
+ ...c,
214
+ children: /* @__PURE__ */ e(
215
+ l,
216
+ {
217
+ color: a,
218
+ className: "absolute inset-0 size-full rounded-none"
219
+ }
220
+ )
221
+ }
222
+ ) : /* @__PURE__ */ t(
223
+ "div",
224
+ {
225
+ className: o(
226
+ "inline-flex flex-row gap-comp-article-card-search-gap",
227
+ i
228
+ ),
229
+ ...c,
230
+ children: [
231
+ /* @__PURE__ */ t("div", { className: "relative h-comp-article-card-search-h-img w-comp-article-card-search-w-img shrink-0 overflow-hidden rounded-comp-article-card-search-radius-img", children: [
232
+ /* @__PURE__ */ e(
233
+ l,
234
+ {
235
+ color: a,
236
+ className: "absolute inset-0 size-full rounded-none"
237
+ }
238
+ ),
239
+ /* @__PURE__ */ e("div", { className: "absolute top-comp-article-card-search-p-img right-comp-article-card-search-p-img left-comp-article-card-search-p-img", children: /* @__PURE__ */ t(d, { gap: "xs", justify: "start", align: "start", children: [
240
+ /* @__PURE__ */ e(
241
+ l,
242
+ {
243
+ color: a,
244
+ className: "h-comp-tag-h-def w-16 rounded-full"
245
+ }
246
+ ),
247
+ /* @__PURE__ */ e(
248
+ l,
249
+ {
250
+ color: a,
251
+ className: "h-comp-tag-h-def w-20 rounded-full"
252
+ }
253
+ )
254
+ ] }) })
255
+ ] }),
256
+ /* @__PURE__ */ t(
257
+ d,
258
+ {
259
+ direction: "column",
260
+ flex: 1,
261
+ justify: "between",
262
+ className: "min-w-0 gap-comp-article-card-search-gap-text pt-comp-article-card-search-p-top-text",
263
+ children: [
264
+ /* @__PURE__ */ t(d, { direction: "column", gap: "xs", children: [
265
+ /* @__PURE__ */ e(l, { color: a, className: "h-5 w-full" }),
266
+ /* @__PURE__ */ e(l, { color: a, className: "h-5 w-2/3" }),
267
+ /* @__PURE__ */ e(l, { color: a, className: "mt-xs h-4 w-32" })
268
+ ] }),
269
+ /* @__PURE__ */ e(l, { color: a, className: "h-4 w-24 self-start" })
270
+ ]
271
+ }
272
+ )
273
+ ]
274
+ }
275
+ );
276
+ F.displayName = "ArticleCard.Skeleton";
277
+ const x = ({
278
+ image: r,
279
+ alt: a,
280
+ wrapperClassName: i,
281
+ children: c
282
+ }) => /* @__PURE__ */ t("div", { className: i, children: [
283
+ /* @__PURE__ */ e(
284
+ "div",
285
+ {
286
+ className: o(
287
+ "absolute inset-0 overflow-hidden",
288
+ "[&>img]:size-full [&>img]:object-cover",
289
+ "transition-transform duration-300 ease-out group-hover:scale-110",
290
+ "group-data-[disabled=true]:opacity-50",
291
+ "group-data-[disabled=true]:grayscale",
292
+ "group-data-[disabled=true]:group-hover:scale-100"
293
+ ),
294
+ children: typeof r == "string" ? /* @__PURE__ */ e("img", { src: r, alt: a }) : r
295
+ }
296
+ ),
297
+ c
298
+ ] });
299
+ x.displayName = "ArticleCard.ImageSlot";
300
+ const R = L.forwardRef(
301
+ (r, a) => {
302
+ const {
303
+ name: i,
304
+ image: c,
305
+ imageAlt: n,
306
+ categories: m = [],
307
+ maxNumberOfVisibleTags: w = 2,
308
+ publicationDate: E,
309
+ readingTime: N,
310
+ formatDate: P,
311
+ readArticleLabel: Y,
312
+ readingTimeLabel: B,
313
+ variant: s = "compact",
314
+ disabled: p = !1,
315
+ asChild: O = !1,
316
+ href: W,
317
+ className: $,
318
+ children: S,
319
+ ...V
320
+ } = r, { translations: I } = G(), k = Y ?? I.articleCard.readArticle, y = B ?? I.articleCard.readingTime, C = (P ?? H)(ee(E)), g = m.length > 0, A = Z({ variant: s }), j = n ?? (s === "heroLarge" ? "" : i);
321
+ let h = null;
322
+ s === "compact" ? h = /* @__PURE__ */ t(T, { children: [
323
+ /* @__PURE__ */ t(
324
+ x,
325
+ {
326
+ image: c,
327
+ alt: j,
328
+ wrapperClassName: "relative aspect-[288/162] w-full shrink-0 overflow-hidden",
329
+ children: [
330
+ /* @__PURE__ */ e(
331
+ "div",
332
+ {
333
+ "aria-hidden": "true",
334
+ className: "absolute inset-0 bg-gradient-to-t from-black/0 from-50% to-black/70"
335
+ }
336
+ ),
337
+ g && /* @__PURE__ */ e("div", { className: "absolute top-comp-article-card-compact-p-img right-comp-article-card-compact-p-img left-comp-article-card-compact-p-img", children: /* @__PURE__ */ e(
338
+ u,
339
+ {
340
+ categories: m,
341
+ maxNumberOfVisibleTags: w
342
+ }
343
+ ) })
344
+ ]
345
+ }
346
+ ),
347
+ /* @__PURE__ */ t(
348
+ d,
349
+ {
350
+ direction: "column",
351
+ flex: 1,
352
+ justify: "between",
353
+ className: "gap-comp-article-card-compact-gap px-comp-article-card-compact-p-hor py-comp-article-card-compact-p-ver",
354
+ children: [
355
+ /* @__PURE__ */ t(d, { direction: "column", gap: "2xs", children: [
356
+ /* @__PURE__ */ e(
357
+ f,
358
+ {
359
+ component: "h3",
360
+ variant: "title",
361
+ size: "base",
362
+ weight: "medium",
363
+ className: o("line-clamp-2", A),
364
+ children: i
365
+ }
366
+ ),
367
+ /* @__PURE__ */ e(
368
+ b,
369
+ {
370
+ variant: s,
371
+ dateText: C,
372
+ readingTime: N,
373
+ readingTimeFormatter: y
374
+ }
375
+ )
376
+ ] }),
377
+ /* @__PURE__ */ e(v, { variant: s, label: k })
378
+ ]
379
+ }
380
+ )
381
+ ] }) : s === "heroLarge" ? h = /* @__PURE__ */ t(
382
+ x,
383
+ {
384
+ image: c,
385
+ alt: j,
386
+ wrapperClassName: o(
387
+ "absolute inset-0 flex flex-col gap-lg overflow-hidden rounded-comp-article-card-hero-large-radius px-comp-article-card-hero-large-p pt-comp-article-card-hero-large-p pb-comp-article-card-hero-large-p-bottom",
388
+ g ? "justify-between" : "justify-end"
389
+ ),
390
+ children: [
391
+ /* @__PURE__ */ e("div", { className: "absolute inset-0 bg-gradient-to-tr from-black/50 from-22% to-black/0 to-90%" }),
392
+ g && /* @__PURE__ */ e("div", { className: "relative", children: /* @__PURE__ */ e(
393
+ u,
394
+ {
395
+ categories: m,
396
+ maxNumberOfVisibleTags: w
397
+ }
398
+ ) }),
399
+ /* @__PURE__ */ t(
400
+ d,
401
+ {
402
+ direction: "column",
403
+ gap: "lg",
404
+ className: "relative max-w-comp-article-card-hero-large-text-max-w",
405
+ children: [
406
+ /* @__PURE__ */ t(d, { direction: "column", gap: "sm", children: [
407
+ /* @__PURE__ */ e(
408
+ f,
409
+ {
410
+ component: "h3",
411
+ variant: "title",
412
+ size: "md",
413
+ weight: "medium",
414
+ className: o("line-clamp-2", A),
415
+ children: i
416
+ }
417
+ ),
418
+ /* @__PURE__ */ e(
419
+ b,
420
+ {
421
+ variant: s,
422
+ dateText: C,
423
+ readingTime: N,
424
+ readingTimeFormatter: y
425
+ }
426
+ )
427
+ ] }),
428
+ /* @__PURE__ */ e(v, { variant: s, label: k })
429
+ ]
430
+ }
431
+ )
432
+ ]
433
+ }
434
+ ) : h = /* @__PURE__ */ t(T, { children: [
435
+ /* @__PURE__ */ t(
436
+ x,
437
+ {
438
+ image: c,
439
+ alt: j,
440
+ wrapperClassName: "relative shrink-0 overflow-hidden rounded-comp-article-card-search-radius-img h-comp-article-card-search-h-img w-comp-article-card-search-w-img",
441
+ children: [
442
+ /* @__PURE__ */ e(
443
+ "div",
444
+ {
445
+ "aria-hidden": "true",
446
+ className: "absolute inset-0 bg-gradient-to-b from-black/50 to-black/0 to-50%"
447
+ }
448
+ ),
449
+ g && /* @__PURE__ */ t("div", { className: "absolute top-comp-article-card-search-p-img right-comp-article-card-search-p-img left-comp-article-card-search-p-img", children: [
450
+ /* @__PURE__ */ e(
451
+ u,
452
+ {
453
+ categories: m,
454
+ maxNumberOfVisibleTags: 1,
455
+ className: "md:hidden"
456
+ }
457
+ ),
458
+ /* @__PURE__ */ e(
459
+ u,
460
+ {
461
+ categories: m,
462
+ maxNumberOfVisibleTags: w,
463
+ className: "hidden md:flex"
464
+ }
465
+ )
466
+ ] })
467
+ ]
468
+ }
469
+ ),
470
+ /* @__PURE__ */ t(
471
+ d,
472
+ {
473
+ direction: "column",
474
+ flex: 1,
475
+ justify: "between",
476
+ className: "min-w-0 gap-comp-article-card-search-gap-text pt-comp-article-card-search-p-top-text",
477
+ children: [
478
+ /* @__PURE__ */ t(d, { direction: "column", gap: "xs", children: [
479
+ /* @__PURE__ */ e(
480
+ f,
481
+ {
482
+ component: "h3",
483
+ variant: "title",
484
+ size: "base",
485
+ weight: "medium",
486
+ className: o("line-clamp-2", A),
487
+ children: i
488
+ }
489
+ ),
490
+ /* @__PURE__ */ e(
491
+ b,
492
+ {
493
+ variant: s,
494
+ dateText: C,
495
+ readingTime: N,
496
+ readingTimeFormatter: y
497
+ }
498
+ )
499
+ ] }),
500
+ /* @__PURE__ */ e(v, { variant: s, label: k })
501
+ ]
502
+ }
503
+ )
504
+ ] });
505
+ const M = o(X({ variant: s }), $);
506
+ return O && L.isValidElement(S) ? /* @__PURE__ */ e(
507
+ q,
508
+ {
509
+ ref: a,
510
+ className: M,
511
+ "data-disabled": p || void 0,
512
+ "aria-disabled": p || void 0,
513
+ ...V,
514
+ children: L.cloneElement(
515
+ S,
516
+ p ? J : void 0,
517
+ h
518
+ )
519
+ }
520
+ ) : /* @__PURE__ */ e(
521
+ "a",
522
+ {
523
+ ref: a,
524
+ href: p ? void 0 : W,
525
+ className: M,
526
+ "data-disabled": p || void 0,
527
+ "aria-disabled": p || void 0,
528
+ ...V,
529
+ children: h
530
+ }
531
+ );
532
+ }
533
+ );
534
+ R.displayName = "ArticleCard";
535
+ const ae = R;
536
+ ae.Skeleton = F;
537
+ export {
538
+ ae as ArticleCard,
539
+ _ as articleCardMetaVariants,
540
+ Z as articleCardTitleVariants,
541
+ X as articleCardVariants
542
+ };
@@ -0,0 +1,14 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { ArticleCard } from './ArticleCard';
3
+ declare const meta: Meta<typeof ArticleCard>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof ArticleCard>;
6
+ export declare const Compact: Story;
7
+ export declare const CompactSkeleton: Story;
8
+ export declare const HeroLarge: Story;
9
+ export declare const HeroLargeSkeleton: Story;
10
+ export declare const Search: Story;
11
+ export declare const SearchSkeleton: Story;
12
+ export declare const AsChildLink: Story;
13
+ export declare const CustomImageElement: Story;
14
+ //# sourceMappingURL=ArticleCard.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ArticleCard.stories.d.ts","sourceRoot":"","sources":["../../../src/components/ArticleCard/ArticleCard.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAK3D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AA6N3C,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,WAAW,CA0ClC,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,WAAW,CAAC,CAAA;AAEzC,eAAO,MAAM,OAAO,EAAE,KAwBrB,CAAA;AAED,eAAO,MAAM,eAAe,EAAE,KAiB7B,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,KA4BvB,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAwB/B,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAyBpB,CAAA;AAED,eAAO,MAAM,cAAc,EAAE,KAqB5B,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAyBzB,CAAA;AAED,eAAO,MAAM,kBAAkB,EAAE,KAsBhC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './ArticleCard';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ArticleCard/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAA"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Visual state of a single balance row, driving its title/subtitle/amount
3
+ * colours and the locked-row lock icon.
4
+ */
5
+ export type BalanceState = 'default' | 'expiring' | 'warning' | 'disabled' | 'locked';
6
+ /** A single benefit-balance row — a left title + subtitle and a right amount + note. */
7
+ export interface BalanceItem {
8
+ /** Benefit name, e.g. "Dentální hygiena". */
9
+ title: string;
10
+ /** Expiry / status line under the title. */
11
+ subtitle?: string;
12
+ /** Pre-formatted amount, e.g. "2 500 Kč". */
13
+ amount: string;
14
+ /** Secondary note under the amount. */
15
+ note?: string;
16
+ /** Visual state of the row. @default 'default' */
17
+ state?: BalanceState;
18
+ }
19
+ /** Props for the BalanceListView example. */
20
+ export interface BalanceListViewProps {
21
+ /** Rows to render. */
22
+ items: BalanceItem[];
23
+ /** Extra classes merged onto the list container. */
24
+ className?: string;
25
+ }
26
+ export declare const BalanceListView: {
27
+ ({ items, className }: BalanceListViewProps): import("react/jsx-runtime").JSX.Element;
28
+ Skeleton: ({ rows, className, }: BalanceListViewSkeletonProps) => import("react/jsx-runtime").JSX.Element;
29
+ };
30
+ /** Props for the BalanceListView loading skeleton. */
31
+ export interface BalanceListViewSkeletonProps {
32
+ /** Number of placeholder rows to render. @default 5 */
33
+ rows?: number;
34
+ /** Extra classes merged onto the list container. */
35
+ className?: string;
36
+ }
37
+ export declare const balances: BalanceItem[];
38
+ //# sourceMappingURL=BalanceListView.examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BalanceListView.examples.d.ts","sourceRoot":"","sources":["../../../src/components/BalanceListView/BalanceListView.examples.tsx"],"names":[],"mappings":"AAeA;;;GAGG;AACH,MAAM,MAAM,YAAY,GACpB,SAAS,GACT,UAAU,GACV,SAAS,GACT,UAAU,GACV,QAAQ,CAAA;AAEZ,wFAAwF;AACxF,MAAM,WAAW,WAAW;IAC1B,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAA;IACb,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAA;IACd,uCAAuC;IACvC,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,kDAAkD;IAClD,KAAK,CAAC,EAAE,YAAY,CAAA;CACrB;AAED,6CAA6C;AAC7C,MAAM,WAAW,oBAAoB;IACnC,sBAAsB;IACtB,KAAK,EAAE,WAAW,EAAE,CAAA;IACpB,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA2GD,eAAO,MAAM,eAAe;2BAA0B,oBAAoB;qCAgCvE,4BAA4B;CAnB9B,CAAA;AAQD,sDAAsD;AACtD,MAAM,WAAW,4BAA4B;IAC3C,uDAAuD;IACvD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,oDAAoD;IACpD,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AA0CD,eAAO,MAAM,QAAQ,EAAE,WAAW,EAmCjC,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { Meta, StoryObj } from '@storybook/react-vite';
2
+ import { BalanceListViewProps } from './BalanceListView.examples';
3
+ declare const meta: Meta<BalanceListViewProps>;
4
+ export default meta;
5
+ type Story = StoryObj<BalanceListViewProps>;
6
+ export declare const AllStates: Story;
7
+ export declare const Loading: Story;
8
+ //# sourceMappingURL=BalanceListView.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BalanceListView.stories.d.ts","sourceRoot":"","sources":["../../../src/components/BalanceListView/BalanceListView.stories.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAEL,KAAK,oBAAoB,EAE1B,MAAM,4BAA4B,CAAA;AAGnC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,oBAAoB,CA8BpC,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CAAA;AAE3C,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAA;AAED,eAAO,MAAM,OAAO,EAAE,KAiBrB,CAAA"}
@@ -1,7 +1,7 @@
1
1
  import { VariantProps } from 'class-variance-authority';
2
2
  import * as React from 'react';
3
3
  declare const buttonArrowVariants: (props?: ({
4
- size?: "default" | "sm" | null | undefined;
4
+ size?: "default" | "sm" | "lg" | null | undefined;
5
5
  direction?: "left" | "right" | null | undefined;
6
6
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
7
7
  /**
@@ -12,8 +12,8 @@ declare const buttonArrowVariants: (props?: ({
12
12
  export interface ButtonArrowProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, Omit<VariantProps<typeof buttonArrowVariants>, 'direction' | 'size'> {
13
13
  /** Arrow direction. Controls which icon is rendered. @default 'left' */
14
14
  direction?: 'left' | 'right';
15
- /** Button size. `'default'` = 40px, `'sm'` = 32px. @default 'default' */
16
- size?: 'default' | 'sm';
15
+ /** Button size. `'default'` = 40px, `'sm'` = 32px, `'lg'` = 48px. @default 'default' */
16
+ size?: 'default' | 'sm' | 'lg';
17
17
  }
18
18
  declare const ButtonArrow: React.ForwardRefExoticComponent<ButtonArrowProps & React.RefAttributes<HTMLButtonElement>>;
19
19
  export { ButtonArrow, buttonArrowVariants };
@@ -1 +1 @@
1
- {"version":3,"file":"ButtonArrow.d.ts","sourceRoot":"","sources":["../../../src/components/ButtonArrow/ButtonArrow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,YAAY,EAAO,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,mBAAmB;;;8EAyCxB,CAAA;AAED;;;;GAIG;AACH,MAAM,WAAW,gBACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,IAAI,CAAC,YAAY,CAAC,OAAO,mBAAmB,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IACtE,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5B,yEAAyE;IACzE,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,CAAA;CACxB;AAED,QAAA,MAAM,WAAW,4FAehB,CAAA;AAGD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAA"}
1
+ {"version":3,"file":"ButtonArrow.d.ts","sourceRoot":"","sources":["../../../src/components/ButtonArrow/ButtonArrow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAE,KAAK,YAAY,EAAO,MAAM,0BAA0B,CAAA;AAIjE,QAAA,MAAM,mBAAmB;;;8EA0CxB,CAAA;AAED;;;;GAIG;AACH,MAAM,WAAW,gBACf,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EACnD,IAAI,CAAC,YAAY,CAAC,OAAO,mBAAmB,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC;IACtE,wEAAwE;IACxE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;IAC5B,wFAAwF;IACxF,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,CAAA;CAC/B;AAED,QAAA,MAAM,WAAW,4FAehB,CAAA;AAGD,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,CAAA"}