impact-nova 2.6.3 → 3.0.0-alpha.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 (254) hide show
  1. package/dist/components/data/ag-grid-react/ag-grid-cell-components.d.ts +9 -0
  2. package/dist/components/data/ag-grid-react/ag-grid-list.d.ts +16 -0
  3. package/dist/components/data/ag-grid-react/ag-grid-list.js +23 -0
  4. package/dist/components/data/ag-grid-react/ag-grid.types.d.ts +7 -0
  5. package/dist/components/data/ag-grid-react/cell-renderers/editors/list-select-cell-editor.d.ts +14 -0
  6. package/dist/components/data/ag-grid-react/cell-renderers/editors/list-select-cell-editor.js +70 -0
  7. package/dist/components/data/ag-grid-react/cell-renderers/editors/select-cell-editor.d.ts +10 -5
  8. package/dist/components/data/ag-grid-react/cell-renderers/editors/select-cell-editor.js +73 -41
  9. package/dist/components/data/ag-grid-react/cell-renderers/index.d.ts +7 -0
  10. package/dist/components/data/ag-grid-react/cell-renderers/index.js +42 -36
  11. package/dist/components/data/ag-grid-react/cell-renderers/list-select-display-renderer.d.ts +19 -0
  12. package/dist/components/data/ag-grid-react/cell-renderers/list-select-display-renderer.js +89 -0
  13. package/dist/components/data/ag-grid-react/cell-renderers/select-ai-insight-affordance.d.ts +28 -0
  14. package/dist/components/data/ag-grid-react/cell-renderers/select-ai-insight-affordance.js +96 -0
  15. package/dist/components/data/ag-grid-react/cell-renderers/select-display-renderer.d.ts +30 -10
  16. package/dist/components/data/ag-grid-react/cell-renderers/select-display-renderer.js +72 -24
  17. package/dist/components/data/ag-grid-react/cell-renderers/style-description-display-renderer.d.ts +42 -0
  18. package/dist/components/data/ag-grid-react/cell-renderers/style-description-display-renderer.js +86 -0
  19. package/dist/components/data/ag-grid-react/index.d.ts +1 -1
  20. package/dist/components/data/ag-grid-react/index.js +162 -146
  21. package/dist/components/data/data-table/data-table.js +85 -82
  22. package/dist/components/data/data-table/data-table.types.d.ts +5 -0
  23. package/dist/components/data/expandable-list-item/expandable-list-item-attributes.js +2 -3
  24. package/dist/components/data/expandable-list-item/expandable-list-item-metrics.js +2 -3
  25. package/dist/components/data/expandable-list-item/sku-next-page-coordinator.d.ts +14 -0
  26. package/dist/components/data/expandable-list-item/sku-strip-lookahead.d.ts +26 -0
  27. package/dist/components/data/expandable-list-item/useServerSkuInfinitePages.d.ts +10 -0
  28. package/dist/components/data/expandable-list-item/useSkuStripVirtualizer.d.ts +30 -0
  29. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.catalog.d.ts +81 -0
  30. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.item-grid.d.ts +1 -0
  31. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.product-card.d.ts +7 -0
  32. package/dist/components/data/expandable-list-item/virtualized-responsive-grid.sku-picker.d.ts +2 -0
  33. package/dist/components/data-display/chart/chart-heatmap-demos.d.ts +3 -0
  34. package/dist/components/data-display/chart/chart-heatmap-play.d.ts +9 -0
  35. package/dist/components/data-display/chart/chart.category-cluster-heatmap.stories-data.d.ts +22 -0
  36. package/dist/components/data-display/chart/chart.diverging-heatmap.stories-data.d.ts +43 -0
  37. package/dist/components/data-display/chart/chart.js +100 -93
  38. package/dist/components/data-display/chart/chart.types.d.ts +10 -0
  39. package/dist/components/data-display/chart/chart.utils.d.ts +14 -2
  40. package/dist/components/data-display/chart/chart.utils.js +132 -35
  41. package/dist/components/data-display/chart/index.js +15 -13
  42. package/dist/components/data-display/chart/resolve-highcharts-options.js +19 -14
  43. package/dist/components/data-display/globe-map/globe-map.d.ts +8 -0
  44. package/dist/components/data-display/globe-map/globe-map.js +161 -0
  45. package/dist/components/data-display/globe-map/globe-map.stories-data.d.ts +12 -0
  46. package/dist/components/data-display/globe-map/globe-map.types.d.ts +83 -0
  47. package/dist/components/data-display/globe-map/globe-map.utils.d.ts +115 -0
  48. package/dist/components/data-display/globe-map/globe-map.utils.js +259 -0
  49. package/dist/components/data-display/globe-map/globe-map.variants.d.ts +19 -0
  50. package/dist/components/data-display/globe-map/globe-map.variants.js +80 -0
  51. package/dist/components/data-display/globe-map/index.d.ts +2 -0
  52. package/dist/components/data-display/globe-map/index.js +10 -0
  53. package/dist/components/data-display/globe-map/internals/globe-countries-110m.json.d.ts +4 -0
  54. package/dist/components/data-display/globe-map/internals/globe-countries-110m.json.js +7 -0
  55. package/dist/components/data-display/globe-map/internals/globe-map-context.d.ts +25 -0
  56. package/dist/components/data-display/globe-map/internals/globe-map-context.js +19 -0
  57. package/dist/components/data-display/globe-map/internals/globe-map-legend.d.ts +2 -0
  58. package/dist/components/data-display/globe-map/internals/globe-map-legend.js +51 -0
  59. package/dist/components/data-display/globe-map/internals/globe-map-point-card-carousel.d.ts +6 -0
  60. package/dist/components/data-display/globe-map/internals/globe-map-point-card-carousel.js +119 -0
  61. package/dist/components/data-display/globe-map/internals/globe-map-point-card.d.ts +2 -0
  62. package/dist/components/data-display/globe-map/internals/globe-map-point-card.js +106 -0
  63. package/dist/components/data-display/globe-map/internals/globe-map-scene.d.ts +17 -0
  64. package/dist/components/data-display/globe-map/internals/globe-map-scene.js +218 -0
  65. package/dist/components/data-display/globe-map/internals/globe-map-tooltip.d.ts +2 -0
  66. package/dist/components/data-display/globe-map/internals/globe-map-tooltip.js +33 -0
  67. package/dist/components/data-display/globe-map/internals/use-globe-map-scene.d.ts +45 -0
  68. package/dist/components/data-display/globe-map/internals/use-globe-map-scene.js +270 -0
  69. package/dist/components/data-display/hex-tilemap/hex-tilemap.d.ts +9 -0
  70. package/dist/components/data-display/hex-tilemap/hex-tilemap.js +94 -0
  71. package/dist/components/data-display/hex-tilemap/hex-tilemap.stories-data.d.ts +7 -0
  72. package/dist/components/data-display/hex-tilemap/hex-tilemap.types.d.ts +43 -0
  73. package/dist/components/data-display/hex-tilemap/hex-tilemap.variants.d.ts +11 -0
  74. package/dist/components/data-display/hex-tilemap/hex-tilemap.variants.js +47 -0
  75. package/dist/components/data-display/hex-tilemap/index.d.ts +2 -0
  76. package/dist/components/data-display/hex-tilemap/index.js +12 -0
  77. package/dist/components/data-display/hex-tilemap/internals/hex-camera.d.ts +40 -0
  78. package/dist/components/data-display/hex-tilemap/internals/hex-camera.js +103 -0
  79. package/dist/components/data-display/hex-tilemap/internals/hex-country-lattices.d.ts +9 -0
  80. package/dist/components/data-display/hex-tilemap/internals/hex-country-lattices.js +1387 -0
  81. package/dist/components/data-display/hex-tilemap/internals/hex-geometry.d.ts +21 -0
  82. package/dist/components/data-display/hex-tilemap/internals/hex-geometry.js +82 -0
  83. package/dist/components/data-display/hex-tilemap/internals/hex-lattice.d.ts +18 -0
  84. package/dist/components/data-display/hex-tilemap/internals/hex-lattice.js +47 -0
  85. package/dist/components/data-display/hex-tilemap/internals/hex-layout.d.ts +10 -0
  86. package/dist/components/data-display/hex-tilemap/internals/hex-layout.js +35 -0
  87. package/dist/components/data-display/hex-tilemap/internals/hex-new-zealand-grid.d.ts +31 -0
  88. package/dist/components/data-display/hex-tilemap/internals/hex-new-zealand-grid.js +138 -0
  89. package/dist/components/data-display/hex-tilemap/internals/hex-regions.d.ts +6 -0
  90. package/dist/components/data-display/hex-tilemap/internals/hex-regions.js +18 -0
  91. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-context.d.ts +24 -0
  92. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-context.js +19 -0
  93. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-legend.d.ts +2 -0
  94. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-legend.js +51 -0
  95. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-tooltip.d.ts +2 -0
  96. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-tooltip.js +36 -0
  97. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-viewport.d.ts +3 -0
  98. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-viewport.js +147 -0
  99. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-zoom.d.ts +13 -0
  100. package/dist/components/data-display/hex-tilemap/internals/hex-tilemap-zoom.js +99 -0
  101. package/dist/components/data-display/hex-tilemap/internals/hex-world-grid.d.ts +8 -0
  102. package/dist/components/data-display/hex-tilemap/internals/use-hex-camera.d.ts +27 -0
  103. package/dist/components/data-display/hex-tilemap/internals/use-hex-camera.js +137 -0
  104. package/dist/components/data-display/notch-card/index.d.ts +2 -0
  105. package/dist/components/data-display/notch-card/index.js +6 -0
  106. package/dist/components/data-display/notch-card/notch-card.d.ts +7 -0
  107. package/dist/components/data-display/notch-card/notch-card.js +151 -0
  108. package/dist/components/data-display/notch-card/notch-card.path.d.ts +19 -0
  109. package/dist/components/data-display/notch-card/notch-card.path.js +118 -0
  110. package/dist/components/data-display/notch-card/notch-card.types.d.ts +15 -0
  111. package/dist/components/data-display/notch-card/notch-card.variants.d.ts +15 -0
  112. package/dist/components/data-display/notch-card/notch-card.variants.js +86 -0
  113. package/dist/components/feedback/hover-card/hover-card.d.ts +3 -1
  114. package/dist/components/feedback/hover-card/hover-card.js +28 -24
  115. package/dist/components/feedback/tooltip/overflow-tooltip.d.ts +1 -1
  116. package/dist/components/feedback/tooltip/overflow-tooltip.js +63 -57
  117. package/dist/components/feedback/tooltip/overflow-tooltip.types.d.ts +4 -0
  118. package/dist/components/feedback/tooltip/tab-tooltip-render.js +2 -3
  119. package/dist/components/flows/command-palette/shortcut-settings.js +10 -10
  120. package/dist/components/flows/filter-panel/filter-panel.js +4 -4
  121. package/dist/components/flows/filter-strip/index.d.ts +1 -0
  122. package/dist/components/flows/filter-strip/index.js +4 -2
  123. package/dist/components/flows/iris-chat/index.d.ts +10 -0
  124. package/dist/components/flows/iris-chat/index.js +55 -0
  125. package/dist/components/flows/iris-chat/iris-chat-artifact.d.ts +4 -0
  126. package/dist/components/flows/iris-chat/iris-chat-artifact.js +125 -0
  127. package/dist/components/flows/iris-chat/iris-chat-composer.d.ts +3 -0
  128. package/dist/components/flows/iris-chat/iris-chat-composer.js +297 -0
  129. package/dist/components/flows/iris-chat/iris-chat-context.d.ts +14 -0
  130. package/dist/components/flows/iris-chat/iris-chat-context.js +23 -0
  131. package/dist/components/flows/iris-chat/iris-chat-icons.d.ts +18 -0
  132. package/dist/components/flows/iris-chat/iris-chat-icons.js +176 -0
  133. package/dist/components/flows/iris-chat/iris-chat-markdown.d.ts +3 -0
  134. package/dist/components/flows/iris-chat/iris-chat-markdown.js +62 -0
  135. package/dist/components/flows/iris-chat/iris-chat-menu.d.ts +15 -0
  136. package/dist/components/flows/iris-chat/iris-chat-menu.js +259 -0
  137. package/dist/components/flows/iris-chat/iris-chat-prompt.d.ts +3 -0
  138. package/dist/components/flows/iris-chat/iris-chat-prompt.js +46 -0
  139. package/dist/components/flows/iris-chat/iris-chat-thinking.d.ts +12 -0
  140. package/dist/components/flows/iris-chat/iris-chat-thinking.js +202 -0
  141. package/dist/components/flows/iris-chat/iris-chat-thread.d.ts +37 -0
  142. package/dist/components/flows/iris-chat/iris-chat-thread.js +493 -0
  143. package/dist/components/flows/iris-chat/iris-chat.d.ts +43 -0
  144. package/dist/components/flows/iris-chat/iris-chat.js +336 -0
  145. package/dist/components/flows/iris-chat/iris-chat.types.d.ts +208 -0
  146. package/dist/components/flows/iris-chat/iris-chat.variants.d.ts +14 -0
  147. package/dist/components/flows/iris-chat/iris-chat.variants.js +78 -0
  148. package/dist/components/flows/iris-chat/read-iris-greeting-period.d.ts +4 -0
  149. package/dist/components/flows/iris-chat/read-iris-greeting-period.js +16 -0
  150. package/dist/components/flows/wizard/index.d.ts +2 -2
  151. package/dist/components/flows/wizard/index.js +17 -13
  152. package/dist/components/flows/wizard/wizard-context.d.ts +6 -1
  153. package/dist/components/flows/wizard/wizard-context.js +15 -7
  154. package/dist/components/flows/wizard/wizard.d.ts +22 -4
  155. package/dist/components/flows/wizard/wizard.js +278 -174
  156. package/dist/components/flows/wizard/wizard.types.d.ts +40 -0
  157. package/dist/components/forms/choice-card/assets/featured-backdrop-baked.webp.js +4 -0
  158. package/dist/components/forms/choice-card/assets/featured-noise.webp.js +4 -0
  159. package/dist/components/forms/choice-card/choice-card-featured-arcs.d.ts +4 -0
  160. package/dist/components/forms/choice-card/choice-card-featured-arcs.js +42 -0
  161. package/dist/components/forms/choice-card/choice-card-featured-backdrop.d.ts +4 -0
  162. package/dist/components/forms/choice-card/choice-card-featured-backdrop.js +45 -0
  163. package/dist/components/forms/choice-card/choice-card-indicator.variants.d.ts +8 -0
  164. package/dist/components/forms/choice-card/choice-card-indicator.variants.js +5 -0
  165. package/dist/components/forms/choice-card/choice-card-percent.d.ts +11 -0
  166. package/dist/components/forms/choice-card/choice-card-percent.js +80 -0
  167. package/dist/components/forms/choice-card/choice-card.d.ts +40 -3
  168. package/dist/components/forms/choice-card/choice-card.js +651 -170
  169. package/dist/components/forms/choice-card/choice-card.types.d.ts +40 -0
  170. package/dist/components/forms/choice-card/choice-card.variants.d.ts +7 -0
  171. package/dist/components/forms/choice-card/choice-card.variants.js +100 -0
  172. package/dist/components/forms/choice-card/index.d.ts +2 -1
  173. package/dist/components/forms/choice-card/index.js +27 -10
  174. package/dist/components/forms/select/components/SelectTriggerValue.js +2 -3
  175. package/dist/components/forms/select/components/Submenu.js +2 -3
  176. package/dist/components/layout/header/header.d.ts +3 -2
  177. package/dist/components/layout/header/header.js +67 -47
  178. package/dist/components/layout/header/header.types.d.ts +1 -0
  179. package/dist/components/primitives/iris/iris-agent-cursor.d.ts +3 -0
  180. package/dist/components/primitives/iris/iris-agent-cursor.js +89 -0
  181. package/dist/components/primitives/iris/iris-alan-gradient-icon.d.ts +5 -0
  182. package/dist/components/primitives/iris/iris-alan-gradient-icon.js +69 -0
  183. package/dist/components/primitives/iris/iris-control-context.d.ts +15 -0
  184. package/dist/components/primitives/iris/iris-control-context.js +44 -0
  185. package/dist/components/primitives/iris/iris-control-region.d.ts +10 -0
  186. package/dist/components/primitives/iris/iris-control-region.js +102 -0
  187. package/dist/components/primitives/iris/iris-control.types.d.ts +24 -0
  188. package/dist/components/primitives/iris/iris-control.variants.d.ts +4 -0
  189. package/dist/components/primitives/iris/iris-control.variants.js +20 -0
  190. package/dist/components/primitives/iris/iris.d.ts +24 -0
  191. package/dist/components/primitives/iris/iris.js +232 -0
  192. package/dist/components/primitives/iris/iris.types.d.ts +35 -0
  193. package/dist/components/primitives/iris/iris.variants.d.ts +30 -0
  194. package/dist/components/primitives/iris/iris.variants.js +120 -0
  195. package/dist/components/primitives/stepper/internals/pipeline-current-mark.d.ts +6 -0
  196. package/dist/components/primitives/stepper/internals/pipeline-current-mark.js +35 -0
  197. package/dist/components/primitives/stepper/internals/rail-status-dot.d.ts +13 -0
  198. package/dist/components/primitives/stepper/internals/rail-status-dot.js +70 -0
  199. package/dist/components/primitives/stepper/internals/step-hit-target.d.ts +15 -0
  200. package/dist/components/primitives/stepper/internals/step-hit-target.js +51 -0
  201. package/dist/components/primitives/stepper/internals/step-model.d.ts +3 -0
  202. package/dist/components/primitives/stepper/internals/step-model.js +10 -0
  203. package/dist/components/primitives/stepper/internals/stepper-compact.d.ts +5 -0
  204. package/dist/components/primitives/stepper/internals/stepper-compact.js +68 -0
  205. package/dist/components/primitives/stepper/internals/stepper-pipeline.d.ts +7 -0
  206. package/dist/components/primitives/stepper/internals/stepper-pipeline.js +87 -0
  207. package/dist/components/primitives/stepper/internals/stepper-rail.d.ts +5 -0
  208. package/dist/components/primitives/stepper/internals/stepper-rail.js +105 -0
  209. package/dist/components/primitives/stepper/internals/stepper-summary.d.ts +5 -0
  210. package/dist/components/primitives/stepper/internals/stepper-summary.js +103 -0
  211. package/dist/components/primitives/stepper/internals/stepper-track.d.ts +8 -0
  212. package/dist/components/primitives/stepper/internals/stepper-track.js +170 -0
  213. package/dist/components/primitives/stepper/stepper.d.ts +1 -0
  214. package/dist/components/primitives/stepper/stepper.js +134 -52
  215. package/dist/components/primitives/stepper/stepper.types.d.ts +17 -0
  216. package/dist/components/primitives/stepper/stepper.variants.d.ts +26 -0
  217. package/dist/components/primitives/stepper/stepper.variants.js +165 -5
  218. package/dist/components/primitives/tabs/tabs.d.ts +4 -1
  219. package/dist/components/primitives/tabs/tabs.js +131 -59
  220. package/dist/components/primitives/tabs/tabs.types.d.ts +5 -1
  221. package/dist/i18n/defaultMessages.d.ts +100 -0
  222. package/dist/i18n/defaultMessages.js +118 -21
  223. package/dist/i18n/index.d.ts +1 -1
  224. package/dist/i18n/locales/de.js +99 -2
  225. package/dist/i18n/locales/es.js +99 -2
  226. package/dist/i18n/locales/hi.js +99 -2
  227. package/dist/i18n/locales/kn.js +99 -2
  228. package/dist/impact-nova-components.css +972 -2
  229. package/dist/impact-nova-tokens.scss +109 -1
  230. package/dist/impact-nova.css +1 -1
  231. package/dist/index.d.ts +1 -1
  232. package/dist/index.js +585 -551
  233. package/dist/lib/virtualized/directional-range-extractor.d.ts +26 -0
  234. package/dist/lib/virtualized/directional-range-extractor.js +39 -0
  235. package/dist/lib/virtualized/index.d.ts +3 -0
  236. package/dist/lib/virtualized/index.js +35 -27
  237. package/dist/lib/virtualized/scroll-seek.d.ts +61 -0
  238. package/dist/lib/virtualized/scroll-seek.js +61 -0
  239. package/dist/lib/virtualized/usePaintedRangeVirtualizer.d.ts +19 -0
  240. package/dist/lib/virtualized/usePaintedRangeVirtualizer.js +30 -0
  241. package/dist/lib/virtualized/useResponsiveColumnCount.d.ts +35 -0
  242. package/dist/lib/virtualized/useResponsiveColumnCount.js +51 -0
  243. package/dist/lib/virtualized/useScrollSeekPaintedRange.d.ts +13 -0
  244. package/dist/lib/virtualized/useScrollSeekPaintedRange.js +45 -0
  245. package/dist/lib/virtualized/useVirtualizedList.d.ts +7 -0
  246. package/dist/lib/virtualized/useVirtualizedList.js +89 -87
  247. package/dist/lib/virtualized/useVirtualizedRows.d.ts +9 -2
  248. package/dist/lib/virtualized/useVirtualizedRows.js +15 -13
  249. package/dist/lib/virtualized/virtualized.types.d.ts +2 -0
  250. package/dist/llms/rules/installation.js +1 -1
  251. package/dist/llms/rules/requirements.js +1 -1
  252. package/dist/tailwind.config.js +3 -1
  253. package/dist/theme/tailwind-colors.js +2 -1
  254. package/package.json +39 -4
