@corefoundry-labs/forge-ui 1.0.2 → 1.1.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 (147) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +78 -0
  3. package/dist/components/layout/ThemeScope/ThemeScope.d.ts +11 -0
  4. package/dist/components/layout/ThemeScope/ThemeScope.d.ts.map +1 -0
  5. package/dist/components/layout/ThemeScope/ThemeScope.js +13 -0
  6. package/dist/components/layout/ThemeScope/index.d.ts +3 -0
  7. package/dist/components/layout/ThemeScope/index.d.ts.map +1 -0
  8. package/dist/components/layout/ThemeScope/index.js +1 -0
  9. package/dist/componentsV2/actions/ButtonV2/ButtonV2.d.ts +21 -0
  10. package/dist/componentsV2/actions/ButtonV2/ButtonV2.d.ts.map +1 -0
  11. package/dist/componentsV2/actions/ButtonV2/ButtonV2.js +17 -0
  12. package/dist/componentsV2/actions/ButtonV2/ButtonV2.module.css +158 -0
  13. package/dist/componentsV2/actions/ButtonV2/index.d.ts +3 -0
  14. package/dist/componentsV2/actions/ButtonV2/index.d.ts.map +1 -0
  15. package/dist/componentsV2/actions/ButtonV2/index.js +1 -0
  16. package/dist/componentsV2/data-display/AvatarV2/AvatarV2.d.ts +36 -0
  17. package/dist/componentsV2/data-display/AvatarV2/AvatarV2.d.ts.map +1 -0
  18. package/dist/componentsV2/data-display/AvatarV2/AvatarV2.js +23 -0
  19. package/dist/componentsV2/data-display/AvatarV2/AvatarV2.module.css +156 -0
  20. package/dist/componentsV2/data-display/AvatarV2/index.d.ts +3 -0
  21. package/dist/componentsV2/data-display/AvatarV2/index.d.ts.map +1 -0
  22. package/dist/componentsV2/data-display/AvatarV2/index.js +1 -0
  23. package/dist/componentsV2/feedback/AlertV2/AlertV2.d.ts +25 -0
  24. package/dist/componentsV2/feedback/AlertV2/AlertV2.d.ts.map +1 -0
  25. package/dist/componentsV2/feedback/AlertV2/AlertV2.js +16 -0
  26. package/dist/componentsV2/feedback/AlertV2/AlertV2.module.css +144 -0
  27. package/dist/componentsV2/feedback/AlertV2/index.d.ts +3 -0
  28. package/dist/componentsV2/feedback/AlertV2/index.d.ts.map +1 -0
  29. package/dist/componentsV2/feedback/AlertV2/index.js +1 -0
  30. package/dist/componentsV2/feedback/FeedbackStateV2/FeedbackStateV2.d.ts +13 -0
  31. package/dist/componentsV2/feedback/FeedbackStateV2/FeedbackStateV2.d.ts.map +1 -0
  32. package/dist/componentsV2/feedback/FeedbackStateV2/FeedbackStateV2.js +18 -0
  33. package/dist/componentsV2/feedback/FeedbackStateV2/FeedbackStateV2.module.css +102 -0
  34. package/dist/componentsV2/feedback/FeedbackStateV2/index.d.ts +3 -0
  35. package/dist/componentsV2/feedback/FeedbackStateV2/index.d.ts.map +1 -0
  36. package/dist/componentsV2/feedback/FeedbackStateV2/index.js +1 -0
  37. package/dist/componentsV2/feedback/ProgressV2/ProgressV2.d.ts +35 -0
  38. package/dist/componentsV2/feedback/ProgressV2/ProgressV2.d.ts.map +1 -0
  39. package/dist/componentsV2/feedback/ProgressV2/ProgressV2.js +15 -0
  40. package/dist/componentsV2/feedback/ProgressV2/ProgressV2.module.css +161 -0
  41. package/dist/componentsV2/feedback/ProgressV2/index.d.ts +3 -0
  42. package/dist/componentsV2/feedback/ProgressV2/index.d.ts.map +1 -0
  43. package/dist/componentsV2/feedback/ProgressV2/index.js +1 -0
  44. package/dist/componentsV2/feedback/SkeletonV2/SkeletonV2.d.ts +20 -0
  45. package/dist/componentsV2/feedback/SkeletonV2/SkeletonV2.d.ts.map +1 -0
  46. package/dist/componentsV2/feedback/SkeletonV2/SkeletonV2.js +8 -0
  47. package/dist/componentsV2/feedback/SkeletonV2/SkeletonV2.module.css +92 -0
  48. package/dist/componentsV2/feedback/SkeletonV2/index.d.ts +3 -0
  49. package/dist/componentsV2/feedback/SkeletonV2/index.d.ts.map +1 -0
  50. package/dist/componentsV2/feedback/SkeletonV2/index.js +1 -0
  51. package/dist/componentsV2/feedback/SnackbarV2/SnackbarV2.d.ts +35 -0
  52. package/dist/componentsV2/feedback/SnackbarV2/SnackbarV2.d.ts.map +1 -0
  53. package/dist/componentsV2/feedback/SnackbarV2/SnackbarV2.js +90 -0
  54. package/dist/componentsV2/feedback/SnackbarV2/SnackbarV2.module.css +162 -0
  55. package/dist/componentsV2/feedback/SnackbarV2/index.d.ts +3 -0
  56. package/dist/componentsV2/feedback/SnackbarV2/index.d.ts.map +1 -0
  57. package/dist/componentsV2/feedback/SnackbarV2/index.js +1 -0
  58. package/dist/componentsV2/forms/CheckboxV2/CheckboxV2.d.ts +10 -0
  59. package/dist/componentsV2/forms/CheckboxV2/CheckboxV2.d.ts.map +1 -0
  60. package/dist/componentsV2/forms/CheckboxV2/CheckboxV2.js +18 -0
  61. package/dist/componentsV2/forms/CheckboxV2/CheckboxV2.module.css +137 -0
  62. package/dist/componentsV2/forms/CheckboxV2/index.d.ts +3 -0
  63. package/dist/componentsV2/forms/CheckboxV2/index.d.ts.map +1 -0
  64. package/dist/componentsV2/forms/CheckboxV2/index.js +1 -0
  65. package/dist/componentsV2/forms/SelectV2/SelectV2.d.ts +10 -0
  66. package/dist/componentsV2/forms/SelectV2/SelectV2.d.ts.map +1 -0
  67. package/dist/componentsV2/forms/SelectV2/SelectV2.js +7 -0
  68. package/dist/componentsV2/forms/SelectV2/SelectV2.module.css +90 -0
  69. package/dist/componentsV2/forms/SelectV2/index.d.ts +3 -0
  70. package/dist/componentsV2/forms/SelectV2/index.d.ts.map +1 -0
  71. package/dist/componentsV2/forms/SelectV2/index.js +1 -0
  72. package/dist/componentsV2/forms/SwitchV2/SwitchV2.d.ts +8 -0
  73. package/dist/componentsV2/forms/SwitchV2/SwitchV2.d.ts.map +1 -0
  74. package/dist/componentsV2/forms/SwitchV2/SwitchV2.js +8 -0
  75. package/dist/componentsV2/forms/SwitchV2/SwitchV2.module.css +129 -0
  76. package/dist/componentsV2/forms/SwitchV2/index.d.ts +3 -0
  77. package/dist/componentsV2/forms/SwitchV2/index.d.ts.map +1 -0
  78. package/dist/componentsV2/forms/SwitchV2/index.js +1 -0
  79. package/dist/componentsV2/forms/TextInputV2/TextInputV2.d.ts +10 -0
  80. package/dist/componentsV2/forms/TextInputV2/TextInputV2.d.ts.map +1 -0
  81. package/dist/componentsV2/forms/TextInputV2/TextInputV2.js +7 -0
  82. package/dist/componentsV2/forms/TextInputV2/TextInputV2.module.css +64 -0
  83. package/dist/componentsV2/forms/TextInputV2/index.d.ts +3 -0
  84. package/dist/componentsV2/forms/TextInputV2/index.d.ts.map +1 -0
  85. package/dist/componentsV2/forms/TextInputV2/index.js +1 -0
  86. package/dist/componentsV2/forms/selectionControl.d.ts +14 -0
  87. package/dist/componentsV2/forms/selectionControl.d.ts.map +1 -0
  88. package/dist/componentsV2/forms/selectionControl.js +1 -0
  89. package/dist/componentsV2/navigation/TabsV2/TabsV2.d.ts +30 -0
  90. package/dist/componentsV2/navigation/TabsV2/TabsV2.d.ts.map +1 -0
  91. package/dist/componentsV2/navigation/TabsV2/TabsV2.js +54 -0
  92. package/dist/componentsV2/navigation/TabsV2/TabsV2.module.css +128 -0
  93. package/dist/componentsV2/navigation/TabsV2/index.d.ts +3 -0
  94. package/dist/componentsV2/navigation/TabsV2/index.d.ts.map +1 -0
  95. package/dist/componentsV2/navigation/TabsV2/index.js +1 -0
  96. package/dist/componentsV2/overlays/DialogV2/DialogV2.d.ts +22 -0
  97. package/dist/componentsV2/overlays/DialogV2/DialogV2.d.ts.map +1 -0
  98. package/dist/componentsV2/overlays/DialogV2/DialogV2.js +77 -0
  99. package/dist/componentsV2/overlays/DialogV2/DialogV2.module.css +91 -0
  100. package/dist/componentsV2/overlays/DialogV2/index.d.ts +3 -0
  101. package/dist/componentsV2/overlays/DialogV2/index.d.ts.map +1 -0
  102. package/dist/componentsV2/overlays/DialogV2/index.js +1 -0
  103. package/dist/componentsV2/overlays/DropdownMenuV2/DropdownMenuV2.d.ts +40 -0
  104. package/dist/componentsV2/overlays/DropdownMenuV2/DropdownMenuV2.d.ts.map +1 -0
  105. package/dist/componentsV2/overlays/DropdownMenuV2/DropdownMenuV2.js +115 -0
  106. package/dist/componentsV2/overlays/DropdownMenuV2/DropdownMenuV2.module.css +122 -0
  107. package/dist/componentsV2/overlays/DropdownMenuV2/index.d.ts +3 -0
  108. package/dist/componentsV2/overlays/DropdownMenuV2/index.d.ts.map +1 -0
  109. package/dist/componentsV2/overlays/DropdownMenuV2/index.js +1 -0
  110. package/dist/componentsV2/overlays/PopoverV2/PopoverV2.d.ts +46 -0
  111. package/dist/componentsV2/overlays/PopoverV2/PopoverV2.d.ts.map +1 -0
  112. package/dist/componentsV2/overlays/PopoverV2/PopoverV2.js +41 -0
  113. package/dist/componentsV2/overlays/PopoverV2/PopoverV2.module.css +63 -0
  114. package/dist/componentsV2/overlays/PopoverV2/index.d.ts +3 -0
  115. package/dist/componentsV2/overlays/PopoverV2/index.d.ts.map +1 -0
  116. package/dist/componentsV2/overlays/PopoverV2/index.js +1 -0
  117. package/dist/componentsV2/overlays/TooltipV2/TooltipV2.d.ts +18 -0
  118. package/dist/componentsV2/overlays/TooltipV2/TooltipV2.d.ts.map +1 -0
  119. package/dist/componentsV2/overlays/TooltipV2/TooltipV2.js +66 -0
  120. package/dist/componentsV2/overlays/TooltipV2/TooltipV2.module.css +69 -0
  121. package/dist/componentsV2/overlays/TooltipV2/index.d.ts +3 -0
  122. package/dist/componentsV2/overlays/TooltipV2/index.d.ts.map +1 -0
  123. package/dist/componentsV2/overlays/TooltipV2/index.js +1 -0
  124. package/dist/componentsV2/overlays/layer.d.ts +29 -0
  125. package/dist/componentsV2/overlays/layer.d.ts.map +1 -0
  126. package/dist/componentsV2/overlays/layer.js +224 -0
  127. package/dist/componentsV2/overlays/position.d.ts +32 -0
  128. package/dist/componentsV2/overlays/position.d.ts.map +1 -0
  129. package/dist/componentsV2/overlays/position.js +42 -0
  130. package/dist/componentsV2/status/BadgeV2/BadgeV2.d.ts +18 -0
  131. package/dist/componentsV2/status/BadgeV2/BadgeV2.d.ts.map +1 -0
  132. package/dist/componentsV2/status/BadgeV2/BadgeV2.js +7 -0
  133. package/dist/componentsV2/status/BadgeV2/BadgeV2.module.css +94 -0
  134. package/dist/componentsV2/status/BadgeV2/index.d.ts +3 -0
  135. package/dist/componentsV2/status/BadgeV2/index.d.ts.map +1 -0
  136. package/dist/componentsV2/status/BadgeV2/index.js +1 -0
  137. package/dist/componentsV2/surfaces/CardV2/CardV2.d.ts +28 -0
  138. package/dist/componentsV2/surfaces/CardV2/CardV2.d.ts.map +1 -0
  139. package/dist/componentsV2/surfaces/CardV2/CardV2.js +16 -0
  140. package/dist/componentsV2/surfaces/CardV2/CardV2.module.css +84 -0
  141. package/dist/componentsV2/surfaces/CardV2/index.d.ts +3 -0
  142. package/dist/componentsV2/surfaces/CardV2/index.d.ts.map +1 -0
  143. package/dist/componentsV2/surfaces/CardV2/index.js +1 -0
  144. package/dist/index.d.ts +38 -0
  145. package/dist/index.d.ts.map +1 -1
  146. package/dist/index.js +20 -0
  147. package/package.json +16 -5
