@wallarm-org/design-system 0.71.4 → 0.72.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (91) hide show
  1. package/README.md +1 -3
  2. package/dist/components/Attribute/AttributeValue.js +1 -1
  3. package/dist/components/Calendar/Calendar.js +14 -4
  4. package/dist/components/Calendar/CalendarContext.d.ts +19 -2
  5. package/dist/components/Calendar/CalendarHeader.js +2 -1
  6. package/dist/components/Calendar/CalendarInputHeader.js +27 -27
  7. package/dist/components/Calendar/dateValue.d.ts +18 -0
  8. package/dist/components/Calendar/dateValue.js +7 -0
  9. package/dist/components/Calendar/useCalendarTime.d.ts +25 -0
  10. package/dist/components/Calendar/useCalendarTime.js +38 -0
  11. package/dist/components/DropdownMenu/DropdownMenuInput.d.ts +1 -1
  12. package/dist/components/InlineEdit/InlineEdit.d.ts +52 -0
  13. package/dist/components/InlineEdit/InlineEdit.js +223 -0
  14. package/dist/components/InlineEdit/InlineEditContext.d.ts +43 -0
  15. package/dist/components/InlineEdit/InlineEditContext.js +16 -0
  16. package/dist/components/InlineEdit/InlineEditControl.d.ts +14 -0
  17. package/dist/components/InlineEdit/InlineEditControl.js +72 -0
  18. package/dist/components/InlineEdit/InlineEditDate.d.ts +19 -0
  19. package/dist/components/InlineEdit/InlineEditDate.js +22 -0
  20. package/dist/components/InlineEdit/InlineEditDateTime.d.ts +21 -0
  21. package/dist/components/InlineEdit/InlineEditDateTime.js +23 -0
  22. package/dist/components/InlineEdit/InlineEditError.d.ts +6 -0
  23. package/dist/components/InlineEdit/InlineEditError.js +32 -0
  24. package/dist/components/InlineEdit/InlineEditInput.d.ts +4 -0
  25. package/dist/components/InlineEdit/InlineEditInput.js +18 -0
  26. package/dist/components/InlineEdit/InlineEditNumber.d.ts +11 -0
  27. package/dist/components/InlineEdit/InlineEditNumber.js +18 -0
  28. package/dist/components/InlineEdit/InlineEditPreview.d.ts +23 -0
  29. package/dist/components/InlineEdit/InlineEditPreview.js +105 -0
  30. package/dist/components/InlineEdit/InlineEditPreviewIcon.d.ts +12 -0
  31. package/dist/components/InlineEdit/InlineEditPreviewIcon.js +43 -0
  32. package/dist/components/InlineEdit/InlineEditPreviewValue.d.ts +11 -0
  33. package/dist/components/InlineEdit/InlineEditPreviewValue.js +25 -0
  34. package/dist/components/InlineEdit/InlineEditSelect.d.ts +39 -0
  35. package/dist/components/InlineEdit/InlineEditSelect.js +42 -0
  36. package/dist/components/InlineEdit/InlineEditTextarea.d.ts +4 -0
  37. package/dist/components/InlineEdit/InlineEditTextarea.js +18 -0
  38. package/dist/components/InlineEdit/InlineEditTime.d.ts +12 -0
  39. package/dist/components/InlineEdit/InlineEditTime.js +21 -0
  40. package/dist/components/InlineEdit/classes.d.ts +5 -0
  41. package/dist/components/InlineEdit/classes.js +35 -0
  42. package/dist/components/InlineEdit/dateValueCast.d.ts +25 -0
  43. package/dist/components/InlineEdit/dateValueCast.js +9 -0
  44. package/dist/components/InlineEdit/index.d.ts +15 -0
  45. package/dist/components/InlineEdit/index.js +16 -0
  46. package/dist/components/Input/Input.d.ts +1 -1
  47. package/dist/components/Input/Input.js +4 -3
  48. package/dist/components/Input/classes.d.ts +1 -0
  49. package/dist/components/Input/classes.js +8 -0
  50. package/dist/components/NumberInput/NumberInput.d.ts +4 -1
  51. package/dist/components/NumberInput/NumberInput.js +17 -7
  52. package/dist/components/NumberInput/classes.d.ts +12 -0
  53. package/dist/components/NumberInput/classes.js +51 -0
  54. package/dist/components/Select/SelectButton.d.ts +2 -1
  55. package/dist/components/Select/SelectButton.js +7 -2
  56. package/dist/components/Select/SelectInput/SelectInput.d.ts +1 -0
  57. package/dist/components/Select/SelectInput/SelectInput.js +21 -7
  58. package/dist/components/Select/SelectInput/SelectInputItemRenderer.d.ts +4 -0
  59. package/dist/components/Select/SelectInput/SelectInputItemRenderer.js +8 -3
  60. package/dist/components/Select/SelectInput/SelectInputOverflowRenderer.d.ts +1 -1
  61. package/dist/components/Select/SelectInput/SelectInputOverflowRenderer.js +28 -27
  62. package/dist/components/Slider/SliderInput.d.ts +1 -1
  63. package/dist/components/Textarea/classes.js +2 -2
  64. package/dist/components/Toast/Toast.js +6 -6
  65. package/dist/components/Toast/Toaster.js +1 -1
  66. package/dist/components/Tree/TreeContext.d.ts +1 -9
  67. package/dist/components/Tree/TreeContext.js +2 -18
  68. package/dist/components/Tree/TreeItemContent.js +5 -8
  69. package/dist/components/TreeView/TreeView.d.ts +19 -0
  70. package/dist/components/TreeView/TreeView.js +82 -0
  71. package/dist/components/TreeView/TreeViewContext.d.ts +12 -0
  72. package/dist/components/TreeView/TreeViewContext.js +9 -0
  73. package/dist/components/TreeView/TreeViewItem.d.ts +24 -0
  74. package/dist/components/TreeView/TreeViewItem.js +168 -0
  75. package/dist/components/TreeView/classes.d.ts +5 -0
  76. package/dist/components/TreeView/classes.js +30 -0
  77. package/dist/components/TreeView/index.d.ts +9 -0
  78. package/dist/components/TreeView/index.js +5 -0
  79. package/dist/index.d.ts +7 -5
  80. package/dist/index.js +4 -2
  81. package/dist/metadata/components.json +6122 -2828
  82. package/dist/theme/fonts/Geist-Variable.woff2 +0 -0
  83. package/dist/theme/fonts/GeistMono-Variable.woff2 +0 -0
  84. package/dist/theme/fonts/geist.css +21 -0
  85. package/dist/theme/index.css +1 -0
  86. package/dist/theme/typography.css +5 -3
  87. package/dist/utils/Collapse.d.ts +18 -0
  88. package/dist/utils/Collapse.js +15 -0
  89. package/dist/utils/treeDepth.d.ts +11 -0
  90. package/dist/utils/treeDepth.js +18 -0
  91. package/package.json +1 -3
