@astryxdesign/lab 0.1.4-canary.39ffd21 → 0.1.4-canary.3d64ef2

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 (143) hide show
  1. package/README.md +2 -0
  2. package/dist/CodeEditor/CodeEditor.d.ts +4 -1
  3. package/dist/CodeEditor/CodeEditor.d.ts.map +1 -1
  4. package/dist/CodeEditor/CodeEditor.js +3 -0
  5. package/dist/InfoTip/InfoTip.d.ts +58 -0
  6. package/dist/InfoTip/InfoTip.d.ts.map +1 -0
  7. package/dist/InfoTip/InfoTip.js +91 -0
  8. package/dist/InfoTip/index.d.ts +6 -0
  9. package/dist/InfoTip/index.d.ts.map +1 -0
  10. package/dist/InfoTip/index.js +8 -0
  11. package/dist/Sankey/SankeyChart.d.ts.map +1 -1
  12. package/dist/Sankey/SankeyChart.js +3 -0
  13. package/dist/Schedule/ListView.d.ts.map +1 -1
  14. package/dist/Schedule/ListView.js +7 -4
  15. package/dist/Schedule/MonthlyView.js +3 -2
  16. package/dist/Schedule/Schedule.d.ts +3 -1
  17. package/dist/Schedule/Schedule.d.ts.map +1 -1
  18. package/dist/Schedule/Schedule.js +9 -4
  19. package/dist/Schedule/TimeGridView.js +3 -2
  20. package/dist/Schedule/context.d.ts +2 -0
  21. package/dist/Schedule/context.d.ts.map +1 -1
  22. package/dist/index.d.ts +1 -1
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +5 -2
  25. package/dist/lab.css +6 -15
  26. package/package.json +2 -2
  27. package/src/CodeEditor/CodeEditor.test.tsx +21 -0
  28. package/src/CodeEditor/CodeEditor.tsx +5 -0
  29. package/src/InfoTip/InfoTip.doc.mjs +97 -0
  30. package/src/InfoTip/InfoTip.test.tsx +169 -0
  31. package/src/InfoTip/InfoTip.tsx +155 -0
  32. package/src/InfoTip/index.ts +10 -0
  33. package/src/Sankey/SankeyChart.test.tsx +77 -0
  34. package/src/Sankey/SankeyChart.tsx +3 -0
  35. package/src/Schedule/ListView.tsx +5 -2
  36. package/src/Schedule/MonthlyView.tsx +2 -2
  37. package/src/Schedule/Schedule.test.tsx +39 -0
  38. package/src/Schedule/Schedule.tsx +8 -0
  39. package/src/Schedule/TimeGridView.tsx +2 -2
  40. package/src/Schedule/context.tsx +2 -0
  41. package/src/index.ts +5 -46
  42. package/dist/ChartV2/Chart.d.ts +0 -32
  43. package/dist/ChartV2/Chart.d.ts.map +0 -1
  44. package/dist/ChartV2/Chart.js +0 -281
  45. package/dist/ChartV2/ChartAxis.d.ts +0 -36
  46. package/dist/ChartV2/ChartAxis.d.ts.map +0 -1
  47. package/dist/ChartV2/ChartAxis.js +0 -161
  48. package/dist/ChartV2/ChartGrid.d.ts +0 -20
  49. package/dist/ChartV2/ChartGrid.d.ts.map +0 -1
  50. package/dist/ChartV2/ChartGrid.js +0 -76
  51. package/dist/ChartV2/ChartLegend.d.ts +0 -14
  52. package/dist/ChartV2/ChartLegend.d.ts.map +0 -1
  53. package/dist/ChartV2/ChartLegend.js +0 -54
  54. package/dist/ChartV2/ChartSwatch.d.ts +0 -36
  55. package/dist/ChartV2/ChartSwatch.d.ts.map +0 -1
  56. package/dist/ChartV2/ChartSwatch.js +0 -82
  57. package/dist/ChartV2/ChartTooltip.d.ts +0 -46
  58. package/dist/ChartV2/ChartTooltip.d.ts.map +0 -1
  59. package/dist/ChartV2/ChartTooltip.js +0 -267
  60. package/dist/ChartV2/ChartV2Context.d.ts +0 -4
  61. package/dist/ChartV2/ChartV2Context.d.ts.map +0 -1
  62. package/dist/ChartV2/ChartV2Context.js +0 -12
  63. package/dist/ChartV2/index.d.ts +0 -13
  64. package/dist/ChartV2/index.d.ts.map +0 -1
  65. package/dist/ChartV2/index.js +0 -10
  66. package/dist/ChartV2/layout.d.ts +0 -25
  67. package/dist/ChartV2/layout.d.ts.map +0 -1
  68. package/dist/ChartV2/layout.js +0 -195
  69. package/dist/ChartV2/legend.d.ts +0 -18
  70. package/dist/ChartV2/legend.d.ts.map +0 -1
  71. package/dist/ChartV2/legend.js +0 -24
  72. package/dist/ChartV2/marks/area.d.ts +0 -19
  73. package/dist/ChartV2/marks/area.d.ts.map +0 -1
  74. package/dist/ChartV2/marks/area.js +0 -109
  75. package/dist/ChartV2/marks/band.d.ts +0 -9
  76. package/dist/ChartV2/marks/band.d.ts.map +0 -1
  77. package/dist/ChartV2/marks/band.js +0 -59
  78. package/dist/ChartV2/marks/bar.d.ts +0 -17
  79. package/dist/ChartV2/marks/bar.d.ts.map +0 -1
  80. package/dist/ChartV2/marks/bar.js +0 -120
  81. package/dist/ChartV2/marks/candlestick.d.ts +0 -15
  82. package/dist/ChartV2/marks/candlestick.d.ts.map +0 -1
  83. package/dist/ChartV2/marks/candlestick.js +0 -83
  84. package/dist/ChartV2/marks/dot.d.ts +0 -15
  85. package/dist/ChartV2/marks/dot.d.ts.map +0 -1
  86. package/dist/ChartV2/marks/dot.js +0 -65
  87. package/dist/ChartV2/marks/dotGL.d.ts +0 -16
  88. package/dist/ChartV2/marks/dotGL.d.ts.map +0 -1
  89. package/dist/ChartV2/marks/dotGL.js +0 -178
  90. package/dist/ChartV2/marks/dotGLInteractive.d.ts +0 -30
  91. package/dist/ChartV2/marks/dotGLInteractive.d.ts.map +0 -1
  92. package/dist/ChartV2/marks/dotGLInteractive.js +0 -464
  93. package/dist/ChartV2/marks/errorBar.d.ts +0 -27
  94. package/dist/ChartV2/marks/errorBar.d.ts.map +0 -1
  95. package/dist/ChartV2/marks/errorBar.js +0 -87
  96. package/dist/ChartV2/marks/heatmapGL.d.ts +0 -23
  97. package/dist/ChartV2/marks/heatmapGL.d.ts.map +0 -1
  98. package/dist/ChartV2/marks/heatmapGL.js +0 -242
  99. package/dist/ChartV2/marks/index.d.ts +0 -13
  100. package/dist/ChartV2/marks/index.d.ts.map +0 -1
  101. package/dist/ChartV2/marks/index.js +0 -14
  102. package/dist/ChartV2/marks/line.d.ts +0 -18
  103. package/dist/ChartV2/marks/line.d.ts.map +0 -1
  104. package/dist/ChartV2/marks/line.js +0 -76
  105. package/dist/ChartV2/marks/referenceLine.d.ts +0 -35
  106. package/dist/ChartV2/marks/referenceLine.d.ts.map +0 -1
  107. package/dist/ChartV2/marks/referenceLine.js +0 -186
  108. package/dist/ChartV2/marks/streamGL.d.ts +0 -36
  109. package/dist/ChartV2/marks/streamGL.d.ts.map +0 -1
  110. package/dist/ChartV2/marks/streamGL.js +0 -204
  111. package/dist/ChartV2/tooltip.d.ts +0 -38
  112. package/dist/ChartV2/tooltip.d.ts.map +0 -1
  113. package/dist/ChartV2/tooltip.js +0 -54
  114. package/dist/ChartV2/types.d.ts +0 -115
  115. package/dist/ChartV2/types.d.ts.map +0 -1
  116. package/dist/ChartV2/types.js +0 -35
  117. package/src/ChartV2/Chart.tsx +0 -348
  118. package/src/ChartV2/ChartAxis.tsx +0 -209
  119. package/src/ChartV2/ChartGrid.tsx +0 -99
  120. package/src/ChartV2/ChartLegend.tsx +0 -69
  121. package/src/ChartV2/ChartSwatch.doc.mjs +0 -17
  122. package/src/ChartV2/ChartSwatch.tsx +0 -86
  123. package/src/ChartV2/ChartTooltip.tsx +0 -382
  124. package/src/ChartV2/ChartV2.doc.mjs +0 -16
  125. package/src/ChartV2/ChartV2Context.ts +0 -15
  126. package/src/ChartV2/index.ts +0 -62
  127. package/src/ChartV2/layout.ts +0 -223
  128. package/src/ChartV2/legend.ts +0 -32
  129. package/src/ChartV2/marks/area.tsx +0 -122
  130. package/src/ChartV2/marks/band.tsx +0 -70
  131. package/src/ChartV2/marks/bar.tsx +0 -159
  132. package/src/ChartV2/marks/candlestick.tsx +0 -106
  133. package/src/ChartV2/marks/dot.tsx +0 -64
  134. package/src/ChartV2/marks/dotGL.tsx +0 -202
  135. package/src/ChartV2/marks/dotGLInteractive.tsx +0 -546
  136. package/src/ChartV2/marks/errorBar.tsx +0 -89
  137. package/src/ChartV2/marks/heatmapGL.tsx +0 -299
  138. package/src/ChartV2/marks/index.ts +0 -14
  139. package/src/ChartV2/marks/line.tsx +0 -94
  140. package/src/ChartV2/marks/referenceLine.tsx +0 -224
  141. package/src/ChartV2/marks/streamGL.tsx +0 -251
  142. package/src/ChartV2/tooltip.ts +0 -70
  143. package/src/ChartV2/types.ts +0 -129
