vector-prototype-components 0.1.2 → 0.1.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 (218) hide show
  1. package/Accordion/Accordion.js +79 -0
  2. package/Accordion/Accordion.js.map +1 -0
  3. package/Accordion/Accordion.module.css +1 -0
  4. package/Accordion/Accordion.module.css.js +36 -0
  5. package/Accordion/Accordion.module.css.js.map +1 -0
  6. package/ActionMenu/ActionMenu.js +49 -0
  7. package/ActionMenu/ActionMenu.js.map +1 -0
  8. package/ActionMenu/ActionMenu.module.css +1 -0
  9. package/ActionMenu/ActionMenu.module.css.js +16 -0
  10. package/ActionMenu/ActionMenu.module.css.js.map +1 -0
  11. package/Autocomplete/Autocomplete.js +226 -0
  12. package/Autocomplete/Autocomplete.js.map +1 -0
  13. package/Autocomplete/Autocomplete.module.css +1 -0
  14. package/Autocomplete/Autocomplete.module.css.js +46 -0
  15. package/Autocomplete/Autocomplete.module.css.js.map +1 -0
  16. package/Avatar/Avatar.js +66 -0
  17. package/Avatar/Avatar.js.map +1 -0
  18. package/Avatar/Avatar.module.css +1 -0
  19. package/Avatar/Avatar.module.css.js +26 -0
  20. package/Avatar/Avatar.module.css.js.map +1 -0
  21. package/Badge/Badge.js +40 -0
  22. package/Badge/Badge.js.map +1 -0
  23. package/Badge/Badge.module.css +1 -0
  24. package/Badge/Badge.module.css.js +24 -0
  25. package/Badge/Badge.module.css.js.map +1 -0
  26. package/BottomBar/BottomBar.js +19 -0
  27. package/BottomBar/BottomBar.js.map +1 -0
  28. package/BottomBar/BottomBar.module.css +1 -0
  29. package/BottomBar/BottomBar.module.css.js +10 -0
  30. package/BottomBar/BottomBar.module.css.js.map +1 -0
  31. package/Breadcrumbs/Breadcrumbs.js +40 -0
  32. package/Breadcrumbs/Breadcrumbs.js.map +1 -0
  33. package/Breadcrumbs/Breadcrumbs.module.css +1 -0
  34. package/Breadcrumbs/Breadcrumbs.module.css.js +18 -0
  35. package/Breadcrumbs/Breadcrumbs.module.css.js.map +1 -0
  36. package/Button/Button.js +53 -0
  37. package/Button/Button.js.map +1 -0
  38. package/Button/Button.module.css +1 -0
  39. package/Button/Button.module.css.js +24 -0
  40. package/Button/Button.module.css.js.map +1 -0
  41. package/Callout/Callout.js +66 -0
  42. package/Callout/Callout.js.map +1 -0
  43. package/Callout/Callout.module.css +1 -0
  44. package/Callout/Callout.module.css.js +28 -0
  45. package/Callout/Callout.module.css.js.map +1 -0
  46. package/Card/Card.js +39 -0
  47. package/Card/Card.js.map +1 -0
  48. package/Card/Card.module.css +1 -0
  49. package/Card/Card.module.css.js +18 -0
  50. package/Card/Card.module.css.js.map +1 -0
  51. package/Checkbox/Checkbox.js +90 -0
  52. package/Checkbox/Checkbox.js.map +1 -0
  53. package/Checkbox/Checkbox.module.css +1 -0
  54. package/Checkbox/Checkbox.module.css.js +22 -0
  55. package/Checkbox/Checkbox.module.css.js.map +1 -0
  56. package/Chip/Chip.js +62 -0
  57. package/Chip/Chip.js.map +1 -0
  58. package/Chip/Chip.module.css +1 -0
  59. package/Chip/Chip.module.css.js +24 -0
  60. package/Chip/Chip.module.css.js.map +1 -0
  61. package/DatePicker/DatePicker.js +157 -0
  62. package/DatePicker/DatePicker.js.map +1 -0
  63. package/DatePicker/DatePicker.module.css +1 -0
  64. package/DatePicker/DatePicker.module.css.js +48 -0
  65. package/DatePicker/DatePicker.module.css.js.map +1 -0
  66. package/DatePicker/DatePickerCalendar.js +94 -0
  67. package/DatePicker/DatePickerCalendar.js.map +1 -0
  68. package/DatePicker/DatePickerCalendar.module.css +1 -0
  69. package/DatePicker/DatePickerCalendar.module.css.js +32 -0
  70. package/DatePicker/DatePickerCalendar.module.css.js.map +1 -0
  71. package/Divider/Divider.js +22 -0
  72. package/Divider/Divider.js.map +1 -0
  73. package/Divider/Divider.module.css +1 -0
  74. package/Divider/Divider.module.css.js +12 -0
  75. package/Divider/Divider.module.css.js.map +1 -0
  76. package/Dropdown/Dropdown.js +100 -0
  77. package/Dropdown/Dropdown.js.map +1 -0
  78. package/Dropdown/Dropdown.module.css +1 -0
  79. package/Dropdown/Dropdown.module.css.js +20 -0
  80. package/Dropdown/Dropdown.module.css.js.map +1 -0
  81. package/Icon/Icon.js +8 -0
  82. package/Icon/Icon.js.map +1 -0
  83. package/IconButton/IconButton.js +42 -0
  84. package/IconButton/IconButton.js.map +1 -0
  85. package/IconButton/IconButton.module.css +1 -0
  86. package/IconButton/IconButton.module.css.js +20 -0
  87. package/IconButton/IconButton.module.css.js.map +1 -0
  88. package/InputNumber/InputNumber.js +106 -0
  89. package/InputNumber/InputNumber.js.map +1 -0
  90. package/InputNumber/InputNumber.module.css +1 -0
  91. package/InputNumber/InputNumber.module.css.js +30 -0
  92. package/InputNumber/InputNumber.module.css.js.map +1 -0
  93. package/Menu/Menu.js +182 -0
  94. package/Menu/Menu.js.map +1 -0
  95. package/Menu/Menu.module.css +1 -0
  96. package/Menu/Menu.module.css.js +56 -0
  97. package/Menu/Menu.module.css.js.map +1 -0
  98. package/Menu/menuData.js +188 -0
  99. package/Menu/menuData.js.map +1 -0
  100. package/Message/Message.js +88 -0
  101. package/Message/Message.js.map +1 -0
  102. package/Message/Message.module.css +1 -0
  103. package/Message/Message.module.css.js +32 -0
  104. package/Message/Message.module.css.js.map +1 -0
  105. package/Modal/Modal.js +186 -0
  106. package/Modal/Modal.js.map +1 -0
  107. package/Modal/Modal.module.css +1 -0
  108. package/Modal/Modal.module.css.js +44 -0
  109. package/Modal/Modal.module.css.js.map +1 -0
  110. package/Multiselect/Multiselect.js +249 -0
  111. package/Multiselect/Multiselect.js.map +1 -0
  112. package/Multiselect/Multiselect.module.css +1 -0
  113. package/Multiselect/Multiselect.module.css.js +64 -0
  114. package/Multiselect/Multiselect.module.css.js.map +1 -0
  115. package/Overlay/Overlay.js +18 -0
  116. package/Overlay/Overlay.js.map +1 -0
  117. package/Overlay/Overlay.module.css +1 -0
  118. package/Overlay/Overlay.module.css.js +8 -0
  119. package/Overlay/Overlay.module.css.js.map +1 -0
  120. package/Paginator/Paginator.js +118 -0
  121. package/Paginator/Paginator.js.map +1 -0
  122. package/Paginator/Paginator.module.css +1 -0
  123. package/Paginator/Paginator.module.css.js +22 -0
  124. package/Paginator/Paginator.module.css.js.map +1 -0
  125. package/Panel/Panel.js +38 -0
  126. package/Panel/Panel.js.map +1 -0
  127. package/Panel/Panel.module.css +1 -0
  128. package/Panel/Panel.module.css.js +16 -0
  129. package/Panel/Panel.module.css.js.map +1 -0
  130. package/ProgressSpinner/ProgressSpinner.js +64 -0
  131. package/ProgressSpinner/ProgressSpinner.js.map +1 -0
  132. package/ProgressSpinner/ProgressSpinner.module.css +1 -0
  133. package/ProgressSpinner/ProgressSpinner.module.css.js +16 -0
  134. package/ProgressSpinner/ProgressSpinner.module.css.js.map +1 -0
  135. package/Radio/Radio.js +44 -0
  136. package/Radio/Radio.js.map +1 -0
  137. package/Radio/Radio.module.css +1 -0
  138. package/Radio/Radio.module.css.js +18 -0
  139. package/Radio/Radio.module.css.js.map +1 -0
  140. package/SegmentControl/SegmentControl.js +74 -0
  141. package/SegmentControl/SegmentControl.js.map +1 -0
  142. package/SegmentControl/SegmentControl.module.css +1 -0
  143. package/SegmentControl/SegmentControl.module.css.js +16 -0
  144. package/SegmentControl/SegmentControl.module.css.js.map +1 -0
  145. package/Select/Select.js +153 -0
  146. package/Select/Select.js.map +1 -0
  147. package/Select/Select.module.css +1 -0
  148. package/Select/Select.module.css.js +46 -0
  149. package/Select/Select.module.css.js.map +1 -0
  150. package/Skeleton/Skeleton.js +78 -0
  151. package/Skeleton/Skeleton.js.map +1 -0
  152. package/Skeleton/Skeleton.module.css +1 -0
  153. package/Skeleton/Skeleton.module.css.js +18 -0
  154. package/Skeleton/Skeleton.module.css.js.map +1 -0
  155. package/Slider/Slider.js +116 -0
  156. package/Slider/Slider.js.map +1 -0
  157. package/Slider/Slider.module.css +1 -0
  158. package/Slider/Slider.module.css.js +24 -0
  159. package/Slider/Slider.module.css.js.map +1 -0
  160. package/Slot/Slot.js +25 -0
  161. package/Slot/Slot.js.map +1 -0
  162. package/Slot/Slot.module.css +1 -0
  163. package/Slot/Slot.module.css.js +16 -0
  164. package/Slot/Slot.module.css.js.map +1 -0
  165. package/Switch/Switch.js +42 -0
  166. package/Switch/Switch.js.map +1 -0
  167. package/Switch/Switch.module.css +1 -0
  168. package/Switch/Switch.module.css.js +11 -0
  169. package/Switch/Switch.module.css.js.map +1 -0
  170. package/Table/Table.js +268 -0
  171. package/Table/Table.js.map +1 -0
  172. package/Table/Table.module.css +1 -0
  173. package/Table/Table.module.css.js +64 -0
  174. package/Table/Table.module.css.js.map +1 -0
  175. package/TableTree/TableTree.js +139 -0
  176. package/TableTree/TableTree.js.map +1 -0
  177. package/TableTree/TableTree.module.css +1 -0
  178. package/TableTree/TableTree.module.css.js +62 -0
  179. package/TableTree/TableTree.module.css.js.map +1 -0
  180. package/Tabs/Tabs.js +92 -0
  181. package/Tabs/Tabs.js.map +1 -0
  182. package/Tabs/Tabs.module.css +1 -0
  183. package/Tabs/Tabs.module.css.js +18 -0
  184. package/Tabs/Tabs.module.css.js.map +1 -0
  185. package/Tag/Tag.js +48 -0
  186. package/Tag/Tag.js.map +1 -0
  187. package/Tag/Tag.module.css +1 -0
  188. package/Tag/Tag.module.css.js +30 -0
  189. package/Tag/Tag.module.css.js.map +1 -0
  190. package/TextField/TextField.js +93 -0
  191. package/TextField/TextField.js.map +1 -0
  192. package/TextField/TextField.module.css +1 -0
  193. package/TextField/TextField.module.css.js +36 -0
  194. package/TextField/TextField.module.css.js.map +1 -0
  195. package/Textarea/Textarea.js +52 -0
  196. package/Textarea/Textarea.js.map +1 -0
  197. package/Textarea/Textarea.module.css +1 -0
  198. package/Textarea/Textarea.module.css.js +32 -0
  199. package/Textarea/Textarea.module.css.js.map +1 -0
  200. package/Toast/Toast.js +82 -0
  201. package/Toast/Toast.js.map +1 -0
  202. package/Toast/Toast.module.css +1 -0
  203. package/Toast/Toast.module.css.js +28 -0
  204. package/Toast/Toast.module.css.js.map +1 -0
  205. package/Tooltip/Tooltip.js +61 -0
  206. package/Tooltip/Tooltip.js.map +1 -0
  207. package/Tooltip/Tooltip.module.css +1 -0
  208. package/Tooltip/Tooltip.module.css.js +26 -0
  209. package/Tooltip/Tooltip.module.css.js.map +1 -0
  210. package/TopBar/TopBar.js +87 -0
  211. package/TopBar/TopBar.js.map +1 -0
  212. package/TopBar/TopBar.module.css +1 -0
  213. package/TopBar/TopBar.module.css.js +30 -0
  214. package/TopBar/TopBar.module.css.js.map +1 -0
  215. package/index.js +90 -4157
  216. package/index.js.map +1 -1
  217. package/package.json +3 -4
  218. package/style.css +0 -1
