@tribepad/themis 1.0.1 → 1.0.3

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 (308) hide show
  1. package/dist/elements/Accordion/index.js +1 -335
  2. package/dist/elements/Accordion/index.js.map +1 -1
  3. package/dist/elements/Accordion/index.mjs +1 -317
  4. package/dist/elements/Accordion/index.mjs.map +1 -1
  5. package/dist/elements/AlertDialog/AlertDialog.d.ts +43 -0
  6. package/dist/elements/AlertDialog/AlertDialog.d.ts.map +1 -0
  7. package/dist/elements/AlertDialog/AlertDialog.styles.d.ts +15 -0
  8. package/dist/elements/AlertDialog/AlertDialog.styles.d.ts.map +1 -0
  9. package/dist/elements/AlertDialog/AlertDialog.types.d.ts +72 -0
  10. package/dist/elements/AlertDialog/AlertDialog.types.d.ts.map +1 -0
  11. package/dist/elements/AlertDialog/index.d.ts +25 -0
  12. package/dist/elements/AlertDialog/index.d.ts.map +1 -0
  13. package/dist/elements/AlertDialog/index.js +3 -0
  14. package/dist/elements/AlertDialog/index.js.map +1 -0
  15. package/dist/elements/AlertDialog/index.mjs +3 -0
  16. package/dist/elements/AlertDialog/index.mjs.map +1 -0
  17. package/dist/elements/Avatar/index.js +1 -468
  18. package/dist/elements/Avatar/index.js.map +1 -1
  19. package/dist/elements/Avatar/index.mjs +1 -456
  20. package/dist/elements/Avatar/index.mjs.map +1 -1
  21. package/dist/elements/Badge/index.js +1 -243
  22. package/dist/elements/Badge/index.js.map +1 -1
  23. package/dist/elements/Badge/index.mjs +1 -234
  24. package/dist/elements/Badge/index.mjs.map +1 -1
  25. package/dist/elements/Breadcrumbs/index.js +1 -821
  26. package/dist/elements/Breadcrumbs/index.js.map +1 -1
  27. package/dist/elements/Breadcrumbs/index.mjs +1 -810
  28. package/dist/elements/Breadcrumbs/index.mjs.map +1 -1
  29. package/dist/elements/Button/Button.d.ts +26 -81
  30. package/dist/elements/Button/Button.d.ts.map +1 -1
  31. package/dist/elements/Button/Button.styles.d.ts +35 -0
  32. package/dist/elements/Button/Button.styles.d.ts.map +1 -0
  33. package/dist/elements/Button/Button.types.d.ts +20 -8
  34. package/dist/elements/Button/Button.types.d.ts.map +1 -1
  35. package/dist/elements/Button/index.js +1 -288
  36. package/dist/elements/Button/index.js.map +1 -1
  37. package/dist/elements/Button/index.mjs +1 -283
  38. package/dist/elements/Button/index.mjs.map +1 -1
  39. package/dist/elements/ButtonGroup/index.js +1 -237
  40. package/dist/elements/ButtonGroup/index.js.map +1 -1
  41. package/dist/elements/ButtonGroup/index.mjs +1 -222
  42. package/dist/elements/ButtonGroup/index.mjs.map +1 -1
  43. package/dist/elements/Card/index.js +1 -579
  44. package/dist/elements/Card/index.js.map +1 -1
  45. package/dist/elements/Card/index.mjs +1 -560
  46. package/dist/elements/Card/index.mjs.map +1 -1
  47. package/dist/elements/Carousel/Carousel.d.ts +1 -11
  48. package/dist/elements/Carousel/Carousel.d.ts.map +1 -1
  49. package/dist/elements/Carousel/LazyCarousel.d.ts +1 -1
  50. package/dist/elements/Carousel/LazyCarousel.d.ts.map +1 -1
  51. package/dist/elements/Carousel/index.js +1 -789
  52. package/dist/elements/Carousel/index.js.map +1 -1
  53. package/dist/elements/Carousel/index.mjs +1 -786
  54. package/dist/elements/Carousel/index.mjs.map +1 -1
  55. package/dist/elements/Chart/ChartContext.d.ts.map +1 -1
  56. package/dist/elements/Chart/index.js +1 -1842
  57. package/dist/elements/Chart/index.js.map +1 -1
  58. package/dist/elements/Chart/index.mjs +1 -1832
  59. package/dist/elements/Chart/index.mjs.map +1 -1
  60. package/dist/elements/Checkbox/index.js +1 -316
  61. package/dist/elements/Checkbox/index.js.map +1 -1
  62. package/dist/elements/Checkbox/index.mjs +1 -306
  63. package/dist/elements/Checkbox/index.mjs.map +1 -1
  64. package/dist/elements/CheckboxGroup/index.js +1 -455
  65. package/dist/elements/CheckboxGroup/index.js.map +1 -1
  66. package/dist/elements/CheckboxGroup/index.mjs +1 -439
  67. package/dist/elements/CheckboxGroup/index.mjs.map +1 -1
  68. package/dist/elements/Combobox/Combobox.d.ts +56 -0
  69. package/dist/elements/Combobox/Combobox.d.ts.map +1 -0
  70. package/dist/elements/Combobox/Combobox.styles.d.ts +29 -0
  71. package/dist/elements/Combobox/Combobox.styles.d.ts.map +1 -0
  72. package/dist/elements/Combobox/Combobox.types.d.ts +67 -0
  73. package/dist/elements/Combobox/Combobox.types.d.ts.map +1 -0
  74. package/dist/elements/Combobox/index.d.ts +20 -0
  75. package/dist/elements/Combobox/index.d.ts.map +1 -0
  76. package/dist/elements/Combobox/index.js +3 -0
  77. package/dist/elements/Combobox/index.js.map +1 -0
  78. package/dist/elements/Combobox/index.mjs +3 -0
  79. package/dist/elements/Combobox/index.mjs.map +1 -0
  80. package/dist/elements/DatePicker/DatePicker.d.ts +1 -1
  81. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  82. package/dist/elements/DatePicker/index.js +1 -903
  83. package/dist/elements/DatePicker/index.js.map +1 -1
  84. package/dist/elements/DatePicker/index.mjs +1 -853
  85. package/dist/elements/DatePicker/index.mjs.map +1 -1
  86. package/dist/elements/Dropdown/Dropdown.d.ts +7 -15
  87. package/dist/elements/Dropdown/Dropdown.d.ts.map +1 -1
  88. package/dist/elements/Dropdown/Dropdown.styles.d.ts +22 -0
  89. package/dist/elements/Dropdown/Dropdown.styles.d.ts.map +1 -0
  90. package/dist/elements/Dropdown/index.d.ts +1 -0
  91. package/dist/elements/Dropdown/index.d.ts.map +1 -1
  92. package/dist/elements/Dropdown/index.js +1 -193
  93. package/dist/elements/Dropdown/index.js.map +1 -1
  94. package/dist/elements/Dropdown/index.mjs +1 -184
  95. package/dist/elements/Dropdown/index.mjs.map +1 -1
  96. package/dist/elements/FileField/index.js +1 -1539
  97. package/dist/elements/FileField/index.js.map +1 -1
  98. package/dist/elements/FileField/index.mjs +1 -1507
  99. package/dist/elements/FileField/index.mjs.map +1 -1
  100. package/dist/elements/FormLayout/index.js +1 -170
  101. package/dist/elements/FormLayout/index.js.map +1 -1
  102. package/dist/elements/FormLayout/index.mjs +1 -167
  103. package/dist/elements/FormLayout/index.mjs.map +1 -1
  104. package/dist/elements/Modal/Modal.d.ts +9 -14
  105. package/dist/elements/Modal/Modal.d.ts.map +1 -1
  106. package/dist/elements/Modal/Modal.styles.d.ts +29 -0
  107. package/dist/elements/Modal/Modal.styles.d.ts.map +1 -0
  108. package/dist/elements/Modal/index.d.ts +1 -0
  109. package/dist/elements/Modal/index.d.ts.map +1 -1
  110. package/dist/elements/Modal/index.js +1 -232
  111. package/dist/elements/Modal/index.js.map +1 -1
  112. package/dist/elements/Modal/index.mjs +1 -220
  113. package/dist/elements/Modal/index.mjs.map +1 -1
  114. package/dist/elements/NumberField/NumberField.variants.d.ts +1 -1
  115. package/dist/elements/NumberField/index.js +1 -666
  116. package/dist/elements/NumberField/index.js.map +1 -1
  117. package/dist/elements/NumberField/index.mjs +1 -654
  118. package/dist/elements/NumberField/index.mjs.map +1 -1
  119. package/dist/elements/OTPInput/OTPInput.d.ts.map +1 -1
  120. package/dist/elements/OTPInput/index.js +1 -734
  121. package/dist/elements/OTPInput/index.js.map +1 -1
  122. package/dist/elements/OTPInput/index.mjs +1 -732
  123. package/dist/elements/OTPInput/index.mjs.map +1 -1
  124. package/dist/elements/Pagination/Pagination.d.ts +45 -0
  125. package/dist/elements/Pagination/Pagination.d.ts.map +1 -0
  126. package/dist/elements/Pagination/Pagination.styles.d.ts +10 -0
  127. package/dist/elements/Pagination/Pagination.styles.d.ts.map +1 -0
  128. package/dist/elements/Pagination/Pagination.types.d.ts +55 -0
  129. package/dist/elements/Pagination/Pagination.types.d.ts.map +1 -0
  130. package/dist/elements/Pagination/index.d.ts +21 -0
  131. package/dist/elements/Pagination/index.d.ts.map +1 -0
  132. package/dist/elements/Pagination/index.js +3 -0
  133. package/dist/elements/Pagination/index.js.map +1 -0
  134. package/dist/elements/Pagination/index.mjs +3 -0
  135. package/dist/elements/Pagination/index.mjs.map +1 -0
  136. package/dist/elements/Panel/index.js +1 -330
  137. package/dist/elements/Panel/index.js.map +1 -1
  138. package/dist/elements/Panel/index.mjs +1 -323
  139. package/dist/elements/Panel/index.mjs.map +1 -1
  140. package/dist/elements/PasswordField/PasswordField.d.ts +27 -0
  141. package/dist/elements/PasswordField/PasswordField.d.ts.map +1 -0
  142. package/dist/elements/PasswordField/PasswordField.styles.d.ts +32 -0
  143. package/dist/elements/PasswordField/PasswordField.styles.d.ts.map +1 -0
  144. package/dist/elements/PasswordField/PasswordField.types.d.ts +100 -0
  145. package/dist/elements/PasswordField/PasswordField.types.d.ts.map +1 -0
  146. package/dist/elements/PasswordField/index.css +2 -0
  147. package/dist/elements/PasswordField/index.css.map +1 -0
  148. package/dist/elements/PasswordField/index.d.ts +20 -0
  149. package/dist/elements/PasswordField/index.d.ts.map +1 -0
  150. package/dist/elements/PasswordField/index.js +3 -0
  151. package/dist/elements/PasswordField/index.js.map +1 -0
  152. package/dist/elements/PasswordField/index.mjs +3 -0
  153. package/dist/elements/PasswordField/index.mjs.map +1 -0
  154. package/dist/elements/Progress/index.js +1 -187
  155. package/dist/elements/Progress/index.js.map +1 -1
  156. package/dist/elements/Progress/index.mjs +1 -181
  157. package/dist/elements/Progress/index.mjs.map +1 -1
  158. package/dist/elements/RadioGroup/index.js +1 -369
  159. package/dist/elements/RadioGroup/index.js.map +1 -1
  160. package/dist/elements/RadioGroup/index.mjs +1 -359
  161. package/dist/elements/RadioGroup/index.mjs.map +1 -1
  162. package/dist/elements/Resizable/index.js +1 -1580
  163. package/dist/elements/Resizable/index.js.map +1 -1
  164. package/dist/elements/Resizable/index.mjs +1 -1566
  165. package/dist/elements/Resizable/index.mjs.map +1 -1
  166. package/dist/elements/SearchField/SearchField.d.ts +27 -0
  167. package/dist/elements/SearchField/SearchField.d.ts.map +1 -0
  168. package/dist/elements/SearchField/SearchField.styles.d.ts +32 -0
  169. package/dist/elements/SearchField/SearchField.styles.d.ts.map +1 -0
  170. package/dist/elements/SearchField/SearchField.types.d.ts +45 -0
  171. package/dist/elements/SearchField/SearchField.types.d.ts.map +1 -0
  172. package/dist/elements/SearchField/index.css +2 -0
  173. package/dist/elements/SearchField/index.css.map +1 -0
  174. package/dist/elements/SearchField/index.d.ts +21 -0
  175. package/dist/elements/SearchField/index.d.ts.map +1 -0
  176. package/dist/elements/SearchField/index.js +3 -0
  177. package/dist/elements/SearchField/index.js.map +1 -0
  178. package/dist/elements/SearchField/index.mjs +3 -0
  179. package/dist/elements/SearchField/index.mjs.map +1 -0
  180. package/dist/elements/Select/Select.d.ts +19 -48
  181. package/dist/elements/Select/Select.d.ts.map +1 -1
  182. package/dist/elements/Select/Select.styles.d.ts +55 -0
  183. package/dist/elements/Select/Select.styles.d.ts.map +1 -0
  184. package/dist/elements/Select/index.js +1 -589
  185. package/dist/elements/Select/index.js.map +1 -1
  186. package/dist/elements/Select/index.mjs +1 -582
  187. package/dist/elements/Select/index.mjs.map +1 -1
  188. package/dist/elements/Skeleton/index.js +1 -82
  189. package/dist/elements/Skeleton/index.js.map +1 -1
  190. package/dist/elements/Skeleton/index.mjs +1 -78
  191. package/dist/elements/Skeleton/index.mjs.map +1 -1
  192. package/dist/elements/Switch/index.js +1 -179
  193. package/dist/elements/Switch/index.js.map +1 -1
  194. package/dist/elements/Switch/index.mjs +1 -173
  195. package/dist/elements/Switch/index.mjs.map +1 -1
  196. package/dist/elements/Table/Table.d.ts +3 -24
  197. package/dist/elements/Table/Table.d.ts.map +1 -1
  198. package/dist/elements/Table/Table.styles.d.ts +24 -0
  199. package/dist/elements/Table/Table.styles.d.ts.map +1 -0
  200. package/dist/elements/Table/index.js +1 -595
  201. package/dist/elements/Table/index.js.map +1 -1
  202. package/dist/elements/Table/index.mjs +1 -578
  203. package/dist/elements/Table/index.mjs.map +1 -1
  204. package/dist/elements/Tabs/Tabs.d.ts +5 -3
  205. package/dist/elements/Tabs/Tabs.d.ts.map +1 -1
  206. package/dist/elements/Tabs/Tabs.types.d.ts +15 -0
  207. package/dist/elements/Tabs/Tabs.types.d.ts.map +1 -1
  208. package/dist/elements/Tabs/index.js +1 -337
  209. package/dist/elements/Tabs/index.js.map +1 -1
  210. package/dist/elements/Tabs/index.mjs +1 -320
  211. package/dist/elements/Tabs/index.mjs.map +1 -1
  212. package/dist/elements/TextField/TextField.d.ts +6 -42
  213. package/dist/elements/TextField/TextField.d.ts.map +1 -1
  214. package/dist/elements/TextField/TextField.hooks.d.ts +63 -0
  215. package/dist/elements/TextField/TextField.hooks.d.ts.map +1 -0
  216. package/dist/elements/TextField/TextField.icons.d.ts +19 -0
  217. package/dist/elements/TextField/TextField.icons.d.ts.map +1 -0
  218. package/dist/elements/TextField/TextField.styles.d.ts +37 -0
  219. package/dist/elements/TextField/TextField.styles.d.ts.map +1 -0
  220. package/dist/elements/TextField/TextField.types.d.ts +3 -0
  221. package/dist/elements/TextField/TextField.types.d.ts.map +1 -1
  222. package/dist/elements/TextField/index.css +1 -22
  223. package/dist/elements/TextField/index.css.map +1 -1
  224. package/dist/elements/TextField/index.js +1 -902
  225. package/dist/elements/TextField/index.js.map +1 -1
  226. package/dist/elements/TextField/index.mjs +1 -882
  227. package/dist/elements/TextField/index.mjs.map +1 -1
  228. package/dist/elements/TimeField/index.js +1 -254
  229. package/dist/elements/TimeField/index.js.map +1 -1
  230. package/dist/elements/TimeField/index.mjs +1 -238
  231. package/dist/elements/TimeField/index.mjs.map +1 -1
  232. package/dist/elements/Toast/Toast.d.ts +0 -22
  233. package/dist/elements/Toast/Toast.d.ts.map +1 -1
  234. package/dist/elements/Toast/index.js +1 -737
  235. package/dist/elements/Toast/index.js.map +1 -1
  236. package/dist/elements/Toast/index.mjs +1 -724
  237. package/dist/elements/Toast/index.mjs.map +1 -1
  238. package/dist/elements/Tooltip/index.js +1 -323
  239. package/dist/elements/Tooltip/index.js.map +1 -1
  240. package/dist/elements/Tooltip/index.mjs +1 -310
  241. package/dist/elements/Tooltip/index.mjs.map +1 -1
  242. package/dist/elements/index.css +1 -22
  243. package/dist/elements/index.css.map +1 -1
  244. package/dist/elements/index.d.ts +13 -1
  245. package/dist/elements/index.d.ts.map +1 -1
  246. package/dist/elements/index.js +1 -12455
  247. package/dist/elements/index.js.map +1 -1
  248. package/dist/elements/index.mjs +1 -12233
  249. package/dist/elements/index.mjs.map +1 -1
  250. package/dist/index.css +1 -22
  251. package/dist/index.css.map +1 -1
  252. package/dist/index.js +2 -12490
  253. package/dist/index.js.map +1 -1
  254. package/dist/index.mjs +2 -12262
  255. package/dist/index.mjs.map +1 -1
  256. package/dist/schemas/index.js +2 -54
  257. package/dist/schemas/index.js.map +1 -1
  258. package/dist/schemas/index.mjs +2 -48
  259. package/dist/schemas/index.mjs.map +1 -1
  260. package/dist/styles/defaults.css +151 -0
  261. package/dist/styles/index.js +1 -166
  262. package/dist/styles/index.js.map +1 -1
  263. package/dist/styles/index.mjs +1 -129
  264. package/dist/styles/index.mjs.map +1 -1
  265. package/dist/styles/shared-variants.d.ts +3 -3
  266. package/dist/styles/shared-variants.d.ts.map +1 -1
  267. package/dist/utils/index.js +1 -12
  268. package/dist/utils/index.js.map +1 -1
  269. package/dist/utils/index.mjs +1 -10
  270. package/dist/utils/index.mjs.map +1 -1
  271. package/package.json +9 -7
  272. package/src/elements/Accordion/Accordion.stories.tsx +1 -1
  273. package/src/elements/AlertDialog/AlertDialog.stories.tsx +124 -0
  274. package/src/elements/Avatar/Avatar.stories.tsx +1 -1
  275. package/src/elements/Badge/Badge.stories.tsx +1 -1
  276. package/src/elements/Breadcrumbs/Breadcrumbs.stories.tsx +1 -1
  277. package/src/elements/Button/Button.stories.tsx +1 -1
  278. package/src/elements/ButtonGroup/ButtonGroup.stories.tsx +1 -1
  279. package/src/elements/Card/Card.stories.tsx +1 -1
  280. package/src/elements/Carousel/Carousel.stories.tsx +1 -1
  281. package/src/elements/Chart/Chart.stories.tsx +1 -1
  282. package/src/elements/Checkbox/Checkbox.stories.tsx +1 -1
  283. package/src/elements/CheckboxGroup/CheckboxGroup.stories.tsx +4 -4
  284. package/src/elements/Combobox/Combobox.stories.tsx +133 -0
  285. package/src/elements/DatePicker/DatePicker.stories.tsx +1 -1
  286. package/src/elements/Dropdown/Dropdown.stories.tsx +1 -1
  287. package/src/elements/FileField/FileField.stories.tsx +2 -2
  288. package/src/elements/FileField/FileProgress.stories.tsx +1 -1
  289. package/src/elements/FormLayout/FormLayout.stories.tsx +1 -1
  290. package/src/elements/Modal/Modal.stories.tsx +1 -1
  291. package/src/elements/NumberField/NumberField.stories.tsx +1 -1
  292. package/src/elements/OTPInput/OTPInput.stories.tsx +1 -1
  293. package/src/elements/Pagination/Pagination.stories.tsx +203 -0
  294. package/src/elements/Panel/Panel.stories.tsx +1 -1
  295. package/src/elements/PasswordField/PasswordField.stories.tsx +167 -0
  296. package/src/elements/Progress/Progress.stories.tsx +7 -2
  297. package/src/elements/RadioGroup/RadioGroup.stories.tsx +3 -3
  298. package/src/elements/Resizable/Resizable.stories.tsx +1 -1
  299. package/src/elements/SearchField/SearchField.stories.tsx +146 -0
  300. package/src/elements/Select/Select.stories.tsx +1 -1
  301. package/src/elements/Skeleton/Skeleton.stories.tsx +1 -1
  302. package/src/elements/Switch/Switch.stories.tsx +1 -1
  303. package/src/elements/Table/Table.stories.tsx +1 -1
  304. package/src/elements/Tabs/Tabs.stories.tsx +46 -2
  305. package/src/elements/TextField/TextField.stories.tsx +1 -1
  306. package/src/elements/TimeField/TimeField.stories.tsx +1 -1
  307. package/src/elements/Toast/Toast.stories.tsx +1 -1
  308. package/src/elements/Tooltip/Tooltip.stories.tsx +1 -1
