@optimum-intelligence/opti-ui 0.7.2 → 0.7.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 (53) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/dist/components/app-shell/AppShell.d.ts +12 -3
  3. package/dist/components/app-shell/AppShell.js +45 -26
  4. package/dist/components/app-shell/AppShell.js.map +1 -1
  5. package/dist/components/data-table/DataTable.d.ts +25 -4
  6. package/dist/components/data-table/DataTable.js +238 -90
  7. package/dist/components/data-table/DataTable.js.map +1 -1
  8. package/dist/components/data-table/DataTableContent.d.ts +6 -1
  9. package/dist/components/data-table/DataTableContent.js +306 -409
  10. package/dist/components/data-table/DataTableContent.js.map +1 -1
  11. package/dist/components/data-table/DataTableFilters.d.ts +6 -1
  12. package/dist/components/data-table/DataTableFilters.js +65 -45
  13. package/dist/components/data-table/DataTableFilters.js.map +1 -1
  14. package/dist/components/data-table/DataTableRow.js +2 -0
  15. package/dist/components/data-table/DataTableRow.js.map +1 -1
  16. package/dist/components/data-table/types.d.ts +14 -1
  17. package/dist/components/data-table/useDataTable.js +2 -0
  18. package/dist/components/data-table/useDataTable.js.map +1 -1
  19. package/dist/components/drawer/Drawer.d.ts +7 -4
  20. package/dist/components/drawer/Drawer.js +2 -1
  21. package/dist/components/drawer/Drawer.js.map +1 -1
  22. package/dist/components/map/Map.d.ts +30 -6
  23. package/dist/components/map/Map.js +387 -271
  24. package/dist/components/map/Map.js.map +1 -1
  25. package/dist/components/stat-card/StatCard.d.ts +2 -2
  26. package/dist/components/stat-card/StatCard.js +1 -1
  27. package/dist/components/stat-card/StatCard.js.map +1 -1
  28. package/dist/components/stepper/Stepper.d.ts +7 -1
  29. package/dist/components/stepper/Stepper.js +46 -27
  30. package/dist/components/stepper/Stepper.js.map +1 -1
  31. package/dist/components/table/Table.d.ts +1 -1
  32. package/dist/components/table/Table.js +3 -1
  33. package/dist/components/table/Table.js.map +1 -1
  34. package/dist/components/tabs/Tabs.d.ts +4 -1
  35. package/dist/components/tabs/Tabs.js +33 -23
  36. package/dist/components/tabs/Tabs.js.map +1 -1
  37. package/dist/components/toggle/Toggle.d.ts +1 -1
  38. package/dist/components/toggle/Toggle.js.map +1 -1
  39. package/dist/components.json +101 -29
  40. package/dist/icons/index.d.ts +8 -0
  41. package/dist/icons/index.js +11 -1
  42. package/dist/icons/index.js.map +1 -1
  43. package/dist/index.js +2 -2
  44. package/dist/llms-full.txt +48 -19
  45. package/dist/llms.txt +7 -7
  46. package/dist/opti-ui.css +380 -29
  47. package/dist/utils/media.d.ts +4 -0
  48. package/dist/utils/media.js +34 -0
  49. package/dist/utils/media.js.map +1 -0
  50. package/dist/utils/scroll-fade.d.ts +9 -0
  51. package/dist/utils/scroll-fade.js +45 -0
  52. package/dist/utils/scroll-fade.js.map +1 -0
  53. package/package.json +1 -1