@@ -20,12 +20,52 @@ export type ChoiceCardGroupMultipleProps = ChoiceCardGroupBaseProps & {
20
20
  onValueChange?: (value: string[]) => void;
21
21
  };
22
22
  export type ChoiceCardGroupProps = ChoiceCardGroupSingleProps | ChoiceCardGroupMultipleProps;
23
+ export type ChoiceCardVariant = "default" | "featured" | "compare";
23
24
  export interface ChoiceCardProps extends React.HTMLAttributes<HTMLDivElement> {
24
25
  value: string;
25
26
  disabled?: boolean;
27
+ size?: "sm" | "md";
28
+ variant?: ChoiceCardVariant;
26
29
  }
30
+ export type ChoiceCardRibbonProps = React.HTMLAttributes<HTMLDivElement> & {
31
+ children?: React.ReactNode;
32
+ };
33
+ export type ChoiceCardFooterProps = React.HTMLAttributes<HTMLDivElement>;
34
+ export type ChoiceCardBackgroundProps = React.HTMLAttributes<HTMLDivElement>;
27
35
  export type ChoiceCardContentProps = React.HTMLAttributes<HTMLDivElement>;
28
36
  export interface ChoiceCardHeaderProps extends React.HTMLAttributes<HTMLDivElement> {
29
37
  children?: React.ReactNode;
30
38
  }