@@ -0,0 +1,146 @@
1
+ /**
2
+ * SearchField Component Stories
3
+ * Storybook stories for SearchField component demonstrating all variants, sizes, and states
4
+ */
5
+
6
+ import type { Meta, StoryObj } from '@storybook/react-vite';
7
+ import { SearchField } from './SearchField';
8
+
9
+ const meta = {
10
+ title: 'Elements/SearchField',
11
+ component: SearchField,
12
+ parameters: {
13
+ layout: 'centered',
14
+ docs: {
15
+ description: {
16
+ component:
17
+ 'A specialized search input with clear button and search icon. Built on React Aria SearchField for WCAG 2.2 AAA compliance.',
18
+ },
19
+ },
20
+ },
21
+ tags: ['autodocs'],
22
+ argTypes: {
23
+ size: {
24
+ control: { type: 'select' },
25
+ options: ['sm', 'default', 'lg'],
26
+ description: 'The size variant of the search field',
27
+ },
28
+ isDisabled: {
29
+ control: 'boolean',
30
+ description: 'Whether the search field is disabled',
31
+ },
32
+ isReadOnly: {
33
+ control: 'boolean',
34
+ description: 'Whether the search field is read-only',
35
+ },
36
+ isRequired: {
37
+ control: 'boolean',
38
+ description: 'Whether the search field is required',
39
+ },
40
+ isIconHidden: {
41
+ control: 'boolean',
42
+ description: 'Whether to hide the search icon',
43
+ },
44
+ },
45
+ } satisfies Meta<typeof SearchField>;
46
+
47
+ export default meta;
48
+ type Story = StoryObj<typeof meta>;
49
+
50
+ export const Default: Story = {
51
+ args: {
52
+ label: 'Search',
53
+ placeholder: 'Search items...',
54
+ },
55
+ };
56
+
57
+ export const WithDefaultValue: Story = {
58
+ args: {
59
+ label: 'Search',
60
+ placeholder: 'Search items...',
61
+ defaultValue: 'React components',
62
+ },
63
+ };
64
+
65
+ export const Small: Story = {
66
+ args: {
67
+ label: 'Search',
68
+ placeholder: 'Search...',
69
+ size: 'sm',
70
+ },
71
+ };
72
+
73
+ export const Large: Story = {
74
+ args: {
75
+ label: 'Search',
76
+ placeholder: 'Search items...',
77
+ size: 'lg',
78
+ },
79
+ };
80
+
81
+ export const WithDescription: Story = {
82
+ args: {
83
+ label: 'Search',
84
+ placeholder: 'Search items...',
85
+ description: 'Press Enter to search, Escape to clear',
86
+ },
87
+ };
88
+
89
+ export const WithError: Story = {
90
+ args: {
91
+ label: 'Search',
92
+ placeholder: 'Search items...',
93
+ errorMessage: 'Search query is too short',
94
+ defaultValue: 'a',
95
+ },
96
+ };
97
+
98
+ export const Disabled: Story = {
99
+ args: {
100
+ label: 'Search',
101
+ placeholder: 'Search items...',
102
+ isDisabled: true,
103
+ },
104
+ };
105
+
106
+ export const ReadOnly: Story = {
107
+ args: {
108
+ label: 'Search',
109
+ placeholder: 'Search items...',
110
+ isReadOnly: true,
111
+ defaultValue: 'Read-only value',
112
+ },
113
+ };
114
+
115
+ export const Required: Story = {
116
+ args: {
117
+ label: 'Search',
118
+ placeholder: 'Required search...',
119
+ isRequired: true,
120
+ },
121
+ };
122
+
123
+ export const NoIcon: Story = {
124
+ args: {
125
+ label: 'Search',
126
+ placeholder: 'Search without icon...',
127
+ isIconHidden: true,
128
+ },
129
+ };
130
+
131
+ export const AriaLabelOnly: Story = {
132
+ args: {
133
+ 'aria-label': 'Search items',
134
+ placeholder: 'Search items...',
135
+ },
136
+ };
137
+
138
+ export const AllSizes: Story = {
139
+ render: () => (
140
+ <div className="flex flex-col gap-4 w-[400px]">
141
+ <SearchField label="Small" size="sm" placeholder="Small search..." />
142
+ <SearchField label="Default" size="default" placeholder="Default search..." />
143
+ <SearchField label="Large" size="lg" placeholder="Large search..." />
144
+ </div>
145
+ ),
146
+ };
@@ -5,7 +5,7 @@
5
5
  * @see plan.md (Implementation Plan)
