vector-prototype-components 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 (179) hide show
  1. package/Accordion/Accordion.d.ts +29 -0
  2. package/Accordion/Accordion.d.ts.map +1 -0
  3. package/Accordion/index.d.ts +3 -0
  4. package/Accordion/index.d.ts.map +1 -0
  5. package/ActionMenu/ActionMenu.d.ts +29 -0
  6. package/ActionMenu/ActionMenu.d.ts.map +1 -0
  7. package/ActionMenu/index.d.ts +3 -0
  8. package/ActionMenu/index.d.ts.map +1 -0
  9. package/Autocomplete/Autocomplete.d.ts +37 -0
  10. package/Autocomplete/Autocomplete.d.ts.map +1 -0
  11. package/Autocomplete/index.d.ts +3 -0
  12. package/Autocomplete/index.d.ts.map +1 -0
  13. package/Avatar/Avatar.d.ts +36 -0
  14. package/Avatar/Avatar.d.ts.map +1 -0
  15. package/Avatar/index.d.ts +3 -0
  16. package/Avatar/index.d.ts.map +1 -0
  17. package/Badge/Badge.d.ts +19 -0
  18. package/Badge/Badge.d.ts.map +1 -0
  19. package/Badge/index.d.ts +3 -0
  20. package/Badge/index.d.ts.map +1 -0
  21. package/BottomBar/BottomBar.d.ts +12 -0
  22. package/BottomBar/BottomBar.d.ts.map +1 -0
  23. package/BottomBar/index.d.ts +3 -0
  24. package/BottomBar/index.d.ts.map +1 -0
  25. package/Breadcrumbs/Breadcrumbs.d.ts +24 -0
  26. package/Breadcrumbs/Breadcrumbs.d.ts.map +1 -0
  27. package/Breadcrumbs/index.d.ts +3 -0
  28. package/Breadcrumbs/index.d.ts.map +1 -0
  29. package/Button/Button.d.ts +12 -0
  30. package/Button/Button.d.ts.map +1 -0
  31. package/Button/index.d.ts +3 -0
  32. package/Button/index.d.ts.map +1 -0
  33. package/Callout/Callout.d.ts +25 -0
  34. package/Callout/Callout.d.ts.map +1 -0
  35. package/Callout/index.d.ts +3 -0
  36. package/Callout/index.d.ts.map +1 -0
  37. package/Card/Card.d.ts +10 -0
  38. package/Card/Card.d.ts.map +1 -0
  39. package/Card/index.d.ts +3 -0
  40. package/Card/index.d.ts.map +1 -0
  41. package/Checkbox/Checkbox.d.ts +16 -0
  42. package/Checkbox/Checkbox.d.ts.map +1 -0
  43. package/Checkbox/index.d.ts +3 -0
  44. package/Checkbox/index.d.ts.map +1 -0
  45. package/Chip/Chip.d.ts +24 -0
  46. package/Chip/Chip.d.ts.map +1 -0
  47. package/Chip/index.d.ts +3 -0
  48. package/Chip/index.d.ts.map +1 -0
  49. package/DatePicker/DatePicker.d.ts +32 -0
  50. package/DatePicker/DatePicker.d.ts.map +1 -0
  51. package/DatePicker/DatePickerCalendar.d.ts +9 -0
  52. package/DatePicker/DatePickerCalendar.d.ts.map +1 -0
  53. package/DatePicker/index.d.ts +3 -0
  54. package/DatePicker/index.d.ts.map +1 -0
  55. package/Divider/Divider.d.ts +8 -0
  56. package/Divider/Divider.d.ts.map +1 -0
  57. package/Divider/index.d.ts +3 -0
  58. package/Divider/index.d.ts.map +1 -0
  59. package/Dropdown/Dropdown.d.ts +67 -0
  60. package/Dropdown/Dropdown.d.ts.map +1 -0
  61. package/Dropdown/index.d.ts +3 -0
  62. package/Dropdown/index.d.ts.map +1 -0
  63. package/Icon/Icon.d.ts +8 -0
  64. package/Icon/Icon.d.ts.map +1 -0
  65. package/Icon/index.d.ts +3 -0
  66. package/Icon/index.d.ts.map +1 -0
  67. package/IconButton/IconButton.d.ts +14 -0
  68. package/IconButton/IconButton.d.ts.map +1 -0
  69. package/IconButton/index.d.ts +3 -0
  70. package/IconButton/index.d.ts.map +1 -0
  71. package/InputNumber/InputNumber.d.ts +21 -0
  72. package/InputNumber/InputNumber.d.ts.map +1 -0
  73. package/InputNumber/index.d.ts +3 -0
  74. package/InputNumber/index.d.ts.map +1 -0
  75. package/Menu/Menu.d.ts +53 -0
  76. package/Menu/Menu.d.ts.map +1 -0
  77. package/Menu/index.d.ts +4 -0
  78. package/Menu/index.d.ts.map +1 -0
  79. package/Menu/menuData.d.ts +4 -0
  80. package/Menu/menuData.d.ts.map +1 -0
  81. package/Message/Message.d.ts +23 -0
  82. package/Message/Message.d.ts.map +1 -0
  83. package/Message/index.d.ts +3 -0
  84. package/Message/index.d.ts.map +1 -0
  85. package/Modal/Modal.d.ts +55 -0
  86. package/Modal/Modal.d.ts.map +1 -0
  87. package/Modal/index.d.ts +3 -0
  88. package/Modal/index.d.ts.map +1 -0
  89. package/Multiselect/Multiselect.d.ts +46 -0
  90. package/Multiselect/Multiselect.d.ts.map +1 -0
  91. package/Multiselect/index.d.ts +3 -0
  92. package/Multiselect/index.d.ts.map +1 -0
  93. package/Overlay/Overlay.d.ts +16 -0
  94. package/Overlay/Overlay.d.ts.map +1 -0
  95. package/Overlay/index.d.ts +3 -0
  96. package/Overlay/index.d.ts.map +1 -0
  97. package/Paginator/Paginator.d.ts +23 -0
  98. package/Paginator/Paginator.d.ts.map +1 -0
  99. package/Paginator/index.d.ts +3 -0
  100. package/Paginator/index.d.ts.map +1 -0
  101. package/Panel/Panel.d.ts +13 -0
  102. package/Panel/Panel.d.ts.map +1 -0
  103. package/Panel/index.d.ts +3 -0
  104. package/Panel/index.d.ts.map +1 -0
  105. package/ProgressSpinner/ProgressSpinner.d.ts +10 -0
  106. package/ProgressSpinner/ProgressSpinner.d.ts.map +1 -0
  107. package/ProgressSpinner/index.d.ts +3 -0
  108. package/ProgressSpinner/index.d.ts.map +1 -0
  109. package/README.md +143 -0
  110. package/Radio/Radio.d.ts +15 -0
  111. package/Radio/Radio.d.ts.map +1 -0
  112. package/Radio/index.d.ts +3 -0
  113. package/Radio/index.d.ts.map +1 -0
  114. package/SegmentControl/SegmentControl.d.ts +27 -0
  115. package/SegmentControl/SegmentControl.d.ts.map +1 -0
  116. package/SegmentControl/index.d.ts +3 -0
  117. package/SegmentControl/index.d.ts.map +1 -0
  118. package/Select/Select.d.ts +48 -0
  119. package/Select/Select.d.ts.map +1 -0
  120. package/Select/index.d.ts +3 -0
  121. package/Select/index.d.ts.map +1 -0
  122. package/Skeleton/Skeleton.d.ts +39 -0
  123. package/Skeleton/Skeleton.d.ts.map +1 -0
  124. package/Skeleton/index.d.ts +3 -0
  125. package/Skeleton/index.d.ts.map +1 -0
  126. package/Slider/Slider.d.ts +28 -0
  127. package/Slider/Slider.d.ts.map +1 -0
  128. package/Slider/index.d.ts +3 -0
  129. package/Slider/index.d.ts.map +1 -0
  130. package/Slot/Slot.d.ts +22 -0
  131. package/Slot/Slot.d.ts.map +1 -0
  132. package/Slot/index.d.ts +3 -0
  133. package/Slot/index.d.ts.map +1 -0
  134. package/Switch/Switch.d.ts +13 -0
  135. package/Switch/Switch.d.ts.map +1 -0
  136. package/Switch/index.d.ts +3 -0
  137. package/Switch/index.d.ts.map +1 -0
  138. package/Table/Table.d.ts +94 -0
  139. package/Table/Table.d.ts.map +1 -0
  140. package/Table/index.d.ts +3 -0
  141. package/Table/index.d.ts.map +1 -0
  142. package/TableTree/TableTree.d.ts +65 -0
  143. package/TableTree/TableTree.d.ts.map +1 -0
  144. package/TableTree/index.d.ts +3 -0
  145. package/TableTree/index.d.ts.map +1 -0
  146. package/Tabs/Tabs.d.ts +32 -0
  147. package/Tabs/Tabs.d.ts.map +1 -0
  148. package/Tabs/index.d.ts +3 -0
  149. package/Tabs/index.d.ts.map +1 -0
  150. package/Tag/Tag.d.ts +18 -0
  151. package/Tag/Tag.d.ts.map +1 -0
  152. package/Tag/index.d.ts +3 -0
  153. package/Tag/index.d.ts.map +1 -0
  154. package/TextField/TextField.d.ts +18 -0
  155. package/TextField/TextField.d.ts.map +1 -0
  156. package/TextField/index.d.ts +3 -0
  157. package/TextField/index.d.ts.map +1 -0
  158. package/Textarea/Textarea.d.ts +18 -0
  159. package/Textarea/Textarea.d.ts.map +1 -0
  160. package/Textarea/index.d.ts +3 -0
  161. package/Textarea/index.d.ts.map +1 -0
  162. package/Toast/Toast.d.ts +20 -0
  163. package/Toast/Toast.d.ts.map +1 -0
  164. package/Toast/index.d.ts +3 -0
  165. package/Toast/index.d.ts.map +1 -0
  166. package/Tooltip/Tooltip.d.ts +19 -0
  167. package/Tooltip/Tooltip.d.ts.map +1 -0
  168. package/Tooltip/index.d.ts +3 -0
  169. package/Tooltip/index.d.ts.map +1 -0
  170. package/TopBar/TopBar.d.ts +36 -0
  171. package/TopBar/TopBar.d.ts.map +1 -0
  172. package/TopBar/index.d.ts +3 -0
  173. package/TopBar/index.d.ts.map +1 -0
  174. package/index.d.ts +86 -0
  175. package/index.d.ts.map +1 -0
  176. package/index.js +4160 -0
  177. package/index.js.map +1 -0
  178. package/package.json +30 -0
  179. package/style.css +1 -0