39
+ export type ChoiceCardStatusPlacement = "start" | "center";
40
+ export type ChoiceCardStatusProps = React.HTMLAttributes<HTMLDivElement> & {
41
+ asChild?: boolean;
42
+ placement?: ChoiceCardStatusPlacement;
43
+ icon?: React.ReactNode;
44
+ };
45
+ export type ChoiceCardIndexProps = React.HTMLAttributes<HTMLSpanElement>;
46
+ export type ChoiceCardStatsProps = React.HTMLAttributes<HTMLDivElement>;
47
+ export type ChoiceCardStatProps = React.HTMLAttributes<HTMLDivElement> & {
48
+ value: React.ReactNode;
49
+ label: React.ReactNode;
50
+ };
51
+ export type ChoiceCardPercentProps = React.HTMLAttributes<HTMLDivElement> & {
52
+ value: number;
53
+ onValueChange?: (value: number) => void;
54
+ min?: number;
55
+ max?: number;
56
+ step?: number;
57
+ suffix?: string;
58
+ increaseLabel?: string;
59
+ decreaseLabel?: string;
60
+ disabled?: boolean;
61
+ };
62
+ export type ChoiceCardCompareFit = "scroll" | "auto";
63
+ export type ChoiceCardCompareProps = React.HTMLAttributes<HTMLDivElement> & {
64
+ /** `scroll` keeps Figma 411px tiles. `auto` caps tiles at 420px and shrinks them to the row. */
65
+ fit?: ChoiceCardCompareFit;
66
+ };
67
+ export type ChoiceCardCompareLabelsProps = React.HTMLAttributes<HTMLDivElement>;
68
+ export type ChoiceCardCompareLabelProps = React.HTMLAttributes<HTMLDivElement>;
69
+ export type ChoiceCardCompareLeadProps = React.HTMLAttributes<HTMLDivElement>;
70
+ export type ChoiceCardCompareRowProps = React.HTMLAttributes<HTMLDivElement>;
31
71
  export {};
