@vkzstudio/muza-ui 1.0.11 → 1.0.13

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 (242) hide show
  1. package/dist/components/Accordion/Accordion.d.ts +57 -4
  2. package/dist/components/Accordion/Accordion.d.ts.map +1 -1
  3. package/dist/components/Accordion/Accordion.js +1 -4
  4. package/dist/components/Accordion/Accordion.stories.d.ts.map +1 -1
  5. package/dist/components/Alert/Alert.d.ts +13 -2
  6. package/dist/components/Alert/Alert.d.ts.map +1 -1
  7. package/dist/components/Alert/Alert.js +4 -4
  8. package/dist/components/Alert/Alert.stories.d.ts.map +1 -1
  9. package/dist/components/Avatar/Avatar.d.ts +12 -1
  10. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  11. package/dist/components/Avatar/Avatar.stories.d.ts.map +1 -1
  12. package/dist/components/Breadcrumb/Breadcrumb.d.ts +23 -8
  13. package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -1
  14. package/dist/components/Breadcrumb/Breadcrumb.js +3 -12
  15. package/dist/components/Button/Button.d.ts +30 -0
  16. package/dist/components/Button/Button.d.ts.map +1 -1
  17. package/dist/components/Button/Button.js +1 -1
  18. package/dist/components/Button/Button.stories.d.ts.map +1 -1
  19. package/dist/components/Calendar/Calendar.d.ts +39 -3
  20. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  21. package/dist/components/Calendar/Calendar.js +1 -1
  22. package/dist/components/Calendar/utils/formatDate.d.ts +4 -0
  23. package/dist/components/Calendar/utils/formatDate.d.ts.map +1 -1
  24. package/dist/components/Calendar/utils/formatDateRange.d.ts +5 -0
  25. package/dist/components/Calendar/utils/formatDateRange.d.ts.map +1 -1
  26. package/dist/components/Checkbox/Checkbox.d.ts +25 -3
  27. package/dist/components/Checkbox/Checkbox.d.ts.map +1 -1
  28. package/dist/components/Checkbox/Checkbox.js +1 -1
  29. package/dist/components/Checkbox/Checkbox.stories.d.ts.map +1 -1
  30. package/dist/components/Chip/Chip.d.ts +3 -6
  31. package/dist/components/Chip/Chip.d.ts.map +1 -1
  32. package/dist/components/Chip/Chip.js +6 -6
  33. package/dist/components/Chip/Chip.stories.d.ts.map +1 -1
  34. package/dist/components/DataTable/DataTable.d.ts +40 -1
  35. package/dist/components/DataTable/DataTable.d.ts.map +1 -1
  36. package/dist/components/DataTable/DataTable.js +1 -1
  37. package/dist/components/DataTable/DataTable.stories.d.ts.map +1 -1
  38. package/dist/components/DataTable/index.d.ts +1 -1
  39. package/dist/components/DataTable/index.d.ts.map +1 -1
  40. package/dist/components/DatePicker/DatePicker.d.ts +59 -4
  41. package/dist/components/DatePicker/DatePicker.d.ts.map +1 -1
  42. package/dist/components/DatePicker/DatePicker.js +7 -7
  43. package/dist/components/DatePicker/DatePicker.stories.d.ts.map +1 -1
  44. package/dist/components/DatePicker/index.d.ts +1 -0
  45. package/dist/components/DatePicker/index.d.ts.map +1 -1
  46. package/dist/components/DatePicker/utils/getDateRange.d.ts +9 -0
  47. package/dist/components/DatePicker/utils/getDateRange.d.ts.map +1 -1
  48. package/dist/components/DatePicker/utils/getDateRange.js +28 -15
  49. package/dist/components/Dialog/Dialog.d.ts +39 -2
  50. package/dist/components/Dialog/Dialog.d.ts.map +1 -1
  51. package/dist/components/Dialog/Dialog.js +176 -60
  52. package/dist/components/Dialog/Dialog.stories.d.ts +2 -0
  53. package/dist/components/Dialog/Dialog.stories.d.ts.map +1 -1
  54. package/dist/components/DropdownMenu/DropdownMenu.d.ts +73 -11
  55. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  56. package/dist/components/DropdownMenu/DropdownMenu.js +2 -8
  57. package/dist/components/DropdownMenu/DropdownMenu.stories.d.ts +10 -26
  58. package/dist/components/DropdownMenu/DropdownMenu.stories.d.ts.map +1 -1
  59. package/dist/components/EdgeButton/EdgeButton.d.ts +18 -0
  60. package/dist/components/EdgeButton/EdgeButton.d.ts.map +1 -1
  61. package/dist/components/EdgeButton/EdgeButton.js +4 -4
  62. package/dist/components/EdgeButton/EdgeButton.stories.d.ts.map +1 -1
  63. package/dist/components/EdgeButton/index.d.ts +1 -1
  64. package/dist/components/EdgeButton/index.d.ts.map +1 -1
  65. package/dist/components/EmptyState/EmptyState.d.ts +10 -0
  66. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
  67. package/dist/components/EmptyState/EmptyState.js +6 -6
  68. package/dist/components/EmptyState/EmptyState.stories.d.ts.map +1 -1
  69. package/dist/components/ExpandableTable/ExpandableTable.d.ts +54 -0
  70. package/dist/components/ExpandableTable/ExpandableTable.d.ts.map +1 -1
  71. package/dist/components/ExpandableTable/ExpandableTable.js +2 -2
  72. package/dist/components/ExpandableTable/ExpandableTable.stories.d.ts +0 -3
  73. package/dist/components/ExpandableTable/ExpandableTable.stories.d.ts.map +1 -1
  74. package/dist/components/ExpandableTable/Table.js +1 -1
  75. package/dist/components/ExpandableTable/index.d.ts +1 -1
  76. package/dist/components/ExpandableTable/index.d.ts.map +1 -1
  77. package/dist/components/FileUpload/FileItem.js +1 -1
  78. package/dist/components/FileUpload/FileUpload.d.ts +51 -0
  79. package/dist/components/FileUpload/FileUpload.d.ts.map +1 -1
  80. package/dist/components/FileUpload/FileUpload.stories.d.ts.map +1 -1
  81. package/dist/components/FileUpload/index.d.ts +1 -1
  82. package/dist/components/FileUpload/index.d.ts.map +1 -1
  83. package/dist/components/Flex/Flex.d.ts +49 -1
  84. package/dist/components/Flex/Flex.d.ts.map +1 -1
  85. package/dist/components/Flex/Flex.stories.d.ts.map +1 -1
  86. package/dist/components/Flex/index.d.ts +1 -1
  87. package/dist/components/Flex/index.d.ts.map +1 -1
  88. package/dist/components/Icons/CustomIcons.d.ts +166 -1
  89. package/dist/components/Icons/CustomIcons.d.ts.map +1 -1
  90. package/dist/components/Icons/CustomIcons.js +110 -97
  91. package/dist/components/InfoCard/InfoCard.d.ts +17 -0
  92. package/dist/components/InfoCard/InfoCard.d.ts.map +1 -0
  93. package/dist/components/InfoCard/index.d.ts +2 -0
  94. package/dist/components/InfoCard/index.d.ts.map +1 -0
  95. package/dist/components/Input/Input.d.ts +26 -0
  96. package/dist/components/Input/Input.d.ts.map +1 -1
  97. package/dist/components/Input/Input.stories.d.ts.map +1 -1
  98. package/dist/components/LanguageSwitcher/LanguageSwitcher.d.ts +16 -0
  99. package/dist/components/LanguageSwitcher/LanguageSwitcher.d.ts.map +1 -1
  100. package/dist/components/LanguageSwitcher/LanguageSwitcher.stories.d.ts.map +1 -1
  101. package/dist/components/Lightbox/Lightbox.d.ts +15 -2
  102. package/dist/components/Lightbox/Lightbox.d.ts.map +1 -1
  103. package/dist/components/Lightbox/Lightbox.js +22 -20
  104. package/dist/components/Loader/Loader.d.ts +3 -0
  105. package/dist/components/Loader/Loader.d.ts.map +1 -1
  106. package/dist/components/Loader/Loader.stories.d.ts.map +1 -1
  107. package/dist/components/LoginScreen/LoginScreen.d.ts +18 -0
  108. package/dist/components/LoginScreen/LoginScreen.d.ts.map +1 -1
  109. package/dist/components/LoginScreen/LoginScreen.stories.d.ts.map +1 -1
  110. package/dist/components/LoginScreen/LoginScreenItem.d.ts +5 -0
  111. package/dist/components/LoginScreen/LoginScreenItem.d.ts.map +1 -1
  112. package/dist/components/LoginScreen/index.d.ts +2 -2
  113. package/dist/components/LoginScreen/index.d.ts.map +1 -1
  114. package/dist/components/MultiSelect/MultiSelect.d.ts +25 -0
  115. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  116. package/dist/components/MultiSelect/MultiSelect.js +8 -8
  117. package/dist/components/MultiSelect/MultiSelect.stories.d.ts.map +1 -1
  118. package/dist/components/MuzaUIProvider/MuzaUIProvider.d.ts +26 -1
  119. package/dist/components/MuzaUIProvider/MuzaUIProvider.d.ts.map +1 -1
  120. package/dist/components/PasswordInput/PasswordInput.d.ts +5 -0
  121. package/dist/components/PasswordInput/PasswordInput.d.ts.map +1 -1
  122. package/dist/components/PasswordInput/PasswordInput.stories.d.ts.map +1 -1
  123. package/dist/components/PinIndicator/PinIndicator.d.ts +15 -0
  124. package/dist/components/PinIndicator/PinIndicator.d.ts.map +1 -1
  125. package/dist/components/PinIndicator/PinIndicator.stories.d.ts.map +1 -1
  126. package/dist/components/Popover/Popover.d.ts +36 -1
  127. package/dist/components/Popover/Popover.d.ts.map +1 -1
  128. package/dist/components/Popover/Popover.stories.d.ts.map +1 -1
  129. package/dist/components/Radio/Radio.d.ts +28 -3
  130. package/dist/components/Radio/Radio.d.ts.map +1 -1
  131. package/dist/components/Radio/Radio.js +2 -5
  132. package/dist/components/Radio/Radio.stories.d.ts.map +1 -1
  133. package/dist/components/Reorderable/Reorderable.d.ts +79 -30
  134. package/dist/components/Reorderable/Reorderable.d.ts.map +1 -1
  135. package/dist/components/Reorderable/Reorderable.js +162 -143
  136. package/dist/components/Reorderable/Reorderable.stories.d.ts +1 -0
  137. package/dist/components/Reorderable/Reorderable.stories.d.ts.map +1 -1
  138. package/dist/components/Reorderable/index.d.ts +1 -1
  139. package/dist/components/Reorderable/index.d.ts.map +1 -1
  140. package/dist/components/ReorderableTable/ReorderableTable.d.ts +47 -13
  141. package/dist/components/ReorderableTable/ReorderableTable.d.ts.map +1 -1
  142. package/dist/components/ReorderableTable/ReorderableTable.js +44 -43
  143. package/dist/components/ReorderableTable/ReorderableTable.stories.d.ts +1 -0
  144. package/dist/components/ReorderableTable/ReorderableTable.stories.d.ts.map +1 -1
  145. package/dist/components/ReorderableTable/index.d.ts +1 -1
  146. package/dist/components/ReorderableTable/index.d.ts.map +1 -1
  147. package/dist/components/Searchbar/Searchbar.d.ts +11 -0
  148. package/dist/components/Searchbar/Searchbar.d.ts.map +1 -1
  149. package/dist/components/Searchbar/Searchbar.stories.d.ts.map +1 -1
  150. package/dist/components/SegmentedControl/SegmentedControl.d.ts +35 -1
  151. package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
  152. package/dist/components/SegmentedControl/SegmentedControl.js +1 -1
  153. package/dist/components/SegmentedControl/SegmentedControl.stories.d.ts.map +1 -1
  154. package/dist/components/SegmentedControl/index.d.ts +1 -1
  155. package/dist/components/SegmentedControl/index.d.ts.map +1 -1
  156. package/dist/components/SegmentedIconControl/SegmentedIconControl.d.ts +38 -1
  157. package/dist/components/SegmentedIconControl/SegmentedIconControl.d.ts.map +1 -1
  158. package/dist/components/SegmentedIconControl/SegmentedIconControl.stories.d.ts.map +1 -1
  159. package/dist/components/SegmentedIconControl/index.d.ts +1 -1
  160. package/dist/components/SegmentedIconControl/index.d.ts.map +1 -1
  161. package/dist/components/Select/Select.d.ts +25 -0
  162. package/dist/components/Select/Select.d.ts.map +1 -1
  163. package/dist/components/Select/Select.stories.d.ts.map +1 -1
  164. package/dist/components/Select/index.d.ts +1 -1
  165. package/dist/components/Select/index.d.ts.map +1 -1
  166. package/dist/components/Skeleton/Skeleton.d.ts +9 -6
  167. package/dist/components/Skeleton/Skeleton.d.ts.map +1 -1
  168. package/dist/components/Skeleton/Skeleton.stories.d.ts.map +1 -1
  169. package/dist/components/SliderIndicators/SliderIndicators.d.ts +9 -0
  170. package/dist/components/SliderIndicators/SliderIndicators.d.ts.map +1 -1
  171. package/dist/components/SliderIndicators/SliderIndicators.stories.d.ts.map +1 -1
  172. package/dist/components/Stepper/Stepper.d.ts +38 -0
  173. package/dist/components/Stepper/Stepper.d.ts.map +1 -1
  174. package/dist/components/Stepper/Stepper.js +5 -5
  175. package/dist/components/Stepper/Stepper.stories.d.ts.map +1 -1
  176. package/dist/components/Stepper/index.d.ts +1 -1
  177. package/dist/components/Stepper/index.d.ts.map +1 -1
  178. package/dist/components/SwipeButton/SwipeButton.d.ts +39 -0
  179. package/dist/components/SwipeButton/SwipeButton.d.ts.map +1 -1
  180. package/dist/components/SwipeButton/SwipeButton.js +1 -1
  181. package/dist/components/SwipeButton/SwipeButton.stories.d.ts +0 -43
  182. package/dist/components/SwipeButton/SwipeButton.stories.d.ts.map +1 -1
  183. package/dist/components/SwipeButton/index.d.ts +1 -1
  184. package/dist/components/SwipeButton/index.d.ts.map +1 -1
  185. package/dist/components/Switch/Switch.d.ts +19 -0
  186. package/dist/components/Switch/Switch.d.ts.map +1 -1
  187. package/dist/components/Switch/Switch.stories.d.ts.map +1 -1
  188. package/dist/components/Tag/Tag.d.ts +17 -1
  189. package/dist/components/Tag/Tag.d.ts.map +1 -1
  190. package/dist/components/Tag/Tag.js +4 -4
  191. package/dist/components/Tag/Tag.stories.d.ts.map +1 -1
  192. package/dist/components/TextEditor/EditorToolbar.js +1 -1
  193. package/dist/components/TextEditor/LinkBubbleMenu.d.ts +4 -1
  194. package/dist/components/TextEditor/LinkBubbleMenu.d.ts.map +1 -1
  195. package/dist/components/TextEditor/LinkBubbleMenu.js +116 -92
  196. package/dist/components/TextEditor/TextEditor.d.ts +5 -2
  197. package/dist/components/TextEditor/TextEditor.d.ts.map +1 -1
  198. package/dist/components/TextEditor/TextEditor.js +129 -121
  199. package/dist/components/TextEditor/TextEditor.stories.d.ts.map +1 -1
  200. package/dist/components/Textarea/Textarea.d.ts +9 -2
  201. package/dist/components/Textarea/Textarea.d.ts.map +1 -1
  202. package/dist/components/Textarea/Textarea.stories.d.ts.map +1 -1
  203. package/dist/components/TimePicker/TimePicker.d.ts +23 -1
  204. package/dist/components/TimePicker/TimePicker.d.ts.map +1 -1
  205. package/dist/components/TimePicker/TimePicker.js +1 -4
  206. package/dist/components/TimePicker/TimePicker.stories.d.ts.map +1 -1
  207. package/dist/components/Toast/Toast.d.ts +21 -1
  208. package/dist/components/Toast/Toast.d.ts.map +1 -1
  209. package/dist/components/Toast/Toast.js +7 -7
  210. package/dist/components/Toast/Toast.stories.d.ts.map +1 -1
  211. package/dist/components/Toast/ToastContainer.d.ts +12 -1
  212. package/dist/components/Toast/ToastContainer.d.ts.map +1 -1
  213. package/dist/components/Toast/index.d.ts +1 -1
  214. package/dist/components/Toast/index.d.ts.map +1 -1
  215. package/dist/components/Toggle/Toggle.d.ts +17 -1
  216. package/dist/components/Toggle/Toggle.d.ts.map +1 -1
  217. package/dist/components/Toggle/Toggle.js +6 -6
  218. package/dist/components/Toggle/Toggle.stories.d.ts.map +1 -1
  219. package/dist/components/Toggle/index.d.ts +1 -1
  220. package/dist/components/Toggle/index.d.ts.map +1 -1
  221. package/dist/components/ToggleGroup/ToggleGroup.d.ts +52 -4
  222. package/dist/components/ToggleGroup/ToggleGroup.d.ts.map +1 -1
  223. package/dist/components/ToggleGroup/ToggleGroup.js +1 -1
  224. package/dist/components/ToggleGroup/ToggleGroup.stories.d.ts.map +1 -1
  225. package/dist/components/ToggleGroup/index.d.ts +1 -1
  226. package/dist/components/ToggleGroup/index.d.ts.map +1 -1
  227. package/dist/components/Tooltip/Tooltip.d.ts +38 -3
  228. package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
  229. package/dist/components/Tooltip/Tooltip.js +5 -7
  230. package/dist/components/Tooltip/Tooltip.stories.d.ts.map +1 -1
  231. package/dist/components/Typography/Typography.d.ts +18 -1
  232. package/dist/components/Typography/Typography.d.ts.map +1 -1
  233. package/dist/components/Typography/Typography.stories.d.ts.map +1 -1
  234. package/dist/components/Typography/index.d.ts +1 -1
  235. package/dist/components/Typography/index.d.ts.map +1 -1
  236. package/dist/index.js +191 -184
  237. package/dist/muza-ui.css +1 -1
  238. package/dist/styles/token-sizes.css +4 -0
  239. package/llms-full.md +581 -0
  240. package/llms.txt +36 -0
  241. package/package.json +4 -3
  242. package/CLAUDE_CONSUMER.md +0 -238