6
6
  */
7
7
 
8
- import type { Meta, StoryObj } from '@storybook/nextjs';
8
+ import type { Meta, StoryObj } from '@storybook/react-vite';
9
9
  import { useState } from 'react';
10
10
  import { Select, MultiSelect } from './Select';
11
11
 
@@ -6,7 +6,7 @@
6
6
  * @see spec.md FR-009 (WCAG 2.2 AAA - 7:1 contrast ratio)
7
7
  */
8
8
 
9
- import type { Meta, StoryObj } from '@storybook/nextjs';
9
+ import type { Meta, StoryObj } from '@storybook/react-vite';
10
10
  import { Skeleton } from './Skeleton';
11
11
 
12
12
  const meta = {
@@ -6,7 +6,7 @@
6
6
  * @see ShadCN Switch: https://ui.shadcn.com/docs/components/switch
7
7
  */
8
8
 
9
- import type { Meta, StoryObj } from '@storybook/nextjs';
9
+ import type { Meta, StoryObj } from '@storybook/react-vite';
10
10
  import { Switch } from './Switch';
11
11
 
12
12
  const meta = {
@@ -10,7 +10,7 @@
10
10
  */
11
11
 
12
12
  import { useState, type ReactElement } from 'react';
13
- import type { Meta, StoryObj } from '@storybook/nextjs';
13
+ import type { Meta, StoryObj } from '@storybook/react-vite';
14
14
  import {
15
15
  Table,
16
16
  TableHeader,
@@ -5,7 +5,7 @@
5
5
  * @see plan.md (Implementation Plan)
6
6
  */
7
7
 
8
- import type { Meta, StoryObj } from '@storybook/nextjs';
8
+ import type { Meta, StoryObj } from '@storybook/react-vite';
9
9
  import { useState, type Key } from 'react';
10
10
  import { Tabs, TabList, Tab, TabPanel } from './Tabs';
11
11
  import { Settings, User, Bell, Mail, CreditCard, Lock } from 'lucide-react';
@@ -24,6 +24,11 @@ const meta = {
24
24
  },
25
25
  tags: ['autodocs'],
26
26
  argTypes: {
27
+ variant: {
28
+ control: 'select',
29
+ options: ['default', 'block'],
30
+ description: 'Visual variant: underline (default) or block/pill',
31
+ },
27
32
  orientation: {
28
33
  control: 'select',
29
34
  options: ['horizontal', 'vertical'],
@@ -87,6 +92,45 @@ export const Default: Story = {
87
92
  ),
88
93
  };
89
94
 
95
+ /**
96
+ * Block: Pill/card-style variant with accent background
97
+ */
98
+ export const Block: Story = {
99
+ render: () => (
100
+ <Tabs variant="block" defaultSelectedKey="account" className="w-[400px]">
101
+ <TabList aria-label="Account settings">
102
+ <Tab id="account">Account</Tab>
103
+ <Tab id="password">Password</Tab>
104
+ <Tab id="settings">Settings</Tab>
105
+ </TabList>
106
+ <TabPanel id="account">
107
+ <div className="p-4">
108
+ <h3 className="text-lg font-semibold mb-2">Account Information</h3>
109
+ <p className="text-sm text-[var(--muted-foreground)]">
110
+ Manage your account details and preferences.
111
+ </p>
112
+ </div>
113
+ </TabPanel>
114
+ <TabPanel id="password">
115
+ <div className="p-4">
116
+ <h3 className="text-lg font-semibold mb-2">Password Settings</h3>
117
+ <p className="text-sm text-[var(--muted-foreground)]">
118
+ Update your password and security settings.
119
+ </p>
120
+ </div>
121
+ </TabPanel>
122
+ <TabPanel id="settings">
123
+ <div className="p-4">
124
+ <h3 className="text-lg font-semibold mb-2">General Settings</h3>
125
+ <p className="text-sm text-[var(--muted-foreground)]">
126
+ Configure application preferences.
127
+ </p>
128
+ </div>
129
+ </TabPanel>
130
+ </Tabs>
131
+ ),
132
+ };
133
+
90
134
  // ============================================================================
91
135
  // Orientation Stories
92
136
  // ============================================================================
@@ -305,7 +349,7 @@ export const IconsAndBadges: Story = {
305
349
  <Mail className="h-4 w-4" aria-hidden="true" />
306
350
  Messages
307
351
  <span
308
- className="inline-flex items-center justify-center px-2 py-0.5 text-xs font-medium rounded-full bg-[var(--destructive)] text-[var(--destructive-foreground)]"
352
+ className="inline-flex items-center justify-center px-2 py-0.5 text-xs font-medium rounded-full bg-[var(--destructive-background)] text-[var(--destructive-foreground)]"
309
353
  aria-label="5 unread"
310
354
  >
311
355
  5
@@ -5,7 +5,7 @@
5
5
  * @see spec.md FR-009 to FR-014 (Accessibility Requirements - WCAG 2.2 AAA)
6
6
  */
7
7
 
8
- import type { Meta, StoryObj } from '@storybook/nextjs';
8
+ import type { Meta, StoryObj } from '@storybook/react-vite';
9
9
  import { TextField } from './TextField';
10
10
 
11
11
  const meta = {
@@ -6,7 +6,7 @@
6
6
  */
7
7
 
8
8
  import { useState, type FormEventHandler } from 'react';
9
- import type { Meta, StoryObj } from '@storybook/nextjs';
9
+ import type { Meta, StoryObj } from '@storybook/react-vite';
10
10
  import { TimeField, Time } from './index';
11
11
 
12
12
  const meta = {
@@ -7,7 +7,7 @@
7
7
  * @see constitution.md Principle IV (Accessibility First - WCAG 2.2 AAA)
8
8
  */
9
9
 
10
- import type { Meta, StoryObj } from '@storybook/nextjs';
10
+ import type { Meta, StoryObj } from '@storybook/react-vite';
11
11
  import { useEffect, useState, type ReactElement } from 'react';
12
12
  import { Bell, CheckCircle2, AlertTriangle, Info, Download, Trash2 } from 'lucide-react';
13
13
  import { ToastProvider } from './ToastProvider';
@@ -6,7 +6,7 @@
6
6
  * @see plan.md Phase 4 (Documentation)
7
7
  */
8
8
 
9
- import type { Meta, StoryObj } from '@storybook/nextjs';
9
+ import type { Meta, StoryObj } from '@storybook/react-vite';
10
10
  import { Tooltip, TooltipTrigger, TooltipContent, TooltipArrow } from './Tooltip';
11
11
  import { Button } from '../Button';
12
12
  import { Info, HelpCircle, Settings, AlertCircle } from 'lucide-react';