@estiva-app/ui 0.35.2 → 0.37.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 (143) hide show
  1. package/dist/Panel.d.ts +44 -0
  2. package/dist/Panel.d.ts.map +1 -0
  3. package/dist/ScrollArea.d.ts +7 -2
  4. package/dist/ScrollArea.d.ts.map +1 -1
  5. package/dist/eslint/escape.d.ts +23 -6
  6. package/dist/eslint/escape.d.ts.map +1 -1
  7. package/dist/eslint/index.js +86 -12
  8. package/dist/eslint/index.js.map +3 -3
  9. package/dist/eslint/no-handmade-header.d.ts +5 -0
  10. package/dist/eslint/no-handmade-header.d.ts.map +1 -1
  11. package/dist/eslint/no-native-title.d.ts +1 -1
  12. package/dist/eslint/no-native-title.d.ts.map +1 -1
  13. package/dist/eslint/no-raw-element.d.ts +7 -0
  14. package/dist/eslint/no-raw-element.d.ts.map +1 -1
  15. package/dist/eslint/no-restyled-part.d.ts +8 -0
  16. package/dist/eslint/no-restyled-part.d.ts.map +1 -1
  17. package/dist/gates/app-checks.d.ts +1 -1
  18. package/dist/gates/app-checks.d.ts.map +1 -1
  19. package/dist/gates/{chunk-DRIHHXQK.js → chunk-CC6L4B5U.js} +23 -17
  20. package/dist/gates/chunk-CC6L4B5U.js.map +7 -0
  21. package/dist/gates/chunk-SYVKGOWM.js +1131 -0
  22. package/dist/gates/chunk-SYVKGOWM.js.map +7 -0
  23. package/dist/gates/ci.d.ts +18 -0
  24. package/dist/gates/ci.d.ts.map +1 -0
  25. package/dist/gates/cli.js +20 -3
  26. package/dist/gates/cli.js.map +2 -2
  27. package/dist/gates/create-app.d.ts.map +1 -1
  28. package/dist/gates/create-app.js +1 -1
  29. package/dist/gates/escapes.d.ts +23 -0
  30. package/dist/gates/escapes.d.ts.map +1 -0
  31. package/dist/gates/gate-config.d.ts.map +1 -1
  32. package/dist/gates/hook.d.ts +2 -0
  33. package/dist/gates/hook.d.ts.map +1 -1
  34. package/dist/gates/index.d.ts +5 -1
  35. package/dist/gates/index.d.ts.map +1 -1
  36. package/dist/gates/index.js +42 -185
  37. package/dist/gates/index.js.map +4 -4
  38. package/dist/gates/name-escapes.d.ts +14 -0
  39. package/dist/gates/name-escapes.d.ts.map +1 -0
  40. package/dist/gates/status.d.ts +3 -1
  41. package/dist/gates/status.d.ts.map +1 -1
  42. package/dist/gates/token-lint.d.ts.map +1 -1
  43. package/dist/gates/token-style.d.ts +21 -0
  44. package/dist/gates/token-style.d.ts.map +1 -0
  45. package/dist/index.d.ts +1 -0
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +76 -49
  48. package/dist/index.js.map +4 -4
  49. package/dist/registry/{app-3ALZE6XO.js → app-YMABQII6.js} +3 -3
  50. package/dist/registry/app.d.ts.map +1 -1
  51. package/dist/registry/behaviours.d.ts +71 -0
  52. package/dist/registry/behaviours.d.ts.map +1 -0
  53. package/dist/registry/{build-NDXMVFQ5.js → build-3EANARLQ.js} +2 -2
  54. package/dist/registry/build.d.ts.map +1 -1
  55. package/dist/registry/{chunk-3WJ7ZZ7Z.js → chunk-EVJW26UR.js} +51 -4
  56. package/dist/registry/chunk-EVJW26UR.js.map +7 -0
  57. package/dist/registry/{chunk-XVII7P6G.js → chunk-SIB44CES.js} +276 -90
  58. package/dist/registry/chunk-SIB44CES.js.map +7 -0
  59. package/dist/registry/{chunk-5K2TRR4X.js → chunk-XK747STJ.js} +18 -3
  60. package/dist/registry/chunk-XK747STJ.js.map +7 -0
  61. package/dist/registry/cli.js +7 -6
  62. package/dist/registry/cli.js.map +2 -2
  63. package/dist/registry/contract.d.ts +13 -1
  64. package/dist/registry/contract.d.ts.map +1 -1
  65. package/dist/registry/index.d.ts +1 -1
  66. package/dist/registry/index.d.ts.map +1 -1
  67. package/dist/registry/index.js +11 -5
  68. package/package.json +4 -1
  69. package/registry.json +369 -19
  70. package/skill/estiva-ui.md +2 -1
  71. package/src/AppShell.mdx +2 -1
  72. package/src/AttachmentCard.tsx +7 -7
  73. package/src/Button.tsx +1 -1
  74. package/src/Card.tsx +2 -2
  75. package/src/ChipInput.mdx +2 -0
  76. package/src/ChipInput.tsx +1 -1
  77. package/src/CommandPalette.tsx +3 -3
  78. package/src/DialogShell.tsx +1 -1
  79. package/src/EmptyState.mdx +4 -3
  80. package/src/Lightbox.tsx +1 -1
  81. package/src/NavItem.tsx +1 -1
  82. package/src/Panel.mdx +78 -0
  83. package/src/Panel.stories.tsx +98 -0
  84. package/src/Panel.tsx +80 -0
  85. package/src/PersonTrigger.tsx +1 -1
  86. package/src/Reaction.tsx +1 -1
  87. package/src/ScrollArea.mdx +6 -2
  88. package/src/ScrollArea.stories.tsx +1 -1
  89. package/src/ScrollArea.tsx +9 -4
  90. package/src/Select.tsx +1 -1
  91. package/src/TopBar.mdx +1 -1
  92. package/src/eslint/escape.ts +43 -14
  93. package/src/eslint/has-a-page-and-a-story.test.ts +1 -1
  94. package/src/eslint/index.test.ts +2 -2
  95. package/src/eslint/no-copied-look.test.ts +1 -1
  96. package/src/eslint/no-hand-rolled-behaviour.test.ts +3 -3
  97. package/src/eslint/no-handmade-empty-state.test.ts +2 -2
  98. package/src/eslint/no-handmade-header.test.ts +11 -2
  99. package/src/eslint/no-handmade-header.ts +24 -2
  100. package/src/eslint/no-native-title.test.ts +2 -2
  101. package/src/eslint/no-native-title.ts +1 -1
  102. package/src/eslint/no-raw-element.test.ts +47 -15
  103. package/src/eslint/no-raw-element.ts +53 -3
  104. package/src/eslint/no-rebuilt-behaviour.test.ts +9 -9
  105. package/src/eslint/no-restyled-part.test.ts +21 -2
  106. package/src/eslint/no-restyled-part.ts +30 -0
  107. package/src/eslint/raw-element-outside-a-wrapper.test.ts +3 -3
  108. package/src/gates/app-checks.ts +9 -6
  109. package/src/gates/ci.ts +152 -0
  110. package/src/gates/cli.ts +19 -3
  111. package/src/gates/count.ts +1 -1
  112. package/src/gates/create-app.test.ts +2 -2
  113. package/src/gates/create-app.ts +22 -16
  114. package/src/gates/escapes.ts +111 -0
  115. package/src/gates/gate-config.ts +2 -0
  116. package/src/gates/gates.test.ts +86 -1
  117. package/src/gates/hook.ts +38 -4
  118. package/src/gates/index.ts +5 -1
  119. package/src/gates/name-escapes.ts +77 -0
  120. package/src/gates/status.ts +45 -2
  121. package/src/gates/token-lint.ts +11 -4
  122. package/src/gates/token-style.ts +79 -0
  123. package/src/how.test.ts +282 -0
  124. package/src/index.ts +1 -0
  125. package/src/pages.test.ts +6 -0
  126. package/src/registry/app.test.ts +37 -1
  127. package/src/registry/app.ts +52 -2
  128. package/src/registry/behaviours.ts +223 -0
  129. package/src/registry/build.ts +36 -0
  130. package/src/registry/cli.ts +5 -3
  131. package/src/registry/contract.test.ts +27 -2
  132. package/src/registry/contract.ts +28 -3
  133. package/src/registry/index.ts +1 -1
  134. package/src/registry/registry.test.ts +18 -4
  135. package/stories/Choosing.mdx +4 -3
  136. package/dist/gates/chunk-DBMUQAR6.js +0 -607
  137. package/dist/gates/chunk-DBMUQAR6.js.map +0 -7
  138. package/dist/gates/chunk-DRIHHXQK.js.map +0 -7
  139. package/dist/registry/chunk-3WJ7ZZ7Z.js.map +0 -7
  140. package/dist/registry/chunk-5K2TRR4X.js.map +0 -7
  141. package/dist/registry/chunk-XVII7P6G.js.map +0 -7
  142. /package/dist/registry/{app-3ALZE6XO.js.map → app-YMABQII6.js.map} +0 -0
  143. /package/dist/registry/{build-NDXMVFQ5.js.map → build-3EANARLQ.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/gates/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/gates/status.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"token-lint.d.ts","sourceRoot":"","sources":["../../src/gates/token-lint.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAK5C,8BAA8B;AAC9B,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,CAAA;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,uFAAuF;IACvF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,aAAa,CAAA;CACzB;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACrC,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,qDAAqD;AACrD,eAAO,MAAM,kBAAkB,UAAkD,CAAA;AAEjF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAA+D,CAAA;AA+BvH;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,cAAqC,EAAE,QAAgB,EAAE,GAAE,gBAAqB,GAAG,MAAM,CAAC,MAAM,CAwC3H;AAiCD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,EAAE,QAAgB,EAAE,GAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAM,GAAG,MAAM,CAAC,MAAM,CAqExG;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,KAAU,EAAE,OAAY,EAAE,GAAG,OAAO,EAAE,GAAE,kBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAa9G"}
1
+ {"version":3,"file":"token-lint.d.ts","sourceRoot":"","sources":["../../src/gates/token-lint.ts"],"names":[],"mappings":"AAqCA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AAM5C,8BAA8B;AAC9B,MAAM,MAAM,aAAa,GAAG,KAAK,GAAG,SAAS,CAAA;AAE7C,MAAM,WAAW,gBAAgB;IAC/B,uFAAuF;IACvF,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,aAAa,CAAA;CACzB;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAA;IACrC,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CACnB;AAED,qDAAqD;AACrD,eAAO,MAAM,kBAAkB,UAAkD,CAAA;AAEjF;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,CAA+D,CAAA;AA+BvH;;;GAGG;AACH,wBAAgB,SAAS,CAAC,EAAE,cAAqC,EAAE,QAAgB,EAAE,GAAE,gBAAqB,GAAG,MAAM,CAAC,MAAM,CAwC3H;AAgCD;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,EAAE,QAAgB,EAAE,GAAE,IAAI,CAAC,gBAAgB,EAAE,UAAU,CAAM,GAAG,MAAM,CAAC,MAAM,CA4ExG;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,KAAU,EAAE,OAAY,EAAE,GAAG,OAAO,EAAE,GAAE,kBAAuB,GAAG,MAAM,CAAC,MAAM,EAAE,CAa9G"}
@@ -0,0 +1,21 @@
1
+ /**
2
+ * The token contract's inline-style check, where a selector cannot reach
3
+ * (the second review's R9, 25 September). `no-restricted-syntax` reads a
4
+ * `style={{ … }}` written in place; a style kept in a `const` and passed by name
5
+ * got through every lint in all three repos:
6
+ *
7
+ * const look = { background: 'red' }
8
+ * <div style={look} />
9
+ *
10
+ * This follows the name to its `const` in the same file and reads the keys
11
+ * there, quoted or not. It reports on the key, where the value is written, so
12
+ * an escape sits beside it. A style the code works out while it runs passes:
13
+ * nothing can read it.
14
+ */
15
+ import type { ESLint } from 'eslint';
16
+ /** The style keys outside the token contract: colours, a font size, borders and shadows. */
17
+ export declare const INLINE_STYLE_TOKEN_KEYS: RegExp;
18
+ export declare const INLINE_STYLE_MESSAGE = "An inline style that sets a colour, a font size, a border or a shadow is outside the token contract: use a token class. If the value is computed (a palette, a size from a prop), say why in an eslint-disable comment. Width, height and transforms are fine.";
19
+ /** The plugin, as the token lint registers it: `token-style/no-token-style`. */
20
+ export declare const tokenStylePlugin: ESLint.Plugin;
21
+ //# sourceMappingURL=token-style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"token-style.d.ts","sourceRoot":"","sources":["../../src/gates/token-style.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAA;AAEjD,4FAA4F;AAC5F,eAAO,MAAM,uBAAuB,QAAoM,CAAA;AAExO,eAAO,MAAM,oBAAoB,mQACiO,CAAA;AAwDlQ,gFAAgF;AAChF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAsD,CAAA"}
package/dist/index.d.ts CHANGED
@@ -60,6 +60,7 @@ export { Reaction, type ReactionProps } from './Reaction';
60
60
  export { SearchInput, type SearchInputProps } from './SearchInput';
61
61
  export { SectionHeader, type SectionAction, type SectionHeaderProps } from './SectionHeader';
62
62
  export { ContainerHeader, type ContainerHeaderProps } from './ContainerHeader';
63
+ export { Panel, type PanelProps } from './Panel';
63
64
  export { ListColumn, type ListColumnProps } from './ListColumn';
64
65
  export { CollapsibleSection, type CollapsibleSectionProps } from './CollapsibleSection';
65
66
  export { SectionLabel } from './SectionLabel';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,KAAK,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACrG,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAC1F,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,UAAU,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAA;AACxF,OAAO,EAAE,IAAI,EAAE,KAAK,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,SAAS,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAA;AAChG,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAC5D,OAAO,EACL,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,KAAK,yBAAyB,EAC9B,KAAK,0BAA0B,GAChC,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,eAAe,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAClH,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,UAAU,EACV,mBAAmB,EACnB,KAAK,eAAe,EACpB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,WAAW,EAAE,MAAM,QAAQ,CAAA;AAC/D,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,iBAAiB,EAAE,MAAM,cAAc,CAAA;AACvF,OAAO,EAAE,GAAG,EAAE,KAAK,QAAQ,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,KAAK,QAAQ,EAAE,KAAK,iBAAiB,EAAE,KAAK,kBAAkB,EAAE,MAAM,gBAAgB,CAAA;AAC5H,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,KAAK,oBAAoB,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAA;AACtI,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AACpG,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,KAAK,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AACtE,OAAO,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,YAAY,EAAE,KAAK,iBAAiB,EAAE,MAAM,gBAAgB,CAAA;AACrE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,KAAK,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAC3F,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,KAAK,KAAK,EAAE,MAAM,cAAc,CAAA;AAC3E,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,cAAc,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,MAAM,QAAQ,CAAA;AACvL,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,cAAc,EAAE,KAAK,cAAc,EAAE,KAAK,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AAChG,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,WAAW,EAAE,gBAAgB,EAAE,KAAK,YAAY,EAAE,KAAK,kBAAkB,EAAE,KAAK,iBAAiB,EAAE,KAAK,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC1L,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,IAAI,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC7C,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,WAAW,CAAA;AACtD,OAAO,EAAE,MAAM,EAAE,KAAK,WAAW,EAAE,MAAM,UAAU,CAAA;AACnD,OAAO,EAAE,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACxE,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAA;AACzD,OAAO,EAAE,WAAW,EAAE,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAClE,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AAC5F,OAAO,EAAE,eAAe,EAAE,KAAK,oBAAoB,EAAE,MAAM,mBAAmB,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,kBAAkB,EAAE,KAAK,uBAAuB,EAAE,MAAM,sBAAsB,CAAA;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC7C,OAAO,EAAE,IAAI,EAAE,KAAK,MAAM,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAA;AAC1D,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,SAAS,CAAA;AAC5G,OAAO,EAAE,EAAE,EAAE,MAAM,MAAM,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -56,8 +56,8 @@ function ScrollArea({ orientation = "vertical", className, viewportClassName, co
56
56
  children: /* @__PURE__ */ jsx(BaseScrollArea.Content, { className: contentClassName, style: horizontal ? void 0 : { minWidth: 0 }, children })
57
57
  }
58
58
  ),
59
- vertical && /* @__PURE__ */ jsx(BaseScrollArea.Scrollbar, { orientation: "vertical", className: cn(BAR, "w-1.5 justify-center py-0.5 pr-0.5"), children: /* @__PURE__ */ jsx(BaseScrollArea.Thumb, { className: cn(THUMB, "w-full") }) }),
60
- horizontal && /* @__PURE__ */ jsx(BaseScrollArea.Scrollbar, { orientation: "horizontal", className: cn(BAR, "h-1.5 flex-col justify-center px-0.5 pb-0.5"), children: /* @__PURE__ */ jsx(BaseScrollArea.Thumb, { className: cn(THUMB, "h-full") }) }),
59
+ vertical && /* @__PURE__ */ jsx(BaseScrollArea.Scrollbar, { orientation: "vertical", className: cn(BAR, "w-1.5 justify-center py-0.5 pr-0.5 data-[has-overflow-y]:opacity-100"), children: /* @__PURE__ */ jsx(BaseScrollArea.Thumb, { className: cn(THUMB, "w-full") }) }),
60
+ horizontal && /* @__PURE__ */ jsx(BaseScrollArea.Scrollbar, { orientation: "horizontal", className: cn(BAR, "h-1.5 flex-col justify-center px-0.5 pb-0.5 data-[has-overflow-x]:opacity-100"), children: /* @__PURE__ */ jsx(BaseScrollArea.Thumb, { className: cn(THUMB, "h-full") }) }),
61
61
  vertical && horizontal && /* @__PURE__ */ jsx(BaseScrollArea.Corner, {})
62
62
  ] });
