@astryxdesign/lab 0.7.5-canary.9effa5c → 0.7.5-canary.a73f030

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 (32) hide show
  1. package/dist/Chat/ChatUnreadDivider.js +1 -1
  2. package/dist/CircularProgress/CircularProgress.js +3 -3
  3. package/dist/DiffViewer/DiffViewer.d.ts +15 -4
  4. package/dist/DiffViewer/DiffViewer.d.ts.map +1 -1
  5. package/dist/DiffViewer/DiffViewer.js +31 -6
  6. package/dist/LogStream/LogStream.d.ts.map +1 -1
  7. package/dist/LogStream/LogStream.js +2 -2
  8. package/dist/MobileTokenizer/MobileTokenizer.d.ts +1 -1
  9. package/dist/MobileTokenizer/MobileTokenizer.d.ts.map +1 -1
  10. package/dist/MobileTokenizer/MobileTokenizer.js +145 -150
  11. package/dist/SVGIcon/SVGIcon.js +3 -3
  12. package/dist/Stat/Stat.js +2 -2
  13. package/dist/lab.css +9 -8
  14. package/package.json +7 -7
  15. package/src/Chat/ChatUnreadDivider.tsx +1 -1
  16. package/src/Chat/__tests__/ChatTypingIndicator.a11y.chromium.spec.ts +1 -0
  17. package/src/CircularProgress/CircularProgress.tsx +3 -3
  18. package/src/CircularProgress/__tests__/CircularProgress.a11y.chromium.spec.ts +1 -0
  19. package/src/Comments/Comments.test.tsx +10 -4
  20. package/src/DiffViewer/DiffViewer.doc.mjs +8 -2
  21. package/src/DiffViewer/DiffViewer.test.tsx +71 -0
  22. package/src/DiffViewer/DiffViewer.tsx +52 -9
  23. package/src/ListInput/ListInput.test.tsx +17 -3
  24. package/src/LogStream/LogStream.doc.mjs +1 -1
  25. package/src/LogStream/LogStream.tsx +3 -5
  26. package/src/MobileTokenizer/MobileTokenizer.test.tsx +12 -3
  27. package/src/MobileTokenizer/MobileTokenizer.tsx +174 -176
  28. package/src/SVGIcon/SVGIcon.tsx +3 -3
  29. package/src/Stat/Stat.tsx +2 -2
  30. package/src/TransferList/TransferList.composition.test.tsx +4 -4
  31. package/src/TransferList/TransferListSelector.test.tsx +4 -4
  32. package/src/__tests__/ReorderGripPinchZoom.a11y.chromium.spec.ts +1 -0
@@ -74,7 +74,7 @@ export function ChatUnreadDivider({
74
74
  }
75
75
  }), /*#__PURE__*/_jsx("span", {
76
76
  ...{
77
- className: "x2lah0s x9ynric x141an7d x1lvx875 xjt36v0 x1ltkj2j"
77
+ className: "x2lah0s x9ynric x141an7d x1lvx875 x1wj83wy x1ltkj2j"
78
78
  },
79
79
  children: label
80
80
  })]
@@ -106,15 +106,15 @@ const variantStyles = {
106
106
  $$css: true
107
107
  },
108
108
  success: {
109
- kjVXCG: "x8y33gb",
109
+ kjVXCG: "x88o7k4",
110
110
  $$css: true
111
111
  },
112
112
  warning: {
113
- kjVXCG: "x9ezeq1",
113
+ kjVXCG: "x16d96h5",
114
114
  $$css: true
115
115
  },
116
116
  error: {
117
- kjVXCG: "x1vco6zm",
117
+ kjVXCG: "xqb94c9",
118
118
  $$css: true
119
119
  },