@@ -0,0 +1,45 @@
1
+ "use client";
2
+ //#region src/utils/scroll-fade.ts
3
+ /**
4
+ * Callback ref for a sideways-scrolling element: sets `data-fade-start` and
5
+ * `data-fade-end` while content is cut off on that side, so CSS can fade the edge.
6
+ * Returns the cleanup that React 19 runs when the element goes away.
7
+ */
8
+ function scrollFade(node) {
9
+ if (!node) return;
10
+ const update = () => {
11
+ const offset = Math.abs(node.scrollLeft);
12
+ const hidden = node.scrollWidth - node.clientWidth;
13
+ node.toggleAttribute("data-fade-start", offset > 1);
14
+ node.toggleAttribute("data-fade-end", hidden - offset > 1);
15
+ };
16
+ const resize = new ResizeObserver(update);
17
+ resize.observe(node);
18
+ for (const child of node.children) resize.observe(child);
19
+ node.addEventListener("scroll", update, { passive: true });
20
+ update();
21
+ return () => {
22
+ resize.disconnect();
23
+ node.removeEventListener("scroll", update);
24
+ };
25
+ }
26
+ /** Combines refs (objects, or callbacks with or without a cleanup) into one callback ref. */
27
+ function mergeRefs(...refs) {
28
+ return (node) => {
29
+ const cleanups = refs.map((ref) => {
30
+ if (typeof ref === "function") {
31
+ const cleanup = ref(node);
32
+ return typeof cleanup === "function" ? cleanup : () => ref(null);
33
+ }
34
+ if (ref) ref.current = node;
35
+ return () => {
36
+ if (ref) ref.current = null;
37
+ };
38
+ });
39
+ return () => cleanups.forEach((cleanup) => cleanup());
40
+ };
41
+ }
42
+ //#endregion
43
+ export { mergeRefs, scrollFade };
44
+
45
+ //# sourceMappingURL=scroll-fade.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scroll-fade.js","names":["React","scrollFade","node","HTMLElement","update","offset","Math","abs","scrollLeft","hidden","scrollWidth","clientWidth","toggleAttribute","resize","ResizeObserver","observe","child","children","addEventListener","passive","disconnect","removeEventListener","mergeRefs","refs","Ref","T","cleanups","map","ref","cleanup","RefObject","current","forEach"],"sources":["../../src/utils/scroll-fade.ts"],"sourcesContent":["import type * as React from 'react';\n\n/**\n * Callback ref for a sideways-scrolling element: sets `data-fade-start` and\n * `data-fade-end` while content is cut off on that side, so CSS can fade the edge.\n * Returns the cleanup that React 19 runs when the element goes away.\n */\nexport function scrollFade(node: HTMLElement | null) {\n if (!node) return;\n const update = () => {\n // Negative in right-to-left layouts.\n const offset = Math.abs(node.scrollLeft);\n const hidden = node.scrollWidth - node.clientWidth;\n node.toggleAttribute('data-fade-start', offset > 1);\n node.toggleAttribute('data-fade-end', hidden - offset > 1);\n };\n const resize = new ResizeObserver(update);\n resize.observe(node);\n for (const child of node.children) resize.observe(child);\n node.addEventListener('scroll', update, { passive: true });\n update();\n return () => {\n resize.disconnect();\n node.removeEventListener('scroll', update);\n };\n}\n\n/** Combines refs (objects, or callbacks with or without a cleanup) into one callback ref. */\nexport function mergeRefs<T>(...refs: (React.Ref<T> | ((node: T | null) => void | (() => void)) | undefined)[]) {\n return (node: T | null) => {\n const cleanups = refs.map((ref) => {\n if (typeof ref === 'function') {\n const cleanup = ref(node);\n return typeof cleanup === 'function' ? cleanup : () => ref(null);\n }\n if (ref) (ref as React.RefObject<T | null>).current = node;\n return () => {\n if (ref) (ref as React.RefObject<T | null>).current = null;\n };\n });\n return () => cleanups.forEach((cleanup) => cleanup());\n };\n}\n"],"mappings":";;;;;;;AAOA,SAAgBC,WAAWC,MAA0B;CACnD,IAAI,CAACA,MAAM;CACX,MAAME,eAAe;EAEnB,MAAMC,SAASC,KAAKC,IAAIL,KAAKM,UAAU;EACvC,MAAMC,SAASP,KAAKQ,cAAcR,KAAKS;EACvCT,KAAKU,gBAAgB,mBAAmBP,SAAS,CAAC;EAClDH,KAAKU,gBAAgB,iBAAiBH,SAASJ,SAAS,CAAC;CAC3D;CACA,MAAMQ,SAAS,IAAIC,eAAeV,MAAM;CACxCS,OAAOE,QAAQb,IAAI;CACnB,KAAK,MAAMc,SAASd,KAAKe,UAAUJ,OAAOE,QAAQC,KAAK;CACvDd,KAAKgB,iBAAiB,UAAUd,QAAQ,EAAEe,SAAS,KAAK,CAAC;CACzDf,OAAO;CACP,aAAa;EACXS,OAAOO,WAAW;EAClBlB,KAAKmB,oBAAoB,UAAUjB,MAAM;CAC3C;AACF;;AAGA,SAAgBkB,UAAa,GAAGC,MAAgF;CAC9G,QAAQrB,SAAmB;EACzB,MAAMwB,WAAWH,KAAKI,KAAKC,QAAQ;GACjC,IAAI,OAAOA,QAAQ,YAAY;IAC7B,MAAMC,UAAUD,IAAI1B,IAAI;IACxB,OAAO,OAAO2B,YAAY,aAAaA,gBAAgBD,IAAI,IAAI;GACjE;GACA,IAAIA,KAAK,IAAmCG,UAAU7B;GACtD,aAAa;IACX,IAAI0B,KAAK,IAAmCG,UAAU;GACxD;EACF,CAAC;EACD,aAAaL,SAASM,SAASH,YAAYA,QAAQ,CAAC;CACtD;AACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optimum-intelligence/opti-ui",
3
- "version": "0.7.2",
3
+ "version": "0.7.3",
4
4
  "description": "Optimum's customizable React component library, built on Base UI.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Optimum Intelligence",