@@ -0,0 +1,21 @@
1
+ /* Self-hosted Geist variable fonts (sans + mono).
2
+ Previously loaded via the `non.geist` npm package, which the design system
3
+ relied on consumers importing themselves — a v1→v2 family-name rename in that
4
+ package meant the webfont silently stopped matching for end users. Shipping the
5
+ variable woff2 files here (same pattern as geist-pixel.css) makes the design
6
+ system self-contained: the font travels with the tokens, no consumer setup. */
7
+ @font-face {
8
+ font-family: 'Geist-Variable';
9
+ font-style: normal;
10
+ font-weight: 100 900;
11
+ font-display: swap;
12
+ src: url('./Geist-Variable.woff2') format('woff2');
13
+ }
14
+
15
+ @font-face {
16
+ font-family: 'GeistMono-Variable';
17
+ font-style: normal;
18
+ font-weight: 100 900;
19
+ font-display: swap;
20
+ src: url('./GeistMono-Variable.woff2') format('woff2');
21
+ }
@@ -10,6 +10,7 @@
10
10
  @import './shadow.css';
11
11
  @import './spacing.css';
12
12
  @import './typography.css';
13
+ @import './fonts/geist.css';
13
14
  @import './fonts/geist-pixel.css';
14
15
  @import './semantic.css';
15
16
  @import './focus.css';
