@f-ewald/components 1.19.0 → 1.21.1
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/README.md +4 -0
- package/custom-elements.json +691 -13
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/markdown-editor.d.ts +34 -0
- package/dist/markdown-editor.d.ts.map +1 -0
- package/dist/markdown-editor.js +130 -0
- package/dist/markdown-editor.js.map +1 -0
- package/dist/status-banner.d.ts +35 -0
- package/dist/status-banner.d.ts.map +1 -0
- package/dist/status-banner.js +134 -0
- package/dist/status-banner.js.map +1 -0
- package/dist/tab-bar.d.ts +51 -0
- package/dist/tab-bar.d.ts.map +1 -0
- package/dist/tab-bar.js +233 -0
- package/dist/tab-bar.js.map +1 -0
- package/dist/tab-item.d.ts +27 -0
- package/dist/tab-item.d.ts.map +1 -0
- package/dist/tab-item.js +67 -0
- package/dist/tab-item.js.map +1 -0
- package/dist/utils/front-matter.d.ts +19 -0
- package/dist/utils/front-matter.d.ts.map +1 -0
- package/dist/utils/front-matter.js +37 -0
- package/dist/utils/front-matter.js.map +1 -0
- package/docs/design-language.md +11 -1
- package/docs/markdown-editor.md +61 -0
- package/docs/status-banner.md +55 -0
- package/docs/tab-bar.md +64 -0
- package/docs/tab-item.md +40 -0
- package/llms.txt +106 -0
- package/package.json +2 -1
package/dist/index.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export { RangeSlider } from "./range-slider.js";
|
|
|
29
29
|
export { ButtonGroup, type ButtonGroupOption } from "./button-group.js";
|
|
30
30
|
export { UiButton, type ButtonVariant } from "./ui-button.js";
|
|
31
31
|
export { StatMeter } from "./stat-meter.js";
|
|
32
|
+
export { StatusBanner, type StatusBannerVariant } from "./status-banner.js";
|
|
32
33
|
export { StatusPill, type StatusPillColor } from "./status-pill.js";
|
|
33
34
|
export { EditableText } from "./editable-text.js";
|
|
34
35
|
export { LiveTimer } from "./live-timer.js";
|
|
@@ -68,6 +69,10 @@ export { CardGrid } from "./card-grid.js";
|
|
|
68
69
|
export { MarkdownView } from "./markdown-view.js";
|
|
69
70
|
export { AutoScroll } from "./auto-scroll.js";
|
|
70
71
|
export { SplitHero } from "./split-hero.js";
|
|
72
|
+
export { TabBar, type TabChangeDetail } from "./tab-bar.js";
|
|
73
|
+
export { TabItem } from "./tab-item.js";
|
|
74
|
+
export { MarkdownEditor } from "./markdown-editor.js";
|
|
75
|
+
export { parseFrontMatter, formatFrontMatterValue, type FrontMatterResult, } from "./utils/front-matter.js";
|
|
71
76
|
export { formatDuration, type DurationFormat } from "./utils/duration.js";
|
|
72
77
|
export { tokens, tokenValues, darkTokenValues } from "./tokens.js";
|
|
73
78
|
export * from "./icons.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -29,6 +29,7 @@ export { RangeSlider } from "./range-slider.js";
|
|
|
29
29
|
export { ButtonGroup } from "./button-group.js";
|
|
30
30
|
export { UiButton } from "./ui-button.js";
|
|
31
31
|
export { StatMeter } from "./stat-meter.js";
|
|
32
|
+
export { StatusBanner } from "./status-banner.js";
|
|
32
33
|
export { StatusPill } from "./status-pill.js";
|
|
33
34
|
export { EditableText } from "./editable-text.js";
|
|
34
35
|
export { LiveTimer } from "./live-timer.js";
|
|
@@ -68,6 +69,10 @@ export { CardGrid } from "./card-grid.js";
|
|
|
68
69
|
export { MarkdownView } from "./markdown-view.js";
|
|
69
70
|
export { AutoScroll } from "./auto-scroll.js";
|
|
70
71
|
export { SplitHero } from "./split-hero.js";
|
|
72
|
+
export { TabBar } from "./tab-bar.js";
|
|
73
|
+
export { TabItem } from "./tab-item.js";
|
|
74
|
+
export { MarkdownEditor } from "./markdown-editor.js";
|
|
75
|
+
export { parseFrontMatter, formatFrontMatterValue, } from "./utils/front-matter.js";
|
|
71
76
|
export { formatDuration } from "./utils/duration.js";
|
|
72
77
|
export { tokens, tokenValues, darkTokenValues } from "./tokens.js";
|
|
73
78
|
export * from "./icons.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { AnimateConfetti } from \"./animate-confetti.js\";\nexport { GalleryItem } from \"./gallery-item.js\";\nexport { GalleryItemVariant } from \"./gallery-item-variant.js\";\nexport {\n PhotoGallery,\n type PhotoGalleryChangeReason,\n type PhotoGalleryObjectFit,\n type PhotoGallerySlideChangeDetail,\n} from \"./photo-gallery.js\";\nexport { RevealButton } from \"./reveal-button.js\";\nexport { RomanNumeral } from \"./roman-numeral.js\";\nexport { ConfirmDialog } from \"./confirm-dialog.js\";\nexport { ContentDivider } from \"./content-divider.js\";\nexport {\n ToastNotification,\n notifySuccess,\n notifyError,\n notifyInfo,\n notifyWarning,\n type ToastVariant,\n} from \"./toast-notification.js\";\nexport { ScrollToBottom } from \"./scroll-to-bottom.js\";\nexport { ScrollToTop } from \"./scroll-to-top.js\";\nexport { SlidePanel } from \"./slide-panel.js\";\nexport { CopyLinkButton } from \"./copy-link-button.js\";\nexport { RelativeTime } from \"./relative-time.js\";\nexport { DistanceValue } from \"./distance-value.js\";\nexport { PriceHistoryChart, type PricePoint } from \"./price-history-chart.js\";\nexport { DistributionChart, type DistributionValue } from \"./distribution-chart.js\";\nexport { PercentBarChart, type PercentBarGroup } from \"./percent-bar-chart.js\";\nexport { WeightBarChart, type WeightBarItem } from \"./weight-bar-chart.js\";\nexport {\n AddressAutocomplete,\n type AddressSuggestion,\n} from \"./address-autocomplete.js\";\nexport {\n AutocompleteInput,\n type AutocompleteOption,\n} from \"./autocomplete-input.js\";\nexport { UserAvatar } from \"./user-avatar.js\";\nexport { MapPin } from \"./map-pin.js\";\nexport { MapCircle } from \"./map-circle.js\";\nexport { MapboxMap } from \"./mapbox-map.js\";\nexport { RadioCards, type RadioCardOption } from \"./radio-cards.js\";\nexport { RadioPills, type RadioPillOption } from \"./radio-pills.js\";\nexport { RangeSlider } from \"./range-slider.js\";\nexport { ButtonGroup, type ButtonGroupOption } from \"./button-group.js\";\nexport { UiButton, type ButtonVariant } from \"./ui-button.js\";\nexport { StatMeter } from \"./stat-meter.js\";\nexport { StatusPill, type StatusPillColor } from \"./status-pill.js\";\nexport { EditableText } from \"./editable-text.js\";\nexport { LiveTimer } from \"./live-timer.js\";\nexport { LoadMore } from \"./load-more.js\";\nexport { LoadingSpinner } from \"./loading-spinner.js\";\nexport { LoadingDots } from \"./loading-dots.js\";\nexport {\n ChatMessage,\n type ChatMessageRole,\n type ChatMessageVariant,\n} from \"./chat-message.js\";\nexport { UiCheckbox } from \"./ui-checkbox.js\";\nexport { FormField } from \"./form-field.js\";\nexport { FormSelect, type SelectOption } from \"./form-select.js\";\nexport {\n MultiSelect,\n type MultiSelectOption,\n type MultiSelectVariant,\n} from \"./multi-select.js\";\nexport { DataTable, type DataTableColumn } from \"./data-table.js\";\nexport { TileGrid } from \"./tile-grid.js\";\nexport { TreeView, type TreeNode } from \"./tree-view.js\";\nexport { PopoverPanel } from \"./popover-panel.js\";\nexport { DropdownButton, type DropdownOption } from \"./dropdown-button.js\";\nexport { IconButton } from \"./icon-button.js\";\nexport { KbdHint, type KbdPlatform } from \"./kbd-hint.js\";\nexport { FrameBox } from \"./frame-box.js\";\nexport { AppShell, type SidebarToggleDetail } from \"./app-shell.js\";\nexport { AppSidebar } from \"./app-sidebar.js\";\nexport { ActionBar } from \"./action-bar.js\";\nexport { PageHeader } from \"./page-header.js\";\nexport { PaginationNav, type PageChangeDetail } from \"./pagination-nav.js\";\nexport { FormActions } from \"./form-actions.js\";\nexport { TimelineContainer } from \"./timeline-container.js\";\nexport { TimelineEntry } from \"./timeline-entry.js\";\nexport { CalendarEntry } from \"./calendar-entry.js\";\nexport { CalendarMonth } from \"./calendar-month.js\";\nexport { CalendarYear } from \"./calendar-year.js\";\nexport {\n KanbanBoard,\n type KanbanCardData,\n type KanbanColumnData,\n type KanbanCardMoveDetail,\n type KanbanCardOpenDetail,\n} from \"./kanban-board.js\";\nexport { KanbanColumn } from \"./kanban-column.js\";\nexport { KanbanCard } from \"./kanban-card.js\";\nexport { TextArea } from \"./text-area.js\";\nexport { LinkCard, type LinkCardStatus } from \"./link-card.js\";\nexport { CardGrid } from \"./card-grid.js\";\nexport { MarkdownView } from \"./markdown-view.js\";\nexport { AutoScroll } from \"./auto-scroll.js\";\nexport { SplitHero } from \"./split-hero.js\";\nexport { formatDuration, type DurationFormat } from \"./utils/duration.js\";\nexport { tokens, tokenValues, darkTokenValues } from \"./tokens.js\";\nexport * from \"./icons.js\";\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { AnimateConfetti } from \"./animate-confetti.js\";\nexport { GalleryItem } from \"./gallery-item.js\";\nexport { GalleryItemVariant } from \"./gallery-item-variant.js\";\nexport {\n PhotoGallery,\n type PhotoGalleryChangeReason,\n type PhotoGalleryObjectFit,\n type PhotoGallerySlideChangeDetail,\n} from \"./photo-gallery.js\";\nexport { RevealButton } from \"./reveal-button.js\";\nexport { RomanNumeral } from \"./roman-numeral.js\";\nexport { ConfirmDialog } from \"./confirm-dialog.js\";\nexport { ContentDivider } from \"./content-divider.js\";\nexport {\n ToastNotification,\n notifySuccess,\n notifyError,\n notifyInfo,\n notifyWarning,\n type ToastVariant,\n} from \"./toast-notification.js\";\nexport { ScrollToBottom } from \"./scroll-to-bottom.js\";\nexport { ScrollToTop } from \"./scroll-to-top.js\";\nexport { SlidePanel } from \"./slide-panel.js\";\nexport { CopyLinkButton } from \"./copy-link-button.js\";\nexport { RelativeTime } from \"./relative-time.js\";\nexport { DistanceValue } from \"./distance-value.js\";\nexport { PriceHistoryChart, type PricePoint } from \"./price-history-chart.js\";\nexport { DistributionChart, type DistributionValue } from \"./distribution-chart.js\";\nexport { PercentBarChart, type PercentBarGroup } from \"./percent-bar-chart.js\";\nexport { WeightBarChart, type WeightBarItem } from \"./weight-bar-chart.js\";\nexport {\n AddressAutocomplete,\n type AddressSuggestion,\n} from \"./address-autocomplete.js\";\nexport {\n AutocompleteInput,\n type AutocompleteOption,\n} from \"./autocomplete-input.js\";\nexport { UserAvatar } from \"./user-avatar.js\";\nexport { MapPin } from \"./map-pin.js\";\nexport { MapCircle } from \"./map-circle.js\";\nexport { MapboxMap } from \"./mapbox-map.js\";\nexport { RadioCards, type RadioCardOption } from \"./radio-cards.js\";\nexport { RadioPills, type RadioPillOption } from \"./radio-pills.js\";\nexport { RangeSlider } from \"./range-slider.js\";\nexport { ButtonGroup, type ButtonGroupOption } from \"./button-group.js\";\nexport { UiButton, type ButtonVariant } from \"./ui-button.js\";\nexport { StatMeter } from \"./stat-meter.js\";\nexport { StatusBanner, type StatusBannerVariant } from \"./status-banner.js\";\nexport { StatusPill, type StatusPillColor } from \"./status-pill.js\";\nexport { EditableText } from \"./editable-text.js\";\nexport { LiveTimer } from \"./live-timer.js\";\nexport { LoadMore } from \"./load-more.js\";\nexport { LoadingSpinner } from \"./loading-spinner.js\";\nexport { LoadingDots } from \"./loading-dots.js\";\nexport {\n ChatMessage,\n type ChatMessageRole,\n type ChatMessageVariant,\n} from \"./chat-message.js\";\nexport { UiCheckbox } from \"./ui-checkbox.js\";\nexport { FormField } from \"./form-field.js\";\nexport { FormSelect, type SelectOption } from \"./form-select.js\";\nexport {\n MultiSelect,\n type MultiSelectOption,\n type MultiSelectVariant,\n} from \"./multi-select.js\";\nexport { DataTable, type DataTableColumn } from \"./data-table.js\";\nexport { TileGrid } from \"./tile-grid.js\";\nexport { TreeView, type TreeNode } from \"./tree-view.js\";\nexport { PopoverPanel } from \"./popover-panel.js\";\nexport { DropdownButton, type DropdownOption } from \"./dropdown-button.js\";\nexport { IconButton } from \"./icon-button.js\";\nexport { KbdHint, type KbdPlatform } from \"./kbd-hint.js\";\nexport { FrameBox } from \"./frame-box.js\";\nexport { AppShell, type SidebarToggleDetail } from \"./app-shell.js\";\nexport { AppSidebar } from \"./app-sidebar.js\";\nexport { ActionBar } from \"./action-bar.js\";\nexport { PageHeader } from \"./page-header.js\";\nexport { PaginationNav, type PageChangeDetail } from \"./pagination-nav.js\";\nexport { FormActions } from \"./form-actions.js\";\nexport { TimelineContainer } from \"./timeline-container.js\";\nexport { TimelineEntry } from \"./timeline-entry.js\";\nexport { CalendarEntry } from \"./calendar-entry.js\";\nexport { CalendarMonth } from \"./calendar-month.js\";\nexport { CalendarYear } from \"./calendar-year.js\";\nexport {\n KanbanBoard,\n type KanbanCardData,\n type KanbanColumnData,\n type KanbanCardMoveDetail,\n type KanbanCardOpenDetail,\n} from \"./kanban-board.js\";\nexport { KanbanColumn } from \"./kanban-column.js\";\nexport { KanbanCard } from \"./kanban-card.js\";\nexport { TextArea } from \"./text-area.js\";\nexport { LinkCard, type LinkCardStatus } from \"./link-card.js\";\nexport { CardGrid } from \"./card-grid.js\";\nexport { MarkdownView } from \"./markdown-view.js\";\nexport { AutoScroll } from \"./auto-scroll.js\";\nexport { SplitHero } from \"./split-hero.js\";\nexport { TabBar, type TabChangeDetail } from \"./tab-bar.js\";\nexport { TabItem } from \"./tab-item.js\";\nexport { MarkdownEditor } from \"./markdown-editor.js\";\nexport {\n parseFrontMatter,\n formatFrontMatterValue,\n type FrontMatterResult,\n} from \"./utils/front-matter.js\";\nexport { formatDuration, type DurationFormat } from \"./utils/duration.js\";\nexport { tokens, tokenValues, darkTokenValues } from \"./tokens.js\";\nexport * from \"./icons.js\";\n"]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
import "./tab-bar.js";
|
|
3
|
+
import "./tab-item.js";
|
|
4
|
+
import "./text-area.js";
|
|
5
|
+
import "./markdown-view.js";
|
|
6
|
+
import "./frame-box.js";
|
|
7
|
+
/**
|
|
8
|
+
* GitHub-style markdown editor: a "Write" tab holding a plain textarea and a
|
|
9
|
+
* "Preview" tab rendering the markdown body (via `markdown-view`). Leading
|
|
10
|
+
* YAML front matter (a `---`-delimited block) is detected, parsed, and shown
|
|
11
|
+
* as a key-value table above the rendered body rather than as raw text.
|
|
12
|
+
*
|
|
13
|
+
* @element markdown-editor
|
|
14
|
+
* @fires input - Fires on every keystroke in the Write tab; detail: { value: string }.
|
|
15
|
+
* @fires change - Native change semantics (on blur, if the value changed); detail: { value: string }.
|
|
16
|
+
*/
|
|
17
|
+
export declare class MarkdownEditor extends LitElement {
|
|
18
|
+
/** Full raw document text, including any front matter block. */
|
|
19
|
+
value: string;
|
|
20
|
+
/** Visible row count for the Write tab's textarea. */
|
|
21
|
+
rows: number;
|
|
22
|
+
/** Placeholder text shown when the Write tab is empty. */
|
|
23
|
+
placeholder: string;
|
|
24
|
+
static styles: import("lit").CSSResult[];
|
|
25
|
+
private _onInput;
|
|
26
|
+
private _onChange;
|
|
27
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
28
|
+
}
|
|
29
|
+
declare global {
|
|
30
|
+
interface HTMLElementTagNameMap {
|
|
31
|
+
"markdown-editor": MarkdownEditor;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=markdown-editor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-editor.d.ts","sourceRoot":"","sources":["../src/markdown-editor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAIrD,OAAO,cAAc,CAAC;AACtB,OAAO,eAAe,CAAC;AACvB,OAAO,gBAAgB,CAAC;AACxB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,gBAAgB,CAAC;AAExB;;;;;;;;;GASG;AACH,qBACa,cAAe,SAAQ,UAAU;IAC5C,gEAAgE;IACpD,KAAK,SAAM;IAEvB,sDAAsD;IAC1B,IAAI,SAAM;IAEtC,0DAA0D;IAC9C,WAAW,SAAM;IAE7B,OAAgB,MAAM,4BAsCpB;IAEF,OAAO,CAAC,QAAQ;IAQhB,OAAO,CAAC,SAAS;IAQR,MAAM,yCAgCd;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,cAAc,CAAC;KACnC;CACF"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { LitElement, css, html, nothing } from "lit";
|
|
8
|
+
import { customElement, property } from "lit/decorators.js";
|
|
9
|
+
import { tokens } from "./tokens.js";
|
|
10
|
+
import { parseFrontMatter, formatFrontMatterValue } from "./utils/front-matter.js";
|
|
11
|
+
import "./tab-bar.js";
|
|
12
|
+
import "./tab-item.js";
|
|
13
|
+
import "./text-area.js";
|
|
14
|
+
import "./markdown-view.js";
|
|
15
|
+
import "./frame-box.js";
|
|
16
|
+
/**
|
|
17
|
+
* GitHub-style markdown editor: a "Write" tab holding a plain textarea and a
|
|
18
|
+
* "Preview" tab rendering the markdown body (via `markdown-view`). Leading
|
|
19
|
+
* YAML front matter (a `---`-delimited block) is detected, parsed, and shown
|
|
20
|
+
* as a key-value table above the rendered body rather than as raw text.
|
|
21
|
+
*
|
|
22
|
+
* @element markdown-editor
|
|
23
|
+
* @fires input - Fires on every keystroke in the Write tab; detail: { value: string }.
|
|
24
|
+
* @fires change - Native change semantics (on blur, if the value changed); detail: { value: string }.
|
|
25
|
+
*/
|
|
26
|
+
let MarkdownEditor = class MarkdownEditor extends LitElement {
|
|
27
|
+
constructor() {
|
|
28
|
+
super(...arguments);
|
|
29
|
+
/** Full raw document text, including any front matter block. */
|
|
30
|
+
this.value = "";
|
|
31
|
+
/** Visible row count for the Write tab's textarea. */
|
|
32
|
+
this.rows = 12;
|
|
33
|
+
/** Placeholder text shown when the Write tab is empty. */
|
|
34
|
+
this.placeholder = "";
|
|
35
|
+
}
|
|
36
|
+
static { this.styles = [
|
|
37
|
+
tokens,
|
|
38
|
+
css `
|
|
39
|
+
:host {
|
|
40
|
+
display: block;
|
|
41
|
+
}
|
|
42
|
+
markdown-view {
|
|
43
|
+
display: block;
|
|
44
|
+
margin-top: 1rem;
|
|
45
|
+
}
|
|
46
|
+
.front-matter {
|
|
47
|
+
margin: 0;
|
|
48
|
+
display: grid;
|
|
49
|
+
grid-template-columns: auto 1fr;
|
|
50
|
+
gap: 0.25rem 0.75rem;
|
|
51
|
+
font-family: var(
|
|
52
|
+
--ui-font,
|
|
53
|
+
ui-sans-serif,
|
|
54
|
+
system-ui,
|
|
55
|
+
sans-serif,
|
|
56
|
+
"Apple Color Emoji",
|
|
57
|
+
"Segoe UI Emoji",
|
|
58
|
+
"Segoe UI Symbol",
|
|
59
|
+
"Noto Color Emoji"
|
|
60
|
+
);
|
|
61
|
+
font-size: var(--ui-font-size-sm, 0.75rem);
|
|
62
|
+
line-height: var(--ui-line-height-normal, 1.5);
|
|
63
|
+
}
|
|
64
|
+
.front-matter dt {
|
|
65
|
+
font-weight: var(--ui-font-weight-medium, 500);
|
|
66
|
+
color: var(--ui-text-muted, #64748b);
|
|
67
|
+
}
|
|
68
|
+
.front-matter dd {
|
|
69
|
+
margin: 0;
|
|
70
|
+
color: var(--ui-text, #0f172a);
|
|
71
|
+
word-break: break-word;
|
|
72
|
+
}
|
|
73
|
+
`,
|
|
74
|
+
]; }
|
|
75
|
+
_onInput(e) {
|
|
76
|
+
e.stopPropagation();
|
|
77
|
+
this.value = e.detail.value;
|
|
78
|
+
this.dispatchEvent(new CustomEvent("input", { detail: { value: this.value }, bubbles: true, composed: true }));
|
|
79
|
+
}
|
|
80
|
+
_onChange(e) {
|
|
81
|
+
e.stopPropagation();
|
|
82
|
+
this.value = e.detail.value;
|
|
83
|
+
this.dispatchEvent(new CustomEvent("change", { detail: { value: this.value }, bubbles: true, composed: true }));
|
|
84
|
+
}
|
|
85
|
+
render() {
|
|
86
|
+
const { data, body } = parseFrontMatter(this.value);
|
|
87
|
+
return html `
|
|
88
|
+
<tab-bar label="Editor mode">
|
|
89
|
+
<tab-item label="Write" value="write" selected>
|
|
90
|
+
<text-area
|
|
91
|
+
.value=${this.value}
|
|
92
|
+
.rows=${this.rows}
|
|
93
|
+
.placeholder=${this.placeholder}
|
|
94
|
+
@input=${this._onInput}
|
|
95
|
+
@change=${this._onChange}
|
|
96
|
+
></text-area>
|
|
97
|
+
</tab-item>
|
|
98
|
+
<tab-item label="Preview" value="preview">
|
|
99
|
+
${data
|
|
100
|
+
? html `
|
|
101
|
+
<frame-box label="Front matter">
|
|
102
|
+
<dl class="front-matter">
|
|
103
|
+
${Object.entries(data).map(([key, entryValue]) => html `
|
|
104
|
+
<dt>${key}</dt>
|
|
105
|
+
<dd>${formatFrontMatterValue(entryValue)}</dd>
|
|
106
|
+
`)}
|
|
107
|
+
</dl>
|
|
108
|
+
</frame-box>
|
|
109
|
+
`
|
|
110
|
+
: nothing}
|
|
111
|
+
<markdown-view .markdown=${body}></markdown-view>
|
|
112
|
+
</tab-item>
|
|
113
|
+
</tab-bar>
|
|
114
|
+
`;
|
|
115
|
+
}
|
|
116
|
+
};
|
|
117
|
+
__decorate([
|
|
118
|
+
property()
|
|
119
|
+
], MarkdownEditor.prototype, "value", void 0);
|
|
120
|
+
__decorate([
|
|
121
|
+
property({ type: Number })
|
|
122
|
+
], MarkdownEditor.prototype, "rows", void 0);
|
|
123
|
+
__decorate([
|
|
124
|
+
property()
|
|
125
|
+
], MarkdownEditor.prototype, "placeholder", void 0);
|
|
126
|
+
MarkdownEditor = __decorate([
|
|
127
|
+
customElement("markdown-editor")
|
|
128
|
+
], MarkdownEditor);
|
|
129
|
+
export { MarkdownEditor };
|
|
130
|
+
//# sourceMappingURL=markdown-editor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown-editor.js","sourceRoot":"","sources":["../src/markdown-editor.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACnF,OAAO,cAAc,CAAC;AACtB,OAAO,eAAe,CAAC;AACvB,OAAO,gBAAgB,CAAC;AACxB,OAAO,oBAAoB,CAAC;AAC5B,OAAO,gBAAgB,CAAC;AAExB;;;;;;;;;GASG;AAEI,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,UAAU;IAAvC;;QACL,gEAAgE;QACpD,UAAK,GAAG,EAAE,CAAC;QAEvB,sDAAsD;QAC1B,SAAI,GAAG,EAAE,CAAC;QAEtC,0DAA0D;QAC9C,gBAAW,GAAG,EAAE,CAAC;IA2F/B,CAAC;aAzFiB,WAAM,GAAG;QACvB,MAAM;QACN,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmCF;KACF,AAtCqB,CAsCpB;IAEM,QAAQ,CAAC,CAAQ;QACvB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAI,CAAoC,CAAC,MAAM,CAAC,KAAK,CAAC;QAChE,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAC3F,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,CAAQ;QACxB,CAAC,CAAC,eAAe,EAAE,CAAC;QACpB,IAAI,CAAC,KAAK,GAAI,CAAoC,CAAC,MAAM,CAAC,KAAK,CAAC;QAChE,IAAI,CAAC,aAAa,CAChB,IAAI,WAAW,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAC5F,CAAC;IACJ,CAAC;IAEQ,MAAM;QACb,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpD,OAAO,IAAI,CAAA;;;;qBAIM,IAAI,CAAC,KAAK;oBACX,IAAI,CAAC,IAAI;2BACF,IAAI,CAAC,WAAW;qBACtB,IAAI,CAAC,QAAQ;sBACZ,IAAI,CAAC,SAAS;;;;YAIxB,IAAI;YACJ,CAAC,CAAC,IAAI,CAAA;;;sBAGI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,GAAG,CACxB,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC,IAAI,CAAA;8BACnB,GAAG;8BACH,sBAAsB,CAAC,UAAU,CAAC;uBACzC,CACF;;;eAGN;YACH,CAAC,CAAC,OAAO;qCACgB,IAAI;;;KAGpC,CAAC;IACJ,CAAC;CACF,CAAA;AAjGa;IAAX,QAAQ,EAAE;6CAAY;AAGK;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CAAW;AAG1B;IAAX,QAAQ,EAAE;mDAAkB;AARlB,cAAc;IAD1B,aAAa,CAAC,iBAAiB,CAAC;GACpB,cAAc,CAmG1B","sourcesContent":["import { LitElement, css, html, nothing } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { tokens } from \"./tokens.js\";\nimport { parseFrontMatter, formatFrontMatterValue } from \"./utils/front-matter.js\";\nimport \"./tab-bar.js\";\nimport \"./tab-item.js\";\nimport \"./text-area.js\";\nimport \"./markdown-view.js\";\nimport \"./frame-box.js\";\n\n/**\n * GitHub-style markdown editor: a \"Write\" tab holding a plain textarea and a\n * \"Preview\" tab rendering the markdown body (via `markdown-view`). Leading\n * YAML front matter (a `---`-delimited block) is detected, parsed, and shown\n * as a key-value table above the rendered body rather than as raw text.\n *\n * @element markdown-editor\n * @fires input - Fires on every keystroke in the Write tab; detail: { value: string }.\n * @fires change - Native change semantics (on blur, if the value changed); detail: { value: string }.\n */\n@customElement(\"markdown-editor\")\nexport class MarkdownEditor extends LitElement {\n /** Full raw document text, including any front matter block. */\n @property() value = \"\";\n\n /** Visible row count for the Write tab's textarea. */\n @property({ type: Number }) rows = 12;\n\n /** Placeholder text shown when the Write tab is empty. */\n @property() placeholder = \"\";\n\n static override styles = [\n tokens,\n css`\n :host {\n display: block;\n }\n markdown-view {\n display: block;\n margin-top: 1rem;\n }\n .front-matter {\n margin: 0;\n display: grid;\n grid-template-columns: auto 1fr;\n gap: 0.25rem 0.75rem;\n font-family: var(\n --ui-font,\n ui-sans-serif,\n system-ui,\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\",\n \"Noto Color Emoji\"\n );\n font-size: var(--ui-font-size-sm, 0.75rem);\n line-height: var(--ui-line-height-normal, 1.5);\n }\n .front-matter dt {\n font-weight: var(--ui-font-weight-medium, 500);\n color: var(--ui-text-muted, #64748b);\n }\n .front-matter dd {\n margin: 0;\n color: var(--ui-text, #0f172a);\n word-break: break-word;\n }\n `,\n ];\n\n private _onInput(e: Event): void {\n e.stopPropagation();\n this.value = (e as CustomEvent<{ value: string }>).detail.value;\n this.dispatchEvent(\n new CustomEvent(\"input\", { detail: { value: this.value }, bubbles: true, composed: true }),\n );\n }\n\n private _onChange(e: Event): void {\n e.stopPropagation();\n this.value = (e as CustomEvent<{ value: string }>).detail.value;\n this.dispatchEvent(\n new CustomEvent(\"change\", { detail: { value: this.value }, bubbles: true, composed: true }),\n );\n }\n\n override render() {\n const { data, body } = parseFrontMatter(this.value);\n return html`\n <tab-bar label=\"Editor mode\">\n <tab-item label=\"Write\" value=\"write\" selected>\n <text-area\n .value=${this.value}\n .rows=${this.rows}\n .placeholder=${this.placeholder}\n @input=${this._onInput}\n @change=${this._onChange}\n ></text-area>\n </tab-item>\n <tab-item label=\"Preview\" value=\"preview\">\n ${data\n ? html`\n <frame-box label=\"Front matter\">\n <dl class=\"front-matter\">\n ${Object.entries(data).map(\n ([key, entryValue]) => html`\n <dt>${key}</dt>\n <dd>${formatFrontMatterValue(entryValue)}</dd>\n `,\n )}\n </dl>\n </frame-box>\n `\n : nothing}\n <markdown-view .markdown=${body}></markdown-view>\n </tab-item>\n </tab-bar>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"markdown-editor\": MarkdownEditor;\n }\n}\n"]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { LitElement, type TemplateResult } from "lit";
|
|
2
|
+
export type StatusBannerVariant = "neutral" | "info" | "success" | "warning" | "danger";
|
|
3
|
+
/**
|
|
4
|
+
* Full-width, app-level status bar for a persistent condition — "Reconnecting…",
|
|
5
|
+
* "Read-only mode", "New version available". Unlike `toast-notification` (which
|
|
6
|
+
* is transient, imperative, and stacks in a corner) this stays put for as long
|
|
7
|
+
* as the condition holds, so the consumer controls its presence by rendering it
|
|
8
|
+
* or not.
|
|
9
|
+
*
|
|
10
|
+
* Colors mirror `status-pill`: a tinted background with accent-colored text.
|
|
11
|
+
* Announced to assistive tech via `role="status"` (or `role="alert"` for the
|
|
12
|
+
* `danger` variant, matching `toast-notification`'s split).
|
|
13
|
+
*
|
|
14
|
+
* @element status-banner
|
|
15
|
+
* @slot - The message text.
|
|
16
|
+
* @slot actions - Optional trailing controls, e.g. a "Retry" button.
|
|
17
|
+
*/
|
|
18
|
+
export declare class StatusBanner extends LitElement {
|
|
19
|
+
static styles: import("lit").CSSResult[];
|
|
20
|
+
/** Visual style; also selects the accent color. */
|
|
21
|
+
variant: StatusBannerVariant;
|
|
22
|
+
/**
|
|
23
|
+
* Optional leading icon, pre-rendered by the consumer (e.g. `iconInfo(14)`),
|
|
24
|
+
* matching `nav-item`/`icon-button` — icons are passed in, not named, so the
|
|
25
|
+
* component never has to know the icon catalog.
|
|
26
|
+
*/
|
|
27
|
+
icon: TemplateResult | null;
|
|
28
|
+
render(): TemplateResult<1>;
|
|
29
|
+
}
|
|
30
|
+
declare global {
|
|
31
|
+
interface HTMLElementTagNameMap {
|
|
32
|
+
"status-banner": StatusBanner;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=status-banner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-banner.d.ts","sourceRoot":"","sources":["../src/status-banner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAsB,MAAM,KAAK,CAAC;AAI1E,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAExF;;;;;;;;;;;;;;GAcG;AACH,qBACa,YAAa,SAAQ,UAAU;IAC1C,OAAgB,MAAM,4BA0EpB;IAEF,mDAAmD;IACtB,OAAO,EAAE,mBAAmB,CAAU;IAEnE;;;;OAIG;IAC6B,IAAI,EAAE,cAAc,GAAG,IAAI,CAAQ;IAE1D,MAAM,sBAUd;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,YAAY,CAAC;KAC/B;CACF"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { LitElement, css, html, nothing } from "lit";
|
|
8
|
+
import { customElement, property } from "lit/decorators.js";
|
|
9
|
+
import { tokens } from "./tokens.js";
|
|
10
|
+
/**
|
|
11
|
+
* Full-width, app-level status bar for a persistent condition — "Reconnecting…",
|
|
12
|
+
* "Read-only mode", "New version available". Unlike `toast-notification` (which
|
|
13
|
+
* is transient, imperative, and stacks in a corner) this stays put for as long
|
|
14
|
+
* as the condition holds, so the consumer controls its presence by rendering it
|
|
15
|
+
* or not.
|
|
16
|
+
*
|
|
17
|
+
* Colors mirror `status-pill`: a tinted background with accent-colored text.
|
|
18
|
+
* Announced to assistive tech via `role="status"` (or `role="alert"` for the
|
|
19
|
+
* `danger` variant, matching `toast-notification`'s split).
|
|
20
|
+
*
|
|
21
|
+
* @element status-banner
|
|
22
|
+
* @slot - The message text.
|
|
23
|
+
* @slot actions - Optional trailing controls, e.g. a "Retry" button.
|
|
24
|
+
*/
|
|
25
|
+
let StatusBanner = class StatusBanner extends LitElement {
|
|
26
|
+
constructor() {
|
|
27
|
+
super(...arguments);
|
|
28
|
+
/** Visual style; also selects the accent color. */
|
|
29
|
+
this.variant = "info";
|
|
30
|
+
/**
|
|
31
|
+
* Optional leading icon, pre-rendered by the consumer (e.g. `iconInfo(14)`),
|
|
32
|
+
* matching `nav-item`/`icon-button` — icons are passed in, not named, so the
|
|
33
|
+
* component never has to know the icon catalog.
|
|
34
|
+
*/
|
|
35
|
+
this.icon = null;
|
|
36
|
+
}
|
|
37
|
+
static { this.styles = [
|
|
38
|
+
tokens,
|
|
39
|
+
css `
|
|
40
|
+
:host {
|
|
41
|
+
display: block;
|
|
42
|
+
}
|
|
43
|
+
.bar {
|
|
44
|
+
display: flex;
|
|
45
|
+
align-items: center;
|
|
46
|
+
justify-content: center;
|
|
47
|
+
gap: 0.5rem;
|
|
48
|
+
padding: 0.5rem 0.75rem;
|
|
49
|
+
/* Deliberately taller than the 2rem control target: this is a passive
|
|
50
|
+
page-level notice competing with real content, so it needs presence.
|
|
51
|
+
Expressed against the type token so it keeps the 4x relationship if a
|
|
52
|
+
consumer scales the font. */
|
|
53
|
+
min-height: calc(var(--ui-font-size-sm, 0.75rem) * 4);
|
|
54
|
+
box-sizing: border-box;
|
|
55
|
+
font-family: var(
|
|
56
|
+
--ui-font,
|
|
57
|
+
ui-sans-serif,
|
|
58
|
+
system-ui,
|
|
59
|
+
sans-serif,
|
|
60
|
+
"Apple Color Emoji",
|
|
61
|
+
"Segoe UI Emoji",
|
|
62
|
+
"Segoe UI Symbol",
|
|
63
|
+
"Noto Color Emoji"
|
|
64
|
+
);
|
|
65
|
+
font-size: var(--ui-font-size-sm, 0.75rem);
|
|
66
|
+
line-height: var(--ui-line-height-normal, 1.5);
|
|
67
|
+
}
|
|
68
|
+
/* Keep the message centered while actions sit at the trailing edge. */
|
|
69
|
+
.message {
|
|
70
|
+
display: inline-flex;
|
|
71
|
+
align-items: center;
|
|
72
|
+
gap: 0.25rem;
|
|
73
|
+
text-align: center;
|
|
74
|
+
}
|
|
75
|
+
.actions {
|
|
76
|
+
margin-left: auto;
|
|
77
|
+
display: inline-flex;
|
|
78
|
+
align-items: center;
|
|
79
|
+
gap: 0.25rem;
|
|
80
|
+
}
|
|
81
|
+
.icon {
|
|
82
|
+
display: inline-flex;
|
|
83
|
+
line-height: 0;
|
|
84
|
+
}
|
|
85
|
+
.bar.neutral {
|
|
86
|
+
background: color-mix(in srgb, var(--ui-text-muted, #64748b) 15%, transparent);
|
|
87
|
+
color: var(--ui-text-muted, #64748b);
|
|
88
|
+
}
|
|
89
|
+
.bar.info {
|
|
90
|
+
background: color-mix(in srgb, var(--ui-info, #0ea5e9) 15%, transparent);
|
|
91
|
+
color: var(--ui-info, #0ea5e9);
|
|
92
|
+
}
|
|
93
|
+
.bar.success {
|
|
94
|
+
background: color-mix(in srgb, var(--ui-success, #16a34a) 15%, transparent);
|
|
95
|
+
color: var(--ui-success, #16a34a);
|
|
96
|
+
}
|
|
97
|
+
.bar.warning {
|
|
98
|
+
background: color-mix(in srgb, var(--ui-warning, #d97706) 15%, transparent);
|
|
99
|
+
color: var(--ui-warning, #d97706);
|
|
100
|
+
}
|
|
101
|
+
.bar.danger {
|
|
102
|
+
background: color-mix(in srgb, var(--ui-danger, #dc2626) 15%, transparent);
|
|
103
|
+
color: var(--ui-danger, #dc2626);
|
|
104
|
+
}
|
|
105
|
+
@media (forced-colors: active) {
|
|
106
|
+
.bar {
|
|
107
|
+
border-bottom: 1px solid CanvasText;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
`,
|
|
111
|
+
]; }
|
|
112
|
+
render() {
|
|
113
|
+
return html `
|
|
114
|
+
<div class="bar ${this.variant}" role=${this.variant === "danger" ? "alert" : "status"}>
|
|
115
|
+
<span class="message">
|
|
116
|
+
${this.icon ? html `<span class="icon">${this.icon}</span>` : nothing}
|
|
117
|
+
<slot></slot>
|
|
118
|
+
</span>
|
|
119
|
+
<span class="actions"><slot name="actions"></slot></span>
|
|
120
|
+
</div>
|
|
121
|
+
`;
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
__decorate([
|
|
125
|
+
property({ reflect: true })
|
|
126
|
+
], StatusBanner.prototype, "variant", void 0);
|
|
127
|
+
__decorate([
|
|
128
|
+
property({ attribute: false })
|
|
129
|
+
], StatusBanner.prototype, "icon", void 0);
|
|
130
|
+
StatusBanner = __decorate([
|
|
131
|
+
customElement("status-banner")
|
|
132
|
+
], StatusBanner);
|
|
133
|
+
export { StatusBanner };
|
|
134
|
+
//# sourceMappingURL=status-banner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-banner.js","sourceRoot":"","sources":["../src/status-banner.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAuB,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAC1E,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAIrC;;;;;;;;;;;;;;GAcG;AAEI,IAAM,YAAY,GAAlB,MAAM,YAAa,SAAQ,UAAU;IAArC;;QA6EL,mDAAmD;QACtB,YAAO,GAAwB,MAAM,CAAC;QAEnE;;;;WAIG;QAC6B,SAAI,GAA0B,IAAI,CAAC;IAarE,CAAC;aAjGiB,WAAM,GAAG;QACvB,MAAM;QACN,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuEF;KACF,AA1EqB,CA0EpB;IAYO,MAAM;QACb,OAAO,IAAI,CAAA;wBACS,IAAI,CAAC,OAAO,UAAU,IAAI,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;;YAEhF,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA,sBAAsB,IAAI,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,OAAO;;;;;KAKzE,CAAC;IACJ,CAAC;CACF,CAAA;AApB8B;IAA5B,QAAQ,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;6CAAuC;AAOnC;IAA/B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;0CAAoC;AArFxD,YAAY;IADxB,aAAa,CAAC,eAAe,CAAC;GAClB,YAAY,CAkGxB","sourcesContent":["import { LitElement, type TemplateResult, css, html, nothing } from \"lit\";\nimport { customElement, property } from \"lit/decorators.js\";\nimport { tokens } from \"./tokens.js\";\n\nexport type StatusBannerVariant = \"neutral\" | \"info\" | \"success\" | \"warning\" | \"danger\";\n\n/**\n * Full-width, app-level status bar for a persistent condition — \"Reconnecting…\",\n * \"Read-only mode\", \"New version available\". Unlike `toast-notification` (which\n * is transient, imperative, and stacks in a corner) this stays put for as long\n * as the condition holds, so the consumer controls its presence by rendering it\n * or not.\n *\n * Colors mirror `status-pill`: a tinted background with accent-colored text.\n * Announced to assistive tech via `role=\"status\"` (or `role=\"alert\"` for the\n * `danger` variant, matching `toast-notification`'s split).\n *\n * @element status-banner\n * @slot - The message text.\n * @slot actions - Optional trailing controls, e.g. a \"Retry\" button.\n */\n@customElement(\"status-banner\")\nexport class StatusBanner extends LitElement {\n static override styles = [\n tokens,\n css`\n :host {\n display: block;\n }\n .bar {\n display: flex;\n align-items: center;\n justify-content: center;\n gap: 0.5rem;\n padding: 0.5rem 0.75rem;\n /* Deliberately taller than the 2rem control target: this is a passive\n page-level notice competing with real content, so it needs presence.\n Expressed against the type token so it keeps the 4x relationship if a\n consumer scales the font. */\n min-height: calc(var(--ui-font-size-sm, 0.75rem) * 4);\n box-sizing: border-box;\n font-family: var(\n --ui-font,\n ui-sans-serif,\n system-ui,\n sans-serif,\n \"Apple Color Emoji\",\n \"Segoe UI Emoji\",\n \"Segoe UI Symbol\",\n \"Noto Color Emoji\"\n );\n font-size: var(--ui-font-size-sm, 0.75rem);\n line-height: var(--ui-line-height-normal, 1.5);\n }\n /* Keep the message centered while actions sit at the trailing edge. */\n .message {\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n text-align: center;\n }\n .actions {\n margin-left: auto;\n display: inline-flex;\n align-items: center;\n gap: 0.25rem;\n }\n .icon {\n display: inline-flex;\n line-height: 0;\n }\n .bar.neutral {\n background: color-mix(in srgb, var(--ui-text-muted, #64748b) 15%, transparent);\n color: var(--ui-text-muted, #64748b);\n }\n .bar.info {\n background: color-mix(in srgb, var(--ui-info, #0ea5e9) 15%, transparent);\n color: var(--ui-info, #0ea5e9);\n }\n .bar.success {\n background: color-mix(in srgb, var(--ui-success, #16a34a) 15%, transparent);\n color: var(--ui-success, #16a34a);\n }\n .bar.warning {\n background: color-mix(in srgb, var(--ui-warning, #d97706) 15%, transparent);\n color: var(--ui-warning, #d97706);\n }\n .bar.danger {\n background: color-mix(in srgb, var(--ui-danger, #dc2626) 15%, transparent);\n color: var(--ui-danger, #dc2626);\n }\n @media (forced-colors: active) {\n .bar {\n border-bottom: 1px solid CanvasText;\n }\n }\n `,\n ];\n\n /** Visual style; also selects the accent color. */\n @property({ reflect: true }) variant: StatusBannerVariant = \"info\";\n\n /**\n * Optional leading icon, pre-rendered by the consumer (e.g. `iconInfo(14)`),\n * matching `nav-item`/`icon-button` — icons are passed in, not named, so the\n * component never has to know the icon catalog.\n */\n @property({ attribute: false }) icon: TemplateResult | null = null;\n\n override render() {\n return html`\n <div class=\"bar ${this.variant}\" role=${this.variant === \"danger\" ? \"alert\" : \"status\"}>\n <span class=\"message\">\n ${this.icon ? html`<span class=\"icon\">${this.icon}</span>` : nothing}\n <slot></slot>\n </span>\n <span class=\"actions\"><slot name=\"actions\"></slot></span>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"status-banner\": StatusBanner;\n }\n}\n"]}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { LitElement } from "lit";
|
|
2
|
+
/** Fired when the active tab changes in response to user interaction. */
|
|
3
|
+
export interface TabChangeDetail {
|
|
4
|
+
/** The newly active `tab-item`'s `value` (falling back to its `label`). */
|
|
5
|
+
value: string;
|
|
6
|
+
/** Index of the newly active `tab-item` among its siblings. */
|
|
7
|
+
index: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* WAI-ARIA tabs pattern (automatic activation, roving tabindex) driving a
|
|
11
|
+
* strip of declarative `tab-item` children. `tab-bar` renders the `role="tab"`
|
|
12
|
+
* button strip itself, reading `label`/`value`/`selected` off each slotted
|
|
13
|
+
* `tab-item`; each `tab-item` owns its own visibility via its reflected
|
|
14
|
+
* `selected` attribute.
|
|
15
|
+
*
|
|
16
|
+
* The active tab's underline uses `--ui-primary`; a `--ui-border` line spans
|
|
17
|
+
* the full strip beneath every tab, standing in for the inactive state since
|
|
18
|
+
* this design system has no dedicated secondary accent color.
|
|
19
|
+
*
|
|
20
|
+
* @element tab-bar
|
|
21
|
+
* @slot - `tab-item` elements.
|
|
22
|
+
* @fires change - The active tab changed via click or keyboard; detail: `TabChangeDetail`.
|
|
23
|
+
*/
|
|
24
|
+
export declare class TabBar extends LitElement {
|
|
25
|
+
/** Accessible name for the tablist (e.g. "Editor mode"). */
|
|
26
|
+
label: string;
|
|
27
|
+
private readonly _tabItems;
|
|
28
|
+
private _version;
|
|
29
|
+
private readonly _uid;
|
|
30
|
+
private _observer?;
|
|
31
|
+
static styles: import("lit").CSSResult[];
|
|
32
|
+
connectedCallback(): void;
|
|
33
|
+
disconnectedCallback(): void;
|
|
34
|
+
protected updated(): void;
|
|
35
|
+
private _handleSlotChange;
|
|
36
|
+
/** Defaults the first tab-item to selected if none was marked so by the consumer. */
|
|
37
|
+
private _ensureSelection;
|
|
38
|
+
private _currentIndex;
|
|
39
|
+
private _tabButtonId;
|
|
40
|
+
private _select;
|
|
41
|
+
private _focusButton;
|
|
42
|
+
/** Arrow/Home/End roving-tabindex navigation with automatic activation. */
|
|
43
|
+
private _onKeydown;
|
|
44
|
+
render(): import("lit-html").TemplateResult<1>;
|
|
45
|
+
}
|
|
46
|
+
declare global {
|
|
47
|
+
interface HTMLElementTagNameMap {
|
|
48
|
+
"tab-bar": TabBar;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=tab-bar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab-bar.d.ts","sourceRoot":"","sources":["../src/tab-bar.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAQrD,yEAAyE;AACzE,MAAM,WAAW,eAAe;IAC9B,2EAA2E;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;;;;GAcG;AACH,qBACa,MAAO,SAAQ,UAAU;IACpC,4DAA4D;IAChD,KAAK,SAAM;IAGvB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IAE9B,OAAO,CAAC,QAAQ,CAAK;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgC;IACrD,OAAO,CAAC,SAAS,CAAC,CAAmB;IAErC,OAAgB,MAAM,4BA8DpB;IAEO,iBAAiB,IAAI,IAAI,CAYjC;IAEQ,oBAAoB,IAAI,IAAI,CAIpC;IAED,UAAmB,OAAO,IAAI,IAAI,CAIjC;IAED,OAAO,CAAC,iBAAiB;IAKzB,qFAAqF;IACrF,OAAO,CAAC,gBAAgB;IAOxB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,YAAY;IAMpB,2EAA2E;IAC3E,OAAO,CAAC,UAAU;IA2BT,MAAM,yCA+Bd;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,SAAS,EAAE,MAAM,CAAC;KACnB;CACF"}
|