@@ -0,0 +1,7 @@
1
+ export declare const choiceCardVariants: (props?: ({
2
+ variant?: "default" | "compare" | "featured" | null | undefined;
3
+ size?: "sm" | "md" | null | undefined;
4
+ selected?: boolean | null | undefined;
5
+ mode?: "single" | "multiple" | null | undefined;
6
+ disabled?: boolean | null | undefined;
7
+ } & import('class-variance-authority/types').ClassProp) | undefined) => string;
@@ -0,0 +1,100 @@
1
+ import { cva as e } from "class-variance-authority";
2
+ const r = "border-stroke-subtle p-3 hover:border-brand", a = "border-brand border-l-[3px] border-l-brand bg-brand-tint py-3 pr-3 pl-2.5 shadow-elevation-header", s = e(
3
+ [
4
+ "group relative cursor-pointer select-none transition-[border-color,background-color,box-shadow] duration-150",
5
+ "has-[[data-slot=choice-card-control]:focus-visible]:outline-none has-[[data-slot=choice-card-control]:focus-visible]:ring-1 has-[[data-slot=choice-card-control]:focus-visible]:ring-focus-ring"
6
+ ],
7
+ {
8
+ variants: {
9
+ variant: {
10
+ default: "flex flex-row items-start justify-between gap-2 overflow-hidden rounded-xl border border-solid bg-canvas-elevated",
11
+ featured: "flex h-[116px] w-[215px] shrink-0 flex-col overflow-hidden rounded-2xl border border-solid bg-canvas-elevated p-0",
12
+ compare: "flex flex-col items-stretch gap-4 overflow-visible rounded-xl border border-solid p-3"
13
+ },
14
+ size: {
15
+ md: "",
16
+ sm: ""
17
+ },
18
+ selected: {
19
+ true: "",
20
+ false: ""
21
+ },
22
+ mode: {
23
+ single: "",
24
+ multiple: ""
25
+ },
26
+ disabled: {
27
+ true: "cursor-not-allowed",
28
+ false: ""
29
+ }
30
+ },
31
+ compoundVariants: [
32
+ {
33
+ variant: "default",
34
+ size: "sm",
35
+ class: "rounded-lg"
36
+ },
37
+ {
38
+ variant: "default",
39
+ selected: !1,
40
+ disabled: !1,
41
+ class: r
42
+ },
43
+ {
44
+ variant: "default",
45
+ selected: !0,
46
+ disabled: !1,
47
+ class: a
48
+ },
49
+ {
50
+ variant: "default",
51
+ disabled: !0,
52
+ class: "border-stroke-subtle bg-canvas-muted p-3"
53
+ },
54
+ {
55
+ variant: "featured",
56
+ selected: !1,
57
+ disabled: !1,
58
+ class: "border border-black/5 border-b-[3px] border-b-black/5 hover:border-brand hover:border-b-[1px] hover:border-b-brand"
59
+ },
60
+ {
61
+ variant: "featured",
62
+ selected: !0,
63
+ disabled: !1,
64
+ class: "border border-brand border-b-[3px] border-b-brand"
65
+ },
66
+ {
67
+ variant: "featured",
68
+ disabled: !0,
69
+ class: "border border-stroke-subtle border-b-[3px] border-b-stroke-subtle bg-canvas-muted"
70
+ },
71
+ {
72
+ variant: "compare",
73
+ selected: !1,
74
+ disabled: !1,
75
+ class: "border-stroke-subtle bg-gradient-to-b from-canvas-elevated to-canvas-muted"
76
+ },
77
+ {
78
+ variant: "compare",
79
+ selected: !0,
80
+ disabled: !1,
81
+ class: "border-success bg-gradient-to-b from-canvas-elevated to-feedback-success-surface shadow-elevation-floating"
82
+ },
83
+ {
84
+ variant: "compare",
85
+ disabled: !0,
86
+ class: "border-stroke-subtle bg-canvas-muted"
87
+ }
88
+ ],
89
+ defaultVariants: {
90
+ variant: "default",
91
+ size: "md",
92
+ selected: !1,
93
+ mode: "single",
94
+ disabled: !1
95
+ }
96
+ }
97
+ );
98
+ export {
99
+ s as choiceCardVariants
100
+ };
@@ -1 +1,2 @@
1
- export { ChoiceCardGroup, ChoiceCard, ChoiceCardIndicator, ChoiceCardContent, ChoiceCardMedia, ChoiceCardTitle, ChoiceCardHeader, ChoiceCardDescription, useChoiceCardGroup, type ChoiceCardGroupProps, type ChoiceCardGroupSingleProps, type ChoiceCardGroupMultipleProps, type ChoiceCardProps, type ChoiceCardContentProps, type ChoiceCardHeaderProps, } from './choice-card';
1
+ export { ChoiceCardFeaturedBackdrop } from './choice-card-featured-backdrop';
2
+ export { ChoiceCardGroup, ChoiceCard, ChoiceCardIndicator, ChoiceCardBackground, ChoiceCardRibbon, ChoiceCardFooter, ChoiceCardContent, ChoiceCardMedia, ChoiceCardTitle, ChoiceCardHeader, ChoiceCardDescription, ChoiceCardStatus, ChoiceCardIndex, ChoiceCardStats, ChoiceCardStat, ChoiceCardCompare, ChoiceCardCompareLabels, ChoiceCardCompareLabel, ChoiceCardCompareLead, ChoiceCardCompareRow, ChoiceCardPercent, useChoiceCardGroup, useChoiceCardItem, type ChoiceCardGroupProps, type ChoiceCardGroupSingleProps, type ChoiceCardGroupMultipleProps, type ChoiceCardProps, type ChoiceCardContentProps, type ChoiceCardHeaderProps, type ChoiceCardRibbonProps, type ChoiceCardFooterProps, type ChoiceCardBackgroundProps, type ChoiceCardStatusProps, type ChoiceCardIndexProps, type ChoiceCardStatsProps, type ChoiceCardStatProps, type ChoiceCardCompareProps, type ChoiceCardCompareFit, type ChoiceCardCompareLabelsProps, type ChoiceCardCompareLabelProps, type ChoiceCardCompareLeadProps, type ChoiceCardCompareRowProps, type ChoiceCardPercentProps, type ChoiceCardVariant, } from './choice-card';
@@ -1,12 +1,29 @@
1
- import { ChoiceCard as o, ChoiceCardContent as r, ChoiceCardDescription as i, ChoiceCardGroup as a, ChoiceCardHeader as d, ChoiceCardIndicator as c, ChoiceCardMedia as h, ChoiceCardTitle as t, useChoiceCardGroup as n } from "./choice-card.js";
1
+ import { ChoiceCardFeaturedBackdrop as o } from "./choice-card-featured-backdrop.js";
2
+ import { ChoiceCard as a, ChoiceCardBackground as d, ChoiceCardCompare as i, ChoiceCardCompareLabel as c, ChoiceCardCompareLabels as h, ChoiceCardCompareLead as t, ChoiceCardCompareRow as p, ChoiceCardContent as m, ChoiceCardDescription as n, ChoiceCardFooter as u, ChoiceCardGroup as s, ChoiceCardHeader as b, ChoiceCardIndex as x, ChoiceCardIndicator as f, ChoiceCardMedia as l, ChoiceCardRibbon as I, ChoiceCardStat as L, ChoiceCardStats as S, ChoiceCardStatus as k, ChoiceCardTitle as B, useChoiceCardGroup as F, useChoiceCardItem as G } from "./choice-card.js";
3
+ import { ChoiceCardPercent as g } from "./choice-card-percent.js";
2
4
  export {
3
- o as ChoiceCard,
4
- r as ChoiceCardContent,
5
- i as ChoiceCardDescription,
6
- a as ChoiceCardGroup,
7
- d as ChoiceCardHeader,
8
- c as ChoiceCardIndicator,
9
- h as ChoiceCardMedia,
10
- t as ChoiceCardTitle,
11
- n as useChoiceCardGroup
5
+ a as ChoiceCard,
6
+ d as ChoiceCardBackground,
7
+ i as ChoiceCardCompare,
8
+ c as ChoiceCardCompareLabel,
9
+ h as ChoiceCardCompareLabels,
10
+ t as ChoiceCardCompareLead,
11
+ p as ChoiceCardCompareRow,
12
+ m as ChoiceCardContent,
13
+ n as ChoiceCardDescription,
14
+ o as ChoiceCardFeaturedBackdrop,
15
+ u as ChoiceCardFooter,
16
+ s as ChoiceCardGroup,
17
+ b as ChoiceCardHeader,
18
+ x as ChoiceCardIndex,
19
+ f as ChoiceCardIndicator,
20
+ l as ChoiceCardMedia,
21
+ g as ChoiceCardPercent,
22
+ I as ChoiceCardRibbon,
23
+ L as ChoiceCardStat,
24
+ S as ChoiceCardStats,
25
+ k as ChoiceCardStatus,
26
+ B as ChoiceCardTitle,
27
+ F as useChoiceCardGroup,
28
+ G as useChoiceCardItem
12
29
  };
