@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
@@ -0,0 +1,82 @@
1
+ const c = 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]), audio[controls], video[controls], summary, details, iframe, object, embed';
2
+ function u(o) {
3
+ const e = [], s = o instanceof HTMLElement && o.shadowRoot ? o.shadowRoot : o, i = (t) => {
4
+ if (t instanceof HTMLElement) {
5
+ if (t instanceof HTMLSlotElement) {
6
+ for (const n of t.assignedElements({ flatten: !0 })) i(n);
7
+ return;
8
+ }
9
+ if (t.matches(c))
10
+ e.push(t);
11
+ else if (t.shadowRoot && t.shadowRoot.querySelector(c)) {
12
+ e.push(t);
13
+ return;
14
+ }
15
+ for (const n of Array.from(t.children)) i(n);
16
+ }
17
+ };
18
+ for (const t of Array.from(s.children)) i(t);
19
+ return e.filter((t) => !(t.closest("[hidden]") || t.offsetParent === null && t.tagName !== "INPUT" && getComputedStyle(t).position !== "fixed"));
20
+ }
21
+ function l(o, e) {
22
+ let s = e;
23
+ for (; s; ) {
24
+ if (s === o) return !0;
25
+ s = s instanceof ShadowRoot ? s.host : s.parentNode;
26
+ }
27
+ return !1;
28
+ }
29
+ function f() {
30
+ let o = document.activeElement;
31
+ for (; o?.shadowRoot?.activeElement; )
32
+ o = o.shadowRoot.activeElement;
33
+ return o;
34
+ }
35
+ class h {
36
+ constructor() {
37
+ this._root = null, this._previousFocus = null, this._options = {}, this._active = !1, this._handleKeydown = (e) => {
38
+ if (!this._active || !this._root) return;
39
+ if (e.key === "Escape" && this._options.handleEscape) {
40
+ e.preventDefault(), this._options.onEscape?.();
41
+ return;
42
+ }
43
+ if (e.key !== "Tab") return;
44
+ const s = u(this._root);
45
+ if (s.length === 0) {
46
+ e.preventDefault();
47
+ return;
48
+ }
49
+ const i = s[0], t = s[s.length - 1], n = f(), r = n ? s.find((a) => a === n || l(a, n)) ?? null : null;
50
+ e.shiftKey ? (r === null || r === i) && (e.preventDefault(), t.focus()) : (r === null || r === t) && (e.preventDefault(), i.focus());
51
+ };
52
+ }
53
+ activate(e, s = {}) {
54
+ this._active && this.deactivate(), this._root = e, this._options = { returnFocus: !0, handleEscape: !0, ...s }, this._previousFocus = document.activeElement, this._active = !0, e.addEventListener("keydown", this._handleKeydown), requestAnimationFrame(() => {
55
+ if (!this._active || !this._root) return;
56
+ const i = this._options.initialFocus;
57
+ if (i)
58
+ i.focus();
59
+ else {
60
+ const t = u(this._root);
61
+ t.length > 0 && t[0].focus();
62
+ }
63
+ });
64
+ }
65
+ deactivate() {
66
+ if (!(!this._active || !this._root)) {
67
+ if (this._root.removeEventListener("keydown", this._handleKeydown), this._active = !1, this._options.returnFocus && this._previousFocus)
68
+ try {
69
+ this._previousFocus.focus();
70
+ } catch {
71
+ }
72
+ this._root = null, this._previousFocus = null;
73
+ }
74
+ }
75
+ isActive() {
76
+ return this._active;
77
+ }
78
+ }
79
+ export {
80
+ h as F
81
+ };
82
+ //# sourceMappingURL=focus-trap-vlQwKK-3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"focus-trap-vlQwKK-3.js","sources":["../../src/utils/focus-trap.ts"],"sourcesContent":["/**\n * Focus trap utility — shared by cg-modal, cg-popover, cg-alert-dialog, cg-command, cg-context-menu.\n * Extracted from the focus trap logic in cg-modal._handleKeydown.\n */\n\nconst FOCUSABLE_SELECTOR =\n 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), ' +\n 'textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]), audio[controls], video[controls], ' +\n 'summary, details, iframe, object, embed';\n\n/**\n * Returns all visible, non-disabled, focusable elements within a root, in\n * composed tab order. Crosses shadow AND slot boundaries: querySelectorAll\n * alone never sees slotted content, so a trap on a shadow container missed\n * every slotted body input / footer button (cg-modal, cg-alert-dialog, …).\n * A custom-element host whose shadow tree contains a focusable counts as a\n * single focus stop (its internals manage their own focus).\n */\nexport function getFocusableElements(root: HTMLElement | ShadowRoot): HTMLElement[] {\n const out: HTMLElement[] = [];\n const scope: ParentNode = root instanceof HTMLElement && root.shadowRoot ? root.shadowRoot : root;\n\n const visit = (el: Element): void => {\n if (!(el instanceof HTMLElement)) return;\n if (el instanceof HTMLSlotElement) {\n for (const assigned of el.assignedElements({ flatten: true })) visit(assigned);\n return;\n }\n if (el.matches(FOCUSABLE_SELECTOR)) {\n out.push(el);\n } else if (el.shadowRoot) {\n if (el.shadowRoot.querySelector(FOCUSABLE_SELECTOR)) {\n out.push(el);\n return;\n }\n // Host with no focusable internals — its light children are slotted\n // through it, so keep descending.\n }\n for (const child of Array.from(el.children)) visit(child);\n };\n\n for (const child of Array.from(scope.children)) visit(child);\n\n return out.filter(el => {\n if (el.closest('[hidden]')) return false;\n if (el.offsetParent === null && el.tagName !== 'INPUT' && getComputedStyle(el).position !== 'fixed') return false;\n return true;\n });\n}\n\n/**\n * True when `node` sits anywhere under `ancestor`, crossing shadow roots.\n * Needed to match a delegated-focus target (e.g. the <button> inside a\n * slotted cg-button) back to its host entry in the focusable list.\n */\nexport function deepContains(ancestor: Element, node: Node | null): boolean {\n let el: Node | null = node;\n while (el) {\n if (el === ancestor) return true;\n el = el instanceof ShadowRoot ? el.host : el.parentNode;\n }\n return false;\n}\n\n/**\n * The actually-focused element, resolved through nested shadow roots.\n * `document.activeElement` alone stops at the outermost shadow HOST, which\n * never matches the trap's focusable list — comparisons against it silently\n * disable Tab wrapping and let focus escape the trap.\n */\nexport function getDeepActiveElement(): HTMLElement | null {\n let el: Element | null = document.activeElement;\n while (el?.shadowRoot?.activeElement) {\n el = el.shadowRoot.activeElement;\n }\n return el as HTMLElement | null;\n}\n\nexport interface FocusTrapOptions {\n /** Element to focus first when activated. Defaults to first focusable element. */\n initialFocus?: HTMLElement | null | undefined;\n /** Return focus to the previously active element on deactivate. Default: true */\n returnFocus?: boolean | undefined;\n /** Called when Escape key is pressed. */\n onEscape?: (() => void) | undefined;\n /** Whether to handle Escape key. Default: true */\n handleEscape?: boolean | undefined;\n}\n\n/**\n * Manages focus trapping within a root element.\n * - Activates: captures prior focus, focuses initial element, binds keydown.\n * - Deactivates: unbinds keydown, optionally returns focus to prior element.\n * - Handles Tab/Shift+Tab cycling within the trap.\n * - Optionally handles Escape.\n */\nexport class FocusTrap {\n private _root: HTMLElement | null = null;\n private _previousFocus: HTMLElement | null = null;\n private _options: FocusTrapOptions = {};\n private _active = false;\n\n activate(root: HTMLElement, options: FocusTrapOptions = {}): void {\n if (this._active) this.deactivate();\n\n this._root = root;\n this._options = { returnFocus: true, handleEscape: true, ...options };\n this._previousFocus = document.activeElement as HTMLElement | null;\n this._active = true;\n\n root.addEventListener('keydown', this._handleKeydown);\n\n // Focus initial element on next frame to allow render\n requestAnimationFrame(() => {\n if (!this._active || !this._root) return;\n const initial = this._options.initialFocus;\n if (initial) {\n initial.focus();\n } else {\n const focusable = getFocusableElements(this._root);\n if (focusable.length > 0) focusable[0]!.focus();\n }\n });\n }\n\n deactivate(): void {\n if (!this._active || !this._root) return;\n\n this._root.removeEventListener('keydown', this._handleKeydown);\n this._active = false;\n\n if (this._options.returnFocus && this._previousFocus) {\n try { this._previousFocus.focus(); } catch {}\n }\n\n this._root = null;\n this._previousFocus = null;\n }\n\n isActive(): boolean {\n return this._active;\n }\n\n private _handleKeydown = (e: KeyboardEvent): void => {\n if (!this._active || !this._root) return;\n\n if (e.key === 'Escape' && this._options.handleEscape) {\n e.preventDefault();\n this._options.onEscape?.();\n return;\n }\n\n if (e.key !== 'Tab') return;\n\n const focusable = getFocusableElements(this._root);\n if (focusable.length === 0) {\n e.preventDefault();\n return;\n }\n\n const first = focusable[0]!;\n const last = focusable[focusable.length - 1]!;\n // Map the deep active element back to its entry in the focusable list —\n // delegated focus lands INSIDE a host (e.g. cg-button's internal button).\n const deep = getDeepActiveElement();\n const active = deep ? focusable.find(f => f === deep || deepContains(f, deep)) ?? null : null;\n\n if (e.shiftKey) {\n if (active === null || active === first) {\n e.preventDefault();\n last.focus();\n }\n } else {\n if (active === null || active === last) {\n e.preventDefault();\n first.focus();\n }\n }\n };\n}\n"],"names":["FOCUSABLE_SELECTOR","getFocusableElements","root","out","scope","visit","el","assigned","child","deepContains","ancestor","node","getDeepActiveElement","FocusTrap","focusable","first","last","deep","active","f","options","initial"],"mappings":"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"}
@@ -5,11 +5,10 @@ a`
5
5
  0 0 0 4px var(--cg-focus-ring-color);
6
6
  outline: none;
7
7
  `;
