@threadlabs/looma 0.10.12 → 0.11.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.
Files changed (154) hide show
  1. package/components/shared/editor.js +2 -26
  2. package/components/shared/icons.js +53 -0
  3. package/components/ui-action-bar/ui-action-bar.html +72 -0
  4. package/components/ui-avatar-group/ui-avatar-group.html +6 -6
  5. package/components/ui-avatar-group/ui-avatar-group.js +1 -1
  6. package/components/ui-breadcrumb-item/ui-breadcrumb-item.html +60 -0
  7. package/components/ui-breadcrumbs/ui-breadcrumbs.html +31 -0
  8. package/components/ui-card/ui-card.html +55 -0
  9. package/components/ui-combobox/ui-combobox.js +2 -2
  10. package/components/ui-context-menu/ui-context-menu.js +4 -4
  11. package/components/ui-cover/ui-cover.html +36 -0
  12. package/components/ui-description-item/ui-description-item.html +46 -0
  13. package/components/ui-description-list/ui-description-list.html +37 -0
  14. package/components/ui-icon/ui-icon.js +1 -1
  15. package/components/ui-menu/ui-menu.js +3 -3
  16. package/components/ui-page-header/ui-page-header.html +97 -0
  17. package/components/ui-radio/ui-radio.js +1 -1
  18. package/components/ui-radio-group/ui-radio-group.js +1 -1
  19. package/components/ui-section/ui-section.html +108 -0
  20. package/components/ui-spinner/ui-spinner.html +48 -0
  21. package/components/ui-status-message/ui-status-message.html +84 -0
  22. package/components/ui-text/ui-text.html +96 -0
  23. package/components/ui-tree/ui-tree.js +2 -2
  24. package/components/ui-tree-item/ui-tree-item.js +3 -3
  25. package/dist/index.js +1 -1
  26. package/editor/icons.d.ts +5 -0
  27. package/editor/index.js +6 -1
  28. package/package.json +1 -1
  29. package/styles/ui-action-bar.css +77 -0
  30. package/styles/ui-avatar-group.css +6 -6
  31. package/styles/ui-breadcrumb-item.css +57 -0
  32. package/styles/ui-breadcrumbs.css +32 -0
  33. package/styles/ui-card.css +51 -0
  34. package/styles/ui-cover.css +35 -0
  35. package/styles/ui-description-item.css +43 -0
  36. package/styles/ui-description-list.css +38 -0
  37. package/styles/ui-page-header.css +89 -0
  38. package/styles/ui-section.css +94 -0
  39. package/styles/ui-spinner.css +42 -0
  40. package/styles/ui-status-message.css +72 -0
  41. package/styles/ui-text.css +85 -0
  42. package/vanilla/UiActionBar.d.ts +13 -0
  43. package/vanilla/UiActionBar.js +59 -0
  44. package/vanilla/UiBreadcrumbItem.d.ts +14 -0
  45. package/vanilla/UiBreadcrumbItem.js +38 -0
  46. package/vanilla/UiBreadcrumbs.d.ts +14 -0
  47. package/vanilla/UiBreadcrumbs.js +39 -0
  48. package/vanilla/UiCard.d.ts +17 -0
  49. package/vanilla/UiCard.js +32 -0
  50. package/vanilla/UiCover.d.ts +14 -0
  51. package/vanilla/UiCover.js +28 -0
  52. package/vanilla/UiDescriptionItem.d.ts +14 -0
  53. package/vanilla/UiDescriptionItem.js +39 -0
  54. package/vanilla/UiDescriptionList.d.ts +14 -0
  55. package/vanilla/UiDescriptionList.js +28 -0
  56. package/vanilla/UiPageHeader.d.ts +14 -0
  57. package/vanilla/UiPageHeader.js +78 -0
  58. package/vanilla/UiSection.d.ts +16 -0
  59. package/vanilla/UiSection.js +64 -0
  60. package/vanilla/UiSpinner.d.ts +15 -0
  61. package/vanilla/UiSpinner.js +23 -0
  62. package/vanilla/UiStatusMessage.d.ts +16 -0
  63. package/vanilla/UiStatusMessage.js +53 -0
  64. package/vanilla/UiText.d.ts +20 -0
  65. package/vanilla/UiText.js +38 -0
  66. package/vanilla/index.js +12 -0
  67. package/vue/UiActionBar.d.ts +19 -0
  68. package/vue/UiActionBar.js +2 -0
  69. package/vue/UiActionBar.vue +77 -0
  70. package/vue/UiAvatarGroup.vue +6 -6
  71. package/vue/UiBreadcrumbItem.d.ts +18 -0
  72. package/vue/UiBreadcrumbItem.js +2 -0
  73. package/vue/UiBreadcrumbItem.vue +101 -0
  74. package/vue/UiBreadcrumbs.d.ts +18 -0
  75. package/vue/UiBreadcrumbs.js +2 -0
  76. package/vue/UiBreadcrumbs.vue +45 -0
  77. package/vue/UiCard.d.ts +24 -0
  78. package/vue/UiCard.js +2 -0
  79. package/vue/UiCard.vue +82 -0
  80. package/vue/UiCombobox.d.ts +1 -1
  81. package/vue/UiCover.d.ts +18 -0
  82. package/vue/UiCover.js +2 -0
  83. package/vue/UiCover.vue +57 -0
  84. package/vue/UiDescriptionItem.d.ts +18 -0
  85. package/vue/UiDescriptionItem.js +2 -0
  86. package/vue/UiDescriptionItem.vue +58 -0
  87. package/vue/UiDescriptionList.d.ts +18 -0
  88. package/vue/UiDescriptionList.js +2 -0
  89. package/vue/UiDescriptionList.vue +62 -0
  90. package/vue/UiIconButton.d.ts +1 -1
  91. package/vue/UiPageHeader.d.ts +26 -0
  92. package/vue/UiPageHeader.js +2 -0
  93. package/vue/UiPageHeader.vue +118 -0
  94. package/vue/UiRadioGroup.d.ts +1 -1
  95. package/vue/UiSection.d.ts +26 -0
  96. package/vue/UiSection.js +2 -0
  97. package/vue/UiSection.vue +128 -0
  98. package/vue/UiSpinner.d.ts +10 -0
  99. package/vue/UiSpinner.js +2 -0
  100. package/vue/UiSpinner.vue +87 -0
  101. package/vue/UiStatusMessage.d.ts +24 -0
  102. package/vue/UiStatusMessage.js +2 -0
  103. package/vue/UiStatusMessage.vue +121 -0
  104. package/vue/UiText.d.ts +30 -0
  105. package/vue/UiText.js +2 -0
  106. package/vue/UiText.vue +125 -0
  107. package/vue/chunks/UiActionBar.js +24 -0
  108. package/vue/chunks/UiAffordanceScope.js +1 -1
  109. package/vue/chunks/UiAvatar.js +1 -1
  110. package/vue/chunks/UiAvatarGroup.js +2 -2
  111. package/vue/chunks/UiBreadcrumbItem.js +50 -0
  112. package/vue/chunks/UiBreadcrumbs.js +19 -0
  113. package/vue/chunks/UiCard.js +31 -0
  114. package/vue/chunks/UiCheckbox.js +1 -1
  115. package/vue/chunks/UiCombobox.js +1 -1
  116. package/vue/chunks/UiContextMenu.js +1 -1
  117. package/vue/chunks/UiCover.js +21 -0
  118. package/vue/chunks/UiDescriptionItem.js +16 -0
  119. package/vue/chunks/UiDescriptionList.js +21 -0
  120. package/vue/chunks/UiDialog.js +1 -1
  121. package/vue/chunks/UiDisclosure.js +1 -1
  122. package/vue/chunks/UiEditable.js +1 -1
  123. package/vue/chunks/UiEditorInsertTableGrid.js +1 -1
  124. package/vue/chunks/UiEditorMentionMenu.js +1 -1
  125. package/vue/chunks/UiEditorSlashMenu.js +1 -1
  126. package/vue/chunks/UiEditorTableContextMenu.js +1 -1
  127. package/vue/chunks/UiEditorTableOverlay.js +1 -1
  128. package/vue/chunks/UiEditorTableToolbar.js +1 -1
  129. package/vue/chunks/UiFormField.js +1 -1
  130. package/vue/chunks/UiIcon.js +1 -1
  131. package/vue/chunks/UiIconButton.js +1 -1
  132. package/vue/chunks/UiInput.js +1 -1
  133. package/vue/chunks/UiMenu.js +1 -1
  134. package/vue/chunks/UiPageHeader.js +35 -0
  135. package/vue/chunks/UiPopover.js +1 -1
  136. package/vue/chunks/UiRadio.js +1 -1
  137. package/vue/chunks/UiRadioGroup.js +1 -1
  138. package/vue/chunks/UiSearchShell.js +1 -1
  139. package/vue/chunks/UiSection.js +34 -0
  140. package/vue/chunks/UiSelect.js +1 -1
  141. package/vue/chunks/UiSidebar.js +1 -1
  142. package/vue/chunks/UiSpinner.js +64 -0
  143. package/vue/chunks/UiStatusMessage.js +54 -0
  144. package/vue/chunks/UiSwitch.js +1 -1
  145. package/vue/chunks/UiTabs.js +1 -1
  146. package/vue/chunks/UiText.js +40 -0
  147. package/vue/chunks/UiTextarea.js +1 -1
  148. package/vue/chunks/UiToastRegion.js +1 -1
  149. package/vue/chunks/UiTooltip.js +1 -1
  150. package/vue/chunks/UiTree.js +1 -1
  151. package/vue/chunks/UiTreeItem.js +1 -1
  152. package/vue/components.css +577 -29
  153. package/vue/index.d.ts +12 -0
  154. package/vue/index.js +14 -2
