@locusgraph/components 0.2.0 → 0.2.2

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 (102) hide show
  1. package/dist/action/button-group.js +45 -17
  2. package/dist/action/button.js +44 -27
  3. package/dist/action/toggle-group.js +176 -12
  4. package/dist/action/toggle.js +70 -17
  5. package/dist/display/avatar.js +118 -7
  6. package/dist/display/badge.js +33 -20
  7. package/dist/display/chart/chart-container.js +205 -45
  8. package/dist/display/chart/chart-legend.js +79 -14
  9. package/dist/display/chart/chart-tooltip.js +211 -40
  10. package/dist/display/chat/attachment/attachment-parts.js +56 -13
  11. package/dist/display/chat/attachment/attachment.js +70 -28
  12. package/dist/display/chat/bubble.js +80 -37
  13. package/dist/display/chat/marker.js +44 -15
  14. package/dist/display/chat/message-scroller.js +276 -14
  15. package/dist/display/chat/message.js +58 -13
  16. package/dist/display/content/item.js +134 -47
  17. package/dist/display/content/kbd.js +19 -5
  18. package/dist/display/media/aspect-ratio.js +27 -3
  19. package/dist/display/media/carousel-controls.js +162 -11
  20. package/dist/display/media/carousel.js +325 -65
  21. package/dist/display/rule-grid/rule-grid.js +86 -29
  22. package/dist/display/separator.js +56 -3
  23. package/dist/display/skeletons/layouts/skeleton-rule-grid.js +30 -6
  24. package/dist/display/skeletons/layouts/skeleton-table.js +44 -6
  25. package/dist/display/skeletons/shapes/skeleton-avatar.js +31 -13
  26. package/dist/display/skeletons/shapes/skeleton-button.js +31 -13
  27. package/dist/display/skeletons/shapes/skeleton-text.js +25 -7
  28. package/dist/display/skeletons/skeleton-parts.js +22 -6
  29. package/dist/display/status/alert.js +44 -18
  30. package/dist/display/status/empty.js +69 -22
  31. package/dist/display/status/progress.js +116 -16
  32. package/dist/display/status/skeleton.js +10 -3
  33. package/dist/display/status/spinner.js +11 -3
  34. package/dist/display/table.js +77 -17
  35. package/dist/feedback/toaster.js +98 -21
  36. package/dist/form/advanced/calendar-day-button.js +89 -12
  37. package/dist/form/advanced/calendar.js +349 -56
  38. package/dist/form/advanced/combobox/combobox-chips.js +151 -8
  39. package/dist/form/advanced/combobox/combobox-items.js +239 -14
  40. package/dist/form/advanced/combobox/combobox.js +386 -13
  41. package/dist/form/advanced/input-otp.js +201 -11
  42. package/dist/form/choice/checkbox.js +58 -3
  43. package/dist/form/choice/radio-group.js +94 -5
  44. package/dist/form/choice/select.js +479 -25
  45. package/dist/form/choice/slider.js +118 -4
  46. package/dist/form/choice/switch.js +53 -3
  47. package/dist/form/field/field-error.js +34 -14
  48. package/dist/form/field/field-separator.js +19 -3
  49. package/dist/form/field/field-set.js +21 -5
  50. package/dist/form/field/field-text.js +28 -7
  51. package/dist/form/field/field.js +43 -25
  52. package/dist/form/hook-form/form.js +338 -40
  53. package/dist/form/input-group.js +297 -47
  54. package/dist/form/input.js +13 -3
  55. package/dist/form/label.js +42 -3
  56. package/dist/form/native-select.js +39 -7
  57. package/dist/form/textarea.js +11 -3
  58. package/dist/layout/accordion.js +165 -8
  59. package/dist/layout/collapsible.js +75 -7
  60. package/dist/layout/resizable.js +122 -7
  61. package/dist/layout/scroll/direction.js +25 -3
  62. package/dist/layout/scroll/scroll-area.js +138 -5
  63. package/dist/layout/sidebar/sidebar-context.js +184 -51
  64. package/dist/layout/sidebar/sidebar-menu-sub.js +219 -14
  65. package/dist/layout/sidebar/sidebar-menu.js +319 -38
  66. package/dist/layout/sidebar/sidebar-sections.js +369 -22
  67. package/dist/layout/sidebar/sidebar.js +384 -28
  68. package/dist/layout/tabs.js +183 -18
  69. package/dist/layout/use-mobile.js +11 -11
  70. package/dist/navigation/breadcrumb.js +82 -17
  71. package/dist/navigation/menubar/menubar-items.js +322 -16
  72. package/dist/navigation/menubar/menubar-sub.js +125 -7
  73. package/dist/navigation/menubar/menubar.js +213 -13
  74. package/dist/navigation/navigation-menu.js +90 -18
  75. package/dist/navigation/pagination.js +91 -20
  76. package/dist/overlay/alert-dialog.js +485 -26
  77. package/dist/overlay/context-menu/context-menu-items.js +322 -16
  78. package/dist/overlay/context-menu/context-menu-sub.js +125 -7
  79. package/dist/overlay/context-menu/context-menu.js +140 -11
  80. package/dist/overlay/dialog.js +405 -24
  81. package/dist/overlay/floating/command.js +423 -20
  82. package/dist/overlay/floating/drawer.js +354 -22
  83. package/dist/overlay/floating/hover-card.js +107 -7
  84. package/dist/overlay/menu/dropdown-menu-choice.js +149 -7
  85. package/dist/overlay/menu/dropdown-menu-item.js +174 -9
  86. package/dist/overlay/menu/dropdown-menu-sub.js +124 -7
  87. package/dist/overlay/menu/dropdown-menu.js +147 -12
  88. package/dist/overlay/popover.js +106 -7
  89. package/dist/overlay/sheet.js +379 -26
  90. package/dist/overlay/tooltip.js +145 -9
  91. package/dist/shell/app-header.js +29 -5
  92. package/dist/shell/app-shell.js +19 -3
  93. package/dist/shell/breadcrumbs.js +46 -14
  94. package/dist/shell/docs/docs-header.js +210 -10
  95. package/dist/shell/docs/docs-shell.js +36 -3
  96. package/dist/shell/docs/docs-sidebar.js +41 -7
  97. package/dist/shell/docs/on-this-page.js +78 -7
  98. package/dist/shell/docs/use-active-section.js +44 -42
  99. package/dist/shell/navigation/app-sidebar.js +66 -6
  100. package/dist/shell/navigation/nav-group.js +53 -11
  101. package/dist/shell/theme-toggle.js +51 -4
  102. package/package.json +2 -2