package/README.md CHANGED
@@ -12,6 +12,8 @@ Components in lab:
12
12
  - Compose with `@astryxdesign/core` components (use the theme, follow naming conventions)
13
13
  - Graduate to `@astryxdesign/core` after thorough engineering review
14
14
 
15
+ See the **[Component Lifecycle](https://github.com/facebook/astryx/wiki/Component-Lifecycle)** wiki for how a component moves from lab → core (and the promotion gates), and the **[Component Hardening Protocol](https://github.com/facebook/astryx/wiki/Component-Hardening-Protocol)** for the bar a component must clear to graduate.
16
+
15
17
  ## What's here vs what's in core
16
18
 
17
19
  **Lab:** Works, has basic props, maybe has stories. API might change. Not accessibility-hardened, not vibe-tested, not fully themed. **Canary-only — no stability promise.**
@@ -9,6 +9,8 @@ export interface CodeEditorProps extends Omit<BaseProps<HTMLDivElement>, 'onChan
9
9
  onChange: (value: string) => void;
10
10
  /** Language for highlighting. @default "plaintext" */
11
11
  language?: string;
12
+ /** Label for the code editor — used as the accessible name of the editable region. */
13
+ label: string;
12
14
  /** Show line numbers. @default false */
13
15
  hasLineNumbers?: boolean;
14
16
  /** Read-only mode. @default false */
@@ -32,6 +34,7 @@ export interface CodeEditorProps extends Omit<BaseProps<HTMLDivElement>, 'onChan
32
34
  * ```tsx
33
35
  * const [code, setCode] = useState('');
34
36
  * <CodeEditor
37
+ * label="Source code"
35
38
  * value={code}
36
39
  * onChange={setCode}
37
40
  * language="typescript"
@@ -39,7 +42,7 @@ export interface CodeEditorProps extends Omit<BaseProps<HTMLDivElement>, 'onChan
39
42
  * />
40
43
  * ```
41
44
  */
42
- export declare function CodeEditor({ value, onChange, language, hasLineNumbers, isReadOnly, placeholder, maxHeight, size, tokenizer: customTokenizer, xstyle, className, style, ref, ...props }: CodeEditorProps): import("react").JSX.Element;
45
+ export declare function CodeEditor({ value, onChange, language, hasLineNumbers, isReadOnly, placeholder, maxHeight, size, tokenizer: customTokenizer, label, xstyle, className, style, ref, ...props }: CodeEditorProps): import("react").JSX.Element;
43
46
  export declare namespace CodeEditor {
44
47
  var displayName: string;
45
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../src/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAiBlD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AAuF5D,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wCAAwC;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,uBAAuB;IACvB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;CAC7D;AA6BD;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAsB,EACtB,cAAsB,EACtB,UAAkB,EAClB,WAAW,EACX,SAAS,EACT,IAAW,EACX,SAAS,EAAE,eAAe,EAC1B,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,eAAe,+BAiQjB;yBAhRe,UAAU"}
1
+ {"version":3,"file":"CodeEditor.d.ts","sourceRoot":"","sources":["../../src/CodeEditor/CodeEditor.tsx"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAiBlD,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,8BAA8B,CAAC;AAuF5D,MAAM,WAAW,eAAgB,SAAQ,IAAI,CAC3C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,uBAAuB;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,qBAAqB;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,sDAAsD;IACtD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qCAAqC;IACrC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,+BAA+B;IAC/B,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,uBAAuB;IACvB,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;CAC7D;AA6BD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,QAAQ,EACR,QAAsB,EACtB,cAAsB,EACtB,UAAkB,EAClB,WAAW,EACX,SAAS,EACT,IAAW,EACX,SAAS,EAAE,eAAe,EAC1B,KAAK,EACL,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,KAAK,EACT,EAAE,eAAe,+BAkQjB;yBAlRe,UAAU"}
@@ -132,6 +132,7 @@ let editorInstanceCounter = 0;
132
132
  * ```tsx
133
133
  * const [code, setCode] = useState('');
134
134
  * <CodeEditor
135
+ * label="Source code"
135
136
  * value={code}
136
137
  * onChange={setCode}
137
138
  * language="typescript"
@@ -149,6 +150,7 @@ export function CodeEditor({
149
150
  maxHeight,
150
151
  size = 'md',
151
152
  tokenizer: customTokenizer,
153
+ label,
152
154
  xstyle,
153
155
  className,
154
156
  style,
@@ -379,6 +381,7 @@ export function CodeEditor({
379
381
  contentEditable: isReadOnly ? false : 'plaintext-only',
380
382
  role: "textbox",
381
383
  "aria-multiline": "true",
384
+ "aria-label": label,
382
385
  "aria-readonly": isReadOnly,
383
386
  spellCheck: false,
384
387
  onInput: handleInput,
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @file InfoTip.tsx
3
+ * @input Uses React, stylex, Tooltip + Icon from @astryxdesign/core, color/spacing/radius/duration/ease tokens
4
+ * @output Exports InfoTip component, InfoTipProps, InfoTipSize types
5
+ * @position Lab experiment (RFC facebook/astryx#3349); core implementation consumed by index.ts
6
+ *
7
+ * SYNC: When modified, update these files to stay in sync:
8
+ * - /packages/lab/src/InfoTip/InfoTip.doc.mjs (props table, features)
9
+ * - /packages/lab/src/InfoTip/InfoTip.test.tsx (tests for new/changed behavior)
10
+ * - /packages/lab/src/InfoTip/index.ts (exports if types change)
11
+ */
12
+ import { type ReactNode } from 'react';
13
+ import { type IconSize } from '@astryxdesign/core/Icon';
14
+ /**
15
+ * Size of the info icon. Maps 1:1 to Icon sizes
16
+ * (xsm: 12px, sm: 16px, md: 20px, lg: 24px).
17
+ */
18
+ export type InfoTipSize = IconSize;
19
+ export interface InfoTipProps {
20
+ /**
21
+ * Content to display in the tooltip.
22
+ * Typically short, non-interactive text. Mirrors Tooltip's `content` prop.
23
+ */
24
+ content: ReactNode;
25
+ /**
26
+ * Accessible name for the trigger button.
27
+ * @default 'More information'
28
+ */
29
+ label?: string;
30
+ /**
31
+ * Size of the info icon.
32
+ * @default 'sm'
33
+ */
34
+ size?: InfoTipSize;
35
+ }
36
+ /**
37
+ * An inline info-icon help affordance: a small "i" button that reveals a
38
+ * tooltip on hover and keyboard focus. Use it next to labels, values, and
39
+ * metrics for permission notes, metric definitions, and field help.
40
+ *
41
+ * The value over hand-composing Icon inside Tooltip is the pre-wired
42
+ * accessible trigger: a real button with an aria-label, Tab-reachable,
43
+ * tooltip on hover AND focus, and Escape dismissal.
44
+ *
45
+ * Composed entirely from core primitives (Tooltip + Icon); the info icon
46
+ * resolves from the global icon registry, so themes can override it.
47
+ *
48
+ * @example
49
+ * ```
50
+ * <InfoTip content="Editors can change this field; viewers cannot." />
51
+ * <InfoTip content="30-day rolling average." label="About this metric" />
52
+ * ```
53
+ */
54
+ export declare function InfoTip({ content, label, size, }: InfoTipProps): ReactNode;
55
+ export declare namespace InfoTip {
56
+ var displayName: string;
57
+ }
58
+ //# sourceMappingURL=InfoTip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InfoTip.d.ts","sourceRoot":"","sources":["../../src/InfoTip/InfoTip.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AAEH,OAAO,EAAgC,KAAK,SAAS,EAAC,MAAM,OAAO,CAAC;AAGpE,OAAO,EAAO,KAAK,QAAQ,EAAC,MAAM,yBAAyB,CAAC;AAU5D;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;AAEnC,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,OAAO,EAAE,SAAS,CAAC;IACnB;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;;OAGG;IACH,IAAI,CAAC,EAAE,WAAW,CAAC;CACpB;AAmCD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,OAAO,CAAC,EACtB,OAAO,EACP,KAA0B,EAC1B,IAAW,GACZ,EAAE,YAAY,GAAG,SAAS,CA4C1B;yBAhDe,OAAO"}
@@ -0,0 +1,91 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ /**
6
+ * @file InfoTip.tsx
7
+ * @input Uses React, stylex, Tooltip + Icon from @astryxdesign/core, color/spacing/radius/duration/ease tokens
8
+ * @output Exports InfoTip component, InfoTipProps, InfoTipSize types
9
+ * @position Lab experiment (RFC facebook/astryx#3349); core implementation consumed by index.ts
10
+ *
11
+ * SYNC: When modified, update these files to stay in sync:
12
+ * - /packages/lab/src/InfoTip/InfoTip.doc.mjs (props table, features)
13
+ * - /packages/lab/src/InfoTip/InfoTip.test.tsx (tests for new/changed behavior)
14
+ * - /packages/lab/src/InfoTip/index.ts (exports if types change)
15
+ */
16
+ import { useCallback, useRef, useState } from 'react';
17
+ import * as stylex from '@stylexjs/stylex';
18
+ import { Icon } from '@astryxdesign/core/Icon';
19
+ import { Tooltip } from '@astryxdesign/core/Tooltip';
20
+ import '@astryxdesign/core/theme/tokens.stylex';
21
+ import { colorVars, durationVars, easeVars, radiusVars, spacingVars } from '@astryxdesign/core/theme/tokens.stylex';
22
+
23
+ /**
24
+ * Size of the info icon. Maps 1:1 to Icon sizes
25
+ * (xsm: 12px, sm: 16px, md: 20px, lg: 24px).
26
+ */
27
+ import { jsx as _jsx } from "react/jsx-runtime";
28
+ /**
29
+ * An inline info-icon help affordance: a small "i" button that reveals a
30
+ * tooltip on hover and keyboard focus. Use it next to labels, values, and
31
+ * metrics for permission notes, metric definitions, and field help.
32
+ *
33
+ * The value over hand-composing Icon inside Tooltip is the pre-wired
34
+ * accessible trigger: a real button with an aria-label, Tab-reachable,
35
+ * tooltip on hover AND focus, and Escape dismissal.
36
+ *
37
+ * Composed entirely from core primitives (Tooltip + Icon); the info icon
38
+ * resolves from the global icon registry, so themes can override it.
39
+ *
40
+ * @example
41
+ * ```
42
+ * <InfoTip content="Editors can change this field; viewers cannot." />
43
+ * <InfoTip content="30-day rolling average." label="About this metric" />
44
+ * ```
45
+ */
46
+ export function InfoTip({
47
+ content,
48
+ label = 'More information',
49
+ size = 'sm'
50
+ }) {
51
+ // Escape dismissal: `true` force-hides the tooltip (Tooltip isOpen={false});
52
+ // `false` returns control to Tooltip's own hover/focus triggers (isOpen
53
+ // undefined). Reset when the pointer or focus leaves the trigger so the
54
+ // tooltip can re-open on the next hover/focus.
55
+ const [isDismissed, setIsDismissed] = useState(false);
56
+ const isOpenRef = useRef(false);
57
+ const handleOpenChange = useCallback(isOpen => {
58
+ isOpenRef.current = isOpen;
59
+ }, []);
60
+ const handleKeyDown = useCallback(event => {
61
+ if (event.key === 'Escape' && isOpenRef.current) {
62
+ // Only swallow Escape when it actually dismissed the tooltip, so an
63
+ // enclosing dialog still closes on the next press.
64
+ event.stopPropagation();
65
+ setIsDismissed(true);
66
+ }
67
+ }, []);
68
+ const handleReset = useCallback(() => {
69
+ setIsDismissed(false);
70
+ }, []);
71
+ return /*#__PURE__*/_jsx(Tooltip, {
72
+ content: content,
73
+ isOpen: isDismissed ? false : undefined,
74
+ onOpenChange: handleOpenChange,
75
+ children: /*#__PURE__*/_jsx("button", {
76
+ type: "button",
77
+ "aria-label": label,
78
+ onKeyDown: handleKeyDown,
79
+ onBlur: handleReset,
80
+ onMouseLeave: handleReset,
81
+ ...{
82
+ className: "x3nfvp2 x6s0dn4 xl56j7k xxymvpz x12nba7r x1ghz6dp xng3xce xjbqb8w xjspbzw x1ypdohk xv9yike xkxie9p x17nn4n9 x1wfwxd8 x7s97pk xt3l3uh xuedmi6 xlr8y92"
83
+ },
84
+ children: /*#__PURE__*/_jsx(Icon, {
85
+ icon: "info",
86
+ size: size
87
+ })
88
+ })
89
+ });
90
+ }
91
+ InfoTip.displayName = 'InfoTip';
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @file InfoTip component barrel export
3
+ */
4
+ export { InfoTip } from './InfoTip';
5
+ export type { InfoTipProps, InfoTipSize } from './InfoTip';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/InfoTip/index.ts"],"names":[],"mappings":"AAIA;;GAEG;AAEH,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAClC,YAAY,EAAC,YAAY,EAAE,WAAW,EAAC,MAAM,WAAW,CAAC"}
@@ -0,0 +1,8 @@
1
+ // Copyright (c) Meta Platforms, Inc. and affiliates.
2
+
3
+ 'use client';
4
+
5
+ /**
6
+ * @file InfoTip component barrel export
7
+ */
8
+ export { InfoTip } from "./InfoTip.js";
@@ -1 +1 @@
1
- {"version":3,"file":"SankeyChart.d.ts","sourceRoot":"","sources":["../../src/Sankey/SankeyChart.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAC,eAAe,EAAE,eAAe,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,uBAAuB;IACvB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AA+CD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAY,EACZ,SAAc,EACd,OAAY,EACZ,SAAS,EACT,cAAoB,EACpB,QAAQ,GACT,EAAE,gBAAgB,+BAkFlB;yBA5Fe,WAAW"}
1
+ {"version":3,"file":"SankeyChart.d.ts","sourceRoot":"","sources":["../../src/Sankey/SankeyChart.tsx"],"names":[],"mappings":"AAEA;;;;;;;GAOG;AAEH,OAAO,EACL,KAAK,SAAS,EAKf,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAC,eAAe,EAAE,eAAe,EAAE,YAAY,EAAC,MAAM,SAAS,CAAC;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB,uBAAuB;IACvB,KAAK,EAAE,eAAe,EAAE,CAAC;IACzB;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE,YAAY,EAAE,CAAC;IACzB,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,yCAAyC;IACzC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qBAAqB;IACrB,QAAQ,EAAE,SAAS,CAAC;CACrB;AA+CD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,KAAK,EACL,KAAK,EACL,OAAO,EACP,MAAY,EACZ,SAAc,EACd,OAAY,EACZ,SAAS,EACT,cAAoB,EACpB,QAAQ,GACT,EAAE,gBAAgB,+BAqFlB;yBA/Fe,WAAW"}
@@ -140,6 +140,9 @@ export function SankeyChart({
140
140
  width: '100%'
141
141
  },
142
142
  children: ctx && /*#__PURE__*/_jsx("div", {
143
+ role: needsScroll ? 'group' : undefined,
144
+ "aria-label": needsScroll ? 'Sankey chart' : undefined,
145
+ tabIndex: needsScroll ? 0 : undefined,
143
146
  style: needsScroll ? {
144
147
  overflowX: 'auto',
145
148
  overflowY: 'hidden'
@@ -1 +1 @@
1
- {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../src/Schedule/ListView.tsx"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAGV,YAAY,EAEb,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAqID,wBAAgB,sBAAsB,CAAC,EACrC,IAAI,EAAE,QAAY,GACnB,GAAE,uBAA4B,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAmCtE"}
1
+ {"version":3,"file":"ListView.d.ts","sourceRoot":"","sources":["../../src/Schedule/ListView.tsx"],"names":[],"mappings":"AAwCA,OAAO,KAAK,EAGV,YAAY,EAEb,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAwID,wBAAgB,sBAAsB,CAAC,EACrC,IAAI,EAAE,QAAY,GACnB,GAAE,uBAA4B,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAmCtE"}
@@ -22,7 +22,8 @@ function ScheduleListView(_props) {
22
22
  events,
23
23
  timezoneID,
24
24
  range,
25
- isLoading
25
+ isLoading,
26
+ headingLevel
26
27
  } = useScheduleContext();
27
28
  const days = enumerateDates(range.startDate, range.endDate);
28
29
  const currentTime = useCurrentTime();
@@ -59,7 +60,8 @@ function ScheduleListView(_props) {
59
60
  children: [/*#__PURE__*/_jsx(ListDayHeading, {
60
61
  day: day,
61
62
  isCurrentDay: isCurrentDay,
62
- timezoneID: timezoneID
63
+ timezoneID: timezoneID,
64
+ headingLevel: headingLevel
63
65
  }), /*#__PURE__*/_jsx("div", {
64
66
  ...stylex.props(styles.listEvents),
65
67
  children: renderListRows({
@@ -76,10 +78,11 @@ function ScheduleListView(_props) {
76
78
  function ListDayHeading({
77
79
  day,
78
80
  isCurrentDay,
79
- timezoneID
81
+ timezoneID,
82
+ headingLevel
80
83
  }) {
81
84
  return /*#__PURE__*/_jsxs(Heading, {
82
- level: 4,
85
+ level: headingLevel,
83
86
  color: "secondary",
84
87
  display: "block",
85
88
  "aria-label": formatFullDate(day, timezoneID),
@@ -25,7 +25,8 @@ function ScheduleMonthlyView(_props) {
25
25
  focusDate,
26
26
  timezoneID,
27
27
  range,
28
- isLoading
28
+ isLoading,
29
+ headingLevel
29
30
  } = useScheduleContext();
30
31
  const rangeDate = date.toPlainDate();
31
32
  const highlightedDate = focusDate.toPlainDate();
@@ -55,7 +56,7 @@ function ScheduleMonthlyView(_props) {
55
56
  "aria-colindex": index + 1,
56
57
  ...stylex.props(styles.weekdayLabel),
57
58
  children: /*#__PURE__*/_jsx(Heading, {
58
- level: 4,
59
+ level: headingLevel,
59
60
  color: "secondary",
60
61
  display: "block",
61
62
  xstyle: styles.weekdayHeading,
@@ -17,6 +17,8 @@ export interface ScheduleProps<Options extends ScheduleViewOptions = ScheduleVie
17
17
  timezoneID?: string;
18
18
  /** Header/rendering plugins. Defaults to pagination controls. */
19
19
  plugins?: ReadonlyArray<SchedulePlugin>;
20
+ /** Heading level for sub-headings (day labels, weekday headers) within the schedule. @default 3 */
21
+ headingLevel?: 2 | 3 | 4 | 5 | 6;
20
22
  }
21
- export declare function Schedule({ view, events, categories, date, focusDate: focusDateProp, onChangeDate, timezoneID: timezoneIDProp, plugins, xstyle, className, style, ...rest }: ScheduleProps): import("react").JSX.Element;
23
+ export declare function Schedule({ view, events, categories, date, focusDate: focusDateProp, onChangeDate, timezoneID: timezoneIDProp, plugins, headingLevel, xstyle, className, style, ...rest }: ScheduleProps): import("react").JSX.Element;
22
24
  //# sourceMappingURL=Schedule.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Schedule.d.ts","sourceRoot":"","sources":["../../src/Schedule/Schedule.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAQlD,OAAO,KAAK,EAEV,OAAO,EAEP,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,mBAAmB,EAGpB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,aAAa,CAC5B,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,CACzD,SAAQ,SAAS,CAAC,cAAc,CAAC;IACjC,iEAAiE;IACjE,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC5B,sFAAsF;IACtF,MAAM,EAAE,mBAAmB,CAAC;IAC5B,qFAAqF;IACrF,UAAU,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC7C,mEAAmE;IACnE,IAAI,EAAE,OAAO,CAAC;IACd,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,iGAAiG;IACjG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,OAAO,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CACzC;AAiJD,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,MAAM,EACN,UAAe,EACf,IAAI,EACJ,SAAS,EAAE,aAAa,EACxB,YAAY,EACZ,UAAU,EAAE,cAAc,EAC1B,OAAgC,EAChC,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,aAAa,+BA0Ff"}
1
+ {"version":3,"file":"Schedule.d.ts","sourceRoot":"","sources":["../../src/Schedule/Schedule.tsx"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAQlD,OAAO,KAAK,EAEV,OAAO,EAEP,gBAAgB,EAChB,mBAAmB,EACnB,cAAc,EACd,YAAY,EACZ,mBAAmB,EAGpB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,aAAa,CAC5B,OAAO,SAAS,mBAAmB,GAAG,mBAAmB,CACzD,SAAQ,SAAS,CAAC,cAAc,CAAC;IACjC,iEAAiE;IACjE,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC5B,sFAAsF;IACtF,MAAM,EAAE,mBAAmB,CAAC;IAC5B,qFAAqF;IACrF,UAAU,CAAC,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC7C,mEAAmE;IACnE,IAAI,EAAE,OAAO,CAAC;IACd,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,0EAA0E;IAC1E,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,iGAAiG;IACjG,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iEAAiE;IACjE,OAAO,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACxC,mGAAmG;IACnG,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CAClC;AAoJD,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,MAAM,EACN,UAAe,EACf,IAAI,EACJ,SAAS,EAAE,aAAa,EACxB,YAAY,EACZ,UAAU,EAAE,cAAc,EAC1B,OAAgC,EAChC,YAAgB,EAChB,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,IAAI,EACR,EAAE,aAAa,+BA4Ff"}
@@ -84,7 +84,8 @@ function ScheduleViewContent({
84
84
  onToday,
85
85
  onNextDate,
86
86
  nextDateLabel,
87
- plugins
87
+ plugins,
88
+ headingLevel
88
89
  }) {
89
90
  const Component = view.component;
90
91
  const range = getRange(view, date);
@@ -104,7 +105,8 @@ function ScheduleViewContent({
104
105
  onNextDate,
105
106
  nextDateLabel,
106
107
  view,
107
- plugins
108
+ plugins,
109
+ headingLevel
108
110
  },
109
111
  children: /*#__PURE__*/_jsx(Component, {
110
112
  options: view.options
@@ -120,6 +122,7 @@ export function Schedule({
120
122
  onChangeDate,
121
123
  timezoneID: timezoneIDProp,
122
124
  plugins = defaultSchedulePlugins,
125
+ headingLevel = 3,
123
126
  xstyle,
124
127
  className,
125
128
  style,
@@ -164,7 +167,8 @@ export function Schedule({
164
167
  onToday: onToday,
165
168
  onNextDate: onNextDate,
166
169
  nextDateLabel: nextDateRange.label,
167
- plugins: plugins
170
+ plugins: plugins,
171
+ headingLevel: headingLevel
168
172
  }),
169
173
  children: /*#__PURE__*/_jsx(ScheduleViewContent, {
170
174
  view: view,
@@ -178,7 +182,8 @@ export function Schedule({
178
182
  onToday: onToday,
179
183
  onNextDate: onNextDate,
180
184
  nextDateLabel: nextDateRange.label,
181
- plugins: plugins
185
+ plugins: plugins,
186
+ headingLevel: headingLevel
182
187
  })
183
188
  })
184
189
  });
@@ -26,7 +26,8 @@ export function TimeGridView({
26
26
  hourHeight
27
27
  }) {
28
28
  const {
29
- categories
29
+ categories,
30
+ headingLevel
30
31
  } = useScheduleContext();
31
32
  const normalizedMinHour = Math.max(0, Math.min(23, Math.floor(minHour)));
32
33
  const normalizedMaxHour = Math.max(normalizedMinHour + 1, Math.min(24, Math.floor(maxHour)));
@@ -60,7 +61,7 @@ export function TimeGridView({
60
61
  children: days.map((day, index) => /*#__PURE__*/_jsx("div", {
61
62
  ...stylex.props(styles.timeGridHeaderCell, index === days.length - 1 && styles.timeGridHeaderCellLast),
62
63
  children: /*#__PURE__*/_jsx(Heading, {
63
- level: 4,
64
+ level: headingLevel,
64
65
  color: "secondary",
65
66
  display: "block",
66
67
  xstyle: styles.timeGridHeaderHeading,
@@ -14,6 +14,8 @@ export interface ScheduleContextValue {
14
14
  nextDateLabel: string;
15
15
  view: ScheduleViewBase;
16
16
  plugins: ReadonlyArray<SchedulePlugin>;
17
+ /** Heading level used for sub-headings within the schedule (day labels, weekday headers). */
18
+ headingLevel: 2 | 3 | 4 | 5 | 6;
17
19
  }
18
20
  export declare const ScheduleContext: import("react").Context<ScheduleContextValue | null>;
19
21
  export declare function useScheduleContext(): ScheduleContextValue;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/Schedule/context.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACrC,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC5C,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;CACxC;AAED,eAAO,MAAM,eAAe,sDAE3B,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,oBAAoB,CAMzD"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/Schedule/context.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAEjB,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,aAAa,CAAC,aAAa,CAAC,CAAC;IACrC,UAAU,EAAE,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAC5C,IAAI,EAAE,aAAa,CAAC;IACpB,SAAS,EAAE,aAAa,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,aAAa,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;IACnB,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC;IACvC,6FAA6F;IAC7F,YAAY,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;CACjC;AAED,eAAO,MAAM,eAAe,sDAE3B,CAAC;AAEF,wBAAgB,kBAAkB,IAAI,oBAAoB,CAMzD"}
package/dist/index.d.ts CHANGED
@@ -12,6 +12,7 @@
12
12
  export { CodeBlock, type CodeBlockProps } from './CodeBlock';
13
13
  export { CodeEditor, type CodeEditorProps } from './CodeEditor';
14
14
  export { tokenize, tokenizeAsync, SYNC_TOKENIZE_THRESHOLD, type SyntaxToken, } from '@astryxdesign/core/CodeBlock';
15
+ export { InfoTip, type InfoTipProps, type InfoTipSize } from './InfoTip';
15
16
  export { ChatReasoning, type ChatReasoningProps, } from './ChatReasoning/ChatReasoning';
16
17
  export * from './Schedule';
17
18
  export { SVGIcon, type SVGIconProps, type SVGIconVariation, type SVGIconSize, type SVGIconColor, type SVGIconDef, type IconShape, type IconShapeRole, iconVars, variations, opticalSize, xIcon, checkIcon, bellIcon, homeIcon, settingsIcon, calendarIcon, menuIcon, heartIcon, eyeIcon, starIcon, folderIcon, shieldIcon, searchIcon, mailIcon, lockIcon, starterIcons, } from './SVGIcon';
@@ -20,7 +21,6 @@ export { RadialChart, type RadialChartProps, RadialGrid, type RadialGridProps, R
20
21
  export { ThreeDChart, type ThreeDChartProps, ThreeDScatter, ThreeDScatterGL, type ThreeDScatterProps, type ThreeDScatterGLProps, ThreeDBar, type ThreeDBarProps, ThreeDGrid, type ThreeDGridProps, ThreeDAxis, type ThreeDAxisProps, ThreeDSurface, type ThreeDSurfaceProps, use3D, type ThreeDContext, type Camera, type Point3D, type ProjectedPoint, } from './ThreeD';
21
22
  export { ChartBrush, type ChartBrushProps, type BrushMode, type BrushRange, ChartZoom, type ChartZoomProps, ChartSelect, type ChartSelectProps, ChartReferenceLine, type ChartReferenceLineProps, } from './Chart';
22
23
  export { SankeyChart, type SankeyChartProps, SankeyLink, type SankeyLinkProps, SankeyNode, type SankeyNodeProps, SankeyLabel, type SankeyLabelProps, useSankey, type SankeyNodeDatum, type SankeyLinkDatum, type SankeyColumn, type SankeyColumnDef, type SankeyNodeLayout, type SankeyLinkLayout, type SankeyColumnLayout, SankeyGrid, type SankeyGridProps, type SankeyContext, } from './Sankey';
23
- export { Chart as ChartV2, type ChartProps as ChartV2Props, ChartLegend as ChartV2Legend, type ChartLegendProps as ChartV2LegendProps, type LegendItem as ChartV2LegendItem, ChartAxis as ChartV2Axis, type ChartAxisProps as ChartV2AxisProps, ChartGrid as ChartV2Grid, type ChartGridProps as ChartV2GridProps, ChartSwatch as ChartV2Swatch, swatchVariantForType as xdsChartV2SwatchVariantForType, type ChartSwatchProps as ChartV2SwatchProps, type ChartSwatchVariant as ChartV2SwatchVariant, ChartTooltip as ChartV2Tooltip, type ChartTooltipProps as ChartV2TooltipProps, type ChartTooltipPlacement as ChartV2TooltipPlacement, type TooltipSeriesValue as ChartV2TooltipSeriesValue, bar, line, dot, area, band, candlestick, errorBar, referenceLine, dotGL, dotGLInteractive, heatmapGL, streamGL, useChartV2, type SeriesDef, type ChartV2Context, type ChartPointerEvent, type ResolvedPoint, type ResolvedPositions, type SeriesContext, type ErrorBarOptions, type ReferenceLineOptions, type DotGLOptions, type DotGLInteractiveOptions, type HeatmapGLOptions, type StreamGLOptions, type StreamGLHandle, } from './ChartV2';
24
24
  export * from './Stepper';
25
25
  export * from './CircularProgress';
26
26
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -17,6 +17,9 @@ export { CodeBlock } from "./CodeBlock/index.js";
17
17
  export { CodeEditor } from "./CodeEditor/index.js";
18
18
  export { tokenize, tokenizeAsync, SYNC_TOKENIZE_THRESHOLD } from '@astryxdesign/core/CodeBlock';
19
19
 
20
+ // InfoTip — accessible info-icon help affordance (RFC facebook/astryx#3349)
21
+ export { InfoTip } from "./InfoTip/index.js";
22
+
20
23
  // Chat — experimental reasoning display
21
24
  export { ChatReasoning } from "./ChatReasoning/ChatReasoning.js";
22
25
 
@@ -41,7 +44,7 @@ export { ChartBrush, ChartZoom, ChartSelect, ChartReferenceLine } from "./Chart/
41
44
  // Sankey / flow diagrams — ribbon-based flow visualization
42
45
  export { SankeyChart, SankeyLink, SankeyNode, SankeyLabel, useSankey, SankeyGrid } from "./Sankey/index.js";
43
46
 
44
- // Chart v2 config model
45
- export { Chart as ChartV2, ChartLegend as ChartV2Legend, ChartAxis as ChartV2Axis, ChartGrid as ChartV2Grid, ChartSwatch as ChartV2Swatch, swatchVariantForType as xdsChartV2SwatchVariantForType, ChartTooltip as ChartV2Tooltip, bar, line, dot, area, band, candlestick, errorBar, referenceLine, dotGL, dotGLInteractive, heatmapGL, streamGL, useChartV2 } from "./ChartV2/index.js";
47
+ // Chart v2 (config model) moved to its own package: @astryxdesign/charts.
48
+ // It is no longer re-exported from @astryxdesign/lab.
46
49
  export * from "./Stepper/index.js";
47
50
  export * from "./CircularProgress/index.js";
package/dist/lab.css CHANGED
@@ -52,6 +52,7 @@
52
52
  .x1ghz6dp:not(#\#){margin:0}
53
53
  .x10h29id:not(#\#){margin:var(--spacing-0-5)}
54
54
  .x1717udv:not(#\#){padding:0}
55
+ .x12nba7r:not(#\#){padding:var(--spacing-0-5)}
55
56
  .x103w4nt:not(#\#):not(#\#){border-color:color-mix(in srgb,var(--color-border-blue) 48%,var(--color-border))}
56
57
  .x14n1b0s:not(#\#):not(#\#){border-color:color-mix(in srgb,var(--color-border-cyan) 48%,var(--color-border))}
57
58
  .x1uk4s2l:not(#\#):not(#\#){border-color:color-mix(in srgb,var(--color-border-green) 48%,var(--color-border))}
@@ -73,12 +74,11 @@
73
74
  .x1r9gxr1:not(#\#):not(#\#){border-color:var(--color-border-teal)}
74
75
  .x1kpnwn1:not(#\#):not(#\#){border-color:var(--color-border-yellow)}
75
76
  .x14i3s5s:not(#\#):not(#\#){border-color:var(--color-border)}
76
- .xbvija:not(#\#):not(#\#){border-radius:1.5px}
77
- .x1cum3z5:not(#\#):not(#\#){border-radius:2px}
78
77
  .x1hviunn:not(#\#):not(#\#){border-radius:var(--radius-container)}
79
78
  .xh6dtrn:not(#\#):not(#\#){border-radius:var(--radius-element)}
80
79
  .xjspbzw:not(#\#):not(#\#){border-radius:var(--radius-full)}
81
80
  .xx3sua9:not(#\#):not(#\#){border-radius:var(--radius-inner)}
81
+ .xng3xce:not(#\#):not(#\#){border-style:none}
82
82
  .x1y0btm7:not(#\#):not(#\#){border-style:solid}
83
83
  .xc342km:not(#\#):not(#\#){border-width:0}
84
84
  .x1litavf:not(#\#):not(#\#){border-width:var(--border-width)}
@@ -100,7 +100,6 @@
100
100
  .x33j1x8:not(#\#):not(#\#){grid-row:var(--x-gridRow)}
101
101
  .x17y0mx6:not(#\#):not(#\#){inset-inline:0}
102
102
  .x1yqqeh1:not(#\#):not(#\#){margin-block:var(--spacing-0-5)}
103
- .xckhbgb:not(#\#):not(#\#){margin-inline:1px}
104
103
  .x1a2a7pz:not(#\#):not(#\#){outline:none}
105
104
  .xysyzu8:not(#\#):not(#\#){overflow:auto}
106
105
  .xb3r6kr:not(#\#):not(#\#){overflow:hidden}
@@ -164,7 +163,6 @@
164
163
  .xwmxj5m:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-muted)}
165
164
  .x1e9xt6e:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-orange)}
166
165
  .xnpoty2:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-pink)}
167
- .x1prclbq:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-popover)}
168
166
  .x16i6n6f:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-purple)}
169
167
  .x1cibrc5:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-red)}
170
168
  .x1jtji5o:not(#\#):not(#\#):not(#\#){background-color:var(--color-background-teal)}
@@ -190,7 +188,6 @@
190
188
  .x10w94by:not(#\#):not(#\#):not(#\#){border-inline-end-width:0}
191
189
  .xw8tdv1:not(#\#):not(#\#):not(#\#){border-inline-end-width:var(--border-width)}
192
190
  .x18oyj42:not(#\#):not(#\#):not(#\#){box-shadow:0 0 0 1px var(--color-accent)}
193
- .x14hfi27:not(#\#):not(#\#):not(#\#){box-shadow:var(--shadow-med)}
194
191
  .x1ftfhsn:not(#\#):not(#\#):not(#\#){caret-color:var(--color-text-primary)}
195
192
  .xeh89do:not(#\#):not(#\#):not(#\#){clip:rect(0 0 0 0)}
196
193
  .xzpqnlu:not(#\#):not(#\#):not(#\#){clip:rect(0,0,0,0)}
@@ -238,7 +235,6 @@
238
235
  .x78zum5:not(#\#):not(#\#):not(#\#){display:flex}
239
236
  .xrvj5dj:not(#\#):not(#\#):not(#\#){display:grid}
240
237
  .x3nfvp2:not(#\#):not(#\#):not(#\#){display:inline-flex}
241
- .x1s85apg:not(#\#):not(#\#):not(#\#){display:none}
242
238
  .xbh8q5q:not(#\#):not(#\#):not(#\#){fill:none}
243
239
  .xdt5ytf:not(#\#):not(#\#):not(#\#){flex-direction:column}
244
240
  .x1q0g3np:not(#\#):not(#\#):not(#\#){flex-direction:row}
@@ -301,19 +297,15 @@
301
297
  .x67bb7w:not(#\#):not(#\#):not(#\#){pointer-events:auto}
302
298
  .x47corl:not(#\#):not(#\#):not(#\#){pointer-events:none}
303
299
  .x10l6tqk:not(#\#):not(#\#):not(#\#){position:absolute}
304
- .xixxii4:not(#\#):not(#\#):not(#\#){position:fixed}
305
300
  .x1n2onr6:not(#\#):not(#\#):not(#\#){position:relative}
306
301
  .x1owpc8m:not(#\#):not(#\#):not(#\#){stroke-linecap:round}
307
- .xnpr05h:not(#\#):not(#\#):not(#\#){stroke-width:1}
308
302
  .ximx5ud:not(#\#):not(#\#):not(#\#){stroke:var(--color-accent-muted)}
309
303
  .xjsr54c:not(#\#):not(#\#):not(#\#){stroke:var(--color-accent)}
310
- .x113i6qz:not(#\#):not(#\#):not(#\#){stroke:var(--color-border-emphasized)}
311
304
  .xjswp7v:not(#\#):not(#\#):not(#\#){stroke:var(--color-error-muted)}
312
305
  .x1vco6zm:not(#\#):not(#\#):not(#\#){stroke:var(--color-error)}
313
306
  .x1uro670:not(#\#):not(#\#):not(#\#){stroke:var(--color-success-muted)}
314
307
  .x8y33gb:not(#\#):not(#\#):not(#\#){stroke:var(--color-success)}
315
308
  .xuxf9kk:not(#\#):not(#\#):not(#\#){stroke:var(--color-text-disabled)}
316
- .x1lo1t26:not(#\#):not(#\#):not(#\#){stroke:var(--color-text-primary)}
317
309
  .xpi25hw:not(#\#):not(#\#):not(#\#){stroke:var(--color-track)}
318
310
  .x1wjzxuj:not(#\#):not(#\#):not(#\#){stroke:var(--color-warning-muted)}
319
311
  .x9ezeq1:not(#\#):not(#\#):not(#\#){stroke:var(--color-warning)}
@@ -326,24 +318,27 @@
326
318
  .x19jd1h0:not(#\#):not(#\#):not(#\#){transform:rotate(180deg)}
327
319
  .x1cb1t30:not(#\#):not(#\#):not(#\#){transform:translateY(-50%)}
328
320
  .xkvfbh3:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast-min)}
321
+ .xuedmi6:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-fast)}
329
322
  .x80gvsz:not(#\#):not(#\#):not(#\#){transition-duration:var(--duration-medium)}
330
323
  .x15406qy:not(#\#):not(#\#):not(#\#){transition-property:background-color}
324
+ .xt3l3uh:not(#\#):not(#\#):not(#\#){transition-property:color}
331
325
  .xxnu56j:not(#\#):not(#\#):not(#\#){transition-property:stroke-dashoffset}
332
326
  .xlr8y92:not(#\#):not(#\#):not(#\#){transition-timing-function:var(--ease-standard)}
333
327
  .x87ps6o:not(#\#):not(#\#):not(#\#){user-select:none}
328
+ .xxymvpz:not(#\#):not(#\#):not(#\#){vertical-align:middle}
334
329
  .xlshs6z:not(#\#):not(#\#):not(#\#){visibility:hidden}
335
330
  .xuxw1ft:not(#\#):not(#\#):not(#\#){white-space:nowrap}
336
331
  .x1sdyfia:not(#\#):not(#\#):not(#\#){white-space:pre}
337
332
  .x1lldw8n:not(#\#):not(#\#):not(#\#){word-break:normal}
338
333
  .x1vjfegm:not(#\#):not(#\#):not(#\#){z-index:1}
339
334
  .x1355qak:not(#\#):not(#\#):not(#\#){z-index:20}
340
- .x1q2oy4v:not(#\#):not(#\#):not(#\#){z-index:9999}
341
335
  .xr3buco:not(#\#):not(#\#):not(#\#){z-index:var(--x-zIndex)}
342
336
  .x7s97pk:focus-visible:not(#\#):not(#\#):not(#\#){outline-offset:2px}
343
337
  .xyxi2l3:active:not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-pressed)}
344
338
  @media (prefers-reduced-motion: reduce){.xnh0sag.xnh0sag:not(#\#):not(#\#):not(#\#){animation-duration:3s}}
345
339
  @media (prefers-reduced-motion: reduce){.xy02sl2.xy02sl2:not(#\#):not(#\#):not(#\#){animation-duration:4s}}
346
340
  @media (hover: hover){.xe9uy6x.xe9uy6x:hover:not(#\#):not(#\#):not(#\#){background-color:var(--color-overlay-hover)}}
341
+ @media (hover: hover){.xkxie9p.xkxie9p:hover:not(#\#):not(#\#):not(#\#){color:var(--color-icon-primary)}}
347
342
  .xw8gpjh:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-color:var(--color-border)}
348
343
  .x1q0q8m5:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-style:solid}
349
344
  .x1qhh985:not(#\#):not(#\#):not(#\#):not(#\#){border-bottom-width:0}
@@ -357,16 +352,13 @@
357
352
  .xjm9jq1:not(#\#):not(#\#):not(#\#):not(#\#){height:1px}
358
353
  .xxk0z11:not(#\#):not(#\#):not(#\#):not(#\#){height:24px}
359
354
  .x1gnnpzl:not(#\#):not(#\#):not(#\#):not(#\#){height:30px}
360
- .xuoj239:not(#\#):not(#\#):not(#\#):not(#\#){height:3px}
361
355
  .xqu0tyb:not(#\#):not(#\#):not(#\#):not(#\#){height:4px}
362
356
  .x1d9x2de:not(#\#):not(#\#):not(#\#):not(#\#){height:640px}
363
- .xdk7pt:not(#\#):not(#\#):not(#\#):not(#\#){height:8px}
364
357
  .xhigkf7:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--icon-size)}
365
358
  .x6b6gus:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-4)}
366
359
  .x1grt7ep:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--spacing-5)}
367
360
  .x16ye13r:not(#\#):not(#\#):not(#\#):not(#\#){height:var(--x-height)}
368
361
  .x1unci72:not(#\#):not(#\#):not(#\#):not(#\#){left:var(--spacing-4)}
369
- .x1yztbdb:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:16px}
370
362
  .xlstkdb:not(#\#):not(#\#):not(#\#):not(#\#){margin-bottom:var(--spacing-0-5)}
371
363
  .x160xvyo:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:calc(var(--spacing-1) * -1)}
372
364
  .xtbrsbv:not(#\#):not(#\#):not(#\#):not(#\#){margin-top:var(--spacing-2)}
@@ -395,7 +387,6 @@
395
387
  .xvy4d1p:not(#\#):not(#\#):not(#\#):not(#\#){width:24px}
396
388
  .x1849jeq:not(#\#):not(#\#):not(#\#):not(#\#){width:30px}
397
389
  .x51ohtg:not(#\#):not(#\#):not(#\#):not(#\#){width:4px}
398
- .x1xc55vz:not(#\#):not(#\#):not(#\#):not(#\#){width:8px}
399
390
  .x1oai4fc:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--icon-size)}
400
391
  .x12xnipv:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-4)}
401
392
  .xfyiiit:not(#\#):not(#\#):not(#\#):not(#\#){width:var(--spacing-5)}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astryxdesign/lab",
3
- "version": "0.1.4-canary.39ffd21",
3
+ "version": "0.1.4-canary.3d64ef2",
4
4
  "description": "Experimental Astryx components — published to npm only under the @canary dist-tag for early testing; never released as a stable (latest) version.",
5
5
  "author": "Meta Open Source",
6
6
  "license": "MIT",
@@ -45,7 +45,7 @@
45
45
  },
46
46
  "peerDependencies": {
47
47
  "@stylexjs/stylex": ">=0.10.0",
48
- "@astryxdesign/core": "0.1.4-canary.39ffd21",
48
+ "@astryxdesign/core": "0.1.4-canary.3d64ef2",
49
49
  "react": ">=19.0.0",
50
50
  "react-dom": ">=19.0.0"
51
51
  },