@@ -0,0 +1,42 @@
1
+ const opposite = {
2
+ top: 'bottom',
3
+ bottom: 'top',
4
+ left: 'right',
5
+ right: 'left',
6
+ };
7
+ const clamp = (value, minimum, maximum) => Math.max(minimum, Math.min(value, maximum));
8
+ function crossStart(start, anchorSize, panelSize, align) {
9
+ if (align === 'center')
10
+ return start + (anchorSize - panelSize) / 2;
11
+ return align === 'start' ? start : start + anchorSize - panelSize;
12
+ }
13
+ export function computePosition({ anchor, panel, viewport, placement, align, offset, margin, rtl = false }) {
14
+ const right = anchor.left + anchor.width;
15
+ const bottom = anchor.top + anchor.height;
16
+ const room = {
17
+ top: anchor.top - margin,
18
+ bottom: viewport.height - bottom - margin,
19
+ left: anchor.left - margin,
20
+ right: viewport.width - right - margin,
21
+ };
22
+ const vertical = placement === 'top' || placement === 'bottom';
23
+ const needed = (vertical ? panel.height : panel.width) + offset;
24
+ const side = room[placement] < needed && room[opposite[placement]] > room[placement] ? opposite[placement] : placement;
25
+ const mirrored = rtl && vertical && align !== 'center' ? (align === 'start' ? 'end' : 'start') : align;
26
+ const idealLeft = vertical
27
+ ? crossStart(anchor.left, anchor.width, panel.width, mirrored)
28
+ : side === 'left'
29
+ ? anchor.left - offset - panel.width
30
+ : right + offset;
31
+ const idealTop = vertical
32
+ ? side === 'top'
33
+ ? anchor.top - offset - panel.height
34
+ : bottom + offset
35
+ : crossStart(anchor.top, anchor.height, panel.height, align);
36
+ const left = clamp(idealLeft, margin, viewport.width - panel.width - margin);
37
+ const top = clamp(idealTop, margin, viewport.height - panel.height - margin);
38
+ const arrow = vertical
39
+ ? clamp(anchor.left + anchor.width / 2 - left, 0, panel.width)
40
+ : clamp(anchor.top + anchor.height / 2 - top, 0, panel.height);
41
+ return { left, top, placement: side, arrow };
42
+ }
@@ -0,0 +1,18 @@
1
+ import '@corefoundry-labs/forge-tokens/theme-v2/tokens.css';
2
+ import { type HTMLAttributes, type ReactNode } from 'react';
3
+ export type BadgeV2Tone = 'neutral' | 'primary' | 'success' | 'warning' | 'error' | 'info';
4
+ export type BadgeV2Variant = 'solid' | 'subtle' | 'outline';
5
+ export type BadgeV2Size = 'sm' | 'md';
6
+ export type BadgeV2Props = Omit<HTMLAttributes<HTMLSpanElement>, 'children'> & {
7
+ tone?: BadgeV2Tone;
8
+ variant?: BadgeV2Variant;
9
+ size?: BadgeV2Size;
10
+ children: ReactNode;
11
+ };
12
+ export declare const BadgeV2: import("react").ForwardRefExoticComponent<Omit<HTMLAttributes<HTMLSpanElement>, "children"> & {
13
+ tone?: BadgeV2Tone;
14
+ variant?: BadgeV2Variant;
15
+ size?: BadgeV2Size;
16
+ children: ReactNode;
17
+ } & import("react").RefAttributes<HTMLSpanElement>>;
18
+ //# sourceMappingURL=BadgeV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BadgeV2.d.ts","sourceRoot":"","sources":["../../../../src/componentsV2/status/BadgeV2/BadgeV2.tsx"],"names":[],"mappings":"AAAA,OAAO,oDAAoD,CAAC;AAC5D,OAAO,EAAc,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAGxE,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAC;AAC3F,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,CAAC;AAC5D,MAAM,MAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC;AAEtC,MAAM,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,UAAU,CAAC,GAAG;IAC7E,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,QAAQ,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,eAAO,MAAM,OAAO;WANX,WAAW;cACR,cAAc;WACjB,WAAW;cACR,SAAS;mDAmBnB,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import '@corefoundry-labs/forge-tokens/theme-v2/tokens.css';
3
+ import { forwardRef } from 'react';
4
+ import styles from './BadgeV2.module.css';
5
+ export const BadgeV2 = forwardRef(function BadgeV2({ tone = 'neutral', variant = 'solid', size = 'sm', className, children, ...props }, ref) {
6
+ return (_jsx("span", { ...props, ref: ref, "data-tone": tone, "data-variant": variant, "data-size": size, className: [styles.badge, styles[tone], styles[variant], styles[size], className].filter(Boolean).join(' '), children: _jsx("span", { className: styles.label, children: children }) }));
7
+ });
@@ -0,0 +1,94 @@
1
+ .badge {
2
+ display: inline-flex;
3
+ align-items: center;
4
+ justify-content: center;
5
+ box-sizing: border-box;
6
+ max-width: 100%;
7
+ padding-inline: var(--cf-v2-badge-padding);
8
+ border-radius: var(--cf-v2-badge-radius);
9
+ font-family: inherit;
10
+ font-weight: var(--cf-v2-badge-font-weight);
11
+ line-height: normal;
12
+ white-space: nowrap;
13
+ }
14
+
15
+ .label {
16
+ min-width: 0;
17
+ overflow: hidden;
18
+ text-overflow: ellipsis;
19
+ }
20
+
21
+ .sm {
22
+ height: var(--cf-v2-badge-height-sm);
23
+ font-size: var(--cf-v2-badge-font-size-sm);
24
+ }
25
+
26
+ .md {
27
+ height: var(--cf-v2-badge-height-md);
28
+ font-size: var(--cf-v2-badge-font-size-md);
29
+ }
30
+
31
+ .neutral {
32
+ --badge-fill: var(--cf-v2-surface-container);
33
+ --badge-on: var(--cf-v2-on-surface);
34
+ --badge-accent: var(--cf-v2-on-surface);
35
+ --badge-border: var(--cf-v2-outline);
36
+ }
37
+
38
+ .primary {
39
+ --badge-fill: var(--cf-v2-action-primary);
40
+ --badge-on: var(--cf-v2-on-action-primary);
41
+ --badge-accent: var(--cf-v2-action-primary);
42
+ --badge-border: var(--cf-v2-action-primary);
43
+ }
44
+
45
+ .success {
46
+ --badge-fill: var(--cf-v2-success);
47
+ --badge-on: var(--cf-v2-on-success);
48
+ --badge-accent: var(--cf-v2-success);
49
+ --badge-border: var(--cf-v2-success);
50
+ }
51
+
52
+ .warning {
53
+ --badge-fill: var(--cf-v2-warning);
54
+ --badge-on: var(--cf-v2-on-warning);
55
+ --badge-accent: var(--cf-v2-warning);
56
+ --badge-border: var(--cf-v2-warning);
57
+ }
58
+
59
+ .error {
60
+ --badge-fill: var(--cf-v2-error);
61
+ --badge-on: var(--cf-v2-on-error);
62
+ --badge-accent: var(--cf-v2-error);
63
+ --badge-border: var(--cf-v2-error);
64
+ }
65
+
66
+ .info {
67
+ --badge-fill: var(--cf-v2-info);
68
+ --badge-on: var(--cf-v2-on-info);
69
+ --badge-accent: var(--cf-v2-info);
70
+ --badge-border: var(--cf-v2-info);
71
+ }
72
+
73
+ .solid {
74
+ background: var(--badge-fill);
75
+ color: var(--badge-on);
76
+ }
77
+
78
+ .subtle {
79
+ background: var(--cf-v2-surface-container);
80
+ color: var(--badge-accent);
81
+ }
82
+
83
+ .outline {
84
+ border: var(--cf-v2-badge-border-width) solid var(--badge-border);
85
+ background: var(--cf-v2-surface-container);
86
+ color: var(--badge-accent);
87
+ }
88
+
89
+ @media (forced-colors: active) {
90
+ .solid,
91
+ .subtle {
92
+ border: thin solid CanvasText;
93
+ }
94
+ }
@@ -0,0 +1,3 @@
1
+ export { BadgeV2 } from './BadgeV2';
2
+ export type { BadgeV2Props, BadgeV2Size, BadgeV2Tone, BadgeV2Variant } from './BadgeV2';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/componentsV2/status/BadgeV2/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC"}
@@ -0,0 +1 @@
1
+ export { BadgeV2 } from './BadgeV2';
@@ -0,0 +1,28 @@
1
+ import '@corefoundry-labs/forge-tokens/theme-v2/tokens.css';
2
+ import { type AnchorHTMLAttributes, type ButtonHTMLAttributes, type HTMLAttributes, type ReactNode } from 'react';
3
+ export type CardV2Variant = 'default' | 'outlined' | 'elevated' | 'interactive';
4
+ type CardV2Slots = {
5
+ header?: ReactNode;
6
+ footer?: ReactNode;
7
+ children?: ReactNode;
8
+ };
9
+ type CardV2Static = Omit<HTMLAttributes<HTMLElement>, 'children' | 'onClick'> & CardV2Slots & {
10
+ variant?: Exclude<CardV2Variant, 'interactive'>;
11
+ as?: 'div' | 'section' | 'article' | 'aside';
12
+ onClick?: never;
13
+ disabled?: never;
14
+ href?: never;
15
+ };
16
+ type CardV2Button = Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'> & CardV2Slots & {
17
+ variant: 'interactive';
18
+ as?: 'button';
19
+ };
20
+ type CardV2Link = Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'children' | 'href'> & CardV2Slots & {
21
+ variant: 'interactive';
22
+ as: 'a';
23
+ href: string;
24
+ };
25
+ export type CardV2Props = CardV2Static | CardV2Button | CardV2Link;
26
+ export declare const CardV2: import("react").ForwardRefExoticComponent<CardV2Props & import("react").RefAttributes<HTMLElement>>;
27
+ export {};
28
+ //# sourceMappingURL=CardV2.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CardV2.d.ts","sourceRoot":"","sources":["../../../../src/componentsV2/surfaces/CardV2/CardV2.tsx"],"names":[],"mappings":"AAAA,OAAO,oDAAoD,CAAC;AAC5D,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,EAEzB,KAAK,cAAc,EACnB,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,aAAa,CAAC;AAEhF,KAAK,WAAW,GAAG;IACjB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,KAAK,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC,GAC3E,WAAW,GAAG;IACZ,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;IAChD,EAAE,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAC7C,OAAO,CAAC,EAAE,KAAK,CAAC;IAChB,QAAQ,CAAC,EAAE,KAAK,CAAC;IACjB,IAAI,CAAC,EAAE,KAAK,CAAC;CACd,CAAC;AAEJ,KAAK,YAAY,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,CAAC,GAC3E,WAAW,GAAG;IACZ,OAAO,EAAE,aAAa,CAAC;IACvB,EAAE,CAAC,EAAE,QAAQ,CAAC;CACf,CAAC;AAEJ,KAAK,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,UAAU,GAAG,MAAM,CAAC,GAClF,WAAW,GAAG;IACZ,OAAO,EAAE,aAAa,CAAC;IACvB,EAAE,EAAE,GAAG,CAAC;IACR,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEJ,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,UAAU,CAAC;AAEnE,eAAO,MAAM,MAAM,qGAqBjB,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import '@corefoundry-labs/forge-tokens/theme-v2/tokens.css';
3
+ import { createElement, forwardRef, } from 'react';
4
+ import styles from './CardV2.module.css';
5
+ export const CardV2 = forwardRef(function CardV2({ variant = 'default', as, header, footer, children, className, ...props }, ref) {
6
+ const interactive = variant === 'interactive';
7
+ const tag = as ?? (interactive ? 'button' : 'div');
8
+ const Slot = interactive ? 'span' : 'div';
9
+ return createElement(tag, {
10
+ ...(tag === 'button' ? { type: 'button' } : undefined),
11
+ ...props,
12
+ ref,
13
+ 'data-variant': variant,
14
+ className: [styles.card, styles[variant], className].filter(Boolean).join(' '),
15
+ }, header != null && _jsx(Slot, { className: styles.header, children: header }), children != null && _jsx(Slot, { className: styles.body, children: children }), footer != null && _jsx(Slot, { className: styles.footer, children: footer }));
16
+ });
@@ -0,0 +1,84 @@
1
+ .card {
2
+ display: flex;
3
+ flex-direction: column;
4
+ gap: var(--cf-v2-card-gap);
5
+ box-sizing: border-box;
6
+ width: 100%;
7
+ margin: 0;
8
+ padding: var(--cf-v2-card-padding);
9
+ border: 0;
10
+ border-radius: var(--cf-v2-card-radius);
11
+ background: var(--cf-v2-surface-container);
12
+ color: var(--cf-v2-on-surface);
13
+ font-family: inherit;
14
+ line-height: normal;
15
+ text-align: start;
16
+ text-decoration: none;
17
+ }
18
+
19
+ .outlined {
20
+ border: var(--cf-v2-card-border-width) solid var(--cf-v2-outline);
21
+ background: var(--cf-v2-surface);
22
+ }
23
+
24
+ .elevated {
25
+ box-shadow: 0 var(--cf-v2-card-shadow-offset) var(--cf-v2-card-shadow-blur)
26
+ color-mix(in srgb, var(--cf-v2-shadow) calc(var(--cf-v2-card-shadow-opacity) * 100%), transparent);
27
+ }
28
+
29
+ .interactive {
30
+ border: var(--cf-v2-card-border-width) solid var(--cf-v2-outline);
31
+ cursor: pointer;
32
+ transition: background-color var(--cf-v2-card-transition-duration) ease;
33
+ }
34
+
35
+ .interactive:hover:not(:disabled) {
36
+ background: var(--cf-v2-surface-container-hover);
37
+ }
38
+
39
+ .interactive:focus-visible {
40
+ outline: var(--cf-v2-card-focus-width) solid var(--cf-v2-focus-ring);
41
+ outline-offset: calc(-1 * var(--cf-v2-card-focus-width));
42
+ }
43
+
44
+ .interactive:disabled {
45
+ background: var(--cf-v2-disabled);
46
+ opacity: var(--cf-v2-card-disabled-opacity);
47
+ cursor: not-allowed;
48
+ }
49
+
50
+ .header {
51
+ display: block;
52
+ font-size: var(--cf-v2-card-title-font-size);
53
+ font-weight: var(--cf-v2-card-title-font-weight);
54
+ }
55
+
56
+ .header :is(h1, h2, h3, h4, h5, h6) {
57
+ margin: 0;
58
+ font: inherit;
59
+ }
60
+
61
+ .body {
62
+ display: block;
63
+ color: color-mix(in srgb, var(--cf-v2-on-surface) calc(var(--cf-v2-card-body-opacity) * 100%), transparent);
64
+ font-size: var(--cf-v2-card-body-font-size);
65
+ }
66
+
67
+ .footer {
68
+ display: block;
69
+ color: var(--cf-v2-action-primary);
70
+ font-size: var(--cf-v2-card-footer-font-size);
71
+ font-weight: var(--cf-v2-card-footer-font-weight);
72
+ }
73
+
74
+ @media (prefers-reduced-motion: reduce) {
75
+ .interactive {
76
+ transition: none;
77
+ }
78
+ }
79
+
80
+ @media (forced-colors: active) {
81
+ .card {
82
+ border: thin solid CanvasText;
83
+ }
84
+ }
@@ -0,0 +1,3 @@
1
+ export { CardV2 } from './CardV2';
2
+ export type { CardV2Props, CardV2Variant } from './CardV2';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/componentsV2/surfaces/CardV2/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
@@ -0,0 +1 @@
1
+ export { CardV2 } from './CardV2';
package/dist/index.d.ts CHANGED
@@ -5,6 +5,16 @@ export { Button } from './components/actions/Button';
5
5
  export type { ButtonProps, ButtonSize } from './components/actions/Button';