@@ -0,0 +1,72 @@
1
+ /* Generated by HTML Next 1.0.0-alpha.5. Do not edit. */
2
+ @scope ([data-component~="ui-status-message"]) to ([data-component], [data-slotted]) {
3
+ /* The one way a view says it is loading, has nothing yet, or failed, with an optional next step.
4
+ Every view says it the same way, in the same place, at the same size. */
5
+ :scope {
6
+ display: flex;
7
+ flex-wrap: wrap;
8
+ align-items: center;
9
+ gap: var(--ui-space-2) var(--ui-space-4);
10
+ padding-block: var(--ui-space-4);
11
+ color: var(--ui-text-muted);
12
+ font-size: var(--ui-font-size-md);
13
+ line-height: var(--ui-line-height);
14
+ }
15
+
16
+ :scope[data-ui-status-message-state~="kind=error"] {
17
+ color: var(--ui-danger);
18
+ }
19
+
20
+ :scope[data-ui-status-message-state~="layout=panel"] {
21
+ padding: var(--ui-space-6);
22
+ border: 1px dashed var(--ui-border-default);
23
+ border-radius: var(--ui-radius-lg);
24
+ }
25
+
26
+ :scope[data-ui-status-message-state~="layout=fill"] {
27
+ flex: 1;
28
+ flex-direction: column;
29
+ justify-content: center;
30
+ min-block-size: 50vh;
31
+ text-align: center;
32
+ }
33
+
34
+ .copy {
35
+ display: flex;
36
+ flex: 1 1 12rem;
37
+ flex-direction: column;
38
+ gap: var(--ui-space-1);
39
+ min-inline-size: 0;
40
+ }
41
+
42
+ :scope[data-ui-status-message-state~="layout=fill"] .copy {
43
+ flex: none;
44
+ align-items: center;
45
+ }
46
+
47
+ .heading {
48
+ color: var(--ui-text-primary);
49
+ font-weight: var(--ui-font-semibold);
50
+ }
51
+
52
+ .action {
53
+ display: inline-flex;
54
+ flex-wrap: wrap;
55
+ gap: var(--ui-space-2);
56
+ }
57
+
58
+ .action:empty {
59
+ display: none;
60
+ }
61
+
62
+ /* A component that sets its display still honours the hidden attribute on its root. */
63
+ :scope[hidden] {
64
+ display: none;
65
+ }
66
+ }
67
+ @scope ([data-component~="ui-status-message"]) to ([data-component]) {
68
+ /* The one way a view says it is loading, has nothing yet, or failed, with an optional next step.
69
+ Every view says it the same way, in the same place, at the same size. */
70
+
71
+ /* A component that sets its display still honours the hidden attribute on its root. */
72
+ }
@@ -0,0 +1,85 @@
1
+ /* Generated by HTML Next 1.0.0-alpha.5. Do not edit. */
2
+ @scope ([data-component~="ui-text"]) to ([data-component], [data-slotted]) {
3
+ /* Running text, set on the type scale and in a tone that says what it is, so a view never styles
4
+ text of its own. The root is a paragraph unless as= names a span, div, small, strong, or label. */
5
+ :scope {
6
+ margin: 0;
7
+ min-inline-size: 0;
8
+ color: var(--ui-text-primary);
9
+ text-align: start;
10
+ }
11
+
12
+ :scope[data-ui-text-state~="size=xs"] {
13
+ font-size: var(--ui-font-size-xs);
14
+ line-height: var(--ui-line-height);
15
+ }
16
+ :scope[data-ui-text-state~="size=sm"] {
17
+ font-size: var(--ui-font-size-sm);
18
+ line-height: var(--ui-line-height);
19
+ }
20
+ :scope[data-ui-text-state~="size=md"] {
21
+ font-size: var(--ui-font-size-md);
22
+ line-height: var(--ui-line-height);
23
+ }
24
+ :scope[data-ui-text-state~="size=lg"] {
25
+ font-size: var(--ui-font-size-lg);
26
+ line-height: var(--ui-line-height-relaxed);
27
+ }
28
+
29
+ :scope[data-ui-text-state~="tone=secondary"] {
30
+ color: var(--ui-text-secondary);
31
+ }
32
+ :scope[data-ui-text-state~="tone=muted"] {
33
+ color: var(--ui-text-muted);
34
+ }
35
+ :scope[data-ui-text-state~="tone=accent"] {
36
+ color: var(--ui-accent-active);
37
+ }
38
+ :scope[data-ui-text-state~="tone=danger"] {
39
+ color: var(--ui-danger);
40
+ }
41
+ :scope[data-ui-text-state~="tone=success"] {
42
+ color: var(--ui-success);
43
+ }
44
+
45
+ :scope[data-ui-text-state~="weight=normal"] {
46
+ font-weight: var(--ui-font-normal);
47
+ }
48
+ :scope[data-ui-text-state~="weight=medium"] {
49
+ font-weight: var(--ui-font-medium);
50
+ }
51
+ :scope[data-ui-text-state~="weight=semibold"] {
52
+ font-weight: var(--ui-font-semibold);
53
+ }
54
+
55
+ :scope[data-ui-text-state~="variant=eyebrow"] {
56
+ font-size: var(--ui-font-size-xs);
57
+ font-weight: var(--ui-font-semibold);
58
+ letter-spacing: 0.06em;
59
+ text-transform: uppercase;
60
+ }
61
+ :scope[data-ui-text-state~="variant=code"] {
62
+ font-family: var(--ui-font-family-mono);
63
+ }
64
+
65
+ :scope[data-ui-text-state~="truncate"] {
66
+ overflow: hidden;
67
+ text-overflow: ellipsis;
68
+ white-space: nowrap;
69
+ }
70
+
71
+ :scope[data-ui-text-state~="align=center"] {
72
+ text-align: center;
73
+ }
74
+
75
+ /* A component that sets its display still honours the hidden attribute on its root. */
76
+ :scope[hidden] {
77
+ display: none;
78
+ }
79
+ }
80
+ @scope ([data-component~="ui-text"]) to ([data-component]) {
81
+ /* Running text, set on the type scale and in a tone that says what it is, so a view never styles
82
+ text of its own. The root is a paragraph unless as= names a span, div, small, strong, or label. */
83
+
84
+ /* A component that sets its display still honours the hidden attribute on its root. */
85
+ }
@@ -0,0 +1,13 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ export interface UiActionBarEventMap {
3
+ }
4
+ export interface UiActionBarElement extends HTMLDivElement {
5
+ addEventListener<K extends keyof UiActionBarEventMap>(type: K, listener: (this: UiActionBarElement, event: UiActionBarEventMap[K]) => unknown, options?: boolean | AddEventListenerOptions): void;
6
+ removeEventListener<K extends keyof UiActionBarEventMap>(type: K, listener: (this: UiActionBarElement, event: UiActionBarEventMap[K]) => unknown, options?: boolean | EventListenerOptions): void;
7
+ }
8
+ export interface UiActionBarProps {
9
+ attributes?: Readonly<Record<string, string | number | boolean | null | undefined>>;
10
+ children?: readonly (string | Node)[];
11
+ slots?: Readonly<Record<string, readonly (string | Node)[]>>;
12
+ }
13
+ export declare function createUiActionBar(props?: UiActionBarProps): UiActionBarElement;
@@ -0,0 +1,59 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ import "../styles/ui-action-bar.css";
3
+
4
+ export function createUiActionBar(options = {}) {
5
+ const { attributes = {}, children = [], slots = {}, as } = options;
6
+ const projected = [];
7
+ const element = document.createElement("div");
8
+ for (const [name, value] of Object.entries(attributes)) {
9
+ if (value === null || value === undefined || value === false) continue;
10
+ element.setAttribute(name, value === true ? "" : String(value));
11
+ }
12
+ element.setAttribute("data-component", "ui-action-bar");
13
+ const element0 = document.createElement("div");
14
+ element0.setAttribute("class", "bar");
15
+ const element1 = document.createElement("span");
16
+ element1.setAttribute("class", "tertiary");
17
+ if (slots["tertiary"] ?? [].length > 0) {
18
+ for (const child of slots["tertiary"] ?? []) {
19
+ const node = typeof child === "string" ? document.createTextNode(child) : child;
20
+ projected.push([node, "tertiary"]);
21
+ element1.append(node);
22
+ }
23
+ } else {
24
+ }
25
+ element0.append(element1);
26
+ const element2 = document.createElement("span");
27
+ element2.setAttribute("class", "secondary");
28
+ if (slots["secondary"] ?? [].length > 0) {
29
+ for (const child of slots["secondary"] ?? []) {
30
+ const node = typeof child === "string" ? document.createTextNode(child) : child;
31
+ projected.push([node, "secondary"]);
32
+ element2.append(node);
33
+ }
34
+ } else {
35
+ }
36
+ if (children.length > 0) {
37
+ for (const child of children) {
38
+ const node = typeof child === "string" ? document.createTextNode(child) : child;
39
+ projected.push([node, ""]);
40
+ element2.append(node);
41
+ }
42
+ } else {
43
+ }
44
+ element0.append(element2);
45
+ const element3 = document.createElement("span");
46
+ element3.setAttribute("class", "primary");
47
+ if (slots["primary"] ?? [].length > 0) {
48
+ for (const child of slots["primary"] ?? []) {
49
+ const node = typeof child === "string" ? document.createTextNode(child) : child;
50
+ projected.push([node, "primary"]);
51
+ element3.append(node);
52
+ }
53
+ } else {
54
+ }
55
+ element0.append(element3);
56
+ element.append(element0);
57
+ return element;
58
+ }
59
+
@@ -0,0 +1,14 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ export interface UiBreadcrumbItemEventMap {
3
+ }
4
+ export interface UiBreadcrumbItemElement extends HTMLLIElement {
5
+ addEventListener<K extends keyof UiBreadcrumbItemEventMap>(type: K, listener: (this: UiBreadcrumbItemElement, event: UiBreadcrumbItemEventMap[K]) => unknown, options?: boolean | AddEventListenerOptions): void;
6
+ removeEventListener<K extends keyof UiBreadcrumbItemEventMap>(type: K, listener: (this: UiBreadcrumbItemElement, event: UiBreadcrumbItemEventMap[K]) => unknown, options?: boolean | EventListenerOptions): void;
7
+ }
8
+ export interface UiBreadcrumbItemProps {
9
+ current?: boolean | null;
10
+ attributes?: Readonly<Record<string, string | number | boolean | null | undefined>>;
11
+ children?: readonly (string | Node)[];
12
+ slots?: Readonly<Record<string, readonly (string | Node)[]>>;
13
+ }
14
+ export declare function createUiBreadcrumbItem(props?: UiBreadcrumbItemProps): UiBreadcrumbItemElement;
@@ -0,0 +1,38 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ import { manageComponentLifecycle } from "@nextwebwg/html-next/runtime";
3
+ import "../styles/ui-breadcrumb-item.css";
4
+
5
+ const definition = {...{"contract":{"tag":"ui-breadcrumb-item","props":{"current":{"type":"boolean","required":false,"target":{"attribute":"current"},"default":false}}},"template":{"kind":"element","name":"li","attributes":[{"kind":"attribute","name":"aria-current","expression":"{ true: 'page', false: null }[format('%s', current)]","expressionPlan":{"source":"{ true: 'page', false: null }[format('%s', current)]","ast":{"kind":"index","object":{"kind":"object","pairs":[{"key":"true","value":{"kind":"literal","value":"page"}},{"key":"false","value":{"kind":"literal","value":null}}]},"index":{"kind":"call","fn":"format","args":[{"kind":"literal","value":"%s"},{"kind":"id","name":"current"}]}},"dependencies":["current"]}}],"children":[{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"separator"},{"kind":"literal","name":"aria-hidden","value":"true"}],"children":[{"kind":"element","name":"ui-icon","attributes":[{"kind":"literal","name":"name","value":"chevron-right"}],"children":[]}]},{"kind":"element","name":"span","attributes":[{"kind":"literal","name":"class","value":"content"}],"children":[{"kind":"slot"}]}]},"declarations":[],"root":{"kind":"native","element":"li","choices":["li"]}},source:{file:import.meta.url},css:""};
6
+
7
+ export function createUiBreadcrumbItem(options = {}) {
8
+ const { attributes = {}, children = [], slots = {}, as, ...componentProps } = options;
9
+ const projected = [];
10
+ const element = document.createElement("li");
11
+ for (const [name, value] of Object.entries(attributes)) {
12
+ if (value === null || value === undefined || value === false) continue;
13
+ element.setAttribute(name, value === true ? "" : String(value));
14
+ }
15
+ element.setAttribute("data-component", "ui-breadcrumb-item");
16
+ const element0 = document.createElement("span");
17
+ element0.setAttribute("class", "separator");
18
+ element0.setAttribute("aria-hidden", "true");
19
+ const element1 = document.createElement("ui-icon");
20
+ element1.setAttribute("name", "chevron-right");
21
+ element0.append(element1);
22
+ element.append(element0);
23
+ const element2 = document.createElement("span");
24
+ element2.setAttribute("class", "content");
25
+ if (children.length > 0) {
26
+ for (const child of children) {
27
+ const node = typeof child === "string" ? document.createTextNode(child) : child;
28
+ projected.push([node, ""]);
29
+ element2.append(node);
30
+ }
31
+ } else {
32
+ }
33
+ element.append(element2);
34
+ manageComponentLifecycle(element, definition, { props: componentProps, projected,
35
+ });
36
+ return element;
37
+ }
38
+
@@ -0,0 +1,14 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ export interface UiBreadcrumbsEventMap {
3
+ }
4
+ export interface UiBreadcrumbsElement extends HTMLElement {
5
+ addEventListener<K extends keyof UiBreadcrumbsEventMap>(type: K, listener: (this: UiBreadcrumbsElement, event: UiBreadcrumbsEventMap[K]) => unknown, options?: boolean | AddEventListenerOptions): void;
6
+ removeEventListener<K extends keyof UiBreadcrumbsEventMap>(type: K, listener: (this: UiBreadcrumbsElement, event: UiBreadcrumbsEventMap[K]) => unknown, options?: boolean | EventListenerOptions): void;
7
+ }
8
+ export interface UiBreadcrumbsProps {
9
+ label?: string | null;
10
+ attributes?: Readonly<Record<string, string | number | boolean | null | undefined>>;
11
+ children?: readonly (string | Node)[];
12
+ slots?: Readonly<Record<string, readonly (string | Node)[]>>;
13
+ }
14
+ export declare function createUiBreadcrumbs(props?: UiBreadcrumbsProps): UiBreadcrumbsElement;
@@ -0,0 +1,39 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ import { manageGeneratedProps } from "@nextwebwg/html-next/generated-runtime";
3
+ import "../styles/ui-breadcrumbs.css";
4
+
5
+ export function createUiBreadcrumbs(options = {}) {
6
+ const { attributes = {}, children = [], slots = {}, as, ...componentProps } = options;
7
+ const projected = [];
8
+ const prop0 = componentProps["label"] === undefined ? "Breadcrumb" : componentProps["label"];
9
+ const element = document.createElement("nav");
10
+ for (const [name, value] of Object.entries(attributes)) {
11
+ if (value === null || value === undefined || value === false) continue;
12
+ element.setAttribute(name, value === true ? "" : String(value));
13
+ }
14
+ const value0 = prop0;
15
+ if (value0 === null || value0 === undefined) element.removeAttribute("aria-label");
16
+ else element.setAttribute("aria-label", String(value0));
17
+ element.setAttribute("data-component", "ui-breadcrumbs");
18
+ const element0 = document.createElement("ol");
19
+ element0.setAttribute("role", "list");
20
+ if (children.length > 0) {
21
+ for (const child of children) {
22
+ const node = typeof child === "string" ? document.createTextNode(child) : child;
23
+ projected.push([node, ""]);
24
+ element0.append(node);
25
+ }
26
+ } else {
27
+ }
28
+ element.append(element0);
29
+ manageGeneratedProps(element, [
30
+ { name: "label", attribute: "data-label", value: componentProps["label"], default: "Breadcrumb", type: "string", required: false },
31
+ ], (name, value) => {
32
+ if (name === "label") {
33
+ if (value === null || value === undefined) element.removeAttribute("aria-label");
34
+ else element.setAttribute("aria-label", String(value));
35
+ }
36
+ });
37
+ return element;
38
+ }
39
+
@@ -0,0 +1,17 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ export interface UiCardEventMap {
3
+ }
4
+ export interface UiCardElement extends HTMLDivElement {
5
+ addEventListener<K extends keyof UiCardEventMap>(type: K, listener: (this: UiCardElement, event: UiCardEventMap[K]) => unknown, options?: boolean | AddEventListenerOptions): void;
6
+ removeEventListener<K extends keyof UiCardEventMap>(type: K, listener: (this: UiCardElement, event: UiCardEventMap[K]) => unknown, options?: boolean | EventListenerOptions): void;
7
+ }
8
+ export interface UiCardProps {
9
+ padding?: "sm" | "md" | "lg" | null;
10
+ tone?: "neutral" | "danger" | null;
11
+ variant?: "outlined" | "subtle" | "elevated" | null;
12
+ attributes?: Readonly<Record<string, string | number | boolean | null | undefined>>;
13
+ children?: readonly (string | Node)[];
14
+ slots?: Readonly<Record<string, readonly (string | Node)[]>>;
15
+ as?: "div" | "section" | "article" | "aside";
16
+ }
17
+ export declare function createUiCard(props?: UiCardProps): UiCardElement;
@@ -0,0 +1,32 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ import { manageGeneratedProps } from "@nextwebwg/html-next/generated-runtime";
3
+ import "../styles/ui-card.css";
4
+
5
+ export function createUiCard(options = {}) {
6
+ const { attributes = {}, children = [], slots = {}, as, ...componentProps } = options;
7
+ const projected = [];
8
+ const prop0 = componentProps["padding"] === undefined ? "md" : componentProps["padding"];
9
+ const prop1 = componentProps["tone"] === undefined ? "neutral" : componentProps["tone"];
10
+ const prop2 = componentProps["variant"] === undefined ? "outlined" : componentProps["variant"];
11
+ const element = document.createElement(as ?? "div");
12
+ for (const [name, value] of Object.entries(attributes)) {
13
+ if (value === null || value === undefined || value === false) continue;
14
+ element.setAttribute(name, value === true ? "" : String(value));
15
+ }
16
+ element.setAttribute("data-component", "ui-card");
17
+ if (children.length > 0) {
18
+ for (const child of children) {
19
+ const node = typeof child === "string" ? document.createTextNode(child) : child;
20
+ projected.push([node, ""]);
21
+ element.append(node);
22
+ }
23
+ } else {
24
+ }
25
+ manageGeneratedProps(element, [
26
+ { name: "padding", attribute: "data-padding", value: componentProps["padding"], default: "md", type: ["sm","md","lg"], required: false },
27
+ { name: "tone", attribute: "data-tone", value: componentProps["tone"], default: "neutral", type: ["neutral","danger"], required: false },
28
+ { name: "variant", attribute: "data-variant", value: componentProps["variant"], default: "outlined", type: ["outlined","subtle","elevated"], required: false },
29
+ ]);
30
+ return element;
31
+ }
32
+
@@ -0,0 +1,14 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ export interface UiCoverEventMap {
3
+ }
4
+ export interface UiCoverElement extends HTMLDivElement {
5
+ addEventListener<K extends keyof UiCoverEventMap>(type: K, listener: (this: UiCoverElement, event: UiCoverEventMap[K]) => unknown, options?: boolean | AddEventListenerOptions): void;
6
+ removeEventListener<K extends keyof UiCoverEventMap>(type: K, listener: (this: UiCoverElement, event: UiCoverEventMap[K]) => unknown, options?: boolean | EventListenerOptions): void;
7
+ }
8
+ export interface UiCoverProps {
9
+ size?: "screen" | "fill" | null;
10
+ attributes?: Readonly<Record<string, string | number | boolean | null | undefined>>;
11
+ children?: readonly (string | Node)[];
12
+ slots?: Readonly<Record<string, readonly (string | Node)[]>>;
13
+ }
14
+ export declare function createUiCover(props?: UiCoverProps): UiCoverElement;
@@ -0,0 +1,28 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ import { manageGeneratedProps } from "@nextwebwg/html-next/generated-runtime";
3
+ import "../styles/ui-cover.css";
4
+
5
+ export function createUiCover(options = {}) {
6
+ const { attributes = {}, children = [], slots = {}, as, ...componentProps } = options;
7
+ const projected = [];
8
+ const prop0 = componentProps["size"] === undefined ? "screen" : componentProps["size"];
9
+ const element = document.createElement("div");
10
+ for (const [name, value] of Object.entries(attributes)) {
11
+ if (value === null || value === undefined || value === false) continue;
12
+ element.setAttribute(name, value === true ? "" : String(value));
13
+ }
14
+ element.setAttribute("data-component", "ui-cover");
15
+ if (children.length > 0) {
16
+ for (const child of children) {
17
+ const node = typeof child === "string" ? document.createTextNode(child) : child;
18
+ projected.push([node, ""]);
19
+ element.append(node);
20
+ }
21
+ } else {
22
+ }
23
+ manageGeneratedProps(element, [
24
+ { name: "size", attribute: "data-size", value: componentProps["size"], default: "screen", type: ["screen","fill"], required: false },
25
+ ]);
26
+ return element;
27
+ }
28
+
@@ -0,0 +1,14 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ export interface UiDescriptionItemEventMap {
3
+ }
4
+ export interface UiDescriptionItemElement extends HTMLDivElement {
5
+ addEventListener<K extends keyof UiDescriptionItemEventMap>(type: K, listener: (this: UiDescriptionItemElement, event: UiDescriptionItemEventMap[K]) => unknown, options?: boolean | AddEventListenerOptions): void;
6
+ removeEventListener<K extends keyof UiDescriptionItemEventMap>(type: K, listener: (this: UiDescriptionItemElement, event: UiDescriptionItemEventMap[K]) => unknown, options?: boolean | EventListenerOptions): void;
7
+ }
8
+ export interface UiDescriptionItemProps {
9
+ term?: string | null;
10
+ attributes?: Readonly<Record<string, string | number | boolean | null | undefined>>;
11
+ children?: readonly (string | Node)[];
12
+ slots?: Readonly<Record<string, readonly (string | Node)[]>>;
13
+ }
14
+ export declare function createUiDescriptionItem(props?: UiDescriptionItemProps): UiDescriptionItemElement;
@@ -0,0 +1,39 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ import { manageGeneratedProps } from "@nextwebwg/html-next/generated-runtime";
3
+ import "../styles/ui-description-item.css";
4
+
5
+ export function createUiDescriptionItem(options = {}) {
6
+ const { attributes = {}, children = [], slots = {}, as, ...componentProps } = options;
7
+ const projected = [];
8
+ const prop0 = componentProps["term"] === undefined ? "" : componentProps["term"];
9
+ const element = document.createElement("div");
10
+ for (const [name, value] of Object.entries(attributes)) {
11
+ if (value === null || value === undefined || value === false) continue;
12
+ element.setAttribute(name, value === true ? "" : String(value));
13
+ }
14
+ element.setAttribute("data-component", "ui-description-item");
15
+ const element0 = document.createElement("dt");
16
+ const element1 = document.createElement("template");
17
+ element1.textContent = prop0 == null ? "" : String(prop0);
18
+ element0.append(element1);
19
+ element.append(element0);
20
+ const element2 = document.createElement("dd");
21
+ if (children.length > 0) {
22
+ for (const child of children) {
23
+ const node = typeof child === "string" ? document.createTextNode(child) : child;
24
+ projected.push([node, ""]);
25
+ element2.append(node);
26
+ }
27
+ } else {
28
+ }
29
+ element.append(element2);
30
+ manageGeneratedProps(element, [
31
+ { name: "term", attribute: "data-term", value: componentProps["term"], default: "", type: "string", required: false },
32
+ ], (name, value) => {
33
+ if (name === "term") {
34
+ element1.textContent = value == null ? "" : String(value);
35
+ }
36
+ });
37
+ return element;
38
+ }
39
+
@@ -0,0 +1,14 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ export interface UiDescriptionListEventMap {
3
+ }
4
+ export interface UiDescriptionListElement extends HTMLDListElement {
5
+ addEventListener<K extends keyof UiDescriptionListEventMap>(type: K, listener: (this: UiDescriptionListElement, event: UiDescriptionListEventMap[K]) => unknown, options?: boolean | AddEventListenerOptions): void;
6
+ removeEventListener<K extends keyof UiDescriptionListEventMap>(type: K, listener: (this: UiDescriptionListElement, event: UiDescriptionListEventMap[K]) => unknown, options?: boolean | EventListenerOptions): void;
7
+ }
8
+ export interface UiDescriptionListProps {
9
+ layout?: "rows" | "tiles" | null;
10
+ attributes?: Readonly<Record<string, string | number | boolean | null | undefined>>;
11
+ children?: readonly (string | Node)[];
12
+ slots?: Readonly<Record<string, readonly (string | Node)[]>>;
13
+ }
14
+ export declare function createUiDescriptionList(props?: UiDescriptionListProps): UiDescriptionListElement;
@@ -0,0 +1,28 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ import { manageGeneratedProps } from "@nextwebwg/html-next/generated-runtime";
3
+ import "../styles/ui-description-list.css";
4
+
5
+ export function createUiDescriptionList(options = {}) {
6
+ const { attributes = {}, children = [], slots = {}, as, ...componentProps } = options;
7
+ const projected = [];
8
+ const prop0 = componentProps["layout"] === undefined ? "rows" : componentProps["layout"];
9
+ const element = document.createElement("dl");
10
+ for (const [name, value] of Object.entries(attributes)) {
11
+ if (value === null || value === undefined || value === false) continue;
12
+ element.setAttribute(name, value === true ? "" : String(value));
13
+ }
14
+ element.setAttribute("data-component", "ui-description-list");
15
+ if (children.length > 0) {
16
+ for (const child of children) {
17
+ const node = typeof child === "string" ? document.createTextNode(child) : child;
18
+ projected.push([node, ""]);
19
+ element.append(node);
20
+ }
21
+ } else {
22
+ }
23
+ manageGeneratedProps(element, [
24
+ { name: "layout", attribute: "data-layout", value: componentProps["layout"], default: "rows", type: ["rows","tiles"], required: false },
25
+ ]);
26
+ return element;
27
+ }
28
+
@@ -0,0 +1,14 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ export interface UiPageHeaderEventMap {
3
+ }
4
+ export interface UiPageHeaderElement extends HTMLElement {
5
+ addEventListener<K extends keyof UiPageHeaderEventMap>(type: K, listener: (this: UiPageHeaderElement, event: UiPageHeaderEventMap[K]) => unknown, options?: boolean | AddEventListenerOptions): void;
6
+ removeEventListener<K extends keyof UiPageHeaderEventMap>(type: K, listener: (this: UiPageHeaderElement, event: UiPageHeaderEventMap[K]) => unknown, options?: boolean | EventListenerOptions): void;
7
+ }
8
+ export interface UiPageHeaderProps {
9
+ align?: "start" | "center" | null;
10
+ attributes?: Readonly<Record<string, string | number | boolean | null | undefined>>;
11
+ children?: readonly (string | Node)[];
12
+ slots?: Readonly<Record<string, readonly (string | Node)[]>>;
13
+ }
14
+ export declare function createUiPageHeader(props?: UiPageHeaderProps): UiPageHeaderElement;
@@ -0,0 +1,78 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ import { manageGeneratedProps } from "@nextwebwg/html-next/generated-runtime";
3
+ import "../styles/ui-page-header.css";
4
+
5
+ export function createUiPageHeader(options = {}) {
6
+ const { attributes = {}, children = [], slots = {}, as, ...componentProps } = options;
7
+ const projected = [];
8
+ const prop0 = componentProps["align"] === undefined ? "start" : componentProps["align"];
9
+ const element = document.createElement("header");
10
+ for (const [name, value] of Object.entries(attributes)) {
11
+ if (value === null || value === undefined || value === false) continue;
12
+ element.setAttribute(name, value === true ? "" : String(value));
13
+ }
14
+ element.setAttribute("data-component", "ui-page-header");
15
+ const element0 = document.createElement("span");
16
+ element0.setAttribute("class", "leading");
17
+ if (slots["leading"] ?? [].length > 0) {
18
+ for (const child of slots["leading"] ?? []) {
19
+ const node = typeof child === "string" ? document.createTextNode(child) : child;
20
+ projected.push([node, "leading"]);
21
+ element0.append(node);
22
+ }
23
+ } else {
24
+ }
25
+ element.append(element0);
26
+ const element1 = document.createElement("span");
27
+ element1.setAttribute("class", "copy");
28
+ const element2 = document.createElement("span");
29
+ element2.setAttribute("class", "eyebrow");
30
+ if (slots["eyebrow"] ?? [].length > 0) {
31
+ for (const child of slots["eyebrow"] ?? []) {
32
+ const node = typeof child === "string" ? document.createTextNode(child) : child;
33
+ projected.push([node, "eyebrow"]);
34
+ element2.append(node);
35
+ }
36
+ } else {
37
+ }
38
+ element1.append(element2);
39
+ const element3 = document.createElement("h1");
40
+ element3.setAttribute("class", "title");
41
+ if (children.length > 0) {
42
+ for (const child of children) {
43
+ const node = typeof child === "string" ? document.createTextNode(child) : child;
44
+ projected.push([node, ""]);
45
+ element3.append(node);
46
+ }
47
+ } else {
48
+ }
49
+ element1.append(element3);
50
+ const element4 = document.createElement("span");
51
+ element4.setAttribute("class", "description");
52
+ if (slots["description"] ?? [].length > 0) {
53
+ for (const child of slots["description"] ?? []) {
54
+ const node = typeof child === "string" ? document.createTextNode(child) : child;
55
+ projected.push([node, "description"]);
56
+ element4.append(node);
57
+ }
58
+ } else {
59
+ }
60
+ element1.append(element4);
61
+ element.append(element1);
62
+ const element5 = document.createElement("span");
63
+ element5.setAttribute("class", "actions");
64
+ if (slots["actions"] ?? [].length > 0) {
65
+ for (const child of slots["actions"] ?? []) {
66
+ const node = typeof child === "string" ? document.createTextNode(child) : child;
67
+ projected.push([node, "actions"]);
68
+ element5.append(node);
69
+ }
70
+ } else {
71
+ }
72
+ element.append(element5);
73
+ manageGeneratedProps(element, [
74
+ { name: "align", attribute: "data-align", value: componentProps["align"], default: "start", type: ["start","center"], required: false },
75
+ ]);
76
+ return element;
77
+ }
78
+
@@ -0,0 +1,16 @@
1
+ // Generated by HTML Next 1.0.0-alpha.5 for Vanilla DOM. Do not edit.
2
+ export interface UiSectionEventMap {
3
+ }
4
+ export interface UiSectionElement extends HTMLElement {
5
+ addEventListener<K extends keyof UiSectionEventMap>(type: K, listener: (this: UiSectionElement, event: UiSectionEventMap[K]) => unknown, options?: boolean | AddEventListenerOptions): void;
6
+ removeEventListener<K extends keyof UiSectionEventMap>(type: K, listener: (this: UiSectionElement, event: UiSectionEventMap[K]) => unknown, options?: boolean | EventListenerOptions): void;
7
+ }
8
+ export interface UiSectionProps {
9
+ heading?: string | null;
10
+ tone?: "neutral" | "danger" | null;
11
+ variant?: "plain" | "card" | "divided" | null;
12
+ attributes?: Readonly<Record<string, string | number | boolean | null | undefined>>;
13
+ children?: readonly (string | Node)[];
14
+ slots?: Readonly<Record<string, readonly (string | Node)[]>>;
15
+ }
16
+ export declare function createUiSection(props?: UiSectionProps): UiSectionElement;