@@ -1,9 +1,8 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
2
  import { cn as x } from "../../../../lib/utils.js";
3
- import "react";
4
3
  import { OverflowTooltip as m } from "../../../feedback/tooltip/overflow-tooltip.js";
5
4
  import { isInvertedSelection as h, isOptionArray as d } from "../utils/select.js";
6
- function C({
5
+ function w({
7
6
  isMulti: u,
8
7
  isDisabled: p,
9
8
  internalValue: o,
@@ -53,5 +52,5 @@ function C({
53
52
  );
54
53
  }
55
54
  export {
56
- C as SelectTriggerValue
55
+ w as SelectTriggerValue
57
56
  };
@@ -1,14 +1,13 @@
1
1
  import { jsxs as s, jsx as t } from "react/jsx-runtime";
2
2
  import * as i from "@radix-ui/react-popover";
3
3
  import { Checkbox as P } from "../../checkbox/checkbox.js";
4
- import "react";
5
4
  import { OverflowTooltip as y } from "../../../feedback/tooltip/overflow-tooltip.js";
6
5
  import { ChevronRight as A, Checkmark as O } from "impact-nova-icons";
7
6
  import { cn as v } from "../../../../lib/utils.js";
8
7
  import { useOverlayPortalContainer as T } from "../../../../lib/overlay/overlay-portal-context.js";
9
8
  import { OVERLAY_NESTED_FLOATING_INSTANT_HIDE_CLASS as _ } from "../../../../lib/overlay/overlay-host.constants.js";
10
9
  import { useSuppressOptionClickForTextSelection as E } from "../hooks/useSuppressOptionClickForTextSelection.js";
11
- const R = ({
10
+ const G = ({
12
11
  parentOption: n,
13
12
  isMulti: u,
14
13
  isReadOnly: l,
@@ -106,5 +105,5 @@ const R = ({
106
105
  ] });
107
106
  };
108
107
  export {
109
- R as Submenu
108
+ G as Submenu
110
109
  };
@@ -1,4 +1,4 @@
1
- import { HeaderProps, HeaderLogoProps, HeaderTitleProps, HeaderBadgeProps, HeaderBotButtonProps, NotificationIconButtonProps } from './header.types';
1
+ import { HeaderProps, HeaderLogoProps, HeaderTitleProps, HeaderBadgeProps, HeaderBotButtonProps, HeaderIrisButtonProps, NotificationIconButtonProps } from './header.types';
2
2
  import * as React from "react";
3
3
  declare const Header: React.ForwardRefExoticComponent<HeaderProps & React.RefAttributes<HTMLElement>>;
4
4
  declare const HeaderLeft: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
@@ -9,5 +9,6 @@ declare const HeaderSeparator: React.ForwardRefExoticComponent<Omit<Omit<import(
9
9
  declare const HeaderTitle: React.ForwardRefExoticComponent<HeaderTitleProps & React.RefAttributes<HTMLHeadingElement>>;
10
10
  declare const HeaderBadge: React.ForwardRefExoticComponent<HeaderBadgeProps & React.RefAttributes<HTMLDivElement>>;
11
11
  declare const HeaderBotButton: React.ForwardRefExoticComponent<HeaderBotButtonProps & React.RefAttributes<HTMLButtonElement>>;
12
+ declare const HeaderIrisButton: React.ForwardRefExoticComponent<HeaderIrisButtonProps & React.RefAttributes<HTMLButtonElement>>;
12
13
  declare const NotificationIconButton: React.ForwardRefExoticComponent<NotificationIconButtonProps & React.RefAttributes<HTMLButtonElement>>;
13
- export { Header, HeaderLeft, HeaderRight, HeaderLogo, HeaderSeparator, HeaderTitle, HeaderBadge, HeaderBotButton, NotificationIconButton, };
14
+ export { Header, HeaderLeft, HeaderRight, HeaderLogo, HeaderSeparator, HeaderTitle, HeaderBadge, HeaderBotButton, HeaderIrisButton, NotificationIconButton, };
@@ -1,84 +1,84 @@
1
- import { jsx as r, jsxs as c, Fragment as h } from "react/jsx-runtime";
1
+ import { jsx as a, jsxs as d, Fragment as p } from "react/jsx-runtime";
2
2
  import "react";
3
3
  import { cn as n } from "../../../lib/utils.js";
4
4
  import { createComponent as i } from "../../../lib/primitives/create-component.js";
5
- import { createCompoundPart as p } from "../../../lib/primitives/create-compound.js";
6
- import { Button as x } from "../../primitives/button/button.js";
7
- import { ButtonIconTooltip as v } from "../../feedback/tooltip/button-icon-tooltip.js";
8
- import { Badge as N } from "../../data-display/badge/badge.js";
9
- import { Separator as H } from "../../data-display/separator/separator.js";
10
- import { Alan as y, Bell as B } from "impact-nova-icons";
11
- import { useImpactNovaI18n as f } from "../../../i18n/use-impact-nova-i18n.js";
5
+ import { createCompoundPart as u } from "../../../lib/primitives/create-compound.js";
6
+ import { Button as v } from "../../primitives/button/button.js";
7
+ import { ButtonIconTooltip as N } from "../../feedback/tooltip/button-icon-tooltip.js";
8
+ import { Badge as H } from "../../data-display/badge/badge.js";
9
+ import { Separator as y } from "../../data-display/separator/separator.js";
10
+ import { Alan as f, Bell as B } from "impact-nova-icons";
11
+ import { useImpactNovaI18n as g } from "../../../i18n/use-impact-nova-i18n.js";
12
12
  const P = i(
13
13
  "Header",
14
- ({ className: a, children: e, ...t }, o) => /* @__PURE__ */ r(
14
+ ({ className: r, children: e, ...t }, o) => /* @__PURE__ */ a(
15
15
  "header",
16
16
  {
17
17
  ref: o,
18
18
  "data-component": "header",
19
19
  className: n(
20
20
  "sticky top-0 z-40 flex h-14 w-full items-center justify-between bg-canvas-elevated px-6 shadow-elevation-header",
21
- a
21
+ r
22
22
  ),
23
23
  ...t,
24
24
  children: e
25
25
  }
26
26
  )
27
- ), R = p("header", {
27
+ ), R = u("header", {
28
28
  part: "left",
29
29
  displayName: "HeaderLeft",
30
30
  className: "flex flex-row items-center justify-start"
31
- }), F = p("header", {
31
+ }), F = u("header", {
32
32
  part: "right",
33
33
  displayName: "HeaderRight",
34
34
  className: "flex flex-row items-center justify-start gap-5"
35
35
  }), q = i(
36
36
  "HeaderLogo",
37
- ({ className: a, children: e, href: t = "/", "aria-label": o, ...s }, d) => {
38
- const { t: l } = f();
39
- return /* @__PURE__ */ r(
37
+ ({ className: r, children: e, href: t = "/", "aria-label": o, ...s }, l) => {
38
+ const { t: c } = g();
39
+ return /* @__PURE__ */ a(
40
40
  "a",
41
41
  {
42
42
  href: t,
43
- ref: d,
44
- "aria-label": o ?? l("aria.home"),
43
+ ref: l,
44
+ "aria-label": o ?? c("aria.home"),
45
45
  className: n(
46
46
  "h-9 flex items-center justify-center cursor-pointer [&_img]:dark:brightness-0 [&_img]:dark:invert",
47
- a
47
+ r
48
48
  ),
49
49
  ...s,
50
50
  children: e
51
51
  }
52
52
  );
53
53
  }
54
- ), D = i("HeaderSeparator", ({ className: a, ...e }, t) => /* @__PURE__ */ r(
55
- H,
54
+ ), D = i("HeaderSeparator", ({ className: r, ...e }, t) => /* @__PURE__ */ a(
55
+ y,
56
56
  {
57
57
  ref: t,
58
58
  orientation: "vertical",
59
- className: n("h-6 mx-3", a),
59
+ className: n("h-6 mx-3", r),
60
60
  ...e
61
61
  }
62
62
  )), E = i(
63
63
  "HeaderTitle",
64
- ({ className: a, children: e, ...t }, o) => /* @__PURE__ */ r(
64
+ ({ className: r, children: e, ...t }, o) => /* @__PURE__ */ a(
65
65
  "h1",
66
66
  {
67
67
  ref: o,
68
- className: n("text-base font-extrabold leading-6 text-content", a),
68
+ className: n("text-base font-extrabold leading-6 text-content", r),
69
69
  ...t,
70
70
  children: e
71
71
  }
72
72
  )
73
73
  ), G = i(
74
74
  "HeaderBadge",
75
- ({ className: a, children: e, style: t, ...o }, s) => /* @__PURE__ */ r(
76
- N,
75
+ ({ className: r, children: e, style: t, ...o }, s) => /* @__PURE__ */ a(
76
+ H,
77
77
  {
78
78
  ref: s,
79
79
  size: "sm",
80
80
  shape: "circle",
81
- className: n("border-none header-badge-gradient text-brand-foreground", a),
81
+ className: n("border-none header-badge-gradient text-brand-foreground", r),
82
82
  style: t,
83
83
  ...o,
84
84
  children: e
@@ -86,7 +86,7 @@ const P = i(
86
86
  )
87
87
  ), J = i(
88
88
  "HeaderBotButton",
89
- ({ className: a, children: e, ...t }, o) => /* @__PURE__ */ r(
89
+ ({ className: r, children: e, ...t }, o) => /* @__PURE__ */ a(
90
90
  "button",
91
91
  {
92
92
  ref: o,
@@ -95,55 +95,74 @@ const P = i(
95
95
  "relative flex items-center justify-center w-[106px] h-[34px] gap-[7px] px-[11px] py-0 rounded-lg cursor-pointer border-0 outline-none",
96
96
  "header-bot-button-gradient",
97
97
  "animate-header-bot-gradient hover:animate-header-bot-gradient-fast motion-reduce:animate-none",
98
- a
98
+ r
99
99
  ),
100
100
  ...t,
101
- children: e || /* @__PURE__ */ c(h, { children: [
102
- /* @__PURE__ */ r(y, { size: 20, className: "text-brand-foreground" }),
103
- /* @__PURE__ */ r("span", { className: "text-sm font-semibold leading-[20px] text-brand-foreground whitespace-nowrap", children: "Ask Alan" })
101
+ children: e || /* @__PURE__ */ d(p, { children: [
102
+ /* @__PURE__ */ a(f, { size: 20, className: "text-brand-foreground" }),
103
+ /* @__PURE__ */ a("span", { className: "text-sm font-semibold leading-[20px] text-brand-foreground whitespace-nowrap", children: "Ask Alan" })
104
104
  ] })
105
105
  }
106
106
  )
107
107
  ), K = i(
108
+ "HeaderIrisButton",
109
+ ({ className: r, children: e, ...t }, o) => /* @__PURE__ */ a(
110
+ "button",
111
+ {
112
+ ref: o,
113
+ type: "button",
114
+ className: n(
115
+ "relative flex items-center justify-center h-8 gap-1 px-3 py-1.5 rounded-md cursor-pointer outline-none",
116
+ "header-iris-button-gradient",
117
+ r
118
+ ),
119
+ ...t,
120
+ children: e || /* @__PURE__ */ d(p, { children: [
121
+ /* @__PURE__ */ a(f, { size: 20, className: "text-brand-foreground" }),
122
+ /* @__PURE__ */ a("span", { className: "text-sm font-medium leading-5 text-brand-foreground whitespace-nowrap", children: "Ask Iris" })
123
+ ] })
124
+ }
125
+ )
126
+ ), M = i(
108
127
  "NotificationIconButton",
109
128
  ({
110
- className: a,
129
+ className: r,
111
130
  showIndicator: e,
112
131
  indicatorVariant: t = "unread",
113
132
  tooltipSide: o = "top",
114
133
  tooltipKeybinding: s,
115
- ...d
116
- }, l) => {
117
- const { t: u } = f(), g = t === "stale", m = u("notificationPanel.title"), b = /* @__PURE__ */ c(
118
- x,
134
+ ...l
135
+ }, c) => {
136
+ const { t: h } = g(), b = t === "stale", m = h("notificationPanel.title"), x = /* @__PURE__ */ d(
137
+ v,
119
138
  {
120
139
  variant: "ghost",
121
140
  size: "icon",
122
- ref: l,
141
+ ref: c,
123
142
  "aria-label": m,
124
143
  "data-indicator": e ? "" : void 0,
125
144
  "data-indicator-variant": e ? t : void 0,
126
145
  className: n(
127
146
  "relative text-content-header-notification [&_svg]:size-6 hover:text-content",
128
- a
147
+ r
129
148
  ),
130
- ...d,
149
+ ...l,
131
150
  children: [
132
- /* @__PURE__ */ r(B, { size: 24 }),
133
- e && (g ? /* @__PURE__ */ r("div", { className: "absolute top-1.5 right-1.5 size-2 pointer-events-none z-10 rounded-full bg-content-tertiary" }) : /* @__PURE__ */ c("div", { className: "absolute top-1.5 right-1.5 size-2.5 pointer-events-none z-10", children: [
134
- /* @__PURE__ */ r("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 size-2.5 rounded-full bg-feedback-error-surface animate-notification-waves motion-reduce:animate-none" }),
135
- /* @__PURE__ */ r("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 size-2 rounded-full bg-destructive" })
151
+ /* @__PURE__ */ a(B, { size: 24 }),
152
+ e && (b ? /* @__PURE__ */ a("div", { className: "absolute top-1.5 right-1.5 size-2 pointer-events-none z-10 rounded-full bg-content-tertiary" }) : /* @__PURE__ */ d("div", { className: "absolute top-1.5 right-1.5 size-2.5 pointer-events-none z-10", children: [
153
+ /* @__PURE__ */ a("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 size-2.5 rounded-full bg-feedback-error-surface animate-notification-waves motion-reduce:animate-none" }),
154
+ /* @__PURE__ */ a("div", { className: "absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 size-2 rounded-full bg-destructive" })
136
155
  ] }))
137
156
  ]
138
157
  }
139
158
  );
140
- return /* @__PURE__ */ r(
141
- v,
159
+ return /* @__PURE__ */ a(
160
+ N,
142
161
  {
143
162
  label: m,
144
163
  side: o,
145
164
  keybinding: s,
146
- children: b
165
+ children: x
147
166
  }
148
167
  );
149
168
  }
@@ -152,10 +171,11 @@ export {
152
171
  P as Header,
153
172
  G as HeaderBadge,
154
173
  J as HeaderBotButton,
174
+ K as HeaderIrisButton,
155
175
  R as HeaderLeft,
156
176
  q as HeaderLogo,
157
177
  F as HeaderRight,
158
178
  D as HeaderSeparator,
159
179
  E as HeaderTitle,
160
- K as NotificationIconButton
180
+ M as NotificationIconButton
161
181
  };
@@ -11,6 +11,7 @@ export type HeaderSeparatorProps = React.ComponentPropsWithoutRef<typeof Separat
11
11
  export type HeaderTitleProps = React.HTMLAttributes<HTMLHeadingElement>;
12
12
  export type HeaderBadgeProps = Omit<BadgeProps, "size" | "shape">;
13
13
  export type HeaderBotButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement>;
14
+ export type HeaderIrisButtonProps = React.ButtonHTMLAttributes<HTMLButtonElement>;
14
15
  export type NotificationIndicatorVariant = "unread" | "stale";
15
16
  export interface NotificationIconButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children"> {
16
17
  showIndicator?: boolean;
@@ -0,0 +1,3 @@
1
+ import * as React from "react";
2
+ /** Figma 7717 — system cursor hidden; vector pointer + primary comment bubble follow the pointer. */
3
+ export declare function IrisAgentCursor(): React.ReactPortal | null;
@@ -0,0 +1,89 @@
1
+ import { jsxs as v, jsx as s } from "react/jsx-runtime";
2
+ import * as o from "react";
3
+ import { createPortal as h } from "react-dom";
4
+ import { useOverlayPortalContainer as g } from "../../../lib/overlay/overlay-portal-context.js";
5
+ import { useIrisControl as w } from "./iris-control-context.js";
6
+ function x() {
7
+ return /* @__PURE__ */ s(
8
+ "svg",
9
+ {
10
+ width: "17",
11
+ height: "21",
12
+ viewBox: "0 0 17 21",
13
+ fill: "none",
14
+ xmlns: "http://www.w3.org/2000/svg",
15
+ className: "iris-agent-cursor__pointer block shrink-0",
16
+ "aria-hidden": !0,
17
+ children: /* @__PURE__ */ s(
18
+ "path",
19
+ {
20
+ d: "M1 1V16.8L4.8 13.2L7.8 19.2L9.6 18L6.6 11.8H14.2L1 1Z",
21
+ fill: "var(--color-foreground-title)",
22
+ stroke: "var(--color-canvas)",
23
+ strokeWidth: "1.25",
24
+ strokeLinejoin: "round"
25
+ }
26
+ )
27
+ }
28
+ );
29
+ }
30
+ function R() {
31
+ const { showCursor: i, cursorLabel: c } = w(), a = g(), u = o.useRef(null), l = o.useRef({ x: 0, y: 0 }), e = o.useRef(0);
32
+ if (o.useEffect(() => {
33
+ if (!i)
34
+ return;
35
+ const p = () => {
36
+ const r = u.current;
37
+ if (!r)
38
+ return;
39
+ const { x: f, y: m } = l.current;
40
+ r.style.transform = `translate3d(${f}px, ${m}px, 0)`;
41
+ }, t = (r) => {
42
+ r.pointerType !== "touch" && (l.current = { x: r.clientX, y: r.clientY }, !e.current && (e.current = requestAnimationFrame(() => {
43
+ e.current = 0, p();
44
+ })));
45
+ }, n = a?.ownerDocument ?? document;
46
+ return n.addEventListener("pointermove", t, {
47
+ capture: !0,
48
+ passive: !0
49
+ }), n.addEventListener("pointerdown", t, {
50
+ capture: !0,
51
+ passive: !0
52
+ }), () => {
53
+ n.removeEventListener("pointermove", t, {
54
+ capture: !0
55
+ }), n.removeEventListener("pointerdown", t, {
56
+ capture: !0
57
+ }), e.current && cancelAnimationFrame(e.current);
58
+ };
59
+ }, [a, i]), !i || !c)
60
+ return null;
61
+ const d = a ?? document.body;
62
+ return h(
63
+ /* @__PURE__ */ v(
64
+ "div",
65
+ {
66
+ ref: u,
67
+ className: "iris-agent-cursor pointer-events-none fixed left-0 top-0 z-[60]",
68
+ "data-component": "iris-agent-cursor",
69
+ style: { transform: "translate3d(0, 0, 0)" },
70
+ "aria-hidden": !0,
71
+ children: [
72
+ /* @__PURE__ */ s(x, {}),
73
+ /* @__PURE__ */ s(
74
+ "p",
75
+ {
76
+ className: "iris-agent-cursor__bubble",
77
+ "data-component": "iris-agent-cursor-label",
78
+ children: c
79
+ }
80
+ )
81
+ ]
82
+ }
83
+ ),
84
+ d
85
+ );
86
+ }
87
+ export {
88
+ R as IrisAgentCursor
89
+ };
@@ -0,0 +1,5 @@
1
+ /** Figma 16×16 AI sparkle — gradient fill + stroke. */
2
+ export declare const IrisAlanGradientIcon: ({ size, className, }: {
3
+ size: number;
4
+ className?: string;
5
+ }) => import("react/jsx-runtime").JSX.Element;