6
6
  export { IconButton } from './components/actions/IconButton';
7
7
  export type { IconButtonProps } from './components/actions/IconButton';
8
+ export { ButtonV2 } from './componentsV2/actions/ButtonV2';
9
+ export type { ButtonV2Props, ButtonV2Size, ButtonV2Variant, } from './componentsV2/actions/ButtonV2';
10
+ export { TextInputV2 } from './componentsV2/forms/TextInputV2';
11
+ export type { TextInputV2Props, TextInputV2Size } from './componentsV2/forms/TextInputV2';
12
+ export { SelectV2 } from './componentsV2/forms/SelectV2';
13
+ export type { SelectV2Props, SelectV2Size } from './componentsV2/forms/SelectV2';
14
+ export { CheckboxV2 } from './componentsV2/forms/CheckboxV2';
15
+ export type { CheckboxV2Props } from './componentsV2/forms/CheckboxV2';
16
+ export { SwitchV2 } from './componentsV2/forms/SwitchV2';
17
+ export type { SwitchV2Props } from './componentsV2/forms/SwitchV2';
8
18
  export { TextInput } from './components/forms/TextInput';
9
19
  export type { TextInputProps } from './components/forms/TextInput';
10
20
  export { TextInput as Input } from './components/forms/TextInput';