@@ -0,0 +1,3 @@
1
+ export { Dropdown } from './Dropdown.js';
2
+ export type { DropdownProps, DropdownOption, DropdownItemProps } from './Dropdown.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Dropdown/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC"}
package/Icon/Icon.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ import { Icon as PhosphorIcon, IconProps as PhosphorIconProps } from '@phosphor-icons/react';
2
+ export type { IconWeight } from '@phosphor-icons/react';
3
+ export interface IconProps extends Omit<PhosphorIconProps, 'weight'> {
4
+ as: PhosphorIcon;
5
+ weight?: PhosphorIconProps['weight'];
6
+ }
7
+ export declare function Icon({ as: PhIcon, size, weight, ...props }: IconProps): import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=Icon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../src/Icon/Icon.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAElG,YAAY,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IAClE,EAAE,EAAE,YAAY,CAAC;IACjB,MAAM,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;CACtC;AAED,wBAAgB,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,IAAS,EAAE,MAAe,EAAE,GAAG,KAAK,EAAE,EAAE,SAAS,2CAEnF"}
@@ -0,0 +1,3 @@
1
+ export { Icon } from './Icon.js';
2
+ export type { IconProps, IconWeight } from './Icon.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Icon/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { default as React } from 'react';
2
+ import { Icon as PhosphorIcon } from '@phosphor-icons/react';
3
+ export type IconButtonVariant = 'ghost' | 'outline' | 'subtle';
4
+ export type IconButtonSize = 'xsmall' | 'small' | 'medium';
5
+ export interface IconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
6
+ /** Phosphor icon component to render */
7
+ icon: PhosphorIcon;
8
+ variant?: IconButtonVariant;
9
+ size?: IconButtonSize;
10
+ /** Required for accessibility — always provide a descriptive label */
11
+ 'aria-label': string;
12
+ }
13
+ export declare function IconButton({ icon, variant, size, className, disabled, ...props }: IconButtonProps): import("react/jsx-runtime").JSX.Element;
14
+ //# sourceMappingURL=IconButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IconButton.d.ts","sourceRoot":"","sources":["../../src/IconButton/IconButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIlE,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC/D,MAAM,MAAM,cAAc,GAAM,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE9D,MAAM,WAAW,eAAgB,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACpF,wCAAwC;IACxC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;CACtB;AAcD,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,OAAiB,EACjB,IAAe,EACf,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,eAAe,2CAqBjB"}
@@ -0,0 +1,3 @@
1
+ export { IconButton } from './IconButton.js';
2
+ export type { IconButtonProps, IconButtonVariant, IconButtonSize } from './IconButton.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/IconButton/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,YAAY,EAAE,eAAe,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,21 @@
1
+ export type InputNumberStatus = 'default' | 'danger' | 'success';
2
+ export type InputNumberHintType = 'default' | 'warning' | 'danger' | 'success';
3
+ export interface InputNumberProps {
4
+ value?: number;
5
+ defaultValue?: number;
6
+ min?: number;
7
+ max?: number;
8
+ step?: number;
9
+ onChange?: (value: number) => void;
10
+ label?: string;
11
+ showLabel?: boolean;
12
+ hint?: string;
13
+ hintType?: InputNumberHintType;
14
+ status?: InputNumberStatus;
15
+ disabled?: boolean;
16
+ placeholder?: string;
17
+ className?: string;
18
+ id?: string;
19
+ }
20
+ export declare function InputNumber({ value: valueProp, defaultValue, min, max, step, onChange, label, showLabel, hint, hintType, status, disabled, placeholder, className, id: idProp, }: InputNumberProps): import("react/jsx-runtime").JSX.Element;
21
+ //# sourceMappingURL=InputNumber.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InputNumber.d.ts","sourceRoot":"","sources":["../../src/InputNumber/InputNumber.tsx"],"names":[],"mappings":"AAKA,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AACjE,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/E,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,mBAAmB,CAAC;IAC/B,MAAM,CAAC,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAsBD,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EAAE,SAAS,EAChB,YAAgB,EAChB,GAAG,EACH,GAAG,EACH,IAAQ,EACR,QAAQ,EACR,KAAe,EACf,SAAgB,EAChB,IAAI,EACJ,QAAQ,EACR,MAAkB,EAClB,QAAgB,EAChB,WAA2B,EAC3B,SAAS,EACT,EAAE,EAAE,MAAM,GACX,EAAE,gBAAgB,2CA0GlB"}
@@ -0,0 +1,3 @@
1
+ export { InputNumber } from './InputNumber.js';
2
+ export type { InputNumberProps, InputNumberStatus, InputNumberHintType } from './InputNumber.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/InputNumber/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
package/Menu/Menu.d.ts ADDED
@@ -0,0 +1,53 @@
1
+ import { default as React } from 'react';
2
+ import { Icon as PhosphorIcon } from '@phosphor-icons/react';
3
+ export type MenuSize = 'opened' | 'closed';
4
+ export type MenuItemState = 'default' | 'hover' | 'active';
5
+ export interface MenuItemDef {
6
+ /** Unique key for this item */
7
+ key: string;
8
+ /** Display label (shown in opened mode) */
9
+ label: string;
10
+ /** Phosphor icon component */
11
+ icon?: PhosphorIcon;
12
+ /** Whether this item is the current active page */
13
+ active?: boolean;
14
+ /** Whether this item is disabled */
15
+ disabled?: boolean;
16
+ /** Click handler */
17
+ onClick?: (key: string) => void;
18
+ /**
19
+ * Nested sub-items. When present, the item becomes an expandable parent:
20
+ * a trailing caret is shown and clicking toggles the submenu (Figma
21
+ * ".Menu / <group>" expanded state — sub-items indented).
22
+ */
23
+ children?: MenuItemDef[];
24
+ }
25
+ export interface MenuSectionDef {
26
+ /** Optional section subtitle shown in opened mode */
27
+ title?: string;
28
+ /** Items in this section */
29
+ items: MenuItemDef[];
30
+ }
31
+ export interface MenuProps {
32
+ /** Opened (240px) or closed (72px) layout */
33
+ size?: MenuSize;
34
+ /**
35
+ * Navigation sections, each with an optional title and items. Quando omitido,
36
+ * usa `defaultMenuSections` (menu Vector fiel ao Figma). Passe explicitamente
37
+ * para renderizar outro conjunto de itens.
38
+ */
39
+ sections?: MenuSectionDef[];
40
+ /** Logo element rendered at the top (full logo for opened, small mark for closed) */
41
+ logo?: React.ReactNode;
42
+ /** Small logo mark shown in closed state */
43
+ logoMark?: React.ReactNode;
44
+ /** Whether to show the footer terms section */
45
+ showFooter?: boolean;
46
+ /** Terms of use link click handler */
47
+ onTermsClick?: () => void;
48
+ /** Privacy policy link click handler */
49
+ onPrivacyClick?: () => void;
50
+ className?: string;
51
+ }
52
+ export declare function Menu({ size, sections, logo, logoMark, showFooter, onTermsClick, onPrivacyClick, className, }: MenuProps): import("react/jsx-runtime").JSX.Element;
53
+ //# sourceMappingURL=Menu.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.d.ts","sourceRoot":"","sources":["../../src/Menu/Menu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,EAAE,IAAI,IAAI,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAQlE,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAC3C,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3D,MAAM,WAAW,WAAW;IAC1B,+BAA+B;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oBAAoB;IACpB,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAChC;;;;OAIG;IACH,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACxB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAC;IAC5B,qFAAqF;IACrF,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,+CAA+C;IAC/C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,sCAAsC;IACtC,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAC1B,wCAAwC;IACxC,cAAc,CAAC,EAAE,MAAM,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAoMD,wBAAgB,IAAI,CAAC,EACnB,IAAe,EACf,QAA8B,EAC9B,IAAI,EACJ,QAAQ,EACR,UAAiB,EACjB,YAAY,EACZ,cAAc,EACd,SAAS,GACV,EAAE,SAAS,2CAoEX"}
@@ -0,0 +1,4 @@
1
+ export { Menu } from './Menu.js';
2
+ export { defaultMenuSections } from './menuData.js';
3
+ export type { MenuProps, MenuSize, MenuItemState, MenuItemDef, MenuSectionDef } from './Menu.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Menu/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACpD,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,aAAa,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { MenuSectionDef } from './Menu.js';
2
+ /** Seções padrão do Menu (portal + itens), fiéis ao Figma. */
3
+ export declare const defaultMenuSections: MenuSectionDef[];
4
+ //# sourceMappingURL=menuData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menuData.d.ts","sourceRoot":"","sources":["../../src/Menu/menuData.ts"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AA0MhD,8DAA8D;AAC9D,eAAO,MAAM,mBAAmB,EAAE,cAAc,EAAiC,CAAC"}
@@ -0,0 +1,23 @@
1
+ export type MessageType = 'info' | 'warning' | 'success' | 'danger' | 'highlight' | 'neutral';
2
+ export interface MessageProps {
3
+ /** The semantic type of the message, which controls background, border, and icon */
4
+ type?: MessageType;
5
+ /** The message text content */
6
+ message?: string;
7
+ /** Whether to show the leading icon */
8
+ showIcon?: boolean;
9
+ /** Label and optional click handler for an inline action button */
10
+ actionLabel?: string;
11
+ /** Callback fired when the action button is clicked */
12
+ onAction?: () => void;
13
+ /** Whether to render the close/dismiss button */
14
+ showClose?: boolean;
15
+ /** Callback fired when the close button is clicked */
16
+ onClose?: () => void;
17
+ /** Whether the message is in a disabled state */
18
+ disabled?: boolean;
19
+ /** Additional CSS class name */
20
+ className?: string;
21
+ }
22
+ export declare function Message({ type, message, showIcon, actionLabel, onAction, showClose, onClose, disabled, className, }: MessageProps): import("react/jsx-runtime").JSX.Element;
23
+ //# sourceMappingURL=Message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Message.d.ts","sourceRoot":"","sources":["../../src/Message/Message.tsx"],"names":[],"mappings":"AAgBA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9F,MAAM,WAAW,YAAY;IAC3B,oFAAoF;IACpF,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,+BAA+B;IAC/B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,iDAAiD;IACjD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA6BD,wBAAgB,OAAO,CAAC,EACtB,IAAa,EACb,OAA2B,EAC3B,QAAe,EACf,WAAW,EACX,QAAQ,EACR,SAAgB,EAChB,OAAO,EACP,QAAgB,EAChB,SAAS,GACV,EAAE,YAAY,2CAwDd"}
@@ -0,0 +1,3 @@
1
+ export { Message } from './Message.js';
2
+ export type { MessageProps, MessageType } from './Message.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Message/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { default as React } from 'react';
2
+ import { ButtonProps } from '../Button/index.js';
3
+ export type ModalSize = 'small' | 'medium' | 'large';
4
+ export type ModalDialogType = 'warn' | 'error' | 'success' | 'loading';
5
+ /** Props shared by both Modal and ModalDialog */
6
+ interface ModalBaseProps {
7
+ /** Whether the modal is visible. Defaults to false. */
8
+ open?: boolean;
9
+ /** Called when the close button is clicked or Escape is pressed. */
10
+ onClose?: () => void;
11
+ /** Additional class names on the panel element. */
12
+ className?: string;
13
+ }
14
+ export interface ModalFooterAction extends Pick<ButtonProps, 'onClick' | 'disabled'> {
15
+ label: string;
16
+ variant?: ButtonProps['variant'];
17
+ }
18
+ export interface ModalProps extends ModalBaseProps {
19
+ /** Size variant: controls panel width. Defaults to "small". */
20
+ size?: ModalSize;
21
+ /** Modal heading text. */
22
+ title?: string;
23
+ /** Content rendered inside the body slot. */
24
+ children?: React.ReactNode;
25
+ /** Array of footer action buttons (left=secondary, right=primary). */
26
+ footerActions?: ModalFooterAction[];
27
+ /** Hide the backdrop overlay. */
28
+ noBackdrop?: boolean;
29
+ /** Fired when the backdrop is clicked. Defaults to calling onClose. */
30
+ onBackdropClick?: () => void;
31
+ }
32
+ export declare function Modal({ open, size, title, children, footerActions, onClose, noBackdrop, onBackdropClick, className, }: ModalProps): import("react/jsx-runtime").JSX.Element | null;
33
+ export interface ModalDialogProps extends ModalBaseProps {
34
+ /** Dialog type — controls the status icon shown. */
35
+ type?: ModalDialogType;
36
+ /** Dialog heading. */
37
+ title?: string;
38
+ /** Supporting text below the heading. */
39
+ text?: string;
40
+ /** Primary action button label. */
41
+ primaryLabel?: string;
42
+ /** Primary action callback. */
43
+ onPrimary?: () => void;
44
+ /** Secondary action button label. */
45
+ secondaryLabel?: string;
46
+ /** Secondary action callback. */
47
+ onSecondary?: () => void;
48
+ /** Hide the backdrop overlay. */
49
+ noBackdrop?: boolean;
50
+ /** Fired when the backdrop is clicked. Defaults to calling onClose. */
51
+ onBackdropClick?: () => void;
52
+ }
53
+ export declare function ModalDialog({ open, type, title, text, primaryLabel, onPrimary, secondaryLabel, onSecondary, onClose, noBackdrop, onBackdropClick, className, }: ModalDialogProps): import("react/jsx-runtime").JSX.Element | null;
54
+ export {};
55
+ //# sourceMappingURL=Modal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Modal.d.ts","sourceRoot":"","sources":["../../src/Modal/Modal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAKjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAUtD,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,CAAC;AACrD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAAC;AAEvE,iDAAiD;AACjD,UAAU,cAAc;IACtB,uDAAuD;IACvD,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,mDAAmD;IACnD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD,MAAM,WAAW,iBACf,SAAQ,IAAI,CAAC,WAAW,EAAE,SAAS,GAAG,UAAU,CAAC;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CAClC;AAED,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,+DAA+D;IAC/D,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,sEAAsE;IACtE,aAAa,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACpC,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AAQD,wBAAgB,KAAK,CAAC,EACpB,IAAY,EACZ,IAAc,EACd,KAAU,EACV,QAAQ,EACR,aAAa,EACb,OAAO,EACP,UAAkB,EAClB,eAAe,EACf,SAAS,GACV,EAAE,UAAU,kDAsGZ;AAMD,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,oDAAoD;IACpD,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,sBAAsB;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,mCAAmC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,+BAA+B;IAC/B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,qCAAqC;IACrC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;CAC9B;AASD,wBAAgB,WAAW,CAAC,EAC1B,IAAY,EACZ,IAAa,EACb,KAAU,EACV,IAAI,EACJ,YAAY,EACZ,SAAS,EACT,cAAc,EACd,WAAW,EACX,OAAO,EACP,UAAkB,EAClB,eAAe,EACf,SAAS,GACV,EAAE,gBAAgB,kDA2HlB"}
@@ -0,0 +1,3 @@
1
+ export { Modal, ModalDialog } from './Modal.js';
2
+ export type { ModalProps, ModalSize, ModalFooterAction, ModalDialogProps, ModalDialogType, } from './Modal.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Modal/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAChD,YAAY,EACV,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,GAChB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,46 @@
1
+ export type MultiselectSize = 'large' | 'medium' | 'small' | 'xsmall';
2
+ export type MultiselectState = 'default' | 'error' | 'disabled';
3
+ export interface MultiselectOption {
4
+ /** Unique value for this option. */
5
+ value: string;
6
+ /** Display label. */
7
+ label: string;
8
+ /** Whether this option is disabled and cannot be selected. */
9
+ disabled?: boolean;
10
+ }
11
+ export interface MultiselectProps {
12
+ /** List of selectable options. */
13
+ options: MultiselectOption[];
14
+ /** Currently selected values (controlled). */
15
+ value?: string[];
16
+ /** Default selected values (uncontrolled). */
17
+ defaultValue?: string[];
18
+ /** Called when the selection changes. */
19
+ onChange?: (values: string[]) => void;
20
+ /** Field label rendered above the trigger. */
21
+ label?: string;
22
+ /** Placeholder text when nothing is selected. */
23
+ placeholder?: string;
24
+ /** Hint text rendered below the trigger. */
25
+ hint?: string;
26
+ /** Size variant of the trigger field. */
27
+ size?: MultiselectSize;
28
+ /** Visual state of the field. */
29
+ state?: MultiselectState;
30
+ /** Whether the field is disabled. */
31
+ disabled?: boolean;
32
+ /** Whether to show the search/filter input inside the dropdown. */
33
+ showSearch?: boolean;
34
+ /** Maximum number of chip labels to show before showing "+N" overflow count. */
35
+ maxChips?: number;
36
+ /** Additional class name for the root element. */
37
+ className?: string;
38
+ /** ARIA label for the combobox trigger. */
39
+ 'aria-label'?: string;
40
+ /** ARIA labelledby for the combobox trigger. */
41
+ 'aria-labelledby'?: string;
42
+ /** ID attribute for the root element. */
43
+ id?: string;
44
+ }
45
+ export declare function Multiselect({ options, value: valueProp, defaultValue, onChange, label, placeholder, hint, size, state, disabled, showSearch, maxChips, className, 'aria-label': ariaLabel, 'aria-labelledby': ariaLabelledby, id: idProp, }: MultiselectProps): import("react/jsx-runtime").JSX.Element;
46
+ //# sourceMappingURL=Multiselect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Multiselect.d.ts","sourceRoot":"","sources":["../../src/Multiselect/Multiselect.tsx"],"names":[],"mappings":"AASA,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;AACtE,MAAM,MAAM,gBAAgB,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,CAAC;AAEhE,MAAM,WAAW,iBAAiB;IAChC,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAC/B,kCAAkC;IAClC,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAC7B,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,8CAA8C;IAC9C,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;IACtC,8CAA8C;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,iDAAiD;IACjD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,IAAI,CAAC,EAAE,eAAe,CAAC;IACvB,iCAAiC;IACjC,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,qCAAqC;IACrC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,mEAAmE;IACnE,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gFAAgF;IAChF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yCAAyC;IACzC,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAqED,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,KAAK,EAAE,SAAS,EAChB,YAAY,EACZ,QAAQ,EACR,KAAK,EACL,WAAgC,EAChC,IAAI,EACJ,IAAe,EACf,KAAiB,EACjB,QAAgB,EAChB,UAAiB,EACjB,QAAY,EACZ,SAAS,EACT,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,EAAE,EAAE,MAAM,GACX,EAAE,gBAAgB,2CAoRlB"}
@@ -0,0 +1,3 @@
1
+ export { Multiselect } from './Multiselect.js';
2
+ export type { MultiselectProps, MultiselectOption, MultiselectSize, MultiselectState } from './Multiselect.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Multiselect/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { default as React } from 'react';
2
+ export interface OverlayProps extends React.HTMLAttributes<HTMLDivElement> {
3
+ /** Additional class names forwarded to the root element. */
4
+ className?: string;
5
+ }
6
+ /**
7
+ * A semi-transparent backdrop that dims the underlying content to
8
+ * focus attention on a modal or dialog. Use as the foundation for
9
+ * any modal, dialog, or focused popover.
10
+ *
11
+ * Renders as a `position:fixed` element that covers the full
12
+ * viewport. The consumer is responsible for mounting/unmounting
13
+ * the Overlay and layering the dialog on top of it via z-index.
14
+ */
15
+ export declare function Overlay({ className, ...props }: OverlayProps): import("react/jsx-runtime").JSX.Element;
16
+ //# sourceMappingURL=Overlay.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Overlay.d.ts","sourceRoot":"","sources":["../../src/Overlay/Overlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,MAAM,WAAW,YAAa,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACxE,4DAA4D;IAC5D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;GAQG;AACH,wBAAgB,OAAO,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,YAAY,2CAW5D"}
@@ -0,0 +1,3 @@
1
+ export { Overlay } from './Overlay.js';
2
+ export type { OverlayProps } from './Overlay.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Overlay/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,23 @@
1
+ export type PaginatorPageSize = 10 | 20 | 30 | 50 | 100;
2
+ export interface PaginatorProps {
3
+ /** Current page (1-based). */
4
+ currentPage: number;
5
+ /** Total number of pages. */
6
+ totalPages: number;
7
+ /** Number of page-number buttons to show (excluding first/last navigation arrows). Defaults to 3. */
8
+ pageWindowSize?: number;
9
+ /** Selected page size (rows per page). */
10
+ pageSize?: PaginatorPageSize;
11
+ /** Available page-size options. Defaults to [10, 20, 30, 50, 100]. */
12
+ pageSizeOptions?: PaginatorPageSize[];
13
+ /** Called when the user navigates to a different page. */
14
+ onPageChange?: (page: number) => void;
15
+ /** Called when the user selects a different page size. */
16
+ onPageSizeChange?: (pageSize: PaginatorPageSize) => void;
17
+ /** Whether to show the page-size selector. Defaults to true. */
18
+ showPageSizeSelect?: boolean;
19
+ /** Optional extra CSS class for the root element. */
20
+ className?: string;
21
+ }
22
+ export declare function Paginator({ currentPage, totalPages, pageWindowSize, pageSize, pageSizeOptions, onPageChange, onPageSizeChange, showPageSizeSelect, className, }: PaginatorProps): import("react/jsx-runtime").JSX.Element;
23
+ //# sourceMappingURL=Paginator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Paginator.d.ts","sourceRoot":"","sources":["../../src/Paginator/Paginator.tsx"],"names":[],"mappings":"AAWA,MAAM,MAAM,iBAAiB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;AAExD,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,6BAA6B;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,qGAAqG;IACrG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,sEAAsE;IACtE,eAAe,CAAC,EAAE,iBAAiB,EAAE,CAAC;IACtC,0DAA0D;IAC1D,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACzD,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,qDAAqD;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,SAAS,CAAC,EACxB,WAAW,EACX,UAAU,EACV,cAAkB,EAClB,QAAa,EACb,eAAuC,EACvC,YAAY,EACZ,gBAAgB,EAChB,kBAAyB,EACzB,SAAS,GACV,EAAE,cAAc,2CAkHhB"}
@@ -0,0 +1,3 @@
1
+ export { Paginator } from './Paginator.js';
2
+ export type { PaginatorProps, PaginatorPageSize } from './Paginator.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Paginator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { default as React } from 'react';
2
+ export type PanelStyle = 'shadow' | 'line';
3
+ export type PanelType = 'section' | 'container';
4
+ export interface PanelProps extends React.HTMLAttributes<HTMLDivElement> {
5
+ /** Visual style of the panel: shadow uses drop-shadow, line uses a border stroke */
6
+ panelStyle?: PanelStyle;
7
+ /** Semantic type: section adds extra bottom padding (32px) for grouping content; container uses uniform padding (16px) */
8
+ type?: PanelType;
9
+ /** Whether the panel is in a disabled state */
10
+ disabled?: boolean;
11
+ }
12
+ export declare function Panel({ panelStyle, type, disabled, className, children, ...props }: PanelProps): import("react/jsx-runtime").JSX.Element;
13
+ //# sourceMappingURL=Panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Panel.d.ts","sourceRoot":"","sources":["../../src/Panel/Panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC3C,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC;AAEhD,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IACtE,oFAAoF;IACpF,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,0HAA0H;IAC1H,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAYD,wBAAgB,KAAK,CAAC,EACpB,UAAqB,EACrB,IAAgB,EAChB,QAAgB,EAChB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,UAAU,2CAmBZ"}
@@ -0,0 +1,3 @@
1
+ export { Panel } from './Panel.js';
2
+ export type { PanelProps, PanelStyle, PanelType } from './Panel.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/Panel/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,10 @@
1
+ export interface ProgressSpinnerProps {
2
+ /** Accessible label announced by screen readers. */
3
+ label?: string;
4
+ /** Whether the spinner is in a disabled / inactive state. */
5
+ disabled?: boolean;
6
+ /** Additional CSS class names. */
7
+ className?: string;
8
+ }
9
+ export declare function ProgressSpinner({ label, disabled, className, }: ProgressSpinnerProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=ProgressSpinner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProgressSpinner.d.ts","sourceRoot":"","sources":["../../src/ProgressSpinner/ProgressSpinner.tsx"],"names":[],"mappings":"AAGA,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAOD,wBAAgB,eAAe,CAAC,EAC9B,KAAkB,EAClB,QAAgB,EAChB,SAAS,GACV,EAAE,oBAAoB,2CA8CtB"}
@@ -0,0 +1,3 @@
1
+ export { ProgressSpinner } from './ProgressSpinner.js';
2
+ export type { ProgressSpinnerProps } from './ProgressSpinner.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ProgressSpinner/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC"}
package/README.md ADDED
@@ -0,0 +1,143 @@
1
+ # ngx-monorepo
2
+
3
+ Design system React para **prototipagem interna**. Componentes fiéis ao Figma,
4
+ documentados no Storybook, consumidos pelos protótipos da empresa.
5
+
6
+ > Não é uma biblioteca de produção — é a base para montar protótipos rápido,
7
+ > com componentes reais (não mockups) e visual alinhado ao Figma.
8
+
9
+ ## Estrutura
10
+
11
+ ```
12
+ packages/tokens/ @ngx/tokens — tokens CSS (Style Dictionary, gerados do Figma)
13
+ packages/components/ @ngx/components — componentes React + CSS Modules
14
+ apps/storybook/ — documentação interativa dos componentes
15
+ apps/proto-template/ — template de protótipo (Vite + React)
16
+ ```
17
+
18
+ ## Pré-requisitos
19
+
20
+ - [Node.js](https://nodejs.org/) 18+
21
+ - [pnpm](https://pnpm.io/installation) 9+ (`npm install -g pnpm`)
22
+
23
+ ## Como rodar (primeira vez)
24
+
25
+ ```bash
26
+ pnpm install # instala as dependências
27
+ pnpm build # gera os tokens (dist/) — necessário antes de rodar
28
+ pnpm storybook # abre o Storybook em http://localhost:6006
29
+ ```
30
+
31
+ > O `pnpm build` precisa rodar **uma vez** após clonar (e sempre que os tokens
32
+ > mudarem), porque o Storybook/protótipos importam o `tokens.css` já gerado.
33
+
34
+ Outros comandos úteis:
35
+
36
+ ```bash
37
+ pnpm dev # storybook + proto-template em paralelo
38
+ pnpm proto # abre o template de protótipo (http://localhost:5173)
39
+ pnpm turbo test
40
+ ```
41
+
42
+ ## Montar um protótipo
43
+
44
+ Os protótipos vivem **dentro deste repositório**, em `apps/`. Use o template
45
+ pronto `apps/proto-template`:
46
+
47
+ 1. Clone o repositório (acesso privado no GitHub) e rode os passos acima.
48
+ 2. Copie o template:
49
+ ```bash
50
+ cp -r apps/proto-template apps/meu-prototipo
51
+ # Windows/PowerShell: Copy-Item -Recurse apps/proto-template apps/meu-prototipo
52
+ ```
53
+ 3. Troque o `name` em `apps/meu-prototipo/package.json` para `meu-prototipo`.
54
+ 4. Instale e rode:
55
+ ```bash
56
+ pnpm install
57
+ pnpm --filter meu-prototipo dev
58
+ ```
59
+ 5. Monte sua tela em `src/App.tsx`, importando o que precisar:
60
+ ```tsx
61
+ import { Button, Select, Menu } from '@ngx/components';
62
+ ```
63
+
64
+ > O template já importa tokens/fontes em `src/main.tsx` — mantenha esses imports.
65
+ > Veja o catálogo de componentes com `pnpm storybook`.
66
+
67
+ ## Atualizar os componentes (rebater mudanças)
68
+
69
+ A biblioteca e os protótipos vivem no mesmo repositório, então a propagação é
70
+ o próprio Git:
71
+
72
+ - **Quem mantém os componentes:** edita em `packages/components`, commita e dá
73
+ `git push`.
74
+ - **Quem está montando protótipo:** roda **`git pull`** para receber a versão
75
+ mais recente. Se houver dependências novas, `pnpm install`; se tokens
76
+ mudaram, `pnpm build`.
77
+
78
+ Um `git pull` rebate as atualizações de componente para todo mundo que estiver
79
+ consumindo.
80
+
81
+ ## Propriedade — o que é seu vs. o que é da pessoa
82
+
83
+ | Pasta | Quem edita |
84
+ |---|---|
85
+ | `packages/` (tokens + componentes) | **Só o mantenedor (dono do repo).** É a biblioteca. |
86
+ | `apps/storybook`, `apps/proto-template` | Mantenedor. |
87
+ | `apps/<seu-prototipo>` | Quem está prototipando — **só aqui**. |
88
+
89
+ **Regra:** quem monta protótipo edita **exclusivamente** a própria pasta em
90
+ `apps/`. **Ninguém altera `packages/`** — esse é o design system, mantido só
91
+ pelo dono.
92
+
93
+ - **Garantia:** com acesso **read-only** (ver abaixo), alterações em `packages/`
94
+ por consumidores **não chegam ao repositório** — só o dono tem escrita.
95
+ - **Localmente** ainda é possível editar por engano (inclusive uma IA pode
96
+ "consertar" um componente sem querer). O git denuncia: `git status` mostra
97
+ `modified: packages/...`. Para reverter ao original (offline, sem afetar o
98
+ protótipo):
99
+ ```bash
100
+ git restore packages/
101
+ ```
102
+ - Cada protótipo já vem com um `CLAUDE.md` instruindo agentes a **nunca** tocar
103
+ em `packages/` — só na pasta do protótipo.
104
+
105
+ ## Acesso e segurança
106
+
107
+ Para evitar que protótipos sobrescrevam ou baguncem o monorepo:
108
+
109
+ - **Quem monta protótipo recebe acesso somente-leitura** (GitHub → Settings →
110
+ Collaborators → Role: **Read**). Com isso o `git push` dessas pessoas é
111
+ recusado pelo GitHub — elas só clonam, criam o protótipo localmente e dão
112
+ `git pull`. **O dono é o único que dá push** nos componentes.
113
+ - **Proteção de branch no `main`** (GitHub → Settings → Branches → Add rule):
114
+ marque *"Require a pull request before merging"* e *"Do not allow force
115
+ pushes"*. Cinto-e-suspensório contra push direto / reescrita de histórico.
116
+
117
+ > O git **não** sobrescreve nada sozinho: um push que diverge do `main` é
118
+ > rejeitado (erro *non-fast-forward*); só um `git push --force` intencional —
119
+ > e com permissão de escrita — reescreveria. Read-only + branch protection
120
+ > tornam isso impossível.
121
+
122
+ ### Quem quer salvar/versionar o próprio protótipo
123
+
124
+ Como o protótipo fica local (read-only não dá push), quem quiser backup deve
125
+ **fazer um fork** do repositório: o push vai para o fork da própria pessoa,
126
+ nunca para este repo. Para receber atualizações dos componentes, configura
127
+ este repo como `upstream` e dá `git pull upstream main`.
128
+
129
+ ## Pipeline de tokens
130
+
131
+ ```
132
+ Figma plugin "Design Tokens" → export .json
133
+ └── pnpm tokens:sync <arquivo.json> → packages/tokens/raw-tokens.json (fonte de verdade)
134
+ └── pnpm tokens:build → dist/tokens.css, dist/fonts.css
135
+ ```
136
+
137
+ Componentes usam exclusivamente `var(--color-*)`, `var(--font-*)`,
138
+ `var(--shadow-*)` — nunca hex hardcoded.
139
+
140
+ ## Convenções
141
+
142
+ As regras de construção de componentes, tokens, scrollbar compartilhada e
143
+ building blocks estão no [`CLAUDE.md`](./CLAUDE.md).
@@ -0,0 +1,15 @@
1
+ import { default as React } from 'react';
2
+ export interface RadioProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'type'> {
3
+ /** Whether this radio is selected. */
4
+ checked?: boolean;
5
+ /** Uncontrolled default checked state. */
6
+ defaultChecked?: boolean;
7
+ /** Label text rendered next to the radio circle. */
8
+ label?: string;
9
+ /** Disables the radio input. */
10
+ disabled?: boolean;
11
+ /** Additional className for the outer wrapper label. */
12
+ className?: string;
13
+ }
14
+ export declare function Radio({ checked, defaultChecked, label, disabled, className, id: idProp, onChange, ...props }: RadioProps): import("react/jsx-runtime").JSX.Element;
15
+ //# sourceMappingURL=Radio.d.ts.map