@@ -0,0 +1 @@
1
+ ._scrollable_1rjtm_9{scrollbar-width:thin;scrollbar-color:var(--color-fill-neutral-muted) transparent}._scrollable_1rjtm_9::-webkit-scrollbar{width:8px;height:8px}._scrollable_1rjtm_9::-webkit-scrollbar-track{background:transparent;border-radius:4px}._scrollable_1rjtm_9::-webkit-scrollbar-thumb{background-color:var(--color-fill-neutral-muted);border-radius:4px}._scrollable_1rjtm_9::-webkit-scrollbar-thumb:hover{background-color:var(--color-fill-neutral-default)}._scrollable_1rjtm_9::-webkit-scrollbar-thumb:active{background-color:var(--color-fill-neutral-strong)}._menu_1w095_2{display:flex;flex-direction:column;background-color:var(--color-canvas-neutral-white);box-shadow:1px 0 2px #0e0f2312;height:100%;min-height:100vh;overflow:hidden;position:relative;transition:width .2s ease}._menuOpened_1w095_14{width:240px}._menuClosed_1w095_18{width:72px}._logo_1w095_23{display:flex;align-items:center;justify-content:flex-start;height:72px;padding:16px;background-color:var(--color-canvas-neutral-white);flex-shrink:0;overflow:hidden}._menuClosed_1w095_18 ._logo_1w095_23{justify-content:center;padding:16px 12px}._logoImg_1w095_39{height:40px;width:auto;object-fit:contain}._logoImgSmall_1w095_45{height:16px;width:auto;object-fit:contain}._content_1w095_52{display:flex;flex-direction:column;flex:1 1 auto;overflow-y:auto;overflow-x:hidden}._menu_1w095_2 ._content_1w095_52{scrollbar-color:transparent transparent}._menu_1w095_2 ._content_1w095_52::-webkit-scrollbar-thumb{background-color:transparent}._menu_1w095_2:hover ._content_1w095_52{scrollbar-color:var(--color-fill-neutral-muted) transparent}._menu_1w095_2:hover ._content_1w095_52::-webkit-scrollbar-thumb{background-color:var(--color-fill-neutral-muted)}._menu_1w095_2:hover ._content_1w095_52::-webkit-scrollbar-thumb:hover{background-color:var(--color-fill-neutral-default)}._section_1w095_82{display:flex;flex-direction:column;gap:8px;padding:16px 8px;background-color:var(--color-canvas-neutral-white)}._menuClosed_1w095_18 ._section_1w095_82{padding:16px 12px}._sectionTitle_1w095_94{display:flex;align-items:center;padding:0 8px;font-family:var(--font-family-base, system-ui, sans-serif);font-size:var(--font-size-14);font-weight:var(--font-weight-semibold);line-height:var(--font-line-height-14);color:var(--color-text-neutral-subtlest);white-space:nowrap;overflow:hidden}._itemGroup_1w095_107{display:flex;flex-direction:column}._item_1w095_107{display:flex;align-items:center;gap:16px;padding:0 8px;height:48px;border-radius:8px;background-color:var(--color-canvas-neutral-white);cursor:pointer;border:none;outline:none;width:100%;text-align:left;text-decoration:none;transition:background-color .12s ease,color .12s ease,box-shadow .12s ease;position:relative;flex-shrink:0}._itemClosed_1w095_136{display:flex;align-items:center;justify-content:center;padding:0 8px;height:48px;width:48px;border-radius:9999px;background-color:var(--color-canvas-neutral-white);cursor:pointer;border:none;outline:none;text-align:left;transition:background-color .12s ease,box-shadow .12s ease;position:relative;flex-shrink:0}._item_1w095_107:hover:not(:disabled),._item_1w095_107._stateHover_1w095_158{background-color:var(--color-fill-interaction-neutral-subtle-hover)}._item_1w095_107._stateActive_1w095_162,._item_1w095_107[aria-current=page]{background-color:var(--color-fill-brand-subtle)}._itemClosed_1w095_136:hover:not(:disabled),._itemClosed_1w095_136._stateHover_1w095_158{background-color:var(--color-fill-interaction-neutral-subtle-hover)}._itemClosed_1w095_136._stateActive_1w095_162,._itemClosed_1w095_136[aria-current=page]{background-color:var(--color-fill-brand-subtle)}._item_1w095_107:focus-visible,._itemClosed_1w095_136:focus-visible{outline:none;box-shadow:var(--shadow-focus)}._item_1w095_107:disabled,._itemClosed_1w095_136:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}._itemLeading_1w095_191{display:flex;align-items:center;gap:16px;flex:1 0 0;min-width:0;padding-right:12px;overflow:hidden}._itemIcon_1w095_201{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--color-icon-neutral-default)}._item_1w095_107._stateActive_1w095_162 ._itemIcon_1w095_201,._item_1w095_107[aria-current=page] ._itemIcon_1w095_201{color:var(--color-icon-brand-default)}._itemClosed_1w095_136 ._itemIcon_1w095_201{color:var(--color-icon-neutral-default)}._itemClosed_1w095_136._stateActive_1w095_162 ._itemIcon_1w095_201,._itemClosed_1w095_136[aria-current=page] ._itemIcon_1w095_201{color:var(--color-icon-brand-default)}._itemLabel_1w095_225{flex:1 0 0;min-width:0;font-family:var(--font-family-base, system-ui, sans-serif);font-size:var(--font-size-14);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-14);color:var(--color-text-neutral-mudle);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}._item_1w095_107._stateActive_1w095_162 ._itemLabel_1w095_225,._item_1w095_107[aria-current=page] ._itemLabel_1w095_225{font-weight:var(--font-weight-semibold);color:var(--color-text-brand-default)}._itemCaret_1w095_244{flex-shrink:0;width:12px;height:12px;display:flex;align-items:center;justify-content:center;color:var(--color-icon-neutral-default);transition:transform .2s ease}._itemCaretExpanded_1w095_255{transform:rotate(180deg)}._submenu_1w095_265{display:grid;grid-template-rows:0fr;transition:grid-template-rows .22s ease}._submenuExpanded_1w095_271{grid-template-rows:1fr}._submenuInner_1w095_275{overflow:hidden;min-height:0;display:flex;flex-direction:column}._itemNested_1w095_283{padding-left:44px}._tooltip_1w095_292{position:fixed;transform:translateY(-50%);background-color:var(--color-fill-neutral-strong);color:var(--color-text-neutral-inverse);font-family:var(--font-family-base, system-ui, sans-serif);font-size:var(--font-size-12);font-weight:var(--font-weight-semibold);line-height:18px;padding:8px 12px;border-radius:8px;white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-layer-sm);z-index:1000}._footer_1w095_310{display:flex;gap:16px;align-items:flex-start;padding:16px;background-color:var(--color-canvas-neutral-white);border-top:1px solid var(--color-stroke-neutral-default);flex-shrink:0;overflow:hidden}._footerIcon_1w095_321{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:var(--color-icon-neutral-default)}._footerText_1w095_331{flex:1 0 0;min-width:0;margin:0;font-family:var(--font-family-base, system-ui, sans-serif);font-size:var(--font-size-12);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-12);color:var(--color-text-neutral-mudle)}._footerLink_1w095_343{font-family:inherit;font-size:inherit;line-height:inherit;font-weight:var(--font-weight-semibold);color:var(--color-text-neutral-mudle);background:none;border:none;padding:0;margin:0;cursor:pointer;text-decoration:underline}._footerLink_1w095_343:focus-visible{outline:none;box-shadow:var(--shadow-focus);border-radius:2px}
@@ -0,0 +1,56 @@
1
+ import './Menu.module.css';const e = "_menu_1w095_2", t = "_menuOpened_1w095_14", o = "_menuClosed_1w095_18", n = "_logo_1w095_23", _ = "_content_1w095_52 _scrollable_1rjtm_9", s = "_section_1w095_82", i = "_sectionTitle_1w095_94", m = "_itemGroup_1w095_107", c = "_item_1w095_107", u = "_itemClosed_1w095_136", d = "_stateActive_1w095_162", r = "_itemLeading_1w095_191", w = "_itemIcon_1w095_201", a = "_itemLabel_1w095_225", l = "_itemCaret_1w095_244", p = "_itemCaretExpanded_1w095_255", b = "_submenu_1w095_265", f = "_submenuExpanded_1w095_271", C = "_submenuInner_1w095_275", x = "_itemNested_1w095_283", I = "_tooltip_1w095_292", L = "_footer_1w095_310", g = "_footerIcon_1w095_321", E = "_footerText_1w095_331", T = "_footerLink_1w095_343", k = {
2
+ menu: e,
3
+ menuOpened: t,
4
+ menuClosed: o,
5
+ logo: n,
6
+ content: _,
7
+ section: s,
8
+ sectionTitle: i,
9
+ itemGroup: m,
10
+ item: c,
11
+ itemClosed: u,
12
+ stateActive: d,
13
+ itemLeading: r,
14
+ itemIcon: w,
15
+ itemLabel: a,
16
+ itemCaret: l,
17
+ itemCaretExpanded: p,
18
+ submenu: b,
19
+ submenuExpanded: f,
20
+ submenuInner: C,
21
+ itemNested: x,
22
+ tooltip: I,
23
+ footer: L,
24
+ footerIcon: g,
25
+ footerText: E,
26
+ footerLink: T
27
+ };
28
+ export {
29
+ _ as content,
30
+ k as default,
31
+ L as footer,
32
+ g as footerIcon,
33
+ T as footerLink,
34
+ E as footerText,
35
+ c as item,
36
+ l as itemCaret,
37
+ p as itemCaretExpanded,
38
+ u as itemClosed,
39
+ m as itemGroup,
40
+ w as itemIcon,
41
+ a as itemLabel,
42
+ r as itemLeading,
43
+ x as itemNested,
44
+ n as logo,
45
+ e as menu,
46
+ o as menuClosed,
47
+ t as menuOpened,
48
+ s as section,
49
+ i as sectionTitle,
50
+ d as stateActive,
51
+ b as submenu,
52
+ f as submenuExpanded,
53
+ C as submenuInner,
54
+ I as tooltip
55
+ };
56
+ //# sourceMappingURL=Menu.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Menu.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,188 @@
1
+ import { TruckTrailer as e, CurrencyCircleDollar as a, House as o, ProjectorScreenChart as l, ClipboardText as t, CallBell as r, Package as n, FlagBanner as i, ChatCenteredText as c, PresentationChart as s, SketchLogo as b, CalendarDots as d, Garage as k, Folder as y, File as g, CheckSquareOffset as m, ListChecks as u, Note as p, Cardholder as C, BoxArrowUp as v, Coins as h, Receipt as f, Percent as A, CurrencyDollar as P, FlagPennant as q, Gear as V } from "@phosphor-icons/react";
2
+ const G = {
3
+ title: "Seleção de portal",
4
+ items: [
5
+ { key: "logtech", label: "Logtech", icon: e },
6
+ { key: "conta-digital", label: "Conta digital", icon: a },
7
+ { key: "combustivel", label: "Combustível", icon: o }
8
+ ]
9
+ }, D = {
10
+ title: "Menu",
11
+ items: [
12
+ { key: "dashboard", label: "Dashboard", icon: l },
13
+ {
14
+ key: "cadastros",
15
+ label: "Cadastros",
16
+ icon: t,
17
+ // Sub-itens não têm ícone (Figma: Show Leading Icon=false)
18
+ children: [
19
+ { key: "transportadora-sub", label: "Transportadora" },
20
+ { key: "motorista", label: "Motorista" },
21
+ { key: "veiculo-sub", label: "Veículo" },
22
+ { key: "filiais", label: "Filiais" },
23
+ { key: "controle-cadastros", label: "Controle de cadastros" },
24
+ { key: "locais", label: "Locais" },
25
+ { key: "noticias", label: "Notícias" },
26
+ { key: "produto", label: "Produto" },
27
+ { key: "grupo-locais", label: "Grupo de locais" },
28
+ { key: "rotas", label: "Rotas" },
29
+ { key: "grupos", label: "Grupos" },
30
+ { key: "observacoes", label: "Observações" },
31
+ { key: "contratos-hazmat", label: "Contratos hazmat" }
32
+ ]
33
+ },
34
+ { key: "solicitacoes", label: "Solicitações", icon: r },
35
+ {
36
+ key: "ofertas",
37
+ label: "Ofertas",
38
+ icon: n,
39
+ children: [
40
+ { key: "ofertas-sub", label: "Ofertas" },
41
+ { key: "pool-ofertas", label: "Pool ofertas" },
42
+ { key: "alcada-aprovacoes", label: "Alçada de aprovações" },
43
+ { key: "automacao-divulgacao", label: "Automação de divulgação de lotes" },
44
+ { key: "parametros-desagio", label: "Parâmetros de deságio" }
45
+ ]
46
+ },
47
+ { key: "gerenciadora", label: "Gerenciadora de risco", icon: i },
48
+ {
49
+ key: "viagens",
50
+ label: "Viagens",
51
+ icon: e,
52
+ children: [
53
+ { key: "viagens-sub", label: "Viagens" },
54
+ { key: "acompanhamento-viagem", label: "Acompanhamento de viagem" },
55
+ { key: "painel-viagem", label: "Painel de viagem" },
56
+ { key: "monitoramento-viagem", label: "Monitoramento" },
57
+ { key: "relatorio-agente-frete", label: "Relatório de agente de frete" }
58
+ ]
59
+ },
60
+ { key: "mensagens", label: "Mensagens", icon: c },
61
+ { key: "painel", label: "Painel", icon: s },
62
+ { key: "clube", label: "Clube Vector", icon: b },
63
+ { key: "tomada", label: "Tomada de preço", icon: a },
64
+ {
65
+ key: "agendamento",
66
+ label: "Agendamento",
67
+ icon: d,
68
+ children: [
69
+ { key: "carga-descarga", label: "Carga e descarga" },
70
+ { key: "fornecedor-cliente", label: "Fornecedor/Cliente" },
71
+ { key: "viagem-amiga-ag", label: "Viagem Amiga" },
72
+ { key: "gestao-agendamento", label: "Gestão de agendamento" }
73
+ ]
74
+ },
75
+ {
76
+ key: "logistica",
77
+ label: "Logística Interna",
78
+ icon: k,
79
+ children: [
80
+ { key: "gestao-patio", label: "Gestão de pátio" },
81
+ { key: "frentes-carregamento", label: "Frentes de carregamento" },
82
+ { key: "config-docas", label: "Configuração de docas" },
83
+ { key: "track-pass", label: "Track pass" },
84
+ { key: "checklist-log", label: "Checklist" }
85
+ ]
86
+ },
87
+ { key: "gdv", label: "GDV", icon: y },
88
+ { key: "relatorio-vpay", label: "Relatório VPay", icon: g },
89
+ { key: "enquetes", label: "Enquetes", icon: m },
90
+ { key: "avaliacao", label: "Avaliação Operacional", icon: u },
91
+ {
92
+ key: "quitacao",
93
+ label: "Quitação Digital",
94
+ icon: p,
95
+ children: [
96
+ { key: "painel-controle", label: "Painel de controle" },
97
+ { key: "entrega-documental", label: "Entrega documental" },
98
+ { key: "painel-controle-emb", label: "Painel de controle embarcador" },
99
+ { key: "entrega-documental-transp", label: "Entrega documental transportador" },
100
+ { key: "regularizacao-documental", label: "Regularização documental" }
101
+ ]
102
+ },
103
+ {
104
+ key: "cartoes",
105
+ label: "Controle de cartões",
106
+ icon: C,
107
+ children: [
108
+ { key: "estoque-cartoes-vector", label: "Estoque cartões Vector" },
109
+ { key: "estoque-cartoes-parceiros", label: "Estoque cartões parceiros" },
110
+ { key: "vinculacao-cartoes", label: "Vinculação de cartões" }
111
+ ]
112
+ },
113
+ { key: "transportadora", label: "Transportadora digital", icon: v },
114
+ {
115
+ key: "antecipacao",
116
+ label: "Antecipação de recebíveis",
117
+ icon: h,
118
+ children: [
119
+ { key: "antecipacao-sub", label: "Antecipação de recebíveis" },
120
+ { key: "gestao-antecipacoes", label: "Gestão de antecipações" }
121
+ ]
122
+ },
123
+ {
124
+ key: "pagamento",
125
+ label: "Pagamento de frete",
126
+ icon: f,
127
+ children: [
128
+ { key: "gestao-pagamentos", label: "Gestão de pagamentos" },
129
+ { key: "viagens-vector-pay", label: "Viagens Vector Pay" },
130
+ { key: "adiantamento-quitacao", label: "Adiantamento e quitação de pagamentos" },
131
+ { key: "motor-pagamento", label: "Motor de pagamento" },
132
+ { key: "extrato-pagamento", label: "Extrato de pagamento" },
133
+ { key: "controle-limite", label: "Controle de limite" },
134
+ { key: "acompanhamento-boleto-fob", label: "Acompanhamento de boleto FOB" },
135
+ { key: "agenda-pagamento", label: "Agenda de pagamento" },
136
+ { key: "dados-bancarios", label: "Dados bancários" },
137
+ { key: "relatorio-receita-taxas", label: "Relatório receita de taxas" },
138
+ { key: "ajuste-frete", label: "Ajuste de frete" }
139
+ ]
140
+ },
141
+ { key: "imposto-renda", label: "Imposto de renda", icon: A },
142
+ {
143
+ key: "financeiro",
144
+ label: "Financeiro",
145
+ icon: P,
146
+ children: [
147
+ { key: "cadoc-4111", label: "CADOC 4111" },
148
+ { key: "cadoc-1201", label: "CADOC 1201" },
149
+ { key: "bc-correios", label: "BC Correios" },
150
+ { key: "notas-debito", label: "Notas de débito" },
151
+ { key: "sap", label: "Sap" }
152
+ ]
153
+ },
154
+ { key: "config-gr", label: "Configurações de serviços GR", icon: q },
155
+ {
156
+ key: "admin",
157
+ label: "Admin",
158
+ icon: V,
159
+ children: [
160
+ { key: "usuarios", label: "Usuários" },
161
+ { key: "relatorio", label: "Relatório" },
162
+ { key: "broadcast", label: "Broadcast" },
163
+ { key: "veiculos-admin", label: "Veículos" },
164
+ { key: "enquetes-admin", label: "Enquetes" },
165
+ { key: "avaliacao-admin", label: "Avaliação Operacional" },
166
+ { key: "ocorrencias", label: "Ocorrências" },
167
+ { key: "viagem-amiga", label: "Viagem Amiga" },
168
+ { key: "parametros-produto", label: "Parâmetros de Produto" },
169
+ { key: "geocerca", label: "Geocerca" },
170
+ { key: "cadastrar-embarcador", label: "Cadastrar Embarcador" },
171
+ { key: "bloqueio", label: "Bloqueio" },
172
+ { key: "bloqueio-conta", label: "Bloqueio de conta" },
173
+ { key: "mensagens-vector", label: "Mensagens Vector" },
174
+ { key: "log-antecipacao", label: "Log Antecipação de recebíveis" },
175
+ { key: "onboarding-tracking", label: "Onboarding Tracking" },
176
+ { key: "validacao-cadastro", label: "Validação de Cadastro" },
177
+ { key: "communication-logs", label: "Communication logs" },
178
+ { key: "parametros-etcd", label: "Parametros ETCD" },
179
+ { key: "central-atendimento", label: "Central atendimento" },
180
+ { key: "data-import", label: "Data Import" }
181
+ ]
182
+ }
183
+ ]
184
+ }, T = [G, D];
185
+ export {
186
+ T as defaultMenuSections
187
+ };
188
+ //# sourceMappingURL=menuData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"menuData.js","sources":["../../src/Menu/menuData.ts"],"sourcesContent":["import {\n House,\n ProjectorScreenChart,\n ClipboardText,\n CallBell,\n Package,\n FlagBanner,\n TruckTrailer,\n ChatCenteredText,\n PresentationChart,\n SketchLogo,\n CurrencyCircleDollar,\n CurrencyDollar,\n CalendarDots,\n Garage,\n Folder,\n File,\n CheckSquareOffset,\n ListChecks,\n Note,\n Cardholder,\n BoxArrowUp,\n Coins,\n Receipt,\n Percent,\n FlagPennant,\n Gear,\n} from '@phosphor-icons/react';\nimport type { MenuSectionDef } from './Menu.js';\n\n// ─── Dados padrão do Menu ───────────────────────────────────────────────────\n//\n// Fonte de verdade dos itens do menu Vector. Fiel ao nó do Figma 13648:1070\n// (\".Menu / Item Group\"): mesmos ícones (os Phosphor que o próprio Figma usa),\n// mesmos labels e mesma ordem.\n//\n// Regra do caret: trailing caret = tem submenu. Hoje só 3 submenus existem no\n// Figma (Cadastros, Ofertas, Admin); só eles recebem `children` e expandem\n// (collapse). Os demais ficam planos até que seus submenus sejam definidos.\n//\n// O componente <Menu /> consome isto como default (`sections`). O Storybook e\n// os protótipos apenas refletem — para um conjunto diferente de itens, passe\n// `sections` explicitamente.\n\nconst portalSection: MenuSectionDef = {\n title: 'Seleção de portal',\n items: [\n { key: 'logtech', label: 'Logtech', icon: TruckTrailer },\n { key: 'conta-digital', label: 'Conta digital', icon: CurrencyCircleDollar },\n { key: 'combustivel', label: 'Combustível', icon: House },\n ],\n};\n\nconst menuSection: MenuSectionDef = {\n title: 'Menu',\n items: [\n { key: 'dashboard', label: 'Dashboard', icon: ProjectorScreenChart },\n {\n key: 'cadastros',\n label: 'Cadastros',\n icon: ClipboardText,\n // Sub-itens não têm ícone (Figma: Show Leading Icon=false)\n children: [\n { key: 'transportadora-sub', label: 'Transportadora' },\n { key: 'motorista', label: 'Motorista' },\n { key: 'veiculo-sub', label: 'Veículo' },\n { key: 'filiais', label: 'Filiais' },\n { key: 'controle-cadastros', label: 'Controle de cadastros' },\n { key: 'locais', label: 'Locais' },\n { key: 'noticias', label: 'Notícias' },\n { key: 'produto', label: 'Produto' },\n { key: 'grupo-locais', label: 'Grupo de locais' },\n { key: 'rotas', label: 'Rotas' },\n { key: 'grupos', label: 'Grupos' },\n { key: 'observacoes', label: 'Observações' },\n { key: 'contratos-hazmat', label: 'Contratos hazmat' },\n ],\n },\n { key: 'solicitacoes', label: 'Solicitações', icon: CallBell },\n {\n key: 'ofertas',\n label: 'Ofertas',\n icon: Package,\n children: [\n { key: 'ofertas-sub', label: 'Ofertas' },\n { key: 'pool-ofertas', label: 'Pool ofertas' },\n { key: 'alcada-aprovacoes', label: 'Alçada de aprovações' },\n { key: 'automacao-divulgacao', label: 'Automação de divulgação de lotes' },\n { key: 'parametros-desagio', label: 'Parâmetros de deságio' },\n ],\n },\n { key: 'gerenciadora', label: 'Gerenciadora de risco', icon: FlagBanner },\n {\n key: 'viagens',\n label: 'Viagens',\n icon: TruckTrailer,\n children: [\n { key: 'viagens-sub', label: 'Viagens' },\n { key: 'acompanhamento-viagem', label: 'Acompanhamento de viagem' },\n { key: 'painel-viagem', label: 'Painel de viagem' },\n { key: 'monitoramento-viagem', label: 'Monitoramento' },\n { key: 'relatorio-agente-frete', label: 'Relatório de agente de frete' },\n ],\n },\n { key: 'mensagens', label: 'Mensagens', icon: ChatCenteredText },\n { key: 'painel', label: 'Painel', icon: PresentationChart },\n { key: 'clube', label: 'Clube Vector', icon: SketchLogo },\n { key: 'tomada', label: 'Tomada de preço', icon: CurrencyCircleDollar },\n {\n key: 'agendamento',\n label: 'Agendamento',\n icon: CalendarDots,\n children: [\n { key: 'carga-descarga', label: 'Carga e descarga' },\n { key: 'fornecedor-cliente', label: 'Fornecedor/Cliente' },\n { key: 'viagem-amiga-ag', label: 'Viagem Amiga' },\n { key: 'gestao-agendamento', label: 'Gestão de agendamento' },\n ],\n },\n {\n key: 'logistica',\n label: 'Logística Interna',\n icon: Garage,\n children: [\n { key: 'gestao-patio', label: 'Gestão de pátio' },\n { key: 'frentes-carregamento', label: 'Frentes de carregamento' },\n { key: 'config-docas', label: 'Configuração de docas' },\n { key: 'track-pass', label: 'Track pass' },\n { key: 'checklist-log', label: 'Checklist' },\n ],\n },\n { key: 'gdv', label: 'GDV', icon: Folder },\n { key: 'relatorio-vpay', label: 'Relatório VPay', icon: File },\n { key: 'enquetes', label: 'Enquetes', icon: CheckSquareOffset },\n { key: 'avaliacao', label: 'Avaliação Operacional', icon: ListChecks },\n {\n key: 'quitacao',\n label: 'Quitação Digital',\n icon: Note,\n children: [\n { key: 'painel-controle', label: 'Painel de controle' },\n { key: 'entrega-documental', label: 'Entrega documental' },\n { key: 'painel-controle-emb', label: 'Painel de controle embarcador' },\n { key: 'entrega-documental-transp', label: 'Entrega documental transportador' },\n { key: 'regularizacao-documental', label: 'Regularização documental' },\n ],\n },\n {\n key: 'cartoes',\n label: 'Controle de cartões',\n icon: Cardholder,\n children: [\n { key: 'estoque-cartoes-vector', label: 'Estoque cartões Vector' },\n { key: 'estoque-cartoes-parceiros', label: 'Estoque cartões parceiros' },\n { key: 'vinculacao-cartoes', label: 'Vinculação de cartões' },\n ],\n },\n { key: 'transportadora', label: 'Transportadora digital', icon: BoxArrowUp },\n {\n key: 'antecipacao',\n label: 'Antecipação de recebíveis',\n icon: Coins,\n children: [\n { key: 'antecipacao-sub', label: 'Antecipação de recebíveis' },\n { key: 'gestao-antecipacoes', label: 'Gestão de antecipações' },\n ],\n },\n {\n key: 'pagamento',\n label: 'Pagamento de frete',\n icon: Receipt,\n children: [\n { key: 'gestao-pagamentos', label: 'Gestão de pagamentos' },\n { key: 'viagens-vector-pay', label: 'Viagens Vector Pay' },\n { key: 'adiantamento-quitacao', label: 'Adiantamento e quitação de pagamentos' },\n { key: 'motor-pagamento', label: 'Motor de pagamento' },\n { key: 'extrato-pagamento', label: 'Extrato de pagamento' },\n { key: 'controle-limite', label: 'Controle de limite' },\n { key: 'acompanhamento-boleto-fob', label: 'Acompanhamento de boleto FOB' },\n { key: 'agenda-pagamento', label: 'Agenda de pagamento' },\n { key: 'dados-bancarios', label: 'Dados bancários' },\n { key: 'relatorio-receita-taxas', label: 'Relatório receita de taxas' },\n { key: 'ajuste-frete', label: 'Ajuste de frete' },\n ],\n },\n { key: 'imposto-renda', label: 'Imposto de renda', icon: Percent },\n {\n key: 'financeiro',\n label: 'Financeiro',\n icon: CurrencyDollar,\n children: [\n { key: 'cadoc-4111', label: 'CADOC 4111' },\n { key: 'cadoc-1201', label: 'CADOC 1201' },\n { key: 'bc-correios', label: 'BC Correios' },\n { key: 'notas-debito', label: 'Notas de débito' },\n { key: 'sap', label: 'Sap' },\n ],\n },\n { key: 'config-gr', label: 'Configurações de serviços GR', icon: FlagPennant },\n {\n key: 'admin',\n label: 'Admin',\n icon: Gear,\n children: [\n { key: 'usuarios', label: 'Usuários' },\n { key: 'relatorio', label: 'Relatório' },\n { key: 'broadcast', label: 'Broadcast' },\n { key: 'veiculos-admin', label: 'Veículos' },\n { key: 'enquetes-admin', label: 'Enquetes' },\n { key: 'avaliacao-admin', label: 'Avaliação Operacional' },\n { key: 'ocorrencias', label: 'Ocorrências' },\n { key: 'viagem-amiga', label: 'Viagem Amiga' },\n { key: 'parametros-produto', label: 'Parâmetros de Produto' },\n { key: 'geocerca', label: 'Geocerca' },\n { key: 'cadastrar-embarcador', label: 'Cadastrar Embarcador' },\n { key: 'bloqueio', label: 'Bloqueio' },\n { key: 'bloqueio-conta', label: 'Bloqueio de conta' },\n { key: 'mensagens-vector', label: 'Mensagens Vector' },\n { key: 'log-antecipacao', label: 'Log Antecipação de recebíveis' },\n { key: 'onboarding-tracking', label: 'Onboarding Tracking' },\n { key: 'validacao-cadastro', label: 'Validação de Cadastro' },\n { key: 'communication-logs', label: 'Communication logs' },\n { key: 'parametros-etcd', label: 'Parametros ETCD' },\n { key: 'central-atendimento', label: 'Central atendimento' },\n { key: 'data-import', label: 'Data Import' },\n ],\n },\n ],\n};\n\n/** Seções padrão do Menu (portal + itens), fiéis ao Figma. */\nexport const defaultMenuSections: MenuSectionDef[] = [portalSection, menuSection];\n"],"names":["portalSection","TruckTrailer","CurrencyCircleDollar","House","menuSection","ProjectorScreenChart","ClipboardText","CallBell","Package","FlagBanner","ChatCenteredText","PresentationChart","SketchLogo","CalendarDots","Garage","Folder","File","CheckSquareOffset","ListChecks","Note","Cardholder","BoxArrowUp","Coins","Receipt","Percent","CurrencyDollar","FlagPennant","Gear","defaultMenuSections"],"mappings":"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"}
@@ -0,0 +1,88 @@
1
+ import { jsxs as t, jsx as s } from "react/jsx-runtime";
2
+ import { WarningCircle as d, SealWarning as f, XCircle as p, CheckCircle as C, Warning as v, Info as N, X as x } from "@phosphor-icons/react";
3
+ import { Icon as I } from "../Icon/Icon.js";
4
+ import { Button as w } from "../Button/Button.js";
5
+ import { IconButton as k } from "../IconButton/IconButton.js";
6
+ import e from "./Message.module.css.js";
7
+ const B = {
8
+ info: N,
9
+ warning: v,
10
+ success: C,
11
+ danger: p,
12
+ highlight: f,
13
+ neutral: d
14
+ }, S = {
15
+ info: e.typeInfo,
16
+ warning: e.typeWarning,
17
+ success: e.typeSuccess,
18
+ danger: e.typeDanger,
19
+ highlight: e.typeHighlight,
20
+ neutral: e.typeNeutral
21
+ }, W = {
22
+ info: "status",
23
+ warning: "alert",
24
+ success: "status",
25
+ danger: "alert",
26
+ highlight: "status",
27
+ neutral: "status"
28
+ };
29
+ function _({
30
+ type: n = "info",
31
+ message: r = "Message Content",
32
+ showIcon: o = !0,
33
+ actionLabel: a,
34
+ onAction: l,
35
+ showClose: c = !0,
36
+ onClose: g,
37
+ disabled: i = !1,
38
+ className: m
39
+ }) {
40
+ const h = B[n], u = [
41
+ e.message,
42
+ S[n],
43
+ i ? e.disabled : void 0,
44
+ m
45
+ ].filter(Boolean).join(" ");
46
+ return /* @__PURE__ */ t(
47
+ "div",
48
+ {
49
+ className: u,
50
+ role: W[n],
51
+ "aria-live": n === "danger" || n === "warning" ? "assertive" : "polite",
52
+ children: [
53
+ /* @__PURE__ */ t("div", { className: e.content, children: [
54
+ o && /* @__PURE__ */ s("span", { className: e.icon, "aria-hidden": "true", children: /* @__PURE__ */ s(I, { as: h, size: 20, weight: "bold" }) }),
55
+ /* @__PURE__ */ t("div", { className: e.text, children: [
56
+ /* @__PURE__ */ s("span", { className: e.messageText, children: r }),
57
+ a && /* @__PURE__ */ s(
58
+ w,
59
+ {
60
+ variant: "link",
61
+ size: "xsmall",
62
+ onClick: l,
63
+ disabled: i,
64
+ children: a
65
+ }
66
+ )
67
+ ] })
68
+ ] }),
69
+ c && /* @__PURE__ */ s(
70
+ k,
71
+ {
72
+ icon: x,
73
+ variant: "ghost",
74
+ size: "xsmall",
75
+ "aria-label": "Dismiss message",
76
+ onClick: g,
77
+ disabled: i,
78
+ className: e.closeButton
79
+ }
80
+ )
81
+ ]
82
+ }
83
+ );
84
+ }
85
+ export {
86
+ _ as Message
87
+ };
88
+ //# sourceMappingURL=Message.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Message.js","sources":["../../src/Message/Message.tsx"],"sourcesContent":["import React from 'react';\nimport type { Icon as PhosphorIcon } from '@phosphor-icons/react';\nimport {\n Info,\n Warning,\n CheckCircle,\n XCircle,\n SealWarning,\n WarningCircle,\n X,\n} from '@phosphor-icons/react';\nimport { Icon } from '../Icon/index.js';\nimport { Button } from '../Button/index.js';\nimport { IconButton } from '../IconButton/index.js';\nimport styles from './Message.module.css';\n\nexport type MessageType = 'info' | 'warning' | 'success' | 'danger' | 'highlight' | 'neutral';\n\nexport interface MessageProps {\n /** The semantic type of the message, which controls background, border, and icon */\n type?: MessageType;\n /** The message text content */\n message?: string;\n /** Whether to show the leading icon */\n showIcon?: boolean;\n /** Label and optional click handler for an inline action button */\n actionLabel?: string;\n /** Callback fired when the action button is clicked */\n onAction?: () => void;\n /** Whether to render the close/dismiss button */\n showClose?: boolean;\n /** Callback fired when the close button is clicked */\n onClose?: () => void;\n /** Whether the message is in a disabled state */\n disabled?: boolean;\n /** Additional CSS class name */\n className?: string;\n}\n\nconst TYPE_ICON: Record<MessageType, PhosphorIcon> = {\n info: Info,\n warning: Warning,\n success: CheckCircle,\n danger: XCircle,\n highlight: SealWarning,\n neutral: WarningCircle,\n};\n\nconst TYPE_CLASS: Record<MessageType, string> = {\n info: styles.typeInfo,\n warning: styles.typeWarning,\n success: styles.typeSuccess,\n danger: styles.typeDanger,\n highlight: styles.typeHighlight,\n neutral: styles.typeNeutral,\n};\n\nconst ARIA_ROLE: Record<MessageType, string> = {\n info: 'status',\n warning: 'alert',\n success: 'status',\n danger: 'alert',\n highlight: 'status',\n neutral: 'status',\n};\n\nexport function Message({\n type = 'info',\n message = 'Message Content',\n showIcon = true,\n actionLabel,\n onAction,\n showClose = true,\n onClose,\n disabled = false,\n className,\n}: MessageProps) {\n const IconComponent = TYPE_ICON[type];\n\n const cls = [\n styles.message,\n TYPE_CLASS[type],\n disabled ? styles.disabled : undefined,\n className,\n ]\n .filter(Boolean)\n .join(' ');\n\n return (\n <div\n className={cls}\n role={ARIA_ROLE[type]}\n aria-live={type === 'danger' || type === 'warning' ? 'assertive' : 'polite'}\n >\n {/* Left: icon + text + optional action */}\n <div className={styles.content}>\n {showIcon && (\n <span className={styles.icon} aria-hidden=\"true\">\n <Icon as={IconComponent} size={20} weight=\"bold\" />\n </span>\n )}\n\n <div className={styles.text}>\n <span className={styles.messageText}>{message}</span>\n\n {actionLabel && (\n <Button\n variant=\"link\"\n size=\"xsmall\"\n onClick={onAction}\n disabled={disabled}\n >\n {actionLabel}\n </Button>\n )}\n </div>\n </div>\n\n {/* Right: close button */}\n {showClose && (\n <IconButton\n icon={X}\n variant=\"ghost\"\n size=\"xsmall\"\n aria-label=\"Dismiss message\"\n onClick={onClose}\n disabled={disabled}\n className={styles.closeButton}\n />\n )}\n </div>\n );\n}\n"],"names":["TYPE_ICON","Info","Warning","CheckCircle","XCircle","SealWarning","WarningCircle","TYPE_CLASS","styles","ARIA_ROLE","Message","type","message","showIcon","actionLabel","onAction","showClose","onClose","disabled","className","IconComponent","cls","jsxs","jsx","Icon","Button","IconButton","X"],"mappings":";;;;;;AAuCA,MAAMA,IAA+C;AAAA,EACnD,MAAWC;AAAA,EACX,SAAWC;AAAA,EACX,SAAWC;AAAA,EACX,QAAWC;AAAA,EACX,WAAWC;AAAA,EACX,SAAWC;AACb,GAEMC,IAA0C;AAAA,EAC9C,MAAWC,EAAO;AAAA,EAClB,SAAWA,EAAO;AAAA,EAClB,SAAWA,EAAO;AAAA,EAClB,QAAWA,EAAO;AAAA,EAClB,WAAWA,EAAO;AAAA,EAClB,SAAWA,EAAO;AACpB,GAEMC,IAAyC;AAAA,EAC7C,MAAW;AAAA,EACX,SAAW;AAAA,EACX,SAAW;AAAA,EACX,QAAW;AAAA,EACX,WAAW;AAAA,EACX,SAAW;AACb;AAEO,SAASC,EAAQ;AAAA,EACtB,MAAAC,IAAO;AAAA,EACP,SAAAC,IAAU;AAAA,EACV,UAAAC,IAAW;AAAA,EACX,aAAAC;AAAA,EACA,UAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,SAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,WAAAC;AACF,GAAiB;AACf,QAAMC,IAAgBpB,EAAUW,CAAI,GAE9BU,IAAM;AAAA,IACVb,EAAO;AAAA,IACPD,EAAWI,CAAI;AAAA,IACfO,IAAWV,EAAO,WAAW;AAAA,IAC7BW;AAAA,EAAA,EAEC,OAAO,OAAO,EACd,KAAK,GAAG;AAEX,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWD;AAAA,MACX,MAAMZ,EAAUE,CAAI;AAAA,MACpB,aAAWA,MAAS,YAAYA,MAAS,YAAY,cAAc;AAAA,MAGnE,UAAA;AAAA,QAAA,gBAAAW,EAAC,OAAA,EAAI,WAAWd,EAAO,SACpB,UAAA;AAAA,UAAAK,KACC,gBAAAU,EAAC,QAAA,EAAK,WAAWf,EAAO,MAAM,eAAY,QACxC,UAAA,gBAAAe,EAACC,GAAA,EAAK,IAAIJ,GAAe,MAAM,IAAI,QAAO,QAAO,GACnD;AAAA,UAGF,gBAAAE,EAAC,OAAA,EAAI,WAAWd,EAAO,MACrB,UAAA;AAAA,YAAA,gBAAAe,EAAC,QAAA,EAAK,WAAWf,EAAO,aAAc,UAAAI,GAAQ;AAAA,YAE7CE,KACC,gBAAAS;AAAA,cAACE;AAAA,cAAA;AAAA,gBACC,SAAQ;AAAA,gBACR,MAAK;AAAA,gBACL,SAASV;AAAA,gBACT,UAAAG;AAAA,gBAEC,UAAAJ;AAAA,cAAA;AAAA,YAAA;AAAA,UACH,EAAA,CAEJ;AAAA,QAAA,GACF;AAAA,QAGCE,KACC,gBAAAO;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,MAAMC;AAAA,YACN,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,cAAW;AAAA,YACX,SAASV;AAAA,YACT,UAAAC;AAAA,YACA,WAAWV,EAAO;AAAA,UAAA;AAAA,QAAA;AAAA,MACpB;AAAA,IAAA;AAAA,EAAA;AAIR;"}
@@ -0,0 +1 @@
1
+ ._message_1xnms_2{display:flex;align-items:center;justify-content:space-between;gap:8px;height:44px;padding:12px;border-radius:8px;border:1px solid transparent;font-family:var(--font-family-base, system-ui, sans-serif);font-size:var(--font-size-14);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-14);width:100%;box-sizing:border-box}._message_1xnms_2:focus-visible{outline:none;box-shadow:var(--shadow-focus)}._content_1xnms_25{display:flex;align-items:center;gap:8px;flex:1 0 0;min-width:0;overflow:hidden}._text_1xnms_34{flex:1 0 0;min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden}._messageText_1xnms_43{color:var(--color-text-neutral-mudle);font-size:var(--font-size-14);font-weight:var(--font-weight-regular);line-height:var(--font-line-height-14);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1 0 0;min-width:0}._actionButton_1xnms_56{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:30px;min-width:80px;padding:5px 16px;border-radius:8px;border:none;background-color:transparent;color:var(--color-text-brand-default);font-family:var(--font-family-base, system-ui, sans-serif);font-size:var(--font-size-14);font-weight:var(--font-weight-medium);line-height:var(--font-line-height-14);cursor:pointer;white-space:nowrap;flex-shrink:0;transition:color .12s ease}._actionButton_1xnms_56:hover{color:var(--color-text-interaction-brand-hover)}._actionButton_1xnms_56:focus-visible{outline:none;box-shadow:var(--shadow-focus)}._closeButton_1xnms_88{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9999px;border:none;background-color:transparent;color:var(--color-icon-neutral-default);cursor:pointer;flex-shrink:0;padding:0;transition:background-color .12s ease,color .12s ease}._closeButton_1xnms_88:hover{background-color:var(--color-fill-interaction-neutral-subtle-hover)}._closeButton_1xnms_88:focus-visible{outline:none;box-shadow:var(--shadow-focus)}._typeInfo_1xnms_116{background-color:var(--color-fill-feedback-info-subtle);border-color:var(--color-stroke-feedback-info-subtle)}._typeInfo_1xnms_116 ._icon_1xnms_121{color:var(--color-icon-feedback-info-default)}._typeWarning_1xnms_126{background-color:var(--color-fill-feedback-warning-subtle);border-color:var(--color-stroke-feedback-warning-subtle)}._typeWarning_1xnms_126 ._icon_1xnms_121{color:var(--color-icon-feedback-warning-default)}._typeSuccess_1xnms_136{background-color:var(--color-fill-feedback-success-subtle);border-color:var(--color-stroke-feedback-success-subtle)}._typeSuccess_1xnms_136 ._icon_1xnms_121{color:var(--color-icon-feedback-success-default)}._typeDanger_1xnms_146{background-color:var(--color-fill-feedback-danger-subtle);border-color:var(--color-stroke-feedback-danger-subtle)}._typeDanger_1xnms_146 ._icon_1xnms_121{color:var(--color-icon-feedback-danger-default)}._typeHighlight_1xnms_156{background-color:var(--color-fill-feedback-highlight-subtle);border-color:transparent}._typeHighlight_1xnms_156 ._icon_1xnms_121{color:var(--color-fill-feedback-highlight-default)}._typeNeutral_1xnms_166{background-color:var(--color-fill-feedback-neutral-subtle);border-color:var(--color-stroke-neutral-default)}._typeNeutral_1xnms_166 ._icon_1xnms_121{color:var(--color-icon-neutral-default)}._disabled_1xnms_176{opacity:.5;cursor:not-allowed;pointer-events:none}
@@ -0,0 +1,32 @@
1
+ import './Message.module.css';const t = "_message_1xnms_2", e = "_content_1xnms_25", s = "_text_1xnms_34", n = "_messageText_1xnms_43", _ = "_closeButton_1xnms_88", o = "_typeInfo_1xnms_116", c = "_icon_1xnms_121", a = "_typeWarning_1xnms_126", x = "_typeSuccess_1xnms_136", m = "_typeDanger_1xnms_146", p = "_typeHighlight_1xnms_156", y = "_typeNeutral_1xnms_166", g = "_disabled_1xnms_176", i = {
2
+ message: t,
3
+ content: e,
4
+ text: s,
5
+ messageText: n,
6
+ closeButton: _,
7
+ typeInfo: o,
8
+ icon: c,
9
+ typeWarning: a,
10
+ typeSuccess: x,
11
+ typeDanger: m,
12
+ typeHighlight: p,
13
+ typeNeutral: y,
14
+ disabled: g
15
+ };
16
+ export {
17
+ _ as closeButton,
18
+ e as content,
19
+ i as default,
20
+ g as disabled,
21
+ c as icon,
22
+ t as message,
23
+ n as messageText,
24
+ s as text,
25
+ m as typeDanger,
26
+ p as typeHighlight,
27
+ o as typeInfo,
28
+ y as typeNeutral,
29
+ x as typeSuccess,
30
+ a as typeWarning
31
+ };
32
+ //# sourceMappingURL=Message.module.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Message.module.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;"}
package/Modal/Modal.js ADDED
@@ -0,0 +1,186 @@
1
+ import { jsxs as m, jsx as a } from "react/jsx-runtime";
2
+ import { useRef as I, useEffect as p } from "react";
3
+ import { X as j, CheckCircle as M, XCircle as P, Warning as T } from "@phosphor-icons/react";
4
+ import { Icon as B } from "../Icon/Icon.js";
5
+ import { Button as z } from "../Button/Button.js";
6
+ import { IconButton as L } from "../IconButton/IconButton.js";
7
+ import { Divider as _ } from "../Divider/Divider.js";
8
+ import { ProgressSpinner as q } from "../ProgressSpinner/ProgressSpinner.js";
9
+ import { Slot as A } from "../Slot/Slot.js";
10
+ import e from "./Modal.module.css.js";
11
+ const F = {
12
+ small: e.sizeSmall,
13
+ medium: e.sizeMedium,
14
+ large: e.sizeLarge
15
+ };
16
+ function C({
17
+ open: l = !1,
18
+ size: c = "small",
19
+ title: s = "",
20
+ children: g,
21
+ footerActions: o,
22
+ onClose: n,
23
+ noBackdrop: u = !1,
24
+ onBackdropClick: v,
25
+ className: t
26
+ }) {
27
+ const b = I(null);
28
+ if (p(() => {
29
+ if (!l) return;
30
+ const r = (i) => {
31
+ i.key === "Escape" && (n == null || n());
32
+ };
33
+ return document.addEventListener("keydown", r), () => document.removeEventListener("keydown", r);
34
+ }, [l, n]), p(() => {
35
+ var N;
36
+ if (!l) return;
37
+ const r = b.current;
38
+ if (!r) return;
39
+ const i = document.activeElement;
40
+ return (N = r.querySelectorAll(
41
+ 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
42
+ )[0]) == null || N.focus(), () => {
43
+ i == null || i.focus();
44
+ };
45
+ }, [l]), !l) return null;
46
+ const k = () => {
47
+ v ? v() : n == null || n();
48
+ }, w = [e.modal, F[c], t].filter(Boolean).join(" "), f = /* @__PURE__ */ m(
49
+ "div",
50
+ {
51
+ ref: b,
52
+ className: w,
53
+ role: "dialog",
54
+ "aria-modal": "true",
55
+ "aria-labelledby": s ? "modal-title" : void 0,
56
+ onClick: (r) => r.stopPropagation(),
57
+ children: [
58
+ /* @__PURE__ */ m("div", { className: e.head, children: [
59
+ /* @__PURE__ */ a("div", { className: e.titleRow, children: /* @__PURE__ */ a("h2", { id: "modal-title", className: e.title, children: s }) }),
60
+ /* @__PURE__ */ a(_, {})
61
+ ] }),
62
+ /* @__PURE__ */ a("div", { className: e.body, children: /* @__PURE__ */ a(A, { children: g }) }),
63
+ o && o.length > 0 && /* @__PURE__ */ a("div", { className: e.footer, children: /* @__PURE__ */ a("div", { className: e.footerButtons, children: o.map((r, i) => /* @__PURE__ */ a(
64
+ z,
65
+ {
66
+ variant: r.variant ?? (i === o.length - 1 ? "primary" : "secondary"),
67
+ size: "medium",
68
+ disabled: r.disabled,
69
+ onClick: r.onClick,
70
+ children: r.label
71
+ },
72
+ i
73
+ )) }) }),
74
+ n && /* @__PURE__ */ a(
75
+ L,
76
+ {
77
+ icon: j,
78
+ variant: "ghost",
79
+ size: "xsmall",
80
+ "aria-label": "Fechar modal",
81
+ onClick: n,
82
+ className: e.closeButton
83
+ }
84
+ )
85
+ ]
86
+ }
87
+ );
88
+ return u ? f : /* @__PURE__ */ a("div", { className: e.backdrop, onClick: k, children: f });
89
+ }
90
+ const G = {
91
+ warn: "var(--color-icon-feedback-warning-default)",
92
+ error: "var(--color-icon-feedback-danger-default)",
93
+ success: "var(--color-icon-feedback-success-default)",
94
+ loading: "var(--color-fill-brand-default)"
95
+ };
96
+ function ee({
97
+ open: l = !1,
98
+ type: c = "warn",
99
+ title: s = "",
100
+ text: g,
101
+ primaryLabel: o,
102
+ onPrimary: n,
103
+ secondaryLabel: u,
104
+ onSecondary: v,
105
+ onClose: t,
106
+ noBackdrop: b = !1,
107
+ onBackdropClick: k,
108
+ className: w
109
+ }) {
110
+ const f = I(null);
111
+ if (p(() => {
112
+ if (!l) return;
113
+ const d = (h) => {
114
+ h.key === "Escape" && c !== "loading" && (t == null || t());
115
+ };
116
+ return document.addEventListener("keydown", d), () => document.removeEventListener("keydown", d);
117
+ }, [l, t, c]), p(() => {
118
+ var S;
119
+ if (!l) return;
120
+ const d = f.current;
121
+ if (!d) return;
122
+ const h = document.activeElement;
123
+ return (S = d.querySelectorAll(
124
+ 'button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'
125
+ )[0]) == null || S.focus(), () => {
126
+ h == null || h.focus();
127
+ };
128
+ }, [l]), !l) return null;
129
+ const r = () => {
130
+ k ? k() : c !== "loading" && (t == null || t());
131
+ }, i = c === "loading", E = !i && (o || u), N = !i && !!t, x = G[c], R = () => {
132
+ switch (c) {
133
+ case "warn":
134
+ return /* @__PURE__ */ a(B, { as: T, size: 64, weight: "regular", color: x });
135
+ case "error":
136
+ return /* @__PURE__ */ a(B, { as: P, size: 64, weight: "regular", color: x });
137
+ case "success":
138
+ return /* @__PURE__ */ a(B, { as: M, size: 64, weight: "regular", color: x });
139
+ case "loading":
140
+ return /* @__PURE__ */ a(q, { label: "Carregando" });
141
+ }
142
+ }, O = [
143
+ e.dialogBody,
144
+ i ? e.loading : void 0
145
+ ].filter(Boolean).join(" "), D = [e.modal, e.dialog, w].filter(Boolean).join(" "), y = /* @__PURE__ */ m(
146
+ "div",
147
+ {
148
+ ref: f,
149
+ className: D,
150
+ role: "dialog",
151
+ "aria-modal": "true",
152
+ "aria-labelledby": s ? "modal-dialog-title" : void 0,
153
+ onClick: (d) => d.stopPropagation(),
154
+ children: [
155
+ /* @__PURE__ */ m("div", { className: O, children: [
156
+ /* @__PURE__ */ a("div", { className: e.dialogIconWrap, children: R() }),
157
+ /* @__PURE__ */ m("div", { className: e.dialogTextGroup, children: [
158
+ s && /* @__PURE__ */ a("p", { id: "modal-dialog-title", className: e.dialogTitle, children: s }),
159
+ g && /* @__PURE__ */ a("p", { className: e.dialogText, children: g })
160
+ ] })
161
+ ] }),
162
+ E && /* @__PURE__ */ a("div", { className: e.footer, children: /* @__PURE__ */ m("div", { className: e.footerButtons, children: [
163
+ u && /* @__PURE__ */ a(z, { variant: "secondary", size: "medium", onClick: v, children: u }),
164
+ o && /* @__PURE__ */ a(z, { variant: "primary", size: "medium", onClick: n, children: o })
165
+ ] }) }),
166
+ N && /* @__PURE__ */ a(
167
+ L,
168
+ {
169
+ icon: j,
170
+ variant: "ghost",
171
+ size: "xsmall",
172
+ "aria-label": "Fechar modal",
173
+ onClick: t,
174
+ className: e.closeButton
175
+ }
176
+ )
177
+ ]
178
+ }
179
+ );
180
+ return b ? y : /* @__PURE__ */ a("div", { className: e.backdrop, onClick: r, children: y });
181
+ }
182
+ export {
183
+ C as Modal,
184
+ ee as ModalDialog
185
+ };
186
+ //# sourceMappingURL=Modal.js.map