@@ -1,17 +1,59 @@
1
- import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
1
  import { SidebarMenu, SidebarMenuButton, SidebarMenuItem } from "../../layout/sidebar/sidebar-menu.js";
3
- import { SidebarGroup, SidebarGroupContent, SidebarGroupLabel, } from "../../layout/sidebar/sidebar-sections.js";
2
+ import { SidebarGroup, SidebarGroupContent, SidebarGroupLabel } from "../../layout/sidebar/sidebar-sections.js";
3
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  function isActiveHref(itemHref, activeHref) {
5
- return activeHref === itemHref || activeHref.startsWith(`${itemHref}/`);
5
+ return activeHref === itemHref || activeHref.startsWith(`${itemHref}/`);
6
6
  }
7
- function NavItemLink({ item, Link, ...props }) {
8
- const content = (_jsxs(_Fragment, { children: [_jsx(item.icon, {}), _jsx("span", { children: item.title })] }));
9
- if (item.external) {
10
- return (_jsx("a", { ...props, href: item.href, target: "_blank", rel: "noreferrer", children: content }));
11
- }
12
- return (_jsx(Link, { ...props, href: item.href, children: content }));
7
+ function NavItemLink({
8
+ item,
9
+ Link,
10
+ ...props
11
+ }) {
12
+ const content = /*#__PURE__*/_jsxs(_Fragment, {
13
+ children: [/*#__PURE__*/_jsx(item.icon, {}), /*#__PURE__*/_jsx("span", {
14
+ children: item.title
15
+ })]
16
+ });
17
+ if (item.external) {
18
+ return /*#__PURE__*/_jsx("a", {
19
+ ...props,
20
+ href: item.href,
21
+ target: "_blank",
22
+ rel: "noreferrer",
23
+ children: content
24
+ });
25
+ }
26
+ return /*#__PURE__*/_jsx(Link, {
27
+ ...props,
28
+ href: item.href,
29
+ children: content
30
+ });
13
31
  }
14
- function NavGroup({ group, activeHref, Link, className }) {
15
- return (_jsxs(SidebarGroup, { className: className, children: [group.label && _jsx(SidebarGroupLabel, { children: group.label }), _jsx(SidebarGroupContent, { children: _jsx(SidebarMenu, { children: group.items.map((item) => (_jsx(SidebarMenuItem, { children: _jsx(SidebarMenuButton, { asChild: true, isActive: isActiveHref(item.href, activeHref), tooltip: item.title, children: _jsx(NavItemLink, { item: item, Link: Link }) }) }, item.href))) }) })] }));
32
+ function NavGroup({
33
+ group,
34
+ activeHref,
35
+ Link,
36
+ className
37
+ }) {
38
+ return /*#__PURE__*/_jsxs(SidebarGroup, {
39
+ className: className,
40
+ children: [group.label && /*#__PURE__*/_jsx(SidebarGroupLabel, {
41
+ children: group.label
42
+ }), /*#__PURE__*/_jsx(SidebarGroupContent, {
43
+ children: /*#__PURE__*/_jsx(SidebarMenu, {
44
+ children: group.items.map(item => /*#__PURE__*/_jsx(SidebarMenuItem, {
45
+ children: /*#__PURE__*/_jsx(SidebarMenuButton, {
46
+ asChild: true,
47
+ isActive: isActiveHref(item.href, activeHref),
48
+ tooltip: item.title,
49
+ children: /*#__PURE__*/_jsx(NavItemLink, {
50
+ item: item,
51
+ Link: Link
52
+ })
53
+ })
54
+ }, item.href))
55
+ })
56
+ })]
57
+ });
16
58
  }
17
59
  export { isActiveHref, NavGroup };
@@ -1,9 +1,56 @@
1
1
  "use client";
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+
3
+ import { c as _c } from "react/compiler-runtime";
3
4
  import { Moon as MoonIcon, Sun as SunIcon } from "@carbon/icons-react";
4
5
  import { Button } from "../action/button.js";
5
- function ThemeToggle({ theme, onThemeChange }) {
6
- const nextTheme = theme === "dark" ? "light" : "dark";
7
- return (_jsxs(Button, { variant: "ghost", size: "icon-sm", "aria-label": `Switch to ${nextTheme} theme`, onClick: () => onThemeChange(nextTheme), children: [_jsx(SunIcon, { className: "scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90" }), _jsx(MoonIcon, { className: "absolute scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0" })] }));
6
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ function ThemeToggle(t0) {
8
+ const $ = _c(8);
9
+ const {
10
+ theme,
11
+ onThemeChange
12
+ } = t0;
13
+ const nextTheme = theme === "dark" ? "light" : "dark";
14
+ const t1 = `Switch to ${nextTheme} theme`;
15
+ let t2;
16
+ if ($[0] !== nextTheme || $[1] !== onThemeChange) {
17
+ t2 = () => onThemeChange(nextTheme);
18
+ $[0] = nextTheme;
19
+ $[1] = onThemeChange;
20
+ $[2] = t2;
21
+ } else {
22
+ t2 = $[2];
23
+ }
24
+ let t3;
25
+ let t4;
26
+ if ($[3] === Symbol.for("react.memo_cache_sentinel")) {
27
+ t3 = /*#__PURE__*/_jsx(SunIcon, {
28
+ className: "scale-100 rotate-0 transition-all dark:scale-0 dark:-rotate-90"
29
+ });
30
+ t4 = /*#__PURE__*/_jsx(MoonIcon, {
31
+ className: "absolute scale-0 rotate-90 transition-all dark:scale-100 dark:rotate-0"
32
+ });
33
+ $[3] = t3;
34
+ $[4] = t4;
35
+ } else {
36
+ t3 = $[3];
37
+ t4 = $[4];
38
+ }
39
+ let t5;
40
+ if ($[5] !== t1 || $[6] !== t2) {
41
+ t5 = /*#__PURE__*/_jsxs(Button, {
42
+ variant: "ghost",
43
+ size: "icon-sm",
44
+ "aria-label": t1,
45
+ onClick: t2,
46
+ children: [t3, t4]
47
+ });
48
+ $[5] = t1;
49
+ $[6] = t2;
50
+ $[7] = t5;
51
+ } else {
52
+ t5 = $[7];
53
+ }
54
+ return t5;
8
55
  }
9
56
  export { ThemeToggle };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@locusgraph/components",
3
- "version": "0.2.0",
3
+ "version": "0.2.2",
4
4
  "description": "Radix and shadcn based React components, shells and theme for LocusGraph apps.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -61,7 +61,7 @@
61
61
  },
62
62
  "homepage": "https://design.locusgraph.com",
63
63
  "scripts": {
64
- "build": "rm -rf dist && tsc -p tsconfig.build.json && cp -R src/styles dist/styles && node ../../scripts/esm-extensions.mjs dist",
64
+ "build": "rm -rf dist && tsc -p tsconfig.build.json && cp -R src/styles dist/styles && node ../../scripts/react-compiler.mjs dist && node ../../scripts/esm-extensions.mjs dist",
65
65
  "typecheck": "tsc -p tsconfig.json --noEmit",
66
66
  "test": "vitest run"
67
67
  }