8
- a`
8
+ const t = a`
9
9
  box-shadow: 0 0 0 3px var(--cg-overlay-accent-strong);
10
10
  outline: none;
11
- `;
12
- const t = a`
11
+ `, e = a`
13
12
  .menu {
14
13
  display: flex;
15
14
  flex-direction: column;
@@ -163,7 +162,7 @@ a`
163
162
  a`
164
163
  transform: scale(var(--cg-interaction-press-scale));
165
164
  `;
166
- const e = a`
165
+ const o = a`
167
166
  @media (prefers-reduced-motion: reduce) {
168
167
  *, *::before, *::after {
169
168
  transition-duration: 0.01ms !important;
@@ -171,31 +170,31 @@ const e = a`
171
170
  animation-iteration-count: 1 !important;
172
171
  }
173
172
  }
174
- `, o = a`
173
+ `, n = a`
175
174
  @keyframes spin {
176
175
  to { transform: rotate(360deg); }
177
176
  }
178
- `, n = a`
177
+ `, i = a`
179
178
  @keyframes fadeIn {
180
179
  from { opacity: 0; }
181
180
  to { opacity: 1; }
182
181
  }
183
- `, i = a`
182
+ `, s = a`
184
183
  @keyframes fadeSlideIn {
185
184
  from { opacity: 0; transform: translateY(4px); }
186
185
  to { opacity: 1; transform: translateY(0); }
187
186
  }
188
- `, s = a`
187
+ `, c = a`
189
188
  @keyframes shimmer {
190
189
  from { background-position: 200% 0; }
191
190
  to { background-position: -200% 0; }
192
191
  }
193
- `, c = a`
192
+ `, d = a`
194
193
  @keyframes pulse {
195
194
  0%, 100% { opacity: 1; }
196
195
  50% { opacity: 0.4; }
197
196
  }
198
- `, d = a`
197
+ `, l = a`
199
198
  @keyframes scaleIn {
200
199
  from { opacity: 0; transform: scale(0.95); }
201
200
  to { opacity: 1; transform: scale(1); }
@@ -242,14 +241,14 @@ a`
242
241
  transform: translateY(0);
243
242
  }
244
243
  `;
245
- const l = a`
244
+ const g = a`
246
245
  :host {
247
246
  display: inline-flex;
248
247
  font-family: var(--cg-font-family-primary);
249
248
  box-sizing: border-box;
250
249
  transition: color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);
251
250
  }
