banhaten 0.1.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 (201) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +361 -0
  3. package/banhaten.config.example.json +13 -0
  4. package/package.json +59 -0
  5. package/registry/assets/activity-feed-avatar.png +0 -0
  6. package/registry/assets/avatars/avatar-01.jpg +0 -0
  7. package/registry/assets/avatars/avatar-02.jpg +0 -0
  8. package/registry/assets/avatars/avatar-03.jpg +0 -0
  9. package/registry/assets/avatars/avatar-04.jpg +0 -0
  10. package/registry/assets/avatars/avatar-05.jpg +0 -0
  11. package/registry/assets/avatars/avatar-06.jpg +0 -0
  12. package/registry/assets/avatars/avatar-07.jpg +0 -0
  13. package/registry/assets/avatars/avatar-08.jpg +0 -0
  14. package/registry/assets/avatars/avatar-09.jpg +0 -0
  15. package/registry/assets/avatars/avatar-10.jpg +0 -0
  16. package/registry/assets/avatars/avatar-11.jpg +0 -0
  17. package/registry/assets/avatars/avatar-12.jpg +0 -0
  18. package/registry/assets/avatars/avatar-13.jpg +0 -0
  19. package/registry/assets/avatars/avatar-14.jpg +0 -0
  20. package/registry/assets/avatars/avatar-15.jpg +0 -0
  21. package/registry/assets/avatars/avatar-16.jpg +0 -0
  22. package/registry/assets/avatars/avatar-17.jpg +0 -0
  23. package/registry/assets/avatars/avatar-18.jpg +0 -0
  24. package/registry/assets/avatars/avatar-19.jpg +0 -0
  25. package/registry/assets/avatars/avatar-20.jpg +0 -0
  26. package/registry/assets/avatars/avatar-21.jpg +0 -0
  27. package/registry/assets/avatars/avatar-22.jpg +0 -0
  28. package/registry/assets/avatars/avatar-23.jpg +0 -0
  29. package/registry/assets/avatars/avatar-24.jpg +0 -0
  30. package/registry/assets/avatars/avatar-25.jpg +0 -0
  31. package/registry/assets/avatars/avatar-26.jpg +0 -0
  32. package/registry/assets/avatars/avatar-27.jpg +0 -0
  33. package/registry/assets/avatars/avatar-28.jpg +0 -0
  34. package/registry/assets/avatars/avatar-29.jpg +0 -0
  35. package/registry/assets/avatars/avatar-30.jpg +0 -0
  36. package/registry/assets/avatars/avatar-31.jpg +0 -0
  37. package/registry/assets/avatars/avatar-32.jpg +0 -0
  38. package/registry/assets/avatars/avatar-33.jpg +0 -0
  39. package/registry/assets/avatars/avatar-34.jpg +0 -0
  40. package/registry/assets/avatars/avatar-35.jpg +0 -0
  41. package/registry/assets/image-assets.json +744 -0
  42. package/registry/assets/images/art-01.jpg +0 -0
  43. package/registry/assets/images/art-02.jpg +0 -0
  44. package/registry/assets/images/art-03.jpg +0 -0
  45. package/registry/assets/images/art-04.jpg +0 -0
  46. package/registry/assets/images/art-05.jpg +0 -0
  47. package/registry/assets/images/art-06.jpg +0 -0
  48. package/registry/assets/images/art-07.jpg +0 -0
  49. package/registry/assets/images/art-08.jpg +0 -0
  50. package/registry/assets/images/art-09.jpg +0 -0
  51. package/registry/assets/images/art-10.jpg +0 -0
  52. package/registry/assets/images/art-11.jpg +0 -0
  53. package/registry/assets/images/art-12.jpg +0 -0
  54. package/registry/assets/images/art-13.jpg +0 -0
  55. package/registry/assets/images/art-14.jpg +0 -0
  56. package/registry/assets/images/art-15.jpg +0 -0
  57. package/registry/assets/images/art-16.jpg +0 -0
  58. package/registry/assets/images/art-17.jpg +0 -0
  59. package/registry/assets/images/art-18.jpg +0 -0
  60. package/registry/assets/images/art-19.jpg +0 -0
  61. package/registry/assets/images/art-20.jpg +0 -0
  62. package/registry/assets/images/art-21.jpg +0 -0
  63. package/registry/assets/images/art-22.jpg +0 -0
  64. package/registry/assets/images/art-23.jpg +0 -0
  65. package/registry/assets/images/art-24.jpg +0 -0
  66. package/registry/assets/images/art-25.jpg +0 -0
  67. package/registry/assets/images/art-26.jpg +0 -0
  68. package/registry/assets/images/art-27.jpg +0 -0
  69. package/registry/assets/images/nature-01.jpg +0 -0
  70. package/registry/assets/images/nature-02.jpg +0 -0
  71. package/registry/assets/images/nature-03.jpg +0 -0
  72. package/registry/assets/images/nature-04.jpg +0 -0
  73. package/registry/assets/images/nature-05.jpg +0 -0
  74. package/registry/assets/images/nature-06.jpg +0 -0
  75. package/registry/assets/images/nature-07.jpg +0 -0
  76. package/registry/assets/images/nature-08.jpg +0 -0
  77. package/registry/assets/images/nature-09.jpg +0 -0
  78. package/registry/assets/images/nature-10.jpg +0 -0
  79. package/registry/assets/images/nature-11.jpg +0 -0
  80. package/registry/assets/images/nature-12.jpg +0 -0
  81. package/registry/assets/images/nature-13.jpg +0 -0
  82. package/registry/assets/images/nature-14.jpg +0 -0
  83. package/registry/assets/images/nature-15.jpg +0 -0
  84. package/registry/assets/images/nature-16.jpg +0 -0
  85. package/registry/assets/images/nature-17.jpg +0 -0
  86. package/registry/assets/images/nature-18.jpg +0 -0
  87. package/registry/assets/images/nature-19.jpg +0 -0
  88. package/registry/assets/images/nature-20.jpg +0 -0
  89. package/registry/components/accordion.tsx +119 -0
  90. package/registry/components/alert.tsx +282 -0
  91. package/registry/components/attribute.tsx +452 -0
  92. package/registry/components/avatar.tsx +142 -0
  93. package/registry/components/badge.tsx +567 -0
  94. package/registry/components/button-group.tsx +246 -0
  95. package/registry/components/button.tsx +102 -0
  96. package/registry/components/card.tsx +613 -0
  97. package/registry/components/checkbox.tsx +244 -0
  98. package/registry/components/date-picker.tsx +1143 -0
  99. package/registry/components/divider.tsx +82 -0
  100. package/registry/components/expanded/ActivityFeed.tsx +226 -0
  101. package/registry/components/expanded/Banner.tsx +145 -0
  102. package/registry/components/expanded/BannerBoard.tsx +225 -0
  103. package/registry/components/expanded/Breadcrumbs.tsx +156 -0
  104. package/registry/components/expanded/CatalogComponentsShowcase.tsx +211 -0
  105. package/registry/components/expanded/CatalogDivider.tsx +48 -0
  106. package/registry/components/expanded/CatalogTag.tsx +92 -0
  107. package/registry/components/expanded/CommandBar.tsx +406 -0
  108. package/registry/components/expanded/FileUpload.tsx +231 -0
  109. package/registry/components/expanded/IconExplorer.tsx +612 -0
  110. package/registry/components/expanded/OnboardingStepListItem.tsx +67 -0
  111. package/registry/components/expanded/PageHeader.tsx +184 -0
  112. package/registry/components/expanded/Slideout.tsx +514 -0
  113. package/registry/components/expanded/Steps.tsx +266 -0
  114. package/registry/components/expanded/Table.tsx +1014 -0
  115. package/registry/components/expanded/Tabs.tsx +86 -0
  116. package/registry/components/expanded/Timeline.tsx +235 -0
  117. package/registry/components/expanded/TimelineShowcase.tsx +158 -0
  118. package/registry/components/expanded/activityFeed.css +292 -0
  119. package/registry/components/expanded/banner.css +312 -0
  120. package/registry/components/expanded/breadcrumbs.css +140 -0
  121. package/registry/components/expanded/catalogComponentsShowcase.css +87 -0
  122. package/registry/components/expanded/commandBar.css +473 -0
  123. package/registry/components/expanded/divider.css +75 -0
  124. package/registry/components/expanded/fileUpload.css +228 -0
  125. package/registry/components/expanded/iconExplorer.css +764 -0
  126. package/registry/components/expanded/iconPacks.ts +866 -0
  127. package/registry/components/expanded/onboardingStepListItem.css +126 -0
  128. package/registry/components/expanded/pageHeader.css +287 -0
  129. package/registry/components/expanded/slideout.css +955 -0
  130. package/registry/components/expanded/steps.css +329 -0
  131. package/registry/components/expanded/table.css +607 -0
  132. package/registry/components/expanded/tabs.css +197 -0
  133. package/registry/components/expanded/tag.css +148 -0
  134. package/registry/components/expanded/timeline.css +282 -0
  135. package/registry/components/input-content.ts +106 -0
  136. package/registry/components/input.tsx +866 -0
  137. package/registry/components/menu.tsx +758 -0
  138. package/registry/components/modal.tsx +799 -0
  139. package/registry/components/pagination.tsx +543 -0
  140. package/registry/components/progress-slider.tsx +216 -0
  141. package/registry/components/progress.tsx +367 -0
  142. package/registry/components/radio-card.tsx +654 -0
  143. package/registry/components/radio-group.tsx +570 -0
  144. package/registry/components/select-content.tsx +313 -0
  145. package/registry/components/select.tsx +871 -0
  146. package/registry/components/slider.tsx +380 -0
  147. package/registry/components/social-button.tsx +360 -0
  148. package/registry/components/spinner.tsx +31 -0
  149. package/registry/components/tag.tsx +423 -0
  150. package/registry/components/textarea.tsx +625 -0
  151. package/registry/components/toggle.tsx +272 -0
  152. package/registry/components/toolbar.tsx +467 -0
  153. package/registry/components/tooltip.tsx +427 -0
  154. package/registry/examples/accordion-demo.tsx +34 -0
  155. package/registry/examples/alert-demo.tsx +14 -0
  156. package/registry/examples/attribute-demo.tsx +65 -0
  157. package/registry/examples/avatar-demo.tsx +74 -0
  158. package/registry/examples/badge-demo.tsx +53 -0
  159. package/registry/examples/button-demo.tsx +83 -0
  160. package/registry/examples/button-group-demo.tsx +42 -0
  161. package/registry/examples/card-demo.tsx +48 -0
  162. package/registry/examples/checkbox-demo.tsx +67 -0
  163. package/registry/examples/date-picker-demo.tsx +74 -0
  164. package/registry/examples/divider-demo.tsx +17 -0
  165. package/registry/examples/expanded/activity-feed-demo.tsx +22 -0
  166. package/registry/examples/expanded/banner-demo.tsx +23 -0
  167. package/registry/examples/expanded/catalog-components-demo.tsx +5 -0
  168. package/registry/examples/expanded/command-bar-demo.tsx +10 -0
  169. package/registry/examples/expanded/icons-demo.tsx +5 -0
  170. package/registry/examples/expanded/onboarding-step-demo.tsx +11 -0
  171. package/registry/examples/expanded/page-header-demo.tsx +19 -0
  172. package/registry/examples/expanded/slideout-demo.tsx +15 -0
  173. package/registry/examples/expanded/steps-demo.tsx +18 -0
  174. package/registry/examples/expanded/tabs-demo.tsx +13 -0
  175. package/registry/examples/expanded/timeline-demo.tsx +18 -0
  176. package/registry/examples/input-demo.tsx +87 -0
  177. package/registry/examples/menu-demo.tsx +109 -0
  178. package/registry/examples/modal-demo.tsx +16 -0
  179. package/registry/examples/pagination-demo.tsx +17 -0
  180. package/registry/examples/progress-demo.tsx +37 -0
  181. package/registry/examples/progress-slider-demo.tsx +29 -0
  182. package/registry/examples/radio-card-demo.tsx +51 -0
  183. package/registry/examples/radio-group-demo.tsx +62 -0
  184. package/registry/examples/select-demo.tsx +73 -0
  185. package/registry/examples/slider-demo.tsx +31 -0
  186. package/registry/examples/social-button-demo.tsx +51 -0
  187. package/registry/examples/tag-demo.tsx +29 -0
  188. package/registry/examples/textarea-demo.tsx +79 -0
  189. package/registry/examples/toggle-demo.tsx +59 -0
  190. package/registry/examples/toolbar-demo.tsx +80 -0
  191. package/registry/examples/tooltip-demo.tsx +115 -0
  192. package/registry/hooks/use-direction.ts +27 -0
  193. package/registry/index.json +1213 -0
  194. package/registry/styles/globals.css +4600 -0
  195. package/registry/utils/cn.ts +6 -0
  196. package/src/cli/index.js +826 -0
  197. package/tokens/Color mode.zip +0 -0
  198. package/tokens/Numbers.zip +0 -0
  199. package/tokens/Radius.zip +0 -0
  200. package/tokens/Theme.zip +0 -0
  201. package/tokens/banhaten.tokens.json +5525 -0