@@ -29,6 +39,8 @@ export { Radio } from './components/forms/Radio';
29
39
  export type { RadioProps } from './components/forms/Radio';
30
40
  export { Switch } from './components/forms/Switch';
31
41
  export type { SwitchProps } from './components/forms/Switch';
42
+ export { TabsV2 } from './componentsV2/navigation/TabsV2';
43
+ export type { TabsV2Activation, TabsV2Item, TabsV2Props, TabsV2Size, TabsV2Variant } from './componentsV2/navigation/TabsV2';
32
44
  export { Tabs } from './components/navigation/Tabs';
33
45
  export type { TabsProps, TabItem } from './components/navigation/Tabs';
34
46
  export { Breadcrumbs } from './components/navigation/Breadcrumbs';
@@ -37,14 +49,28 @@ export { MenuItem } from './components/navigation/MenuItem';
37
49
  export type { MenuItemProps } from './components/navigation/MenuItem';
38
50
  export { StepperStep } from './components/navigation/StepperStep';
39
51
  export type { StepperStepProps } from './components/navigation/StepperStep';
52
+ export { CardV2 } from './componentsV2/surfaces/CardV2';
53
+ export type { CardV2Props, CardV2Variant } from './componentsV2/surfaces/CardV2';
40
54
  export { Card } from './components/surfaces/Card';
