@cognivo/components 0.8.1 → 0.8.3

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 (235) hide show
  1. package/dist/chunks/{premium.css-DHekUEUt.js → premium.css-B0hBr_uS.js} +27 -27
  2. package/dist/chunks/{premium.css-DHekUEUt.js.map → premium.css-B0hBr_uS.js.map} +1 -1
  3. package/dist/cognivo.min.js +1876 -1227
  4. package/dist/cognivo.min.js.map +1 -1
  5. package/dist/components/ai-ab-test/ai-ab-test.js +1 -1
  6. package/dist/components/ai-accessibility-report/ai-accessibility-report.js +1 -1
  7. package/dist/components/ai-action-preview/ai-action-preview.js +1 -1
  8. package/dist/components/ai-agent-card/ai-agent-card.js +1 -1
  9. package/dist/components/ai-agent-steps/ai-agent-steps.js +1 -1
  10. package/dist/components/ai-alert-card/ai-alert-card.js +1 -1
  11. package/dist/components/ai-analytics-chart/ai-analytics-chart.js +1 -1
  12. package/dist/components/ai-annotation/ai-annotation.js +1 -1
  13. package/dist/components/ai-api-key-manager/ai-api-key-manager.js +1 -1
  14. package/dist/components/ai-app-sidebar/ai-app-sidebar.js +1 -1
  15. package/dist/components/ai-assistant-widget/ai-assistant-widget.js +1 -1
  16. package/dist/components/ai-audio-player/ai-audio-player.js +1 -1
  17. package/dist/components/ai-avatar/ai-avatar.js +1 -1
  18. package/dist/components/ai-badge/ai-badge.js +1 -1
  19. package/dist/components/ai-batch-progress/ai-batch-progress.js +1 -1
  20. package/dist/components/ai-cache-indicator/ai-cache-indicator.js +1 -1
  21. package/dist/components/ai-capture-flow/ai-capture-flow.js +1 -1
  22. package/dist/components/ai-changelog/ai-changelog.js +1 -1
  23. package/dist/components/ai-chart-summary/ai-chart-summary.js +1 -1
  24. package/dist/components/ai-chat/ai-chat.js +1 -1
  25. package/dist/components/ai-citation/ai-citation.js +1 -1
  26. package/dist/components/ai-collaborative-editor/ai-collaborative-editor.js +1 -1
  27. package/dist/components/ai-command-palette/ai-command-palette.js +1 -1
  28. package/dist/components/ai-confidence-badge/ai-confidence-badge.js +1 -1
  29. package/dist/components/ai-confidence-slider/ai-confidence-slider.js +1 -1
  30. package/dist/components/ai-consent-manager/ai-consent-manager.js +1 -1
  31. package/dist/components/ai-context-window/ai-context-window.js +1 -1
  32. package/dist/components/ai-copy-button/ai-copy-button.js +1 -1
  33. package/dist/components/ai-cost-dashboard/ai-cost-dashboard.js +1 -1
  34. package/dist/components/ai-data-card/ai-data-card.js +1 -1
  35. package/dist/components/ai-data-lineage/ai-data-lineage.js +1 -1
  36. package/dist/components/ai-data-preview/ai-data-preview.js +1 -1
  37. package/dist/components/ai-data-table/ai-data-table.js +1 -1
  38. package/dist/components/ai-debug-console/ai-debug-console.js +1 -1
  39. package/dist/components/ai-detection-canvas/ai-detection-canvas.js +1 -1
  40. package/dist/components/ai-diff-panel/ai-diff-panel.js +1 -1
  41. package/dist/components/ai-embedding-viz/ai-embedding-viz.js +1 -1
  42. package/dist/components/ai-empty-state/ai-empty-state.js +1 -1
  43. package/dist/components/ai-error-boundary/ai-error-boundary.js +1 -1
  44. package/dist/components/ai-eval-scorecard/ai-eval-scorecard.js +1 -1
  45. package/dist/components/ai-feature-flag/ai-feature-flag.js +1 -1
  46. package/dist/components/ai-feedback/ai-feedback.js +1 -1
  47. package/dist/components/ai-file-upload/ai-file-upload.js +1 -1
  48. package/dist/components/ai-form-generator/ai-form-generator.js +1 -1
  49. package/dist/components/ai-guardrail/ai-guardrail.js +1 -1
  50. package/dist/components/ai-heatmap/ai-heatmap.js +1 -1
  51. package/dist/components/ai-insight-card/ai-insight-card.js +1 -1
  52. package/dist/components/ai-json-viewer/ai-json-viewer.js +1 -1
  53. package/dist/components/ai-keyboard-shortcuts/ai-keyboard-shortcuts.js +1 -1
  54. package/dist/components/ai-kpi-grid/ai-kpi-grid.js +1 -1
  55. package/dist/components/ai-labeling-board/ai-labeling-board.js +1 -1
  56. package/dist/components/ai-memory-panel/ai-memory-panel.js +1 -1
  57. package/dist/components/ai-model-comparison/ai-model-comparison.js +1 -1
  58. package/dist/components/ai-model-selector/ai-model-selector.js +1 -1
  59. package/dist/components/ai-notification-center/ai-notification-center.js +1 -1
  60. package/dist/components/ai-onboarding/ai-onboarding.js +1 -1
  61. package/dist/components/ai-permission-gate/ai-permission-gate.js +1 -1
  62. package/dist/components/ai-personalization-dash/ai-personalization-dash.js +1 -1
  63. package/dist/components/ai-presence/ai-presence.js +1 -1
  64. package/dist/components/ai-progress-steps/ai-progress-steps.js +1 -1
  65. package/dist/components/ai-prompt-editor/ai-prompt-editor.js +1 -1
  66. package/dist/components/ai-prompt-template/ai-prompt-template.js +1 -1
  67. package/dist/components/ai-rag-panel/ai-rag-panel.js +1 -1
  68. package/dist/components/ai-reasoning-tree/ai-reasoning-tree.js +1 -1
  69. package/dist/components/ai-result-panel/ai-result-panel.js +1 -1
  70. package/dist/components/ai-reveal-animation/ai-reveal-animation.js +1 -1
  71. package/dist/components/ai-reward-signal/ai-reward-signal.js +1 -1
  72. package/dist/components/ai-rich-message/ai-rich-message.js +1 -1
  73. package/dist/components/ai-scenario-panel/ai-scenario-panel.js +1 -1
  74. package/dist/components/ai-search/ai-search.js +1 -1
  75. package/dist/components/ai-segmentation-viewer/ai-segmentation-viewer.js +1 -1
  76. package/dist/components/ai-sidebar/ai-sidebar.js +1 -1
  77. package/dist/components/ai-similarity-card/ai-similarity-card.js +1 -1
  78. package/dist/components/ai-source-graph/ai-source-graph.js +1 -1
  79. package/dist/components/ai-status-page/ai-status-page.js +1 -1
  80. package/dist/components/ai-streaming-text/ai-streaming-text.js +1 -1
  81. package/dist/components/ai-test-runner/ai-test-runner.js +1 -1
  82. package/dist/components/ai-thinking/ai-thinking.js +1 -1
  83. package/dist/components/ai-timeline/ai-timeline.js +1 -1
  84. package/dist/components/ai-token-tracker/ai-token-tracker.js +1 -1
  85. package/dist/components/ai-tool-card-resolver/ai-tool-card-resolver.js +1 -1
  86. package/dist/components/ai-tool-indicator/ai-tool-indicator.js +1 -1
  87. package/dist/components/ai-transform-slider/ai-transform-slider.js +1 -1
  88. package/dist/components/ai-translation-panel/ai-translation-panel.js +1 -1
  89. package/dist/components/ai-usage-meter/ai-usage-meter.js +1 -1
  90. package/dist/components/ai-validation-checklist/ai-validation-checklist.js +1 -1
  91. package/dist/components/ai-version-selector/ai-version-selector.js +1 -1
  92. package/dist/components/ai-voice-panel/ai-voice-panel.js +1 -1
  93. package/dist/components/ai-webhook-config/ai-webhook-config.js +1 -1
  94. package/dist/components/ai-workflow-builder/ai-workflow-builder.js +1 -1
  95. package/dist/components/bias-anchoring/bias-anchoring.js +1 -1
  96. package/dist/components/bias-authority/bias-authority.js +1 -1
  97. package/dist/components/bias-commitment/bias-commitment.js +1 -1
  98. package/dist/components/bias-reciprocity/bias-reciprocity.js +1 -1
  99. package/dist/components/bias-scarcity/bias-scarcity.js +1 -1
  100. package/dist/components/bias-social-proof/bias-social-proof.js +1 -1
  101. package/dist/components/cg-accordion/cg-accordion.js +1 -1
  102. package/dist/components/cg-alert-dialog/cg-alert-dialog.js +1 -1
  103. package/dist/components/cg-app-shell/cg-app-shell.d.ts +43 -0
  104. package/dist/components/cg-app-shell/cg-app-shell.d.ts.map +1 -0
  105. package/dist/components/cg-app-shell/cg-app-shell.js +170 -0
  106. package/dist/components/cg-app-shell/cg-app-shell.js.map +1 -0
  107. package/dist/components/cg-aspect-ratio/cg-aspect-ratio.js +1 -1
  108. package/dist/components/cg-autocomplete/cg-autocomplete.js +1 -1
  109. package/dist/components/cg-avatar/cg-avatar.js +1 -1
  110. package/dist/components/cg-avatar-group/cg-avatar-group.js +1 -1
  111. package/dist/components/cg-badge/cg-badge.js +1 -1
  112. package/dist/components/cg-badge-group/cg-badge-group.js +1 -1
  113. package/dist/components/cg-blockquote/cg-blockquote.d.ts +32 -0
  114. package/dist/components/cg-blockquote/cg-blockquote.d.ts.map +1 -0
  115. package/dist/components/cg-blockquote/cg-blockquote.js +108 -0
  116. package/dist/components/cg-blockquote/cg-blockquote.js.map +1 -0
  117. package/dist/components/cg-breadcrumbs/cg-breadcrumbs.js +1 -1
  118. package/dist/components/cg-button/cg-button.js +8 -8
  119. package/dist/components/cg-button/cg-button.js.map +1 -1
  120. package/dist/components/cg-button-group/cg-button-group.js +1 -1
  121. package/dist/components/cg-calendar/cg-calendar.js +1 -1
  122. package/dist/components/cg-callout/cg-callout.js +1 -1
  123. package/dist/components/cg-card/cg-card.js +1 -1
  124. package/dist/components/cg-carousel/cg-carousel.js +1 -1
  125. package/dist/components/cg-center/cg-center.d.ts +37 -0
  126. package/dist/components/cg-center/cg-center.d.ts.map +1 -0
  127. package/dist/components/cg-center/cg-center.js +74 -0
  128. package/dist/components/cg-center/cg-center.js.map +1 -0
  129. package/dist/components/cg-chart/cg-chart.js +1 -1
  130. package/dist/components/cg-checkbox/cg-checkbox.js +1 -1
  131. package/dist/components/cg-chip/cg-chip.js +1 -1
  132. package/dist/components/cg-code-block/cg-code-block.js +1 -1
  133. package/dist/components/cg-collapsible/cg-collapsible.js +1 -1
  134. package/dist/components/cg-color-picker/cg-color-picker.js +1 -1
  135. package/dist/components/cg-combobox/cg-combobox.js +1 -1
  136. package/dist/components/cg-command/cg-command.js +1 -1
  137. package/dist/components/cg-context-menu/cg-context-menu.js +1 -1
  138. package/dist/components/cg-date-picker/cg-date-picker.js +1 -1
  139. package/dist/components/cg-date-range-picker/cg-date-range-picker.js +1 -1
  140. package/dist/components/cg-date-time-picker/cg-date-time-picker.js +1 -1
  141. package/dist/components/cg-drawer/cg-drawer.js +1 -1
  142. package/dist/components/cg-dropdown/cg-dropdown.js +1 -1
  143. package/dist/components/cg-empty-state/cg-empty-state.js +1 -1
  144. package/dist/components/cg-file-input/cg-file-input.js +1 -1
  145. package/dist/components/cg-follow-up/cg-follow-up.js +1 -1
  146. package/dist/components/cg-form/cg-form.js +1 -1
  147. package/dist/components/cg-grid/cg-grid.d.ts +39 -0
  148. package/dist/components/cg-grid/cg-grid.d.ts.map +1 -0
  149. package/dist/components/cg-grid/cg-grid.js +78 -0
  150. package/dist/components/cg-grid/cg-grid.js.map +1 -0
  151. package/dist/components/cg-hover-card/cg-hover-card.js +1 -1
  152. package/dist/components/cg-icon/cg-icon.js +1 -1
  153. package/dist/components/cg-image/cg-image.js +1 -1
  154. package/dist/components/cg-image-block/cg-image-block.js +1 -1
  155. package/dist/components/cg-image-gallery/cg-image-gallery.js +1 -1
  156. package/dist/components/cg-input/cg-input.js +1 -1
  157. package/dist/components/cg-kbd/cg-kbd.js +1 -1
  158. package/dist/components/cg-label/cg-label.js +1 -1
  159. package/dist/components/cg-lightbox/cg-lightbox.d.ts +49 -0
  160. package/dist/components/cg-lightbox/cg-lightbox.d.ts.map +1 -0
  161. package/dist/components/cg-lightbox/cg-lightbox.js +203 -0
  162. package/dist/components/cg-lightbox/cg-lightbox.js.map +1 -0
  163. package/dist/components/cg-link/cg-link.js +1 -1
  164. package/dist/components/cg-list/cg-list.js +1 -1
  165. package/dist/components/cg-listbox/cg-listbox.js +1 -1
  166. package/dist/components/cg-markdown/cg-markdown.js +1 -1
  167. package/dist/components/cg-menubar/cg-menubar.js +1 -1
  168. package/dist/components/cg-meter/cg-meter.js +1 -1
  169. package/dist/components/cg-metric-card/cg-metric-card.js +1 -1
  170. package/dist/components/cg-modal/cg-modal.js +1 -1
  171. package/dist/components/cg-navbar/cg-navbar.js +1 -1
  172. package/dist/components/cg-navigation-menu/cg-navigation-menu.js +1 -1
  173. package/dist/components/cg-number-input/cg-number-input.js +1 -1
  174. package/dist/components/cg-otp-input/cg-otp-input.js +1 -1
  175. package/dist/components/cg-overflow-list/cg-overflow-list.d.ts +51 -0
  176. package/dist/components/cg-overflow-list/cg-overflow-list.d.ts.map +1 -0
  177. package/dist/components/cg-overflow-list/cg-overflow-list.js +212 -0
  178. package/dist/components/cg-overflow-list/cg-overflow-list.js.map +1 -0
  179. package/dist/components/cg-pagination/cg-pagination.js +1 -1
  180. package/dist/components/cg-password-input/cg-password-input.js +1 -1
  181. package/dist/components/cg-phone-input/cg-phone-input.js +1 -1
  182. package/dist/components/cg-popover/cg-popover.js +1 -1
  183. package/dist/components/cg-progress-bar/cg-progress-bar.js +1 -1
  184. package/dist/components/cg-radio/cg-radio.js +1 -1
  185. package/dist/components/cg-radio-group/cg-radio-group.js +1 -1
  186. package/dist/components/cg-rating/cg-rating.js +1 -1
  187. package/dist/components/cg-resizable/cg-resizable.js +1 -1
  188. package/dist/components/cg-scroll-area/cg-scroll-area.js +1 -1
  189. package/dist/components/cg-segmented-control/cg-segmented-control.js +1 -1
  190. package/dist/components/cg-select/cg-select.js +1 -1
  191. package/dist/components/cg-separator/cg-separator.js +1 -1
  192. package/dist/components/cg-sheet/cg-sheet.js +1 -1
  193. package/dist/components/cg-sidebar/cg-sidebar.js +1 -1
  194. package/dist/components/cg-skeleton/cg-skeleton.js +1 -1
  195. package/dist/components/cg-slider/cg-slider.js +1 -1
  196. package/dist/components/cg-spinner/cg-spinner.js +1 -1
  197. package/dist/components/cg-split-button/cg-split-button.js +1 -1
  198. package/dist/components/cg-stack/cg-stack.js +1 -1
  199. package/dist/components/cg-status-dot/cg-status-dot.d.ts +31 -0
  200. package/dist/components/cg-status-dot/cg-status-dot.d.ts.map +1 -0
  201. package/dist/components/cg-status-dot/cg-status-dot.js +89 -0
  202. package/dist/components/cg-status-dot/cg-status-dot.js.map +1 -0
  203. package/dist/components/cg-steps/cg-steps.js +1 -1
  204. package/dist/components/cg-switch/cg-switch.js +1 -1
  205. package/dist/components/cg-table/cg-table.js +1 -1
  206. package/dist/components/cg-tabs/cg-tabs.js +1 -1
  207. package/dist/components/cg-tag-input/cg-tag-input.js +1 -1
  208. package/dist/components/cg-text/cg-text.js +1 -1
  209. package/dist/components/cg-textarea/cg-textarea.js +1 -1
  210. package/dist/components/cg-thumbnail/cg-thumbnail.d.ts +39 -0
  211. package/dist/components/cg-thumbnail/cg-thumbnail.d.ts.map +1 -0
  212. package/dist/components/cg-thumbnail/cg-thumbnail.js +134 -0
  213. package/dist/components/cg-thumbnail/cg-thumbnail.js.map +1 -0
  214. package/dist/components/cg-time-picker/cg-time-picker.js +1 -1
  215. package/dist/components/cg-timestamp/cg-timestamp.d.ts +41 -0
  216. package/dist/components/cg-timestamp/cg-timestamp.d.ts.map +1 -0
  217. package/dist/components/cg-timestamp/cg-timestamp.js +81 -0
  218. package/dist/components/cg-timestamp/cg-timestamp.js.map +1 -0
  219. package/dist/components/cg-toaster/cg-toaster.js +1 -1
  220. package/dist/components/cg-toggle/cg-toggle.js +1 -1
  221. package/dist/components/cg-toggle-group/cg-toggle-group.js +1 -1
  222. package/dist/components/cg-toolbar/cg-toolbar.d.ts +51 -0
  223. package/dist/components/cg-toolbar/cg-toolbar.d.ts.map +1 -0
  224. package/dist/components/cg-toolbar/cg-toolbar.js +130 -0
  225. package/dist/components/cg-toolbar/cg-toolbar.js.map +1 -0
  226. package/dist/components/cg-tree-view/cg-tree-view.js +1 -1
  227. package/dist/foundation.d.ts +11 -1
  228. package/dist/foundation.d.ts.map +1 -1
  229. package/dist/foundation.js +88 -68
  230. package/dist/foundation.js.map +1 -1
  231. package/dist/index.d.ts +11 -1
  232. package/dist/index.d.ts.map +1 -1
  233. package/dist/index.js +126 -106
  234. package/dist/index.js.map +1 -1
  235. package/package.json +13 -14
