@rafal.lemieszewski/tide-ui 0.83.0 → 0.84.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 (256) hide show
  1. package/README.md +20 -8
  2. package/dist/cjs/components/core-index.cjs +1 -0
  3. package/dist/cjs/components/fundamental/accordion.cjs +1 -0
  4. package/dist/cjs/components/fundamental/alert-dialog.cjs +1 -0
  5. package/dist/cjs/components/fundamental/alert.cjs +1 -0
  6. package/dist/cjs/components/fundamental/autocomplete-search.cjs +1 -0
  7. package/dist/cjs/components/fundamental/avatar-group.cjs +1 -0
  8. package/dist/cjs/components/fundamental/avatar.cjs +1 -0
  9. package/dist/cjs/components/fundamental/badge.cjs +1 -0
  10. package/dist/cjs/components/fundamental/breadcrumb.cjs +1 -0
  11. package/dist/cjs/components/fundamental/button-group.cjs +1 -0
  12. package/dist/cjs/components/fundamental/button.cjs +1 -0
  13. package/dist/cjs/components/fundamental/calendar.cjs +1 -0
  14. package/dist/cjs/components/fundamental/card.cjs +1 -0
  15. package/dist/cjs/components/fundamental/chart.cjs +1 -0
  16. package/dist/cjs/components/fundamental/checkbox.cjs +1 -0
  17. package/dist/cjs/components/fundamental/collapsible.cjs +1 -0
  18. package/dist/cjs/components/fundamental/combobox.cjs +1 -0
  19. package/dist/cjs/components/fundamental/command.cjs +1 -0
  20. package/dist/cjs/components/fundamental/country-dropdown.cjs +1 -0
  21. package/dist/cjs/components/fundamental/custom-icons.cjs +1 -0
  22. package/dist/cjs/components/fundamental/date-picker.cjs +1 -0
  23. package/dist/cjs/components/fundamental/dialog.cjs +1 -0
  24. package/dist/cjs/components/fundamental/drawer.cjs +1 -0
  25. package/dist/cjs/components/fundamental/dropdown-menu.cjs +1 -0
  26. package/dist/cjs/components/fundamental/editable.cjs +1 -0
  27. package/dist/cjs/components/fundamental/empty.cjs +1 -0
  28. package/dist/cjs/components/fundamental/file-upload.cjs +1 -0
  29. package/dist/cjs/components/fundamental/flag.cjs +1 -0
  30. package/dist/cjs/components/fundamental/form-field.cjs +1 -0
  31. package/dist/cjs/components/fundamental/hover-card.cjs +1 -0
  32. package/dist/cjs/components/fundamental/icon.cjs +1 -0
  33. package/dist/cjs/components/fundamental/input-group.cjs +1 -0
  34. package/dist/cjs/components/fundamental/input.cjs +1 -0
  35. package/dist/cjs/components/fundamental/kbd.cjs +1 -0
  36. package/dist/cjs/components/fundamental/label.cjs +1 -0
  37. package/dist/cjs/components/fundamental/month-picker.cjs +1 -0
  38. package/dist/cjs/components/fundamental/pagination.cjs +1 -0
  39. package/dist/cjs/components/fundamental/popover.cjs +1 -0
  40. package/dist/cjs/components/fundamental/progress.cjs +1 -0
  41. package/dist/cjs/components/fundamental/radio-group.cjs +1 -0
  42. package/dist/cjs/components/fundamental/resizable.cjs +1 -0
  43. package/dist/cjs/components/fundamental/scroll-area.cjs +1 -0
  44. package/dist/cjs/components/fundamental/select.cjs +1 -0
  45. package/dist/cjs/components/fundamental/separator.cjs +1 -0
  46. package/dist/cjs/components/fundamental/sheet.cjs +1 -0
  47. package/dist/cjs/components/fundamental/sidebar.cjs +1 -0
  48. package/dist/cjs/components/fundamental/skeleton.cjs +1 -0
  49. package/dist/cjs/components/fundamental/slider.cjs +1 -0
  50. package/dist/cjs/components/fundamental/spinner.cjs +1 -0
  51. package/dist/cjs/components/fundamental/switch.cjs +1 -0
  52. package/dist/cjs/components/fundamental/table.cjs +1 -0
  53. package/dist/cjs/components/fundamental/tabs.cjs +1 -0
  54. package/dist/cjs/components/fundamental/tag.cjs +27 -0
  55. package/dist/cjs/components/fundamental/text-link.cjs +1 -0
  56. package/dist/cjs/components/fundamental/textarea.cjs +1 -0
  57. package/dist/cjs/components/fundamental/toast.cjs +1 -0
  58. package/dist/cjs/components/fundamental/toggle-group.cjs +1 -0
  59. package/dist/cjs/components/fundamental/toggle.cjs +1 -0
  60. package/dist/cjs/components/fundamental/tooltip.cjs +1 -0
  61. package/dist/cjs/components/fundamental/tree.cjs +1 -0
  62. package/dist/cjs/components/product/activity-log.cjs +1 -0
  63. package/dist/cjs/components/product/app-frame.cjs +1 -0
  64. package/dist/cjs/components/product/attributes-list.cjs +1 -0
  65. package/dist/cjs/components/product/bookmarks.cjs +1 -0
  66. package/dist/cjs/components/product/data-table-settings-menu.cjs +1 -0
  67. package/dist/cjs/components/product/data-table.cjs +1 -0
  68. package/dist/cjs/components/product/filters.cjs +1 -0
  69. package/dist/cjs/components/product/fixture-status.cjs +1 -0
  70. package/dist/cjs/components/product/linked-chart.cjs +1 -0
  71. package/dist/cjs/components/product/view-mode-menu.cjs +1 -0
  72. package/dist/cjs/lib/date-utils.cjs +1 -0
  73. package/dist/cjs/lib/hooks.cjs +1 -0
  74. package/dist/cjs/lib/index.cjs +1 -0
  75. package/dist/cjs/lib/utils.cjs +1 -0
  76. package/dist/es/components/core-index.js +37 -0
  77. package/dist/es/components/fundamental/accordion.js +60 -0
  78. package/dist/es/components/fundamental/alert-dialog.js +116 -0
  79. package/dist/es/components/fundamental/alert.js +65 -0
  80. package/dist/es/components/fundamental/autocomplete-search.js +139 -0
  81. package/dist/es/components/fundamental/avatar-group.js +51 -0
  82. package/dist/es/components/fundamental/avatar.js +165 -0
  83. package/dist/es/components/fundamental/badge.js +157 -0
  84. package/dist/es/components/fundamental/breadcrumb.js +142 -0
  85. package/dist/es/components/fundamental/button-group.js +86 -0
  86. package/dist/es/components/fundamental/button.js +186 -0
  87. package/dist/es/components/fundamental/calendar.js +130 -0
  88. package/dist/es/components/fundamental/card.js +68 -0
  89. package/dist/es/components/fundamental/chart.js +1006 -0
  90. package/dist/es/components/fundamental/checkbox.js +51 -0
  91. package/dist/es/components/fundamental/collapsible.js +55 -0
  92. package/dist/es/components/fundamental/combobox.js +229 -0
  93. package/dist/es/components/fundamental/command.js +155 -0
  94. package/dist/es/components/fundamental/country-dropdown.js +215 -0
  95. package/dist/es/components/fundamental/custom-icons.js +876 -0
  96. package/dist/es/components/fundamental/date-picker.js +119 -0
  97. package/dist/es/components/fundamental/dialog.js +106 -0
  98. package/dist/es/components/fundamental/drawer.js +93 -0
  99. package/dist/es/components/fundamental/dropdown-menu.js +600 -0
  100. package/dist/es/components/fundamental/editable.js +123 -0
  101. package/dist/es/components/fundamental/empty.js +152 -0
  102. package/dist/es/components/fundamental/file-upload.js +289 -0
  103. package/dist/es/components/fundamental/flag.js +60 -0
  104. package/dist/es/components/fundamental/form-field.js +352 -0
  105. package/dist/es/components/fundamental/hover-card.js +23 -0
  106. package/dist/es/components/fundamental/icon.js +200 -0
  107. package/dist/es/components/fundamental/input-group.js +135 -0
  108. package/dist/es/components/fundamental/input.js +78 -0
  109. package/dist/es/components/fundamental/kbd.js +57 -0
  110. package/dist/es/components/fundamental/label.js +54 -0
  111. package/dist/es/components/fundamental/month-picker.js +161 -0
  112. package/dist/es/components/fundamental/pagination.js +109 -0
  113. package/dist/es/components/fundamental/popover.js +24 -0
  114. package/dist/es/components/fundamental/progress.js +66 -0
  115. package/dist/es/components/fundamental/radio-group.js +64 -0
  116. package/dist/es/components/fundamental/resizable.js +43 -0
  117. package/dist/es/components/fundamental/scroll-area.js +38 -0
  118. package/dist/es/components/fundamental/select.js +136 -0
  119. package/dist/es/components/fundamental/separator.js +47 -0
  120. package/dist/es/components/fundamental/sheet.js +134 -0
  121. package/dist/es/components/fundamental/sidebar.js +709 -0
  122. package/dist/es/components/fundamental/skeleton.js +158 -0
  123. package/dist/es/components/fundamental/slider.js +35 -0
  124. package/dist/es/components/fundamental/spinner.js +225 -0
  125. package/dist/es/components/fundamental/switch.js +27 -0
  126. package/dist/es/components/fundamental/table.js +263 -0
  127. package/dist/es/components/fundamental/tabs.js +170 -0
  128. package/dist/es/components/fundamental/tag.js +295 -0
  129. package/dist/es/components/fundamental/text-link.js +105 -0
  130. package/dist/es/components/fundamental/textarea.js +47 -0
  131. package/dist/es/components/fundamental/toast.js +108 -0
  132. package/dist/es/components/fundamental/toggle-group.js +37 -0
  133. package/dist/es/components/fundamental/toggle.js +51 -0
  134. package/dist/es/components/fundamental/tooltip.js +26 -0
  135. package/dist/es/components/fundamental/tree.js +161 -0
  136. package/dist/es/components/product/activity-log.js +231 -0
  137. package/dist/es/components/product/app-frame.js +985 -0
  138. package/dist/es/components/product/attributes-list.js +351 -0
  139. package/dist/es/components/product/bookmarks.js +833 -0
  140. package/dist/es/components/product/data-table-settings-menu.js +169 -0
  141. package/dist/es/components/product/data-table.js +2473 -0
  142. package/dist/es/components/product/filters.js +1041 -0
  143. package/dist/es/components/product/fixture-status.js +178 -0
  144. package/dist/es/components/product/linked-chart.js +179 -0
  145. package/dist/es/components/product/view-mode-menu.js +353 -0
  146. package/dist/es/lib/date-utils.js +151 -0
  147. package/dist/es/lib/hooks.js +29 -0
  148. package/dist/es/lib/index.js +348 -0
  149. package/dist/es/lib/utils.js +8 -0
  150. package/dist/es/style.css +1 -0
  151. package/dist/types/bookmarks.d.ts +2 -0
  152. package/dist/types/calendar.d.ts +2 -0
  153. package/dist/types/chart.d.ts +2 -0
  154. package/dist/types/components/core-index.d.cts +135 -0
  155. package/dist/types/components/core-index.d.ts +135 -0
  156. package/dist/{components → types/components}/fundamental/avatar.d.ts +3 -3
  157. package/dist/{components → types/components}/fundamental/badge.d.ts +2 -2
  158. package/dist/{components → types/components}/fundamental/button-group.d.ts +2 -2
  159. package/dist/{components → types/components}/fundamental/button.d.ts +1 -1
  160. package/dist/types/components/fundamental/calendar.d.ts +7 -0
  161. package/dist/types/components/fundamental/chart.d.ts +95 -0
  162. package/dist/{components → types/components}/fundamental/command.d.ts +2 -2
  163. package/dist/types/components/fundamental/country-dropdown.d.ts +34 -0
  164. package/dist/types/components/fundamental/date-picker.d.ts +30 -0
  165. package/dist/{components → types/components}/fundamental/file-upload.d.ts +1 -1
  166. package/dist/{components → types/components}/fundamental/form-field.d.ts +2 -2
  167. package/dist/{components → types/components}/fundamental/form.d.ts +2 -2
  168. package/dist/{components → types/components}/fundamental/icon.d.ts +1 -1
  169. package/dist/{components → types/components}/fundamental/input-group.d.ts +1 -1
  170. package/dist/types/components/fundamental/resizable.d.cts +23 -0
  171. package/dist/{components → types/components}/fundamental/resizable.d.ts +1 -1
  172. package/dist/{components → types/components}/fundamental/sidebar.d.ts +3 -3
  173. package/dist/{components → types/components}/fundamental/spinner.d.ts +1 -1
  174. package/dist/{components → types/components}/fundamental/table.d.ts +3 -3
  175. package/dist/{components → types/components}/fundamental/text-link.d.ts +1 -1
  176. package/dist/{components → types/components}/index.d.ts +118 -118
  177. package/dist/{components → types/components}/product/activity-log.d.ts +1 -1
  178. package/dist/{components → types/components}/product/attributes-list.d.ts +1 -1
  179. package/dist/types/components/product/bookmarks.d.cts +90 -0
  180. package/dist/{components → types/components}/product/bookmarks.d.ts +1 -1
  181. package/dist/types/components/product/data-table.d.ts +802 -0
  182. package/dist/types/components/product/filters.d.ts +124 -0
  183. package/dist/{components → types/components}/product/fixture-status.d.ts +1 -1
  184. package/dist/types/components/product/linked-chart.d.cts +22 -0
  185. package/dist/{components → types/components}/product/linked-chart.d.ts +1 -1
  186. package/dist/types/country-dropdown.d.ts +2 -0
  187. package/dist/types/data-table.d.ts +2 -0
  188. package/dist/types/date-picker.d.ts +2 -0
  189. package/dist/types/filters.d.ts +2 -0
  190. package/dist/types/index.d.ts +2 -0
  191. package/dist/types/lib/index.d.cts +104 -0
  192. package/dist/types/lib/index.d.ts +104 -0
  193. package/dist/types/linked-chart.d.ts +2 -0
  194. package/dist/types/resizable.d.ts +2 -0
  195. package/package.json +191 -31
  196. package/dist/index.cjs.js +0 -144
  197. package/dist/index.cjs.js.map +0 -1
  198. package/dist/index.d.ts +0 -2
  199. package/dist/index.es.js +0 -87768
  200. package/dist/index.es.js.map +0 -1
  201. package/dist/lib/index.d.ts +0 -3
  202. package/dist/style.css +0 -1
  203. /package/dist/{components → types/components}/fundamental/accordion.d.ts +0 -0
  204. /package/dist/{components → types/components}/fundamental/alert-dialog.d.ts +0 -0
  205. /package/dist/{components → types/components}/fundamental/alert.d.ts +0 -0
  206. /package/dist/{components → types/components}/fundamental/autocomplete-search.d.ts +0 -0
  207. /package/dist/{components → types/components}/fundamental/avatar-group.d.ts +0 -0
  208. /package/dist/{components → types/components}/fundamental/breadcrumb.d.ts +0 -0
  209. /package/dist/{components → types/components}/fundamental/button.test.d.ts +0 -0
  210. /package/dist/{components/fundamental/calendar.d.ts → types/components/fundamental/calendar.d.cts} +0 -0
  211. /package/dist/{components → types/components}/fundamental/card.d.ts +0 -0
  212. /package/dist/{components/fundamental/chart.d.ts → types/components/fundamental/chart.d.cts} +0 -0
  213. /package/dist/{components → types/components}/fundamental/checkbox.d.ts +0 -0
  214. /package/dist/{components → types/components}/fundamental/collapsible.d.ts +0 -0
  215. /package/dist/{components → types/components}/fundamental/combobox.d.ts +0 -0
  216. /package/dist/{components/fundamental/country-dropdown.d.ts → types/components/fundamental/country-dropdown.d.cts} +0 -0
  217. /package/dist/{components → types/components}/fundamental/custom-icons.d.ts +0 -0
  218. /package/dist/{components/fundamental/date-picker.d.ts → types/components/fundamental/date-picker.d.cts} +0 -0
  219. /package/dist/{components → types/components}/fundamental/dialog.d.ts +0 -0
  220. /package/dist/{components → types/components}/fundamental/drawer.d.ts +0 -0
  221. /package/dist/{components → types/components}/fundamental/dropdown-menu.d.ts +0 -0
  222. /package/dist/{components → types/components}/fundamental/editable.d.ts +0 -0
  223. /package/dist/{components → types/components}/fundamental/empty.d.ts +0 -0
  224. /package/dist/{components → types/components}/fundamental/flag.d.ts +0 -0
  225. /package/dist/{components → types/components}/fundamental/hover-card.d.ts +0 -0
  226. /package/dist/{components → types/components}/fundamental/input.d.ts +0 -0
  227. /package/dist/{components → types/components}/fundamental/kbd.d.ts +0 -0
  228. /package/dist/{components → types/components}/fundamental/label.d.ts +0 -0
  229. /package/dist/{components → types/components}/fundamental/month-picker.d.ts +0 -0
  230. /package/dist/{components → types/components}/fundamental/pagination.d.ts +0 -0
  231. /package/dist/{components → types/components}/fundamental/popover.d.ts +0 -0
  232. /package/dist/{components → types/components}/fundamental/progress.d.ts +0 -0
  233. /package/dist/{components → types/components}/fundamental/radio-group.d.ts +0 -0
  234. /package/dist/{components → types/components}/fundamental/scroll-area.d.ts +0 -0
  235. /package/dist/{components → types/components}/fundamental/select.d.ts +0 -0
  236. /package/dist/{components → types/components}/fundamental/separator.d.ts +0 -0
  237. /package/dist/{components → types/components}/fundamental/sheet.d.ts +0 -0
  238. /package/dist/{components → types/components}/fundamental/skeleton.d.ts +0 -0
  239. /package/dist/{components → types/components}/fundamental/slider.d.ts +0 -0
  240. /package/dist/{components → types/components}/fundamental/switch.d.ts +0 -0
  241. /package/dist/{components → types/components}/fundamental/tabs.d.ts +0 -0
  242. /package/dist/{components → types/components}/fundamental/tag.d.ts +0 -0
  243. /package/dist/{components → types/components}/fundamental/textarea.d.ts +0 -0
  244. /package/dist/{components → types/components}/fundamental/toast.d.ts +0 -0
  245. /package/dist/{components → types/components}/fundamental/toggle-group.d.ts +0 -0
  246. /package/dist/{components → types/components}/fundamental/toggle.d.ts +0 -0
  247. /package/dist/{components → types/components}/fundamental/tooltip.d.ts +0 -0
  248. /package/dist/{components → types/components}/fundamental/tree.d.ts +0 -0
  249. /package/dist/{components → types/components}/product/app-frame.d.ts +0 -0
  250. /package/dist/{components → types/components}/product/data-table-settings-menu.d.ts +0 -0
  251. /package/dist/{components/product/data-table.d.ts → types/components/product/data-table.d.cts} +0 -0
  252. /package/dist/{components/product/filters.d.ts → types/components/product/filters.d.cts} +0 -0
  253. /package/dist/{components → types/components}/product/view-mode-menu.d.ts +0 -0
  254. /package/dist/{lib → types/lib}/date-utils.d.ts +0 -0
  255. /package/dist/{lib → types/lib}/hooks.d.ts +0 -0
  256. /package/dist/{lib → types/lib}/utils.d.ts +0 -0