@@ -1,12 +1,14 @@
1
1
  @theme {
2
+ /* Geist variable fonts are self-hosted — see fonts/geist.css.
3
+ 'Geist-Variable' / 'GeistMono-Variable' are the @font-face family names. */
2
4
  --font-sans:
3
- 'Geist Variable', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
5
+ 'Geist-Variable', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
4
6
  'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
5
7
  --font-sans-display:
6
- 'Geist Variable', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
8
+ 'Geist-Variable', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji',
7
9
  'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
8
10
  --font-mono:
9
- 'Geist Mono Variable', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
11
+ 'GeistMono-Variable', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
10
12
  'Liberation Mono', 'Courier New', monospace;
11
13
  --font-pixel: 'Geist Pixel', ui-sans-serif, system-ui, sans-serif;
12
14
  --font-serif: 'Inter', ui-serif, Georgia, Cambria, 'Times New Roman', Times, serif;
@@ -0,0 +1,18 @@
1
+ import type { FC, HTMLAttributes, ReactNode, Ref } from 'react';
2
+ export interface CollapseProps extends HTMLAttributes<HTMLDivElement> {
3
+ ref?: Ref<HTMLDivElement>;
4
+ /** Whether the content is expanded. */
5
+ open: boolean;
6
+ children?: ReactNode;
7
+ /**
8
+ * Mark the collapsed content `inert` so hidden focusable elements are removed
9
+ * from tab and accessibility order while closed.
10
+ */
11
+ inertWhenClosed?: boolean;
12
+ }
13
+ /**
14
+ * Smoothly expands/collapses its content via a `grid-template-rows` transition
15
+ * (0fr ↔ 1fr) with an inner `overflow-hidden` wrapper. Shared by Tree and
16
+ * TreeView so the collapse animation lives in one place.
17
+ */
18
+ export declare const Collapse: FC<CollapseProps>;
@@ -0,0 +1,15 @@
1
+ import { jsx } from "react/jsx-runtime";
2
+ import { cn } from "./cn.js";
3
+ const Collapse = ({ ref, open, children, className, inertWhenClosed = false, ...props })=>/*#__PURE__*/ jsx("div", {
4
+ ref: ref,
5
+ "data-state": open ? 'open' : 'closed',
6
+ className: cn('grid transition-[grid-template-rows] duration-[220ms] ease-[cubic-bezier(0.4,0,0.2,1)] motion-reduce:transition-none', open ? 'grid-rows-[1fr]' : 'grid-rows-[0fr]', className),
7
+ ...props,
8
+ children: /*#__PURE__*/ jsx("div", {
9
+ className: "overflow-hidden",
10
+ inert: inertWhenClosed && !open ? true : void 0,
11
+ children: children
12
+ })
13
+ });
14
+ Collapse.displayName = 'Collapse';
15
+ export { Collapse };
@@ -0,0 +1,11 @@
1
+ declare const TREE_DEFAULT_INDENT = 24;
2
+ export interface TreeDepthContextValue {
3
+ depth: number;
4
+ indent: number;
5
+ gap: number | undefined;
6
+ }
7
+ export declare const TreeDepthProvider: import("react").Provider<TreeDepthContextValue>;
8
+ export declare function useTreeDepth(): number;
9
+ export declare function useTreeIndent(): number;
10
+ export declare function useTreeGap(): number | undefined;
11
+ export { TREE_DEFAULT_INDENT };
@@ -0,0 +1,18 @@
1
+ import { createContext, useContext } from "react";
2
+ const TREE_DEFAULT_INDENT = 24;
3
+ const TreeDepthContext = createContext({
4
+ depth: 0,
5
+ indent: TREE_DEFAULT_INDENT,
6
+ gap: void 0
7
+ });
8
+ const TreeDepthProvider = TreeDepthContext.Provider;
9
+ function useTreeDepth() {
10
+ return useContext(TreeDepthContext).depth;
11
+ }
12
+ function useTreeIndent() {
13
+ return useContext(TreeDepthContext).indent;
14
+ }
15
+ function useTreeGap() {
16
+ return useContext(TreeDepthContext).gap;
17
+ }
18
+ export { TREE_DEFAULT_INDENT, TreeDepthProvider, useTreeDepth, useTreeGap, useTreeIndent };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wallarm-org/design-system",
3
- "version": "0.71.4",
3
+ "version": "0.72.0",
4
4
  "description": "Core design system library with React components and Storybook documentation",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -111,7 +111,6 @@
111
111
  "@wallarm-org/vitest-config": "workspace:*",
112
112
  "glob": "^13.0.0",
113
113
  "lodash-es": "4.17.23",
114
- "non.geist": "catalog:",
115
114
  "postcss": "8.5.6",
116
115
  "postcss-import": "16.1.1",
117
116
  "storybook": "catalog:",
@@ -149,7 +148,6 @@
149
148
  },
150
149
  "peerDependencies": {
151
150
  "@internationalized/date": "^3.12.0",
152
- "non.geist": "^2.0.0",
153
151
  "react": "^19.0.0",
154
152
  "react-dom": "^19.0.0",
155
153
  "tailwindcss": "^4.0.0",