@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,245 +0,0 @@
1
- import { css as p, LitElement as u, nothing as g, html as c } from "lit";
2
- import { property as r, state as h, customElement as f } from "lit/decorators.js";
3
- import { h as b, r as m } from "../../chunks/premium.css-9I4kHrsl.js";
4
- import "../cg-otp-input/cg-otp-input.js";
5
- var v = Object.defineProperty, y = Object.getOwnPropertyDescriptor, i = (e, s, n, a) => {
6
- for (var o = a > 1 ? void 0 : a ? y(s, n) : s, d = e.length - 1, l; d >= 0; d--)
7
- (l = e[d]) && (o = (a ? l(s, n, o) : l(o)) || o);
8
- return a && o && v(s, n, o), o;
9
- };
10
- let t = class extends u {
11
- constructor() {
12
- super(...arguments), this.factor = "totp", this.length = 6, this.destination = "", this.resendCooldown = 30, this.disabled = !1, this.resendLabel = "Resend code", this.triggerLabel = "Use security key", this._code = "", this._resendRemaining = 0, this._onCodeChange = (e) => {
13
- const s = e.detail;
14
- this._code = s?.value ?? "";
15
- }, this._onCodeComplete = (e) => {
16
- const n = e.detail?.value ?? this._code;
17
- this._submit(n);
18
- }, this._onResend = () => {
19
- this.disabled || this._resendRemaining > 0 || (this.dispatchEvent(new CustomEvent("cg-mfa-resend", {
20
- detail: { factor: this.factor },
21
- bubbles: !0,
22
- composed: !0
23
- })), this.startCooldown());
24
- }, this._onTrigger = () => {
25
- this.disabled || this.dispatchEvent(new CustomEvent("cg-mfa-trigger", {
26
- detail: { factor: this.factor },
27
- bubbles: !0,
28
- composed: !0
29
- }));
30
- };
31
- }
32
- connectedCallback() {
33
- super.connectedCallback(), this.resendCooldown > 0 && (this._resendRemaining = this.resendCooldown, this._tickResend());
34
- }
35
- disconnectedCallback() {
36
- super.disconnectedCallback(), this._resendTimer !== void 0 && clearInterval(this._resendTimer);
37
- }
38
- _tickResend() {
39
- this._resendTimer !== void 0 && clearInterval(this._resendTimer), this._resendTimer = window.setInterval(() => {
40
- if (this._resendRemaining <= 0) {
41
- this._resendTimer !== void 0 && clearInterval(this._resendTimer), this._resendTimer = void 0;
42
- return;
43
- }
44
- this._resendRemaining -= 1;
45
- }, 1e3);
46
- }
47
- /** Restart the resend cooldown. Call after the consumer issues a new code. */
48
- startCooldown(e = this.resendCooldown) {
49
- this._resendRemaining = e, this._tickResend();
50
- }
51
- _submit(e) {
52
- this.disabled || this.factor !== "webauthn" && e.length !== this.length || this.dispatchEvent(new CustomEvent("cg-mfa-submit", {
53
- detail: { factor: this.factor, code: e },
54
- bubbles: !0,
55
- composed: !0
56
- }));
57
- }
58
- _factorCopy() {
59
- switch (this.factor) {
60
- case "totp":
61
- return {
62
- title: "Two-factor verification",
63
- subtitle: "Enter the 6-digit code from your authenticator app."
64
- };
65
- case "sms":
66
- return {
67
- title: "Verify your phone",
68
- subtitle: this.destination ? `We sent a code to ${this.destination}.` : "Enter the code we just sent you."
69
- };
70
- case "email":
71
- return {
72
- title: "Verify your email",
73
- subtitle: this.destination ? `We sent a code to ${this.destination}.` : "Enter the code from your inbox."
74
- };
75
- case "webauthn":
76
- return {
77
- title: "Verify with security key",
78
- subtitle: "Insert your security key or use a registered passkey."
79
- };
80
- }
81
- }
82
- render() {
83
- const e = this._factorCopy(), s = this.factor !== "webauthn", n = this.disabled || this._resendRemaining > 0, a = this._resendRemaining > 0 ? `Resend in ${this._resendRemaining}s` : this.resendLabel;
84
- return c`
85
- <div class="wrapper">
86
- <div class="heading">
87
- <span class="title">${e.title}</span>
88
- <span class="subtitle">
89
- ${this.destination && (this.factor === "sms" || this.factor === "email") ? c`${e.subtitle.split(this.destination)[0] ?? ""}<span class="destination">${this.destination}</span>${e.subtitle.split(this.destination)[1] ?? ""}` : e.subtitle}
90
- </span>
91
- </div>
92
-
93
- ${s ? c`
94
- <div class="input-region">
95
- <cg-otp-input
96
- .length=${this.length}
97
- ?disabled=${this.disabled}
98
- @cg-input=${this._onCodeChange}
99
- @cg-complete=${this._onCodeComplete}
100
- ></cg-otp-input>
101
- </div>
102
- <div class="resend-row">
103
- <span>Didn't get it?</span>
104
- <button
105
- class="resend"
106
- type="button"
107
- ?disabled=${n}
108
- @click=${this._onResend}
109
- >${a}</button>
110
- </div>
111
- ` : c`
112
- <div class="trigger">
113
- <button
114
- class="resend"
115
- type="button"
116
- ?disabled=${this.disabled}
117
- @click=${this._onTrigger}
118
- >${this.triggerLabel}</button>
119
- </div>
120
- `}
121
-
122
- <div class="footer-slot">
123
- <slot name="footer"></slot>
124
- </div>
125
- </div>
126
- ${g}
127
- `;
128
- }
129
- };
130
- t.styles = [b, m, p`
131
- :host { display: block; }
132
-
133
- .wrapper {
134
- display: flex;
135
- flex-direction: column;
136
- gap: var(--cg-spacing-16);
137
- }
138
-
139
- .heading {
140
- display: flex;
141
- flex-direction: column;
142
- gap: var(--cg-spacing-4);
143
- text-align: center;
144
- }
145
- .title {
146
- font-size: var(--cg-font-size-base);
147
- font-weight: var(--cg-font-weight-semibold);
148
- color: var(--cg-color-surface-base-text);
149
- }
150
- .subtitle {
151
- font-size: var(--cg-font-size-sm);
152
- color: var(--cg-color-surface-container-outlined);
153
- line-height: var(--cg-line-height-snug);
154
- }
155
- .destination {
156
- font-family: var(--cg-font-family-mono, ui-monospace, monospace);
157
- color: var(--cg-color-surface-base-text);
158
- }
159
-
160
- .input-region {
161
- display: flex;
162
- justify-content: center;
163
- }
164
-
165
- .resend-row {
166
- display: flex;
167
- align-items: center;
168
- justify-content: center;
169
- gap: var(--cg-spacing-8);
170
- font-size: var(--cg-font-size-xs);
171
- color: var(--cg-color-surface-container-outlined);
172
- }
173
-
174
- .resend {
175
- background: transparent;
176
- border: 0;
177
- color: var(--cg-color-action-primary-text-default);
178
- font: inherit;
179
- font-weight: var(--cg-font-weight-medium);
180
- cursor: pointer;
181
- padding: var(--cg-spacing-4) var(--cg-spacing-6);
182
- border-radius: var(--cg-border-radius-50);
183
- }
184
- .resend:disabled {
185
- color: var(--cg-color-surface-container-outlined);
186
- cursor: not-allowed;
187
- }
188
- .resend:hover:not(:disabled) {
189
- background: var(--cg-color-action-tertiary-background-hover);
190
- }
191
- .resend:focus-visible {
192
- outline: none;
193
- box-shadow: 0 0 0 var(--cg-spacing-2) var(--cg-color-focus-ring);
194
- }
195
-
196
- .trigger {
197
- display: flex;
198
- justify-content: center;
199
- }
200
-
201
- .footer-slot {
202
- display: flex;
203
- flex-direction: column;
204
- align-items: center;
205
- gap: var(--cg-spacing-4);
206
- font-size: var(--cg-font-size-xs);
207
- }
208
- .footer-slot:empty { display: none; }
209
-
210
- :host([disabled]) .wrapper { opacity: 0.6; pointer-events: none; }
211
- `];
212
- i([
213
- r({ reflect: !0 })
214
- ], t.prototype, "factor", 2);
215
- i([
216
- r({ type: Number })
217
- ], t.prototype, "length", 2);
218
- i([
219
- r()
220
- ], t.prototype, "destination", 2);
221
- i([
222
- r({ type: Number, attribute: "resend-cooldown" })
223
- ], t.prototype, "resendCooldown", 2);
224
- i([
225
- r({ type: Boolean, reflect: !0 })
226
- ], t.prototype, "disabled", 2);
227
- i([
228
- r({ attribute: "resend-label" })
229
- ], t.prototype, "resendLabel", 2);
230
- i([
231
- r({ attribute: "trigger-label" })
232
- ], t.prototype, "triggerLabel", 2);
233
- i([
234
- h()
235
- ], t.prototype, "_code", 2);
236
- i([
237
- h()
238
- ], t.prototype, "_resendRemaining", 2);
239
- t = i([
240
- f("cg-mfa-prompt")
241
- ], t);
242
- export {
243
- t as CgMfaPrompt
244
- };
245
- //# sourceMappingURL=cg-mfa-prompt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cg-mfa-prompt.js","sources":["../../../src/components/cg-mfa-prompt/cg-mfa-prompt.ts"],"sourcesContent":["import { LitElement, html, css, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion } from '../../styles/index.js';\nimport '../cg-otp-input/cg-otp-input.js';\n\n/**\n * @element cg-mfa-prompt\n * Multi-factor authentication challenge UI. Shows the current factor\n * (TOTP, SMS, email, WebAuthn), a code input where applicable, and a\n * resend control with a token-driven cooldown timer. Emits `cg-mfa-submit`\n * when the user submits a code.\n *\n * The component is form-aware via cg-otp-input — pressing Enter inside\n * the OTP cells, or auto-submit when the code reaches the configured\n * length, both fire `cg-mfa-submit` with the entered value.\n *\n * @example TOTP challenge\n * ```html\n * <cg-mfa-prompt\n * factor=\"totp\"\n * length=\"6\"\n * .resendCooldown=${30}\n * @cg-mfa-submit=${onSubmit}\n * @cg-mfa-resend=${onResend}\n * ></cg-mfa-prompt>\n * ```\n *\n * @example SMS with destination hint\n * ```html\n * <cg-mfa-prompt factor=\"sms\" destination=\"+61 4** *** 219\"></cg-mfa-prompt>\n * ```\n *\n * @example WebAuthn (no code input — just a re-prompt button)\n * ```html\n * <cg-mfa-prompt factor=\"webauthn\" @cg-mfa-trigger=${onWebAuthn}></cg-mfa-prompt>\n * ```\n *\n * @slot footer - Slot for \"Use a backup code\" / \"Try another method\" links.\n *\n * @fires {CustomEvent<{factor: string, code: string}>} cg-mfa-submit - Code submitted (auto or explicit)\n * @fires {CustomEvent<{factor: string}>} cg-mfa-resend - Resend requested (after cooldown)\n * @fires {CustomEvent<{factor: string}>} cg-mfa-trigger - Trigger requested (factors that don't take a code, e.g. WebAuthn)\n */\n@customElement('cg-mfa-prompt')\nexport class CgMfaPrompt extends LitElement {\n static override styles = [hostBlock, reducedMotion, css`\n :host { display: block; }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--cg-spacing-16);\n }\n\n .heading {\n display: flex;\n flex-direction: column;\n gap: var(--cg-spacing-4);\n text-align: center;\n }\n .title {\n font-size: var(--cg-font-size-base);\n font-weight: var(--cg-font-weight-semibold);\n color: var(--cg-color-surface-base-text);\n }\n .subtitle {\n font-size: var(--cg-font-size-sm);\n color: var(--cg-color-surface-container-outlined);\n line-height: var(--cg-line-height-snug);\n }\n .destination {\n font-family: var(--cg-font-family-mono, ui-monospace, monospace);\n color: var(--cg-color-surface-base-text);\n }\n\n .input-region {\n display: flex;\n justify-content: center;\n }\n\n .resend-row {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: var(--cg-spacing-8);\n font-size: var(--cg-font-size-xs);\n color: var(--cg-color-surface-container-outlined);\n }\n\n .resend {\n background: transparent;\n border: 0;\n color: var(--cg-color-action-primary-text-default);\n font: inherit;\n font-weight: var(--cg-font-weight-medium);\n cursor: pointer;\n padding: var(--cg-spacing-4) var(--cg-spacing-6);\n border-radius: var(--cg-border-radius-50);\n }\n .resend:disabled {\n color: var(--cg-color-surface-container-outlined);\n cursor: not-allowed;\n }\n .resend:hover:not(:disabled) {\n background: var(--cg-color-action-tertiary-background-hover);\n }\n .resend:focus-visible {\n outline: none;\n box-shadow: 0 0 0 var(--cg-spacing-2) var(--cg-color-focus-ring);\n }\n\n .trigger {\n display: flex;\n justify-content: center;\n }\n\n .footer-slot {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--cg-spacing-4);\n font-size: var(--cg-font-size-xs);\n }\n .footer-slot:empty { display: none; }\n\n :host([disabled]) .wrapper { opacity: 0.6; pointer-events: none; }\n `];\n\n /** Active factor. Drives the visible copy + which input renders. */\n @property({ reflect: true }) factor: 'totp' | 'sms' | 'email' | 'webauthn' = 'totp';\n\n /** OTP code length. 6 by default; some providers use 4 or 8. */\n @property({ type: Number }) length = 6;\n\n /** Where the code was sent (e.g. masked phone or email). Decorative. */\n @property() destination = '';\n\n /** Cooldown in seconds before the resend button reactivates after a click. */\n @property({ type: Number, attribute: 'resend-cooldown' }) resendCooldown = 30;\n\n /** Disable the entire prompt (resending + submitting). */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Override the resend label — e.g. \"Send new code\" vs \"Resend\". */\n @property({ attribute: 'resend-label' }) resendLabel = 'Resend code';\n\n /** Override the WebAuthn trigger label. */\n @property({ attribute: 'trigger-label' }) triggerLabel = 'Use security key';\n\n @state() private _code = '';\n @state() private _resendRemaining = 0;\n\n private _resendTimer: number | undefined;\n\n override connectedCallback(): void {\n super.connectedCallback();\n if (this.resendCooldown > 0) {\n this._resendRemaining = this.resendCooldown;\n this._tickResend();\n }\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this._resendTimer !== undefined) clearInterval(this._resendTimer);\n }\n\n private _tickResend(): void {\n if (this._resendTimer !== undefined) clearInterval(this._resendTimer);\n this._resendTimer = window.setInterval(() => {\n if (this._resendRemaining <= 0) {\n if (this._resendTimer !== undefined) clearInterval(this._resendTimer);\n this._resendTimer = undefined;\n return;\n }\n this._resendRemaining -= 1;\n }, 1000);\n }\n\n /** Restart the resend cooldown. Call after the consumer issues a new code. */\n startCooldown(seconds: number = this.resendCooldown): void {\n this._resendRemaining = seconds;\n this._tickResend();\n }\n\n private _onCodeChange = (e: Event): void => {\n const detail = (e as CustomEvent<{ value: string }>).detail;\n this._code = detail?.value ?? '';\n };\n\n private _onCodeComplete = (e: Event): void => {\n const detail = (e as CustomEvent<{ value: string }>).detail;\n const code = detail?.value ?? this._code;\n this._submit(code);\n };\n\n private _submit(code: string): void {\n if (this.disabled) return;\n if (this.factor !== 'webauthn' && code.length !== this.length) return;\n this.dispatchEvent(new CustomEvent('cg-mfa-submit', {\n detail: { factor: this.factor, code },\n bubbles: true,\n composed: true,\n }));\n }\n\n private _onResend = (): void => {\n if (this.disabled || this._resendRemaining > 0) return;\n this.dispatchEvent(new CustomEvent('cg-mfa-resend', {\n detail: { factor: this.factor },\n bubbles: true,\n composed: true,\n }));\n this.startCooldown();\n };\n\n private _onTrigger = (): void => {\n if (this.disabled) return;\n this.dispatchEvent(new CustomEvent('cg-mfa-trigger', {\n detail: { factor: this.factor },\n bubbles: true,\n composed: true,\n }));\n };\n\n private _factorCopy(): { title: string; subtitle: string } {\n switch (this.factor) {\n case 'totp':\n return {\n title: 'Two-factor verification',\n subtitle: 'Enter the 6-digit code from your authenticator app.',\n };\n case 'sms':\n return {\n title: 'Verify your phone',\n subtitle: this.destination\n ? `We sent a code to ${this.destination}.`\n : 'Enter the code we just sent you.',\n };\n case 'email':\n return {\n title: 'Verify your email',\n subtitle: this.destination\n ? `We sent a code to ${this.destination}.`\n : 'Enter the code from your inbox.',\n };\n case 'webauthn':\n return {\n title: 'Verify with security key',\n subtitle: 'Insert your security key or use a registered passkey.',\n };\n }\n }\n\n override render() {\n const copy = this._factorCopy();\n const showCodeInput = this.factor !== 'webauthn';\n const resendDisabled = this.disabled || this._resendRemaining > 0;\n const resendLabel =\n this._resendRemaining > 0\n ? `Resend in ${this._resendRemaining}s`\n : this.resendLabel;\n\n return html`\n <div class=\"wrapper\">\n <div class=\"heading\">\n <span class=\"title\">${copy.title}</span>\n <span class=\"subtitle\">\n ${this.destination && (this.factor === 'sms' || this.factor === 'email')\n ? html`${copy.subtitle.split(this.destination)[0] ?? ''}<span class=\"destination\">${this.destination}</span>${copy.subtitle.split(this.destination)[1] ?? ''}`\n : copy.subtitle}\n </span>\n </div>\n\n ${showCodeInput\n ? html`\n <div class=\"input-region\">\n <cg-otp-input\n .length=${this.length}\n ?disabled=${this.disabled}\n @cg-input=${this._onCodeChange}\n @cg-complete=${this._onCodeComplete}\n ></cg-otp-input>\n </div>\n <div class=\"resend-row\">\n <span>Didn't get it?</span>\n <button\n class=\"resend\"\n type=\"button\"\n ?disabled=${resendDisabled}\n @click=${this._onResend}\n >${resendLabel}</button>\n </div>\n `\n : html`\n <div class=\"trigger\">\n <button\n class=\"resend\"\n type=\"button\"\n ?disabled=${this.disabled}\n @click=${this._onTrigger}\n >${this.triggerLabel}</button>\n </div>\n `}\n\n <div class=\"footer-slot\">\n <slot name=\"footer\"></slot>\n </div>\n </div>\n ${nothing}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cg-mfa-prompt': CgMfaPrompt;\n }\n}\n"],"names":["CgMfaPrompt","LitElement","detail","code","seconds","copy","showCodeInput","resendDisabled","resendLabel","html","nothing","hostBlock","reducedMotion","css","__decorateClass","property","state","customElement"],"mappings":"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"}
@@ -1,62 +0,0 @@
1
- import { LitElement } from 'lit';
2
- /**
3
- * @element cg-search-input
4
- * Search input — wraps `<cg-input>` with a leading search icon, clearable
5
- * trailing button, debounced search event, and a `role="search"` landmark.
6
- * Use this anywhere a user filters/queries a collection.
7
- *
8
- * Two events: `cg-search` fires after `debounce` ms of inactivity and on
9
- * Enter; `cg-input` fires on every keystroke (forwarded from cg-input)
10
- * for callers that want immediate value-change visibility without the
11
- * debounce.
12
- *
13
- * @example
14
- * ```html
15
- * <cg-search-input
16
- * placeholder="Search patients…"
17
- * debounce="200"
18
- * @cg-search=${onSearch}
19
- * ></cg-search-input>
20
- * ```
21
- *
22
- * @fires {CustomEvent<{value: string}>} cg-input - Forwarded from cg-input on every keystroke
23
- * @fires {CustomEvent<{value: string}>} cg-search - Debounced search event (also fires on Enter and clear)
24
- *
25
- * @cssprop --cg-component-input-height-md - Inherits from cg-input
26
- */
27
- export declare class CgSearchInput extends LitElement {
28
- static styles: import('lit').CSSResult[];
29
- /** Current query value. Two-way: read it back via `value`, or set it to seed/clear. */
30
- value: string;
31
- /** Placeholder shown when the field is empty. */
32
- placeholder: string;
33
- /** Visible label. Pass empty string to suppress. */
34
- label: string;
35
- /** Debounce window in ms for the `cg-search` event. 0 disables the debounce. */
36
- debounce: number;
37
- /** Disable the input. */
38
- disabled: boolean;
39
- /** Mark the input as loading (input shows the inherited loading affordance). */
40
- loading: boolean;
41
- /** Suppress the leading search icon. */
42
- noIcon: boolean;
43
- private _internalValue;
44
- private _searchTimer;
45
- connectedCallback(): void;
46
- disconnectedCallback(): void;
47
- updated(changed: Map<string, unknown>): void;
48
- private _emitSearch;
49
- private _scheduleSearch;
50
- private _onInput;
51
- private _onKeydown;
52
- private _onClear;
53
- /** Force the search event to fire now, bypassing the debounce window. */
54
- flush(): void;
55
- render(): import('lit').TemplateResult<1>;
56
- }
57
- declare global {
58
- interface HTMLElementTagNameMap {
59
- 'cg-search-input': CgSearchInput;
60
- }
61
- }
62
- //# sourceMappingURL=cg-search-input.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cg-search-input.d.ts","sourceRoot":"","sources":["../../../src/components/cg-search-input/cg-search-input.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAG5C,OAAO,yBAAyB,CAAC;AACjC,OAAO,uBAAuB,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,qBACa,aAAc,SAAQ,UAAU;IAC3C,OAAgB,MAAM,4BAGnB;IAEH,uFAAuF;IAC3E,KAAK,SAAM;IAEvB,iDAAiD;IACrC,WAAW,SAAY;IAEnC,oDAAoD;IACxC,KAAK,SAAM;IAEvB,gFAAgF;IACpD,QAAQ,SAAO;IAE3C,yBAAyB;IACmB,QAAQ,UAAS;IAE7D,gFAAgF;IACpC,OAAO,UAAS;IAE5D,wCAAwC;IAC0B,MAAM,UAAS;IAExE,OAAO,CAAC,cAAc,CAAM;IAErC,OAAO,CAAC,YAAY,CAAqB;IAEhC,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,IAAI,IAAI;IAK5B,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMrD,OAAO,CAAC,WAAW;IAQnB,OAAO,CAAC,eAAe;IAYvB,OAAO,CAAC,QAAQ,CAMd;IAEF,OAAO,CAAC,UAAU,CAOhB;IAEF,OAAO,CAAC,QAAQ,CAQd;IAEF,yEAAyE;IACzE,KAAK,IAAI,IAAI;IAQJ,MAAM;CAoBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,aAAa,CAAC;KAClC;CACF"}
@@ -1,106 +0,0 @@
1
- import { css as u, LitElement as p, html as n } from "lit";
2
- import { property as a, state as d, customElement as m } from "lit/decorators.js";
3
- import { h as _, r as b } from "../../chunks/premium.css-9I4kHrsl.js";
4
- import "../cg-input/cg-input.js";
5
- import "../cg-icon/cg-icon.js";
6
- var f = Object.defineProperty, v = Object.getOwnPropertyDescriptor, i = (e, l, r, h) => {
7
- for (var s = h > 1 ? void 0 : h ? v(l, r) : l, o = e.length - 1, c; o >= 0; o--)
8
- (c = e[o]) && (s = (h ? c(l, r, s) : c(s)) || s);
9
- return h && s && f(l, r, s), s;
10
- };
11
- let t = class extends p {
12
- constructor() {
13
- super(...arguments), this.value = "", this.placeholder = "Search", this.label = "", this.debounce = 200, this.disabled = !1, this.loading = !1, this.noIcon = !1, this._internalValue = "", this._onInput = (e) => {
14
- const r = e.detail?.value ?? "";
15
- this._internalValue = r, this.value = r, this._scheduleSearch(r);
16
- }, this._onKeydown = (e) => {
17
- e.key === "Enter" && (this._searchTimer && (clearTimeout(this._searchTimer), this._searchTimer = void 0), this._emitSearch(this._internalValue));
18
- }, this._onClear = () => {
19
- this._internalValue = "", this.value = "", this._searchTimer && (clearTimeout(this._searchTimer), this._searchTimer = void 0), this._emitSearch("");
20
- };
21
- }
22
- connectedCallback() {
23
- super.connectedCallback(), this._internalValue = this.value;
24
- }
25
- disconnectedCallback() {
26
- super.disconnectedCallback(), this._searchTimer && clearTimeout(this._searchTimer);
27
- }
28
- updated(e) {
29
- e.has("value") && this.value !== this._internalValue && (this._internalValue = this.value);
30
- }
31
- _emitSearch(e) {
32
- this.dispatchEvent(new CustomEvent("cg-search", {
33
- detail: { value: e },
34
- bubbles: !0,
35
- composed: !0
36
- }));
37
- }
38
- _scheduleSearch(e) {
39
- if (this._searchTimer && clearTimeout(this._searchTimer), this.debounce <= 0) {
40
- this._emitSearch(e);
41
- return;
42
- }
43
- this._searchTimer = window.setTimeout(() => {
44
- this._emitSearch(e), this._searchTimer = void 0;
45
- }, this.debounce);
46
- }
47
- /** Force the search event to fire now, bypassing the debounce window. */
48
- flush() {
49
- this._searchTimer && (clearTimeout(this._searchTimer), this._searchTimer = void 0), this._emitSearch(this._internalValue);
50
- }
51
- render() {
52
- return n`
53
- <div class="wrapper" role="search">
54
- <cg-input
55
- type="search"
56
- .value=${this._internalValue}
57
- .placeholder=${this.placeholder}
58
- .label=${this.label}
59
- ?disabled=${this.disabled}
60
- ?loading=${this.loading}
61
- clearable
62
- @cg-input=${this._onInput}
63
- @cg-clear=${this._onClear}
64
- @keydown=${this._onKeydown}
65
- >
66
- ${this.noIcon ? "" : n`<cg-icon slot="prefix" name="search" size="sm"></cg-icon>`}
67
- </cg-input>
68
- </div>
69
- `;
70
- }
71
- };
72
- t.styles = [_, b, u`
73
- :host { display: block; }
74
- .wrapper { display: block; }
75
- `];
76
- i([
77
- a()
78
- ], t.prototype, "value", 2);
79
- i([
80
- a()
81
- ], t.prototype, "placeholder", 2);
82
- i([
83
- a()
84
- ], t.prototype, "label", 2);
85
- i([
86
- a({ type: Number })
87
- ], t.prototype, "debounce", 2);
88
- i([
89
- a({ type: Boolean, reflect: !0 })
90
- ], t.prototype, "disabled", 2);
91
- i([
92
- a({ type: Boolean, reflect: !0 })
93
- ], t.prototype, "loading", 2);
94
- i([
95
- a({ type: Boolean, attribute: "no-icon", reflect: !0 })
96
- ], t.prototype, "noIcon", 2);
97
- i([
98
- d()
99
- ], t.prototype, "_internalValue", 2);
100
- t = i([
101
- m("cg-search-input")
102
- ], t);
103
- export {
104
- t as CgSearchInput
105
- };
106
- //# sourceMappingURL=cg-search-input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cg-search-input.js","sources":["../../../src/components/cg-search-input/cg-search-input.ts"],"sourcesContent":["import { LitElement, html, css } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion } from '../../styles/index.js';\nimport '../cg-input/cg-input.js';\nimport '../cg-icon/cg-icon.js';\n\n/**\n * @element cg-search-input\n * Search input — wraps `<cg-input>` with a leading search icon, clearable\n * trailing button, debounced search event, and a `role=\"search\"` landmark.\n * Use this anywhere a user filters/queries a collection.\n *\n * Two events: `cg-search` fires after `debounce` ms of inactivity and on\n * Enter; `cg-input` fires on every keystroke (forwarded from cg-input)\n * for callers that want immediate value-change visibility without the\n * debounce.\n *\n * @example\n * ```html\n * <cg-search-input\n * placeholder=\"Search patients…\"\n * debounce=\"200\"\n * @cg-search=${onSearch}\n * ></cg-search-input>\n * ```\n *\n * @fires {CustomEvent<{value: string}>} cg-input - Forwarded from cg-input on every keystroke\n * @fires {CustomEvent<{value: string}>} cg-search - Debounced search event (also fires on Enter and clear)\n *\n * @cssprop --cg-component-input-height-md - Inherits from cg-input\n */\n@customElement('cg-search-input')\nexport class CgSearchInput extends LitElement {\n static override styles = [hostBlock, reducedMotion, css`\n :host { display: block; }\n .wrapper { display: block; }\n `];\n\n /** Current query value. Two-way: read it back via `value`, or set it to seed/clear. */\n @property() value = '';\n\n /** Placeholder shown when the field is empty. */\n @property() placeholder = 'Search';\n\n /** Visible label. Pass empty string to suppress. */\n @property() label = '';\n\n /** Debounce window in ms for the `cg-search` event. 0 disables the debounce. */\n @property({ type: Number }) debounce = 200;\n\n /** Disable the input. */\n @property({ type: Boolean, reflect: true }) disabled = false;\n\n /** Mark the input as loading (input shows the inherited loading affordance). */\n @property({ type: Boolean, reflect: true }) loading = false;\n\n /** Suppress the leading search icon. */\n @property({ type: Boolean, attribute: 'no-icon', reflect: true }) noIcon = false;\n\n @state() private _internalValue = '';\n\n private _searchTimer: number | undefined;\n\n override connectedCallback(): void {\n super.connectedCallback();\n this._internalValue = this.value;\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this._searchTimer) clearTimeout(this._searchTimer);\n }\n\n override updated(changed: Map<string, unknown>): void {\n if (changed.has('value') && this.value !== this._internalValue) {\n this._internalValue = this.value;\n }\n }\n\n private _emitSearch(value: string): void {\n this.dispatchEvent(new CustomEvent('cg-search', {\n detail: { value },\n bubbles: true,\n composed: true,\n }));\n }\n\n private _scheduleSearch(value: string): void {\n if (this._searchTimer) clearTimeout(this._searchTimer);\n if (this.debounce <= 0) {\n this._emitSearch(value);\n return;\n }\n this._searchTimer = window.setTimeout(() => {\n this._emitSearch(value);\n this._searchTimer = undefined;\n }, this.debounce);\n }\n\n private _onInput = (e: Event): void => {\n const detail = (e as CustomEvent<{ value: string }>).detail;\n const next = detail?.value ?? '';\n this._internalValue = next;\n this.value = next;\n this._scheduleSearch(next);\n };\n\n private _onKeydown = (e: KeyboardEvent): void => {\n if (e.key !== 'Enter') return;\n if (this._searchTimer) {\n clearTimeout(this._searchTimer);\n this._searchTimer = undefined;\n }\n this._emitSearch(this._internalValue);\n };\n\n private _onClear = (): void => {\n this._internalValue = '';\n this.value = '';\n if (this._searchTimer) {\n clearTimeout(this._searchTimer);\n this._searchTimer = undefined;\n }\n this._emitSearch('');\n };\n\n /** Force the search event to fire now, bypassing the debounce window. */\n flush(): void {\n if (this._searchTimer) {\n clearTimeout(this._searchTimer);\n this._searchTimer = undefined;\n }\n this._emitSearch(this._internalValue);\n }\n\n override render() {\n return html`\n <div class=\"wrapper\" role=\"search\">\n <cg-input\n type=\"search\"\n .value=${this._internalValue}\n .placeholder=${this.placeholder}\n .label=${this.label}\n ?disabled=${this.disabled}\n ?loading=${this.loading}\n clearable\n @cg-input=${this._onInput}\n @cg-clear=${this._onClear}\n @keydown=${this._onKeydown}\n >\n ${this.noIcon ? '' : html`<cg-icon slot=\"prefix\" name=\"search\" size=\"sm\"></cg-icon>`}\n </cg-input>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cg-search-input': CgSearchInput;\n }\n}\n"],"names":["CgSearchInput","LitElement","next","changed","value","html","hostBlock","reducedMotion","css","__decorateClass","property","state","customElement"],"mappings":"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"}
@@ -1,72 +0,0 @@
1
- import { LitElement } from 'lit';
2
- /**
3
- * @element cg-sortable
4
- * Reorderable list. Slot in any elements as direct children — drag them with
5
- * a pointer (mouse/touch/pen) or move them with the keyboard to reorder.
6
- * Fires `cg-sort` with the new order when a reorder commits.
7
- *
8
- * Pointer drag uses pointer capture, so it works on mouse, touch, and stylus
9
- * without separate code paths. Keyboard reorder: focus an item, then
10
- * ArrowUp/ArrowDown (or ArrowLeft/ArrowRight in horizontal mode) to move
11
- * it. Home/End jump to first/last position.
12
- *
13
- * @example
14
- * ```html
15
- * <cg-sortable @cg-sort=${onSort}>
16
- * <div data-id="a">Item A</div>
17
- * <div data-id="b">Item B</div>
18
- * <div data-id="c">Item C</div>
19
- * </cg-sortable>
20
- * ```
21
- *
22
- * @example With drag handles only
23
- * ```html
24
- * <cg-sortable handle-selector=".handle">
25
- * <div data-id="a"><span class="handle">⋮</span> Item A</div>
26
- * <div data-id="b"><span class="handle">⋮</span> Item B</div>
27
- * </cg-sortable>
28
- * ```
29
- *
30
- * @slot - Direct children become the sortable items.
31
- *
32
- * @fires {CustomEvent<{from: number, to: number, items: HTMLElement[]}>} cg-sort - Reorder committed
33
- * @fires {CustomEvent<{index: number, item: HTMLElement}>} cg-sort-start - Drag/move started
34
- * @fires {CustomEvent<{index: number, item: HTMLElement}>} cg-sort-end - Drag/move ended (no commit if cancelled)
35
- *
36
- * @cssprop --cg-component-sortable-dragging-opacity - Opacity of the dragged item (default 0.6)
37
- */
38
- export declare class CgSortable extends LitElement {
39
- static styles: import('lit').CSSResult[];
40
- /** CSS selector inside each item that initiates drag. Empty = whole item is the handle. */
41
- handleSelector: string;
42
- /** Disable both pointer and keyboard reordering. */
43
- disabled: boolean;
44
- /** Layout axis. `vertical` listens to ArrowUp/Down; `horizontal` listens to ArrowLeft/Right. */
45
- direction: 'vertical' | 'horizontal';
46
- /** Threshold (0..1) of an item's height/width that the pointer must cross to swap. Default 0.5. */
47
- swapThreshold: number;
48
- private _announcement;
49
- private _draggingEl;
50
- private _startIndex;
51
- private _pointerId;
52
- private _startPointer;
53
- private _startRect;
54
- private _items;
55
- private _findItemFromTarget;
56
- private _onPointerDown;
57
- private _onPointerMove;
58
- private _onPointerUp;
59
- private _onPointerCancel;
60
- private _finishDrag;
61
- private _onKeyDown;
62
- private _announce;
63
- connectedCallback(): void;
64
- disconnectedCallback(): void;
65
- render(): import('lit').TemplateResult<1>;
66
- }
67
- declare global {
68
- interface HTMLElementTagNameMap {
69
- 'cg-sortable': CgSortable;
70
- }
71
- }
72
- //# sourceMappingURL=cg-sortable.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"cg-sortable.d.ts","sourceRoot":"","sources":["../../../src/components/cg-sortable/cg-sortable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,4BAgCnB;IAEH,2FAA2F;IAC/C,cAAc,SAAM;IAEhE,oDAAoD;IACR,QAAQ,UAAS;IAE7D,gGAAgG;IACnE,SAAS,EAAE,UAAU,GAAG,YAAY,CAAc;IAE/E,mGAAmG;IAC1C,aAAa,SAAO;IAEpE,OAAO,CAAC,aAAa,CAAM;IAEpC,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,WAAW,CAAM;IACzB,OAAO,CAAC,UAAU,CAAuB;IACzC,OAAO,CAAC,aAAa,CAA4C;IACjE,OAAO,CAAC,UAAU,CAAwB;IAE1C,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,mBAAmB;IAa3B,OAAO,CAAC,cAAc,CAmBpB;IAEF,OAAO,CAAC,cAAc,CAqDpB;IAEF,OAAO,CAAC,YAAY,CAGlB;IAEF,OAAO,CAAC,gBAAgB,CAGtB;IAEF,OAAO,CAAC,WAAW;IAiCnB,OAAO,CAAC,UAAU,CAyChB;IAEF,OAAO,CAAC,SAAS;IAKR,iBAAiB,IAAI,IAAI;IASzB,oBAAoB,IAAI,IAAI;IAS5B,MAAM;CAMhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}