@@ -0,0 +1,313 @@
1
+ import * as React from "react"
2
+ import { cva, type VariantProps } from "class-variance-authority"
3
+
4
+ import { cn } from "@/lib/utils"
5
+
6
+ type SelectItemType =
7
+ | "default"
8
+ | "icon"
9
+ | "avatar"
10
+ | "flag"
11
+ | "company"
12
+ | "payment"
13
+ | "dot"
14
+ type SelectStatusTone =
15
+ | "success"
16
+ | "warning"
17
+ | "danger"
18
+ | "info"
19
+ | "brand"
20
+ | "neutral"
21
+ type SelectIconName =
22
+ | "check-fill"
23
+ | "check-line"
24
+ | "chevron-down"
25
+ | "error"
26
+ | "info"
27
+ | "plus"
28
+ | "user"
29
+
30
+ const selectStatusDot = cva(
31
+ "block size-[var(--bh-select-status-dot-size)] rounded-[var(--bh-radius-full)]",
32
+ {
33
+ variants: {
34
+ tone: {
35
+ success: "bg-[var(--bh-bg-success-default)]",
36
+ warning: "bg-[var(--bh-bg-warning-default)]",
37
+ danger: "bg-[var(--bh-bg-danger-default)]",
38
+ info: "bg-[var(--bh-bg-info-default)]",
39
+ brand: "bg-[var(--bh-bg-brand-default)]",
40
+ neutral: "bg-[var(--bh-bg-neutral-default)]",
41
+ },
42
+ },
43
+ defaultVariants: {
44
+ tone: "success",
45
+ },
46
+ }
47
+ )
48
+
49
+ type SelectItemAvatarProps = React.ComponentProps<"span"> & {
50
+ alt?: string
51
+ fallback?: React.ReactNode
52
+ src?: string
53
+ }
54
+
55
+ function SelectItemAvatar({
56
+ alt = "",
57
+ className,
58
+ fallback,
59
+ src,
60
+ ...props
61
+ }: SelectItemAvatarProps) {
62
+ return (
63
+ <span
64
+ data-slot="select-item-avatar"
65
+ className={cn(
66
+ "relative flex size-[var(--bh-select-icon-slot-size)] shrink-0 items-center justify-center overflow-hidden rounded-[var(--bh-radius-full)] border border-[var(--bh-border-subtle)] bg-[var(--bh-bg-accent-blue-soft)] text-[length:var(--bh-select-avatar-font-size)] font-[var(--bh-font-weight-semibold)] leading-none text-[var(--bh-content-accent-blue-strong)]",
67
+ className
68
+ )}
69
+ {...props}
70
+ >
71
+ {src ? (
72
+ <img alt={alt} className="size-full object-cover" src={src} />
73
+ ) : fallback ? (
74
+ <span aria-hidden={alt ? undefined : "true"}>{fallback}</span>
75
+ ) : null}
76
+ </span>
77
+ )
78
+ }
79
+
80
+ type SelectItemFlagProps = React.ComponentProps<"span"> & {
81
+ alt?: string
82
+ src?: string
83
+ }
84
+
85
+ function SelectItemFlag({
86
+ alt = "",
87
+ className,
88
+ src,
89
+ ...props
90
+ }: SelectItemFlagProps) {
91
+ return (
92
+ <span
93
+ data-slot="select-item-flag"
94
+ className={cn(
95
+ "relative size-[var(--bh-select-icon-slot-size)] shrink-0 overflow-hidden rounded-[var(--bh-radius-full)] bg-[var(--bh-bg-always-white)]",
96
+ className
97
+ )}
98
+ {...props}
99
+ >
100
+ {src ? (
101
+ <img alt={alt} className="size-full object-cover" src={src} />
102
+ ) : (
103
+ <>
104
+ <span className="absolute inset-x-0 top-0 h-1/3 bg-[var(--bh-bg-accent-red-default)]" />
105
+ <span className="absolute inset-x-0 top-1/3 h-1/3 bg-[var(--bh-bg-always-white)]" />
106
+ <span className="absolute inset-x-0 bottom-0 h-1/3 bg-[var(--bh-bg-always-dark)]" />
107
+ <span className="absolute start-1/2 top-1/2 size-[var(--bh-space-xs-4)] -translate-x-1/2 -translate-y-1/2 rounded-[var(--bh-radius-full)] bg-[var(--bh-bg-accent-golden-default)]" />
108
+ </>
109
+ )}
110
+ </span>
111
+ )
112
+ }
113
+
114
+ type SelectItemCompanyLogoProps = React.ComponentProps<"span">
115
+
116
+ function SelectItemCompanyLogo({
117
+ className,
118
+ ...props
119
+ }: SelectItemCompanyLogoProps) {
120
+ return (
121
+ <span
122
+ data-slot="select-item-company"
123
+ className={cn(
124
+ "flex size-[var(--bh-select-icon-slot-size)] shrink-0 items-center justify-center rounded-[var(--bh-radius-full)] bg-[var(--bh-bg-accent-purple-soft)] text-[var(--bh-content-accent-purple-default)]",
125
+ className
126
+ )}
127
+ {...props}
128
+ >
129
+ <svg
130
+ aria-hidden="true"
131
+ className="size-[var(--bh-select-company-icon-size)]"
132
+ fill="none"
133
+ focusable="false"
134
+ viewBox="0 0 18 18"
135
+ >
136
+ <path
137
+ d="M3 10.25C5.4 6.75 7.5 6.75 10 9.4C11.6 11.1 13 11 15 8.75"
138
+ stroke="currentColor"
139
+ strokeLinecap="round"
140
+ strokeWidth="2.4"
141
+ />
142
+ <path
143
+ d="M3 7.7C5.3 4.5 7.4 4.5 9.8 7.05C11.4 8.75 13 8.65 15 6.4"
144
+ stroke="currentColor"
145
+ strokeLinecap="round"
146
+ strokeWidth="2.4"
147
+ opacity="var(--bh-opacity-70)"
148
+ />
149
+ </svg>
150
+ </span>
151
+ )
152
+ }
153
+
154
+ type SelectItemPaymentIconProps = React.ComponentProps<"span">
155
+
156
+ function SelectItemPaymentIcon({
157
+ className,
158
+ ...props
159
+ }: SelectItemPaymentIconProps) {
160
+ return (
161
+ <span
162
+ data-slot="select-item-payment"
163
+ className={cn(
164
+ "relative block h-[var(--bh-select-payment-height)] w-[var(--bh-select-payment-width)] shrink-0 rounded-[var(--bh-select-payment-radius)] border border-[var(--bh-border-subtle)] bg-[var(--bh-bg-always-white)]",
165
+ className
166
+ )}
167
+ {...props}
168
+ >
169
+ <span className="absolute start-[var(--bh-select-payment-mark-offset)] top-1/2 size-[var(--bh-select-payment-mark-size)] -translate-y-1/2 rounded-[var(--bh-radius-full)] bg-[var(--bh-bg-accent-red-default)]" />
170
+ <span className="absolute end-[var(--bh-select-payment-mark-offset)] top-1/2 size-[var(--bh-select-payment-mark-size)] -translate-y-1/2 rounded-[var(--bh-radius-full)] bg-[var(--bh-bg-accent-blue-default)] mix-blend-multiply" />
171
+ </span>
172
+ )
173
+ }
174
+
175
+ type SelectItemStatusDotProps = React.ComponentProps<"span"> &
176
+ VariantProps<typeof selectStatusDot>
177
+
178
+ function SelectItemStatusDot({
179
+ className,
180
+ tone,
181
+ ...props
182
+ }: SelectItemStatusDotProps) {
183
+ return (
184
+ <span
185
+ data-slot="select-item-dot-wrap"
186
+ className="flex size-[var(--bh-select-icon-slot-size)] shrink-0 items-center justify-center p-[var(--bh-space-xxxs-1)]"
187
+ {...props}
188
+ >
189
+ <span
190
+ data-slot="select-item-dot"
191
+ className={cn(selectStatusDot({ tone }), className)}
192
+ />
193
+ </span>
194
+ )
195
+ }
196
+
197
+ const defaultSelectItemMedia: Partial<Record<SelectItemType, () => React.ReactNode>> = {
198
+ avatar: () => <SelectItemAvatar />,
199
+ company: () => <SelectItemCompanyLogo />,
200
+ dot: () => <SelectItemStatusDot />,
201
+ flag: () => <SelectItemFlag />,
202
+ icon: () => <SelectIcon name="plus" />,
203
+ payment: () => <SelectItemPaymentIcon />,
204
+ }
205
+
206
+ function getDefaultSelectItemMedia(itemType: SelectItemType) {
207
+ return defaultSelectItemMedia[itemType]?.() ?? null
208
+ }
209
+
210
+ function SelectIcon({
211
+ className,
212
+ name,
213
+ }: {
214
+ className?: string
215
+ name: SelectIconName
216
+ }) {
217
+ const iconClassName = cn("size-[var(--bh-select-icon-size)]", className)
218
+
219
+ if (name === "user") {
220
+ return (
221
+ <svg
222
+ aria-hidden="true"
223
+ className={iconClassName}
224
+ fill="none"
225
+ focusable="false"
226
+ viewBox="0 0 16 16"
227
+ >
228
+ <path
229
+ d="M8 8C5.79 8 4 6.21 4 4S5.79 0 8 0s4 1.79 4 4s-1.79 4-4 4Zm0 1.5c3.31 0 6 1.79 6 4v1H2v-1c0-2.21 2.69-4 6-4Zm0-3A2.5 2.5 0 1 0 8 1a2.5 2.5 0 0 0 0 5.5Zm-4.36 7h8.72C11.8 12.08 10.05 11 8 11s-3.8 1.08-4.36 2.5Z"
230
+ fill="currentColor"
231
+ />
232
+ </svg>
233
+ )
234
+ }
235
+
236
+ if (name === "info" || name === "error") {
237
+ return (
238
+ <svg
239
+ aria-hidden="true"
240
+ className={iconClassName}
241
+ fill="none"
242
+ focusable="false"
243
+ viewBox="0 0 16 16"
244
+ >
245
+ <path
246
+ d="M8 14.667A6.667 6.667 0 1 1 8 1.333a6.667 6.667 0 0 1 0 13.334ZM7.333 9.333v1.334h1.334V9.333H7.333Zm0-4v2.834h1.334V5.333H7.333Z"
247
+ fill="currentColor"
248
+ />
249
+ </svg>
250
+ )
251
+ }
252
+
253
+ if (name === "chevron-down") {
254
+ return (
255
+ <svg
256
+ aria-hidden="true"
257
+ className={iconClassName}
258
+ fill="none"
259
+ focusable="false"
260
+ viewBox="0 0 16 16"
261
+ >
262
+ <path
263
+ d="M8 10.667 3.333 6l.934-.933L8 8.8l3.733-3.733.934.933L8 10.667Z"
264
+ fill="currentColor"
265
+ />
266
+ </svg>
267
+ )
268
+ }
269
+
270
+ if (name === "plus") {
271
+ return (
272
+ <svg
273
+ aria-hidden="true"
274
+ className={iconClassName}
275
+ fill="none"
276
+ focusable="false"
277
+ viewBox="0 0 20 20"
278
+ >
279
+ <path d="M9.167 9.167V4.5h1.666v4.667H15.5v1.666h-4.667V15.5H9.167v-4.667H4.5V9.167h4.667Z" fill="currentColor" />
280
+ </svg>
281
+ )
282
+ }
283
+
284
+ if (name === "check-fill" || name === "check-line") {
285
+ return (
286
+ <svg
287
+ aria-hidden="true"
288
+ className={iconClassName}
289
+ fill="none"
290
+ focusable="false"
291
+ viewBox="0 0 20 20"
292
+ >
293
+ <path
294
+ d="m8.333 12.643 7.66-7.66 1.179 1.178-8.839 8.839-5.303-5.303 1.178-1.179 4.125 4.125Z"
295
+ fill="currentColor"
296
+ />
297
+ </svg>
298
+ )
299
+ }
300
+
301
+ return null
302
+ }
303
+
304
+ export {
305
+ getDefaultSelectItemMedia,
306
+ SelectIcon,
307
+ SelectItemAvatar,
308
+ SelectItemCompanyLogo,
309
+ SelectItemFlag,
310
+ SelectItemPaymentIcon,
311
+ SelectItemStatusDot,
312
+ }
313
+ export type { SelectIconName, SelectItemType, SelectStatusTone }