120
120
  neutral: {
@@ -1,5 +1,6 @@
1
1
  import { type MouseEvent, type ReactNode, type Ref } from 'react';
2
2
  import type { BaseProps } from '@astryxdesign/core';
3
+ import { type CodeLanguage } from '@astryxdesign/core/CodeBlock';
3
4
  import { type SyntaxThemeDefinition } from '@astryxdesign/core/theme/syntax';
4
5
  import type { DiffViewerFile, DiffViewerLineRef } from './diffTypes.js';
5
6
  /** How hunks are laid out: one column, or old and new side by side. */
@@ -34,10 +35,20 @@ export interface DiffViewerProps extends BaseProps<HTMLDivElement> {
34
35
  */
35
36
  viewMode?: DiffViewerViewMode;
36
37
  /**
37
- * Syntax-highlighting language. Defaults to one inferred from the file's
38
- * extension; unknown extensions render as plain text.
38
+ * Syntax-highlighting language: a built-in identifier such as `'rust'`, or
39
+ * a language value — a module imported on its own, such as `graphql` from
40
+ * `@astryxdesign/core/CodeBlock/languages/graphql`, or one made with
41
+ * `createCodeLanguage`. Defaults to one inferred from the file's name or
42
+ * extension among the built-ins and `codeLanguages`; an unmatched file
43
+ * renders as plain text.
39
44
  */
40
- language?: string;
45
+ language?: string | CodeLanguage;
46
+ /**
47
+ * Language values the file's name or extension may infer, such as
48
+ * `[graphql, dockerfile]`; a later entry wins. Pass the same list to every
49
+ * DiffViewer on a review page.
50
+ */
51
+ codeLanguages?: ReadonlyArray<CodeLanguage>;
41
52
  /**
42
53
  * Show the old and new line-number gutters.
43
54
  * @default true
@@ -125,7 +136,7 @@ export interface DiffViewerProps extends BaseProps<HTMLDivElement> {
125
136
  * <DiffViewer file={file} viewMode="split" />
126
137
  * ```
127
138
  */
128
- export declare function DiffViewer({ ref, file, viewMode, language: languageProp, hasLineNumbers, isWrapped, changeIndicator, inlineHighlight, hasChangeBackground, isCollapsible, isCollapsed: isCollapsedProp, defaultIsCollapsed, onCollapsedChange, headerEnd, renderLineAnnotation, onLineNumberClick, maxHeight, syntaxTheme, xstyle, className, style, ...props }: DiffViewerProps): import("react").JSX.Element;
139
+ export declare function DiffViewer({ ref, file, viewMode, language: languageProp, codeLanguages, hasLineNumbers, isWrapped, changeIndicator, inlineHighlight, hasChangeBackground, isCollapsible, isCollapsed: isCollapsedProp, defaultIsCollapsed, onCollapsedChange, headerEnd, renderLineAnnotation, onLineNumberClick, maxHeight, syntaxTheme, xstyle, className, style, ...props }: DiffViewerProps): import("react").JSX.Element;
129
140
  export declare namespace DiffViewer {
130
141
  var displayName: string;
131
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DiffViewer.d.ts","sourceRoot":"","sources":["../../src/DiffViewer/DiffViewer.tsx"],"names":[],"mappings":"AAqCA,OAAO,EAQL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,GAAG,EAET,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAalD,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,iCAAiC,CAAC;AAqBzC,OAAO,KAAK,EACV,cAAc,EAGd,iBAAiB,EAElB,MAAM,aAAa,CAAC;AAGrB,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,yCAAyC;IACzC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1B;;;OAGG;IACH,IAAI,EAAE,cAAc,CAAC;IACrB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iEAAiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,SAAS,CAAC;IAC7D;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,CAClB,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KACjC,IAAI,CAAC;IACV,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAk0BD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,EACzB,GAAG,EACH,IAAI,EACJ,QAAoB,EACpB,QAAQ,EAAE,YAAY,EACtB,cAAqB,EACrB,SAAiB,EACjB,eAA2B,EAC3B,eAAwB,EACxB,mBAA0B,EAC1B,aAAoB,EACpB,WAAW,EAAE,eAAe,EAC5B,kBAA0B,EAC1B,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,eAAe,+BAopBjB;yBA3qBe,UAAU"}
1
+ {"version":3,"file":"DiffViewer.d.ts","sourceRoot":"","sources":["../../src/DiffViewer/DiffViewer.tsx"],"names":[],"mappings":"AAqCA,OAAO,EAQL,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,GAAG,EAET,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAGL,KAAK,YAAY,EAGlB,MAAM,8BAA8B,CAAC;AAOtC,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,iCAAiC,CAAC;AAqBzC,OAAO,KAAK,EACV,cAAc,EAGd,iBAAiB,EAElB,MAAM,aAAa,CAAC;AAGrB,uEAAuE;AACvE,MAAM,MAAM,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAAC;AAErD;;;;GAIG;AACH,MAAM,MAAM,yBAAyB,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAEpE;;;GAGG;AACH,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAEjE,MAAM,WAAW,eAAgB,SAAQ,SAAS,CAAC,cAAc,CAAC;IAChE,yCAAyC;IACzC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;IAC1B;;;OAGG;IACH,IAAI,EAAE,cAAc,CAAC;IACrB;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;IACjC;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAC5C;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;OAGG;IACH,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C;;;;;OAKG;IACH,eAAe,CAAC,EAAE,yBAAyB,CAAC;IAC5C;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iEAAiE;IACjE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,uEAAuE;IACvE,iBAAiB,CAAC,EAAE,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IACnD;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,SAAS,CAAC;IAC7D;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,CAClB,GAAG,EAAE,iBAAiB,EACtB,KAAK,EAAE,UAAU,CAAC,iBAAiB,CAAC,KACjC,IAAI,CAAC;IACV,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B;;;OAGG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAi2BD;;;;;;;;;;GAUG;AACH,wBAAgB,UAAU,CAAC,EACzB,GAAG,EACH,IAAI,EACJ,QAAoB,EACpB,QAAQ,EAAE,YAAY,EACtB,aAAa,EACb,cAAqB,EACrB,SAAiB,EACjB,eAA2B,EAC3B,eAAwB,EACxB,mBAA0B,EAC1B,aAAoB,EACpB,WAAW,EAAE,eAAe,EAC5B,kBAA0B,EAC1B,iBAAiB,EACjB,SAAS,EACT,oBAAoB,EACpB,iBAAiB,EACjB,SAAS,EACT,WAAW,EACX,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,KAAK,EACT,EAAE,eAAe,+BAopBjB;yBA5qBe,UAAU"}
@@ -92,18 +92,42 @@ const EXTENSION_LANGUAGES = {
92
92
  yaml: 'yaml',
93
93
  yml: 'yaml',
94
94
  md: 'markdown',
95
- markdown: 'markdown'
95
+ markdown: 'markdown',
96
+ c: 'c',
97
+ h: 'c',
98
+ cpp: 'cpp',
99
+ cc: 'cpp',
100
+ cxx: 'cpp',
101
+ hpp: 'cpp',
102
+ hh: 'cpp',
103
+ sql: 'sql',
104
+ rs: 'rust',
105
+ kt: 'kotlin',
106
+ kts: 'kotlin',
107
+ swift: 'swift',
108
+ go: 'go'
96
109
  };
97
- function inferLanguage(path) {
110
+
111
+ /**
112
+ * The language a file's name or extension infers: a listed value first (a
113
+ * later entry wins), then a built-in, else plain text (CodeBlock FR13).
114
+ */
115
+ function inferLanguage(path, codeLanguages) {
98
116
  if (path == null) {
99
117
  return 'plaintext';
100
118
  }
101
119
  const base = path.slice(path.lastIndexOf('/') + 1);
102
120
  const dot = base.lastIndexOf('.');
103
- if (dot <= 0) {
104
- return 'plaintext';
121
+ const extension = dot > 0 ? base.slice(dot + 1).toLowerCase() : null;
122
+ if (codeLanguages != null) {
123
+ for (let i = codeLanguages.length - 1; i >= 0; i--) {
124
+ const language = codeLanguages[i];
125
+ if (language.fileNames.includes(base) || extension != null && language.fileExtensions.includes(extension)) {
126
+ return language;
127
+ }
128
+ }
105
129
  }
106
- return EXTENSION_LANGUAGES[base.slice(dot + 1).toLowerCase()] ?? 'plaintext';
130
+ return extension == null ? 'plaintext' : EXTENSION_LANGUAGES[extension] ?? 'plaintext';
107
131
  }
108
132
 
109
133
  // ---------------------------------------------------------------------------
@@ -698,6 +722,7 @@ export function DiffViewer({
698
722
  file,
699
723
  viewMode = 'unified',
700
724
  language: languageProp,
725
+ codeLanguages,
701
726
  hasLineNumbers = true,
702
727
  isWrapped = false,
703
728
  changeIndicator = 'classic',
@@ -723,7 +748,7 @@ export function DiffViewer({
723
748
  ensureHighlightStyles();
724
749
  }, []);
725
750
  const path = file.newPath ?? file.oldPath;
726
- const language = languageProp ?? inferLanguage(path);
751
+ const language = languageProp ?? inferLanguage(path, codeLanguages);
727
752
  const displayPath = file.status === 'renamed' && file.oldPath != null && file.newPath != null ? t('@astryx.diffViewer.renamedPath', {
728
753
  oldPath: file.oldPath,
729
754
  newPath: file.newPath
@@ -1 +1 @@
1
- {"version":3,"file":"LogStream.d.ts","sourceRoot":"","sources":["../../src/LogStream/LogStream.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAkBlD,iCAAiC;AACjC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjE,0EAA0E;AAC1E,MAAM,WAAW,QAAQ;IACvB,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,6DAA6D;IAC7D,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACjC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,+CAA+C;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,SAAS,CAAC;CAC9C;AAwOD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,OAAmB,EACnB,WAAW,EACX,cAAc,EACd,SAAS,EACT,aAAoB,EACpB,KAAoB,EACpB,WAAW,EACX,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,cAAc,+BAqNhB;yBAnOe,SAAS"}
1
+ {"version":3,"file":"LogStream.d.ts","sourceRoot":"","sources":["../../src/LogStream/LogStream.tsx"],"names":[],"mappings":"AAyBA,OAAO,EAML,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAkBlD,iCAAiC;AACjC,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjE,0EAA0E;AAC1E,MAAM,WAAW,QAAQ;IACvB,4CAA4C;IAC5C,EAAE,EAAE,MAAM,CAAC;IACX,qEAAqE;IACrE,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,cAAc,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,MAAM,CAAC,EAAE,SAAS,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,IAAI,CAC1C,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,wCAAwC;IACxC,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAChC,6DAA6D;IAC7D,OAAO,EAAE,QAAQ,EAAE,CAAC;IACpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC;IACjC;;;;OAIG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,+CAA+C;IAC/C,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,SAAS,CAAC;CAC9C;AAsOD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,SAAS,CAAC,EACxB,OAAO,EACP,OAAmB,EACnB,WAAW,EACX,cAAc,EACd,SAAS,EACT,aAAoB,EACpB,KAAoB,EACpB,WAAW,EACX,MAAM,EACN,SAAS,EACT,KAAK,EACL,GAAG,EACH,GAAG,IAAI,EACR,EAAE,cAAc,+BAqNhB;yBAnOe,SAAS"}
@@ -164,11 +164,11 @@ const styles = {
164
164
  $$css: true
165
165
  },
166
166
  levelWarn: {
167
- kMwMTN: "xuj0v0c",
167
+ kMwMTN: "x10h9ou4",
168
168
  $$css: true
169
169
  },
170
170
  levelError: {
171
- kMwMTN: "x1lenag",
171
+ kMwMTN: "x1wj83wy",
172
172
  $$css: true
173
173
  },
174
174
  levelInfoTerminal: {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @file MobileTokenizer.tsx
3
3
  * @input Uses public @astryxdesign/core components only (AlertDialog,
4
- * BottomSheet, BottomSheetSwitcher, Button, CheckboxIndicator, EmptyState,
4
+ * BottomSheet, Button, CheckboxIndicator, EmptyState,
5
5
  * Field, Icon, Text, TextInput, Token)
6
6
  * @output Exports MobileTokenizer — Lab prototype of the touch Tokenizer
7
7
  * flow with a single searchable sheet, stable in-session checkbox ordering,
@@ -1 +1 @@
1
- {"version":3,"file":"MobileTokenizer.d.ts","sourceRoot":"","sources":["../../src/MobileTokenizer/MobileTokenizer.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAML,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAYlD,OAAO,KAAK,EAAC,cAAc,EAAE,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAQ/E,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,cAAc,IACtD;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,KAAK,CAAA;CAAC,GACtB;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAC,GACzB;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAC,GACzB;IAAC,IAAI,EAAE,SAAS,CAAA;CAAC,CAAC;AAEtB,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,IAAI,CAC1E,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACjE;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AA8KD,wBAAgB,eAAe,CAAC,CAAC,SAAS,cAAc,EAAE,EACxD,KAAK,EACL,aAAa,EACb,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAkB,EAClB,SAAiB,EACjB,UAAU,EACV,YAAiB,EACjB,cAAkB,EAClB,UAAgB,EAChB,sBAA2C,EAC3C,aAAa,EACb,MAAM,GACP,EAAE,oBAAoB,CAAC,CAAC,CAAC,+BAgXzB;yBAnYe,eAAe"}
1
+ {"version":3,"file":"MobileTokenizer.d.ts","sourceRoot":"","sources":["../../src/MobileTokenizer/MobileTokenizer.tsx"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAML,KAAK,SAAS,EAEf,MAAM,OAAO,CAAC;AAEf,OAAO,KAAK,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAWlD,OAAO,KAAK,EAAC,cAAc,EAAE,YAAY,EAAC,MAAM,8BAA8B,CAAC;AAQ/E,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,cAAc,IACtD;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,KAAK,CAAA;CAAC,GACtB;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAC,GACzB;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,QAAQ,CAAA;CAAC,GACzB;IAAC,IAAI,EAAE,SAAS,CAAA;CAAC,CAAC;AAEtB,MAAM,WAAW,oBAAoB,CAAC,CAAC,SAAS,cAAc,CAAE,SAAQ,IAAI,CAC1E,SAAS,CAAC,cAAc,CAAC,EACzB,UAAU,CACX;IACC,KAAK,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACjE;;;OAGG;IACH,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,SAAS,CAAC;IACpC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACzC;AA6KD,wBAAgB,eAAe,CAAC,CAAC,SAAS,cAAc,EAAE,EACxD,KAAK,EACL,aAAa,EACb,YAAY,EACZ,KAAK,EACL,QAAQ,EACR,UAAU,EACV,WAAW,EACX,WAAW,EACX,UAAU,EACV,UAAkB,EAClB,SAAiB,EACjB,UAAU,EACV,YAAiB,EACjB,cAAkB,EAClB,UAAgB,EAChB,sBAA2C,EAC3C,aAAa,EACb,MAAM,GACP,EAAE,oBAAoB,CAAC,CAAC,CAAC,+BAgXzB;yBAnYe,eAAe"}
@@ -5,7 +5,7 @@
5
5
  /**
6
6
  * @file MobileTokenizer.tsx
7
7
  * @input Uses public @astryxdesign/core components only (AlertDialog,
8
- * BottomSheet, BottomSheetSwitcher, Button, CheckboxIndicator, EmptyState,
8
+ * BottomSheet, Button, CheckboxIndicator, EmptyState,
9
9
  * Field, Icon, Text, TextInput, Token)
10
10
  * @output Exports MobileTokenizer — Lab prototype of the touch Tokenizer
11
11
  * flow with a single searchable sheet, stable in-session checkbox ordering,
@@ -23,7 +23,6 @@ import { useEffect, useId, useMemo, useRef, useState } from 'react';
23
23
  import * as stylex from '@stylexjs/stylex';
24
24
  import { AlertDialog } from '@astryxdesign/core/AlertDialog';
25
25
  import { BottomSheet } from '@astryxdesign/core/BottomSheet';
26
- import { BottomSheetSwitcher } from '@astryxdesign/core/BottomSheet';
27
26
  import { Button } from '@astryxdesign/core/Button';
28
27
  import { EmptyState } from '@astryxdesign/core/EmptyState';
29
28
  import { Field } from '@astryxdesign/core/Field';
@@ -115,7 +114,7 @@ export function MobileTokenizer({
115
114
  xstyle
116
115
  }) {
117
116
  const triggerId = useId();
118
- const [activeSheet, setActiveSheet] = useState(null);
117
+ const [isSheetOpen, setIsSheetOpen] = useState(false);
119
118
  const [isClearConfirmationOpen, setIsClearConfirmationOpen] = useState(false);
120
119
  const selectedIds = useMemo(() => new Set(value.map(v => v.id)), [value]);
121
120
  const isAtMax = maxEntries != null && value.length >= maxEntries;
@@ -165,7 +164,6 @@ export function MobileTokenizer({
165
164
  const seqRef = useRef(0);
166
165
  const lastLoadScrollHeightRef = useRef(null);
167
166
  const [selectedItemsAtOpen, setSelectedItemsAtOpen] = useState(value);
168
- const isSheetOpen = activeSheet === 'manage';
169
167
  useEffect(() => {
170
168
  if (!isSheetOpen) {
171
169
  return;
@@ -238,7 +236,7 @@ export function MobileTokenizer({
238
236
  type: "button",
239
237
  id: triggerId,
240
238
  "aria-haspopup": "dialog",
241
- "aria-expanded": activeSheet != null,
239
+ "aria-expanded": isSheetOpen,
242
240
  "aria-label": label,
243
241
  "aria-disabled": isDisabled || undefined,
244
242
  onClick: () => {
@@ -248,7 +246,7 @@ export function MobileTokenizer({
248
246
  setSelectedItemsAtOpen(value);
249
247
  lastLoadScrollHeightRef.current = null;
250
248
  setRenderedItemCount(LIST_RENDER_BATCH_SIZE);
251
- setActiveSheet('manage');
249
+ setIsSheetOpen(true);
252
250
  },
253
251
  ...{
254
252
  0: {
@@ -273,168 +271,165 @@ export function MobileTokenizer({
273
271
  }[!!isDisabled << 0],
274
272
  children: placeholder ?? ''
275
273
  })
276
- }), !isDisabled && /*#__PURE__*/_jsx(BottomSheetSwitcher, {
277
- activeSheet: activeSheet,
278
- onActiveSheetChange: id => setActiveSheet(id),
279
- children: /*#__PURE__*/_jsx(BottomSheet, {
280
- sheetId: "manage",
281
- label: label,
282
- height: "tall",
283
- padding: 0,
284
- children: /*#__PURE__*/_jsxs("div", {
274
+ }), !isDisabled && /*#__PURE__*/_jsx(BottomSheet, {
275
+ isOpen: isSheetOpen,
276
+ onOpenChange: setIsSheetOpen,
277
+ label: label,
278
+ height: "tall",
279
+ padding: 0,
280
+ children: /*#__PURE__*/_jsxs("div", {
281
+ ...{
282
+ className: "x78zum5 xdt5ytf x5yr21d x2lwn1j xrrkdod xoxd1wu xvmdzux"
283
+ },
284
+ children: [/*#__PURE__*/_jsx("div", {
285
+ ...{
286
+ className: "x78zum5 xuk3077 x1wesfrj"
287
+ },
288
+ children: /*#__PURE__*/_jsx(TextInput, {
289
+ label: `Search ${label}`,
290
+ isLabelHidden: true,
291
+ placeholder: "Search...",
292
+ startIcon: "search",
293
+ value: query,
294
+ size: "lg",
295
+ width: "100%",
296
+ hasClear: true,
297
+ onChange: next => {
298
+ lastLoadScrollHeightRef.current = null;
299
+ setRenderedItemCount(LIST_RENDER_BATCH_SIZE);
300
+ setQuery(next);
301
+ onChangeQuery?.(next);
302
+ },
303
+ controlXstyle: styles.filterInput
304
+ })
305
+ }), /*#__PURE__*/_jsxs("div", {
285
306
  ...{
286
- className: "x78zum5 xdt5ytf x5yr21d x2lwn1j xrrkdod xoxd1wu xvmdzux"
307
+ className: "x78zum5 xdt5ytf x1iyjqo2 x1odjw0f x2lwn1j"
287
308
  },
288
- children: [/*#__PURE__*/_jsx("div", {
309
+ role: "group",
310
+ "aria-label": label,
311
+ "data-testid": "mobile-tokenizer-list",
312
+ "data-rendered-count": renderedItems.length,
313
+ "data-total-count": visibleItems.length,
314
+ onScroll: event => {
315
+ const list = event.currentTarget;
316
+ const distanceFromBottom = list.scrollHeight - list.scrollTop - list.clientHeight;
317
+ if (distanceFromBottom <= LIST_LOAD_MORE_THRESHOLD_PX && lastLoadScrollHeightRef.current !== list.scrollHeight) {
318
+ lastLoadScrollHeightRef.current = list.scrollHeight;
319
+ setRenderedItemCount(current => Math.min(current + LIST_RENDER_BATCH_SIZE, visibleItems.length));
320
+ }
321
+ },
322
+ children: [createItem != null && /*#__PURE__*/_jsxs("div", {
323
+ "data-testid": "mobile-tokenizer-create-row",
289
324
  ...{
290
- className: "x78zum5 xuk3077 x1wesfrj"
325
+ className: "x78zum5 x6s0dn4 x1txdalj xh8yej3 x1gg8mnh xce4md1 x7a5moj"
291
326
  },
292
- children: /*#__PURE__*/_jsx(TextInput, {
293
- label: `Search ${label}`,
294
- isLabelHidden: true,
295
- placeholder: "Search...",
296
- startIcon: "search",
297
- value: query,
327
+ children: [/*#__PURE__*/_jsx("span", {
328
+ ...{
329
+ className: "x1iyjqo2 xeuugli"
330
+ },
331
+ children: /*#__PURE__*/_jsx(Text, {
332
+ type: "body",
333
+ children: createItem.label
334
+ })
335
+ }), /*#__PURE__*/_jsx(Button, {
336
+ label: "Add",
337
+ "aria-label": `Add ${query.trim()}`,
338
+ variant: "secondary",
298
339
  size: "lg",
299
- width: "100%",
300
- hasClear: true,
301
- onChange: next => {
340
+ onClick: () => {
341
+ handleAdd(createItem);
302
342
  lastLoadScrollHeightRef.current = null;
303
343
  setRenderedItemCount(LIST_RENDER_BATCH_SIZE);
304
- setQuery(next);
305
- onChangeQuery?.(next);
306
- },
307
- controlXstyle: styles.filterInput
308
- })
309
- }), /*#__PURE__*/_jsxs("div", {
310
- ...{
311
- className: "x78zum5 xdt5ytf x1iyjqo2 x1odjw0f x2lwn1j"
312
- },
313
- role: "group",
314
- "aria-label": label,
315
- "data-testid": "mobile-tokenizer-list",
316
- "data-rendered-count": renderedItems.length,
317
- "data-total-count": visibleItems.length,
318
- onScroll: event => {
319
- const list = event.currentTarget;
320
- const distanceFromBottom = list.scrollHeight - list.scrollTop - list.clientHeight;
321
- if (distanceFromBottom <= LIST_LOAD_MORE_THRESHOLD_PX && lastLoadScrollHeightRef.current !== list.scrollHeight) {
322
- lastLoadScrollHeightRef.current = list.scrollHeight;
323
- setRenderedItemCount(current => Math.min(current + LIST_RENDER_BATCH_SIZE, visibleItems.length));
344
+ setQuery('');
324
345
  }
325
- },
326
- children: [createItem != null && /*#__PURE__*/_jsxs("div", {
327
- "data-testid": "mobile-tokenizer-create-row",
328
- ...{
329
- className: "x78zum5 x6s0dn4 x1txdalj xh8yej3 x1gg8mnh xce4md1 x7a5moj"
346
+ })]
347
+ }), !isSearching && visibleItems.length === 0 && createItem == null ? /*#__PURE__*/_jsx(EmptyState, {
348
+ icon: /*#__PURE__*/_jsx(Icon, {
349
+ icon: query.trim() === '' ? ListBulletIcon : 'search',
350
+ size: "lg",
351
+ color: "secondary"
352
+ }),
353
+ title: query.trim() === '' ? 'No items available' : emptySearchResultsText,
354
+ description: query.trim() === '' ? 'There are no items to choose from.' : 'Try a different search.',
355
+ isCompact: true,
356
+ xstyle: styles.empty
357
+ }) : renderedItems.map(item => {
358
+ const isSelected = selectedIds.has(item.id);
359
+ const rowDisabled = !isSelected && isAtMax;
360
+ return /*#__PURE__*/_jsxs("button", {
361
+ type: "button",
362
+ role: "checkbox",
363
+ "aria-checked": isSelected,
364
+ "aria-label": item.label,
365
+ "aria-disabled": rowDisabled || undefined,
366
+ onClick: () => {
367
+ if (rowDisabled) {
368
+ return;
369
+ }
370
+ if (isSelected) {
371
+ handleRemove(item);
372
+ } else {
373
+ handleAdd(item);
374
+ }
330
375
  },
376
+ ...{
377
+ 0: {
378
+ className: "x78zum5 x6s0dn4 x1qughib x1txdalj xh8yej3 x1gg8mnh xce4md1 x7a5moj xc342km xh6dtrn xjbqb8w x1tgivj0 x1yc453h x1ypdohk x16khyan"
379
+ },
380
+ 1: {
381
+ className: "x78zum5 x6s0dn4 x1qughib x1txdalj xh8yej3 x1gg8mnh xce4md1 x7a5moj xc342km xh6dtrn xjbqb8w x1yc453h x1ypdohk x16khyan x1tgivj0 x1bhcspo"
382
+ }
383
+ }[!!rowDisabled << 0],
331
384
  children: [/*#__PURE__*/_jsx("span", {
332
385
  ...{
333
386
  className: "x1iyjqo2 xeuugli"
334
387
  },
335
- children: /*#__PURE__*/_jsx(Text, {
388
+ children: renderItem ? renderItem(item) : /*#__PURE__*/_jsx(Text, {
336
389
  type: "body",
337
- children: createItem.label
390
+ color: rowDisabled ? 'inherit' : undefined,
391
+ children: item.label
338
392
  })
339
- }), /*#__PURE__*/_jsx(Button, {
340
- label: "Add",
341
- "aria-label": `Add ${query.trim()}`,
342
- variant: "secondary",
343
- size: "lg",
344
- onClick: () => {
345
- handleAdd(createItem);
346
- lastLoadScrollHeightRef.current = null;
347
- setRenderedItemCount(LIST_RENDER_BATCH_SIZE);
348
- setQuery('');
349
- }
393
+ }), /*#__PURE__*/_jsx(CheckboxIndicator, {
394
+ state: isSelected ? 'checked' : 'unchecked',
395
+ size: "md",
396
+ isDisabled: rowDisabled,
397
+ xstyle: rowDisabled ? styles.indicatorDisabled : undefined
350
398
  })]
351
- }), !isSearching && visibleItems.length === 0 && createItem == null ? /*#__PURE__*/_jsx(EmptyState, {
352
- icon: /*#__PURE__*/_jsx(Icon, {
353
- icon: query.trim() === '' ? ListBulletIcon : 'search',
354
- size: "lg",
355
- color: "secondary"
356
- }),
357
- title: query.trim() === '' ? 'No items available' : emptySearchResultsText,
358
- description: query.trim() === '' ? 'There are no items to choose from.' : 'Try a different search.',
359
- isCompact: true,
360
- xstyle: styles.empty
361
- }) : renderedItems.map(item => {
362
- const isSelected = selectedIds.has(item.id);
363
- const rowDisabled = !isSelected && isAtMax;
364
- return /*#__PURE__*/_jsxs("button", {
365
- type: "button",
366
- role: "checkbox",
367
- "aria-checked": isSelected,
368
- "aria-label": item.label,
369
- "aria-disabled": rowDisabled || undefined,
370
- onClick: () => {
371
- if (rowDisabled) {
372
- return;
373
- }
374
- if (isSelected) {
375
- handleRemove(item);
376
- } else {
377
- handleAdd(item);
378
- }
379
- },
380
- ...{
381
- 0: {
382
- className: "x78zum5 x6s0dn4 x1qughib x1txdalj xh8yej3 x1gg8mnh xce4md1 x7a5moj xc342km xh6dtrn xjbqb8w x1tgivj0 x1yc453h x1ypdohk x16khyan"
383
- },
384
- 1: {
385
- className: "x78zum5 x6s0dn4 x1qughib x1txdalj xh8yej3 x1gg8mnh xce4md1 x7a5moj xc342km xh6dtrn xjbqb8w x1yc453h x1ypdohk x16khyan x1tgivj0 x1bhcspo"
386
- }
387
- }[!!rowDisabled << 0],
388
- children: [/*#__PURE__*/_jsx("span", {
389
- ...{
390
- className: "x1iyjqo2 xeuugli"
391
- },
392
- children: renderItem ? renderItem(item) : /*#__PURE__*/_jsx(Text, {
393
- type: "body",
394
- color: rowDisabled ? 'inherit' : undefined,
395
- children: item.label
396
- })
397
- }), /*#__PURE__*/_jsx(CheckboxIndicator, {
398
- state: isSelected ? 'checked' : 'unchecked',
399
- size: "md",
400
- isDisabled: rowDisabled,
401
- xstyle: rowDisabled ? styles.indicatorDisabled : undefined
402
- })]
403
- }, item.id);
404
- })]
405
- }), query.trim() === '' && /*#__PURE__*/_jsxs("div", {
406
- ...{
407
- className: "x78zum5 x6s0dn4 x1txdalj x1vlblms xr1yuqi"
399
+ }, item.id);
400
+ })]
401
+ }), query.trim() === '' && /*#__PURE__*/_jsxs("div", {
402
+ ...{
403
+ className: "x78zum5 x6s0dn4 x1txdalj x1vlblms xr1yuqi"
404
+ },
405
+ children: [/*#__PURE__*/_jsx(Button, {
406
+ label: "Clear all",
407
+ variant: "secondary",
408
+ size: "lg",
409
+ isDisabled: value.length === 0,
410
+ onClick: () => setIsClearConfirmationOpen(true),
411
+ xstyle: styles.footerAction
412
+ }), /*#__PURE__*/_jsx(Button, {
413
+ label: "Done",
414
+ variant: "primary",
415
+ size: "lg",
416
+ onClick: () => {
417
+ setQuery('');
418
+ setIsSheetOpen(false);
408
419
  },
409
- children: [/*#__PURE__*/_jsx(Button, {
410
- label: "Clear all",
411
- variant: "secondary",
412
- size: "lg",
413
- isDisabled: value.length === 0,
414
- onClick: () => setIsClearConfirmationOpen(true),
415
- xstyle: styles.footerAction
416
- }), /*#__PURE__*/_jsx(Button, {
417
- label: "Done",
418
- variant: "primary",
419
- size: "lg",
420
- onClick: () => {
421
- setQuery('');
422
- setActiveSheet(null);
423
- },
424
- xstyle: styles.footerAction
425
- })]
426
- }), /*#__PURE__*/_jsx(AlertDialog, {
427
- isOpen: isClearConfirmationOpen,
428
- onOpenChange: setIsClearConfirmationOpen,
429
- title: "Clear all selected items?",
430
- description: `This removes all selected items from ${label}.`,
431
- actionLabel: "Clear selection",
432
- onAction: () => {
433
- handleClearAll();
434
- setIsClearConfirmationOpen(false);
435
- }
420
+ xstyle: styles.footerAction
436
421
  })]
437
- })
422
+ }), /*#__PURE__*/_jsx(AlertDialog, {
423
+ isOpen: isClearConfirmationOpen,
424
+ onOpenChange: setIsClearConfirmationOpen,
425
+ title: "Clear all selected items?",
426
+ description: `This removes all selected items from ${label}.`,
427
+ actionLabel: "Clear selection",
428
+ onAction: () => {
429
+ handleClearAll();
430
+ setIsClearConfirmationOpen(false);
431
+ }
432
+ })]
438
433
  })
439
434
  })]
440
435
  });
@@ -75,15 +75,15 @@ const colorStyles = {
75
75
  $$css: true
76
76
  },
77
77
  positive: {
78
- kMwMTN: "xtjic6",
78
+ kMwMTN: "x1vau044",
79
79
  $$css: true
80
80
  },
81
81
  negative: {
82
- kMwMTN: "xjt36v0",
82
+ kMwMTN: "xskb5cx",
83
83
  $$css: true
84
84
  },
85
85
  warning: {
86
- kMwMTN: "xs3pv69",
86
+ kMwMTN: "x4z9hng",
87
87
  $$css: true
88
88
  },
89
89
  inherit: {
package/dist/Stat/Stat.js CHANGED
@@ -78,11 +78,11 @@ const sizeStyles = {
78
78
  */
79
79
  const sentimentStyles = {
80
80
  positive: {
81
- kMwMTN: "xtjic6",
81
+ kMwMTN: "x1caiuuo",
82
82
  $$css: true
83
83
  },
84
84
  negative: {
85
- kMwMTN: "xjt36v0",
85
+ kMwMTN: "x1wj83wy",
86
86
  $$css: true
87
87
  },
88
88
  neutral: {
package/dist/lab.css CHANGED
@@ -337,16 +337,15 @@
337
337
  .x1s4jh2n:not(#\#):not(#\#):not(#\#){color:color-mix(in srgb,var(--color-text-teal) 52%,var(--color-text-secondary))}
338
338
  .x1wzna5w:not(#\#):not(#\#):not(#\#){color:color-mix(in srgb,var(--color-text-yellow) 52%,var(--color-text-secondary))}
339
339
  .x1heor9g:not(#\#):not(#\#):not(#\#){color:inherit}
340
- .xuj0v0c:not(#\#):not(#\#):not(#\#){color:light-dark(color-mix(in srgb,var(--color-warning) 58%,black),var(--color-warning))}
341
- .x1lenag:not(#\#):not(#\#):not(#\#){color:light-dark(var(--color-error),color-mix(in srgb,var(--color-error) 82%,white))}
342
340
  .x19co3pv:not(#\#):not(#\#):not(#\#){color:transparent}
343
341
  .xqwr325:not(#\#):not(#\#):not(#\#){color:var(--color-accent)}
344
- .xjt36v0:not(#\#):not(#\#):not(#\#){color:var(--color-error)}
345
342
  .xqa6c3m:not(#\#):not(#\#):not(#\#){color:var(--color-icon-disabled)}
343
+ .xskb5cx:not(#\#):not(#\#):not(#\#){color:var(--color-icon-error)}
346
344
  .xtbr613:not(#\#):not(#\#):not(#\#){color:var(--color-icon-primary)}
347
345
  .xv9yike:not(#\#):not(#\#):not(#\#){color:var(--color-icon-secondary)}
346
+ .x1vau044:not(#\#):not(#\#):not(#\#){color:var(--color-icon-success)}
347
+ .x4z9hng:not(#\#):not(#\#):not(#\#){color:var(--color-icon-warning)}
348
348
  .x17wrial:not(#\#):not(#\#):not(#\#){color:var(--color-on-accent)}
349
- .xtjic6:not(#\#):not(#\#):not(#\#){color:var(--color-success)}
350
349
  .x1wxerb0:not(#\#):not(#\#):not(#\#){color:var(--color-syntax-added-marker)}
351
350
  .xt5rlkq:not(#\#):not(#\#):not(#\#){color:var(--color-syntax-punctuation)}
352
351
  .x103bwea:not(#\#):not(#\#):not(#\#){color:var(--color-syntax-removed-marker)}
@@ -355,6 +354,7 @@
355
354
  .x1vvqiwl:not(#\#):not(#\#):not(#\#){color:var(--color-text-blue)}
356
355
  .x1txnczv:not(#\#):not(#\#):not(#\#){color:var(--color-text-cyan)}
357
356
  .xnbbluu:not(#\#):not(#\#):not(#\#){color:var(--color-text-disabled)}
357
+ .x1wj83wy:not(#\#):not(#\#):not(#\#){color:var(--color-text-error)}
358
358
  .xru1t7f:not(#\#):not(#\#):not(#\#){color:var(--color-text-gray)}
359
359
  .xltfdvo:not(#\#):not(#\#):not(#\#){color:var(--color-text-green)}
360
360
  .xm47u9q:not(#\#):not(#\#):not(#\#){color:var(--color-text-orange)}
@@ -363,9 +363,10 @@
363
363
  .x1m9wyeb:not(#\#):not(#\#):not(#\#){color:var(--color-text-purple)}
364
364
  .x1joocv1:not(#\#):not(#\#):not(#\#){color:var(--color-text-red)}
365
365
  .xv1l7n4:not(#\#):not(#\#):not(#\#){color:var(--color-text-secondary)}
366
+ .x1caiuuo:not(#\#):not(#\#):not(#\#){color:var(--color-text-success)}
366
367
  .x9x0lbs:not(#\#):not(#\#):not(#\#){color:var(--color-text-teal)}
368
+ .x10h9ou4:not(#\#):not(#\#):not(#\#){color:var(--color-text-warning)}
367
369
  .xdhq94a:not(#\#):not(#\#):not(#\#){color:var(--color-text-yellow)}
368
- .xs3pv69:not(#\#):not(#\#):not(#\#){color:var(--color-warning)}
369
370
  .x1kihgfc:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-0-5)}
370
371
  .x1lfs0n9:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-1)}
371
372
  .xak3so:not(#\#):not(#\#):not(#\#){column-gap:var(--spacing-2)}
@@ -528,13 +529,13 @@
528
529
  .ximx5ud:not(#\#):not(#\#):not(#\#){stroke:var(--color-accent-muted)}
529
530
  .xjsr54c:not(#\#):not(#\#):not(#\#){stroke:var(--color-accent)}
530
531
  .xjswp7v:not(#\#):not(#\#):not(#\#){stroke:var(--color-error-muted)}
531
- .x1vco6zm:not(#\#):not(#\#):not(#\#){stroke:var(--color-error)}
532
532
  .x1uro670:not(#\#):not(#\#):not(#\#){stroke:var(--color-success-muted)}
533
- .x8y33gb:not(#\#):not(#\#):not(#\#){stroke:var(--color-success)}
534
533
  .xuxf9kk:not(#\#):not(#\#):not(#\#){stroke:var(--color-text-disabled)}
534
+ .xqb94c9:not(#\#):not(#\#):not(#\#){stroke:var(--color-text-error)}
535
+ .x88o7k4:not(#\#):not(#\#):not(#\#){stroke:var(--color-text-success)}
536
+ .x16d96h5:not(#\#):not(#\#):not(#\#){stroke:var(--color-text-warning)}
535
537
  .xpi25hw:not(#\#):not(#\#):not(#\#){stroke:var(--color-track)}
536
538
  .x1wjzxuj:not(#\#):not(#\#):not(#\#){stroke:var(--color-warning-muted)}
537
- .x9ezeq1:not(#\#):not(#\#):not(#\#){stroke:var(--color-warning)}
538
539
  .xeq4nuv:not(#\#):not(#\#):not(#\#){tab-size:2}
539
540
  .x140o2bo:not(#\#):not(#\#):not(#\#){table-layout:fixed}
540
541
  .x2b8uid:not(#\#):not(#\#):not(#\#){text-align:center}