41
55
  export type { CardProps } from './components/surfaces/Card';
42
56
  export { MetricCard } from './components/surfaces/MetricCard';
43
57
  export type { MetricCardProps } from './components/surfaces/MetricCard';
44
58
  export { StatusChip } from './components/status/StatusChip';
45
59
  export type { StatusChipProps } from './components/status/StatusChip';
60
+ export { BadgeV2 } from './componentsV2/status/BadgeV2';
61
+ export type { BadgeV2Props, BadgeV2Size, BadgeV2Tone, BadgeV2Variant } from './componentsV2/status/BadgeV2';
46
62
  export { Badge } from './components/status/Badge';
47
63
  export type { BadgeProps } from './components/status/Badge';
64
+ export { ProgressV2 } from './componentsV2/feedback/ProgressV2';
65
+ export type { ProgressV2Props, ProgressV2Shape, ProgressV2Status } from './componentsV2/feedback/ProgressV2';
66
+ export { SkeletonV2 } from './componentsV2/feedback/SkeletonV2';
67
+ export type { SkeletonV2Animation, SkeletonV2Props, SkeletonV2Shape, SkeletonV2Size } from './componentsV2/feedback/SkeletonV2';
68
+ export { SnackbarStackV2, SnackbarV2 } from './componentsV2/feedback/SnackbarV2';
69
+ export type { SnackbarStackV2Placement, SnackbarStackV2Props, SnackbarV2Density, SnackbarV2DismissReason, SnackbarV2Props, SnackbarV2Tone, } from './componentsV2/feedback/SnackbarV2';
70
+ export { AvatarGroupV2, AvatarV2 } from './componentsV2/data-display/AvatarV2';
71
+ export type { AvatarGroupV2Props, AvatarV2Props, AvatarV2Shape, AvatarV2Size, AvatarV2StatusTone, } from './componentsV2/data-display/AvatarV2';
72
+ export { AlertV2 } from './componentsV2/feedback/AlertV2';
73
+ export type { AlertV2Props, AlertV2Tone, AlertV2Variant } from './componentsV2/feedback/AlertV2';
48
74
  export { Alert } from './components/feedback/Alert';