252
- `, g = a`
251
+ `, f = a`
253
252
  :host {
254
253
  display: block;
255
254
  font-family: var(--cg-font-family-primary);
@@ -356,7 +355,7 @@ a`
356
355
  transition: 0s;
357
356
  }
358
357
  `;
359
- const f = a`
358
+ const u = a`
360
359
  @keyframes dotPulse {
361
360
  0%, 100% { transform: scale(1); opacity: 1; }
362
361
  50% { transform: scale(1.4); opacity: 0.7; }
@@ -450,17 +449,18 @@ a`
450
449
  }
451
450
  `;
452
451
  export {
453
- l as a,
454
- s as b,
455
- o as c,
456
- f as d,
452
+ g as a,
453
+ c as b,
454
+ n as c,
455
+ u as d,
457
456
  m as e,
458
- i as f,
459
- n as g,
460
- g as h,
461
- t as m,
462
- c as p,
463
- e as r,
464
- d as s
457
+ s as f,
458
+ t as g,
459
+ f as h,
460
+ i,
461
+ e as m,
462
+ d as p,
463
+ o as r,
464
+ l as s
465
465
  };
466
- //# sourceMappingURL=premium.css-9I4kHrsl.js.map
466
+ //# sourceMappingURL=premium.css-DHekUEUt.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"premium.css-9I4kHrsl.js","sources":["../../src/styles/focus.css.ts","../../src/styles/menu.css.ts","../../src/styles/motion.css.ts","../../src/styles/base.css.ts","../../src/styles/elevation.css.ts","../../src/styles/ai-effects.css.ts","../../src/styles/premium.css.ts"],"sourcesContent":["import { css } from 'lit';\n\n/**\n * Dual-layer focus ring for standalone interactive elements (buttons, links, nav items).\n * Uses the focus-ring token set from tier 2 semantic tokens.\n */\nexport const focusRingDual = css`\n box-shadow:\n 0 0 0 2px var(--cg-color-surface-base-background),\n 0 0 0 4px var(--cg-focus-ring-color);\n outline: none;\n`;\n\n/**\n * Single-layer focus ring for form fields (input, textarea, select).\n * Softer glow that works with existing borders.\n */\nexport const focusRingSingle = css`\n box-shadow: 0 0 0 3px var(--cg-overlay-accent-strong);\n outline: none;\n`;\n","import { css } from 'lit';\n\n/**\n * Shared menu-list styling used by cg-dropdown, cg-split-button, and any\n * component that renders a list of keyboard-navigable menu items.\n *\n * Covers: surface (background/border/radius/shadow/padding), entrance and\n * exit animation, reduced-motion fallback, `.menu-item` layout and states,\n * `.menu-item-icon`, `.menu-item-shortcut`, `.divider`, and rounded variants\n * driven by a `rounded` attribute on the host.\n *\n * Positioning (absolute vs fixed, top/left placement) is intentionally NOT\n * included — each consumer owns its own positioning strategy.\n */\nexport const menuListStyles = css`\n .menu {\n display: flex;\n flex-direction: column;\n min-width: 200px;\n max-width: 320px;\n padding: var(--cg-spacing-6);\n background: var(--cg-color-modal-container-background);\n border: var(--cg-border-width-50) solid var(--cg-color-modal-container-border);\n border-radius: var(--cg-border-radius-100);\n box-shadow: var(--cg-elevation-3);\n opacity: 0;\n transform: scale(0.96);\n transform-origin: top left;\n pointer-events: none;\n transition:\n opacity var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n transform var(--cg-transition-duration-slow) var(--cg-transition-easing-default);\n list-style: none;\n margin: 0;\n }\n\n @keyframes cg-menu-enter {\n 0% { transform: scale(0.96); }\n 60% { transform: scale(1.03); }\n 100% { transform: scale(1); }\n }\n :host([open]) .menu {\n opacity: 1;\n transform: scale(1);\n pointer-events: auto;\n animation: cg-menu-enter var(--cg-transition-duration-slow) var(--cg-transition-easing-default);\n }\n\n @keyframes cg-menu-exit {\n from { opacity: 1; transform: scale(1); }\n to { opacity: 0; transform: scale(0.95); }\n }\n .menu.closing {\n animation: cg-menu-exit var(--cg-transition-duration-fast) var(--cg-transition-easing-ease-in) forwards;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .menu {\n transition: opacity var(--cg-transition-duration-fast) ease;\n transform: scale(1) !important;\n }\n :host([open]) .menu { animation: none; }\n .menu.closing { animation: none; opacity: 0; }\n }\n\n /* Rounded variants — picked up by host attribute */\n :host([rounded=\"none\"]) .menu { border-radius: 0; }\n :host([rounded=\"none\"]) .menu-item { border-radius: 0; }\n :host([rounded=\"sm\"]) .menu { border-radius: var(--cg-border-radius-50); }\n :host([rounded=\"sm\"]) .menu-item { border-radius: var(--cg-border-radius-50); }\n :host([rounded=\"md\"]) .menu { border-radius: var(--cg-border-radius-100); }\n :host([rounded=\"md\"]) .menu-item { border-radius: var(--cg-border-radius-50); }\n :host([rounded=\"lg\"]) .menu { border-radius: var(--cg-border-radius-150); }\n :host([rounded=\"lg\"]) .menu-item { border-radius: var(--cg-border-radius-100); }\n\n .menu-item {\n display: flex;\n align-items: center;\n gap: var(--cg-spacing-8);\n padding: var(--cg-spacing-8) var(--cg-spacing-12);\n border-radius: var(--cg-border-radius-50);\n font-size: var(--cg-font-size-sm);\n color: var(--cg-color-surface-container-text);\n background: transparent;\n border: none;\n width: 100%;\n box-sizing: border-box;\n text-align: left;\n cursor: pointer;\n font-family: inherit;\n line-height: var(--cg-line-height-snug);\n white-space: nowrap;\n transition:\n background-color var(--cg-transition-duration-fast) ease,\n color var(--cg-transition-duration-fast) ease;\n -webkit-font-smoothing: antialiased;\n animation: staggerFadeIn var(--cg-transition-duration-fast) ease-out both;\n animation-delay: calc(var(--stagger-index, 0) * 40ms);\n }\n\n .menu-item:hover:not([disabled]):not(.disabled),\n .menu-item[data-active]:not([disabled]):not(.disabled),\n .menu-item.active:not([disabled]):not(.disabled) {\n background: var(--cg-color-action-tertiary-background-hover);\n }\n .menu-item:active:not([disabled]):not(.disabled) {\n background: var(--cg-color-action-tertiary-background-active);\n }\n .menu-item:focus-visible {\n box-shadow:\n 0 0 0 2px var(--cg-color-focus-ring-offset),\n 0 0 0 calc(2px + 2px) var(--cg-color-focus-ring);\n outline: none;\n }\n .menu-item.active {\n font-weight: var(--cg-font-weight-medium);\n }\n .menu-item[disabled],\n .menu-item.disabled {\n color: var(--cg-color-surface-container-outlined);\n cursor: not-allowed;\n opacity: 0.5;\n }\n .menu-item.danger {\n color: var(--cg-color-status-error-text-default);\n }\n .menu-item.danger:hover:not([disabled]):not(.disabled),\n .menu-item.danger[data-active]:not([disabled]):not(.disabled) {\n background: var(--cg-color-status-error-background-default);\n }\n\n .menu-item-icon {\n flex-shrink: 0;\n opacity: 0.7;\n }\n .menu-item:hover:not([disabled]):not(.disabled) .menu-item-icon {\n opacity: 1;\n }\n\n .menu-item-shortcut {\n margin-left: auto;\n padding-left: var(--cg-spacing-16);\n font-size: var(--cg-font-size-xs);\n color: var(--cg-color-surface-container-outlined);\n font-family: inherit;\n pointer-events: none;\n }\n\n .divider {\n height: var(--cg-border-width-50);\n margin: var(--cg-spacing-4) 0;\n background: var(--cg-color-modal-container-border);\n border: none;\n }\n`;\n","import { css } from 'lit';\n\n/**\n * Standard color/opacity transition for :host elements.\n * Maps to --cg-transition-duration-fast + --cg-transition-easing-default.\n */\nexport const hostTransition = css`\n transition: color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n`;\n\n/**\n * Multi-property transition for interactive elements (buttons, cards, list items).\n * Covers transform, background, border, and box-shadow.\n */\nexport const interactiveTransition = css`\n transition:\n transform var(--cg-transition-duration-slow) var(--cg-transition-easing-default),\n background-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n border-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n box-shadow var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n`;\n\n/**\n * Press scale feedback for :active state.\n */\nexport const pressScale = css`\n transform: scale(var(--cg-interaction-press-scale));\n`;\n\n/** Reduced motion media query — disables transitions and animations for a11y. */\nexport const reducedMotion = css`\n @media (prefers-reduced-motion: reduce) {\n *, *::before, *::after {\n transition-duration: 0.01ms !important;\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n }\n }\n`;\n\n/** Spin keyframes for loading spinners. */\nexport const spinKeyframes = css`\n @keyframes spin {\n to { transform: rotate(360deg); }\n }\n`;\n\n/** Fade-in keyframes. */\nexport const fadeInKeyframes = css`\n @keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n`;\n\n/** Slide + fade entrance animation. */\nexport const fadeSlideInKeyframes = css`\n @keyframes fadeSlideIn {\n from { opacity: 0; transform: translateY(4px); }\n to { opacity: 1; transform: translateY(0); }\n }\n`;\n\n/** Shimmer sweep for loading skeletons and AI text effects. */\nexport const shimmerKeyframes = css`\n @keyframes shimmer {\n from { background-position: 200% 0; }\n to { background-position: -200% 0; }\n }\n`;\n\n/** Opacity pulse for thinking indicators. */\nexport const pulseKeyframes = css`\n @keyframes pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.4; }\n }\n`;\n\n/** Scale + fade entrance for modals and dropdowns. */\nexport const scaleInKeyframes = css`\n @keyframes scaleIn {\n from { opacity: 0; transform: scale(0.95); }\n to { opacity: 1; transform: scale(1); }\n }\n`;\n\n/** Scale + fade exit for modals and dropdowns. */\nexport const scaleOutKeyframes = css`\n @keyframes scaleOut {\n from { opacity: 1; transform: scale(1); }\n to { opacity: 0; transform: scale(0.95); }\n }\n`;\n\n/** Fade out. */\nexport const fadeOutKeyframes = css`\n @keyframes fadeOut {\n from { opacity: 1; }\n to { opacity: 0; }\n }\n`;\n\n/** Slide in from left for drawers. */\nexport const slideInLeftKeyframes = css`\n @keyframes slideInLeft {\n from { transform: translateX(-100%); }\n to { transform: translateX(0); }\n }\n`;\n\n/** Slide in from right for drawers. */\nexport const slideInRightKeyframes = css`\n @keyframes slideInRight {\n from { transform: translateX(100%); }\n to { transform: translateX(0); }\n }\n`;\n\n/** Hover lift for interactive cards and surfaces. */\nexport const hoverLift = css`\n transform: translateY(var(--cg-interaction-hover-lift));\n`;\n\n/** Card hover pattern: lift + enhanced shadow on hover, settle on active. */\nexport const cardHoverLift = css`\n transition:\n transform var(--cg-transition-duration-default) var(--cg-transition-easing-default),\n box-shadow var(--cg-transition-duration-default) var(--cg-transition-easing-default);\n\n &:hover {\n transform: translateY(var(--cg-interaction-hover-lift));\n box-shadow: var(--cg-elevation-2);\n }\n\n &:active {\n transform: translateY(0);\n }\n`;\n","import { css } from 'lit';\n\n/**\n * Base :host styles for inline-flex components (buttons, badges, chips).\n * Includes font-family, color transition, and box-sizing.\n */\nexport const hostBase = css`\n :host {\n display: inline-flex;\n font-family: var(--cg-font-family-primary);\n box-sizing: border-box;\n transition: color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n }\n`;\n\n/**\n * Base :host styles for block-level components (cards, inputs, containers).\n */\nexport const hostBlock = css`\n :host {\n display: block;\n font-family: var(--cg-font-family-primary);\n box-sizing: border-box;\n transition: color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n }\n`;\n\n/** Hide host when [hidden] attribute is present. */\nexport const hostHidden = css`\n :host([hidden]) { display: none; }\n`;\n","import { css } from 'lit';\n\n// ── Elevation utilities ──\n// These box-shadow exports are no longer consumed by any component\n// (shadows were removed in the design-token cleanup pass).\n// Exports are kept to avoid breaking downstream imports, but values\n// are emptied. Use border / border-color tokens instead for depth cues.\n\n/** @deprecated No component uses box-shadow elevation. */\nexport const elevation1 = css``;\n\n/** @deprecated No component uses box-shadow elevation. */\nexport const elevation2 = css``;\n\n/** @deprecated No component uses box-shadow elevation. */\nexport const elevation3 = css``;\n\n/** @deprecated No component uses box-shadow elevation. */\nexport const elevation4 = css``;\n\n/** @deprecated No component uses box-shadow elevation. */\nexport const elevation5 = css``;\n","import { css } from 'lit';\n\n/** AI glow effect using ai-effect tokens. */\nexport const aiGlow = css`\n box-shadow: 0 0 var(--cg-ai-effect-glow-blur) var(--cg-ai-effect-glow-spread) var(--cg-ai-effect-glow-color);\n`;\n\n/** AI gradient background (lime-yellow brand). */\nexport const aiGradient = css`\n background: linear-gradient(135deg, var(--cg-ai-effect-gradient-from), var(--cg-ai-effect-gradient-to));\n`;\n\n/** AI shimmer text effect — gradient that sweeps across text. */\nexport const aiShimmerText = css`\n background: linear-gradient(\n 90deg,\n var(--cg-color-surface-base-text) 25%,\n var(--cg-color-accent-text) 50%,\n var(--cg-color-surface-base-text) 75%\n );\n background-size: 200% 100%;\n -webkit-background-clip: text;\n background-clip: text;\n -webkit-text-fill-color: transparent;\n animation: shimmer var(--cg-ai-effect-shimmer-duration) linear infinite;\n`;\n\n/** AI shimmer loading skeleton effect. */\nexport const aiShimmerSkeleton = css`\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 var(--cg-ai-effect-shimmer-duration) linear infinite;\n`;\n\n/** AI backdrop blur. */\nexport const aiBackdropBlur = css`\n backdrop-filter: blur(var(--cg-ai-effect-backdropBlur));\n -webkit-backdrop-filter: blur(var(--cg-ai-effect-backdropBlur));\n`;\n","import { css } from 'lit';\n\n// ─────────────────────────────────────────────────────────\n// Premium Visual Effects — shared across all components\n// Inspired by HeroUI, Shadcn, Radix, Aceternity patterns\n// ─────────────────────────────────────────────────────────\n\n/**\n * Top-edge light simulation on dark surfaces.\n * Creates a 1px white highlight at the top of the element,\n * simulating overhead lighting hitting a raised surface.\n * (Apple/macOS pattern used in premium dark UIs)\n */\nexport const insetHighlight = css`\n box-shadow: inset 0 1px 0 0 var(--cg-overlay-white-light);\n`;\n\n/**\n * Subtle top-to-bottom gradient on surfaces for depth.\n * The 3% lightness difference creates a physical-object feel\n * without being visually distracting.\n */\nexport const surfaceGradient = css`\n background-image: linear-gradient(\n to bottom,\n var(--cg-overlay-white-subtle) 0%,\n transparent 100%\n );\n`;\n\n/**\n * Micro-scale on hover for interactive elements.\n * The 1.02 scale is subtle enough to feel natural but\n * noticeable enough to communicate interactivity.\n */\nexport const hoverScale = css`\n transition: transform var(--cg-transition-duration-default) var(--cg-transition-easing-default);\n &:hover:not(:disabled):not([disabled]):not(.disabled) {\n transform: scale(1.02);\n }\n &:active:not(:disabled):not([disabled]):not(.disabled) {\n transform: scale(var(--cg-interaction-press-scale));\n }\n`;\n\n/**\n * Color-matched hover background using the accent hue\n * at very low opacity. This feels intentional rather than\n * a generic gray overlay. (Radix/Shadcn pattern)\n */\nexport const colorMatchedHover = css`\n &:hover:not(:disabled):not([disabled]):not(.disabled) {\n background-color: var(--cg-overlay-accent-subtle);\n }\n`;\n\n/**\n * Focus ring that transitions in smoothly rather than\n * appearing instantly. The ring spreads from 0px to full\n * size over 150ms with deceleration easing.\n */\nexport const focusRingAnimated = css`\n box-shadow: 0 0 0 0px transparent, 0 0 0 0px transparent;\n transition: box-shadow var(--cg-transition-duration-default) var(--cg-transition-easing-ease-out);\n &:focus-visible {\n box-shadow:\n 0 0 0 2px var(--cg-color-surface-base-background),\n 0 0 0 4px var(--cg-focus-ring-color);\n outline: none;\n }\n`;\n\n/**\n * CSS-only ripple effect on click.\n * Uses ::after pseudo-element with radial gradient that\n * expands from center on :active. Requires parent to have\n * position: relative and overflow: hidden.\n */\nexport const rippleEffect = css`\n position: relative;\n overflow: hidden;\n &::after {\n content: '';\n position: absolute;\n inset: 0;\n background: radial-gradient(\n circle at 50% 50%,\n var(--cg-overlay-white-strong) 0%,\n transparent 70%\n );\n opacity: 0;\n transform: scale(0);\n transition: transform 400ms ease-out, opacity 400ms ease-out;\n pointer-events: none;\n border-radius: inherit;\n }\n &:active:not(:disabled)::after {\n opacity: 1;\n transform: scale(2.5);\n transition: 0s;\n }\n`;\n\n/** Dot/indicator pulse animation for badges and status indicators. */\nexport const dotPulseKeyframes = css`\n @keyframes dotPulse {\n 0%, 100% { transform: scale(1); opacity: 1; }\n 50% { transform: scale(1.4); opacity: 0.7; }\n }\n`;\n\n/** Value change pulse for numbers and metrics. */\nexport const valueChangePulseKeyframes = css`\n @keyframes valueChangePulse {\n 0% { transform: scale(1); }\n 40% { transform: scale(1.05); }\n 100% { transform: scale(1); }\n }\n`;\n\n/** Entrance animation with stagger support via --stagger-index custom property. */\nexport const entranceStagger = css`\n @keyframes staggerFadeIn {\n from {\n opacity: 0;\n transform: translateY(8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n`;\n\n/** Exit animation for removed elements (badges, chips, list items). */\nexport const exitFadeScaleKeyframes = css`\n @keyframes exitFadeScale {\n from { opacity: 1; transform: scale(1); }\n to { opacity: 0; transform: scale(0.85); }\n }\n`;\n\n// ─────────────────────────────────────────────────────────\n// Advanced Effects — cutting-edge CSS techniques\n// ─────────────────────────────────────────────────────────\n\n/**\n * Dark glassmorphism card — frosted glass with layered shadows.\n * The saturate(1.1) adds vibrancy behind the blur.\n * Use sparingly: max 2-3 glass elements per viewport.\n */\nexport const glassCard = css`\n background: var(--cg-overlay-white-subtle);\n backdrop-filter: blur(12px) saturate(1.1);\n -webkit-backdrop-filter: blur(12px) saturate(1.1);\n border: 1px solid var(--cg-overlay-white-medium);\n box-shadow:\n 0 8px 32px var(--cg-overlay-dark-strong),\n inset 0 1px 0 var(--cg-overlay-white-light);\n`;\n\n/**\n * Noise texture overlay for premium dark surfaces.\n * Inline SVG avoids external file dependencies in Shadow DOM.\n * The mix-blend-mode: overlay enhances surfaces without washing out.\n */\nexport const noiseOverlay = css`\n &::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n opacity: 0.02;\n pointer-events: none;\n z-index: 1;\n background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E\");\n mix-blend-mode: overlay;\n }\n`;\n\n/**\n * Liquid fill hover — gradient sweeps up from bottom on hover.\n * More dramatic than colorMatchedHover, for hero/featured elements.\n */\nexport const liquidFillHover = css`\n position: relative;\n overflow: hidden;\n z-index: 0;\n &::before {\n content: '';\n position: absolute;\n inset: 0;\n background: linear-gradient(\n 180deg,\n var(--cg-color-accent-text) 0%,\n var(--cg-overlay-accent-subtle) 100%\n );\n opacity: 0.06;\n transform: translateY(102%);\n transition: transform var(--cg-transition-duration-slow) var(--cg-transition-easing-default);\n z-index: -1;\n border-radius: inherit;\n }\n &:hover::before {\n transform: translateY(0);\n }\n`;\n\n/**\n * AI processing glow ring — rotating conic gradient border.\n * Register --cg-border-angle via CSS.registerProperty() in connectedCallback.\n */\nexport const aiGlowRing = css`\n @keyframes cgBorderSpin {\n to { --cg-border-angle: 360deg; }\n }\n`;\n\n/**\n * Scroll-driven reveal animation.\n * Elements fade+slide in as they enter the viewport.\n * Progressive enhancement — works in Chrome 115+, Firefox 110+, Safari 18+.\n */\nexport const scrollReveal = css`\n @keyframes cgScrollReveal {\n from {\n opacity: 0;\n transform: translateY(20px) scale(0.98);\n }\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n }\n`;\n"],"names":["css","menuListStyles","reducedMotion","spinKeyframes","fadeInKeyframes","fadeSlideInKeyframes","shimmerKeyframes","pulseKeyframes","scaleInKeyframes","hostBase","hostBlock","dotPulseKeyframes","entranceStagger"],"mappings":"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"}
1
+ {"version":3,"file":"premium.css-DHekUEUt.js","sources":["../../src/styles/focus.css.ts","../../src/styles/menu.css.ts","../../src/styles/motion.css.ts","../../src/styles/base.css.ts","../../src/styles/elevation.css.ts","../../src/styles/ai-effects.css.ts","../../src/styles/premium.css.ts"],"sourcesContent":["import { css } from 'lit';\n\n/**\n * Dual-layer focus ring for standalone interactive elements (buttons, links, nav items).\n * Uses the focus-ring token set from tier 2 semantic tokens.\n */\nexport const focusRingDual = css`\n box-shadow:\n 0 0 0 2px var(--cg-color-surface-base-background),\n 0 0 0 4px var(--cg-focus-ring-color);\n outline: none;\n`;\n\n/**\n * Single-layer focus ring for form fields (input, textarea, select).\n * Softer glow that works with existing borders.\n */\nexport const focusRingSingle = css`\n box-shadow: 0 0 0 3px var(--cg-overlay-accent-strong);\n outline: none;\n`;\n","import { css } from 'lit';\n\n/**\n * Shared menu-list styling used by cg-dropdown, cg-split-button, and any\n * component that renders a list of keyboard-navigable menu items.\n *\n * Covers: surface (background/border/radius/shadow/padding), entrance and\n * exit animation, reduced-motion fallback, `.menu-item` layout and states,\n * `.menu-item-icon`, `.menu-item-shortcut`, `.divider`, and rounded variants\n * driven by a `rounded` attribute on the host.\n *\n * Positioning (absolute vs fixed, top/left placement) is intentionally NOT\n * included — each consumer owns its own positioning strategy.\n */\nexport const menuListStyles = css`\n .menu {\n display: flex;\n flex-direction: column;\n min-width: 200px;\n max-width: 320px;\n padding: var(--cg-spacing-6);\n background: var(--cg-color-modal-container-background);\n border: var(--cg-border-width-50) solid var(--cg-color-modal-container-border);\n border-radius: var(--cg-border-radius-100);\n box-shadow: var(--cg-elevation-3);\n opacity: 0;\n transform: scale(0.96);\n transform-origin: top left;\n pointer-events: none;\n transition:\n opacity var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n transform var(--cg-transition-duration-slow) var(--cg-transition-easing-default);\n list-style: none;\n margin: 0;\n }\n\n @keyframes cg-menu-enter {\n 0% { transform: scale(0.96); }\n 60% { transform: scale(1.03); }\n 100% { transform: scale(1); }\n }\n :host([open]) .menu {\n opacity: 1;\n transform: scale(1);\n pointer-events: auto;\n animation: cg-menu-enter var(--cg-transition-duration-slow) var(--cg-transition-easing-default);\n }\n\n @keyframes cg-menu-exit {\n from { opacity: 1; transform: scale(1); }\n to { opacity: 0; transform: scale(0.95); }\n }\n .menu.closing {\n animation: cg-menu-exit var(--cg-transition-duration-fast) var(--cg-transition-easing-ease-in) forwards;\n }\n\n @media (prefers-reduced-motion: reduce) {\n .menu {\n transition: opacity var(--cg-transition-duration-fast) ease;\n transform: scale(1) !important;\n }\n :host([open]) .menu { animation: none; }\n .menu.closing { animation: none; opacity: 0; }\n }\n\n /* Rounded variants — picked up by host attribute */\n :host([rounded=\"none\"]) .menu { border-radius: 0; }\n :host([rounded=\"none\"]) .menu-item { border-radius: 0; }\n :host([rounded=\"sm\"]) .menu { border-radius: var(--cg-border-radius-50); }\n :host([rounded=\"sm\"]) .menu-item { border-radius: var(--cg-border-radius-50); }\n :host([rounded=\"md\"]) .menu { border-radius: var(--cg-border-radius-100); }\n :host([rounded=\"md\"]) .menu-item { border-radius: var(--cg-border-radius-50); }\n :host([rounded=\"lg\"]) .menu { border-radius: var(--cg-border-radius-150); }\n :host([rounded=\"lg\"]) .menu-item { border-radius: var(--cg-border-radius-100); }\n\n .menu-item {\n display: flex;\n align-items: center;\n gap: var(--cg-spacing-8);\n padding: var(--cg-spacing-8) var(--cg-spacing-12);\n border-radius: var(--cg-border-radius-50);\n font-size: var(--cg-font-size-sm);\n color: var(--cg-color-surface-container-text);\n background: transparent;\n border: none;\n width: 100%;\n box-sizing: border-box;\n text-align: left;\n cursor: pointer;\n font-family: inherit;\n line-height: var(--cg-line-height-snug);\n white-space: nowrap;\n transition:\n background-color var(--cg-transition-duration-fast) ease,\n color var(--cg-transition-duration-fast) ease;\n -webkit-font-smoothing: antialiased;\n animation: staggerFadeIn var(--cg-transition-duration-fast) ease-out both;\n animation-delay: calc(var(--stagger-index, 0) * 40ms);\n }\n\n .menu-item:hover:not([disabled]):not(.disabled),\n .menu-item[data-active]:not([disabled]):not(.disabled),\n .menu-item.active:not([disabled]):not(.disabled) {\n background: var(--cg-color-action-tertiary-background-hover);\n }\n .menu-item:active:not([disabled]):not(.disabled) {\n background: var(--cg-color-action-tertiary-background-active);\n }\n .menu-item:focus-visible {\n box-shadow:\n 0 0 0 2px var(--cg-color-focus-ring-offset),\n 0 0 0 calc(2px + 2px) var(--cg-color-focus-ring);\n outline: none;\n }\n .menu-item.active {\n font-weight: var(--cg-font-weight-medium);\n }\n .menu-item[disabled],\n .menu-item.disabled {\n color: var(--cg-color-surface-container-outlined);\n cursor: not-allowed;\n opacity: 0.5;\n }\n .menu-item.danger {\n color: var(--cg-color-status-error-text-default);\n }\n .menu-item.danger:hover:not([disabled]):not(.disabled),\n .menu-item.danger[data-active]:not([disabled]):not(.disabled) {\n background: var(--cg-color-status-error-background-default);\n }\n\n .menu-item-icon {\n flex-shrink: 0;\n opacity: 0.7;\n }\n .menu-item:hover:not([disabled]):not(.disabled) .menu-item-icon {\n opacity: 1;\n }\n\n .menu-item-shortcut {\n margin-left: auto;\n padding-left: var(--cg-spacing-16);\n font-size: var(--cg-font-size-xs);\n color: var(--cg-color-surface-container-outlined);\n font-family: inherit;\n pointer-events: none;\n }\n\n .divider {\n height: var(--cg-border-width-50);\n margin: var(--cg-spacing-4) 0;\n background: var(--cg-color-modal-container-border);\n border: none;\n }\n`;\n","import { css } from 'lit';\n\n/**\n * Standard color/opacity transition for :host elements.\n * Maps to --cg-transition-duration-fast + --cg-transition-easing-default.\n */\nexport const hostTransition = css`\n transition: color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n`;\n\n/**\n * Multi-property transition for interactive elements (buttons, cards, list items).\n * Covers transform, background, border, and box-shadow.\n */\nexport const interactiveTransition = css`\n transition:\n transform var(--cg-transition-duration-slow) var(--cg-transition-easing-default),\n background-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n border-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n box-shadow var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n`;\n\n/**\n * Press scale feedback for :active state.\n */\nexport const pressScale = css`\n transform: scale(var(--cg-interaction-press-scale));\n`;\n\n/** Reduced motion media query — disables transitions and animations for a11y. */\nexport const reducedMotion = css`\n @media (prefers-reduced-motion: reduce) {\n *, *::before, *::after {\n transition-duration: 0.01ms !important;\n animation-duration: 0.01ms !important;\n animation-iteration-count: 1 !important;\n }\n }\n`;\n\n/** Spin keyframes for loading spinners. */\nexport const spinKeyframes = css`\n @keyframes spin {\n to { transform: rotate(360deg); }\n }\n`;\n\n/** Fade-in keyframes. */\nexport const fadeInKeyframes = css`\n @keyframes fadeIn {\n from { opacity: 0; }\n to { opacity: 1; }\n }\n`;\n\n/** Slide + fade entrance animation. */\nexport const fadeSlideInKeyframes = css`\n @keyframes fadeSlideIn {\n from { opacity: 0; transform: translateY(4px); }\n to { opacity: 1; transform: translateY(0); }\n }\n`;\n\n/** Shimmer sweep for loading skeletons and AI text effects. */\nexport const shimmerKeyframes = css`\n @keyframes shimmer {\n from { background-position: 200% 0; }\n to { background-position: -200% 0; }\n }\n`;\n\n/** Opacity pulse for thinking indicators. */\nexport const pulseKeyframes = css`\n @keyframes pulse {\n 0%, 100% { opacity: 1; }\n 50% { opacity: 0.4; }\n }\n`;\n\n/** Scale + fade entrance for modals and dropdowns. */\nexport const scaleInKeyframes = css`\n @keyframes scaleIn {\n from { opacity: 0; transform: scale(0.95); }\n to { opacity: 1; transform: scale(1); }\n }\n`;\n\n/** Scale + fade exit for modals and dropdowns. */\nexport const scaleOutKeyframes = css`\n @keyframes scaleOut {\n from { opacity: 1; transform: scale(1); }\n to { opacity: 0; transform: scale(0.95); }\n }\n`;\n\n/** Fade out. */\nexport const fadeOutKeyframes = css`\n @keyframes fadeOut {\n from { opacity: 1; }\n to { opacity: 0; }\n }\n`;\n\n/** Slide in from left for drawers. */\nexport const slideInLeftKeyframes = css`\n @keyframes slideInLeft {\n from { transform: translateX(-100%); }\n to { transform: translateX(0); }\n }\n`;\n\n/** Slide in from right for drawers. */\nexport const slideInRightKeyframes = css`\n @keyframes slideInRight {\n from { transform: translateX(100%); }\n to { transform: translateX(0); }\n }\n`;\n\n/** Hover lift for interactive cards and surfaces. */\nexport const hoverLift = css`\n transform: translateY(var(--cg-interaction-hover-lift));\n`;\n\n/** Card hover pattern: lift + enhanced shadow on hover, settle on active. */\nexport const cardHoverLift = css`\n transition:\n transform var(--cg-transition-duration-default) var(--cg-transition-easing-default),\n box-shadow var(--cg-transition-duration-default) var(--cg-transition-easing-default);\n\n &:hover {\n transform: translateY(var(--cg-interaction-hover-lift));\n box-shadow: var(--cg-elevation-2);\n }\n\n &:active {\n transform: translateY(0);\n }\n`;\n","import { css } from 'lit';\n\n/**\n * Base :host styles for inline-flex components (buttons, badges, chips).\n * Includes font-family, color transition, and box-sizing.\n */\nexport const hostBase = css`\n :host {\n display: inline-flex;\n font-family: var(--cg-font-family-primary);\n box-sizing: border-box;\n transition: color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n }\n`;\n\n/**\n * Base :host styles for block-level components (cards, inputs, containers).\n */\nexport const hostBlock = css`\n :host {\n display: block;\n font-family: var(--cg-font-family-primary);\n box-sizing: border-box;\n transition: color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n }\n`;\n\n/** Hide host when [hidden] attribute is present. */\nexport const hostHidden = css`\n :host([hidden]) { display: none; }\n`;\n","import { css } from 'lit';\n\n// ── Elevation utilities ──\n// These box-shadow exports are no longer consumed by any component\n// (shadows were removed in the design-token cleanup pass).\n// Exports are kept to avoid breaking downstream imports, but values\n// are emptied. Use border / border-color tokens instead for depth cues.\n\n/** @deprecated No component uses box-shadow elevation. */\nexport const elevation1 = css``;\n\n/** @deprecated No component uses box-shadow elevation. */\nexport const elevation2 = css``;\n\n/** @deprecated No component uses box-shadow elevation. */\nexport const elevation3 = css``;\n\n/** @deprecated No component uses box-shadow elevation. */\nexport const elevation4 = css``;\n\n/** @deprecated No component uses box-shadow elevation. */\nexport const elevation5 = css``;\n","import { css } from 'lit';\n\n/** AI glow effect using ai-effect tokens. */\nexport const aiGlow = css`\n box-shadow: 0 0 var(--cg-ai-effect-glow-blur) var(--cg-ai-effect-glow-spread) var(--cg-ai-effect-glow-color);\n`;\n\n/** AI gradient background (lime-yellow brand). */\nexport const aiGradient = css`\n background: linear-gradient(135deg, var(--cg-ai-effect-gradient-from), var(--cg-ai-effect-gradient-to));\n`;\n\n/** AI shimmer text effect — gradient that sweeps across text. */\nexport const aiShimmerText = css`\n background: linear-gradient(\n 90deg,\n var(--cg-color-surface-base-text) 25%,\n var(--cg-color-accent-text) 50%,\n var(--cg-color-surface-base-text) 75%\n );\n background-size: 200% 100%;\n -webkit-background-clip: text;\n background-clip: text;\n -webkit-text-fill-color: transparent;\n animation: shimmer var(--cg-ai-effect-shimmer-duration) linear infinite;\n`;\n\n/** AI shimmer loading skeleton effect. */\nexport const aiShimmerSkeleton = css`\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 var(--cg-ai-effect-shimmer-duration) linear infinite;\n`;\n\n/** AI backdrop blur. */\nexport const aiBackdropBlur = css`\n backdrop-filter: blur(var(--cg-ai-effect-backdropBlur));\n -webkit-backdrop-filter: blur(var(--cg-ai-effect-backdropBlur));\n`;\n","import { css } from 'lit';\n\n// ─────────────────────────────────────────────────────────\n// Premium Visual Effects — shared across all components\n// Inspired by HeroUI, Shadcn, Radix, Aceternity patterns\n// ─────────────────────────────────────────────────────────\n\n/**\n * Top-edge light simulation on dark surfaces.\n * Creates a 1px white highlight at the top of the element,\n * simulating overhead lighting hitting a raised surface.\n * (Apple/macOS pattern used in premium dark UIs)\n */\nexport const insetHighlight = css`\n box-shadow: inset 0 1px 0 0 var(--cg-overlay-white-light);\n`;\n\n/**\n * Subtle top-to-bottom gradient on surfaces for depth.\n * The 3% lightness difference creates a physical-object feel\n * without being visually distracting.\n */\nexport const surfaceGradient = css`\n background-image: linear-gradient(\n to bottom,\n var(--cg-overlay-white-subtle) 0%,\n transparent 100%\n );\n`;\n\n/**\n * Micro-scale on hover for interactive elements.\n * The 1.02 scale is subtle enough to feel natural but\n * noticeable enough to communicate interactivity.\n */\nexport const hoverScale = css`\n transition: transform var(--cg-transition-duration-default) var(--cg-transition-easing-default);\n &:hover:not(:disabled):not([disabled]):not(.disabled) {\n transform: scale(1.02);\n }\n &:active:not(:disabled):not([disabled]):not(.disabled) {\n transform: scale(var(--cg-interaction-press-scale));\n }\n`;\n\n/**\n * Color-matched hover background using the accent hue\n * at very low opacity. This feels intentional rather than\n * a generic gray overlay. (Radix/Shadcn pattern)\n */\nexport const colorMatchedHover = css`\n &:hover:not(:disabled):not([disabled]):not(.disabled) {\n background-color: var(--cg-overlay-accent-subtle);\n }\n`;\n\n/**\n * Focus ring that transitions in smoothly rather than\n * appearing instantly. The ring spreads from 0px to full\n * size over 150ms with deceleration easing.\n */\nexport const focusRingAnimated = css`\n box-shadow: 0 0 0 0px transparent, 0 0 0 0px transparent;\n transition: box-shadow var(--cg-transition-duration-default) var(--cg-transition-easing-ease-out);\n &:focus-visible {\n box-shadow:\n 0 0 0 2px var(--cg-color-surface-base-background),\n 0 0 0 4px var(--cg-focus-ring-color);\n outline: none;\n }\n`;\n\n/**\n * CSS-only ripple effect on click.\n * Uses ::after pseudo-element with radial gradient that\n * expands from center on :active. Requires parent to have\n * position: relative and overflow: hidden.\n */\nexport const rippleEffect = css`\n position: relative;\n overflow: hidden;\n &::after {\n content: '';\n position: absolute;\n inset: 0;\n background: radial-gradient(\n circle at 50% 50%,\n var(--cg-overlay-white-strong) 0%,\n transparent 70%\n );\n opacity: 0;\n transform: scale(0);\n transition: transform 400ms ease-out, opacity 400ms ease-out;\n pointer-events: none;\n border-radius: inherit;\n }\n &:active:not(:disabled)::after {\n opacity: 1;\n transform: scale(2.5);\n transition: 0s;\n }\n`;\n\n/** Dot/indicator pulse animation for badges and status indicators. */\nexport const dotPulseKeyframes = css`\n @keyframes dotPulse {\n 0%, 100% { transform: scale(1); opacity: 1; }\n 50% { transform: scale(1.4); opacity: 0.7; }\n }\n`;\n\n/** Value change pulse for numbers and metrics. */\nexport const valueChangePulseKeyframes = css`\n @keyframes valueChangePulse {\n 0% { transform: scale(1); }\n 40% { transform: scale(1.05); }\n 100% { transform: scale(1); }\n }\n`;\n\n/** Entrance animation with stagger support via --stagger-index custom property. */\nexport const entranceStagger = css`\n @keyframes staggerFadeIn {\n from {\n opacity: 0;\n transform: translateY(8px);\n }\n to {\n opacity: 1;\n transform: translateY(0);\n }\n }\n`;\n\n/** Exit animation for removed elements (badges, chips, list items). */\nexport const exitFadeScaleKeyframes = css`\n @keyframes exitFadeScale {\n from { opacity: 1; transform: scale(1); }\n to { opacity: 0; transform: scale(0.85); }\n }\n`;\n\n// ─────────────────────────────────────────────────────────\n// Advanced Effects — cutting-edge CSS techniques\n// ─────────────────────────────────────────────────────────\n\n/**\n * Dark glassmorphism card — frosted glass with layered shadows.\n * The saturate(1.1) adds vibrancy behind the blur.\n * Use sparingly: max 2-3 glass elements per viewport.\n */\nexport const glassCard = css`\n background: var(--cg-overlay-white-subtle);\n backdrop-filter: blur(12px) saturate(1.1);\n -webkit-backdrop-filter: blur(12px) saturate(1.1);\n border: 1px solid var(--cg-overlay-white-medium);\n box-shadow:\n 0 8px 32px var(--cg-overlay-dark-strong),\n inset 0 1px 0 var(--cg-overlay-white-light);\n`;\n\n/**\n * Noise texture overlay for premium dark surfaces.\n * Inline SVG avoids external file dependencies in Shadow DOM.\n * The mix-blend-mode: overlay enhances surfaces without washing out.\n */\nexport const noiseOverlay = css`\n &::before {\n content: '';\n position: absolute;\n inset: 0;\n border-radius: inherit;\n opacity: 0.02;\n pointer-events: none;\n z-index: 1;\n background-image: url(\"data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E\");\n mix-blend-mode: overlay;\n }\n`;\n\n/**\n * Liquid fill hover — gradient sweeps up from bottom on hover.\n * More dramatic than colorMatchedHover, for hero/featured elements.\n */\nexport const liquidFillHover = css`\n position: relative;\n overflow: hidden;\n z-index: 0;\n &::before {\n content: '';\n position: absolute;\n inset: 0;\n background: linear-gradient(\n 180deg,\n var(--cg-color-accent-text) 0%,\n var(--cg-overlay-accent-subtle) 100%\n );\n opacity: 0.06;\n transform: translateY(102%);\n transition: transform var(--cg-transition-duration-slow) var(--cg-transition-easing-default);\n z-index: -1;\n border-radius: inherit;\n }\n &:hover::before {\n transform: translateY(0);\n }\n`;\n\n/**\n * AI processing glow ring — rotating conic gradient border.\n * Register --cg-border-angle via CSS.registerProperty() in connectedCallback.\n */\nexport const aiGlowRing = css`\n @keyframes cgBorderSpin {\n to { --cg-border-angle: 360deg; }\n }\n`;\n\n/**\n * Scroll-driven reveal animation.\n * Elements fade+slide in as they enter the viewport.\n * Progressive enhancement — works in Chrome 115+, Firefox 110+, Safari 18+.\n */\nexport const scrollReveal = css`\n @keyframes cgScrollReveal {\n from {\n opacity: 0;\n transform: translateY(20px) scale(0.98);\n }\n to {\n opacity: 1;\n transform: translateY(0) scale(1);\n }\n }\n`;\n"],"names":["css","focusRingSingle","menuListStyles","reducedMotion","spinKeyframes","fadeInKeyframes","fadeSlideInKeyframes","shimmerKeyframes","pulseKeyframes","scaleInKeyframes","hostBase","hostBlock","dotPulseKeyframes","entranceStagger"],"mappings":"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"}