63
63
  }
@@ -244,12 +244,12 @@ function Card({
244
244
  if (href !== void 0) {
245
245
  const { ref, ...anchorProps } = props;
246
246
  return (
247
- // @estiva-escape: a card that leads somewhere is drawn on Link's anchor (UIG-27 ruling 1), so this frame is Card's own look, not Link restyled
247
+ // @estiva-escape(no-copied-look, no-restyled-part): a card that leads somewhere is drawn on Link's anchor (UIG-27 ruling 1), so this frame is Card's own look, not Link restyled
248
248
  /* @__PURE__ */ jsx5(Link, { href, variant: "plain", ref, className: classes, ...anchorProps, children })
249
249
  );
250
250
  }
251
251
  return (
252
- // @estiva-escape: N6 (Katerina, 24 September: leave alone): a card that cuts its content to its corners shares four words with the palette's window by coincidence
252
+ // @estiva-escape(no-copied-look): N6 (Katerina, 24 September: leave alone): a card that cuts its content to its corners shares four words with the palette's window by coincidence
253
253
  /* @__PURE__ */ jsx5("div", { className: classes, ...props, children })
254
254
  );
255
255
  }
@@ -632,7 +632,7 @@ function AttachmentCard({
632
632
  const failed = state === "failed";
633
633
  const warning = state === "warning";
634
634
  return (
635
- // @estiva-escape: a failed or warning file's strong hairline is AttachmentCard's own state; Card's attention hairlines are the soft ones (UIG-9, Katerina 17 September)
635
+ // @estiva-escape(no-restyled-part): a failed or warning file's strong hairline is AttachmentCard's own state; Card's attention hairlines are the soft ones (UIG-9, Katerina 17 September)
636
636
  /* @__PURE__ */ jsxs6(
637
637
  Card,
638
638
  {
@@ -652,7 +652,7 @@ function AttachmentCard({
652
652
  }
653
653
  )
654
654
  ] }),
655
- onRemove && // @estiva-escape: N4 (Katerina, 24 September: record only): the small round button Lightbox's close also draws; a part if a third appears
655
+ onRemove && // @estiva-escape(no-copied-look): N4 (Katerina, 24 September: record only): the small round button Lightbox's close also draws; a part if a third appears
656
656
  /* @__PURE__ */ jsx10(
657
657
  BaseButton2,
658
658
  {
@@ -672,7 +672,7 @@ function AttachmentCard({
672
672
  );
673
673
  }
674
674
  const downloadControl = saving ? (
675
- // @estiva-escape: Download shows when its card is pointed at or focused, AttachmentCard's own action; IconButton has no reveal on its card's hover (UIG-9, Katerina 17 September)
675
+ // @estiva-escape(no-restyled-part): Download shows when its card is pointed at or focused, AttachmentCard's own action; IconButton has no reveal on its card's hover (UIG-9, Katerina 17 September)
676
676
  /* @__PURE__ */ jsx10(
677
677
  IconButton,
678
678
  {
@@ -692,13 +692,13 @@ function AttachmentCard({
692
692
  return (
693
693
  // `role="status"`: a plain box may not carry a name (axe, aria-prohibited-attr), and a
694
694
  // status says what it is doing — loading — to a reader that cannot see the pulse.
695
- // @estiva-escape: the loading pulse is AttachmentCard's own state; Card has no loading state (UIG-9, Katerina 17 September)
695
+ // @estiva-escape(no-restyled-part): the loading pulse is AttachmentCard's own state; Card has no loading state (UIG-9, Katerina 17 September)
696
696
  /* @__PURE__ */ jsx10(Card, { role: "status", fill: "inset", "aria-busy": "true", "aria-label": `Loading ${name}`, className: cn("w-[180px] h-28 animate-pulse", className), ...props, children: null })
697
697
  );
698
698
  }
699
699
  if (drawnState === "unreadable") {
700
700
  return (
701
- // @estiva-escape: a file that could not be read is faded as well as dashed, AttachmentCard's own state; Card has no faded state (UIG-9, Katerina 17 September)
701
+ // @estiva-escape(no-restyled-part): a file that could not be read is faded as well as dashed, AttachmentCard's own state; Card has no faded state (UIG-9, Katerina 17 September)
702
702
  /* @__PURE__ */ jsxs6(Card, { fill: "inset", unreadable: true, className: cn("flex items-center gap-2 w-[240px] p-1.5 opacity-70", className), ...props, children: [
703
703
  /* @__PURE__ */ jsx10("div", { className: TILE_CLASSES, children: /* @__PURE__ */ jsx10(TypeIcon, { name }) }),
704
704
  /* @__PURE__ */ jsxs6("div", { className: "flex flex-col gap-[1px] min-w-0 text-left", children: [
@@ -741,7 +741,7 @@ function AttachmentCard({
741
741
  ] })
742
742
  ] });
743
743
  return (
744
- // @estiva-escape: a file that cannot be opened is faded, AttachmentCard's own state; Card has no faded state (UIG-9, Katerina 17 September)
744
+ // @estiva-escape(no-restyled-part): a file that cannot be opened is faded, AttachmentCard's own state; Card has no faded state (UIG-9, Katerina 17 September)
745
745
  /* @__PURE__ */ jsxs6(Card, { fill: "inset", hover: address ? "hairline" : "none", className: cn("group flex items-center gap-2 w-[240px] p-1.5 pr-1", !address && "opacity-70", className), ...props, children: [
746
746
  address ? /* @__PURE__ */ jsx10(Link, { href: address, external: true, variant: "plain", className: "flex items-center gap-2 min-w-0 flex-1", onClick: (event) => event.stopPropagation(), children: body }) : /* @__PURE__ */ jsx10("div", { className: "flex items-center gap-2 min-w-0 flex-1", children: body }),
747
747
  downloadControl
@@ -876,7 +876,7 @@ function Button({
876
876
  size === "default" && (hasLeadingIcon ? "pl-2 pr-3" : "px-2"),
877
877
  size === "small" && (hasLeadingIcon ? "pl-1.5 pr-2" : "px-1.5"),
878
878
  !state.disabled && (variant === "primary" || variant === "resolve") && "bg-accent-primary hover:bg-accent-hover text-text-inverse cursor-pointer signal:font-semibold",
879
- // @estiva-escape: W2 (Katerina, 24 September: leave alone): an outlined button shares four words with Reaction's pill by coincidence
879
+ // @estiva-escape(no-copied-look): W2 (Katerina, 24 September: leave alone): an outlined button shares four words with Reaction's pill by coincidence
880
880
  !state.disabled && variant === "outlined" && "border border-border-default hover:bg-bg-hover text-text-primary cursor-pointer",
881
881
  !state.disabled && variant === "muted" && "hover:bg-bg-hover text-text-primary cursor-pointer",
882
882
  !state.disabled && variant === "destructive" && "hover:bg-error-muted text-error-default cursor-pointer",
@@ -1970,7 +1970,7 @@ function PersonTrigger({ name, picture, fallback, size, open = false, compact =
1970
1970
  );
1971
1971
  }
1972
1972
  return (
1973
- // @estiva-escape: N5 (Katerina, 24 September: record only): a row that fills on hover, as NavItem also does
1973
+ // @estiva-escape(no-copied-look): N5 (Katerina, 24 September: record only): a row that fills on hover, as NavItem also does
1974
1974
  /* @__PURE__ */ jsxs21(
1975
1975
  BaseButton5,
1976
1976
  {
@@ -2119,7 +2119,7 @@ function Select({ value, onChange, options, size = "default", ariaLabel, placeho
2119
2119
  const selected = options.find((o) => o.value === value);
2120
2120
  const held = Boolean(disabledReason);
2121
2121
  const trigger = (
2122
- // @estiva-escape: N1 (Katerina, 24 September: record only): Select's box drops the hover while held, so it cannot take FIELD_SHELL_CLASSES as it is
2122
+ // @estiva-escape(no-copied-look): N1 (Katerina, 24 September: record only): Select's box drops the hover while held, so it cannot take FIELD_SHELL_CLASSES as it is
2123
2123
  /* @__PURE__ */ jsxs23(
2124
2124
  BaseSelect.Trigger,
2125
2125
  {
@@ -2612,7 +2612,7 @@ function Breadcrumb({ items, className }) {
2612
2612
  import { jsx as jsx41, jsxs as jsxs28 } from "react/jsx-runtime";
2613
2613
  function NavItem({ label, href, count, countLabel, active = false, icon, className, ...props }) {
2614
2614
  return (
2615
- // @estiva-escape: N5 (Katerina, 24 September: record only): a row that fills on hover, as PersonTrigger's row also does
2615
+ // @estiva-escape(no-copied-look): N5 (Katerina, 24 September: record only): a row that fills on hover, as PersonTrigger's row also does
2616
2616
  /* @__PURE__ */ jsxs28(
2617
2617
  "a",
2618
2618
  {
@@ -2883,7 +2883,7 @@ import { Toggle } from "@base-ui/react/toggle";
2883
2883
  import { jsx as jsx50, jsxs as jsxs33 } from "react/jsx-runtime";
2884
2884
  function Reaction({ emoji, count, pressed = false, className, ...props }) {
2885
2885
  return (
2886
- // @estiva-escape: W1 (Katerina, 24 September: leave alone): a reaction pill shares four words with a field's box by coincidence
2886
+ // @estiva-escape(no-copied-look): W1 (Katerina, 24 September: leave alone): a reaction pill shares four words with a field's box by coincidence
2887
2887
  /* @__PURE__ */ jsxs33(
2888
2888
  Toggle,
2889
2889
  {
@@ -2999,10 +2999,36 @@ function SectionHeader({ title, chevron = false, isExpanded = true, onToggle, tr
2999
2999
  );
3000
3000
  }
3001
3001
 
3002
- // src/ListColumn.tsx
3002
+ // src/Panel.tsx
3003
3003
  import { jsx as jsx53, jsxs as jsxs36 } from "react/jsx-runtime";
3004
+ function Frame({ title, chevron = false, actions, children, footer, bodyClassName, bodyRef, onBodyScroll, className, broken = false }) {
3005
+ return /* @__PURE__ */ jsxs36("div", { className: cn("flex min-h-0 flex-1 flex-col", className), children: [
3006
+ /* @__PURE__ */ jsx53(ContainerHeader, { title, chevron, actions }),
3007
+ broken ? (
3008
+ // The message takes the room the body had and centres itself in it.
3009
+ /* @__PURE__ */ jsx53("div", { className: "flex min-h-0 flex-1 flex-col px-4", children })
3010
+ ) : /* @__PURE__ */ jsx53(ScrollArea, { className: "min-h-0 flex-1", contentClassName: bodyClassName, viewportRef: bodyRef, onScroll: onBodyScroll, children }),
3011
+ !broken && footer && /* @__PURE__ */ jsx53("div", { className: "shrink-0", children: footer })
3012
+ ] });
3013
+ }
3014
+ function Panel(props) {
3015
+ return /* @__PURE__ */ jsx53(
3016
+ ErrorBoundary,
3017
+ {
3018
+ label: "panel",
3019
+ frame: (message) => (
3020
+ // Only the name comes back with the message: the actions and the footer may be what threw.
3021
+ /* @__PURE__ */ jsx53(Frame, { title: props.title, chevron: props.chevron, className: props.className, broken: true, children: message })
3022
+ ),
3023
+ children: /* @__PURE__ */ jsx53(Frame, { ...props })
3024
+ }
3025
+ );
3026
+ }
3027
+
3028
+ // src/ListColumn.tsx
3029
+ import { jsx as jsx54, jsxs as jsxs37 } from "react/jsx-runtime";
3004
3030
  function Column({ title, chevron = false, actions, above, collapsed = false, children, className, broken = false }) {
3005
- return /* @__PURE__ */ jsxs36(
3031
+ return /* @__PURE__ */ jsxs37(
3006
3032
  "div",
3007
3033
  {
3008
3034
  className: cn(
@@ -3013,26 +3039,26 @@ function Column({ title, chevron = false, actions, above, collapsed = false, chi
3013
3039
  ),
3014
3040
  "data-collapsed": collapsed || void 0,
3015
3041
  children: [
3016
- /* @__PURE__ */ jsx53(ContainerHeader, { title, chevron, actions }),
3042
+ /* @__PURE__ */ jsx54(ContainerHeader, { title, chevron, actions }),
3017
3043
  above,
3018
3044
  broken ? (
3019
3045
  // The message takes the room the list had and centres itself in it (Katerina, 19 September).
3020
- /* @__PURE__ */ jsx53("div", { className: "flex min-h-0 flex-1 flex-col px-3", children })
3021
- ) : /* @__PURE__ */ jsx53(ScrollArea, { className: "flex-1", contentClassName: "flex flex-col gap-0.5 px-3 pt-4 pb-3", children })
3046
+ /* @__PURE__ */ jsx54("div", { className: "flex min-h-0 flex-1 flex-col px-3", children })
3047
+ ) : /* @__PURE__ */ jsx54(ScrollArea, { className: "flex-1", contentClassName: "flex flex-col gap-0.5 px-3 pt-4 pb-3", children })
3022
3048
  ]
3023
3049
  }
3024
3050
  );
3025
3051
  }
3026
3052
  function ListColumn(props) {
3027
- return /* @__PURE__ */ jsx53(
3053
+ return /* @__PURE__ */ jsx54(
3028
3054
  ErrorBoundary,
3029
3055
  {
3030
3056
  label: "list panel",
3031
3057
  frame: (message) => (
3032
3058
  // Only the name comes back with the message: the actions and the row above may be what threw.
3033
- /* @__PURE__ */ jsx53(Column, { title: props.title, chevron: props.chevron, collapsed: props.collapsed, className: props.className, broken: true, children: message })
3059
+ /* @__PURE__ */ jsx54(Column, { title: props.title, chevron: props.chevron, collapsed: props.collapsed, className: props.className, broken: true, children: message })
3034
3060
  ),
3035
- children: /* @__PURE__ */ jsx53(Column, { ...props })
3061
+ children: /* @__PURE__ */ jsx54(Column, { ...props })
3036
3062
  }
3037
3063
  );
3038
3064
  }
@@ -3040,7 +3066,7 @@ function ListColumn(props) {
3040
3066
  // src/CollapsibleSection.tsx
3041
3067
  import { useState as useState7 } from "react";
3042
3068
  import { Collapsible } from "@base-ui/react/collapsible";
3043
- import { jsx as jsx54, jsxs as jsxs37 } from "react/jsx-runtime";
3069
+ import { jsx as jsx55, jsxs as jsxs38 } from "react/jsx-runtime";
3044
3070
  var OPEN = "open";
3045
3071
  var CLOSED = "closed";
3046
3072
  function readStored(key) {
@@ -3067,14 +3093,14 @@ function CollapsibleSection({ title, defaultOpen = true, open: openProp, onOpenC
3067
3093
  writeStored(storageKey, next);
3068
3094
  onOpenChange?.(next);
3069
3095
  };
3070
- return /* @__PURE__ */ jsxs37(Collapsible.Root, { open, onOpenChange: setOpen, className: cn("flex flex-col", className), children: [
3071
- /* @__PURE__ */ jsx54(SectionHeader, { title, chevron: true, isExpanded: open, trailing, actions, showActions, className: "shrink-0", render: /* @__PURE__ */ jsx54(Collapsible.Trigger, {}) }),
3072
- /* @__PURE__ */ jsx54(
3096
+ return /* @__PURE__ */ jsxs38(Collapsible.Root, { open, onOpenChange: setOpen, className: cn("flex flex-col", className), children: [
3097
+ /* @__PURE__ */ jsx55(SectionHeader, { title, chevron: true, isExpanded: open, trailing, actions, showActions, className: "shrink-0", render: /* @__PURE__ */ jsx55(Collapsible.Trigger, {}) }),
3098
+ /* @__PURE__ */ jsx55(
3073
3099
  Collapsible.Panel,
3074
3100
  {
3075
3101
  hiddenUntilFound: true,
3076
3102
  className: "h-[var(--collapsible-panel-height)] overflow-hidden transition-[height] duration-150 ease-out motion-reduce:transition-none data-[starting-style]:h-0 data-[ending-style]:h-0",
3077
- children: /* @__PURE__ */ jsx54("div", { className: cn("flex flex-col", contentClassName), children })
3103
+ children: /* @__PURE__ */ jsx55("div", { className: cn("flex flex-col", contentClassName), children })
3078
3104
  }
3079
3105
  )
3080
3106
  ] });
@@ -3082,9 +3108,9 @@ function CollapsibleSection({ title, defaultOpen = true, open: openProp, onOpenC
3082
3108
 
3083
3109
  // src/Tabs.tsx
3084
3110
  import { Tabs as BaseTabs } from "@base-ui/react/tabs";
3085
- import { jsx as jsx55, jsxs as jsxs38 } from "react/jsx-runtime";
3111
+ import { jsx as jsx56, jsxs as jsxs39 } from "react/jsx-runtime";
3086
3112
  function Tabs({ tabs, active, onChange, size = "default", className, ...aria }) {
3087
- return /* @__PURE__ */ jsx55(
3113
+ return /* @__PURE__ */ jsx56(
3088
3114
  BaseTabs.Root,
3089
3115
  {
3090
3116
  value: active,
@@ -3092,14 +3118,14 @@ function Tabs({ tabs, active, onChange, size = "default", className, ...aria })
3092
3118
  if (details.reason === "none") onChange(value);
3093
3119
  },
3094
3120
  className,
3095
- children: /* @__PURE__ */ jsx55(
3121
+ children: /* @__PURE__ */ jsx56(
3096
3122
  BaseTabs.List,
3097
3123
  {
3098
3124
  activateOnFocus: true,
3099
3125
  "aria-label": aria["aria-label"],
3100
3126
  "aria-labelledby": aria["aria-labelledby"],
3101
3127
  className: "flex items-center gap-2",
3102
- children: tabs.map((tab) => /* @__PURE__ */ jsxs38(
3128
+ children: tabs.map((tab) => /* @__PURE__ */ jsxs39(
3103
3129
  BaseTabs.Tab,
3104
3130
  {
3105
3131
  value: tab.id,
@@ -3112,9 +3138,9 @@ function Tabs({ tabs, active, onChange, size = "default", className, ...aria })
3112
3138
  ),
3113
3139
  children: [
3114
3140
  tab.icon,
3115
- /* @__PURE__ */ jsxs38("span", { className: "flex items-baseline", children: [
3141
+ /* @__PURE__ */ jsxs39("span", { className: "flex items-baseline", children: [
3116
3142
  tab.label,
3117
- tab.count !== void 0 ? /* @__PURE__ */ jsx55("span", { className: "ml-2.5 font-mono text-caption tabular-nums text-text-secondary", children: tab.count }) : null
3143
+ tab.count !== void 0 ? /* @__PURE__ */ jsx56("span", { className: "ml-2.5 font-mono text-caption tabular-nums text-text-secondary", children: tab.count }) : null
3118
3144
  ] })
3119
3145
  ]
3120
3146
  },
@@ -3130,7 +3156,7 @@ function Tabs({ tabs, active, onChange, size = "default", className, ...aria })
3130
3156
  import { createContext as createContext5, useContext as useContext5, useMemo as useMemo4 } from "react";
3131
3157
  import { Toast as BaseToast } from "@base-ui/react/toast";
3132
3158
  import { IconAlertCircle as IconAlertCircle2, IconCircleCheck, IconCircleX } from "@tabler/icons-react";
3133
- import { jsx as jsx56, jsxs as jsxs39 } from "react/jsx-runtime";
3159
+ import { jsx as jsx57, jsxs as jsxs40 } from "react/jsx-runtime";
3134
3160
  var SURFACE_STYLES = {
3135
3161
  success: "bg-success-muted signal:bg-bg-inset signal:border signal:border-border-default signal:shadow-md",
3136
3162
  brand: "bg-accent-muted signal:bg-bg-inset signal:border signal:border-border-default signal:shadow-md",
@@ -3166,16 +3192,16 @@ var pillClassName = (type, hasAction, className) => cn(
3166
3192
  );
3167
3193
  function LeadingIcon({ type }) {
3168
3194
  const Icon = ICONS[type];
3169
- return /* @__PURE__ */ jsx56(Icon, { size: 16, stroke: 1.5, className: cn("text-text-primary shrink-0", ICON_STYLES[type]) });
3195
+ return /* @__PURE__ */ jsx57(Icon, { size: 16, stroke: 1.5, className: cn("text-text-primary shrink-0", ICON_STYLES[type]) });
3170
3196
  }
3171
3197
  function Toast({ label, type = "neutral", leadingIcon = true, actionLabel, onAction, className }) {
3172
3198
  const hasAction = !!(actionLabel && onAction);
3173
- return /* @__PURE__ */ jsxs39("div", { className: pillClassName(type, hasAction, className), children: [
3174
- /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-2 shrink-0", children: [
3175
- leadingIcon && /* @__PURE__ */ jsx56(LeadingIcon, { type }),
3176
- /* @__PURE__ */ jsx56("span", { className: LABEL_CLASSES, children: label })
3199
+ return /* @__PURE__ */ jsxs40("div", { className: pillClassName(type, hasAction, className), children: [
3200
+ /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-2 shrink-0", children: [
3201
+ leadingIcon && /* @__PURE__ */ jsx57(LeadingIcon, { type }),
3202
+ /* @__PURE__ */ jsx57("span", { className: LABEL_CLASSES, children: label })
3177
3203
  ] }),
3178
- hasAction && /* @__PURE__ */ jsx56(Button, { variant: "outlined", size: "small", onClick: onAction, children: actionLabel })
3204
+ hasAction && /* @__PURE__ */ jsx57(Button, { variant: "outlined", size: "small", onClick: onAction, children: actionLabel })
3179
3205
  ] });
3180
3206
  }
3181
3207
  var ToastContext = createContext5(null);
@@ -3196,9 +3222,9 @@ function ToastProvider({ children }) {
3196
3222
  }),
3197
3223
  [manager]
3198
3224
  );
3199
- return /* @__PURE__ */ jsx56(ToastContext.Provider, { value, children: /* @__PURE__ */ jsxs39(BaseToast.Provider, { toastManager: manager, limit: VISIBLE_TOASTS, children: [
3225
+ return /* @__PURE__ */ jsx57(ToastContext.Provider, { value, children: /* @__PURE__ */ jsxs40(BaseToast.Provider, { toastManager: manager, limit: VISIBLE_TOASTS, children: [
3200
3226
  children,
3201
- /* @__PURE__ */ jsx56(BaseToast.Portal, { children: /* @__PURE__ */ jsx56(BaseToast.Viewport, { className: "fixed bottom-4 left-4 z-[100] flex flex-col-reverse items-start gap-2 pointer-events-none", children: /* @__PURE__ */ jsx56(ToastList, {}) }) })
3227
+ /* @__PURE__ */ jsx57(BaseToast.Portal, { children: /* @__PURE__ */ jsx57(BaseToast.Viewport, { className: "fixed bottom-4 left-4 z-[100] flex flex-col-reverse items-start gap-2 pointer-events-none", children: /* @__PURE__ */ jsx57(ToastList, {}) }) })
3202
3228
  ] }) });
3203
3229
  }
3204
3230
  function ToastList() {
@@ -3206,25 +3232,25 @@ function ToastList() {
3206
3232
  return toasts.map((toast) => {
3207
3233
  const type = toast.type ?? "neutral";
3208
3234
  const { leadingIcon = true, actionLabel, onAction } = toast.data ?? {};
3209
- return /* @__PURE__ */ jsxs39(
3235
+ return /* @__PURE__ */ jsxs40(
3210
3236
  BaseToast.Root,
3211
3237
  {
3212
3238
  toast,
3213
3239
  swipeDirection: ["left", "down"],
3214
3240
  className: pillClassName(type, !!actionLabel, "pointer-events-auto data-[limited]:hidden"),
3215
3241
  children: [
3216
- /* @__PURE__ */ jsxs39("div", { className: "flex items-center gap-2 shrink-0", children: [
3217
- leadingIcon && /* @__PURE__ */ jsx56(LeadingIcon, { type }),
3218
- /* @__PURE__ */ jsx56(BaseToast.Title, { render: /* @__PURE__ */ jsx56("span", {}), className: LABEL_CLASSES })
3242
+ /* @__PURE__ */ jsxs40("div", { className: "flex items-center gap-2 shrink-0", children: [
3243
+ leadingIcon && /* @__PURE__ */ jsx57(LeadingIcon, { type }),
3244
+ /* @__PURE__ */ jsx57(BaseToast.Title, { render: /* @__PURE__ */ jsx57("span", {}), className: LABEL_CLASSES })
3219
3245
  ] }),
3220
- actionLabel && /* @__PURE__ */ jsx56(
3246
+ actionLabel && /* @__PURE__ */ jsx57(
3221
3247
  BaseToast.Action,
3222
3248
  {
3223
3249
  onClick: () => {
3224
3250
  onAction?.();
3225
3251
  close(toast.id);
3226
3252
  },
3227
- render: /* @__PURE__ */ jsx56(Button, { variant: "outlined", size: "small", children: actionLabel })
3253
+ render: /* @__PURE__ */ jsx57(Button, { variant: "outlined", size: "small", children: actionLabel })
3228
3254
  }
3229
3255
  )
3230
3256
  ]
@@ -3288,6 +3314,7 @@ export {
3288
3314
  MenuSeparator,
3289
3315
  MenuSub,
3290
3316
  NavItem,
3317
+ Panel,
3291
3318
  Person,
3292
3319
  PersonTrigger,
3293
3320
  Popover,