49
75
  export type { AlertProps } from './components/feedback/Alert';
50
76
  export { StatePanel } from './components/feedback/StatePanel';
@@ -63,6 +89,8 @@ export { LoadingState } from './components/feedback/LoadingState';
63
89
  export type { LoadingStateProps } from './components/feedback/LoadingState';
64
90
  export { ErrorState } from './components/feedback/ErrorState';
65
91
  export type { ErrorStateProps } from './components/feedback/ErrorState';
92
+ export { FeedbackStateV2 } from './componentsV2/feedback/FeedbackStateV2';
93
+ export type { FeedbackStateV2Kind, FeedbackStateV2Props, } from './componentsV2/feedback/FeedbackStateV2';
66
94
  export { RecordRow } from './components/data-display/RecordRow';
67
95
  export type { RecordRowProps } from './components/data-display/RecordRow';
68
96
  export { KeyValueRow } from './components/data-display/KeyValueRow';
@@ -71,10 +99,20 @@ export { TableRow } from './components/data-display/TableRow';
71
99
  export type { TableRowProps } from './components/data-display/TableRow';
72
100
  export { Table } from './components/data-display/Table';
73
101
  export type { TableProps, TableColumn } from './components/data-display/Table';
102
+ export { DialogV2 } from './componentsV2/overlays/DialogV2';
103
+ export type { DialogV2Props, DialogV2Size } from './componentsV2/overlays/DialogV2';
104
+ export { TooltipV2 } from './componentsV2/overlays/TooltipV2';
105
+ export type { TooltipV2Placement, TooltipV2Props } from './componentsV2/overlays/TooltipV2';
106
+ export { PopoverV2 } from './componentsV2/overlays/PopoverV2';
107
+ export type { PopoverV2Align, PopoverV2Placement, PopoverV2Props, PopoverV2Width } from './componentsV2/overlays/PopoverV2';
108
+ export { DropdownMenuV2 } from './componentsV2/overlays/DropdownMenuV2';
109
+ export type { DropdownMenuV2Action, DropdownMenuV2Density, DropdownMenuV2Item, DropdownMenuV2Props, DropdownMenuV2Separator, } from './componentsV2/overlays/DropdownMenuV2';
74
110
  export { Dialog } from './components/overlays/Dialog';
