@cognivo/components 0.8.0 → 0.8.2

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 (543) hide show
  1. package/dist/chunks/focus-trap-vlQwKK-3.js +82 -0
  2. package/dist/chunks/focus-trap-vlQwKK-3.js.map +1 -0
  3. package/dist/chunks/{premium.css-9I4kHrsl.js → premium.css-DHekUEUt.js} +25 -25
  4. package/dist/chunks/{premium.css-9I4kHrsl.js.map → premium.css-DHekUEUt.js.map} +1 -1
  5. package/dist/cognivo.min.js +3375 -5270
  6. package/dist/cognivo.min.js.map +1 -1
  7. package/dist/components/ai-ab-test/ai-ab-test.js +1 -1
  8. package/dist/components/ai-accessibility-report/ai-accessibility-report.d.ts.map +1 -1
  9. package/dist/components/ai-accessibility-report/ai-accessibility-report.js +14 -13
  10. package/dist/components/ai-accessibility-report/ai-accessibility-report.js.map +1 -1
  11. package/dist/components/ai-action-preview/ai-action-preview.d.ts.map +1 -1
  12. package/dist/components/ai-action-preview/ai-action-preview.js +15 -14
  13. package/dist/components/ai-action-preview/ai-action-preview.js.map +1 -1
  14. package/dist/components/ai-agent-card/ai-agent-card.js +1 -1
  15. package/dist/components/ai-agent-steps/ai-agent-steps.d.ts +8 -21
  16. package/dist/components/ai-agent-steps/ai-agent-steps.d.ts.map +1 -1
  17. package/dist/components/ai-agent-steps/ai-agent-steps.js +85 -139
  18. package/dist/components/ai-agent-steps/ai-agent-steps.js.map +1 -1
  19. package/dist/components/ai-alert-card/ai-alert-card.js +5 -5
  20. package/dist/components/ai-alert-card/ai-alert-card.js.map +1 -1
  21. package/dist/components/ai-analytics-chart/ai-analytics-chart.d.ts +0 -13
  22. package/dist/components/ai-analytics-chart/ai-analytics-chart.d.ts.map +1 -1
  23. package/dist/components/ai-analytics-chart/ai-analytics-chart.js +75 -125
  24. package/dist/components/ai-analytics-chart/ai-analytics-chart.js.map +1 -1
  25. package/dist/components/ai-annotation/ai-annotation.js +2 -2
  26. package/dist/components/ai-annotation/ai-annotation.js.map +1 -1
  27. package/dist/components/ai-api-key-manager/ai-api-key-manager.d.ts +0 -9
  28. package/dist/components/ai-api-key-manager/ai-api-key-manager.d.ts.map +1 -1
  29. package/dist/components/ai-api-key-manager/ai-api-key-manager.js +115 -276
  30. package/dist/components/ai-api-key-manager/ai-api-key-manager.js.map +1 -1
  31. package/dist/components/ai-app-sidebar/ai-app-sidebar.js +13 -13
  32. package/dist/components/ai-app-sidebar/ai-app-sidebar.js.map +1 -1
  33. package/dist/components/ai-assistant-widget/ai-assistant-widget.d.ts.map +1 -1
  34. package/dist/components/ai-assistant-widget/ai-assistant-widget.js +5 -2
  35. package/dist/components/ai-assistant-widget/ai-assistant-widget.js.map +1 -1
  36. package/dist/components/ai-audio-player/ai-audio-player.d.ts.map +1 -1
  37. package/dist/components/ai-audio-player/ai-audio-player.js +23 -19
  38. package/dist/components/ai-audio-player/ai-audio-player.js.map +1 -1
  39. package/dist/components/ai-avatar/ai-avatar.js +1 -1
  40. package/dist/components/ai-badge/ai-badge.js +1 -1
  41. package/dist/components/ai-batch-progress/ai-batch-progress.js +6 -6
  42. package/dist/components/ai-batch-progress/ai-batch-progress.js.map +1 -1
  43. package/dist/components/ai-cache-indicator/ai-cache-indicator.d.ts +0 -13
  44. package/dist/components/ai-cache-indicator/ai-cache-indicator.d.ts.map +1 -1
  45. package/dist/components/ai-cache-indicator/ai-cache-indicator.js +90 -185
  46. package/dist/components/ai-cache-indicator/ai-cache-indicator.js.map +1 -1
  47. package/dist/components/ai-capture-flow/ai-capture-flow.js +21 -21
  48. package/dist/components/ai-capture-flow/ai-capture-flow.js.map +1 -1
  49. package/dist/components/ai-changelog/ai-changelog.js +26 -26
  50. package/dist/components/ai-changelog/ai-changelog.js.map +1 -1
  51. package/dist/components/ai-chart-summary/ai-chart-summary.d.ts +0 -6
  52. package/dist/components/ai-chart-summary/ai-chart-summary.d.ts.map +1 -1
  53. package/dist/components/ai-chart-summary/ai-chart-summary.js +100 -103
  54. package/dist/components/ai-chart-summary/ai-chart-summary.js.map +1 -1
  55. package/dist/components/ai-chat/ai-chat.d.ts.map +1 -1
  56. package/dist/components/ai-chat/ai-chat.js +9 -3
  57. package/dist/components/ai-chat/ai-chat.js.map +1 -1
  58. package/dist/components/ai-citation/ai-citation.d.ts +0 -6
  59. package/dist/components/ai-citation/ai-citation.d.ts.map +1 -1
  60. package/dist/components/ai-citation/ai-citation.js +64 -90
  61. package/dist/components/ai-citation/ai-citation.js.map +1 -1
  62. package/dist/components/ai-collaborative-editor/ai-collaborative-editor.d.ts +1 -27
  63. package/dist/components/ai-collaborative-editor/ai-collaborative-editor.d.ts.map +1 -1
  64. package/dist/components/ai-collaborative-editor/ai-collaborative-editor.js +114 -260
  65. package/dist/components/ai-collaborative-editor/ai-collaborative-editor.js.map +1 -1
  66. package/dist/components/ai-command-palette/ai-command-palette.js +1 -1
  67. package/dist/components/ai-confidence-badge/ai-confidence-badge.d.ts +11 -9
  68. package/dist/components/ai-confidence-badge/ai-confidence-badge.d.ts.map +1 -1
  69. package/dist/components/ai-confidence-badge/ai-confidence-badge.js +183 -101
  70. package/dist/components/ai-confidence-badge/ai-confidence-badge.js.map +1 -1
  71. package/dist/components/ai-confidence-slider/ai-confidence-slider.js +27 -27
  72. package/dist/components/ai-confidence-slider/ai-confidence-slider.js.map +1 -1
  73. package/dist/components/ai-consent-manager/ai-consent-manager.js +2 -2
  74. package/dist/components/ai-consent-manager/ai-consent-manager.js.map +1 -1
  75. package/dist/components/ai-context-window/ai-context-window.js +19 -19
  76. package/dist/components/ai-context-window/ai-context-window.js.map +1 -1
  77. package/dist/components/ai-copy-button/ai-copy-button.js +4 -4
  78. package/dist/components/ai-copy-button/ai-copy-button.js.map +1 -1
  79. package/dist/components/ai-cost-dashboard/ai-cost-dashboard.js +14 -14
  80. package/dist/components/ai-cost-dashboard/ai-cost-dashboard.js.map +1 -1
  81. package/dist/components/ai-data-card/ai-data-card.js +2 -2
  82. package/dist/components/ai-data-card/ai-data-card.js.map +1 -1
  83. package/dist/components/ai-data-lineage/ai-data-lineage.js +6 -6
  84. package/dist/components/ai-data-lineage/ai-data-lineage.js.map +1 -1
  85. package/dist/components/ai-data-preview/ai-data-preview.d.ts +0 -7
  86. package/dist/components/ai-data-preview/ai-data-preview.d.ts.map +1 -1
  87. package/dist/components/ai-data-preview/ai-data-preview.js +130 -267
  88. package/dist/components/ai-data-preview/ai-data-preview.js.map +1 -1
  89. package/dist/components/ai-data-table/ai-data-table.js +9 -9
  90. package/dist/components/ai-data-table/ai-data-table.js.map +1 -1
  91. package/dist/components/ai-debug-console/ai-debug-console.d.ts +1 -13
  92. package/dist/components/ai-debug-console/ai-debug-console.d.ts.map +1 -1
  93. package/dist/components/ai-debug-console/ai-debug-console.js +134 -340
  94. package/dist/components/ai-debug-console/ai-debug-console.js.map +1 -1
  95. package/dist/components/ai-detection-canvas/ai-detection-canvas.js +2 -2
  96. package/dist/components/ai-detection-canvas/ai-detection-canvas.js.map +1 -1
  97. package/dist/components/ai-diff-panel/ai-diff-panel.js +1 -1
  98. package/dist/components/ai-embedding-viz/ai-embedding-viz.js +4 -4
  99. package/dist/components/ai-embedding-viz/ai-embedding-viz.js.map +1 -1
  100. package/dist/components/ai-empty-state/ai-empty-state.js +1 -1
  101. package/dist/components/ai-error-boundary/ai-error-boundary.d.ts.map +1 -1
  102. package/dist/components/ai-error-boundary/ai-error-boundary.js +26 -21
  103. package/dist/components/ai-error-boundary/ai-error-boundary.js.map +1 -1
  104. package/dist/components/ai-eval-scorecard/ai-eval-scorecard.js +5 -5
  105. package/dist/components/ai-eval-scorecard/ai-eval-scorecard.js.map +1 -1
  106. package/dist/components/ai-feature-flag/ai-feature-flag.d.ts +0 -14
  107. package/dist/components/ai-feature-flag/ai-feature-flag.d.ts.map +1 -1
  108. package/dist/components/ai-feature-flag/ai-feature-flag.js +181 -322
  109. package/dist/components/ai-feature-flag/ai-feature-flag.js.map +1 -1
  110. package/dist/components/ai-feedback/ai-feedback.d.ts.map +1 -1
  111. package/dist/components/ai-feedback/ai-feedback.js +10 -5
  112. package/dist/components/ai-feedback/ai-feedback.js.map +1 -1
  113. package/dist/components/ai-file-upload/ai-file-upload.js +1 -1
  114. package/dist/components/ai-form-generator/ai-form-generator.js +1 -1
  115. package/dist/components/ai-guardrail/ai-guardrail.js +2 -2
  116. package/dist/components/ai-guardrail/ai-guardrail.js.map +1 -1
  117. package/dist/components/ai-heatmap/ai-heatmap.js +1 -1
  118. package/dist/components/ai-insight-card/ai-insight-card.js +4 -4
  119. package/dist/components/ai-insight-card/ai-insight-card.js.map +1 -1
  120. package/dist/components/ai-json-viewer/ai-json-viewer.js +13 -13
  121. package/dist/components/ai-json-viewer/ai-json-viewer.js.map +1 -1
  122. package/dist/components/ai-keyboard-shortcuts/ai-keyboard-shortcuts.js +24 -24
  123. package/dist/components/ai-keyboard-shortcuts/ai-keyboard-shortcuts.js.map +1 -1
  124. package/dist/components/ai-kpi-grid/ai-kpi-grid.js +2 -2
  125. package/dist/components/ai-kpi-grid/ai-kpi-grid.js.map +1 -1
  126. package/dist/components/ai-labeling-board/ai-labeling-board.js +11 -11
  127. package/dist/components/ai-labeling-board/ai-labeling-board.js.map +1 -1
  128. package/dist/components/ai-memory-panel/ai-memory-panel.js +7 -7
  129. package/dist/components/ai-memory-panel/ai-memory-panel.js.map +1 -1
  130. package/dist/components/ai-model-comparison/ai-model-comparison.js +2 -2
  131. package/dist/components/ai-model-comparison/ai-model-comparison.js.map +1 -1
  132. package/dist/components/ai-model-selector/ai-model-selector.js +7 -7
  133. package/dist/components/ai-model-selector/ai-model-selector.js.map +1 -1
  134. package/dist/components/ai-notification-center/ai-notification-center.js +27 -27
  135. package/dist/components/ai-notification-center/ai-notification-center.js.map +1 -1
  136. package/dist/components/ai-onboarding/ai-onboarding.js +5 -5
  137. package/dist/components/ai-onboarding/ai-onboarding.js.map +1 -1
  138. package/dist/components/ai-permission-gate/ai-permission-gate.js +1 -1
  139. package/dist/components/ai-personalization-dash/ai-personalization-dash.js +1 -1
  140. package/dist/components/ai-presence/ai-presence.js +25 -25
  141. package/dist/components/ai-presence/ai-presence.js.map +1 -1
  142. package/dist/components/ai-progress-steps/ai-progress-steps.js +11 -11
  143. package/dist/components/ai-progress-steps/ai-progress-steps.js.map +1 -1
  144. package/dist/components/ai-prompt-editor/ai-prompt-editor.js +1 -1
  145. package/dist/components/ai-prompt-template/ai-prompt-template.js +29 -29
  146. package/dist/components/ai-prompt-template/ai-prompt-template.js.map +1 -1
  147. package/dist/components/ai-rag-panel/ai-rag-panel.js +4 -4
  148. package/dist/components/ai-rag-panel/ai-rag-panel.js.map +1 -1
  149. package/dist/components/ai-reasoning-tree/ai-reasoning-tree.js +16 -16
  150. package/dist/components/ai-reasoning-tree/ai-reasoning-tree.js.map +1 -1
  151. package/dist/components/ai-result-panel/ai-result-panel.js +1 -1
  152. package/dist/components/ai-reveal-animation/ai-reveal-animation.js +3 -3
  153. package/dist/components/ai-reveal-animation/ai-reveal-animation.js.map +1 -1
  154. package/dist/components/ai-reward-signal/ai-reward-signal.js +1 -1
  155. package/dist/components/ai-rich-message/ai-rich-message.d.ts.map +1 -1
  156. package/dist/components/ai-rich-message/ai-rich-message.js +37 -30
  157. package/dist/components/ai-rich-message/ai-rich-message.js.map +1 -1
  158. package/dist/components/ai-scenario-panel/ai-scenario-panel.js +10 -10
  159. package/dist/components/ai-scenario-panel/ai-scenario-panel.js.map +1 -1
  160. package/dist/components/ai-search/ai-search.js +1 -1
  161. package/dist/components/ai-segmentation-viewer/ai-segmentation-viewer.js +3 -3
  162. package/dist/components/ai-segmentation-viewer/ai-segmentation-viewer.js.map +1 -1
  163. package/dist/components/ai-sidebar/ai-sidebar.js +1 -1
  164. package/dist/components/ai-similarity-card/ai-similarity-card.js +1 -1
  165. package/dist/components/ai-source-graph/ai-source-graph.js +2 -2
  166. package/dist/components/ai-source-graph/ai-source-graph.js.map +1 -1
  167. package/dist/components/ai-status-page/ai-status-page.js +15 -15
  168. package/dist/components/ai-status-page/ai-status-page.js.map +1 -1
  169. package/dist/components/ai-streaming-text/ai-streaming-text.js +1 -1
  170. package/dist/components/ai-test-runner/ai-test-runner.d.ts +0 -8
  171. package/dist/components/ai-test-runner/ai-test-runner.d.ts.map +1 -1
  172. package/dist/components/ai-test-runner/ai-test-runner.js +100 -257
  173. package/dist/components/ai-test-runner/ai-test-runner.js.map +1 -1
  174. package/dist/components/ai-thinking/ai-thinking.js +1 -1
  175. package/dist/components/ai-timeline/ai-timeline.js +2 -2
  176. package/dist/components/ai-timeline/ai-timeline.js.map +1 -1
  177. package/dist/components/ai-token-tracker/ai-token-tracker.js +3 -3
  178. package/dist/components/ai-token-tracker/ai-token-tracker.js.map +1 -1
  179. package/dist/components/ai-tool-card-resolver/ai-tool-card-resolver.js +23 -23
  180. package/dist/components/ai-tool-card-resolver/ai-tool-card-resolver.js.map +1 -1
  181. package/dist/components/ai-tool-indicator/ai-tool-indicator.js +3 -3
  182. package/dist/components/ai-tool-indicator/ai-tool-indicator.js.map +1 -1
  183. package/dist/components/ai-transform-slider/ai-transform-slider.js +1 -1
  184. package/dist/components/ai-translation-panel/ai-translation-panel.js +2 -2
  185. package/dist/components/ai-translation-panel/ai-translation-panel.js.map +1 -1
  186. package/dist/components/ai-usage-meter/ai-usage-meter.js +1 -1
  187. package/dist/components/ai-validation-checklist/ai-validation-checklist.d.ts +1 -11
  188. package/dist/components/ai-validation-checklist/ai-validation-checklist.d.ts.map +1 -1
  189. package/dist/components/ai-validation-checklist/ai-validation-checklist.js +133 -187
  190. package/dist/components/ai-validation-checklist/ai-validation-checklist.js.map +1 -1
  191. package/dist/components/ai-version-selector/ai-version-selector.d.ts +0 -4
  192. package/dist/components/ai-version-selector/ai-version-selector.d.ts.map +1 -1
  193. package/dist/components/ai-version-selector/ai-version-selector.js +189 -210
  194. package/dist/components/ai-version-selector/ai-version-selector.js.map +1 -1
  195. package/dist/components/ai-voice-panel/ai-voice-panel.js +28 -28
  196. package/dist/components/ai-voice-panel/ai-voice-panel.js.map +1 -1
  197. package/dist/components/ai-webhook-config/ai-webhook-config.d.ts +0 -17
  198. package/dist/components/ai-webhook-config/ai-webhook-config.d.ts.map +1 -1
  199. package/dist/components/ai-webhook-config/ai-webhook-config.js +281 -221
  200. package/dist/components/ai-webhook-config/ai-webhook-config.js.map +1 -1
  201. package/dist/components/ai-workflow-builder/ai-workflow-builder.js +2 -2
  202. package/dist/components/ai-workflow-builder/ai-workflow-builder.js.map +1 -1
  203. package/dist/components/bias-anchoring/bias-anchoring.js +1 -1
  204. package/dist/components/bias-authority/bias-authority.js +1 -1
  205. package/dist/components/bias-commitment/bias-commitment.js +1 -1
  206. package/dist/components/bias-reciprocity/bias-reciprocity.js +1 -1
  207. package/dist/components/bias-scarcity/bias-scarcity.js +1 -1
  208. package/dist/components/bias-social-proof/bias-social-proof.js +1 -1
  209. package/dist/components/cg-accordion/cg-accordion.d.ts.map +1 -1
  210. package/dist/components/cg-accordion/cg-accordion.js +51 -43
  211. package/dist/components/cg-accordion/cg-accordion.js.map +1 -1
  212. package/dist/components/cg-alert-dialog/cg-alert-dialog.js +18 -18
  213. package/dist/components/cg-alert-dialog/cg-alert-dialog.js.map +1 -1
  214. package/dist/components/cg-aspect-ratio/cg-aspect-ratio.d.ts.map +1 -1
  215. package/dist/components/cg-aspect-ratio/cg-aspect-ratio.js +25 -21
  216. package/dist/components/cg-aspect-ratio/cg-aspect-ratio.js.map +1 -1
  217. package/dist/components/cg-autocomplete/cg-autocomplete.d.ts +1 -0
  218. package/dist/components/cg-autocomplete/cg-autocomplete.d.ts.map +1 -1
  219. package/dist/components/cg-autocomplete/cg-autocomplete.js +59 -43
  220. package/dist/components/cg-autocomplete/cg-autocomplete.js.map +1 -1
  221. package/dist/components/cg-avatar/cg-avatar.d.ts.map +1 -1
  222. package/dist/components/cg-avatar/cg-avatar.js +24 -24
  223. package/dist/components/cg-avatar/cg-avatar.js.map +1 -1
  224. package/dist/components/cg-avatar-group/cg-avatar-group.d.ts.map +1 -1
  225. package/dist/components/cg-avatar-group/cg-avatar-group.js +18 -12
  226. package/dist/components/cg-avatar-group/cg-avatar-group.js.map +1 -1
  227. package/dist/components/cg-badge/cg-badge.d.ts.map +1 -1
  228. package/dist/components/cg-badge/cg-badge.js +26 -20
  229. package/dist/components/cg-badge/cg-badge.js.map +1 -1
  230. package/dist/components/cg-badge-group/cg-badge-group.d.ts +0 -1
  231. package/dist/components/cg-badge-group/cg-badge-group.d.ts.map +1 -1
  232. package/dist/components/cg-badge-group/cg-badge-group.js +31 -29
  233. package/dist/components/cg-badge-group/cg-badge-group.js.map +1 -1
  234. package/dist/components/cg-breadcrumbs/cg-breadcrumbs.js +21 -21
  235. package/dist/components/cg-breadcrumbs/cg-breadcrumbs.js.map +1 -1
  236. package/dist/components/cg-button/cg-button.d.ts +5 -71
  237. package/dist/components/cg-button/cg-button.d.ts.map +1 -1
  238. package/dist/components/cg-button/cg-button.js +63 -172
  239. package/dist/components/cg-button/cg-button.js.map +1 -1
  240. package/dist/components/cg-button-group/cg-button-group.d.ts +2 -0
  241. package/dist/components/cg-button-group/cg-button-group.d.ts.map +1 -1
  242. package/dist/components/cg-button-group/cg-button-group.js +43 -29
  243. package/dist/components/cg-button-group/cg-button-group.js.map +1 -1
  244. package/dist/components/cg-calendar/cg-calendar.d.ts +4 -0
  245. package/dist/components/cg-calendar/cg-calendar.d.ts.map +1 -1
  246. package/dist/components/cg-calendar/cg-calendar.js +28 -12
  247. package/dist/components/cg-calendar/cg-calendar.js.map +1 -1
  248. package/dist/components/cg-callout/cg-callout.d.ts.map +1 -1
  249. package/dist/components/cg-callout/cg-callout.js +49 -48
  250. package/dist/components/cg-callout/cg-callout.js.map +1 -1
  251. package/dist/components/cg-card/cg-card.d.ts +9 -22
  252. package/dist/components/cg-card/cg-card.d.ts.map +1 -1
  253. package/dist/components/cg-card/cg-card.js +28 -56
  254. package/dist/components/cg-card/cg-card.js.map +1 -1
  255. package/dist/components/cg-carousel/cg-carousel.d.ts.map +1 -1
  256. package/dist/components/cg-carousel/cg-carousel.js +19 -13
  257. package/dist/components/cg-carousel/cg-carousel.js.map +1 -1
  258. package/dist/components/cg-chart/cg-chart.d.ts.map +1 -1
  259. package/dist/components/cg-chart/cg-chart.js +63 -58
  260. package/dist/components/cg-chart/cg-chart.js.map +1 -1
  261. package/dist/components/cg-checkbox/cg-checkbox.d.ts +0 -6
  262. package/dist/components/cg-checkbox/cg-checkbox.d.ts.map +1 -1
  263. package/dist/components/cg-checkbox/cg-checkbox.js +51 -51
  264. package/dist/components/cg-checkbox/cg-checkbox.js.map +1 -1
  265. package/dist/components/cg-chip/cg-chip.js +31 -31
  266. package/dist/components/cg-chip/cg-chip.js.map +1 -1
  267. package/dist/components/cg-code-block/cg-code-block.d.ts.map +1 -1
  268. package/dist/components/cg-code-block/cg-code-block.js +36 -34
  269. package/dist/components/cg-code-block/cg-code-block.js.map +1 -1
  270. package/dist/components/cg-collapsible/cg-collapsible.d.ts.map +1 -1
  271. package/dist/components/cg-collapsible/cg-collapsible.js +23 -18
  272. package/dist/components/cg-collapsible/cg-collapsible.js.map +1 -1
  273. package/dist/components/cg-color-picker/cg-color-picker.d.ts +3 -0
  274. package/dist/components/cg-color-picker/cg-color-picker.d.ts.map +1 -1
  275. package/dist/components/cg-color-picker/cg-color-picker.js +189 -91
  276. package/dist/components/cg-color-picker/cg-color-picker.js.map +1 -1
  277. package/dist/components/cg-combobox/cg-combobox.d.ts.map +1 -1
  278. package/dist/components/cg-combobox/cg-combobox.js +13 -6
  279. package/dist/components/cg-combobox/cg-combobox.js.map +1 -1
  280. package/dist/components/cg-command/cg-command.d.ts.map +1 -1
  281. package/dist/components/cg-command/cg-command.js +52 -45
  282. package/dist/components/cg-command/cg-command.js.map +1 -1
  283. package/dist/components/cg-context-menu/cg-context-menu.js +1 -1
  284. package/dist/components/cg-date-picker/cg-date-picker.d.ts.map +1 -1
  285. package/dist/components/cg-date-picker/cg-date-picker.js +36 -34
  286. package/dist/components/cg-date-picker/cg-date-picker.js.map +1 -1
  287. package/dist/components/cg-date-range-picker/cg-date-range-picker.d.ts +2 -0
  288. package/dist/components/cg-date-range-picker/cg-date-range-picker.d.ts.map +1 -1
  289. package/dist/components/cg-date-range-picker/cg-date-range-picker.js +12 -8
  290. package/dist/components/cg-date-range-picker/cg-date-range-picker.js.map +1 -1
  291. package/dist/components/cg-date-time-picker/cg-date-time-picker.d.ts.map +1 -1
  292. package/dist/components/cg-date-time-picker/cg-date-time-picker.js +3 -1
  293. package/dist/components/cg-date-time-picker/cg-date-time-picker.js.map +1 -1
  294. package/dist/components/cg-drawer/cg-drawer.js +3 -3
  295. package/dist/components/cg-drawer/cg-drawer.js.map +1 -1
  296. package/dist/components/cg-dropdown/cg-dropdown.d.ts.map +1 -1
  297. package/dist/components/cg-dropdown/cg-dropdown.js +1 -2
  298. package/dist/components/cg-dropdown/cg-dropdown.js.map +1 -1
  299. package/dist/components/cg-empty-state/cg-empty-state.d.ts +3 -24
  300. package/dist/components/cg-empty-state/cg-empty-state.d.ts.map +1 -1
  301. package/dist/components/cg-empty-state/cg-empty-state.js +51 -74
  302. package/dist/components/cg-empty-state/cg-empty-state.js.map +1 -1
  303. package/dist/components/cg-file-input/cg-file-input.d.ts.map +1 -1
  304. package/dist/components/cg-file-input/cg-file-input.js +9 -10
  305. package/dist/components/cg-file-input/cg-file-input.js.map +1 -1
  306. package/dist/components/cg-focus-scope/cg-focus-scope.js +1 -1
  307. package/dist/components/cg-follow-up/cg-follow-up.d.ts.map +1 -1
  308. package/dist/components/cg-follow-up/cg-follow-up.js +6 -7
  309. package/dist/components/cg-follow-up/cg-follow-up.js.map +1 -1
  310. package/dist/components/cg-form/cg-form.js +17 -17
  311. package/dist/components/cg-form/cg-form.js.map +1 -1
  312. package/dist/components/cg-hover-card/cg-hover-card.d.ts +1 -0
  313. package/dist/components/cg-hover-card/cg-hover-card.d.ts.map +1 -1
  314. package/dist/components/cg-hover-card/cg-hover-card.js +37 -32
  315. package/dist/components/cg-hover-card/cg-hover-card.js.map +1 -1
  316. package/dist/components/cg-icon/cg-icon.d.ts.map +1 -1
  317. package/dist/components/cg-icon/cg-icon.js +44 -37
  318. package/dist/components/cg-icon/cg-icon.js.map +1 -1
  319. package/dist/components/cg-image/cg-image.js +2 -2
  320. package/dist/components/cg-image/cg-image.js.map +1 -1
  321. package/dist/components/cg-image-block/cg-image-block.js +3 -3
  322. package/dist/components/cg-image-block/cg-image-block.js.map +1 -1
  323. package/dist/components/cg-image-gallery/cg-image-gallery.js +20 -20
  324. package/dist/components/cg-image-gallery/cg-image-gallery.js.map +1 -1
  325. package/dist/components/cg-input/cg-input.js +3 -3
  326. package/dist/components/cg-input/cg-input.js.map +1 -1
  327. package/dist/components/cg-kbd/cg-kbd.d.ts.map +1 -1
  328. package/dist/components/cg-kbd/cg-kbd.js +26 -24
  329. package/dist/components/cg-kbd/cg-kbd.js.map +1 -1
  330. package/dist/components/cg-label/cg-label.d.ts +4 -1
  331. package/dist/components/cg-label/cg-label.d.ts.map +1 -1
  332. package/dist/components/cg-label/cg-label.js +44 -41
  333. package/dist/components/cg-label/cg-label.js.map +1 -1
  334. package/dist/components/cg-link/cg-link.js +23 -23
  335. package/dist/components/cg-link/cg-link.js.map +1 -1
  336. package/dist/components/cg-list/cg-list.js +5 -5
  337. package/dist/components/cg-list/cg-list.js.map +1 -1
  338. package/dist/components/cg-listbox/cg-listbox.d.ts.map +1 -1
  339. package/dist/components/cg-listbox/cg-listbox.js +46 -40
  340. package/dist/components/cg-listbox/cg-listbox.js.map +1 -1
  341. package/dist/components/cg-markdown/cg-markdown.d.ts +2 -0
  342. package/dist/components/cg-markdown/cg-markdown.d.ts.map +1 -1
  343. package/dist/components/cg-markdown/cg-markdown.js +171 -121
  344. package/dist/components/cg-markdown/cg-markdown.js.map +1 -1
  345. package/dist/components/cg-menubar/cg-menubar.d.ts +6 -0
  346. package/dist/components/cg-menubar/cg-menubar.d.ts.map +1 -1
  347. package/dist/components/cg-menubar/cg-menubar.js +59 -47
  348. package/dist/components/cg-menubar/cg-menubar.js.map +1 -1
  349. package/dist/components/cg-meter/cg-meter.d.ts.map +1 -1
  350. package/dist/components/cg-meter/cg-meter.js +76 -76
  351. package/dist/components/cg-meter/cg-meter.js.map +1 -1
  352. package/dist/components/cg-metric-card/cg-metric-card.d.ts.map +1 -1
  353. package/dist/components/cg-metric-card/cg-metric-card.js +65 -68
  354. package/dist/components/cg-metric-card/cg-metric-card.js.map +1 -1
  355. package/dist/components/cg-modal/cg-modal.d.ts +3 -0
  356. package/dist/components/cg-modal/cg-modal.d.ts.map +1 -1
  357. package/dist/components/cg-modal/cg-modal.js +82 -83
  358. package/dist/components/cg-modal/cg-modal.js.map +1 -1
  359. package/dist/components/cg-navbar/cg-navbar.d.ts +1 -1
  360. package/dist/components/cg-navbar/cg-navbar.d.ts.map +1 -1
  361. package/dist/components/cg-navbar/cg-navbar.js +64 -55
  362. package/dist/components/cg-navbar/cg-navbar.js.map +1 -1
  363. package/dist/components/cg-navigation-menu/cg-navigation-menu.d.ts +3 -0
  364. package/dist/components/cg-navigation-menu/cg-navigation-menu.d.ts.map +1 -1
  365. package/dist/components/cg-navigation-menu/cg-navigation-menu.js +38 -26
  366. package/dist/components/cg-navigation-menu/cg-navigation-menu.js.map +1 -1
  367. package/dist/components/cg-number-input/cg-number-input.d.ts +1 -0
  368. package/dist/components/cg-number-input/cg-number-input.d.ts.map +1 -1
  369. package/dist/components/cg-number-input/cg-number-input.js +90 -77
  370. package/dist/components/cg-number-input/cg-number-input.js.map +1 -1
  371. package/dist/components/cg-otp-input/cg-otp-input.d.ts.map +1 -1
  372. package/dist/components/cg-otp-input/cg-otp-input.js +70 -60
  373. package/dist/components/cg-otp-input/cg-otp-input.js.map +1 -1
  374. package/dist/components/cg-pagination/cg-pagination.d.ts +2 -0
  375. package/dist/components/cg-pagination/cg-pagination.d.ts.map +1 -1
  376. package/dist/components/cg-pagination/cg-pagination.js +50 -49
  377. package/dist/components/cg-pagination/cg-pagination.js.map +1 -1
  378. package/dist/components/cg-password-input/cg-password-input.d.ts.map +1 -1
  379. package/dist/components/cg-password-input/cg-password-input.js +42 -34
  380. package/dist/components/cg-password-input/cg-password-input.js.map +1 -1
  381. package/dist/components/cg-phone-input/cg-phone-input.d.ts.map +1 -1
  382. package/dist/components/cg-phone-input/cg-phone-input.js +18 -14
  383. package/dist/components/cg-phone-input/cg-phone-input.js.map +1 -1
  384. package/dist/components/cg-popover/cg-popover.d.ts +12 -2
  385. package/dist/components/cg-popover/cg-popover.d.ts.map +1 -1
  386. package/dist/components/cg-popover/cg-popover.js +90 -63
  387. package/dist/components/cg-popover/cg-popover.js.map +1 -1
  388. package/dist/components/cg-portal/cg-portal.d.ts.map +1 -1
  389. package/dist/components/cg-portal/cg-portal.js +42 -41
  390. package/dist/components/cg-portal/cg-portal.js.map +1 -1
  391. package/dist/components/cg-progress-bar/cg-progress-bar.d.ts.map +1 -1
  392. package/dist/components/cg-progress-bar/cg-progress-bar.js +25 -25
  393. package/dist/components/cg-progress-bar/cg-progress-bar.js.map +1 -1
  394. package/dist/components/cg-radio/cg-radio.d.ts +10 -0
  395. package/dist/components/cg-radio/cg-radio.d.ts.map +1 -1
  396. package/dist/components/cg-radio/cg-radio.js +59 -48
  397. package/dist/components/cg-radio/cg-radio.js.map +1 -1
  398. package/dist/components/cg-radio-group/cg-radio-group.d.ts +6 -0
  399. package/dist/components/cg-radio-group/cg-radio-group.d.ts.map +1 -1
  400. package/dist/components/cg-radio-group/cg-radio-group.js +50 -37
  401. package/dist/components/cg-radio-group/cg-radio-group.js.map +1 -1
  402. package/dist/components/cg-rating/cg-rating.d.ts.map +1 -1
  403. package/dist/components/cg-rating/cg-rating.js +56 -54
  404. package/dist/components/cg-rating/cg-rating.js.map +1 -1
  405. package/dist/components/cg-resizable/cg-resizable.d.ts +4 -1
  406. package/dist/components/cg-resizable/cg-resizable.d.ts.map +1 -1
  407. package/dist/components/cg-resizable/cg-resizable.js +45 -35
  408. package/dist/components/cg-resizable/cg-resizable.js.map +1 -1
  409. package/dist/components/cg-scroll-area/cg-scroll-area.d.ts +8 -0
  410. package/dist/components/cg-scroll-area/cg-scroll-area.d.ts.map +1 -1
  411. package/dist/components/cg-scroll-area/cg-scroll-area.js +64 -21
  412. package/dist/components/cg-scroll-area/cg-scroll-area.js.map +1 -1
  413. package/dist/components/cg-segmented-control/cg-segmented-control.d.ts +4 -0
  414. package/dist/components/cg-segmented-control/cg-segmented-control.d.ts.map +1 -1
  415. package/dist/components/cg-segmented-control/cg-segmented-control.js +75 -39
  416. package/dist/components/cg-segmented-control/cg-segmented-control.js.map +1 -1
  417. package/dist/components/cg-select/cg-select.d.ts +4 -2
  418. package/dist/components/cg-select/cg-select.d.ts.map +1 -1
  419. package/dist/components/cg-select/cg-select.js +96 -58
  420. package/dist/components/cg-select/cg-select.js.map +1 -1
  421. package/dist/components/cg-separator/cg-separator.d.ts +1 -2
  422. package/dist/components/cg-separator/cg-separator.d.ts.map +1 -1
  423. package/dist/components/cg-separator/cg-separator.js +5 -8
  424. package/dist/components/cg-separator/cg-separator.js.map +1 -1
  425. package/dist/components/cg-sheet/cg-sheet.d.ts +4 -0
  426. package/dist/components/cg-sheet/cg-sheet.d.ts.map +1 -1
  427. package/dist/components/cg-sheet/cg-sheet.js +80 -43
  428. package/dist/components/cg-sheet/cg-sheet.js.map +1 -1
  429. package/dist/components/cg-sidebar/cg-sidebar.d.ts.map +1 -1
  430. package/dist/components/cg-sidebar/cg-sidebar.js +82 -19
  431. package/dist/components/cg-sidebar/cg-sidebar.js.map +1 -1
  432. package/dist/components/cg-skeleton/cg-skeleton.d.ts +7 -1
  433. package/dist/components/cg-skeleton/cg-skeleton.d.ts.map +1 -1
  434. package/dist/components/cg-skeleton/cg-skeleton.js +61 -63
  435. package/dist/components/cg-skeleton/cg-skeleton.js.map +1 -1
  436. package/dist/components/cg-slider/cg-slider.d.ts.map +1 -1
  437. package/dist/components/cg-slider/cg-slider.js +80 -73
  438. package/dist/components/cg-slider/cg-slider.js.map +1 -1
  439. package/dist/components/cg-spinner/cg-spinner.d.ts.map +1 -1
  440. package/dist/components/cg-spinner/cg-spinner.js +10 -19
  441. package/dist/components/cg-spinner/cg-spinner.js.map +1 -1
  442. package/dist/components/cg-split-button/cg-split-button.d.ts.map +1 -1
  443. package/dist/components/cg-split-button/cg-split-button.js +64 -50
  444. package/dist/components/cg-split-button/cg-split-button.js.map +1 -1
  445. package/dist/components/cg-stack/cg-stack.js +1 -1
  446. package/dist/components/cg-steps/cg-steps.js +1 -1
  447. package/dist/components/cg-switch/cg-switch.d.ts +3 -0
  448. package/dist/components/cg-switch/cg-switch.d.ts.map +1 -1
  449. package/dist/components/cg-switch/cg-switch.js +39 -47
  450. package/dist/components/cg-switch/cg-switch.js.map +1 -1
  451. package/dist/components/cg-table/cg-table.d.ts +0 -7
  452. package/dist/components/cg-table/cg-table.d.ts.map +1 -1
  453. package/dist/components/cg-table/cg-table.js +50 -47
  454. package/dist/components/cg-table/cg-table.js.map +1 -1
  455. package/dist/components/cg-tabs/cg-tabs.js +1 -1
  456. package/dist/components/cg-tag-input/cg-tag-input.js +1 -1
  457. package/dist/components/cg-text/cg-text.js +1 -1
  458. package/dist/components/cg-textarea/cg-textarea.js +1 -1
  459. package/dist/components/cg-time-picker/cg-time-picker.js +1 -1
  460. package/dist/components/cg-toaster/cg-toaster.js +3 -3
  461. package/dist/components/cg-toaster/cg-toaster.js.map +1 -1
  462. package/dist/components/cg-toggle/cg-toggle.js +1 -1
  463. package/dist/components/cg-toggle-group/cg-toggle-group.js +1 -1
  464. package/dist/components/cg-tree-view/cg-tree-view.js +1 -1
  465. package/dist/foundation.d.ts +0 -16
  466. package/dist/foundation.d.ts.map +1 -1
  467. package/dist/foundation.js +174 -206
  468. package/dist/foundation.js.map +1 -1
  469. package/dist/index.d.ts +1 -17
  470. package/dist/index.d.ts.map +1 -1
  471. package/dist/index.js +100 -132
  472. package/dist/index.js.map +1 -1
  473. package/dist/utils/focus-trap.d.ts +19 -2
  474. package/dist/utils/focus-trap.d.ts.map +1 -1
  475. package/package.json +6 -810
  476. package/dist/chunks/focus-trap-BdRNhSPD.js +0 -53
  477. package/dist/chunks/focus-trap-BdRNhSPD.js.map +0 -1
  478. package/dist/components/cg-app-shell/cg-app-shell.d.ts +0 -54
  479. package/dist/components/cg-app-shell/cg-app-shell.d.ts.map +0 -1
  480. package/dist/components/cg-app-shell/cg-app-shell.js +0 -135
  481. package/dist/components/cg-app-shell/cg-app-shell.js.map +0 -1
  482. package/dist/components/cg-auth-shell/cg-auth-shell.d.ts +0 -61
  483. package/dist/components/cg-auth-shell/cg-auth-shell.d.ts.map +0 -1
  484. package/dist/components/cg-auth-shell/cg-auth-shell.js +0 -163
  485. package/dist/components/cg-auth-shell/cg-auth-shell.js.map +0 -1
  486. package/dist/components/cg-definition-list/cg-definition-list.d.ts +0 -99
  487. package/dist/components/cg-definition-list/cg-definition-list.d.ts.map +0 -1
  488. package/dist/components/cg-definition-list/cg-definition-list.js +0 -332
  489. package/dist/components/cg-definition-list/cg-definition-list.js.map +0 -1
  490. package/dist/components/cg-draggable/cg-draggable.d.ts +0 -53
  491. package/dist/components/cg-draggable/cg-draggable.d.ts.map +0 -1
  492. package/dist/components/cg-draggable/cg-draggable.js +0 -136
  493. package/dist/components/cg-draggable/cg-draggable.js.map +0 -1
  494. package/dist/components/cg-droppable/cg-droppable.d.ts +0 -57
  495. package/dist/components/cg-droppable/cg-droppable.d.ts.map +0 -1
  496. package/dist/components/cg-droppable/cg-droppable.js +0 -114
  497. package/dist/components/cg-droppable/cg-droppable.js.map +0 -1
  498. package/dist/components/cg-filter-bar/cg-filter-bar.d.ts +0 -50
  499. package/dist/components/cg-filter-bar/cg-filter-bar.d.ts.map +0 -1
  500. package/dist/components/cg-filter-bar/cg-filter-bar.js +0 -115
  501. package/dist/components/cg-filter-bar/cg-filter-bar.js.map +0 -1
  502. package/dist/components/cg-filter-chip/cg-filter-chip.d.ts +0 -55
  503. package/dist/components/cg-filter-chip/cg-filter-chip.d.ts.map +0 -1
  504. package/dist/components/cg-filter-chip/cg-filter-chip.js +0 -213
  505. package/dist/components/cg-filter-chip/cg-filter-chip.js.map +0 -1
  506. package/dist/components/cg-kanban/cg-kanban.d.ts +0 -44
  507. package/dist/components/cg-kanban/cg-kanban.d.ts.map +0 -1
  508. package/dist/components/cg-kanban/cg-kanban.js +0 -86
  509. package/dist/components/cg-kanban/cg-kanban.js.map +0 -1
  510. package/dist/components/cg-kanban-column/cg-kanban-column.d.ts +0 -58
  511. package/dist/components/cg-kanban-column/cg-kanban-column.d.ts.map +0 -1
  512. package/dist/components/cg-kanban-column/cg-kanban-column.js +0 -144
  513. package/dist/components/cg-kanban-column/cg-kanban-column.js.map +0 -1
  514. package/dist/components/cg-mfa-prompt/cg-mfa-prompt.d.ts +0 -77
  515. package/dist/components/cg-mfa-prompt/cg-mfa-prompt.d.ts.map +0 -1
  516. package/dist/components/cg-mfa-prompt/cg-mfa-prompt.js +0 -245
  517. package/dist/components/cg-mfa-prompt/cg-mfa-prompt.js.map +0 -1
  518. package/dist/components/cg-search-input/cg-search-input.d.ts +0 -62
  519. package/dist/components/cg-search-input/cg-search-input.d.ts.map +0 -1
  520. package/dist/components/cg-search-input/cg-search-input.js +0 -106
  521. package/dist/components/cg-search-input/cg-search-input.js.map +0 -1
  522. package/dist/components/cg-sortable/cg-sortable.d.ts +0 -72
  523. package/dist/components/cg-sortable/cg-sortable.d.ts.map +0 -1
  524. package/dist/components/cg-sortable/cg-sortable.js +0 -177
  525. package/dist/components/cg-sortable/cg-sortable.js.map +0 -1
  526. package/dist/components/cg-theme/cg-theme.d.ts +0 -82
  527. package/dist/components/cg-theme/cg-theme.d.ts.map +0 -1
  528. package/dist/components/cg-theme/cg-theme.js +0 -91
  529. package/dist/components/cg-theme/cg-theme.js.map +0 -1
  530. package/dist/components/cg-theme-editor/cg-theme-editor.d.ts +0 -98
  531. package/dist/components/cg-theme-editor/cg-theme-editor.d.ts.map +0 -1
  532. package/dist/components/cg-theme-editor/cg-theme-editor.js +0 -341
  533. package/dist/components/cg-theme-editor/cg-theme-editor.js.map +0 -1
  534. package/dist/components/cg-timeline/cg-timeline.d.ts +0 -70
  535. package/dist/components/cg-timeline/cg-timeline.d.ts.map +0 -1
  536. package/dist/components/cg-timeline/cg-timeline.js +0 -131
  537. package/dist/components/cg-timeline/cg-timeline.js.map +0 -1
  538. package/dist/components/cg-timeline-event/cg-timeline-event.d.ts +0 -59
  539. package/dist/components/cg-timeline-event/cg-timeline-event.d.ts.map +0 -1
  540. package/dist/components/cg-timeline-event/cg-timeline-event.js +0 -190
  541. package/dist/components/cg-timeline-event/cg-timeline-event.js.map +0 -1
  542. package/dist/utils/drag-manager.d.ts +0 -40
  543. package/dist/utils/drag-manager.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"cg-follow-up.js","sources":["../../../src/components/cg-follow-up/cg-follow-up.ts"],"sourcesContent":["import { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion, shimmerKeyframes } from '../../styles/index.js';\n\n/**\n * <cg-follow-up> — Suggestion chips for chat conversations.\n *\n * @fires {CustomEvent<{text: string}>} cg-follow-up-click - When a suggestion is clicked\n */\n\nexport interface FollowUpItem {\n text: string;\n icon?: string;\n}\n\n@customElement('cg-follow-up')\nexport class CgFollowUp extends LitElement {\n static override styles = [hostBlock, reducedMotion, shimmerKeyframes, css`\n :host {\n display: block;\n font-family: var(--cg-font-family-primary);\n }\n\n .header {\n display: flex;\n align-items: center;\n gap: var(--cg-spacing-4);\n margin-bottom: var(--cg-spacing-8);\n }\n .header-icon {\n color: var(--cg-color-action-primary-background-default);\n }\n .label {\n font-size: var(--cg-font-size-xs);\n font-weight: var(--cg-font-weight-bold);\n color: var(--cg-color-action-primary-background-default);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n }\n\n .chips {\n display: flex;\n flex-wrap: wrap;\n gap: var(--cg-spacing-8);\n }\n\n /* ── Chip variant (default) ── */\n button {\n padding: var(--cg-spacing-8) var(--cg-spacing-16);\n border-radius: var(--cg-border-radius-full);\n border: var(--cg-border-width-50) solid var(--cg-color-surface-container-border);\n background: var(--cg-color-surface-container-background);\n color: var(--cg-color-surface-base-text);\n font: inherit;\n font-size: var(--cg-font-size-sm);\n font-weight: var(--cg-font-weight-medium);\n cursor: pointer;\n transition:\n border-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n background-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n transform var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n white-space: nowrap;\n line-height: var(--cg-line-height-snug);\n display: inline-flex;\n align-items: center;\n gap: var(--cg-spacing-6);\n animation: fadeIn var(--cg-transition-duration-fast) var(--cg-transition-easing-ease-out) both;\n animation-delay: calc(var(--item-index, 0) * 60ms);\n }\n\n @keyframes fadeIn {\n from { opacity: 0; transform: translateY(var(--cg-spacing-6)); }\n to { opacity: 1; transform: translateY(0); }\n }\n\n button:hover:not(:disabled) {\n border-color: var(--cg-color-action-primary-background-default);\n color: var(--cg-color-action-primary-background-default);\n background: var(--cg-color-action-tertiary-background-hover);\n }\n button:active:not(:disabled) { transform: scale(var(--cg-interaction-press-scale)); }\n button:focus-visible {\n outline: none;\n box-shadow: 0 0 0 3px var(--cg-overlay-accent-strong);\n }\n button:disabled { opacity: 0.4; cursor: not-allowed; }\n\n .icon {\n color: var(--cg-color-surface-container-outlined);\n }\n button:hover:not(:disabled) .icon {\n color: var(--cg-color-action-primary-background-default);\n }\n\n /* ── Card variant ── */\n :host([variant=\"cards\"]) button {\n border-radius: var(--cg-border-radius-100);\n padding: var(--cg-spacing-12) var(--cg-spacing-16);\n flex-direction: column;\n align-items: flex-start;\n gap: var(--cg-spacing-4);\n white-space: normal;\n text-align: left;\n min-width: 140px;\n }\n :host([variant=\"cards\"]) .icon {\n color: var(--cg-color-action-primary-background-default);\n opacity: 0.7;\n }\n\n /* ── Button variant ── */\n :host([variant=\"buttons\"]) button {\n border-radius: var(--cg-border-radius-100);\n padding: var(--cg-spacing-6) var(--cg-spacing-16);\n font-size: var(--cg-font-size-xs);\n font-weight: var(--cg-font-weight-semibold);\n }\n\n /* ── Overflow \"+N more\" ── */\n .more-badge {\n padding: var(--cg-spacing-8) var(--cg-spacing-16);\n border-radius: var(--cg-border-radius-full);\n border: var(--cg-border-width-50) dashed var(--cg-color-surface-container-border);\n background: transparent;\n color: var(--cg-color-surface-container-outlined);\n font: inherit;\n font-size: var(--cg-font-size-xs);\n font-weight: var(--cg-font-weight-semibold);\n cursor: pointer;\n transition:\n border-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n }\n .more-badge:hover {\n border-color: var(--cg-color-action-primary-background-default);\n color: var(--cg-color-action-primary-background-default);\n }\n\n /* ── Loading shimmer ── */\n .shimmer {\n height: var(--cg-spacing-40);\n border-radius: var(--cg-border-radius-full);\n background: linear-gradient(\n 90deg,\n var(--cg-color-surface-container-background) 25%,\n var(--cg-color-surface-container-border) 50%,\n var(--cg-color-surface-container-background) 75%\n );\n background-size: 200% 100%;\n animation: shimmer 1.5s infinite;\n }\n `];\n\n @property({ type: Array }) items: (string | FollowUpItem)[] = [];\n @property() label = 'Suggested';\n @property({ type: Boolean }) disabled = false;\n @property({ type: Boolean }) loading = false;\n @property({ type: Boolean }) hideLabel = false;\n @property({ type: String, reflect: true }) variant: 'chips' | 'cards' | 'buttons' = 'chips';\n @property({ type: Number }) maxVisible: number = 0;\n\n @state() private _showAll = false;\n\n private _getText(item: string | FollowUpItem): string {\n return typeof item === 'string' ? item : item.text;\n }\n\n private _getIcon(item: string | FollowUpItem): string | undefined {\n return typeof item === 'string' ? undefined : item.icon;\n }\n\n private _handleClick(item: string | FollowUpItem) {\n if (this.disabled) return;\n this.dispatchEvent(new CustomEvent('cg-follow-up-click', {\n detail: { text: this._getText(item) },\n bubbles: true,\n composed: true,\n }));\n }\n\n private _handleShowAll() {\n this._showAll = true;\n }\n\n override render() {\n const visibleItems = this.maxVisible > 0 && !this._showAll\n ? this.items.slice(0, this.maxVisible)\n : this.items;\n const remaining = this.maxVisible > 0 && !this._showAll\n ? this.items.length - this.maxVisible\n : 0;\n\n const shimmerWidths = [150, 190, 130, 170, 120];\n\n return html`\n ${!this.hideLabel ? html`\n <div class=\"header\">\n <cg-icon class=\"header-icon\" name=\"sparkle\" size=\"sm\"></cg-icon>\n <span class=\"label\">${this.label}</span>\n </div>\n ` : nothing}\n\n <div class=\"chips\" role=\"group\" aria-label=${this.label}>\n ${this.loading\n ? shimmerWidths.slice(0, this.maxVisible || 3).map(w => html`\n <div class=\"shimmer\" style=\"width: ${w}px\"></div>\n `)\n : html`\n ${visibleItems.map((item, i) => {\n const text = this._getText(item);\n const icon = this._getIcon(item);\n return html`\n <button\n style=\"--item-index: ${i}\"\n ?disabled=${this.disabled}\n aria-label=\"Suggestion: ${text}\"\n @click=${() => this._handleClick(item)}\n >\n ${icon ? html`<cg-icon class=\"icon\" name=\"${icon}\" size=\"sm\" aria-hidden=\"true\"></cg-icon>` : nothing}\n ${text}\n </button>\n `;\n })}\n ${remaining > 0 ? html`\n <button class=\"more-badge\" @click=${this._handleShowAll} aria-label=\"Show ${remaining} more suggestions\">\n +${remaining} more\n </button>\n ` : nothing}\n `\n }\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap { 'cg-follow-up': CgFollowUp; }\n}\n"],"names":["CgFollowUp","LitElement","item","visibleItems","remaining","shimmerWidths","html","nothing","w","i","text","icon","hostBlock","reducedMotion","shimmerKeyframes","css","__decorateClass","property","state","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"cg-follow-up.js","sources":["../../../src/components/cg-follow-up/cg-follow-up.ts"],"sourcesContent":["import { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion, shimmerKeyframes, focusRingSingle } from '../../styles/index.js';\n\n/**\n * <cg-follow-up> — Suggestion chips for chat conversations.\n *\n * @fires {CustomEvent<{text: string}>} cg-follow-up-click - When a suggestion is clicked\n */\n\nexport interface FollowUpItem {\n text: string;\n icon?: string;\n}\n\n@customElement('cg-follow-up')\nexport class CgFollowUp extends LitElement {\n static override styles = [hostBlock, reducedMotion, shimmerKeyframes, css`\n :host {\n display: block;\n font-family: var(--cg-font-family-primary);\n }\n\n .header {\n display: flex;\n align-items: center;\n gap: var(--cg-spacing-4);\n margin-bottom: var(--cg-spacing-8);\n }\n .header-icon {\n color: var(--cg-color-action-primary-background-default);\n }\n .label {\n font-size: var(--cg-font-size-xs);\n font-weight: var(--cg-font-weight-bold);\n color: var(--cg-color-action-primary-background-default);\n text-transform: uppercase;\n letter-spacing: 0.06em;\n }\n\n .chips {\n display: flex;\n flex-wrap: wrap;\n gap: var(--cg-spacing-8);\n }\n\n /* ── Chip variant (default) ── */\n button {\n padding: var(--cg-spacing-8) var(--cg-spacing-16);\n border-radius: var(--cg-border-radius-full);\n border: var(--cg-border-width-50) solid var(--cg-color-surface-container-border);\n background: var(--cg-color-surface-container-background);\n color: var(--cg-color-surface-base-text);\n font: inherit;\n font-size: var(--cg-font-size-sm);\n font-weight: var(--cg-font-weight-medium);\n cursor: pointer;\n transition:\n border-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n background-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n transform var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n white-space: nowrap;\n line-height: var(--cg-line-height-snug);\n display: inline-flex;\n align-items: center;\n gap: var(--cg-spacing-6);\n animation: fadeIn var(--cg-transition-duration-fast) var(--cg-transition-easing-ease-out) both;\n animation-delay: calc(var(--item-index, 0) * 60ms);\n }\n\n @keyframes fadeIn {\n from { opacity: 0; transform: translateY(var(--cg-spacing-6)); }\n to { opacity: 1; transform: translateY(0); }\n }\n\n button:hover:not(:disabled) {\n border-color: var(--cg-color-action-primary-background-default);\n color: var(--cg-color-action-primary-background-default);\n background: var(--cg-color-action-tertiary-background-hover);\n }\n button:active:not(:disabled) { transform: scale(var(--cg-interaction-press-scale)); }\n button:focus-visible {\n ${focusRingSingle}\n }\n button:disabled { opacity: 0.4; cursor: not-allowed; }\n\n .icon {\n color: var(--cg-color-surface-container-outlined);\n }\n button:hover:not(:disabled) .icon {\n color: var(--cg-color-action-primary-background-default);\n }\n\n /* ── Card variant ── */\n :host([variant=\"cards\"]) button {\n border-radius: var(--cg-border-radius-100);\n padding: var(--cg-spacing-12) var(--cg-spacing-16);\n flex-direction: column;\n align-items: flex-start;\n gap: var(--cg-spacing-4);\n white-space: normal;\n text-align: left;\n min-width: 140px;\n }\n :host([variant=\"cards\"]) .icon {\n color: var(--cg-color-action-primary-background-default);\n opacity: 0.7;\n }\n\n /* ── Button variant ── */\n :host([variant=\"buttons\"]) button {\n border-radius: var(--cg-border-radius-100);\n padding: var(--cg-spacing-6) var(--cg-spacing-16);\n font-size: var(--cg-font-size-xs);\n font-weight: var(--cg-font-weight-semibold);\n }\n\n /* ── Overflow \"+N more\" ── */\n .more-badge {\n padding: var(--cg-spacing-8) var(--cg-spacing-16);\n border-radius: var(--cg-border-radius-full);\n border: var(--cg-border-width-50) dashed var(--cg-color-surface-container-border);\n background: transparent;\n color: var(--cg-color-surface-container-outlined);\n font: inherit;\n font-size: var(--cg-font-size-xs);\n font-weight: var(--cg-font-weight-semibold);\n cursor: pointer;\n transition:\n border-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n }\n .more-badge:hover {\n border-color: var(--cg-color-action-primary-background-default);\n color: var(--cg-color-action-primary-background-default);\n }\n\n /* ── Loading shimmer ── */\n .shimmer {\n height: var(--cg-spacing-40);\n border-radius: var(--cg-border-radius-full);\n background: linear-gradient(\n 90deg,\n var(--cg-color-surface-container-background) 25%,\n var(--cg-color-surface-container-border) 50%,\n var(--cg-color-surface-container-background) 75%\n );\n background-size: 200% 100%;\n animation: shimmer 1.5s infinite;\n }\n `];\n\n @property({ type: Array }) items: (string | FollowUpItem)[] = [];\n @property() label = 'Suggested';\n @property({ type: Boolean }) disabled = false;\n @property({ type: Boolean }) loading = false;\n @property({ type: Boolean }) hideLabel = false;\n @property({ type: String, reflect: true }) variant: 'chips' | 'cards' | 'buttons' = 'chips';\n @property({ type: Number }) maxVisible: number = 0;\n\n @state() private _showAll = false;\n\n private _getText(item: string | FollowUpItem): string {\n return typeof item === 'string' ? item : item.text;\n }\n\n private _getIcon(item: string | FollowUpItem): string | undefined {\n return typeof item === 'string' ? undefined : item.icon;\n }\n\n private _handleClick(item: string | FollowUpItem) {\n if (this.disabled) return;\n this.dispatchEvent(new CustomEvent('cg-follow-up-click', {\n detail: { text: this._getText(item) },\n bubbles: true,\n composed: true,\n }));\n }\n\n private _handleShowAll() {\n this._showAll = true;\n }\n\n override render() {\n const visibleItems = this.maxVisible > 0 && !this._showAll\n ? this.items.slice(0, this.maxVisible)\n : this.items;\n const remaining = this.maxVisible > 0 && !this._showAll\n ? this.items.length - this.maxVisible\n : 0;\n\n const shimmerWidths = [150, 190, 130, 170, 120];\n\n return html`\n ${!this.hideLabel ? html`\n <div class=\"header\">\n <cg-icon class=\"header-icon\" name=\"sparkle\" size=\"sm\"></cg-icon>\n <span class=\"label\">${this.label}</span>\n </div>\n ` : nothing}\n\n <div class=\"chips\" role=\"group\" aria-label=${this.label} aria-busy=${this.loading}>\n ${this.loading\n ? shimmerWidths.slice(0, this.maxVisible || 3).map(w => html`\n <div class=\"shimmer\" style=\"width: ${w}px\"></div>\n `)\n : html`\n ${visibleItems.map((item, i) => {\n const text = this._getText(item);\n const icon = this._getIcon(item);\n return html`\n <button\n style=\"--item-index: ${i}\"\n ?disabled=${this.disabled}\n aria-label=\"Suggestion: ${text}\"\n @click=${() => this._handleClick(item)}\n >\n ${icon ? html`<cg-icon class=\"icon\" name=\"${icon}\" size=\"sm\" aria-hidden=\"true\"></cg-icon>` : nothing}\n ${text}\n </button>\n `;\n })}\n ${remaining > 0 ? html`\n <button class=\"more-badge\" @click=${this._handleShowAll} aria-label=\"Show ${remaining} more suggestions\">\n +${remaining} more\n </button>\n ` : nothing}\n `\n }\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap { 'cg-follow-up': CgFollowUp; }\n}\n"],"names":["CgFollowUp","LitElement","item","visibleItems","remaining","shimmerWidths","html","nothing","w","i","text","icon","hostBlock","reducedMotion","shimmerKeyframes","css","focusRingSingle","__decorateClass","property","state","customElement"],"mappings":"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"}
@@ -1,17 +1,17 @@
1
- import { css as g, LitElement as f, nothing as p, html as m } from "lit";
2
- import { property as i, customElement as u } from "lit/decorators.js";
3
- import { h as d, r as h } from "../../chunks/premium.css-9I4kHrsl.js";
4
- var v = Object.defineProperty, b = Object.getOwnPropertyDescriptor, l = (e, s, a, t) => {
5
- for (var r = t > 1 ? void 0 : t ? b(s, a) : s, n = e.length - 1, c; n >= 0; n--)
6
- (c = e[n]) && (r = (t ? c(s, a, r) : c(r)) || r);
7
- return t && r && v(s, a, r), r;
1
+ import { css as g, LitElement as f, nothing as d, html as m } from "lit";
2
+ import { property as i, customElement as p } from "lit/decorators.js";
3
+ import { h as u, r as h } from "../../chunks/premium.css-DHekUEUt.js";
4
+ var v = Object.defineProperty, b = Object.getOwnPropertyDescriptor, l = (t, s, a, e) => {
5
+ for (var r = e > 1 ? void 0 : e ? b(s, a) : s, n = t.length - 1, c; n >= 0; n--)
6
+ (c = t[n]) && (r = (e ? c(s, a, r) : c(r)) || r);
7
+ return e && r && v(s, a, r), r;
8
8
  };
9
9
  let o = class extends f {
10
10
  constructor() {
11
11
  super(...arguments), this.name = "", this.gap = "md", this.loading = !1, this.errors = [];
12
12
  }
13
- _handleSubmit(e) {
14
- e.preventDefault(), !this.loading && this.dispatchEvent(new CustomEvent("cg-submit", {
13
+ _handleSubmit(t) {
14
+ t.preventDefault(), !this.loading && this.dispatchEvent(new CustomEvent("cg-submit", {
15
15
  detail: { name: this.name },
16
16
  bubbles: !0,
17
17
  composed: !0
@@ -21,8 +21,8 @@ let o = class extends f {
21
21
  reset() {
22
22
  this.shadowRoot?.querySelector("form")?.reset();
23
23
  const a = this.shadowRoot?.querySelector("slot")?.assignedElements({ flatten: !0 }) ?? [];
24
- for (const t of a)
25
- typeof t.formResetCallback == "function" && t.formResetCallback(), t.querySelectorAll("*").forEach((r) => {
24
+ for (const e of a)
25
+ typeof e.formResetCallback == "function" && e.formResetCallback(), e.querySelectorAll("*").forEach((r) => {
26
26
  typeof r.formResetCallback == "function" && r.formResetCallback();
27
27
  });
28
28
  this.dispatchEvent(new CustomEvent("cg-reset", { bubbles: !0, composed: !0 }));
@@ -35,17 +35,17 @@ let o = class extends f {
35
35
  aria-busy=${this.loading ? "true" : "false"}
36
36
  >
37
37
  ${this.errors.length > 0 ? m`
38
- <div class="error-summary" role="alert">
39
- <strong>Please fix the following:</strong>
40
- <ul>${this.errors.map((e) => m`<li>${e}</li>`)}</ul>
38
+ <div class="error-summary" role="alert" aria-labelledby="cg-form-error-heading">
39
+ <strong id="cg-form-error-heading" role="heading" aria-level="2">Please fix the following:</strong>
40
+ <ul>${this.errors.map((t) => m`<li>${t}</li>`)}</ul>
41
41
  </div>
42
- ` : p}
42
+ ` : d}
43
43
  <slot></slot>
44
44
  </form>
45
45
  `;
46
46
  }
47
47
  };
48
- o.styles = [d, h, g`
48
+ o.styles = [u, h, g`
49
49
  :host {
50
50
  display: block;
51
51
  font-family: var(--cg-font-family-primary);
@@ -101,7 +101,7 @@ l([
101
101
  i({ type: Array })
102
102
  ], o.prototype, "errors", 2);
103
103
  o = l([
104
- u("cg-form")
104
+ p("cg-form")
105
105
  ], o);
106
106
  export {
107
107
  o as CgForm
@@ -1 +1 @@
1
- {"version":3,"file":"cg-form.js","sources":["../../../src/components/cg-form/cg-form.ts"],"sourcesContent":["import { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion } from '../../styles/index.js';\n\n/**\n * <cg-form> — Form container with submit handling, loading state, and field gap control.\n *\n * Features:\n * - Prevents default submit, emits cg-submit with form name\n * - Loading state disables submit\n * - Configurable gap between fields\n * - Reset method\n * - Keyboard submit on Enter\n */\n@customElement('cg-form')\nexport class CgForm extends LitElement {\n static override styles = [hostBlock, reducedMotion, css`\n :host {\n display: block;\n font-family: var(--cg-font-family-primary);\n }\n\n form {\n display: flex;\n flex-direction: column;\n }\n\n /* All slotted children stretch to full width */\n ::slotted(*) {\n width: 100%;\n }\n\n :host([gap=\"sm\"]) form { gap: var(--cg-spacing-8); }\n :host([gap=\"md\"]) form { gap: var(--cg-spacing-16); }\n :host([gap=\"lg\"]) form { gap: var(--cg-spacing-24); }\n\n :host([loading]) form {\n opacity: 0.6;\n pointer-events: none;\n }\n\n .error-summary {\n padding: var(--cg-spacing-12);\n background: var(--cg-color-status-error-background-default);\n border: var(--cg-border-width-50) solid var(--cg-color-status-error-border-default);\n border-radius: var(--cg-border-radius-100);\n color: var(--cg-color-status-error-text-default);\n font-size: var(--cg-font-size-sm);\n line-height: var(--cg-line-height-normal);\n }\n\n .error-summary ul {\n margin: var(--cg-spacing-4) 0 0;\n padding-left: var(--cg-spacing-16);\n }\n .error-summary li {\n margin: var(--cg-spacing-2) 0;\n }\n `];\n\n /** Form name identifier. */\n @property() name = '';\n\n /** Gap between form fields. */\n @property({ reflect: true }) gap: 'sm' | 'md' | 'lg' = 'md';\n\n /** Loading state — disables interactions. */\n @property({ type: Boolean, reflect: true }) loading = false;\n\n /** List of error messages to show in summary. */\n @property({ type: Array }) errors: string[] = [];\n\n private _handleSubmit(e: Event) {\n e.preventDefault();\n if (this.loading) return;\n this.dispatchEvent(new CustomEvent('cg-submit', {\n detail: { name: this.name },\n bubbles: true,\n composed: true,\n }));\n }\n\n /** Programmatic reset — clears inputs via native form reset and slotted custom elements. */\n reset() {\n const form = this.shadowRoot?.querySelector('form');\n form?.reset();\n\n // Reset slotted form-associated custom elements via formResetCallback\n const slot = this.shadowRoot?.querySelector('slot');\n const slotted = slot?.assignedElements({ flatten: true }) ?? [];\n for (const el of slotted) {\n if (typeof (el as any).formResetCallback === 'function') {\n (el as any).formResetCallback();\n }\n // Also check nested children (e.g., wrapper divs containing custom elements)\n el.querySelectorAll('*').forEach((child: Element) => {\n if (typeof (child as any).formResetCallback === 'function') {\n (child as any).formResetCallback();\n }\n });\n }\n\n this.dispatchEvent(new CustomEvent('cg-reset', { bubbles: true, composed: true }));\n }\n\n override render() {\n return html`\n <form\n @submit=${this._handleSubmit}\n novalidate\n aria-busy=${this.loading ? 'true' : 'false'}\n >\n ${this.errors.length > 0 ? html`\n <div class=\"error-summary\" role=\"alert\">\n <strong>Please fix the following:</strong>\n <ul>${this.errors.map(e => html`<li>${e}</li>`)}</ul>\n </div>\n ` : nothing}\n <slot></slot>\n </form>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap { 'cg-form': CgForm; }\n}\n"],"names":["CgForm","LitElement","slotted","el","child","html","nothing","hostBlock","reducedMotion","css","__decorateClass","property","customElement"],"mappings":";;;;;;;;AAeO,IAAMA,IAAN,cAAqBC,EAAW;AAAA,EAAhC,cAAA;AAAA,UAAA,GAAA,SAAA,GA8CO,KAAA,OAAO,IAGU,KAAA,MAA0B,MAGX,KAAA,UAAU,IAG3B,KAAA,SAAmB,CAAA;AAAA,EAAC;AAAA,EAEvC,cAAc,GAAU;AAE9B,IADA,EAAE,eAAA,GACE,MAAK,WACT,KAAK,cAAc,IAAI,YAAY,aAAa;AAAA,MAC9C,QAAQ,EAAE,MAAM,KAAK,KAAA;AAAA,MACrB,SAAS;AAAA,MACT,UAAU;AAAA,IAAA,CACX,CAAC;AAAA,EACJ;AAAA;AAAA,EAGA,QAAQ;AAEN,IADa,KAAK,YAAY,cAAc,MAAM,GAC5C,MAAA;AAIN,UAAMC,IADO,KAAK,YAAY,cAAc,MAAM,GAC5B,iBAAiB,EAAE,SAAS,GAAA,CAAM,KAAK,CAAA;AAC7D,eAAWC,KAAMD;AACf,MAAI,OAAQC,EAAW,qBAAsB,cAC1CA,EAAW,kBAAA,GAGdA,EAAG,iBAAiB,GAAG,EAAE,QAAQ,CAACC,MAAmB;AACnD,QAAI,OAAQA,EAAc,qBAAsB,cAC7CA,EAAc,kBAAA;AAAA,MAEnB,CAAC;AAGH,SAAK,cAAc,IAAI,YAAY,YAAY,EAAE,SAAS,IAAM,UAAU,GAAA,CAAM,CAAC;AAAA,EACnF;AAAA,EAES,SAAS;AAChB,WAAOC;AAAA;AAAA,kBAEO,KAAK,aAAa;AAAA;AAAA,oBAEhB,KAAK,UAAU,SAAS,OAAO;AAAA;AAAA,UAEzC,KAAK,OAAO,SAAS,IAAIA;AAAA;AAAA;AAAA,kBAGjB,KAAK,OAAO,IAAI,OAAKA,QAAW,CAAC,OAAO,CAAC;AAAA;AAAA,YAE/CC,CAAO;AAAA;AAAA;AAAA;AAAA,EAIjB;AACF;AA3GaN,EACK,SAAS,CAACO,GAAWC,GAAeC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA0CnD;AAGWC,EAAA;AAAA,EAAXC,EAAA;AAAS,GA9CCX,EA8CC,WAAA,QAAA,CAAA;AAGiBU,EAAA;AAAA,EAA5BC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAjDhBX,EAiDkB,WAAA,OAAA,CAAA;AAGeU,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GApD/BX,EAoDiC,WAAA,WAAA,CAAA;AAGjBU,EAAA;AAAA,EAA1BC,EAAS,EAAE,MAAM,MAAA,CAAO;AAAA,GAvDdX,EAuDgB,WAAA,UAAA,CAAA;AAvDhBA,IAANU,EAAA;AAAA,EADNE,EAAc,SAAS;AAAA,GACXZ,CAAA;"}
1
+ {"version":3,"file":"cg-form.js","sources":["../../../src/components/cg-form/cg-form.ts"],"sourcesContent":["import { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion } from '../../styles/index.js';\n\n/**\n * <cg-form> — Form container with submit handling, loading state, and field gap control.\n *\n * Features:\n * - Prevents default submit, emits cg-submit with form name\n * - Loading state disables submit\n * - Configurable gap between fields\n * - Reset method\n * - Keyboard submit on Enter\n */\n@customElement('cg-form')\nexport class CgForm extends LitElement {\n static override styles = [hostBlock, reducedMotion, css`\n :host {\n display: block;\n font-family: var(--cg-font-family-primary);\n }\n\n form {\n display: flex;\n flex-direction: column;\n }\n\n /* All slotted children stretch to full width */\n ::slotted(*) {\n width: 100%;\n }\n\n :host([gap=\"sm\"]) form { gap: var(--cg-spacing-8); }\n :host([gap=\"md\"]) form { gap: var(--cg-spacing-16); }\n :host([gap=\"lg\"]) form { gap: var(--cg-spacing-24); }\n\n :host([loading]) form {\n opacity: 0.6;\n pointer-events: none;\n }\n\n .error-summary {\n padding: var(--cg-spacing-12);\n background: var(--cg-color-status-error-background-default);\n border: var(--cg-border-width-50) solid var(--cg-color-status-error-border-default);\n border-radius: var(--cg-border-radius-100);\n color: var(--cg-color-status-error-text-default);\n font-size: var(--cg-font-size-sm);\n line-height: var(--cg-line-height-normal);\n }\n\n .error-summary ul {\n margin: var(--cg-spacing-4) 0 0;\n padding-left: var(--cg-spacing-16);\n }\n .error-summary li {\n margin: var(--cg-spacing-2) 0;\n }\n `];\n\n /** Form name identifier. */\n @property() name = '';\n\n /** Gap between form fields. */\n @property({ reflect: true }) gap: 'sm' | 'md' | 'lg' = 'md';\n\n /** Loading state — disables interactions. */\n @property({ type: Boolean, reflect: true }) loading = false;\n\n /** List of error messages to show in summary. */\n @property({ type: Array }) errors: string[] = [];\n\n private _handleSubmit(e: Event) {\n e.preventDefault();\n if (this.loading) return;\n this.dispatchEvent(new CustomEvent('cg-submit', {\n detail: { name: this.name },\n bubbles: true,\n composed: true,\n }));\n }\n\n /** Programmatic reset — clears inputs via native form reset and slotted custom elements. */\n reset() {\n const form = this.shadowRoot?.querySelector('form');\n form?.reset();\n\n // Reset slotted form-associated custom elements via formResetCallback\n const slot = this.shadowRoot?.querySelector('slot');\n const slotted = slot?.assignedElements({ flatten: true }) ?? [];\n for (const el of slotted) {\n if (typeof (el as any).formResetCallback === 'function') {\n (el as any).formResetCallback();\n }\n // Also check nested children (e.g., wrapper divs containing custom elements)\n el.querySelectorAll('*').forEach((child: Element) => {\n if (typeof (child as any).formResetCallback === 'function') {\n (child as any).formResetCallback();\n }\n });\n }\n\n this.dispatchEvent(new CustomEvent('cg-reset', { bubbles: true, composed: true }));\n }\n\n override render() {\n return html`\n <form\n @submit=${this._handleSubmit}\n novalidate\n aria-busy=${this.loading ? 'true' : 'false'}\n >\n ${this.errors.length > 0 ? html`\n <div class=\"error-summary\" role=\"alert\" aria-labelledby=\"cg-form-error-heading\">\n <strong id=\"cg-form-error-heading\" role=\"heading\" aria-level=\"2\">Please fix the following:</strong>\n <ul>${this.errors.map(e => html`<li>${e}</li>`)}</ul>\n </div>\n ` : nothing}\n <slot></slot>\n </form>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap { 'cg-form': CgForm; }\n}\n"],"names":["CgForm","LitElement","e","slotted","el","child","html","nothing","hostBlock","reducedMotion","css","__decorateClass","property","customElement"],"mappings":";;;;;;;;AAeO,IAAMA,IAAN,cAAqBC,EAAW;AAAA,EAAhC,cAAA;AAAA,UAAA,GAAA,SAAA,GA8CO,KAAA,OAAO,IAGU,KAAA,MAA0B,MAGX,KAAA,UAAU,IAG3B,KAAA,SAAmB,CAAA;AAAA,EAAC;AAAA,EAEvC,cAAcC,GAAU;AAE9B,IADAA,EAAE,eAAA,GACE,MAAK,WACT,KAAK,cAAc,IAAI,YAAY,aAAa;AAAA,MAC9C,QAAQ,EAAE,MAAM,KAAK,KAAA;AAAA,MACrB,SAAS;AAAA,MACT,UAAU;AAAA,IAAA,CACX,CAAC;AAAA,EACJ;AAAA;AAAA,EAGA,QAAQ;AAEN,IADa,KAAK,YAAY,cAAc,MAAM,GAC5C,MAAA;AAIN,UAAMC,IADO,KAAK,YAAY,cAAc,MAAM,GAC5B,iBAAiB,EAAE,SAAS,GAAA,CAAM,KAAK,CAAA;AAC7D,eAAWC,KAAMD;AACf,MAAI,OAAQC,EAAW,qBAAsB,cAC1CA,EAAW,kBAAA,GAGdA,EAAG,iBAAiB,GAAG,EAAE,QAAQ,CAACC,MAAmB;AACnD,QAAI,OAAQA,EAAc,qBAAsB,cAC7CA,EAAc,kBAAA;AAAA,MAEnB,CAAC;AAGH,SAAK,cAAc,IAAI,YAAY,YAAY,EAAE,SAAS,IAAM,UAAU,GAAA,CAAM,CAAC;AAAA,EACnF;AAAA,EAES,SAAS;AAChB,WAAOC;AAAA;AAAA,kBAEO,KAAK,aAAa;AAAA;AAAA,oBAEhB,KAAK,UAAU,SAAS,OAAO;AAAA;AAAA,UAEzC,KAAK,OAAO,SAAS,IAAIA;AAAA;AAAA;AAAA,kBAGjB,KAAK,OAAO,IAAI,OAAKA,QAAWJ,CAAC,OAAO,CAAC;AAAA;AAAA,YAE/CK,CAAO;AAAA;AAAA;AAAA;AAAA,EAIjB;AACF;AA3GaP,EACK,SAAS,CAACQ,GAAWC,GAAeC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GA0CnD;AAGWC,EAAA;AAAA,EAAXC,EAAA;AAAS,GA9CCZ,EA8CC,WAAA,QAAA,CAAA;AAGiBW,EAAA;AAAA,EAA5BC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAjDhBZ,EAiDkB,WAAA,OAAA,CAAA;AAGeW,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GApD/BZ,EAoDiC,WAAA,WAAA,CAAA;AAGjBW,EAAA;AAAA,EAA1BC,EAAS,EAAE,MAAM,MAAA,CAAO;AAAA,GAvDdZ,EAuDgB,WAAA,UAAA,CAAA;AAvDhBA,IAANW,EAAA;AAAA,EADNE,EAAc,SAAS;AAAA,GACXb,CAAA;"}
@@ -39,6 +39,7 @@ export declare class CgHoverCard extends LitElement {
39
39
  private _updatePosition;
40
40
  private _scheduleOpen;
41
41
  private _scheduleClose;
42
+ private _onKeydown;
42
43
  render(): import('lit').TemplateResult<1>;
43
44
  }
44
45
  declare global {
@@ -1 +1 @@
1
- {"version":3,"file":"cg-hover-card.d.ts","sourceRoot":"","sources":["../../../src/components/cg-hover-card/cg-hover-card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBACa,WAAY,SAAQ,UAAU;IACzC,OAAgB,MAAM,4BAyDnB;IAEyC,IAAI,UAAS;IAC7C,SAAS,EAAE,SAAS,CAAS;IACb,MAAM,SAAM;IACa,SAAS,SAAO;IACf,UAAU,SAAO;IAEvD,OAAO,CAAC,OAAO,CAAe;IAC3B,OAAO,CAAC,UAAU,CAAe;IAEpD,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,kBAAkB,CAA6B;IAE9C,oBAAoB,IAAI,IAAI;IAO5B,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAiBrD,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,cAAc;IAMb,MAAM;CAsBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,WAAW,CAAC;KAC9B;CACF"}
1
+ {"version":3,"file":"cg-hover-card.d.ts","sourceRoot":"","sources":["../../../src/components/cg-hover-card/cg-hover-card.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEtF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,qBACa,WAAY,SAAQ,UAAU;IACzC,OAAgB,MAAM,4BAyDnB;IAEyC,IAAI,UAAS;IAC7C,SAAS,EAAE,SAAS,CAAS;IACb,MAAM,SAAM;IACa,SAAS,SAAO;IACf,UAAU,SAAO;IAEvD,OAAO,CAAC,OAAO,CAAe;IAC3B,OAAO,CAAC,UAAU,CAAe;IAEpD,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,WAAW,CAAuB;IAC1C,OAAO,CAAC,kBAAkB,CAA6B;IAE9C,oBAAoB,IAAI,IAAI;IAO5B,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAiBrD,OAAO,CAAC,eAAe;IAavB,OAAO,CAAC,aAAa;IAMrB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,UAAU,CAIhB;IAEO,MAAM;CAyBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,WAAW,CAAC;KAC9B;CACF"}
@@ -1,29 +1,31 @@
1
- import { css as p, LitElement as d, html as u } from "lit";
1
+ import { css as d, LitElement as p, html as u } from "lit";
2
2
  import { property as n, query as h, customElement as g } from "lit/decorators.js";
3
- import { h as m, r as f } from "../../chunks/premium.css-9I4kHrsl.js";
3
+ import { h as m, r as f } from "../../chunks/premium.css-DHekUEUt.js";
4
4
  import { b as v, c as _ } from "../../chunks/floating-DfsaYJnh.js";
5
- var y = Object.defineProperty, b = Object.getOwnPropertyDescriptor, r = (t, o, s, a) => {
6
- for (var i = a > 1 ? void 0 : a ? b(o, s) : o, l = t.length - 1, c; l >= 0; l--)
7
- (c = t[l]) && (i = (a ? c(o, s, i) : c(i)) || i);
8
- return a && i && y(o, s, i), i;
5
+ var y = Object.defineProperty, b = Object.getOwnPropertyDescriptor, o = (e, r, s, a) => {
6
+ for (var i = a > 1 ? void 0 : a ? b(r, s) : r, l = e.length - 1, c; l >= 0; l--)
7
+ (c = e[l]) && (i = (a ? c(r, s, i) : c(i)) || i);
8
+ return a && i && y(r, s, i), i;
9
9
  };
10
- let e = class extends d {
10
+ let t = class extends p {
11
11
  constructor() {
12
- super(...arguments), this.open = !1, this.placement = "top", this.offset = 12, this.openDelay = 700, this.closeDelay = 300, this._openTimer = null, this._closeTimer = null, this._cleanupAutoUpdate = null;
12
+ super(...arguments), this.open = !1, this.placement = "top", this.offset = 12, this.openDelay = 700, this.closeDelay = 300, this._openTimer = null, this._closeTimer = null, this._cleanupAutoUpdate = null, this._onKeydown = (e) => {
13
+ e.key === "Escape" && this.open && (this.open = !1);
14
+ };
13
15
  }
14
16
  disconnectedCallback() {
15
17
  super.disconnectedCallback(), this._openTimer && clearTimeout(this._openTimer), this._closeTimer && clearTimeout(this._closeTimer), this._cleanupAutoUpdate?.();
16
18
  }
17
- updated(t) {
18
- t.has("open") && (this.open ? (this.dispatchEvent(new CustomEvent("cg-hover-card-open", { bubbles: !0, composed: !0 })), requestAnimationFrame(() => {
19
+ updated(e) {
20
+ e.has("open") && (this.open ? (this.dispatchEvent(new CustomEvent("cg-hover-card-open", { bubbles: !0, composed: !0 })), requestAnimationFrame(() => {
19
21
  this._triggerEl && this._cardEl && (this._cleanupAutoUpdate = v(this._triggerEl, this._cardEl, () => this._updatePosition()));
20
22
  })) : (this.dispatchEvent(new CustomEvent("cg-hover-card-close", { bubbles: !0, composed: !0 })), this._cleanupAutoUpdate?.(), this._cleanupAutoUpdate = null));
21
23
  }
22
24
  _updatePosition() {
23
25
  if (!this._triggerEl || !this._cardEl) return;
24
- const t = this._triggerEl.getBoundingClientRect(), o = this._cardEl.getBoundingClientRect(), s = _(
25
- { top: t.top, left: t.left, width: t.width, height: t.height },
26
- { width: o.width, height: o.height },
26
+ const e = this._triggerEl.getBoundingClientRect(), r = this._cardEl.getBoundingClientRect(), s = _(
27
+ { top: e.top, left: e.left, width: e.width, height: e.height },
28
+ { width: r.width, height: r.height },
27
29
  { placement: this.placement, offset: this.offset, flip: !0, shift: !0 }
28
30
  );
29
31
  this._cardEl.style.top = `${s.y}px`, this._cardEl.style.left = `${s.x}px`;
@@ -46,22 +48,25 @@ let e = class extends d {
46
48
  @mouseleave=${this._scheduleClose}
47
49
  @focusin=${this._scheduleOpen}
48
50
  @focusout=${this._scheduleClose}
51
+ @keydown=${this._onKeydown}
49
52
  >
50
53
  <slot></slot>
51
54
  </div>
52
55
  <div
53
56
  class="card"
54
- role="tooltip"
57
+ role="dialog"
58
+ aria-modal="false"
55
59
  ?inert=${!this.open}
56
60
  @mouseenter=${this._scheduleOpen}
57
61
  @mouseleave=${this._scheduleClose}
62
+ @keydown=${this._onKeydown}
58
63
  >
59
64
  <slot name="content"></slot>
60
65
  </div>
61
66
  `;
62
67
  }
63
68
  };
64
- e.styles = [m, f, p`
69
+ t.styles = [m, f, d`
65
70
  :host {
66
71
  display: inline-block;
67
72
  position: relative;
@@ -119,31 +124,31 @@ e.styles = [m, f, p`
119
124
  filter: brightness(1.05);
120
125
  }
121
126
  `];
122
- r([
127
+ o([
123
128
  n({ type: Boolean, reflect: !0 })
124
- ], e.prototype, "open", 2);
125
- r([
129
+ ], t.prototype, "open", 2);
130
+ o([
126
131
  n()
127
- ], e.prototype, "placement", 2);
128
- r([
132
+ ], t.prototype, "placement", 2);
133
+ o([
129
134
  n({ type: Number })
130
- ], e.prototype, "offset", 2);
131
- r([
135
+ ], t.prototype, "offset", 2);
136
+ o([
132
137
  n({ type: Number, attribute: "open-delay" })
133
- ], e.prototype, "openDelay", 2);
134
- r([
138
+ ], t.prototype, "openDelay", 2);
139
+ o([
135
140
  n({ type: Number, attribute: "close-delay" })
136
- ], e.prototype, "closeDelay", 2);
137
- r([
141
+ ], t.prototype, "closeDelay", 2);
142
+ o([
138
143
  h(".card")
139
- ], e.prototype, "_cardEl", 2);
140
- r([
144
+ ], t.prototype, "_cardEl", 2);
145
+ o([
141
146
  h(".trigger")
142
- ], e.prototype, "_triggerEl", 2);
143
- e = r([
147
+ ], t.prototype, "_triggerEl", 2);
148
+ t = o([
144
149
  g("cg-hover-card")
145
- ], e);
150
+ ], t);
146
151
  export {
147
- e as CgHoverCard
152
+ t as CgHoverCard
148
153
  };
149
154
  //# sourceMappingURL=cg-hover-card.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cg-hover-card.js","sources":["../../../src/components/cg-hover-card/cg-hover-card.ts"],"sourcesContent":["import { LitElement, html, css } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion } from '../../styles/index.js';\nimport { computePosition, autoUpdate, type Placement } from '../../utils/floating.js';\n\n/**\n * @element cg-hover-card\n * Rich hover preview with configurable open/close delays. Useful for user cards,\n * link previews, or any content that benefits from non-intrusive hover.\n *\n * @example\n * ```html\n * <cg-hover-card placement=\"top\">\n * <a href=\"#\">@alice</a>\n * <div slot=\"content\">\n * <strong>Alice Johnson</strong>\n * <p>Senior Engineer</p>\n * </div>\n * </cg-hover-card>\n * ```\n *\n * @slot - Trigger element\n * @slot content - Hover card content\n *\n * @fires {CustomEvent} cg-hover-card-open\n * @fires {CustomEvent} cg-hover-card-close\n */\n@customElement('cg-hover-card')\nexport class CgHoverCard extends LitElement {\n static override styles = [hostBlock, reducedMotion, css`\n :host {\n display: inline-block;\n position: relative;\n }\n\n .trigger {\n display: inline-flex;\n }\n\n .card {\n position: fixed;\n z-index: var(--cg-z-index-500);\n width: var(--cg-component-hover-card-width);\n padding: var(--cg-component-hover-card-padding);\n background: var(--cg-color-modal-container-background);\n border: var(--cg-border-width-50) solid var(--cg-color-action-secondary-border-default);\n border-radius: var(--cg-component-hover-card-radius);\n color: var(--cg-color-surface-container-text);\n /* Hover-card sits between popover (sm) and modal (xl) on the elevation scale.\n Lg gives it presence without feeling weighty — matches GitHub/Linear/Vercel norms. */\n box-shadow: var(--cg-shadow-elevation-lg);\n opacity: 0;\n transform: scale(0.94) translateY(var(--cg-spacing-6));\n pointer-events: none;\n will-change: transform, opacity;\n transition:\n opacity var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n transform var(--cg-transition-duration-default) var(--cg-transition-easing-spring);\n }\n\n :host([open]) .card {\n opacity: 1;\n transform: scale(1) translateY(0);\n pointer-events: auto;\n }\n\n /* Stagger the inner content slightly behind the card chrome so the entrance\n reads as \"card lands, then content settles in\" — feels premium without\n being slow. */\n .card ::slotted(*) {\n opacity: 0;\n transform: translateY(var(--cg-spacing-2));\n transition:\n opacity var(--cg-transition-duration-default) var(--cg-transition-easing-default) 60ms,\n transform var(--cg-transition-duration-default) var(--cg-transition-easing-ease-out) 60ms;\n }\n :host([open]) .card ::slotted(*) {\n opacity: 1;\n transform: translateY(0);\n }\n\n /* Subtle border highlight on hover of the trigger — telegraphs that the\n trigger has a richer interaction beyond a normal link. */\n .trigger:hover ::slotted(*) {\n filter: brightness(1.05);\n }\n `];\n\n @property({ type: Boolean, reflect: true }) open = false;\n @property() placement: Placement = 'top';\n @property({ type: Number }) offset = 12;\n @property({ type: Number, attribute: 'open-delay' }) openDelay = 700;\n @property({ type: Number, attribute: 'close-delay' }) closeDelay = 300;\n\n @query('.card') private _cardEl!: HTMLElement;\n @query('.trigger') private _triggerEl!: HTMLElement;\n\n private _openTimer: number | null = null;\n private _closeTimer: number | null = null;\n private _cleanupAutoUpdate: (() => void) | null = null;\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this._openTimer) clearTimeout(this._openTimer);\n if (this._closeTimer) clearTimeout(this._closeTimer);\n this._cleanupAutoUpdate?.();\n }\n\n override updated(changed: Map<string, unknown>): void {\n if (changed.has('open')) {\n if (this.open) {\n this.dispatchEvent(new CustomEvent('cg-hover-card-open', { bubbles: true, composed: true }));\n requestAnimationFrame(() => {\n if (this._triggerEl && this._cardEl) {\n this._cleanupAutoUpdate = autoUpdate(this._triggerEl, this._cardEl, () => this._updatePosition());\n }\n });\n } else {\n this.dispatchEvent(new CustomEvent('cg-hover-card-close', { bubbles: true, composed: true }));\n this._cleanupAutoUpdate?.();\n this._cleanupAutoUpdate = null;\n }\n }\n }\n\n private _updatePosition(): void {\n if (!this._triggerEl || !this._cardEl) return;\n const triggerRect = this._triggerEl.getBoundingClientRect();\n const cardRect = this._cardEl.getBoundingClientRect();\n const result = computePosition(\n { top: triggerRect.top, left: triggerRect.left, width: triggerRect.width, height: triggerRect.height },\n { width: cardRect.width, height: cardRect.height },\n { placement: this.placement, offset: this.offset, flip: true, shift: true }\n );\n this._cardEl.style.top = `${result.y}px`;\n this._cardEl.style.left = `${result.x}px`;\n }\n\n private _scheduleOpen(): void {\n if (this._closeTimer) { clearTimeout(this._closeTimer); this._closeTimer = null; }\n if (this.open) return;\n this._openTimer = window.setTimeout(() => { this.open = true; }, this.openDelay);\n }\n\n private _scheduleClose(): void {\n if (this._openTimer) { clearTimeout(this._openTimer); this._openTimer = null; }\n if (!this.open) return;\n this._closeTimer = window.setTimeout(() => { this.open = false; }, this.closeDelay);\n }\n\n override render() {\n return html`\n <div\n class=\"trigger\"\n @mouseenter=${this._scheduleOpen}\n @mouseleave=${this._scheduleClose}\n @focusin=${this._scheduleOpen}\n @focusout=${this._scheduleClose}\n >\n <slot></slot>\n </div>\n <div\n class=\"card\"\n role=\"tooltip\"\n ?inert=${!this.open}\n @mouseenter=${this._scheduleOpen}\n @mouseleave=${this._scheduleClose}\n >\n <slot name=\"content\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cg-hover-card': CgHoverCard;\n }\n}\n"],"names":["CgHoverCard","LitElement","changed","autoUpdate","triggerRect","cardRect","result","computePosition","html","hostBlock","reducedMotion","css","__decorateClass","property","query","customElement"],"mappings":"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"}
1
+ {"version":3,"file":"cg-hover-card.js","sources":["../../../src/components/cg-hover-card/cg-hover-card.ts"],"sourcesContent":["import { LitElement, html, css } from 'lit';\nimport { customElement, property, query } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion } from '../../styles/index.js';\nimport { computePosition, autoUpdate, type Placement } from '../../utils/floating.js';\n\n/**\n * @element cg-hover-card\n * Rich hover preview with configurable open/close delays. Useful for user cards,\n * link previews, or any content that benefits from non-intrusive hover.\n *\n * @example\n * ```html\n * <cg-hover-card placement=\"top\">\n * <a href=\"#\">@alice</a>\n * <div slot=\"content\">\n * <strong>Alice Johnson</strong>\n * <p>Senior Engineer</p>\n * </div>\n * </cg-hover-card>\n * ```\n *\n * @slot - Trigger element\n * @slot content - Hover card content\n *\n * @fires {CustomEvent} cg-hover-card-open\n * @fires {CustomEvent} cg-hover-card-close\n */\n@customElement('cg-hover-card')\nexport class CgHoverCard extends LitElement {\n static override styles = [hostBlock, reducedMotion, css`\n :host {\n display: inline-block;\n position: relative;\n }\n\n .trigger {\n display: inline-flex;\n }\n\n .card {\n position: fixed;\n z-index: var(--cg-z-index-500);\n width: var(--cg-component-hover-card-width);\n padding: var(--cg-component-hover-card-padding);\n background: var(--cg-color-modal-container-background);\n border: var(--cg-border-width-50) solid var(--cg-color-action-secondary-border-default);\n border-radius: var(--cg-component-hover-card-radius);\n color: var(--cg-color-surface-container-text);\n /* Hover-card sits between popover (sm) and modal (xl) on the elevation scale.\n Lg gives it presence without feeling weighty — matches GitHub/Linear/Vercel norms. */\n box-shadow: var(--cg-shadow-elevation-lg);\n opacity: 0;\n transform: scale(0.94) translateY(var(--cg-spacing-6));\n pointer-events: none;\n will-change: transform, opacity;\n transition:\n opacity var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n transform var(--cg-transition-duration-default) var(--cg-transition-easing-spring);\n }\n\n :host([open]) .card {\n opacity: 1;\n transform: scale(1) translateY(0);\n pointer-events: auto;\n }\n\n /* Stagger the inner content slightly behind the card chrome so the entrance\n reads as \"card lands, then content settles in\" — feels premium without\n being slow. */\n .card ::slotted(*) {\n opacity: 0;\n transform: translateY(var(--cg-spacing-2));\n transition:\n opacity var(--cg-transition-duration-default) var(--cg-transition-easing-default) 60ms,\n transform var(--cg-transition-duration-default) var(--cg-transition-easing-ease-out) 60ms;\n }\n :host([open]) .card ::slotted(*) {\n opacity: 1;\n transform: translateY(0);\n }\n\n /* Subtle border highlight on hover of the trigger — telegraphs that the\n trigger has a richer interaction beyond a normal link. */\n .trigger:hover ::slotted(*) {\n filter: brightness(1.05);\n }\n `];\n\n @property({ type: Boolean, reflect: true }) open = false;\n @property() placement: Placement = 'top';\n @property({ type: Number }) offset = 12;\n @property({ type: Number, attribute: 'open-delay' }) openDelay = 700;\n @property({ type: Number, attribute: 'close-delay' }) closeDelay = 300;\n\n @query('.card') private _cardEl!: HTMLElement;\n @query('.trigger') private _triggerEl!: HTMLElement;\n\n private _openTimer: number | null = null;\n private _closeTimer: number | null = null;\n private _cleanupAutoUpdate: (() => void) | null = null;\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this._openTimer) clearTimeout(this._openTimer);\n if (this._closeTimer) clearTimeout(this._closeTimer);\n this._cleanupAutoUpdate?.();\n }\n\n override updated(changed: Map<string, unknown>): void {\n if (changed.has('open')) {\n if (this.open) {\n this.dispatchEvent(new CustomEvent('cg-hover-card-open', { bubbles: true, composed: true }));\n requestAnimationFrame(() => {\n if (this._triggerEl && this._cardEl) {\n this._cleanupAutoUpdate = autoUpdate(this._triggerEl, this._cardEl, () => this._updatePosition());\n }\n });\n } else {\n this.dispatchEvent(new CustomEvent('cg-hover-card-close', { bubbles: true, composed: true }));\n this._cleanupAutoUpdate?.();\n this._cleanupAutoUpdate = null;\n }\n }\n }\n\n private _updatePosition(): void {\n if (!this._triggerEl || !this._cardEl) return;\n const triggerRect = this._triggerEl.getBoundingClientRect();\n const cardRect = this._cardEl.getBoundingClientRect();\n const result = computePosition(\n { top: triggerRect.top, left: triggerRect.left, width: triggerRect.width, height: triggerRect.height },\n { width: cardRect.width, height: cardRect.height },\n { placement: this.placement, offset: this.offset, flip: true, shift: true }\n );\n this._cardEl.style.top = `${result.y}px`;\n this._cardEl.style.left = `${result.x}px`;\n }\n\n private _scheduleOpen(): void {\n if (this._closeTimer) { clearTimeout(this._closeTimer); this._closeTimer = null; }\n if (this.open) return;\n this._openTimer = window.setTimeout(() => { this.open = true; }, this.openDelay);\n }\n\n private _scheduleClose(): void {\n if (this._openTimer) { clearTimeout(this._openTimer); this._openTimer = null; }\n if (!this.open) return;\n this._closeTimer = window.setTimeout(() => { this.open = false; }, this.closeDelay);\n }\n\n private _onKeydown = (e: KeyboardEvent) => {\n if (e.key === 'Escape' && this.open) {\n this.open = false;\n }\n };\n\n override render() {\n return html`\n <div\n class=\"trigger\"\n @mouseenter=${this._scheduleOpen}\n @mouseleave=${this._scheduleClose}\n @focusin=${this._scheduleOpen}\n @focusout=${this._scheduleClose}\n @keydown=${this._onKeydown}\n >\n <slot></slot>\n </div>\n <div\n class=\"card\"\n role=\"dialog\"\n aria-modal=\"false\"\n ?inert=${!this.open}\n @mouseenter=${this._scheduleOpen}\n @mouseleave=${this._scheduleClose}\n @keydown=${this._onKeydown}\n >\n <slot name=\"content\"></slot>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cg-hover-card': CgHoverCard;\n }\n}\n"],"names":["CgHoverCard","LitElement","changed","autoUpdate","triggerRect","cardRect","result","computePosition","html","hostBlock","reducedMotion","css","__decorateClass","property","query","customElement"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"cg-icon.d.ts","sourceRoot":"","sources":["../../../src/components/cg-icon/cg-icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA0B,OAAO,EAAE,MAAM,KAAK,CAAC;AAmKlE,qBACa,MAAO,SAAQ,UAAU;IACpC,OAAgB,MAAM,4BAyCnB;IAEH,8HAA8H;IACjG,IAAI,SAAM;IAEvC,mBAAmB;IACU,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAE3E,oBAAoB;IACS,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAa;IAE3H,yCAAyC;IAC7B,KAAK,SAAM;IAEd,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAW9C,kCAAkC;IAClC,OAAO,CAAC,WAAW;IAInB,wDAAwD;IACxD,OAAO,CAAC,SAAS;IAajB,yCAAyC;YAC3B,aAAa;IA6BlB,MAAM;CA4DhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,MAAM,CAAC;KACnB;CACF"}
1
+ {"version":3,"file":"cg-icon.d.ts","sourceRoot":"","sources":["../../../src/components/cg-icon/cg-icon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA0B,OAAO,EAAE,MAAM,KAAK,CAAC;AAmKlE,qBACa,MAAO,SAAQ,UAAU;IACpC,OAAgB,MAAM,4BA+CnB;IAEH,8HAA8H;IACjG,IAAI,SAAM;IAEvC,mBAAmB;IACU,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAQ;IAE3E,oBAAoB;IACS,KAAK,EAAE,SAAS,GAAG,OAAO,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAa;IAE3H,yCAAyC;IAC7B,KAAK,SAAM;IAEd,OAAO,CAAC,OAAO,CAAuB;IACtC,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IAW9C,kCAAkC;IAClC,OAAO,CAAC,WAAW;IAInB,wDAAwD;IACxD,OAAO,CAAC,SAAS;IAajB,yCAAyC;YAC3B,aAAa;IA8BlB,MAAM;CA4DhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,MAAM,CAAC;KACnB;CACF"}
@@ -2,7 +2,7 @@ import { css as z, LitElement as S, nothing as M, svg as C, html as d } from "li
2
2
  import { property as k, state as b, customElement as L } from "lit/decorators.js";
3
3
  import { unsafeSVG as x } from "lit/directives/unsafe-svg.js";
4
4
  import { unsafeHTML as A } from "lit/directives/unsafe-html.js";
5
- import { a as V, r as Z, c as H } from "../../chunks/premium.css-9I4kHrsl.js";
5
+ import { a as V, r as Z, c as H } from "../../chunks/premium.css-DHekUEUt.js";
6
6
  const _ = {
7
7
  "home-2-linear": { body: '<g fill="none" stroke="currentColor" stroke-width="1.5"><path d="M2 12.204c0-2.289 0-3.433.52-4.381c.518-.949 1.467-1.537 3.364-2.715l2-1.241C9.889 2.622 10.892 2 12 2s2.11.622 4.116 1.867l2 1.241c1.897 1.178 2.846 1.766 3.365 2.715S22 9.915 22 12.203v1.522c0 3.9 0 5.851-1.172 7.063S17.771 22 14 22h-4c-3.771 0-5.657 0-6.828-1.212S2 17.626 2 13.725z"/><path stroke-linecap="round" d="M12 15v3"/></g>', width: 24, height: 24 },
8
8
  "home-2-bold": { body: '<path fill="currentColor" fill-rule="evenodd" d="M2.52 7.823C2 8.77 2 9.915 2 12.203v1.522c0 3.9 0 5.851 1.172 7.063S6.229 22 10 22h4c3.771 0 5.657 0 6.828-1.212S22 17.626 22 13.725v-1.521c0-2.289 0-3.433-.52-4.381c-.518-.949-1.467-1.537-3.364-2.715l-2-1.241C14.111 2.622 13.108 2 12 2s-2.11.622-4.116 1.867l-2 1.241C3.987 6.286 3.038 6.874 2.519 7.823M11.25 18a.75.75 0 0 0 1.5 0v-3a.75.75 0 0 0-1.5 0z" clip-rule="evenodd"/>', width: 24, height: 24 },
@@ -85,10 +85,10 @@ const _ = {
85
85
  "bug-linear": { body: '<g fill="none" stroke="currentColor" stroke-width="1.5"><path d="M19 15v-3.062A3.94 3.94 0 0 0 15.063 8H8.936A3.94 3.94 0 0 0 5 11.938V15a7 7 0 1 0 14 0Z"/><path d="M16.5 8.5v-1a4.5 4.5 0 1 0-9 0v1"/><path stroke-linecap="round" d="M19 14h3M5 14H2M14.5 3.5L17 2M9.5 3.5L7 2m13.5 18l-2-.8m2-11.2l-2 .8M3.5 20l2-.8M3.5 8l2 .8M12 21.5V15"/></g>', width: 24, height: 24 },
86
86
  "command-linear": { body: '<path fill="none" stroke="currentColor" stroke-width="1.5" d="M8 8h8v8H8zm8 8.001h3a3 3 0 1 1-3 3zm-7.999 0h-3a3 3 0 1 0 3 3zM16 8h3a3 3 0 1 0-3-3zM8.001 8h-3a3 3 0 1 1 3-3z"/>', width: 24, height: 24 }
87
87
  };
88
- var j = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, c = (r, e, l, t) => {
89
- for (var i = t > 1 ? void 0 : t ? $(e, l) : e, o = r.length - 1, n; o >= 0; o--)
90
- (n = r[o]) && (i = (t ? n(e, l, i) : n(i)) || i);
91
- return t && i && j(e, l, i), i;
88
+ var j = Object.defineProperty, $ = Object.getOwnPropertyDescriptor, c = (r, e, l, o) => {
89
+ for (var t = o > 1 ? void 0 : o ? $(e, l) : e, i = r.length - 1, n; i >= 0; i--)
90
+ (n = r[i]) && (t = (o ? n(e, l, t) : n(t)) || t);
91
+ return o && t && j(e, l, t), t;
92
92
  };
93
93
  const q = {
94
94
  "chevron-down": "M6 9l6 6 6-6",
@@ -123,7 +123,7 @@ const q = {
123
123
  "more-vertical": [[12, 5], [12, 12], [12, 19]],
124
124
  "more-horizontal": [[5, 12], [12, 12], [19, 12]],
125
125
  grip: [[9, 5], [9, 12], [9, 19], [15, 5], [15, 12], [15, 19]]
126
- }, m = {
126
+ }, g = {
127
127
  home: "home-2-linear",
128
128
  trash: "trash-bin-trash-linear",
129
129
  edit: "pen-new-square-linear",
@@ -180,20 +180,20 @@ function O(r) {
180
180
  return null;
181
181
  }
182
182
  if (e.querySelector("parsererror")) return null;
183
- const t = e.querySelector("svg");
184
- return t ? (((o) => {
185
- o.querySelectorAll("script, iframe, object, embed, form, style, foreignObject, use").forEach((s) => s.remove());
186
- const h = o.querySelectorAll("*"), u = (s) => {
183
+ const o = e.querySelector("svg");
184
+ return o ? (((i) => {
185
+ i.querySelectorAll("script, iframe, object, embed, form, style, foreignObject, use").forEach((s) => s.remove());
186
+ const h = i.querySelectorAll("*"), u = (s) => {
187
187
  const y = Array.from(s.attributes);
188
188
  for (const p of y) {
189
- const g = p.name.toLowerCase();
190
- (g.startsWith("on") || g === "formaction") && s.removeAttribute(p.name);
189
+ const m = p.name.toLowerCase();
190
+ (m.startsWith("on") || m === "formaction") && s.removeAttribute(p.name);
191
191
  const w = p.value.trim().toLowerCase();
192
- (g === "href" || g === "xlink:href") && (w.startsWith("javascript:") || w.startsWith("data:")) && s.removeAttribute(p.name);
192
+ (m === "href" || m === "xlink:href") && (w.startsWith("javascript:") || w.startsWith("data:")) && s.removeAttribute(p.name);
193
193
  }
194
194
  };
195
- u(o), h.forEach(u);
196
- })(t), t.outerHTML) : null;
195
+ u(i), h.forEach(u);
196
+ })(o), o.outerHTML) : null;
197
197
  }
198
198
  const f = /* @__PURE__ */ new Map();
199
199
  let a = class extends S {
@@ -210,34 +210,35 @@ let a = class extends S {
210
210
  /** Check bundled Solar icons (with alias resolution) */
211
211
  _getSolar() {
212
212
  let r = this.name;
213
- r.startsWith("solar:") ? r = r.slice(6) : m[r] && (r = m[r]);
213
+ r.startsWith("solar:") ? r = r.slice(6) : g[r] && (r = g[r]);
214
214
  const e = _[r];
215
215
  return e ? { body: e.body, width: e.width || 24, height: e.height || 24 } : null;
216
216
  }
217
217
  /** Fetch from Iconify API as fallback */
218
218
  async _fetchFromApi() {
219
- let r = this.name;
220
- if (r.startsWith("solar:") ? r = r.slice(6) : m[r] && (r = m[r]), f.has(r)) {
221
- this._apiSvg = f.get(r);
219
+ const r = this.name;
220
+ let e = r;
221
+ if (e.startsWith("solar:") ? e = e.slice(6) : g[e] && (e = g[e]), f.has(e)) {
222
+ this._apiSvg = f.get(e);
222
223
  return;
223
224
  }
224
225
  this._loading = !0;
225
226
  try {
226
- const e = await fetch(`https://api.iconify.design/solar/${r}.svg?height=24`);
227
- if (e.ok) {
228
- const l = await e.text(), t = O(l);
229
- t && (f.set(r, t), this._apiSvg = t);
227
+ const l = await fetch(`https://api.iconify.design/solar/${e}.svg?height=24`);
228
+ if (l.ok) {
229
+ const o = await l.text(), t = O(o);
230
+ t && (f.set(e, t), this.name === r && (this._apiSvg = t));
230
231
  }
231
232
  } catch {
232
233
  } finally {
233
- this._loading = !1;
234
+ this.name === r && (this._loading = !1);
234
235
  }
235
236
  }
236
237
  render() {
237
238
  if (!this.name) return M;
238
- const r = this.label ? "img" : "presentation", e = this.label || M, l = this.label ? "false" : "true", t = this._getBuiltin();
239
- if (t) {
240
- const n = t.split(/(?=M)/).map(
239
+ const r = this.label ? "img" : "presentation", e = this.label || M, l = this.label ? "false" : "true", o = this._getBuiltin();
240
+ if (o) {
241
+ const n = o.split(/(?=M)/).map(
241
242
  (h) => C`<path d="${h.trim()}"></path>`
242
243
  );
243
244
  return d`
@@ -248,9 +249,9 @@ let a = class extends S {
248
249
  </svg>
249
250
  `;
250
251
  }
251
- const i = v[this.name];
252
- if (i) {
253
- const n = i.map(
252
+ const t = v[this.name];
253
+ if (t) {
254
+ const n = t.map(
254
255
  ([h, u]) => C`<circle cx="${h}" cy="${u}" r="2"></circle>`
255
256
  );
256
257
  return d`
@@ -260,14 +261,14 @@ let a = class extends S {
260
261
  </svg>
261
262
  `;
262
263
  }
263
- const o = this._getSolar();
264
- return o ? d`
265
- <svg viewBox="0 0 ${o.width} ${o.height}"
264
+ const i = this._getSolar();
265
+ return i ? d`
266
+ <svg viewBox="0 0 ${i.width} ${i.height}"
266
267
  role="${r}" aria-label="${e}" aria-hidden="${l}">
267
- ${x(o.body)}
268
+ ${x(i.body)}
268
269
  </svg>
269
- ` : this._apiSvg ? d`<span role="${r}" aria-label="${e}" aria-hidden="${l}"
270
- style="display:contents;">${A(this._apiSvg)}</span>` : this._loading ? d`<div class="placeholder" aria-hidden="true"></div>` : M;
270
+ ` : this._apiSvg ? d`<span class="api-icon" role="${r}" aria-label="${e}"
271
+ aria-hidden="${l}">${A(this._apiSvg)}</span>` : this._loading ? d`<div class="placeholder" aria-hidden="true"></div>` : M;
271
272
  }
272
273
  };
273
274
  a.styles = [V, Z, H, z`
@@ -289,7 +290,7 @@ a.styles = [V, Z, H, z`
289
290
  :host([size="xl"]) { font-size: var(--cg-icon-size-300); }
290
291
 
291
292
  :host([color="muted"]) { color: var(--cg-color-surface-container-outlined); }
292
- :host([color="accent"]) { color: var(--cg-color-action-primary-background-default); }
293
+ :host([color="accent"]) { color: var(--cg-color-accent-text); }
293
294
  :host([color="success"]) { color: var(--cg-color-status-success-text-default); }
294
295
  :host([color="warning"]) { color: var(--cg-color-status-warning-text-default); }
295
296
  :host([color="danger"]) { color: var(--cg-color-status-error-text-default); }
@@ -305,6 +306,12 @@ a.styles = [V, Z, H, z`
305
306
  animation: spin var(--cg-transition-duration-slow) linear infinite;
306
307
  }
307
308
 
309
+ .api-icon {
310
+ display: inline-flex;
311
+ width: 100%;
312
+ height: 100%;
313
+ }
314
+
308
315
  .placeholder {
309
316
  width: 100%;
310
317
  height: 100%;