@@ -1,6 +1,6 @@
1
1
  import { css as u, LitElement as p, nothing as d, html as n } from "lit";
2
2
  import { property as s, state as h, customElement as b } from "lit/decorators.js";
3
- import { h as v, r as f, b as m, g as y } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h as v, r as f, b as m, g as y } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var w = Object.defineProperty, x = Object.getOwnPropertyDescriptor, i = (r, e, g, t) => {
5
5
  for (var o = t > 1 ? void 0 : t ? x(e, g) : e, c = r.length - 1, l; c >= 0; c--)
6
6
  (l = r[c]) && (o = (t ? l(e, g, o) : l(o)) || o);
@@ -1,6 +1,6 @@
1
1
  import { css as g, LitElement as f, nothing as d, html as m } from "lit";
2
2
  import { property as i, customElement as p } from "lit/decorators.js";
3
- import { h as u, r as h } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h as u, r as h } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var v = Object.defineProperty, b = Object.getOwnPropertyDescriptor, l = (t, s, a, e) => {
5
5
  for (var r = e > 1 ? void 0 : e ? b(s, a) : s, n = t.length - 1, c; n >= 0; n--)
6
6
  (c = t[n]) && (r = (e ? c(s, a, r) : c(r)) || r);
@@ -0,0 +1,39 @@
1
+ import { LitElement } from 'lit';
2
+ /**
3
+ * @element cg-grid
4
+ * CSS-grid layout primitive with declarative columns, gap, and alignment.
5
+ * Shares cg-stack's gap vocabulary.
6
+ *
7
+ * @example
8
+ * ```html
9
+ * <cg-grid columns="3" gap="md">
10
+ * <cg-card>1</cg-card>
11
+ * <cg-card>2</cg-card>
12
+ * <cg-card>3</cg-card>
13
+ * </cg-grid>
14
+ * ```
15
+ *
16
+ * @example Responsive auto-fill
17
+ * ```html
18
+ * <cg-grid min-column="200px" gap="lg"> … </cg-grid>
19
+ * ```
20
+ *
21
+ * @slot - Grid children.
22
+ */
23
+ export declare class CgGrid extends LitElement {
24
+ static styles: import('lit').CSSResult[];
25
+ columns: number;
26
+ minColumn: string;
27
+ gap: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl';
28
+ align: 'start' | 'center' | 'end' | 'stretch';
29
+ justify: 'start' | 'center' | 'end' | 'stretch';
30
+ full: boolean;
31
+ updated(changed: Map<string, unknown>): void;
32
+ render(): import('lit').TemplateResult<1>;
33
+ }
34
+ declare global {
35
+ interface HTMLElementTagNameMap {
36
+ 'cg-grid': CgGrid;
37
+ }
38
+ }
39
+ //# sourceMappingURL=cg-grid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cg-grid.d.ts","sourceRoot":"","sources":["../../../src/components/cg-grid/cg-grid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAC;AAI5C;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBACa,MAAO,SAAQ,UAAU;IACpC,OAAgB,MAAM,4BAiCnB;IAEwC,OAAO,SAAK;IACD,SAAS,SAAM;IACxC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,CAAQ;IAC9D,KAAK,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAa;IAC1D,OAAO,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAa;IAC7C,IAAI,UAAS;IAEhD,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAS5C,MAAM;CAGhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,MAAM,CAAC;KACnB;CACF"}
@@ -0,0 +1,78 @@
1
+ import { css as m, LitElement as c, html as g } from "lit";
2
+ import { property as i, customElement as u } from "lit/decorators.js";
3
+ import { h, r as f } from "../../chunks/premium.css-B0hBr_uS.js";
4
+ var y = Object.defineProperty, d = Object.getOwnPropertyDescriptor, e = (r, o, n, a) => {
5
+ for (var s = a > 1 ? void 0 : a ? d(o, n) : o, l = r.length - 1, p; l >= 0; l--)
6
+ (p = r[l]) && (s = (a ? p(o, n, s) : p(s)) || s);
7
+ return a && s && y(o, n, s), s;
8
+ };
9
+ let t = class extends c {
10
+ constructor() {
11
+ super(...arguments), this.columns = 1, this.minColumn = "", this.gap = "md", this.align = "stretch", this.justify = "stretch", this.full = !1;
12
+ }
13
+ updated(r) {
14
+ r.has("columns") && this.style.setProperty("--_cg-grid-columns", String(Math.max(1, this.columns))), r.has("minColumn") && this.style.setProperty("--_cg-grid-min", this.minColumn || "0");
15
+ }
16
+ render() {
17
+ return g`<slot></slot>`;
18
+ }
19
+ };
20
+ t.styles = [h, f, m`
21
+ :host {
22
+ display: grid;
23
+ grid-template-columns: repeat(var(--_cg-grid-columns, 1), minmax(0, 1fr));
24
+ }
25
+
26
+ /* Responsive auto-fill wins when min-column is set */
27
+ :host([min-column]) {
28
+ grid-template-columns: repeat(auto-fill, minmax(var(--_cg-grid-min, 0), 1fr));
29
+ }
30
+
31
+ /* Gap — same scale as cg-stack */
32
+ :host([gap="none"]) { gap: 0; }
33
+ :host([gap="xs"]) { gap: var(--cg-spacing-4); }
34
+ :host([gap="sm"]) { gap: var(--cg-spacing-8); }
35
+ :host([gap="md"]) { gap: var(--cg-spacing-16); }
36
+ :host([gap="lg"]) { gap: var(--cg-spacing-24); }
37
+ :host([gap="xl"]) { gap: var(--cg-spacing-32); }
38
+ :host([gap="2xl"]) { gap: var(--cg-spacing-48); }
39
+
40
+ /* Align items (block axis) */
41
+ :host([align="start"]) { align-items: start; }
42
+ :host([align="center"]) { align-items: center; }
43
+ :host([align="end"]) { align-items: end; }
44
+ :host([align="stretch"]) { align-items: stretch; }
45
+
46
+ /* Justify items (inline axis) */
47
+ :host([justify="start"]) { justify-items: start; }
48
+ :host([justify="center"]) { justify-items: center; }
49
+ :host([justify="end"]) { justify-items: end; }
50
+ :host([justify="stretch"]) { justify-items: stretch; }
51
+
52
+ :host([full]) { width: 100%; }
53
+ `];
54
+ e([
55
+ i({ type: Number, reflect: !0 })
56
+ ], t.prototype, "columns", 2);
57
+ e([
58
+ i({ attribute: "min-column", reflect: !0 })
59
+ ], t.prototype, "minColumn", 2);
60
+ e([
61
+ i({ reflect: !0 })
62
+ ], t.prototype, "gap", 2);
63
+ e([
64
+ i({ reflect: !0 })
65
+ ], t.prototype, "align", 2);
66
+ e([
67
+ i({ reflect: !0 })
68
+ ], t.prototype, "justify", 2);
69
+ e([
70
+ i({ type: Boolean, reflect: !0 })
71
+ ], t.prototype, "full", 2);
72
+ t = e([
73
+ u("cg-grid")
74
+ ], t);
75
+ export {
76
+ t as CgGrid
77
+ };
78
+ //# sourceMappingURL=cg-grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cg-grid.js","sources":["../../../src/components/cg-grid/cg-grid.ts"],"sourcesContent":["import { LitElement, html, css } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion } from '../../styles/index.js';\n\n/**\n * @element cg-grid\n * CSS-grid layout primitive with declarative columns, gap, and alignment.\n * Shares cg-stack's gap vocabulary.\n *\n * @example\n * ```html\n * <cg-grid columns=\"3\" gap=\"md\">\n * <cg-card>1</cg-card>\n * <cg-card>2</cg-card>\n * <cg-card>3</cg-card>\n * </cg-grid>\n * ```\n *\n * @example Responsive auto-fill\n * ```html\n * <cg-grid min-column=\"200px\" gap=\"lg\"> … </cg-grid>\n * ```\n *\n * @slot - Grid children.\n */\n@customElement('cg-grid')\nexport class CgGrid extends LitElement {\n static override styles = [hostBlock, reducedMotion, css`\n :host {\n display: grid;\n grid-template-columns: repeat(var(--_cg-grid-columns, 1), minmax(0, 1fr));\n }\n\n /* Responsive auto-fill wins when min-column is set */\n :host([min-column]) {\n grid-template-columns: repeat(auto-fill, minmax(var(--_cg-grid-min, 0), 1fr));\n }\n\n /* Gap — same scale as cg-stack */\n :host([gap=\"none\"]) { gap: 0; }\n :host([gap=\"xs\"]) { gap: var(--cg-spacing-4); }\n :host([gap=\"sm\"]) { gap: var(--cg-spacing-8); }\n :host([gap=\"md\"]) { gap: var(--cg-spacing-16); }\n :host([gap=\"lg\"]) { gap: var(--cg-spacing-24); }\n :host([gap=\"xl\"]) { gap: var(--cg-spacing-32); }\n :host([gap=\"2xl\"]) { gap: var(--cg-spacing-48); }\n\n /* Align items (block axis) */\n :host([align=\"start\"]) { align-items: start; }\n :host([align=\"center\"]) { align-items: center; }\n :host([align=\"end\"]) { align-items: end; }\n :host([align=\"stretch\"]) { align-items: stretch; }\n\n /* Justify items (inline axis) */\n :host([justify=\"start\"]) { justify-items: start; }\n :host([justify=\"center\"]) { justify-items: center; }\n :host([justify=\"end\"]) { justify-items: end; }\n :host([justify=\"stretch\"]) { justify-items: stretch; }\n\n :host([full]) { width: 100%; }\n `];\n\n @property({ type: Number, reflect: true }) columns = 1;\n @property({ attribute: 'min-column', reflect: true }) minColumn = '';\n @property({ reflect: true }) gap: 'none' | 'xs' | 'sm' | 'md' | 'lg' | 'xl' | '2xl' = 'md';\n @property({ reflect: true }) align: 'start' | 'center' | 'end' | 'stretch' = 'stretch';\n @property({ reflect: true }) justify: 'start' | 'center' | 'end' | 'stretch' = 'stretch';\n @property({ type: Boolean, reflect: true }) full = false;\n\n override updated(changed: Map<string, unknown>): void {\n if (changed.has('columns')) {\n this.style.setProperty('--_cg-grid-columns', String(Math.max(1, this.columns)));\n }\n if (changed.has('minColumn')) {\n this.style.setProperty('--_cg-grid-min', this.minColumn || '0');\n }\n }\n\n override render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cg-grid': CgGrid;\n }\n}\n"],"names":["CgGrid","LitElement","changed","html","hostBlock","reducedMotion","css","__decorateClass","property","customElement"],"mappings":";;;;;;;;AA0BO,IAAMA,IAAN,cAAqBC,EAAW;AAAA,EAAhC,cAAA;AAAA,UAAA,GAAA,SAAA,GAoCsC,KAAA,UAAU,GACC,KAAA,YAAY,IACrC,KAAA,MAAyD,MACzD,KAAA,QAAgD,WAChD,KAAA,UAAkD,WACnC,KAAA,OAAO;AAAA,EAAA;AAAA,EAE1C,QAAQC,GAAqC;AACpD,IAAIA,EAAQ,IAAI,SAAS,KACvB,KAAK,MAAM,YAAY,sBAAsB,OAAO,KAAK,IAAI,GAAG,KAAK,OAAO,CAAC,CAAC,GAE5EA,EAAQ,IAAI,WAAW,KACzB,KAAK,MAAM,YAAY,kBAAkB,KAAK,aAAa,GAAG;AAAA,EAElE;AAAA,EAES,SAAS;AAChB,WAAOC;AAAA,EACT;AACF;AAvDaH,EACK,SAAS,CAACI,GAAWC,GAAeC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAiCnD;AAE0CC,EAAA;AAAA,EAA1CC,EAAS,EAAE,MAAM,QAAQ,SAAS,IAAM;AAAA,GApC9BR,EAoCgC,WAAA,WAAA,CAAA;AACWO,EAAA;AAAA,EAArDC,EAAS,EAAE,WAAW,cAAc,SAAS,IAAM;AAAA,GArCzCR,EAqC2C,WAAA,aAAA,CAAA;AACzBO,EAAA;AAAA,EAA5BC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAtChBR,EAsCkB,WAAA,OAAA,CAAA;AACAO,EAAA;AAAA,EAA5BC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAvChBR,EAuCkB,WAAA,SAAA,CAAA;AACAO,EAAA;AAAA,EAA5BC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAxChBR,EAwCkB,WAAA,WAAA,CAAA;AACeO,EAAA;AAAA,EAA3CC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAzC/BR,EAyCiC,WAAA,QAAA,CAAA;AAzCjCA,IAANO,EAAA;AAAA,EADNE,EAAc,SAAS;AAAA,GACXT,CAAA;"}
@@ -1,6 +1,6 @@
1
1
  import { css as d, LitElement as p, html as u } from "lit";
2
2
  import { property as n, query as h, customElement as g } from "lit/decorators.js";
3
- import { h as m, r as f } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h as m, r as f } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  import { b as v, c as _ } from "../../chunks/floating-DfsaYJnh.js";
5
5
  var y = Object.defineProperty, b = Object.getOwnPropertyDescriptor, o = (e, r, s, a) => {
6
6
  for (var i = a > 1 ? void 0 : a ? b(r, s) : r, l = e.length - 1, c; l >= 0; l--)
@@ -2,7 +2,7 @@ import { css as z, LitElement as S, nothing as M, svg as C, html as d } from "li
2
2
  import { property as k, state as b, customElement as L } from "lit/decorators.js";
3
3
  import { unsafeSVG as x } from "lit/directives/unsafe-svg.js";
4
4
  import { unsafeHTML as A } from "lit/directives/unsafe-html.js";
5
- import { a as V, r as Z, c as H } from "../../chunks/premium.css-DHekUEUt.js";
5
+ import { a as V, r as Z, c as H } from "../../chunks/premium.css-B0hBr_uS.js";
6
6
  const _ = {
7
7
  "home-2-linear": { body: '<g fill="none" stroke="currentColor" stroke-width="1.5"><path d="M2 12.204c0-2.289 0-3.433.52-4.381c.518-.949 1.467-1.537 3.364-2.715l2-1.241C9.889 2.622 10.892 2 12 2s2.11.622 4.116 1.867l2 1.241c1.897 1.178 2.846 1.766 3.365 2.715S22 9.915 22 12.203v1.522c0 3.9 0 5.851-1.172 7.063S17.771 22 14 22h-4c-3.771 0-5.657 0-6.828-1.212S2 17.626 2 13.725z"/><path stroke-linecap="round" d="M12 15v3"/></g>', width: 24, height: 24 },
8
8
  "home-2-bold": { body: '<path fill="currentColor" fill-rule="evenodd" d="M2.52 7.823C2 8.77 2 9.915 2 12.203v1.522c0 3.9 0 5.851 1.172 7.063S6.229 22 10 22h4c3.771 0 5.657 0 6.828-1.212S22 17.626 22 13.725v-1.521c0-2.289 0-3.433-.52-4.381c-.518-.949-1.467-1.537-3.364-2.715l-2-1.241C14.111 2.622 13.108 2 12 2s-2.11.622-4.116 1.867l-2 1.241C3.987 6.286 3.038 6.874 2.519 7.823M11.25 18a.75.75 0 0 0 1.5 0v-3a.75.75 0 0 0-1.5 0z" clip-rule="evenodd"/>', width: 24, height: 24 },
@@ -1,6 +1,6 @@
1
1
  import { css as h, LitElement as p, nothing as l, html as d } from "lit";
2
2
  import { property as o, state as u, customElement as f } from "lit/decorators.js";
3
- import { h as m, r as v, b } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h as m, r as v, b } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var y = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, e = (g, i, s, a) => {
5
5
  for (var t = a > 1 ? void 0 : a ? _(i, s) : i, n = g.length - 1, c; n >= 0; n--)
6
6
  (c = g[n]) && (t = (a ? c(i, s, t) : c(t)) || t);
@@ -1,6 +1,6 @@
1
1
  import { css as h, LitElement as f, nothing as o, html as c } from "lit";
2
2
  import { property as t, state as u, customElement as p } from "lit/decorators.js";
3
- import { h as v, r as b, b as m } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h as v, r as b, b as m } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var y = Object.defineProperty, k = Object.getOwnPropertyDescriptor, e = (a, s, l, n) => {
5
5
  for (var i = n > 1 ? void 0 : n ? k(s, l) : s, g = a.length - 1, d; g >= 0; g--)
6
6
  (d = a[g]) && (i = (n ? d(s, l, i) : d(i)) || i);
@@ -1,6 +1,6 @@
1
1
  import { css as p, LitElement as f, nothing as g, html as l } from "lit";
2
2
  import { property as c, state as v, customElement as h } from "lit/decorators.js";
3
- import { h as b, r as w, b as y } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h as b, r as w, b as y } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var k = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, d = (r, t, i, s) => {
5
5
  for (var e = s > 1 ? void 0 : s ? _(t, i) : t, a = r.length - 1, n; a >= 0; a--)
6
6
  (n = r[a]) && (e = (s ? n(t, i, e) : n(e)) || e);
@@ -1,6 +1,6 @@
1
1
  import { css as g, LitElement as h, nothing as o, html as l } from "lit";
2
2
  import { property as r, state as u, query as f, customElement as v } from "lit/decorators.js";
3
- import { h as b, r as m } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h as b, r as m } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var y = Object.defineProperty, x = Object.getOwnPropertyDescriptor, t = (a, s, i, c) => {
5
5
  for (var n = c > 1 ? void 0 : c ? x(s, i) : s, d = a.length - 1, p; d >= 0; d--)
6
6
  (p = a[d]) && (n = (c ? p(s, i, n) : p(n)) || n);
@@ -1,6 +1,6 @@
1
1
  import { css as m, LitElement as p, nothing as l, html as i } from "lit";
2
2
  import { property as g, customElement as b } from "lit/decorators.js";
3
- import { a as v } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { a as v } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var f = Object.defineProperty, h = Object.getOwnPropertyDescriptor, d = (n, e, r, s) => {
5
5
  for (var t = s > 1 ? void 0 : s ? h(e, r) : e, c = n.length - 1, a; c >= 0; c--)
6
6
  (a = n[c]) && (t = (s ? a(e, r, t) : a(t)) || t);
@@ -1,6 +1,6 @@
1
1
  import { css as p, LitElement as g, nothing as d, html as l } from "lit";
2
2
  import { property as i, customElement as f } from "lit/decorators.js";
3
- import { h as u, r as m } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h as u, r as m } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var v = Object.defineProperty, b = Object.getOwnPropertyDescriptor, o = (a, t, n, s) => {
5
5
  for (var r = s > 1 ? void 0 : s ? b(t, n) : t, c = a.length - 1, h; c >= 0; c--)
6
6
  (h = a[c]) && (r = (s ? h(t, n, r) : h(r)) || r);
@@ -0,0 +1,49 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ export interface CgLightboxImage {
3
+ src: string;
4
+ alt?: string;
5
+ caption?: string;
6
+ }
7
+ /**
8
+ * @element cg-lightbox
9
+ * Fullscreen image viewer with prev/next navigation, keyboard control,
10
+ * focus trap, and scroll lock. Pairs with cg-image-gallery.
11
+ *
12
+ * @example
13
+ * ```html
14
+ * <cg-lightbox open></cg-lightbox>
15
+ * <script>
16
+ * lb.images = [{ src: '/a.jpg', alt: 'A', caption: 'First' }];
17
+ * </script>
18
+ * ```
19
+ *
20
+ * @fires {CustomEvent} cg-lightbox-open
21
+ * @fires {CustomEvent} cg-lightbox-close
22
+ * @fires {CustomEvent<{index: number}>} cg-lightbox-change
23
+ */
24
+ export declare class CgLightbox extends LitElement {
25
+ static styles: import('lit').CSSResult[];
26
+ open: boolean;
27
+ images: CgLightboxImage[];
28
+ index: number;
29
+ closable: boolean;
30
+ private _focusTrap;
31
+ private _previousOverflow;
32
+ disconnectedCallback(): void;
33
+ willUpdate(changed: Map<string, unknown>): void;
34
+ updated(changed: Map<string, unknown>): void;
35
+ private _clampIndex;
36
+ private _onOpen;
37
+ private _onClose;
38
+ private _requestClose;
39
+ private _go;
40
+ private _onKeydown;
41
+ private _onBackdropClick;
42
+ render(): import('lit').TemplateResult<1> | typeof nothing;
43
+ }
44
+ declare global {
45
+ interface HTMLElementTagNameMap {
46
+ 'cg-lightbox': CgLightbox;
47
+ }
48
+ }
49
+ //# sourceMappingURL=cg-lightbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cg-lightbox.d.ts","sourceRoot":"","sources":["../../../src/components/cg-lightbox/cg-lightbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAkB,OAAO,EAAE,MAAM,KAAK,CAAC;AAK1D,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,qBACa,UAAW,SAAQ,UAAU;IACxC,OAAgB,MAAM,4BAmFnB;IAEyC,IAAI,UAAS;IACzB,MAAM,EAAE,eAAe,EAAE,CAAM;IACpB,KAAK,SAAK;IACxB,QAAQ,UAAQ;IAE7C,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,iBAAiB,CAAM;IAEtB,oBAAoB,IAAI,IAAI;IAM5B,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAO/C,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IASrD,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,OAAO;IAqBf,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,GAAG;IAWX,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,gBAAgB;IAIf,MAAM;CAuChB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,aAAa,EAAE,UAAU,CAAC;KAC3B;CACF"}
@@ -0,0 +1,203 @@
1
+ import { css as u, LitElement as h, nothing as s, svg as p, html as o } from "lit";
2
+ import { property as c, customElement as v } from "lit/decorators.js";
3
+ import { h as f, r as m, j as b } from "../../chunks/premium.css-B0hBr_uS.js";
4
+ import { F as x } from "../../chunks/focus-trap-vlQwKK-3.js";
5
+ var w = Object.defineProperty, y = Object.getOwnPropertyDescriptor, a = (t, e, l, n) => {
6
+ for (var r = n > 1 ? void 0 : n ? y(e, l) : e, d = t.length - 1, g; d >= 0; d--)
7
+ (g = t[d]) && (r = (n ? g(e, l, r) : g(r)) || r);
8
+ return n && r && w(e, l, r), r;
9
+ };
10
+ let i = class extends h {
11
+ constructor() {
12
+ super(...arguments), this.open = !1, this.images = [], this.index = 0, this.closable = !0, this._focusTrap = new x(), this._previousOverflow = "";
13
+ }
14
+ disconnectedCallback() {
15
+ super.disconnectedCallback(), this.open && (document.body.style.overflow = this._previousOverflow || ""), this._focusTrap.deactivate();
16
+ }
17
+ willUpdate(t) {
18
+ (t.has("index") || t.has("images")) && this._clampIndex();
19
+ }
20
+ updated(t) {
21
+ if (t.has("open")) {
22
+ if (t.get("open") === void 0 && !this.open) return;
23
+ this.open ? this._onOpen() : this._onClose(t.get("open") === !0);
24
+ }
25
+ }
26
+ _clampIndex() {
27
+ const t = Math.max(0, this.images.length - 1);
28
+ this.index > t && (this.index = t), this.index < 0 && (this.index = 0);
29
+ }
30
+ _onOpen() {
31
+ this._previousOverflow = document.body.style.overflow, document.body.style.overflow = "hidden", this.dispatchEvent(new CustomEvent("cg-lightbox-open", { bubbles: !0, composed: !0 })), requestAnimationFrame(() => {
32
+ const t = this.shadowRoot?.querySelector(".stage");
33
+ t && this._focusTrap.activate(t, {
34
+ returnFocus: !0,
35
+ handleEscape: this.closable,
36
+ onEscape: () => this._requestClose(),
37
+ // Focus the dialog itself so opening always lands inside the trap,
38
+ // even with zero interactive controls (single image + closable=false).
39
+ // Controls remain reachable via Tab.
40
+ initialFocus: t
41
+ });
42
+ });
43
+ }
44
+ _onClose(t) {
45
+ document.body.style.overflow = this._previousOverflow, this._focusTrap.deactivate(), t && this.dispatchEvent(new CustomEvent("cg-lightbox-close", { bubbles: !0, composed: !0 }));
46
+ }
47
+ _requestClose() {
48
+ this.closable && (this.open = !1);
49
+ }
50
+ _go(t) {
51
+ if (this.images.length < 2) return;
52
+ const e = this.images.length;
53
+ this.index = (this.index + t + e) % e, this.dispatchEvent(new CustomEvent("cg-lightbox-change", {
54
+ detail: { index: this.index },
55
+ bubbles: !0,
56
+ composed: !0
57
+ }));
58
+ }
59
+ _onKeydown(t) {
60
+ t.key === "ArrowRight" ? (t.preventDefault(), this._go(1)) : t.key === "ArrowLeft" && (t.preventDefault(), this._go(-1));
61
+ }
62
+ _onBackdropClick(t) {
63
+ t.target === t.currentTarget && this._requestClose();
64
+ }
65
+ render() {
66
+ if (!this.open) return s;
67
+ const t = this.images[this.index], e = this.images.length > 1;
68
+ return o`
69
+ <div class="backdrop" @click=${this._onBackdropClick} @keydown=${this._onKeydown}>
70
+ <figure
71
+ class="stage"
72
+ role="dialog"
73
+ aria-modal="true"
74
+ tabindex="-1"
75
+ aria-label=${t?.caption || t?.alt || "Image viewer"}
76
+ >
77
+ ${this.closable ? o`
78
+ <button class="ctrl close" type="button" aria-label="Close" @click=${this._requestClose}>
79
+ ${p`<svg viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M6 6l12 12M18 6L6 18" stroke="currentColor" stroke-width="2" stroke-linecap="round"/></svg>`}
80
+ </button>` : s}
81
+
82
+ ${e ? o`
83
+ <button class="ctrl nav prev" type="button" aria-label="Previous image" @click=${() => this._go(-1)}>
84
+ ${p`<svg viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M15 6l-6 6 6 6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>`}
85
+ </button>` : s}
86
+
87
+ ${t ? o`<img src=${t.src} alt=${t.alt || ""} />` : o`<figcaption>No images</figcaption>`}
88
+
89
+ ${e ? o`
90
+ <button class="ctrl nav next" type="button" aria-label="Next image" @click=${() => this._go(1)}>
91
+ ${p`<svg viewBox="0 0 24 24" fill="none" aria-hidden="true"><path d="M9 6l6 6-6 6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>`}
92
+ </button>` : s}
93
+
94
+ ${t?.caption ? o`<figcaption>${t.caption}</figcaption>` : s}
95
+ ${e ? o`<span class="counter">${this.index + 1} / ${this.images.length}</span>` : s}
96
+ </figure>
97
+ </div>
98
+ `;
99
+ }
100
+ };
101
+ i.styles = [f, m, u`
102
+ :host { display: contents; }
103
+
104
+ .backdrop {
105
+ position: fixed;
106
+ inset: 0;
107
+ z-index: var(--cg-z-index-500);
108
+ display: flex;
109
+ align-items: center;
110
+ justify-content: center;
111
+ background: var(--cg-color-modal-overlay-background);
112
+ backdrop-filter: blur(var(--cg-blur-backdrop)) saturate(150%);
113
+ -webkit-backdrop-filter: blur(var(--cg-blur-backdrop)) saturate(150%);
114
+ }
115
+
116
+ .stage {
117
+ position: relative;
118
+ max-width: 92vw;
119
+ max-height: 92vh;
120
+ display: flex;
121
+ flex-direction: column;
122
+ align-items: center;
123
+ gap: var(--cg-spacing-12);
124
+ }
125
+
126
+ img {
127
+ max-width: 92vw;
128
+ max-height: 80vh;
129
+ object-fit: contain;
130
+ border-radius: var(--cg-border-radius-150);
131
+ box-shadow: var(--cg-shadow-lg);
132
+ }
133
+
134
+ figcaption {
135
+ color: var(--cg-color-surface-cards-text);
136
+ font-family: var(--cg-font-family-primary);
137
+ font-size: var(--cg-font-size-sm);
138
+ text-align: center;
139
+ }
140
+
141
+ .ctrl {
142
+ display: inline-flex;
143
+ align-items: center;
144
+ justify-content: center;
145
+ /* 44px = WCAG 2.5.5 / iOS minimum touch target. Raw px matches the
146
+ system convention (cg-checkbox min-height:44px); 44 is not on the
147
+ spacing scale. */
148
+ width: 44px;
149
+ height: 44px;
150
+ padding: 0;
151
+ border-radius: var(--cg-border-radius-full);
152
+ background: var(--cg-color-surface-cards-background);
153
+ border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);
154
+ color: var(--cg-color-surface-cards-text);
155
+ cursor: pointer;
156
+ transition:
157
+ transform var(--cg-transition-duration-fast) var(--cg-transition-easing-default),
158
+ border-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);
159
+ }
160
+ .ctrl:hover { border-color: var(--cg-color-action-primary-border-default); }
161
+ .ctrl:active { transform: scale(var(--cg-interaction-press-scale)); }
162
+ .ctrl:focus-visible { ${b} }
163
+ .ctrl svg { width: var(--cg-spacing-20); height: var(--cg-spacing-20); }
164
+
165
+ .close { position: absolute; top: calc(-1 * var(--cg-spacing-48)); right: 0; }
166
+ .nav { position: absolute; top: 50%; transform: translateY(-50%); }
167
+ .nav.prev { left: calc(-1 * var(--cg-spacing-56)); }
168
+ .nav.next { right: calc(-1 * var(--cg-spacing-56)); }
169
+ .nav:active { transform: translateY(-50%) scale(var(--cg-interaction-press-scale)); }
170
+
171
+ /* On narrow viewports the stage fills ~92vw, so nav buttons positioned
172
+ outside the stage clip off-screen. Pull them just inside the edges. */
173
+ @media (max-width: 640px) {
174
+ .nav.prev { left: var(--cg-spacing-8); }
175
+ .nav.next { right: var(--cg-spacing-8); }
176
+ }
177
+
178
+ .counter {
179
+ color: var(--cg-color-surface-cards-text);
180
+ font-family: var(--cg-font-family-primary);
181
+ font-size: var(--cg-font-size-sm);
182
+ opacity: 0.8;
183
+ }
184
+ `];
185
+ a([
186
+ c({ type: Boolean, reflect: !0 })
187
+ ], i.prototype, "open", 2);
188
+ a([
189
+ c({ attribute: !1 })
190
+ ], i.prototype, "images", 2);
191
+ a([
192
+ c({ type: Number, reflect: !0 })
193
+ ], i.prototype, "index", 2);
194
+ a([
195
+ c({ type: Boolean })
196
+ ], i.prototype, "closable", 2);
197
+ i = a([
198
+ v("cg-lightbox")
199
+ ], i);
200
+ export {
201
+ i as CgLightbox
202
+ };
203
+ //# sourceMappingURL=cg-lightbox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cg-lightbox.js","sources":["../../../src/components/cg-lightbox/cg-lightbox.ts"],"sourcesContent":["import { LitElement, html, css, svg, nothing } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { hostBlock, reducedMotion, focusRingDual } from '../../styles/index.js';\nimport { FocusTrap } from '../../utils/focus-trap.js';\n\nexport interface CgLightboxImage {\n src: string;\n alt?: string;\n caption?: string;\n}\n\n/**\n * @element cg-lightbox\n * Fullscreen image viewer with prev/next navigation, keyboard control,\n * focus trap, and scroll lock. Pairs with cg-image-gallery.\n *\n * @example\n * ```html\n * <cg-lightbox open></cg-lightbox>\n * <script>\n * lb.images = [{ src: '/a.jpg', alt: 'A', caption: 'First' }];\n * </script>\n * ```\n *\n * @fires {CustomEvent} cg-lightbox-open\n * @fires {CustomEvent} cg-lightbox-close\n * @fires {CustomEvent<{index: number}>} cg-lightbox-change\n */\n@customElement('cg-lightbox')\nexport class CgLightbox extends LitElement {\n static override styles = [hostBlock, reducedMotion, css`\n :host { display: contents; }\n\n .backdrop {\n position: fixed;\n inset: 0;\n z-index: var(--cg-z-index-500);\n display: flex;\n align-items: center;\n justify-content: center;\n background: var(--cg-color-modal-overlay-background);\n backdrop-filter: blur(var(--cg-blur-backdrop)) saturate(150%);\n -webkit-backdrop-filter: blur(var(--cg-blur-backdrop)) saturate(150%);\n }\n\n .stage {\n position: relative;\n max-width: 92vw;\n max-height: 92vh;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--cg-spacing-12);\n }\n\n img {\n max-width: 92vw;\n max-height: 80vh;\n object-fit: contain;\n border-radius: var(--cg-border-radius-150);\n box-shadow: var(--cg-shadow-lg);\n }\n\n figcaption {\n color: var(--cg-color-surface-cards-text);\n font-family: var(--cg-font-family-primary);\n font-size: var(--cg-font-size-sm);\n text-align: center;\n }\n\n .ctrl {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n /* 44px = WCAG 2.5.5 / iOS minimum touch target. Raw px matches the\n system convention (cg-checkbox min-height:44px); 44 is not on the\n spacing scale. */\n width: 44px;\n height: 44px;\n padding: 0;\n border-radius: var(--cg-border-radius-full);\n background: var(--cg-color-surface-cards-background);\n border: var(--cg-border-width-50) solid var(--cg-color-surface-cards-border);\n color: var(--cg-color-surface-cards-text);\n cursor: pointer;\n transition:\n transform var(--cg-transition-duration-fast) var(--cg-transition-easing-default),\n border-color var(--cg-transition-duration-fast) var(--cg-transition-easing-default);\n }\n .ctrl:hover { border-color: var(--cg-color-action-primary-border-default); }\n .ctrl:active { transform: scale(var(--cg-interaction-press-scale)); }\n .ctrl:focus-visible { ${focusRingDual} }\n .ctrl svg { width: var(--cg-spacing-20); height: var(--cg-spacing-20); }\n\n .close { position: absolute; top: calc(-1 * var(--cg-spacing-48)); right: 0; }\n .nav { position: absolute; top: 50%; transform: translateY(-50%); }\n .nav.prev { left: calc(-1 * var(--cg-spacing-56)); }\n .nav.next { right: calc(-1 * var(--cg-spacing-56)); }\n .nav:active { transform: translateY(-50%) scale(var(--cg-interaction-press-scale)); }\n\n /* On narrow viewports the stage fills ~92vw, so nav buttons positioned\n outside the stage clip off-screen. Pull them just inside the edges. */\n @media (max-width: 640px) {\n .nav.prev { left: var(--cg-spacing-8); }\n .nav.next { right: var(--cg-spacing-8); }\n }\n\n .counter {\n color: var(--cg-color-surface-cards-text);\n font-family: var(--cg-font-family-primary);\n font-size: var(--cg-font-size-sm);\n opacity: 0.8;\n }\n `];\n\n @property({ type: Boolean, reflect: true }) open = false;\n @property({ attribute: false }) images: CgLightboxImage[] = [];\n @property({ type: Number, reflect: true }) index = 0;\n @property({ type: Boolean }) closable = true;\n\n private _focusTrap = new FocusTrap();\n private _previousOverflow = '';\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n if (this.open) document.body.style.overflow = this._previousOverflow || '';\n this._focusTrap.deactivate();\n }\n\n override willUpdate(changed: Map<string, unknown>): void {\n // Clamp before render so we never set a reactive property in updated().\n if (changed.has('index') || changed.has('images')) {\n this._clampIndex();\n }\n }\n\n override updated(changed: Map<string, unknown>): void {\n if (changed.has('open')) {\n // First render with open=false is not a close.\n if (changed.get('open') === undefined && !this.open) return;\n if (this.open) this._onOpen();\n else this._onClose(changed.get('open') === true);\n }\n }\n\n private _clampIndex(): void {\n const max = Math.max(0, this.images.length - 1);\n if (this.index > max) this.index = max;\n if (this.index < 0) this.index = 0;\n }\n\n private _onOpen(): void {\n this._previousOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n this.dispatchEvent(new CustomEvent('cg-lightbox-open', { bubbles: true, composed: true }));\n // Activate the trap after the overlay renders.\n requestAnimationFrame(() => {\n const stage = this.shadowRoot?.querySelector<HTMLElement>('.stage');\n if (stage) {\n this._focusTrap.activate(stage, {\n returnFocus: true,\n handleEscape: this.closable,\n onEscape: () => this._requestClose(),\n // Focus the dialog itself so opening always lands inside the trap,\n // even with zero interactive controls (single image + closable=false).\n // Controls remain reachable via Tab.\n initialFocus: stage,\n });\n }\n });\n }\n\n private _onClose(wasOpen: boolean): void {\n document.body.style.overflow = this._previousOverflow;\n this._focusTrap.deactivate();\n if (wasOpen) {\n this.dispatchEvent(new CustomEvent('cg-lightbox-close', { bubbles: true, composed: true }));\n }\n }\n\n private _requestClose(): void {\n if (!this.closable) return;\n this.open = false;\n }\n\n private _go(delta: number): void {\n if (this.images.length < 2) return;\n const n = this.images.length;\n this.index = (this.index + delta + n) % n;\n this.dispatchEvent(new CustomEvent('cg-lightbox-change', {\n detail: { index: this.index },\n bubbles: true,\n composed: true,\n }));\n }\n\n private _onKeydown(e: KeyboardEvent): void {\n if (e.key === 'ArrowRight') { e.preventDefault(); this._go(1); }\n else if (e.key === 'ArrowLeft') { e.preventDefault(); this._go(-1); }\n // Escape is handled by the FocusTrap onEscape.\n }\n\n private _onBackdropClick(e: MouseEvent): void {\n if (e.target === e.currentTarget) this._requestClose();\n }\n\n override render() {\n if (!this.open) return nothing;\n const current = this.images[this.index];\n const many = this.images.length > 1;\n\n return html`\n <div class=\"backdrop\" @click=${this._onBackdropClick} @keydown=${this._onKeydown}>\n <figure\n class=\"stage\"\n role=\"dialog\"\n aria-modal=\"true\"\n tabindex=\"-1\"\n aria-label=${current?.caption || current?.alt || 'Image viewer'}\n >\n ${this.closable ? html`\n <button class=\"ctrl close\" type=\"button\" aria-label=\"Close\" @click=${this._requestClose}>\n ${svg`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M6 6l12 12M18 6L6 18\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\"/></svg>`}\n </button>` : nothing}\n\n ${many ? html`\n <button class=\"ctrl nav prev\" type=\"button\" aria-label=\"Previous image\" @click=${() => this._go(-1)}>\n ${svg`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M15 6l-6 6 6 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>`}\n </button>` : nothing}\n\n ${current\n ? html`<img src=${current.src} alt=${current.alt || ''} />`\n : html`<figcaption>No images</figcaption>`}\n\n ${many ? html`\n <button class=\"ctrl nav next\" type=\"button\" aria-label=\"Next image\" @click=${() => this._go(1)}>\n ${svg`<svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\"><path d=\"M9 6l6 6-6 6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>`}\n </button>` : nothing}\n\n ${current?.caption ? html`<figcaption>${current.caption}</figcaption>` : nothing}\n ${many ? html`<span class=\"counter\">${this.index + 1} / ${this.images.length}</span>` : nothing}\n </figure>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cg-lightbox': CgLightbox;\n }\n}\n"],"names":["CgLightbox","LitElement","FocusTrap","changed","max","stage","wasOpen","delta","n","e","nothing","current","many","html","svg","hostBlock","reducedMotion","css","focusRingDual","__decorateClass","property","customElement"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { css as h, LitElement as v, nothing as a, html as u } from "lit";
2
2
  import { property as o, customElement as f } from "lit/decorators.js";
3
- import { a as g, r as p } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { a as g, r as p } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var b = Object.defineProperty, x = Object.getOwnPropertyDescriptor, r = (n, i, c, s) => {
5
5
  for (var e = s > 1 ? void 0 : s ? x(i, c) : i, l = n.length - 1, d; l >= 0; l--)
6
6
  (d = n[l]) && (e = (s ? d(i, c, e) : d(e)) || e);
@@ -1,6 +1,6 @@
1
1
  import { css as h, LitElement as v, html as i, nothing as o } from "lit";
2
2
  import { property as c, customElement as u } from "lit/decorators.js";
3
- import { h as p, r as f } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h as p, r as f } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var b = Object.defineProperty, m = Object.getOwnPropertyDescriptor, s = (e, t, r, l) => {
5
5
  for (var n = l > 1 ? void 0 : l ? m(t, r) : t, d = e.length - 1, g; d >= 0; d--)
6
6
  (g = e[d]) && (n = (l ? g(t, r, n) : g(n)) || n);
@@ -1,6 +1,6 @@
1
1
  import { css as g, LitElement as p, html as h, nothing as c } from "lit";
2
2
  import { property as d, state as u, customElement as v } from "lit/decorators.js";
3
- import { h as f, r as b, g as m } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h as f, r as b, g as m } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var y = Object.defineProperty, x = Object.getOwnPropertyDescriptor, n = (e, i, t, o) => {
5
5
  for (var r = o > 1 ? void 0 : o ? x(i, t) : i, s = e.length - 1, l; s >= 0; s--)
6
6
  (l = e[s]) && (r = (o ? l(i, t, r) : l(r)) || r);
@@ -1,6 +1,6 @@
1
1
  import { css as w, LitElement as y, html as v } from "lit";
2
2
  import { property as k, customElement as x } from "lit/decorators.js";
3
- import { h as $, r as C } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h as $, r as C } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var S = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, b = (e, r, o, t) => {
5
5
  for (var a = t > 1 ? void 0 : t ? _(r, o) : r, h = e.length - 1, l; h >= 0; h--)
6
6
  (l = e[h]) && (a = (t ? l(r, o, a) : l(a)) || a);
@@ -1,6 +1,6 @@
1
1
  import { css as f, LitElement as b, nothing as h, html as d } from "lit";
2
2
  import { property as l, state as u, customElement as m } from "lit/decorators.js";
3
- import { h as v, r as _, m as y, e as w } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h as v, r as _, m as y, e as w } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var x = Object.defineProperty, k = Object.getOwnPropertyDescriptor, a = (e, r, o, t) => {
5
5
  for (var n = t > 1 ? void 0 : t ? k(r, o) : r, s = e.length - 1, c; s >= 0; s--)
6
6
  (c = e[s]) && (n = (t ? c(r, o, n) : c(n)) || n);
@@ -1,6 +1,6 @@
1
1
  import { css as d, LitElement as v, nothing as s, html as h, svg as p } from "lit";
2
2
  import { property as o, customElement as f } from "lit/decorators.js";
3
- import { h as b, r as w } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h as b, r as w } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var y = Object.defineProperty, x = Object.getOwnPropertyDescriptor, a = (l, r, n, i) => {
5
5
  for (var t = i > 1 ? void 0 : i ? x(r, n) : r, u = l.length - 1, c; u >= 0; u--)
6
6
  (c = l[u]) && (t = (i ? c(r, n, t) : c(t)) || t);
@@ -1,6 +1,6 @@
1
1
  import { css as v, LitElement as u, html as i, nothing as o } from "lit";
2
2
  import { property as a, customElement as p } from "lit/decorators.js";
3
- import { h, r as f, b as m } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h, r as f, b as m } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var b = Object.defineProperty, k = Object.getOwnPropertyDescriptor, e = (t, n, d, c) => {
5
5
  for (var s = c > 1 ? void 0 : c ? k(n, d) : n, l = t.length - 1, g; l >= 0; l--)
6
6
  (g = t[l]) && (s = (c ? g(n, d, s) : g(s)) || s);
@@ -1,6 +1,6 @@
1
1
  import { css as u, LitElement as v, nothing as t, html as s } from "lit";
2
2
  import { property as r, state as p, customElement as h } from "lit/decorators.js";
3
- import { c as m, r as f } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { c as m, r as f } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  import { F as b } from "../../chunks/focus-trap-vlQwKK-3.js";
5
5
  var y = Object.defineProperty, x = Object.getOwnPropertyDescriptor, e = (o, i, l, c) => {
6
6
  for (var n = c > 1 ? void 0 : c ? x(i, l) : i, d = o.length - 1, g; d >= 0; d--)
@@ -1,6 +1,6 @@
1
1
  import { css as u, LitElement as b, nothing as d, html as l } from "lit";
2
2
  import { property as g, state as p, query as v, customElement as f } from "lit/decorators.js";
3
- import { h, r as m } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h, r as m } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var y = Object.defineProperty, w = Object.getOwnPropertyDescriptor, n = (e, a, t, s) => {
5
5
  for (var r = s > 1 ? void 0 : s ? w(a, t) : a, o = e.length - 1, c; o >= 0; o--)
6
6
  (c = e[o]) && (r = (s ? c(a, t, r) : c(r)) || r);
@@ -1,6 +1,6 @@
1
1
  import { css as p, LitElement as u, nothing as a, html as n } from "lit";
2
2
  import { property as s, state as v, customElement as h } from "lit/decorators.js";
3
- import { h as f, r as m } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { h as f, r as m } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var b = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, o = (r, e, l, c) => {
5
5
  for (var t = c > 1 ? void 0 : c ? _(e, l) : e, g = r.length - 1, d; g >= 0; g--)
6
6
  (d = r[g]) && (t = (c ? d(e, l, t) : d(t)) || t);
@@ -1,6 +1,6 @@
1
1
  import { css as p, LitElement as h, nothing as l, html as d } from "lit";
2
2
  import { property as s, state as g, query as v, customElement as b } from "lit/decorators.js";
3
- import { a as m, r as f } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { a as m, r as f } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var w = Object.defineProperty, _ = Object.getOwnPropertyDescriptor, r = (e, i, o, n) => {
5
5
  for (var a = n > 1 ? void 0 : n ? _(i, o) : i, c = e.length - 1, u; c >= 0; c--)
6
6
  (u = e[c]) && (a = (n ? u(i, o, a) : u(a)) || a);
@@ -1,6 +1,6 @@
1
1
  import { css as g, LitElement as p, html as u } from "lit";
2
2
  import { property as c, state as f, customElement as b } from "lit/decorators.js";
3
- import { a as v, r as m } from "../../chunks/premium.css-DHekUEUt.js";
3
+ import { a as v, r as m } from "../../chunks/premium.css-B0hBr_uS.js";
4
4
  var _ = Object.defineProperty, x = Object.getOwnPropertyDescriptor, a = (t, e, r, s) => {
5
5
  for (var o = s > 1 ? void 0 : s ? x(e, r) : e, l = t.length - 1, n; l >= 0; l--)
6
6
  (n = t[l]) && (o = (s ? n(e, r, o) : n(o)) || o);