@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.
- package/dist/chunks/{premium.css-DHekUEUt.js → premium.css-B0hBr_uS.js} +27 -27
- package/dist/chunks/{premium.css-DHekUEUt.js.map → premium.css-B0hBr_uS.js.map} +1 -1
- package/dist/cognivo.min.js +1876 -1227
- package/dist/cognivo.min.js.map +1 -1
- package/dist/components/ai-ab-test/ai-ab-test.js +1 -1
- package/dist/components/ai-accessibility-report/ai-accessibility-report.js +1 -1
- package/dist/components/ai-action-preview/ai-action-preview.js +1 -1
- package/dist/components/ai-agent-card/ai-agent-card.js +1 -1
- package/dist/components/ai-agent-steps/ai-agent-steps.js +1 -1
- package/dist/components/ai-alert-card/ai-alert-card.js +1 -1
- package/dist/components/ai-analytics-chart/ai-analytics-chart.js +1 -1
- package/dist/components/ai-annotation/ai-annotation.js +1 -1
- package/dist/components/ai-api-key-manager/ai-api-key-manager.js +1 -1
- package/dist/components/ai-app-sidebar/ai-app-sidebar.js +1 -1
- package/dist/components/ai-assistant-widget/ai-assistant-widget.js +1 -1
- package/dist/components/ai-audio-player/ai-audio-player.js +1 -1
- package/dist/components/ai-avatar/ai-avatar.js +1 -1
- package/dist/components/ai-badge/ai-badge.js +1 -1
- package/dist/components/ai-batch-progress/ai-batch-progress.js +1 -1
- package/dist/components/ai-cache-indicator/ai-cache-indicator.js +1 -1
- package/dist/components/ai-capture-flow/ai-capture-flow.js +1 -1
- package/dist/components/ai-changelog/ai-changelog.js +1 -1
- package/dist/components/ai-chart-summary/ai-chart-summary.js +1 -1
- package/dist/components/ai-chat/ai-chat.js +1 -1
- package/dist/components/ai-citation/ai-citation.js +1 -1
- package/dist/components/ai-collaborative-editor/ai-collaborative-editor.js +1 -1
- package/dist/components/ai-command-palette/ai-command-palette.js +1 -1
- package/dist/components/ai-confidence-badge/ai-confidence-badge.js +1 -1
- package/dist/components/ai-confidence-slider/ai-confidence-slider.js +1 -1
- package/dist/components/ai-consent-manager/ai-consent-manager.js +1 -1
- package/dist/components/ai-context-window/ai-context-window.js +1 -1
- package/dist/components/ai-copy-button/ai-copy-button.js +1 -1
- package/dist/components/ai-cost-dashboard/ai-cost-dashboard.js +1 -1
- package/dist/components/ai-data-card/ai-data-card.js +1 -1
- package/dist/components/ai-data-lineage/ai-data-lineage.js +1 -1
- package/dist/components/ai-data-preview/ai-data-preview.js +1 -1
- package/dist/components/ai-data-table/ai-data-table.js +1 -1
- package/dist/components/ai-debug-console/ai-debug-console.js +1 -1
- package/dist/components/ai-detection-canvas/ai-detection-canvas.js +1 -1
- package/dist/components/ai-diff-panel/ai-diff-panel.js +1 -1
- package/dist/components/ai-embedding-viz/ai-embedding-viz.js +1 -1
- package/dist/components/ai-empty-state/ai-empty-state.js +1 -1
- package/dist/components/ai-error-boundary/ai-error-boundary.js +1 -1
- package/dist/components/ai-eval-scorecard/ai-eval-scorecard.js +1 -1
- package/dist/components/ai-feature-flag/ai-feature-flag.js +1 -1
- package/dist/components/ai-feedback/ai-feedback.js +1 -1
- package/dist/components/ai-file-upload/ai-file-upload.js +1 -1
- package/dist/components/ai-form-generator/ai-form-generator.js +1 -1
- package/dist/components/ai-guardrail/ai-guardrail.js +1 -1
- package/dist/components/ai-heatmap/ai-heatmap.js +1 -1
- package/dist/components/ai-insight-card/ai-insight-card.js +1 -1
- package/dist/components/ai-json-viewer/ai-json-viewer.js +1 -1
- package/dist/components/ai-keyboard-shortcuts/ai-keyboard-shortcuts.js +1 -1
- package/dist/components/ai-kpi-grid/ai-kpi-grid.js +1 -1
- package/dist/components/ai-labeling-board/ai-labeling-board.js +1 -1
- package/dist/components/ai-memory-panel/ai-memory-panel.js +1 -1
- package/dist/components/ai-model-comparison/ai-model-comparison.js +1 -1
- package/dist/components/ai-model-selector/ai-model-selector.js +1 -1
- package/dist/components/ai-notification-center/ai-notification-center.js +1 -1
- package/dist/components/ai-onboarding/ai-onboarding.js +1 -1
- package/dist/components/ai-permission-gate/ai-permission-gate.js +1 -1
- package/dist/components/ai-personalization-dash/ai-personalization-dash.js +1 -1
- package/dist/components/ai-presence/ai-presence.js +1 -1
- package/dist/components/ai-progress-steps/ai-progress-steps.js +1 -1
- package/dist/components/ai-prompt-editor/ai-prompt-editor.js +1 -1
- package/dist/components/ai-prompt-template/ai-prompt-template.js +1 -1
- package/dist/components/ai-rag-panel/ai-rag-panel.js +1 -1
- package/dist/components/ai-reasoning-tree/ai-reasoning-tree.js +1 -1
- package/dist/components/ai-result-panel/ai-result-panel.js +1 -1
- package/dist/components/ai-reveal-animation/ai-reveal-animation.js +1 -1
- package/dist/components/ai-reward-signal/ai-reward-signal.js +1 -1
- package/dist/components/ai-rich-message/ai-rich-message.js +1 -1
- package/dist/components/ai-scenario-panel/ai-scenario-panel.js +1 -1
- package/dist/components/ai-search/ai-search.js +1 -1
- package/dist/components/ai-segmentation-viewer/ai-segmentation-viewer.js +1 -1
- package/dist/components/ai-sidebar/ai-sidebar.js +1 -1
- package/dist/components/ai-similarity-card/ai-similarity-card.js +1 -1
- package/dist/components/ai-source-graph/ai-source-graph.js +1 -1
- package/dist/components/ai-status-page/ai-status-page.js +1 -1
- package/dist/components/ai-streaming-text/ai-streaming-text.js +1 -1
- package/dist/components/ai-test-runner/ai-test-runner.js +1 -1
- package/dist/components/ai-thinking/ai-thinking.js +1 -1
- package/dist/components/ai-timeline/ai-timeline.js +1 -1
- package/dist/components/ai-token-tracker/ai-token-tracker.js +1 -1
- package/dist/components/ai-tool-card-resolver/ai-tool-card-resolver.js +1 -1
- package/dist/components/ai-tool-indicator/ai-tool-indicator.js +1 -1
- package/dist/components/ai-transform-slider/ai-transform-slider.js +1 -1
- package/dist/components/ai-translation-panel/ai-translation-panel.js +1 -1
- package/dist/components/ai-usage-meter/ai-usage-meter.js +1 -1
- package/dist/components/ai-validation-checklist/ai-validation-checklist.js +1 -1
- package/dist/components/ai-version-selector/ai-version-selector.js +1 -1
- package/dist/components/ai-voice-panel/ai-voice-panel.js +1 -1
- package/dist/components/ai-webhook-config/ai-webhook-config.js +1 -1
- package/dist/components/ai-workflow-builder/ai-workflow-builder.js +1 -1
- package/dist/components/bias-anchoring/bias-anchoring.js +1 -1
- package/dist/components/bias-authority/bias-authority.js +1 -1
- package/dist/components/bias-commitment/bias-commitment.js +1 -1
- package/dist/components/bias-reciprocity/bias-reciprocity.js +1 -1
- package/dist/components/bias-scarcity/bias-scarcity.js +1 -1
- package/dist/components/bias-social-proof/bias-social-proof.js +1 -1
- package/dist/components/cg-accordion/cg-accordion.js +1 -1
- package/dist/components/cg-alert-dialog/cg-alert-dialog.js +1 -1
- package/dist/components/cg-app-shell/cg-app-shell.d.ts +43 -0
- package/dist/components/cg-app-shell/cg-app-shell.d.ts.map +1 -0
- package/dist/components/cg-app-shell/cg-app-shell.js +170 -0
- package/dist/components/cg-app-shell/cg-app-shell.js.map +1 -0
- package/dist/components/cg-aspect-ratio/cg-aspect-ratio.js +1 -1
- package/dist/components/cg-autocomplete/cg-autocomplete.js +1 -1
- package/dist/components/cg-avatar/cg-avatar.js +1 -1
- package/dist/components/cg-avatar-group/cg-avatar-group.js +1 -1
- package/dist/components/cg-badge/cg-badge.js +1 -1
- package/dist/components/cg-badge-group/cg-badge-group.js +1 -1
- package/dist/components/cg-blockquote/cg-blockquote.d.ts +32 -0
- package/dist/components/cg-blockquote/cg-blockquote.d.ts.map +1 -0
- package/dist/components/cg-blockquote/cg-blockquote.js +108 -0
- package/dist/components/cg-blockquote/cg-blockquote.js.map +1 -0
- package/dist/components/cg-breadcrumbs/cg-breadcrumbs.js +1 -1
- package/dist/components/cg-button/cg-button.js +8 -8
- package/dist/components/cg-button/cg-button.js.map +1 -1
- package/dist/components/cg-button-group/cg-button-group.js +1 -1
- package/dist/components/cg-calendar/cg-calendar.js +1 -1
- package/dist/components/cg-callout/cg-callout.js +1 -1
- package/dist/components/cg-card/cg-card.js +1 -1
- package/dist/components/cg-carousel/cg-carousel.js +1 -1
- package/dist/components/cg-center/cg-center.d.ts +37 -0
- package/dist/components/cg-center/cg-center.d.ts.map +1 -0
- package/dist/components/cg-center/cg-center.js +74 -0
- package/dist/components/cg-center/cg-center.js.map +1 -0
- package/dist/components/cg-chart/cg-chart.js +1 -1
- package/dist/components/cg-checkbox/cg-checkbox.js +1 -1
- package/dist/components/cg-chip/cg-chip.js +1 -1
- package/dist/components/cg-code-block/cg-code-block.js +1 -1
- package/dist/components/cg-collapsible/cg-collapsible.js +1 -1
- package/dist/components/cg-color-picker/cg-color-picker.js +1 -1
- package/dist/components/cg-combobox/cg-combobox.js +1 -1
- package/dist/components/cg-command/cg-command.js +1 -1
- package/dist/components/cg-context-menu/cg-context-menu.js +1 -1
- package/dist/components/cg-date-picker/cg-date-picker.js +1 -1
- package/dist/components/cg-date-range-picker/cg-date-range-picker.js +1 -1
- package/dist/components/cg-date-time-picker/cg-date-time-picker.js +1 -1
- package/dist/components/cg-drawer/cg-drawer.js +1 -1
- package/dist/components/cg-dropdown/cg-dropdown.js +1 -1
- package/dist/components/cg-empty-state/cg-empty-state.js +1 -1
- package/dist/components/cg-file-input/cg-file-input.js +1 -1
- package/dist/components/cg-follow-up/cg-follow-up.js +1 -1
- package/dist/components/cg-form/cg-form.js +1 -1
- package/dist/components/cg-grid/cg-grid.d.ts +39 -0
- package/dist/components/cg-grid/cg-grid.d.ts.map +1 -0
- package/dist/components/cg-grid/cg-grid.js +78 -0
- package/dist/components/cg-grid/cg-grid.js.map +1 -0
- package/dist/components/cg-hover-card/cg-hover-card.js +1 -1
- package/dist/components/cg-icon/cg-icon.js +1 -1
- package/dist/components/cg-image/cg-image.js +1 -1
- package/dist/components/cg-image-block/cg-image-block.js +1 -1
- package/dist/components/cg-image-gallery/cg-image-gallery.js +1 -1
- package/dist/components/cg-input/cg-input.js +1 -1
- package/dist/components/cg-kbd/cg-kbd.js +1 -1
- package/dist/components/cg-label/cg-label.js +1 -1
- package/dist/components/cg-lightbox/cg-lightbox.d.ts +49 -0
- package/dist/components/cg-lightbox/cg-lightbox.d.ts.map +1 -0
- package/dist/components/cg-lightbox/cg-lightbox.js +203 -0
- package/dist/components/cg-lightbox/cg-lightbox.js.map +1 -0
- package/dist/components/cg-link/cg-link.js +1 -1
- package/dist/components/cg-list/cg-list.js +1 -1
- package/dist/components/cg-listbox/cg-listbox.js +1 -1
- package/dist/components/cg-markdown/cg-markdown.js +1 -1
- package/dist/components/cg-menubar/cg-menubar.js +1 -1
- package/dist/components/cg-meter/cg-meter.js +1 -1
- package/dist/components/cg-metric-card/cg-metric-card.js +1 -1
- package/dist/components/cg-modal/cg-modal.js +1 -1
- package/dist/components/cg-navbar/cg-navbar.js +1 -1
- package/dist/components/cg-navigation-menu/cg-navigation-menu.js +1 -1
- package/dist/components/cg-number-input/cg-number-input.js +1 -1
- package/dist/components/cg-otp-input/cg-otp-input.js +1 -1
- package/dist/components/cg-overflow-list/cg-overflow-list.d.ts +51 -0
- package/dist/components/cg-overflow-list/cg-overflow-list.d.ts.map +1 -0
- package/dist/components/cg-overflow-list/cg-overflow-list.js +212 -0
- package/dist/components/cg-overflow-list/cg-overflow-list.js.map +1 -0
- package/dist/components/cg-pagination/cg-pagination.js +1 -1
- package/dist/components/cg-password-input/cg-password-input.js +1 -1
- package/dist/components/cg-phone-input/cg-phone-input.js +1 -1
- package/dist/components/cg-popover/cg-popover.js +1 -1
- package/dist/components/cg-progress-bar/cg-progress-bar.js +1 -1
- package/dist/components/cg-radio/cg-radio.js +1 -1
- package/dist/components/cg-radio-group/cg-radio-group.js +1 -1
- package/dist/components/cg-rating/cg-rating.js +1 -1
- package/dist/components/cg-resizable/cg-resizable.js +1 -1
- package/dist/components/cg-scroll-area/cg-scroll-area.js +1 -1
- package/dist/components/cg-segmented-control/cg-segmented-control.js +1 -1
- package/dist/components/cg-select/cg-select.js +1 -1
- package/dist/components/cg-separator/cg-separator.js +1 -1
- package/dist/components/cg-sheet/cg-sheet.js +1 -1
- package/dist/components/cg-sidebar/cg-sidebar.js +1 -1
- package/dist/components/cg-skeleton/cg-skeleton.js +1 -1
- package/dist/components/cg-slider/cg-slider.js +1 -1
- package/dist/components/cg-spinner/cg-spinner.js +1 -1
- package/dist/components/cg-split-button/cg-split-button.js +1 -1
- package/dist/components/cg-stack/cg-stack.js +1 -1
- package/dist/components/cg-status-dot/cg-status-dot.d.ts +31 -0
- package/dist/components/cg-status-dot/cg-status-dot.d.ts.map +1 -0
- package/dist/components/cg-status-dot/cg-status-dot.js +89 -0
- package/dist/components/cg-status-dot/cg-status-dot.js.map +1 -0
- package/dist/components/cg-steps/cg-steps.js +1 -1
- package/dist/components/cg-switch/cg-switch.js +1 -1
- package/dist/components/cg-table/cg-table.js +1 -1
- package/dist/components/cg-tabs/cg-tabs.js +1 -1
- package/dist/components/cg-tag-input/cg-tag-input.js +1 -1
- package/dist/components/cg-text/cg-text.js +1 -1
- package/dist/components/cg-textarea/cg-textarea.js +1 -1
- package/dist/components/cg-thumbnail/cg-thumbnail.d.ts +39 -0
- package/dist/components/cg-thumbnail/cg-thumbnail.d.ts.map +1 -0
- package/dist/components/cg-thumbnail/cg-thumbnail.js +134 -0
- package/dist/components/cg-thumbnail/cg-thumbnail.js.map +1 -0
- package/dist/components/cg-time-picker/cg-time-picker.js +1 -1
- package/dist/components/cg-timestamp/cg-timestamp.d.ts +41 -0
- package/dist/components/cg-timestamp/cg-timestamp.d.ts.map +1 -0
- package/dist/components/cg-timestamp/cg-timestamp.js +81 -0
- package/dist/components/cg-timestamp/cg-timestamp.js.map +1 -0
- package/dist/components/cg-toaster/cg-toaster.js +1 -1
- package/dist/components/cg-toggle/cg-toggle.js +1 -1
- package/dist/components/cg-toggle-group/cg-toggle-group.js +1 -1
- package/dist/components/cg-toolbar/cg-toolbar.d.ts +51 -0
- package/dist/components/cg-toolbar/cg-toolbar.d.ts.map +1 -0
- package/dist/components/cg-toolbar/cg-toolbar.js +130 -0
- package/dist/components/cg-toolbar/cg-toolbar.js.map +1 -0
- package/dist/components/cg-tree-view/cg-tree-view.js +1 -1
- package/dist/foundation.d.ts +11 -1
- package/dist/foundation.d.ts.map +1 -1
- package/dist/foundation.js +88 -68
- package/dist/foundation.js.map +1 -1
- package/dist/index.d.ts +11 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +126 -106
- package/dist/index.js.map +1 -1
- 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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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-
|
|
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);
|