75
111
  export type { DialogProps } from './components/overlays/Dialog';
76
112
  export { Popover } from './components/overlays/Popover';
77
113
  export type { PopoverProps } from './components/overlays/Popover';
114
+ export { ThemeScope } from './components/layout/ThemeScope';
115
+ export type { ThemeScopeProps, ThemeScopeTheme } from './components/layout/ThemeScope';
78
116
  export { SectionHeader } from './components/layout/SectionHeader';
79
117
  export type { SectionHeaderProps } from './components/layout/SectionHeader';
80
118
  export { Divider } from './components/layout/Divider';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,2CAA2C,CAAC;AAGnD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AACzC,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAE,MAAM,iCAAiC,CAAC;AAC7D,YAAY,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAGvE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,OAAO,EAAE,SAAS,IAAI,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAClE,YAAY,EAAE,cAAc,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAC;AACjF,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AACjE,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,YAAY,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACtF,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,YAAY,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AACzF,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAG7D,OAAO,EAAE,IAAI,EAAE,MAAM,8BAA8B,CAAC;AACpD,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC5F,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,YAAY,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,MAAM,qCAAqC,CAAC;AAG5E,OAAO,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAClD,YAAY,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,YAAY,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,YAAY,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAG5D,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC1D,YAAY,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,YAAY,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,YAAY,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAC9D,YAAY,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGxE,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAChE,YAAY,EAAE,cAAc,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACpE,YAAY,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAC9D,YAAY,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,MAAM,iCAAiC,CAAC;AACxD,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAG/E,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AACxD,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAGlE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,YAAY,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,YAAY,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,YAAY,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -4,7 +4,13 @@ export { useSystemTheme } from './hooks';
4
4
  // Actions
5
5
  export { Button } from './components/actions/Button';
6
6
  export { IconButton } from './components/actions/IconButton';
7
+ // Actions V2
8
+ export { ButtonV2 } from './componentsV2/actions/ButtonV2';
7
9
  // Forms
10
+ export { TextInputV2 } from './componentsV2/forms/TextInputV2';
11
+ export { SelectV2 } from './componentsV2/forms/SelectV2';
12
+ export { CheckboxV2 } from './componentsV2/forms/CheckboxV2';
13
+ export { SwitchV2 } from './componentsV2/forms/SwitchV2';
8
14
  export { TextInput } from './components/forms/TextInput';
9
15
  // Compatibility aliases retained for existing application consumers.
10
16
  export { TextInput as Input } from './components/forms/TextInput';
@@ -19,16 +25,24 @@ export { FormActions } from './components/forms/FormActions';
19
25
  export { Radio } from './components/forms/Radio';
20
26
  export { Switch } from './components/forms/Switch';