@@ -0,0 +1,178 @@
1
+ import { jsxs as d, jsx as o } from "react/jsx-runtime";
2
+ import C from "react";
3
+ import { Icon as s } from "../fundamental/icon.js";
4
+ import { Badge as k } from "../fundamental/badge.js";
5
+ import { cn as t } from "../../lib/utils.js";
6
+ import { TooltipProvider as q, Tooltip as F, TooltipTrigger as T, TooltipContent as R } from "../fundamental/tooltip.js";
7
+ const f = {
8
+ // Order statuses
9
+ "order-draft": { icon: "hexagon-dashed", color: "tertiary", objectLabel: "Order", statusLabel: "Draft" },
10
+ "order-distributed": { icon: "hexagon-asterisk", color: "information", objectLabel: "Order", statusLabel: "Distributed" },
11
+ "order-withdrawn": { icon: "hexagon-minus", color: "error", objectLabel: "Order", statusLabel: "Withdrawn" },
12
+ // Negotiation statuses
13
+ "negotiation-indicative-offer": { icon: "circle-dashed-arrow-down", color: "information", objectLabel: "Negotiation", statusLabel: "Indicative offer" },
14
+ "negotiation-indicative-bid": { icon: "circle-dashed-arrow-up", color: "information", objectLabel: "Negotiation", statusLabel: "Indicative bid" },
15
+ "negotiation-firm-offer": { icon: "circle-arrow-down", color: "information", objectLabel: "Negotiation", statusLabel: "Firm offer" },
16
+ "negotiation-firm-bid": { icon: "circle-arrow-up", color: "information", objectLabel: "Negotiation", statusLabel: "Firm bid" },
17
+ "negotiation-firm": { icon: "circle-dot-2", color: "violet", objectLabel: "Negotiation", statusLabel: "Firm" },
18
+ "negotiation-on-subs": { icon: "circle-diamond", color: "warning", objectLabel: "Negotiation", statusLabel: "On subs" },
19
+ "negotiation-fixed": { icon: "circle-check-2", color: "success", objectLabel: "Negotiation", statusLabel: "Fixed" },
20
+ "negotiation-firm-offer-expired": { icon: "clock-alert", color: "error", objectLabel: "Negotiation", statusLabel: "(Firm offer) Expired" },
21
+ "negotiation-withdrawn": { icon: "circle-minus", color: "error", objectLabel: "Negotiation", statusLabel: "Withdrawn" },
22
+ "negotiation-firm-amendment": { icon: "circle-plus", color: "violet", objectLabel: "Negotiation", statusLabel: "Firm (Amendment)" },
23
+ "negotiation-subs-expired": { icon: "clock-alert", color: "error", objectLabel: "Negotiation", statusLabel: "Subs expired" },
24
+ "negotiation-subs-failed": { icon: "circle-slash", color: "error", objectLabel: "Negotiation", statusLabel: "Subs failed" },
25
+ "negotiation-on-subs-amendment": { icon: "circle-plus", color: "warning", objectLabel: "Negotiation", statusLabel: "On subs (amendment)" },
26
+ // Contract statuses
27
+ "contract-draft": { icon: "square-dashed-chart-gantt", color: "tertiary", objectLabel: "Contract", statusLabel: "Draft" },
28
+ "contract-working-copy": { icon: "square-chart-gantt", color: "information", objectLabel: "Contract", statusLabel: "Working copy" },
29
+ "contract-final": { icon: "square-check", color: "success", objectLabel: "Contract", statusLabel: "Final" },
30
+ "contract-rejected": { icon: "square-x", color: "error", objectLabel: "Contract", statusLabel: "Rejected" },
31
+ // Addenda statuses
32
+ "addenda-draft": { icon: "square-dashed-corner-plus", color: "tertiary", objectLabel: "Addenda", statusLabel: "Draft" },
33
+ "addenda-working-copy": { icon: "square-corner-plus", color: "information", objectLabel: "Addenda", statusLabel: "Working copy" },
34
+ "addenda-final": { icon: "square-corner-check", color: "success", objectLabel: "Addenda", statusLabel: "Final" },
35
+ // Recap Manager statuses
36
+ "recap-manager-draft": { icon: "square-dashed-chart-gantt", color: "tertiary", objectLabel: "Recap manager", statusLabel: "Draft" },
37
+ "recap-manager-on-subs": { icon: "square-diamond", color: "warning", objectLabel: "Recap manager", statusLabel: "On subs" },
38
+ "recap-manager-fully-fixed": { icon: "square-check", color: "success", objectLabel: "Recap manager", statusLabel: "Fully fixed" },
39
+ "recap-manager-canceled": { icon: "square-minus", color: "error", objectLabel: "Recap manager", statusLabel: "Canceled" },
40
+ "recap-manager-failed": { icon: "square-slash", color: "error", objectLabel: "Recap manager", statusLabel: "Failed" }
41
+ }, L = {
42
+ xs: "text-body-medium-xsm",
43
+ s: "text-body-medium-sm",
44
+ m: "text-body-medium-md",
45
+ l: "text-body-medium-lg"
46
+ }, l = {
47
+ xs: "s",
48
+ s: "s",
49
+ m: "m",
50
+ l: "l"
51
+ }, x = {
52
+ xs: "translate-y-[0.5px]",
53
+ s: "translate-y-[0px]",
54
+ m: "translate-y-[0.5px]",
55
+ l: "translate-y-[0.5px]"
56
+ }, p = {
57
+ xs: "gap-[var(--space-xs)]",
58
+ s: "gap-[var(--space-xs)]",
59
+ m: "gap-[var(--space-s)]",
60
+ l: "gap-[var(--space-s)]"
61
+ }, h = {
62
+ primary: "text-[var(--color-text-primary)]",
63
+ secondary: "text-[var(--color-text-secondary)]",
64
+ tertiary: "text-[var(--color-text-tertiary)]",
65
+ brand: "text-[var(--color-text-brand-bold)]",
66
+ information: "text-[var(--color-text-info-bold)]",
67
+ success: "text-[var(--color-text-success-bold)]",
68
+ warning: "text-[var(--color-text-warning-bold)]",
69
+ error: "text-[var(--color-text-error-bold)]",
70
+ violet: "text-[var(--violet-500)]"
71
+ }, O = {
72
+ primary: "neutral",
73
+ secondary: "neutral",
74
+ tertiary: "neutral",
75
+ brand: "brand",
76
+ information: "information",
77
+ success: "success",
78
+ warning: "warning",
79
+ error: "destructive",
80
+ violet: "violet"
81
+ }, S = {
82
+ xs: "xs",
83
+ s: "s",
84
+ m: "m",
85
+ l: "l"
86
+ }, D = /* @__PURE__ */ C.forwardRef(
87
+ ({
88
+ value: b,
89
+ size: a = "s",
90
+ showObject: j = !1,
91
+ iconOnly: y = !1,
92
+ lowercase: u = !1,
93
+ asBadge: v = !1,
94
+ className: r,
95
+ ...n
96
+ }, c) => {
97
+ const e = f[b];
98
+ if (!e)
99
+ return console.warn(
100
+ `Unknown status "${b}". Available statuses:`,
101
+ Object.keys(f)
102
+ ), /* @__PURE__ */ d(
103
+ "div",
104
+ {
105
+ ref: c,
106
+ className: t(
107
+ "inline-flex items-center p-0.5",
108
+ p[a],
109
+ L[a],
110
+ r
111
+ ),
112
+ ...n,
113
+ children: [
114
+ /* @__PURE__ */ o("span", { className: t("flex-shrink-0", x[a]), children: /* @__PURE__ */ o(s, { name: "circle-help", size: l[a], color: "secondary" }) }),
115
+ /* @__PURE__ */ o("span", { className: h.secondary, children: "Unknown status" })
116
+ ]
117
+ }
118
+ );
119
+ const w = u ? e.objectLabel.toLowerCase() : e.objectLabel, m = u ? e.statusLabel.toLowerCase() : e.statusLabel, i = j ? `${w} • ${m}` : m;
120
+ if (v) {
121
+ const g = e.color === "tertiary", N = g ? "secondary" : e.color;
122
+ return /* @__PURE__ */ o(
123
+ k,
124
+ {
125
+ ref: c,
126
+ appearance: "subtle",
127
+ intent: O[e.color] ?? "neutral",
128
+ size: S[a],
129
+ icon: /* @__PURE__ */ o(s, { name: e.icon, size: l[a], color: N }),
130
+ className: t(g && "text-[var(--color-text-secondary)]", r),
131
+ ...n,
132
+ children: i
133
+ }
134
+ );
135
+ }
136
+ return y ? /* @__PURE__ */ o(q, { delayDuration: 200, children: /* @__PURE__ */ d(F, { children: [
137
+ /* @__PURE__ */ o(T, { asChild: !0, children: /* @__PURE__ */ o(
138
+ "div",
139
+ {
140
+ ref: c,
141
+ className: t("inline-flex p-0.5", r),
142
+ ...n,
143
+ children: /* @__PURE__ */ o(
144
+ s,
145
+ {
146
+ name: e.icon,
147
+ size: l[a],
148
+ color: e.color,
149
+ "aria-label": i
150
+ }
151
+ )
152
+ }
153
+ ) }),
154
+ /* @__PURE__ */ o(R, { children: i })
155
+ ] }) }) : /* @__PURE__ */ d(
156
+ "div",
157
+ {
158
+ ref: c,
159
+ className: t(
160
+ "inline-flex items-center p-0.5",
161
+ p[a],
162
+ L[a],
163
+ r
164
+ ),
165
+ ...n,
166
+ children: [
167
+ /* @__PURE__ */ o("span", { className: t("flex-shrink-0", x[a]), children: /* @__PURE__ */ o(s, { name: e.icon, size: l[a], color: e.color }) }),
168
+ /* @__PURE__ */ o("span", { className: h[e.color], children: i })
169
+ ]
170
+ }
171
+ );
172
+ }
173
+ );
174
+ D.displayName = "FixtureStatus";
175
+ export {
176
+ D as FixtureStatus,
177
+ f as statusConfig
178
+ };
@@ -0,0 +1,179 @@
1
+ import { jsxs as l, jsx as r } from "react/jsx-runtime";
2
+ import { useState as v, useMemo as O, useCallback as m } from "react";
3
+ import { Chart as ee } from "../fundamental/chart.js";
4
+ import { Table as re, TableHeader as se, TableRow as P, TableHead as te, TableBody as le, TableCell as ne } from "../fundamental/table.js";
5
+ import { Card as k, CardContent as z, CardHeader as ae, CardTitle as ie } from "../fundamental/card.js";
6
+ import { Button as U } from "../fundamental/button.js";
7
+ import { Icon as w } from "../fundamental/icon.js";
8
+ import { Badge as H } from "../fundamental/badge.js";
9
+ import { cn as T } from "../../lib/utils.js";
10
+ function be({
11
+ title: f,
12
+ description: p,
13
+ data: n,
14
+ config: C,
15
+ columns: b,
16
+ type: E,
17
+ enableFiltering: g = !0,
18
+ enableRowSelection: u = !0,
19
+ onRowSelectionChange: x,
20
+ onDataFilter: y,
21
+ showTable: F = !0,
22
+ tableClassName: R,
23
+ chartClassName: V,
24
+ enableRowFiltering: S = !1,
25
+ className: q,
26
+ ...G
27
+ }) {
28
+ const [a, j] = v(/* @__PURE__ */ new Set()), [A, L] = v(null), [_, N] = v(null), [d, B] = v(/* @__PURE__ */ new Set()), [o, D] = v(!1), i = O(() => d.size > 0 ? n.filter((e, s) => d.has(s)) : o && a.size > 0 ? n.filter((e, s) => a.has(s)) : n, [n, d, a, o]), J = m((e, s) => {
29
+ if (s !== void 0 && e) {
30
+ const t = n.findIndex((c) => c === i[s]);
31
+ N(t !== -1 ? t : null);
32
+ } else
33
+ N(null);
34
+ }, [n, i]), K = m((e, s) => {
35
+ if (!g) return;
36
+ const t = n.findIndex((h) => h === i[s]);
37
+ if (t === -1) return;
38
+ const c = new Set(d);
39
+ c.has(t) ? c.delete(t) : c.add(t), B(c);
40
+ const $ = n.filter((h, Z) => c.has(Z));
41
+ y?.($);
42
+ }, [g, d, n, y, i]), Q = m((e) => {
43
+ if (!u) return;
44
+ const s = new Set(a);
45
+ s.has(e) ? s.delete(e) : s.add(e), j(s), x?.(Array.from(s));
46
+ }, [u, a, x]), M = m((e) => {
47
+ L(e);
48
+ }, []), W = m(() => {
49
+ j(/* @__PURE__ */ new Set()), B(/* @__PURE__ */ new Set()), L(null), N(null), D(!1), x?.([]), y?.([]);
50
+ }, [x, y]), X = m((e, s, t) => {
51
+ if (s.format)
52
+ return s.format(e, t);
53
+ switch (s.type) {
54
+ case "currency":
55
+ return typeof e == "number" ? `$${e.toLocaleString()}` : e;
56
+ case "percentage":
57
+ return typeof e == "number" ? `${e}%` : e;
58
+ case "number":
59
+ return typeof e == "number" ? e.toLocaleString() : e;
60
+ default:
61
+ return e;
62
+ }
63
+ }, []), I = A ?? _, Y = O(() => {
64
+ if (I !== null) {
65
+ const e = i.findIndex((s) => n[I] === s);
66
+ return e !== -1 ? e : void 0;
67
+ }
68
+ }, [I, i, n]);
69
+ return /* @__PURE__ */ l("div", { className: T("space-y-[var(--space-l)]", q), children: [
70
+ (f || p) && /* @__PURE__ */ l("div", { className: "space-y-[var(--space-s)]", children: [
71
+ f && /* @__PURE__ */ r("h3", { className: "text-heading-md", children: f }),
72
+ p && /* @__PURE__ */ r("p", { className: "text-body-md text-[var(--color-text-secondary)]", children: p })
73
+ ] }),
74
+ /* @__PURE__ */ l("div", { className: "flex items-center justify-between", children: [
75
+ /* @__PURE__ */ l("div", { className: "flex items-center gap-[var(--space-s)]", children: [
76
+ a.size > 0 && /* @__PURE__ */ l(H, { intent: "neutral", appearance: "subtle", size: "s", children: [
77
+ a.size,
78
+ " selected",
79
+ o ? " (filtered)" : ""
80
+ ] }),
81
+ d.size > 0 && /* @__PURE__ */ l(H, { intent: "brand", appearance: "subtle", size: "s", children: [
82
+ d.size,
83
+ " chart filtered"
84
+ ] })
85
+ ] }),
86
+ /* @__PURE__ */ l("div", { className: "flex items-center gap-[var(--space-s)]", children: [
87
+ S && a.size > 0 && /* @__PURE__ */ l(
88
+ U,
89
+ {
90
+ size: "s",
91
+ variant: o ? "default" : "ghost",
92
+ onClick: () => D(!o),
93
+ children: [
94
+ /* @__PURE__ */ r(w, { name: "filter", size: "s", className: "mr-[var(--space-xs)]" }),
95
+ "Filter selected"
96
+ ]
97
+ }
98
+ ),
99
+ (a.size > 0 || d.size > 0 || o) && /* @__PURE__ */ l(U, { variant: "ghost", size: "s", onClick: W, children: [
100
+ /* @__PURE__ */ r(w, { name: "x", size: "s", className: "mr-[var(--space-s)]" }),
101
+ "Clear all"
102
+ ] })
103
+ ] })
104
+ ] }),
105
+ /* @__PURE__ */ r(k, { children: /* @__PURE__ */ r(z, { className: "p-[var(--space-l)]", children: /* @__PURE__ */ r(
106
+ ee,
107
+ {
108
+ ...G,
109
+ type: E,
110
+ data: i,
111
+ config: C,
112
+ onDataPointClick: K,
113
+ onDataPointHover: J,
114
+ highlightedIndex: Y,
115
+ className: V
116
+ }
117
+ ) }) }),
118
+ F && /* @__PURE__ */ l(k, { children: [
119
+ /* @__PURE__ */ r(ae, { children: /* @__PURE__ */ l(ie, { className: "text-heading-sm flex items-center justify-between", children: [
120
+ "Data Table",
121
+ /* @__PURE__ */ l(H, { intent: "neutral", appearance: "subtle", size: "s", children: [
122
+ i.length,
123
+ " rows"
124
+ ] })
125
+ ] }) }),
126
+ /* @__PURE__ */ r(z, { children: /* @__PURE__ */ r("div", { className: T("rounded-m border border-[var(--color-border-primary-subtle)]", R), children: /* @__PURE__ */ l(re, { children: [
127
+ /* @__PURE__ */ r(se, { children: /* @__PURE__ */ r(P, { children: b.map((e) => /* @__PURE__ */ r(te, { children: e.label }, e.key)) }) }),
128
+ /* @__PURE__ */ r(le, { children: i.map((e, s) => {
129
+ const t = n.indexOf(e), c = a.has(t);
130
+ return /* @__PURE__ */ r(
131
+ P,
132
+ {
133
+ onClick: () => Q(t),
134
+ onMouseEnter: () => M(t),
135
+ onMouseLeave: () => M(null),
136
+ variant: c ? "selected" : "default",
137
+ className: T(
138
+ "cursor-pointer transition-colors",
139
+ (A === t || _ === t) && "bg-[var(--color-background-neutral-subtlest-hovered)]",
140
+ u && "hover:bg-[var(--color-background-neutral-subtlest-hovered)]"
141
+ ),
142
+ children: b.map((h) => /* @__PURE__ */ r(ne, { children: X(e[h.key], h, e) }, h.key))
143
+ },
144
+ t
145
+ );
146
+ }) })
147
+ ] }) }) })
148
+ ] }),
149
+ g && /* @__PURE__ */ r(k, { className: "border-[var(--color-border-info-bold)]", children: /* @__PURE__ */ r(z, { className: "p-[var(--space-m)]", children: /* @__PURE__ */ l("div", { className: "flex items-start gap-[var(--space-s)]", children: [
150
+ /* @__PURE__ */ r(w, { name: "info", size: "s", color: "information", className: "mt-1" }),
151
+ /* @__PURE__ */ l("div", { className: "space-y-[var(--space-xs)] text-body-sm text-[var(--color-text-secondary)]", children: [
152
+ /* @__PURE__ */ r("p", { children: /* @__PURE__ */ r("strong", { children: "Interactive Features:" }) }),
153
+ /* @__PURE__ */ l("ul", { className: "list-disc list-inside space-y-[var(--space-xs)]", children: [
154
+ /* @__PURE__ */ r("li", { children: "Click chart data points to filter the table" }),
155
+ u && /* @__PURE__ */ r("li", { children: "Click table rows to select/deselect them" }),
156
+ S && u && /* @__PURE__ */ r("li", { children: 'Use "Filter Selected" button to show only selected rows in the chart' }),
157
+ /* @__PURE__ */ r("li", { children: "Hover over chart or table to see corresponding data" }),
158
+ /* @__PURE__ */ r("li", { children: 'Use "Clear All" to reset all filters and selections' })
159
+ ] })
160
+ ] })
161
+ ] }) }) })
162
+ ] });
163
+ }
164
+ const xe = (f, p = []) => {
165
+ const n = Object.entries(f).map(([C, b]) => ({
166
+ key: C,
167
+ label: b.label,
168
+ type: "number"
169
+ }));
170
+ return [
171
+ { key: "name", label: "Name", type: "text" },
172
+ ...n,
173
+ ...p
174
+ ];
175
+ };
176
+ export {
177
+ be as LinkedChart,
178
+ xe as createLinkedChartColumns
179
+ };