@@ -1,97 +1,121 @@
1
- import { jsx as e, jsxs as n, Fragment as f } from "react/jsx-runtime";
2
- import { BubbleMenu as b } from "../../node_modules/@tiptap/react/dist/index.js";
3
- import { Flex as a } from "../Flex/Flex.js";
4
- import { Button as s } from "../Button/Button.js";
5
- import { Pen2Bold as h, TrashBinTrashBold as x } from "@solar-icons/react-perf";
6
- const N = ({
7
- editor: o,
8
- linkUrl: c,
9
- isEditingLink: u,
10
- onUrlChange: p,
11
- onEdit: d,
12
- onSave: l,
13
- onRemove: m,
14
- onCancel: i,
15
- translations: r
16
- }) => /* @__PURE__ */ e(
17
- b,
18
- {
19
- editor: o,
20
- tippyOptions: {
21
- duration: 150,
22
- placement: "top",
23
- popperOptions: {
24
- modifiers: [
25
- {
26
- name: "flip",
27
- options: {
28
- fallbackPlacements: ["top"]
29
- }
30
- }
31
- ]
32
- }
33
- },
34
- shouldShow: ({ editor: t }) => t.isActive("link"),
35
- children: /* @__PURE__ */ e(
36
- a,
37
- {
38
- direction: "column",
39
- className: "gap-2 rounded-xl bg-surface-base-secondary p-3 shadow-lg",
40
- children: u ? /* @__PURE__ */ n(f, { children: [
41
- /* @__PURE__ */ e(
42
- "input",
1
+ import { jsx as e, jsxs as n, Fragment as d } from "react/jsx-runtime";
2
+ import { useRef as x } from "react";
3
+ import { BubbleMenu as y } from "../../node_modules/@tiptap/react/dist/index.js";
4
+ /* empty css */
5
+ import { Button as o } from "../Button/Button.js";
6
+ import { Flex as l } from "../Flex/Flex.js";
7
+ import { Input as v } from "../Input/Input.js";
8
+ import { cn as B } from "../../utils/cn.js";
9
+ import { typographyVariants as w } from "../Typography/Typography.js";
10
+ import { Pen2Bold as z, TrashBinTrashBold as C } from "@solar-icons/react-perf";
11
+ const R = ({
12
+ editor: c,
13
+ containerRef: f,
14
+ linkUrl: h,
15
+ isEditingLink: i,
16
+ onUrlChange: b,
17
+ onEdit: g,
18
+ onSave: s,
19
+ onRemove: k,
20
+ onCancel: p,
21
+ translations: t
22
+ }) => {
23
+ const m = x(""), a = c.getAttributes("link").href;
24
+ a && (m.current = a);
25
+ const u = a || m.current;
26
+ return /* @__PURE__ */ e(
27
+ y,
28
+ {
29
+ editor: c,
30
+ tippyOptions: {
31
+ duration: [150, 100],
32
+ animation: "shift-away",
33
+ placement: "top",
34
+ interactive: !0,
35
+ appendTo: () => f.current ?? document.body,
36
+ popperOptions: {
37
+ modifiers: [
43
38
  {
44
- type: "text",
45
- value: c,
46
- onChange: (t) => p(t.target.value),
47
- onKeyDown: (t) => {
48
- t.key === "Enter" && (t.preventDefault(), l()), t.key === "Escape" && i();
49
- },
50
- placeholder: "https://...",
51
- className: "w-64 rounded-lg border border-comp-input-stroke-def bg-comp-input-fill-def px-3 py-2 text-sm outline-none focus:border-comp-input-stroke-focused",
52
- autoFocus: !0
39
+ name: "flip",
40
+ options: {
41
+ fallbackPlacements: ["bottom"]
42
+ }
53
43
  }
54
- ),
55
- /* @__PURE__ */ n(a, { justify: "end", className: "w-full gap-2", children: [
56
- /* @__PURE__ */ e(s, { size: "xs", variant: "secondary", ghost: !0, onClick: i, children: r.cancelButton }),
57
- /* @__PURE__ */ e(s, { size: "xs", onClick: l, children: r.saveButton })
44
+ ]
45
+ }
46
+ },
47
+ shouldShow: ({ editor: r }) => r.isActive("link"),
48
+ children: /* @__PURE__ */ e(
49
+ l,
50
+ {
51
+ direction: i ? "column" : "row",
52
+ align: i ? "end" : "center",
53
+ className: "gap-lg rounded-xl bg-surface-base-secondary p-lg dropdown-shadow-default",
54
+ children: i ? /* @__PURE__ */ n(d, { children: [
55
+ /* @__PURE__ */ e(
56
+ v,
57
+ {
58
+ value: h,
59
+ onChange: (r) => b(r.target.value),
60
+ onKeyDown: (r) => {
61
+ r.key === "Enter" && (r.preventDefault(), s()), r.key === "Escape" && p();
62
+ },
63
+ placeholder: "https://",
64
+ autoFocus: !0
65
+ }
66
+ ),
67
+ /* @__PURE__ */ n(l, { className: "gap-sm", children: [
68
+ /* @__PURE__ */ e(o, { size: "xs", variant: "primary", ghost: !0, onClick: p, children: t.cancelButton }),
69
+ /* @__PURE__ */ e(o, { size: "xs", onClick: s, children: t.saveButton })
70
+ ] })
71
+ ] }) : /* @__PURE__ */ n(d, { children: [
72
+ /* @__PURE__ */ e(
73
+ "a",
74
+ {
75
+ href: u,
76
+ target: "_blank",
77
+ rel: "noopener noreferrer",
78
+ className: B(
79
+ w({
80
+ variant: "body",
81
+ size: "base",
82
+ weight: "medium",
83
+ fixY: !0
84
+ }),
85
+ "min-w-0 flex-1 truncate text-text-brand-def hover:underline"
86
+ ),
87
+ children: u
88
+ }
89
+ ),
90
+ /* @__PURE__ */ n(l, { className: "shrink-0 gap-2xs", children: [
91
+ /* @__PURE__ */ e(
92
+ o,
93
+ {
94
+ variant: "link",
95
+ size: "icon",
96
+ icon: /* @__PURE__ */ e(z, {}),
97
+ onClick: g,
98
+ "aria-label": t.editButton
99
+ }
100
+ ),
101
+ /* @__PURE__ */ e(
102
+ o,
103
+ {
104
+ variant: "link",
105
+ size: "icon",
106
+ danger: !0,
107
+ icon: /* @__PURE__ */ e(C, {}),
108
+ onClick: k,
109
+ "aria-label": t.removeButton
110
+ }
111
+ )
112
+ ] })
58
113
  ] })
59
- ] }) : /* @__PURE__ */ n(a, { align: "center", className: "gap-2", children: [
60
- /* @__PURE__ */ e(
61
- "a",
62
- {
63
- href: o.getAttributes("link").href,
64
- target: "_blank",
65
- rel: "noopener noreferrer",
66
- className: "max-w-48 flex-1 truncate text-sm text-text-brand-def hover:underline",
67
- children: o.getAttributes("link").href
68
- }
69
- ),
70
- /* @__PURE__ */ e(
71
- "button",
72
- {
73
- type: "button",
74
- onClick: d,
75
- className: "cursor-pointer rounded p-1 text-text-brand-def hover:bg-surface-base-tertiary",
76
- "aria-label": r.editButton,
77
- children: /* @__PURE__ */ e(h, { className: "size-icon-xsmall" })
78
- }
79
- ),
80
- /* @__PURE__ */ e(
81
- "button",
82
- {
83
- type: "button",
84
- onClick: m,
85
- className: "cursor-pointer rounded p-1 text-text-brand-def hover:bg-surface-base-tertiary",
86
- "aria-label": r.removeButton,
87
- children: /* @__PURE__ */ e(x, { className: "size-icon-xsmall" })
88
- }
89
- )
90
- ] })
91
- }
92
- )
93
- }
94
- );
114
+ }
115
+ )
116
+ }
117
+ );
118
+ };
95
119
  export {
96
- N as LinkBubbleMenu
120
+ R as LinkBubbleMenu
97
121
  };
@@ -114,8 +114,11 @@ export interface TextEditorProps {
114
114
  * <TextEditor extensions={[Mention.configure({ ... })]} />
115
115
  */
116
116
  extensions?: AnyExtension[];
117
- /** Minimum height of the content area. Default: 200 */
118
- minHeight?: number | string;
117
+ /**
118
+ * Minimum height of the content area in pixels. Clamped to a minimum of 220px
119
+ * to ensure the link bubble menu has enough space. Default: 220
120
+ */
121
+ minHeight?: number;
119
122
  /** Maximum height of the content area (enables scrolling) */
120
123
  maxHeight?: number | string;
121
124
  /** Enables vertical resizing. Default: true */
@@ -1 +1 @@
1
- {"version":3,"file":"TextEditor.d.ts","sourceRoot":"","sources":["../../../src/components/TextEditor/TextEditor.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextEditor.d.ts","sourceRoot":"","sources":["../../../src/components/TextEditor/TextEditor.tsx"],"names":[],"mappings":"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"}
@@ -1,20 +1,20 @@
1
- import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
- import { forwardRef as R, useEffect as T, useImperativeHandle as I } from "react";
3
- import { Link as O } from "../../node_modules/@tiptap/extension-link/dist/index.js";
4
- import { Placeholder as $ } from "../../node_modules/@tiptap/extension-placeholder/dist/index.js";
5
- import { useEditor as K, EditorContent as W } from "../../node_modules/@tiptap/react/dist/index.js";
6
- import { StarterKit as Y } from "../../node_modules/@tiptap/starter-kit/dist/index.js";
7
- import { cva as q } from "class-variance-authority";
8
- import { EditorToolbar as D } from "./EditorToolbar.js";
9
- import { LinkBubbleMenu as G } from "./LinkBubbleMenu.js";
10
- import { useLinkEditor as J } from "./useLinkEditor.js";
11
- import { useMuzaTranslations as Q } from "../../translations/TranslationContext.js";
1
+ import { jsx as r, jsxs as l } from "react/jsx-runtime";
2
+ import { forwardRef as I, useEffect as T, useImperativeHandle as O, useRef as $ } from "react";
3
+ import { Link as K } from "../../node_modules/@tiptap/extension-link/dist/index.js";
4
+ import { Placeholder as W } from "../../node_modules/@tiptap/extension-placeholder/dist/index.js";
5
+ import { useEditor as Y, EditorContent as q } from "../../node_modules/@tiptap/react/dist/index.js";
6
+ import { StarterKit as D } from "../../node_modules/@tiptap/starter-kit/dist/index.js";
7
+ import { cva as G } from "class-variance-authority";
8
+ import { EditorToolbar as J } from "./EditorToolbar.js";
9
+ import { LinkBubbleMenu as Q } from "./LinkBubbleMenu.js";
10
+ import { useLinkEditor as X } from "./useLinkEditor.js";
11
+ import { useMuzaTranslations as Z } from "../../translations/TranslationContext.js";
12
+ import { cn as d } from "../../utils/cn.js";
12
13
  import { Flex as L } from "../Flex/Flex.js";
13
14
  import { Typography as E } from "../Typography/Typography.js";
14
- import { cn as d } from "../../utils/cn.js";
15
- import { TooltipProvider as X, Tooltip as Z, TooltipTrigger as tt, TooltipContent as et } from "../Tooltip/Tooltip.js";
16
- import { InfoCircleBold as rt } from "@solar-icons/react-perf";
17
- const ot = q(
15
+ import { TooltipProvider as tt, Tooltip as et, TooltipTrigger as rt, TooltipContent as ot } from "../Tooltip/Tooltip.js";
16
+ import { InfoCircleBold as it } from "@solar-icons/react-perf";
17
+ const nt = G(
18
18
  [
19
19
  "overflow-hidden rounded-xl border bg-surface-base-secondary transition-colors",
20
20
  "focus-within:border-comp-texteditor-stroke-focused",
@@ -33,41 +33,41 @@ const ot = q(
33
33
  state: "default"
34
34
  }
35
35
  }
36
- ), it = R(
36
+ ), st = I(
37
37
  ({
38
38
  value: s,
39
39
  defaultValue: C,
40
40
  onChange: p,
41
- onBlur: w,
42
- onFocus: M,
43
- placeholder: z = "",
41
+ onBlur: M,
42
+ onFocus: w,
43
+ placeholder: H = "",
44
44
  label: x,
45
- hint: h,
46
- infoTooltip: g,
45
+ hint: u,
46
+ infoTooltip: h,
47
47
  disabled: i = !1,
48
48
  readOnly: f = !1,
49
49
  error: a,
50
50
  toolbar: n = {},
51
- toolbarExtra: k,
52
- extensions: N = [],
53
- minHeight: u = 200,
51
+ toolbarExtra: g,
52
+ extensions: z = [],
53
+ minHeight: N = 200,
54
54
  maxHeight: m,
55
- resizable: H = !0,
56
- className: U,
57
- contentClassName: P,
55
+ resizable: P = !0,
56
+ className: R,
57
+ contentClassName: U,
58
58
  unstyled: S = !1,
59
59
  editorClassName: V
60
60
  }, j) => {
61
- const y = Q(), c = {
61
+ const k = Z(), c = {
62
62
  history: n.history ?? !0,
63
63
  headings: n.headings ?? !0,
64
64
  formatting: n.formatting ?? !0,
65
65
  lists: n.lists ?? !0,
66
66
  link: n.link ?? !0,
67
67
  clearFormatting: n.clearFormatting ?? !0
68
- }, A = !!k || Object.values(c).some((o) => o !== !1), t = K({
68
+ }, A = !!g || Object.values(c).some((e) => e !== !1), t = Y({
69
69
  extensions: [
70
- Y.configure({
70
+ D.configure({
71
71
  heading: { levels: [1, 2, 3] },
72
72
  bulletList: {
73
73
  HTMLAttributes: { class: "list-disc ml-6" }
@@ -77,7 +77,7 @@ const ot = q(
77
77
  }
78
78
  }),
79
79
  ...c.link ? [
80
- O.configure({
80
+ K.configure({
81
81
  openOnClick: !1,
82
82
  autolink: !0,
83
83
  linkOnPaste: !0,
@@ -87,19 +87,19 @@ const ot = q(
87
87
  }
88
88
  })
89
89
  ] : [],
90
- $.configure({
91
- placeholder: z
90
+ W.configure({
91
+ placeholder: ({ editor: e }) => e.state.doc.textContent.length === 0 ? H : ""
92
92
  }),
93
- ...N
93
+ ...z
94
94
  ],
95
95
  content: s ?? C ?? "",
96
96
  editable: !i && !f,
97
- onUpdate: ({ editor: o }) => {
98
- const b = o.getText().trim(), v = o.getHTML();
97
+ onUpdate: ({ editor: e }) => {
98
+ const b = e.getText().trim(), v = e.getHTML();
99
99
  p == null || p(b.length === 0 ? "" : v);
100
100
  },
101
- onBlur: w,
102
- onFocus: M,
101
+ onBlur: M,
102
+ onFocus: w,
103
103
  editorProps: {
104
104
  attributes: {
105
105
  class: d(
@@ -122,7 +122,7 @@ const ot = q(
122
122
  "[&_li]:my-1",
123
123
  "[&_hr]:my-3xl [&_hr]:border-stroke-base-secondary"
124
124
  ],
125
- // Placeholder (always applied)
125
+ // Placeholder (only when the entire editor is empty — controlled via placeholder function)
126
126
  "[&_.is-empty]:before:content-[attr(data-placeholder)] [&_.is-empty]:before:text-comp-input-text-placeholder [&_.is-empty]:before:float-left [&_.is-empty]:before:h-0 [&_.is-empty]:before:pointer-events-none",
127
127
  V
128
128
  ),
@@ -135,12 +135,12 @@ const ot = q(
135
135
  });
136
136
  T(() => {
137
137
  if (t && s !== void 0) {
138
- const o = t.getHTML();
139
- (s || "<p></p>") !== (o || "<p></p>") && t.commands.setContent(s, !1);
138
+ const e = t.getHTML();
139
+ (s || "<p></p>") !== (e || "<p></p>") && t.commands.setContent(s, !1);
140
140
  }
141
141
  }, [t, s]), T(() => {
142
142
  t && t.setEditable(!i && !f);
143
- }, [t, i, f]), I(
143
+ }, [t, i, f]), O(
144
144
  j,
145
145
  () => ({
146
146
  editor: t,
@@ -149,92 +149,100 @@ const ot = q(
149
149
  getHTML: () => (t == null ? void 0 : t.getHTML()) ?? "",
150
150
  getText: () => (t == null ? void 0 : t.getText()) ?? "",
151
151
  isEmpty: () => (t == null ? void 0 : t.isEmpty) ?? !0,
152
- setContent: (o) => t == null ? void 0 : t.commands.setContent(o)
152
+ setContent: (e) => t == null ? void 0 : t.commands.setContent(e)
153
153
  }),
154
154
  [t]
155
155
  );
156
- const r = J(t), B = i ? "disabled" : a ? "error" : "default", _ = typeof a == "string" ? a : void 0, F = {
157
- minHeight: typeof u == "number" ? `${u}px` : u,
156
+ const o = X(t), y = $(null), B = i ? "disabled" : a ? "error" : "default", _ = typeof a == "string" ? a : void 0, F = {
157
+ minHeight: `${Math.max(N, 200)}px`,
158
158
  maxHeight: m ? typeof m == "number" ? `${m}px` : m : void 0,
159
- resize: H && !i ? "vertical" : "none"
159
+ resize: P && !i ? "vertical" : "none"
160
160
  };
161
- return /* @__PURE__ */ l(L, { direction: "column", className: d("gap-comp-input-gap", U), children: [
162
- x && /* @__PURE__ */ l(L, { align: "center", gap: "2xs", children: [
163
- /* @__PURE__ */ e(
164
- E,
165
- {
166
- component: "label",
167
- weight: "regular",
168
- size: "sm",
169
- className: "text-comp-select-text-primary",
170
- fixY: !0,
171
- children: x
172
- }
173
- ),
174
- g && /* @__PURE__ */ e(X, { children: /* @__PURE__ */ l(Z, { children: [
175
- /* @__PURE__ */ e(tt, { asChild: !0, children: /* @__PURE__ */ e(rt, { className: "cursor-help text-comp-info-ico-def hover:text-comp-info-ico-hover" }) }),
176
- /* @__PURE__ */ e(et, { children: g })
177
- ] }) })
178
- ] }),
179
- /* @__PURE__ */ l("div", { className: ot({ state: B }), children: [
180
- A && /* @__PURE__ */ e(
181
- D,
182
- {
183
- editor: t,
184
- toolbarConfig: c,
185
- disabled: i,
186
- translations: y.textEditor,
187
- onLinkClick: r.handleLinkToolbarClick,
188
- toolbarExtra: k
189
- }
190
- ),
191
- /* @__PURE__ */ l(
192
- "div",
193
- {
194
- className: d(
195
- "relative overflow-auto px-2xl py-xl",
196
- "mr-[calc(var(--spacing-xl)/2)]",
197
- "pr-[calc(var(--spacing-2xl)-var(--spacing-xl)/2)]",
198
- // Compensate for scrollbar offset
199
- P
161
+ return /* @__PURE__ */ r("div", { ref: y, children: /* @__PURE__ */ l(
162
+ L,
163
+ {
164
+ direction: "column",
165
+ className: d("gap-comp-input-gap", R),
166
+ children: [
167
+ x && /* @__PURE__ */ l(L, { align: "center", gap: "2xs", children: [
168
+ /* @__PURE__ */ r(
169
+ E,
170
+ {
171
+ component: "label",
172
+ weight: "regular",
173
+ size: "sm",
174
+ className: "text-comp-select-text-primary",
175
+ fixY: !0,
176
+ children: x
177
+ }
200
178
  ),
201
- style: F,
202
- children: [
203
- /* @__PURE__ */ e(W, { editor: t, className: "h-full w-full" }),
204
- t && c.link && /* @__PURE__ */ e(
205
- G,
206
- {
207
- editor: t,
208
- linkUrl: r.linkUrl,
209
- isEditingLink: r.isEditingLink,
210
- onUrlChange: r.setLinkUrl,
211
- onEdit: r.handleOpenLinkEdit,
212
- onSave: r.handleSaveLink,
213
- onRemove: r.handleRemoveLink,
214
- onCancel: r.handleCancelEdit,
215
- translations: y.textEditor
216
- }
217
- )
218
- ]
219
- }
220
- )
221
- ] }),
222
- (h || _) && /* @__PURE__ */ e(
223
- E,
224
- {
225
- component: "span",
226
- size: "sm",
227
- weight: "regular",
228
- className: d("text-comp-select-text-secondary", {
229
- "text-comp-input-text-error": a
230
- }),
231
- children: _ || h
232
- }
233
- )
234
- ] });
179
+ h && /* @__PURE__ */ r(tt, { children: /* @__PURE__ */ l(et, { children: [
180
+ /* @__PURE__ */ r(rt, { asChild: !0, children: /* @__PURE__ */ r(it, { className: "cursor-help text-comp-info-ico-def hover:text-comp-info-ico-hover" }) }),
181
+ /* @__PURE__ */ r(ot, { children: h })
182
+ ] }) })
183
+ ] }),
184
+ /* @__PURE__ */ l("div", { className: nt({ state: B }), children: [
185
+ A && /* @__PURE__ */ r(
186
+ J,
187
+ {
188
+ editor: t,
189
+ toolbarConfig: c,
190
+ disabled: i,
191
+ translations: k.textEditor,
192
+ onLinkClick: o.handleLinkToolbarClick,
193
+ toolbarExtra: g
194
+ }
195
+ ),
196
+ /* @__PURE__ */ l(
197
+ "div",
198
+ {
199
+ className: d(
200
+ "relative overflow-auto px-2xl py-xl",
201
+ "mr-[calc(var(--spacing-xl)/2)]",
202
+ "pr-[calc(var(--spacing-2xl)-var(--spacing-xl)/2)]",
203
+ // Compensate for scrollbar offset
204
+ U
205
+ ),
206
+ style: F,
207
+ children: [
208
+ /* @__PURE__ */ r(q, { editor: t, className: "h-full w-full" }),
209
+ t && c.link && /* @__PURE__ */ r(
210
+ Q,
211
+ {
212
+ editor: t,
213
+ containerRef: y,
214
+ linkUrl: o.linkUrl,
215
+ isEditingLink: o.isEditingLink,
216
+ onUrlChange: o.setLinkUrl,
217
+ onEdit: o.handleOpenLinkEdit,
218
+ onSave: o.handleSaveLink,
219
+ onRemove: o.handleRemoveLink,
220
+ onCancel: o.handleCancelEdit,
221
+ translations: k.textEditor
222
+ }
223
+ )
224
+ ]
225
+ }
226
+ )
227
+ ] }),
228
+ (u || _) && /* @__PURE__ */ r(
229
+ E,
230
+ {
231
+ component: "span",
232
+ size: "sm",
233
+ weight: "regular",
234
+ className: d("text-comp-select-text-secondary", {
235
+ "text-comp-input-text-error": a
236
+ }),
237
+ children: _ || u
238
+ }
239
+ )
240
+ ]
241
+ }
242
+ ) });
235
243
  }
236
244
  );
237
- it.displayName = "TextEditor";
245
+ st.displayName = "TextEditor";
238
246
  export {
239
- it as TextEditor
247
+ st as TextEditor
240
248
  };
@@ -1 +1 @@
1
- {"version":3,"file":"TextEditor.stories.d.ts","sourceRoot":"","sources":["../../../src/components/TextEditor/TextEditor.stories.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAO3D,OAAO,EACL,UAAU,EAIX,MAAM,SAAS,CAAA;AAEhB,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAmKjC,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,UAAU,CAAC,CAAA;AAGxC,eAAO,MAAM,OAAO,EAAE,KAOrB,CAAA;AAGD,eAAO,MAAM,UAAU,EAAE,KAsBxB,CAAA;AAGD,eAAO,MAAM,mBAAmB,EAAE,KA6BjC,CAAA;AAGD,eAAO,MAAM,SAAS,EAAE,KAqDvB,CAAA;AAGD,eAAO,MAAM,kBAAkB,EAAE,KAchC,CAAA;AAGD,eAAO,MAAM,cAAc,EAAE,KAgB5B,CAAA;AAGD,eAAO,MAAM,gBAAgB,EAAE,KAgC9B,CAAA;AAGD,eAAO,MAAM,YAAY,EAAE,KA8B1B,CAAA;AAGD,eAAO,MAAM,mBAAmB,EAAE,KAgCjC,CAAA;AAqKD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,EAAE,KAmD1B,CAAA;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,EAAE,KAqDjC,CAAA;AAGD,eAAO,MAAM,QAAQ,EAAE,KA6CtB,CAAA;AAGD,eAAO,MAAM,mBAAmB,EAAE,KAkCjC,CAAA"}
1
+ {"version":3,"file":"TextEditor.stories.d.ts","sourceRoot":"","sources":["../../../src/components/TextEditor/TextEditor.stories.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAO3D,OAAO,EACL,UAAU,EAIX,MAAM,SAAS,CAAA;AAEhB,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,UAAU,CAgIjC,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,UAAU,CAAC,CAAA;AAGxC,eAAO,MAAM,OAAO,EAAE,KAerB,CAAA;AAGD,eAAO,MAAM,UAAU,EAAE,KA4BxB,CAAA;AAGD,eAAO,MAAM,mBAAmB,EAAE,KAmCjC,CAAA;AAGD,eAAO,MAAM,SAAS,EAAE,KA6DvB,CAAA;AAGD,eAAO,MAAM,kBAAkB,EAAE,KAsBhC,CAAA;AAGD,eAAO,MAAM,cAAc,EAAE,KAsB5B,CAAA;AAGD,eAAO,MAAM,gBAAgB,EAAE,KAsC9B,CAAA;AAGD,eAAO,MAAM,YAAY,EAAE,KAmC1B,CAAA;AAGD,eAAO,MAAM,mBAAmB,EAAE,KAsCjC,CAAA;AAqKD;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,YAAY,EAAE,KAwD1B,CAAA;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,mBAAmB,EAAE,KA0DjC,CAAA;AAGD,eAAO,MAAM,QAAQ,EAAE,KA6CtB,CAAA;AAGD,eAAO,MAAM,mBAAmB,EAAE,KA0CjC,CAAA"}
@@ -1,13 +1,20 @@
1
1
  import { ComponentProps } from 'react';
2
- interface TextareaProps extends ComponentProps<'textarea'> {
2
+ /** Props for the Textarea component. */
3
+ export interface TextareaProps extends ComponentProps<'textarea'> {
4
+ /** Controls manual resize behavior via drag handle. @default 'none' */
3
5
  resize?: 'none' | 'vertical' | 'horizontal' | 'both';
6
+ /** Label text displayed above the textarea. */
4
7
  label?: string;
8
+ /** Helper text displayed below the textarea. Replaced by errorMessage when error is true. */
5
9
  hint?: string;
10
+ /** Applies error border styling. @default false */
6
11
  error?: boolean;
12
+ /** Error message displayed below textarea when error is true. Overrides hint text. */
7
13
  errorMessage?: string;
14
+ /** Name attribute for form submission. */
8
15
  name?: string;
16
+ /** Automatically grows textarea height to fit content. @default false */
9
17
  autoResize?: boolean;
10
18
  }
11
19
  export declare const Textarea: import('react').ForwardRefExoticComponent<Omit<TextareaProps, "ref"> & import('react').RefAttributes<HTMLTextAreaElement>>;
12
- export {};
13
20
  //# sourceMappingURL=Textarea.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/Textarea/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA6B,MAAM,OAAO,CAAA;AAyCtE,UAAU,aAAc,SAAQ,cAAc,CAAC,UAAU,CAAC;IACxD,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,CAAA;IACpD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,eAAO,MAAM,QAAQ,4HA0EpB,CAAA"}
1
+ {"version":3,"file":"Textarea.d.ts","sourceRoot":"","sources":["../../../src/components/Textarea/Textarea.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA6B,MAAM,OAAO,CAAA;AAyCtE,wCAAwC;AACxC,MAAM,WAAW,aAAc,SAAQ,cAAc,CAAC,UAAU,CAAC;IAC/D,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,MAAM,CAAA;IACpD,+CAA+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,6FAA6F;IAC7F,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,mDAAmD;IACnD,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,yEAAyE;IACzE,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,eAAO,MAAM,QAAQ,4HA0EpB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Textarea.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Textarea/Textarea.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,QAAQ,CAiH/B,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAA;AAEtC,eAAO,MAAM,OAAO,EAAE,KAcrB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAe9B,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAgBpB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAiBnB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAgBtB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAiBxB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAiB9B,CAAA"}
1
+ {"version":3,"file":"Textarea.stories.d.ts","sourceRoot":"","sources":["../../../src/components/Textarea/Textarea.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AAErC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,QAAQ,CA8F/B,CAAA;AAED,eAAe,IAAI,CAAA;AACnB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,QAAQ,CAAC,CAAA;AAEtC,eAAO,MAAM,OAAO,EAAE,KAcrB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAe9B,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAgBpB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAiBnB,CAAA;AAED,eAAO,MAAM,QAAQ,EAAE,KAgBtB,CAAA;AAED,eAAO,MAAM,UAAU,EAAE,KAiBxB,CAAA;AAED,eAAO,MAAM,gBAAgB,EAAE,KAiB9B,CAAA"}
@@ -1,4 +1,26 @@
1
1
  import { InputProps } from '../Input';
2
- declare const TimePicker: ({ placeholder, ...props }: Omit<InputProps, "type" | "suffix">) => import("react/jsx-runtime").JSX.Element;
2
+ /**
3
+ * Props for the TimePicker component.
4
+ * Extends Input props except `type` (fixed to time) and `suffix` (fixed to clock icon).
5
+ */
6
+ export interface TimePickerProps extends Omit<InputProps, 'type' | 'suffix'> {
7
+ /** Placeholder text shown before focus. Input switches to native time picker on focus. */
8
+ placeholder?: string;
9
+ /** Label text displayed above the time picker. */
10
+ label?: string;
11
+ /** Helper text displayed below the time picker. */
12
+ hint?: string;
13
+ /** Controls height and padding. @default 'base' */
14
+ size?: 'sm' | 'base' | 'lg';
15
+ /** Applies error border styling. @default false */
16
+ error?: boolean;
17
+ /** Prevents interaction and applies disabled styling. */
18
+ disabled?: boolean;
19
+ /** Makes the input read-only but still visible. */
20
+ readOnly?: boolean;
21
+ /** Marks the field as required in form validation. */
22
+ required?: boolean;
23
+ }
24
+ declare const TimePicker: ({ placeholder, ...props }: TimePickerProps) => import("react/jsx-runtime").JSX.Element;
3
25
  export { TimePicker };
4
26
  //# sourceMappingURL=TimePicker.d.ts.map