21
27
  // Navigation
28
+ export { TabsV2 } from './componentsV2/navigation/TabsV2';
22
29
  export { Tabs } from './components/navigation/Tabs';
23
30
  export { Breadcrumbs } from './components/navigation/Breadcrumbs';
24
31
  export { MenuItem } from './components/navigation/MenuItem';
25
32
  export { StepperStep } from './components/navigation/StepperStep';
26
33
  // Surfaces and status
34
+ export { CardV2 } from './componentsV2/surfaces/CardV2';
27
35
  export { Card } from './components/surfaces/Card';
28
36
  export { MetricCard } from './components/surfaces/MetricCard';
29
37
  export { StatusChip } from './components/status/StatusChip';
38
+ export { BadgeV2 } from './componentsV2/status/BadgeV2';
30
39
  export { Badge } from './components/status/Badge';
31
40
  // Feedback
41
+ export { ProgressV2 } from './componentsV2/feedback/ProgressV2';
42
+ export { SkeletonV2 } from './componentsV2/feedback/SkeletonV2';
43
+ export { SnackbarStackV2, SnackbarV2 } from './componentsV2/feedback/SnackbarV2';
44
+ export { AvatarGroupV2, AvatarV2 } from './componentsV2/data-display/AvatarV2';
45
+ export { AlertV2 } from './componentsV2/feedback/AlertV2';
32
46
  export { Alert } from './components/feedback/Alert';
33
47
  export { StatePanel } from './components/feedback/StatePanel';
34
48
  export { Progress } from './components/feedback/Progress';
@@ -38,15 +52,21 @@ export { Toast } from './components/feedback/Toast';
38
52
  export { EmptyState } from './components/feedback/EmptyState';
39
53
  export { LoadingState } from './components/feedback/LoadingState';
40
54
  export { ErrorState } from './components/feedback/ErrorState';
55
+ export { FeedbackStateV2 } from './componentsV2/feedback/FeedbackStateV2';
41
56
  // Data display
42
57
  export { RecordRow } from './components/data-display/RecordRow';
43
58
  export { KeyValueRow } from './components/data-display/KeyValueRow';
44
59
  export { TableRow } from './components/data-display/TableRow';
45
60
  export { Table } from './components/data-display/Table';
46
61
  // Overlays
62
+ export { DialogV2 } from './componentsV2/overlays/DialogV2';
63
+ export { TooltipV2 } from './componentsV2/overlays/TooltipV2';
64
+ export { PopoverV2 } from './componentsV2/overlays/PopoverV2';
65
+ export { DropdownMenuV2 } from './componentsV2/overlays/DropdownMenuV2';
47
66
  export { Dialog } from './components/overlays/Dialog';
48
67
  export { Popover } from './components/overlays/Popover';
49
68
  // Other shared compositions
69
+ export { ThemeScope } from './components/layout/ThemeScope';
50
70
  export { SectionHeader } from './components/layout/SectionHeader';
51
71
  export { Divider } from './components/layout/Divider';
52
72
  export { CodeLabel } from './components/layout/CodeLabel';
package/package.json CHANGED
@@ -1,11 +1,18 @@
1
1
  {
2
2
  "name": "@corefoundry-labs/forge-ui",
3
+ "description": "Accessible React components with stable V1 APIs, scoped dynamic themes, and independent V2 components.",
3
4
  "private": false,
4
- "version": "1.0.2",
5
+ "version": "1.1.0",
5
6
  "repository": {
6
7
  "type": "git",
7
- "url": "https://github.com/JoseAngelValadezBarajas/forge-org-packages.git"
8
+ "url": "https://github.com/JoseAngelValadezBarajas/forge-org-packages.git",
9
+ "directory": "packages/ui"
8
10
  },
11
+ "homepage": "https://github.com/JoseAngelValadezBarajas/forge-org-packages/tree/main/packages/ui#readme",
12
+ "bugs": {
13
+ "url": "https://github.com/JoseAngelValadezBarajas/forge-org-packages/issues"
14
+ },
15
+ "keywords": ["react", "design-system", "ui", "components", "corefoundry"],
9
16
  "publishConfig": {
10
17
  "registry": "https://registry.npmjs.org",
11
18
  "access": "public"
@@ -24,15 +31,19 @@
24
31
  "types": "./dist/styles.css.d.ts",
25
32
  "default": "./dist/styles.css"
26
33
  },
34
+ "./theme": {
35
+ "types": "./dist/components/layout/ThemeScope/ThemeScope.d.ts",
36
+ "import": "./dist/components/layout/ThemeScope/ThemeScope.js"
37
+ },
27
38
  "./package.json": "./package.json"
28
39
  },
29
40
  "scripts": {
30
41
  "build": "node scripts/build.mjs",
31
- "test": "vitest run --config vitest.config.ts && npm run build && node scripts/css-distribution.test.mjs && node scripts/component-architecture.test.mjs && node --test scripts/shared-components.browser.test.mjs"
42
+ "test": "npm run build --workspace=@corefoundry-labs/forge-tokens && vitest run --config vitest.config.ts && npm run build && node scripts/css-distribution.test.mjs && node scripts/component-architecture.test.mjs && node --test scripts/shared-components.browser.test.mjs && node --test scripts/ui-playground.browser.test.mjs"
32
43
  },
33
44
  "dependencies": {
34
- "@corefoundry-labs/forge-icons": "1.0.2",
35
- "@corefoundry-labs/forge-tokens": "1.0.2"
45
+ "@corefoundry-labs/forge-icons": "1.1.0",
46
+ "@corefoundry-labs/forge-tokens": "1.1.0"
36
47
  },
37
48
  "peerDependencies": {
38
49
  "react": "^19.0.0"