@threadlabs/looma 0.10.12 → 0.11.0
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/components/shared/editor.js +2 -26
- package/components/shared/icons.js +53 -0
- package/components/ui-avatar-group/ui-avatar-group.html +6 -6
- package/components/ui-avatar-group/ui-avatar-group.js +1 -1
- package/components/ui-breadcrumb-item/ui-breadcrumb-item.html +60 -0
- package/components/ui-breadcrumbs/ui-breadcrumbs.html +31 -0
- package/components/ui-card/ui-card.html +55 -0
- package/components/ui-combobox/ui-combobox.js +2 -2
- package/components/ui-context-menu/ui-context-menu.js +4 -4
- package/components/ui-cover/ui-cover.html +36 -0
- package/components/ui-description-item/ui-description-item.html +46 -0
- package/components/ui-description-list/ui-description-list.html +37 -0
- package/components/ui-icon/ui-icon.js +1 -1
- package/components/ui-menu/ui-menu.js +3 -3
- package/components/ui-page-header/ui-page-header.html +97 -0
- package/components/ui-radio/ui-radio.js +1 -1
- package/components/ui-radio-group/ui-radio-group.js +1 -1
- package/components/ui-section/ui-section.html +108 -0
- package/components/ui-spinner/ui-spinner.html +48 -0
- package/components/ui-status-message/ui-status-message.html +84 -0
- package/components/ui-text/ui-text.html +96 -0
- package/components/ui-tree/ui-tree.js +2 -2
- package/components/ui-tree-item/ui-tree-item.js +3 -3
- package/dist/index.js +1 -1
- package/editor/icons.d.ts +5 -0
- package/editor/index.js +6 -1
- package/package.json +1 -1
- package/styles/ui-avatar-group.css +6 -6
- package/styles/ui-breadcrumb-item.css +57 -0
- package/styles/ui-breadcrumbs.css +32 -0
- package/styles/ui-card.css +51 -0
- package/styles/ui-cover.css +35 -0
- package/styles/ui-description-item.css +43 -0
- package/styles/ui-description-list.css +38 -0
- package/styles/ui-page-header.css +89 -0
- package/styles/ui-section.css +94 -0
- package/styles/ui-spinner.css +42 -0
- package/styles/ui-status-message.css +72 -0
- package/styles/ui-text.css +85 -0
- package/vanilla/UiBreadcrumbItem.d.ts +14 -0
- package/vanilla/UiBreadcrumbItem.js +38 -0
- package/vanilla/UiBreadcrumbs.d.ts +14 -0
- package/vanilla/UiBreadcrumbs.js +39 -0
- package/vanilla/UiCard.d.ts +17 -0
- package/vanilla/UiCard.js +32 -0
- package/vanilla/UiCover.d.ts +14 -0
- package/vanilla/UiCover.js +28 -0
- package/vanilla/UiDescriptionItem.d.ts +14 -0
- package/vanilla/UiDescriptionItem.js +39 -0
- package/vanilla/UiDescriptionList.d.ts +14 -0
- package/vanilla/UiDescriptionList.js +28 -0
- package/vanilla/UiPageHeader.d.ts +14 -0
- package/vanilla/UiPageHeader.js +78 -0
- package/vanilla/UiSection.d.ts +16 -0
- package/vanilla/UiSection.js +64 -0
- package/vanilla/UiSpinner.d.ts +15 -0
- package/vanilla/UiSpinner.js +23 -0
- package/vanilla/UiStatusMessage.d.ts +16 -0
- package/vanilla/UiStatusMessage.js +53 -0
- package/vanilla/UiText.d.ts +20 -0
- package/vanilla/UiText.js +38 -0
- package/vanilla/index.js +11 -0
- package/vue/UiAvatarGroup.vue +6 -6
- package/vue/UiBreadcrumbItem.d.ts +18 -0
- package/vue/UiBreadcrumbItem.js +2 -0
- package/vue/UiBreadcrumbItem.vue +101 -0
- package/vue/UiBreadcrumbs.d.ts +18 -0
- package/vue/UiBreadcrumbs.js +2 -0
- package/vue/UiBreadcrumbs.vue +45 -0
- package/vue/UiCard.d.ts +24 -0
- package/vue/UiCard.js +2 -0
- package/vue/UiCard.vue +82 -0
- package/vue/UiCover.d.ts +18 -0
- package/vue/UiCover.js +2 -0
- package/vue/UiCover.vue +57 -0
- package/vue/UiDescriptionItem.d.ts +18 -0
- package/vue/UiDescriptionItem.js +2 -0
- package/vue/UiDescriptionItem.vue +58 -0
- package/vue/UiDescriptionList.d.ts +18 -0
- package/vue/UiDescriptionList.js +2 -0
- package/vue/UiDescriptionList.vue +62 -0
- package/vue/UiIconButton.d.ts +1 -1
- package/vue/UiPageHeader.d.ts +26 -0
- package/vue/UiPageHeader.js +2 -0
- package/vue/UiPageHeader.vue +118 -0
- package/vue/UiSection.d.ts +26 -0
- package/vue/UiSection.js +2 -0
- package/vue/UiSection.vue +128 -0
- package/vue/UiSpinner.d.ts +10 -0
- package/vue/UiSpinner.js +2 -0
- package/vue/UiSpinner.vue +87 -0
- package/vue/UiStatusMessage.d.ts +24 -0
- package/vue/UiStatusMessage.js +2 -0
- package/vue/UiStatusMessage.vue +121 -0
- package/vue/UiText.d.ts +30 -0
- package/vue/UiText.js +2 -0
- package/vue/UiText.vue +125 -0
- package/vue/chunks/UiAvatarGroup.js +1 -1
- package/vue/chunks/UiBreadcrumbItem.js +50 -0
- package/vue/chunks/UiBreadcrumbs.js +19 -0
- package/vue/chunks/UiCard.js +31 -0
- package/vue/chunks/UiCover.js +21 -0
- package/vue/chunks/UiDescriptionItem.js +16 -0
- package/vue/chunks/UiDescriptionList.js +21 -0
- package/vue/chunks/UiPageHeader.js +35 -0
- package/vue/chunks/UiSection.js +34 -0
- package/vue/chunks/UiSpinner.js +64 -0
- package/vue/chunks/UiStatusMessage.js +54 -0
- package/vue/chunks/UiText.js +40 -0
- package/vue/components.css +521 -29
- package/vue/index.d.ts +11 -0
- package/vue/index.js +13 -2
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
<!-- Generated by HTML Next 1.0.0-alpha.5 for Vue 3.5. Do not edit. -->
|
|
2
|
+
<script setup lang="ts">
|
|
3
|
+
import { computed } from 'vue'
|
|
4
|
+
import UiSpinner from './UiSpinner.vue'
|
|
5
|
+
|
|
6
|
+
defineOptions({ inheritAttrs: false })
|
|
7
|
+
|
|
8
|
+
const props = withDefaults(
|
|
9
|
+
defineProps<{
|
|
10
|
+
heading?: string
|
|
11
|
+
kind?: 'empty' | 'loading' | 'error'
|
|
12
|
+
layout?: 'inline' | 'panel' | 'fill'
|
|
13
|
+
}>(),
|
|
14
|
+
{
|
|
15
|
+
heading: '',
|
|
16
|
+
kind: 'empty',
|
|
17
|
+
layout: 'inline',
|
|
18
|
+
},
|
|
19
|
+
)
|
|
20
|
+
|
|
21
|
+
/** The values the styles' :host-state() rules test. */
|
|
22
|
+
const hostState = computed(() =>
|
|
23
|
+
[
|
|
24
|
+
props.kind && `kind kind=${props.kind}`,
|
|
25
|
+
props.layout && `layout layout=${props.layout}`,
|
|
26
|
+
].filter(Boolean).join(' ')
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
function text(value: unknown): string {
|
|
30
|
+
if (Array.isArray(value)) return value.map(text).join(' ')
|
|
31
|
+
return value === null || value === undefined || typeof value === 'object' ? '' : String(value)
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
function attribute(value: unknown): any {
|
|
35
|
+
if (
|
|
36
|
+
value === null || value === undefined || value === false
|
|
37
|
+
|| (typeof value === 'object' && !Array.isArray(value))
|
|
38
|
+
) return undefined
|
|
39
|
+
return value === true ? '' : text(value)
|
|
40
|
+
}
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
<template>
|
|
44
|
+
<div
|
|
45
|
+
data-component="ui-status-message"
|
|
46
|
+
v-bind="$attrs"
|
|
47
|
+
:role="attribute(({ true: 'alert', false: 'status' })[`${kind === 'error'}`])"
|
|
48
|
+
:data-ui-status-message-state="hostState || undefined"
|
|
49
|
+
>
|
|
50
|
+
<UiSpinner size="sm" :hidden="kind !== 'loading'" />
|
|
51
|
+
<span class="copy"><strong class="heading" :hidden="!heading">{{ heading }}</strong>
|
|
52
|
+
<span class="message"><slot /></span></span>
|
|
53
|
+
<span class="action"><slot name="action" /></span>
|
|
54
|
+
</div>
|
|
55
|
+
</template>
|
|
56
|
+
|
|
57
|
+
<style scoped>
|
|
58
|
+
/* The one way a view says it is loading, has nothing yet, or failed, with an optional next step.
|
|
59
|
+
Every view says it the same way, in the same place, at the same size. */
|
|
60
|
+
[data-component~="ui-status-message"] {
|
|
61
|
+
display: flex;
|
|
62
|
+
flex-wrap: wrap;
|
|
63
|
+
align-items: center;
|
|
64
|
+
gap: var(--ui-space-2) var(--ui-space-4);
|
|
65
|
+
padding-block: var(--ui-space-4);
|
|
66
|
+
color: var(--ui-text-muted);
|
|
67
|
+
font-size: var(--ui-font-size-md);
|
|
68
|
+
line-height: var(--ui-line-height);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
[data-component~="ui-status-message"][data-ui-status-message-state~="kind=error"] {
|
|
72
|
+
color: var(--ui-danger);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
[data-component~="ui-status-message"][data-ui-status-message-state~="layout=panel"] {
|
|
76
|
+
padding: var(--ui-space-6);
|
|
77
|
+
border: 1px dashed var(--ui-border-default);
|
|
78
|
+
border-radius: var(--ui-radius-lg);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
[data-component~="ui-status-message"][data-ui-status-message-state~="layout=fill"] {
|
|
82
|
+
flex: 1;
|
|
83
|
+
flex-direction: column;
|
|
84
|
+
justify-content: center;
|
|
85
|
+
min-block-size: 50vh;
|
|
86
|
+
text-align: center;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.copy {
|
|
90
|
+
display: flex;
|
|
91
|
+
flex: 1 1 12rem;
|
|
92
|
+
flex-direction: column;
|
|
93
|
+
gap: var(--ui-space-1);
|
|
94
|
+
min-inline-size: 0;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
[data-component~="ui-status-message"][data-ui-status-message-state~="layout=fill"] .copy {
|
|
98
|
+
flex: none;
|
|
99
|
+
align-items: center;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
.heading {
|
|
103
|
+
color: var(--ui-text-primary);
|
|
104
|
+
font-weight: var(--ui-font-semibold);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.action {
|
|
108
|
+
display: inline-flex;
|
|
109
|
+
flex-wrap: wrap;
|
|
110
|
+
gap: var(--ui-space-2);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.action:empty {
|
|
114
|
+
display: none;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
118
|
+
[data-component~="ui-status-message"][hidden] {
|
|
119
|
+
display: none;
|
|
120
|
+
}
|
|
121
|
+
</style>
|
package/vue/UiText.d.ts
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
as?: 'p' | 'span' | 'div' | 'small' | 'strong' | 'label';
|
|
3
|
+
align?: 'start' | 'center';
|
|
4
|
+
size?: 'inherit' | 'xs' | 'sm' | 'md' | 'lg';
|
|
5
|
+
tone?: 'default' | 'secondary' | 'muted' | 'accent' | 'danger' | 'success';
|
|
6
|
+
truncate?: boolean;
|
|
7
|
+
variant?: 'body' | 'eyebrow' | 'code';
|
|
8
|
+
weight?: 'inherit' | 'normal' | 'medium' | 'semibold';
|
|
9
|
+
};
|
|
10
|
+
declare var __VLS_8: {};
|
|
11
|
+
type __VLS_Slots = {} & {
|
|
12
|
+
default?: (props: typeof __VLS_8) => any;
|
|
13
|
+
};
|
|
14
|
+
declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
|
|
15
|
+
tone: "default" | "secondary" | "muted" | "accent" | "danger" | "success";
|
|
16
|
+
variant: "body" | "eyebrow" | "code";
|
|
17
|
+
as: "p" | "span" | "div" | "small" | "strong" | "label";
|
|
18
|
+
align: "start" | "center";
|
|
19
|
+
size: "inherit" | "xs" | "sm" | "md" | "lg";
|
|
20
|
+
truncate: boolean;
|
|
21
|
+
weight: "inherit" | "normal" | "medium" | "semibold";
|
|
22
|
+
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
23
|
+
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
24
|
+
declare const _default: typeof __VLS_export;
|
|
25
|
+
export default _default;
|
|
26
|
+
type __VLS_WithSlots<T, S> = T & {
|
|
27
|
+
new (): {
|
|
28
|
+
$slots: S;
|
|
29
|
+
};
|
|
30
|
+
};
|
package/vue/UiText.js
ADDED
package/vue/UiText.vue
ADDED
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
<!-- Generated by HTML Next 1.0.0-alpha.5 for Vue 3.5. Do not edit. -->
|
|
2
|
+
<script setup lang="ts">
|
|
3
|
+
import { computed } from 'vue'
|
|
4
|
+
|
|
5
|
+
defineOptions({ inheritAttrs: false })
|
|
6
|
+
|
|
7
|
+
const props = withDefaults(
|
|
8
|
+
defineProps<{
|
|
9
|
+
as?: 'p' | 'span' | 'div' | 'small' | 'strong' | 'label'
|
|
10
|
+
align?: 'start' | 'center'
|
|
11
|
+
size?: 'inherit' | 'xs' | 'sm' | 'md' | 'lg'
|
|
12
|
+
tone?: 'default' | 'secondary' | 'muted' | 'accent' | 'danger' | 'success'
|
|
13
|
+
truncate?: boolean
|
|
14
|
+
variant?: 'body' | 'eyebrow' | 'code'
|
|
15
|
+
weight?: 'inherit' | 'normal' | 'medium' | 'semibold'
|
|
16
|
+
}>(),
|
|
17
|
+
{
|
|
18
|
+
as: 'p',
|
|
19
|
+
align: 'start',
|
|
20
|
+
size: 'inherit',
|
|
21
|
+
tone: 'default',
|
|
22
|
+
truncate: false,
|
|
23
|
+
variant: 'body',
|
|
24
|
+
weight: 'inherit',
|
|
25
|
+
},
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
/** The values the styles' :host-state() rules test. */
|
|
29
|
+
const hostState = computed(() =>
|
|
30
|
+
[
|
|
31
|
+
props.size && `size size=${props.size}`,
|
|
32
|
+
props.tone && `tone tone=${props.tone}`,
|
|
33
|
+
props.weight && `weight weight=${props.weight}`,
|
|
34
|
+
props.variant && `variant variant=${props.variant}`,
|
|
35
|
+
props.truncate && 'truncate',
|
|
36
|
+
props.align && `align align=${props.align}`,
|
|
37
|
+
].filter(Boolean).join(' ')
|
|
38
|
+
)
|
|
39
|
+
</script>
|
|
40
|
+
|
|
41
|
+
<template>
|
|
42
|
+
<component
|
|
43
|
+
:is="as" data-component="ui-text" v-bind="$attrs" :data-ui-text-state="hostState || undefined">
|
|
44
|
+
<slot />
|
|
45
|
+
</component>
|
|
46
|
+
</template>
|
|
47
|
+
|
|
48
|
+
<style scoped>
|
|
49
|
+
/* Running text, set on the type scale and in a tone that says what it is, so a view never styles
|
|
50
|
+
text of its own. The root is a paragraph unless as= names a span, div, small, strong, or label. */
|
|
51
|
+
[data-component~="ui-text"] {
|
|
52
|
+
margin: 0;
|
|
53
|
+
min-inline-size: 0;
|
|
54
|
+
color: var(--ui-text-primary);
|
|
55
|
+
text-align: start;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
[data-component~="ui-text"][data-ui-text-state~="size=xs"] {
|
|
59
|
+
font-size: var(--ui-font-size-xs);
|
|
60
|
+
line-height: var(--ui-line-height);
|
|
61
|
+
}
|
|
62
|
+
[data-component~="ui-text"][data-ui-text-state~="size=sm"] {
|
|
63
|
+
font-size: var(--ui-font-size-sm);
|
|
64
|
+
line-height: var(--ui-line-height);
|
|
65
|
+
}
|
|
66
|
+
[data-component~="ui-text"][data-ui-text-state~="size=md"] {
|
|
67
|
+
font-size: var(--ui-font-size-md);
|
|
68
|
+
line-height: var(--ui-line-height);
|
|
69
|
+
}
|
|
70
|
+
[data-component~="ui-text"][data-ui-text-state~="size=lg"] {
|
|
71
|
+
font-size: var(--ui-font-size-lg);
|
|
72
|
+
line-height: var(--ui-line-height-relaxed);
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
[data-component~="ui-text"][data-ui-text-state~="tone=secondary"] {
|
|
76
|
+
color: var(--ui-text-secondary);
|
|
77
|
+
}
|
|
78
|
+
[data-component~="ui-text"][data-ui-text-state~="tone=muted"] {
|
|
79
|
+
color: var(--ui-text-muted);
|
|
80
|
+
}
|
|
81
|
+
[data-component~="ui-text"][data-ui-text-state~="tone=accent"] {
|
|
82
|
+
color: var(--ui-accent-active);
|
|
83
|
+
}
|
|
84
|
+
[data-component~="ui-text"][data-ui-text-state~="tone=danger"] {
|
|
85
|
+
color: var(--ui-danger);
|
|
86
|
+
}
|
|
87
|
+
[data-component~="ui-text"][data-ui-text-state~="tone=success"] {
|
|
88
|
+
color: var(--ui-success);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
[data-component~="ui-text"][data-ui-text-state~="weight=normal"] {
|
|
92
|
+
font-weight: var(--ui-font-normal);
|
|
93
|
+
}
|
|
94
|
+
[data-component~="ui-text"][data-ui-text-state~="weight=medium"] {
|
|
95
|
+
font-weight: var(--ui-font-medium);
|
|
96
|
+
}
|
|
97
|
+
[data-component~="ui-text"][data-ui-text-state~="weight=semibold"] {
|
|
98
|
+
font-weight: var(--ui-font-semibold);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
[data-component~="ui-text"][data-ui-text-state~="variant=eyebrow"] {
|
|
102
|
+
font-size: var(--ui-font-size-xs);
|
|
103
|
+
font-weight: var(--ui-font-semibold);
|
|
104
|
+
letter-spacing: 0.06em;
|
|
105
|
+
text-transform: uppercase;
|
|
106
|
+
}
|
|
107
|
+
[data-component~="ui-text"][data-ui-text-state~="variant=code"] {
|
|
108
|
+
font-family: var(--ui-font-family-mono);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
[data-component~="ui-text"][data-ui-text-state~="truncate"] {
|
|
112
|
+
overflow: hidden;
|
|
113
|
+
text-overflow: ellipsis;
|
|
114
|
+
white-space: nowrap;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
[data-component~="ui-text"][data-ui-text-state~="align=center"] {
|
|
118
|
+
text-align: center;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
/* A component that sets its display still honours the hidden attribute on its root. */
|
|
122
|
+
[data-component~="ui-text"][hidden] {
|
|
123
|
+
display: none;
|
|
124
|
+
}
|
|
125
|
+
</style>
|
|
@@ -44,6 +44,6 @@ var UiAvatarGroup_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @
|
|
|
44
44
|
}, toDisplayString(`+${overflowCount.value}`), 9, _hoisted_2)], 16, _hoisted_1);
|
|
45
45
|
};
|
|
46
46
|
}
|
|
47
|
-
}), [["__scopeId", "data-v-
|
|
47
|
+
}), [["__scopeId", "data-v-6c48e0e3"]]);
|
|
48
48
|
//#endregion
|
|
49
49
|
export { UiAvatarGroup_default as t };
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
+
import { t as UiIcon_default } from "./UiIcon.js";
|
|
3
|
+
import { computed, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, openBlock, renderSlot } from "vue";
|
|
4
|
+
//#region .build/vue/UiBreadcrumbItem.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var _hoisted_1 = ["aria-current", "data-ui-breadcrumb-item-state"];
|
|
6
|
+
var _hoisted_2 = {
|
|
7
|
+
class: "separator",
|
|
8
|
+
"aria-hidden": "true"
|
|
9
|
+
};
|
|
10
|
+
var _hoisted_3 = { class: "content" };
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region .build/vue/UiBreadcrumbItem.vue
|
|
13
|
+
var UiBreadcrumbItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
14
|
+
inheritAttrs: false,
|
|
15
|
+
__name: "UiBreadcrumbItem",
|
|
16
|
+
props: { current: {
|
|
17
|
+
type: Boolean,
|
|
18
|
+
default: false
|
|
19
|
+
} },
|
|
20
|
+
setup(__props) {
|
|
21
|
+
const props = __props;
|
|
22
|
+
/** The values the styles' :host-state() rules test. */
|
|
23
|
+
const hostState = computed(() => [props.current && "current"].filter(Boolean).join(" "));
|
|
24
|
+
function text(value) {
|
|
25
|
+
if (Array.isArray(value)) return value.map(text).join(" ");
|
|
26
|
+
return value === null || value === void 0 || typeof value === "object" ? "" : String(value);
|
|
27
|
+
}
|
|
28
|
+
function attribute(value) {
|
|
29
|
+
if (value === null || value === void 0 || value === false || typeof value === "object" && !Array.isArray(value)) return void 0;
|
|
30
|
+
return value === true ? "" : text(value);
|
|
31
|
+
}
|
|
32
|
+
return (_ctx, _cache) => {
|
|
33
|
+
return openBlock(), createElementBlock("li", mergeProps({ "data-component": "ui-breadcrumb-item" }, _ctx.$attrs, {
|
|
34
|
+
"aria-current": typeof {
|
|
35
|
+
true: "page",
|
|
36
|
+
false: null
|
|
37
|
+
}[`${__props.current}`] === "boolean" ? String({
|
|
38
|
+
true: "page",
|
|
39
|
+
false: null
|
|
40
|
+
}[`${__props.current}`]) : attribute({
|
|
41
|
+
true: "page",
|
|
42
|
+
false: null
|
|
43
|
+
}[`${__props.current}`]),
|
|
44
|
+
"data-ui-breadcrumb-item-state": hostState.value || void 0
|
|
45
|
+
}), [createElementVNode("span", _hoisted_2, [createVNode(UiIcon_default, { name: "chevron-right" })]), createElementVNode("span", _hoisted_3, [renderSlot(_ctx.$slots, "default")])], 16, _hoisted_1);
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
}), [["__scopeId", "data-v-9de59def"]]);
|
|
49
|
+
//#endregion
|
|
50
|
+
export { UiBreadcrumbItem_default as t };
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
+
import { createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, renderSlot } from "vue";
|
|
3
|
+
//#region .build/vue/UiBreadcrumbs.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var _hoisted_1 = ["aria-label"];
|
|
5
|
+
var _hoisted_2 = { role: "list" };
|
|
6
|
+
//#endregion
|
|
7
|
+
//#region .build/vue/UiBreadcrumbs.vue
|
|
8
|
+
var UiBreadcrumbs_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
9
|
+
inheritAttrs: false,
|
|
10
|
+
__name: "UiBreadcrumbs",
|
|
11
|
+
props: { label: { default: "Breadcrumb" } },
|
|
12
|
+
setup(__props) {
|
|
13
|
+
return (_ctx, _cache) => {
|
|
14
|
+
return openBlock(), createElementBlock("nav", mergeProps({ "data-component": "ui-breadcrumbs" }, _ctx.$attrs, { "aria-label": __props.label }), [createElementVNode("ol", _hoisted_2, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
}), [["__scopeId", "data-v-0d86d58e"]]);
|
|
18
|
+
//#endregion
|
|
19
|
+
export { UiBreadcrumbs_default as t };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
+
import { computed, createBlock, defineComponent, mergeProps, openBlock, renderSlot, resolveDynamicComponent, withCtx } from "vue";
|
|
3
|
+
//#endregion
|
|
4
|
+
//#region .build/vue/UiCard.vue
|
|
5
|
+
var UiCard_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
6
|
+
inheritAttrs: false,
|
|
7
|
+
__name: "UiCard",
|
|
8
|
+
props: {
|
|
9
|
+
as: { default: "div" },
|
|
10
|
+
padding: { default: "md" },
|
|
11
|
+
tone: { default: "neutral" },
|
|
12
|
+
variant: { default: "outlined" }
|
|
13
|
+
},
|
|
14
|
+
setup(__props) {
|
|
15
|
+
const props = __props;
|
|
16
|
+
/** The values the styles' :host-state() rules test. */
|
|
17
|
+
const hostState = computed(() => [
|
|
18
|
+
props.padding && `padding padding=${props.padding}`,
|
|
19
|
+
props.variant && `variant variant=${props.variant}`,
|
|
20
|
+
props.tone && `tone tone=${props.tone}`
|
|
21
|
+
].filter(Boolean).join(" "));
|
|
22
|
+
return (_ctx, _cache) => {
|
|
23
|
+
return openBlock(), createBlock(resolveDynamicComponent(__props.as), mergeProps({ "data-component": "ui-card" }, _ctx.$attrs, { "data-ui-card-state": hostState.value || void 0 }), {
|
|
24
|
+
default: withCtx(() => [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
|
|
25
|
+
_: 3
|
|
26
|
+
}, 16, ["data-ui-card-state"]);
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
}), [["__scopeId", "data-v-d00c53f0"]]);
|
|
30
|
+
//#endregion
|
|
31
|
+
export { UiCard_default as t };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
+
import { computed, createElementBlock, defineComponent, mergeProps, openBlock, renderSlot } from "vue";
|
|
3
|
+
//#region .build/vue/UiCover.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var _hoisted_1 = ["data-ui-cover-state"];
|
|
5
|
+
//#endregion
|
|
6
|
+
//#region .build/vue/UiCover.vue
|
|
7
|
+
var UiCover_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
8
|
+
inheritAttrs: false,
|
|
9
|
+
__name: "UiCover",
|
|
10
|
+
props: { size: { default: "screen" } },
|
|
11
|
+
setup(__props) {
|
|
12
|
+
const props = __props;
|
|
13
|
+
/** The values the styles' :host-state() rules test. */
|
|
14
|
+
const hostState = computed(() => [props.size && `size size=${props.size}`].filter(Boolean).join(" "));
|
|
15
|
+
return (_ctx, _cache) => {
|
|
16
|
+
return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-cover" }, _ctx.$attrs, { "data-ui-cover-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default")], 16, _hoisted_1);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}), [["__scopeId", "data-v-f341d85e"]]);
|
|
20
|
+
//#endregion
|
|
21
|
+
export { UiCover_default as t };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
+
import { createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, renderSlot, toDisplayString } from "vue";
|
|
3
|
+
//#endregion
|
|
4
|
+
//#region .build/vue/UiDescriptionItem.vue
|
|
5
|
+
var UiDescriptionItem_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
6
|
+
inheritAttrs: false,
|
|
7
|
+
__name: "UiDescriptionItem",
|
|
8
|
+
props: { term: { default: "" } },
|
|
9
|
+
setup(__props) {
|
|
10
|
+
return (_ctx, _cache) => {
|
|
11
|
+
return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-description-item" }, _ctx.$attrs), [createElementVNode("dt", null, toDisplayString(__props.term), 1), createElementVNode("dd", null, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16);
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
}), [["__scopeId", "data-v-2d94bc9f"]]);
|
|
15
|
+
//#endregion
|
|
16
|
+
export { UiDescriptionItem_default as t };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
+
import { computed, createElementBlock, defineComponent, mergeProps, openBlock, renderSlot } from "vue";
|
|
3
|
+
//#region .build/vue/UiDescriptionList.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var _hoisted_1 = ["data-ui-description-list-state"];
|
|
5
|
+
//#endregion
|
|
6
|
+
//#region .build/vue/UiDescriptionList.vue
|
|
7
|
+
var UiDescriptionList_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
8
|
+
inheritAttrs: false,
|
|
9
|
+
__name: "UiDescriptionList",
|
|
10
|
+
props: { layout: { default: "rows" } },
|
|
11
|
+
setup(__props) {
|
|
12
|
+
const props = __props;
|
|
13
|
+
/** The values the styles' :host-state() rules test. */
|
|
14
|
+
const hostState = computed(() => [props.layout && `layout layout=${props.layout}`].filter(Boolean).join(" "));
|
|
15
|
+
return (_ctx, _cache) => {
|
|
16
|
+
return openBlock(), createElementBlock("dl", mergeProps({ "data-component": "ui-description-list" }, _ctx.$attrs, { "data-ui-description-list-state": hostState.value || void 0 }), [renderSlot(_ctx.$slots, "default", {}, void 0, true)], 16, _hoisted_1);
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}), [["__scopeId", "data-v-0519dd0f"]]);
|
|
20
|
+
//#endregion
|
|
21
|
+
export { UiDescriptionList_default as t };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
+
import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, renderSlot } from "vue";
|
|
3
|
+
//#region .build/vue/UiPageHeader.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var _hoisted_1 = ["data-ui-page-header-state"];
|
|
5
|
+
var _hoisted_2 = { class: "leading" };
|
|
6
|
+
var _hoisted_3 = { class: "copy" };
|
|
7
|
+
var _hoisted_4 = { class: "eyebrow" };
|
|
8
|
+
var _hoisted_5 = { class: "title" };
|
|
9
|
+
var _hoisted_6 = { class: "description" };
|
|
10
|
+
var _hoisted_7 = { class: "actions" };
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region .build/vue/UiPageHeader.vue
|
|
13
|
+
var UiPageHeader_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
14
|
+
inheritAttrs: false,
|
|
15
|
+
__name: "UiPageHeader",
|
|
16
|
+
props: { align: { default: "start" } },
|
|
17
|
+
setup(__props) {
|
|
18
|
+
const props = __props;
|
|
19
|
+
/** The values the styles' :host-state() rules test. */
|
|
20
|
+
const hostState = computed(() => [props.align && `align align=${props.align}`].filter(Boolean).join(" "));
|
|
21
|
+
return (_ctx, _cache) => {
|
|
22
|
+
return openBlock(), createElementBlock("header", mergeProps({ "data-component": "ui-page-header" }, _ctx.$attrs, { "data-ui-page-header-state": hostState.value || void 0 }), [
|
|
23
|
+
createElementVNode("span", _hoisted_2, [renderSlot(_ctx.$slots, "leading", {}, void 0, true)]),
|
|
24
|
+
createElementVNode("span", _hoisted_3, [
|
|
25
|
+
createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "eyebrow", {}, void 0, true)]),
|
|
26
|
+
createElementVNode("h1", _hoisted_5, [renderSlot(_ctx.$slots, "default", {}, void 0, true)]),
|
|
27
|
+
createElementVNode("span", _hoisted_6, [renderSlot(_ctx.$slots, "description", {}, void 0, true)])
|
|
28
|
+
]),
|
|
29
|
+
createElementVNode("span", _hoisted_7, [renderSlot(_ctx.$slots, "actions", {}, void 0, true)])
|
|
30
|
+
], 16, _hoisted_1);
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
}), [["__scopeId", "data-v-8dcefe30"]]);
|
|
34
|
+
//#endregion
|
|
35
|
+
export { UiPageHeader_default as t };
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
+
import { computed, createElementBlock, createElementVNode, defineComponent, mergeProps, openBlock, renderSlot, toDisplayString } from "vue";
|
|
3
|
+
//#region .build/vue/UiSection.vue?vue&type=script&setup=true&lang.ts
|
|
4
|
+
var _hoisted_1 = ["data-ui-section-state"];
|
|
5
|
+
var _hoisted_2 = { class: "head" };
|
|
6
|
+
var _hoisted_3 = { class: "copy" };
|
|
7
|
+
var _hoisted_4 = ["hidden"];
|
|
8
|
+
var _hoisted_5 = { class: "description" };
|
|
9
|
+
var _hoisted_6 = { class: "actions" };
|
|
10
|
+
var _hoisted_7 = { class: "body" };
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region .build/vue/UiSection.vue
|
|
13
|
+
var UiSection_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
14
|
+
inheritAttrs: false,
|
|
15
|
+
__name: "UiSection",
|
|
16
|
+
props: {
|
|
17
|
+
heading: { default: "" },
|
|
18
|
+
tone: { default: "neutral" },
|
|
19
|
+
variant: { default: "plain" }
|
|
20
|
+
},
|
|
21
|
+
setup(__props) {
|
|
22
|
+
const props = __props;
|
|
23
|
+
/** The values the styles' :host-state() rules test. */
|
|
24
|
+
const hostState = computed(() => [props.variant && `variant variant=${props.variant}`, props.tone && `tone tone=${props.tone}`].filter(Boolean).join(" "));
|
|
25
|
+
return (_ctx, _cache) => {
|
|
26
|
+
return openBlock(), createElementBlock("section", mergeProps({ "data-component": "ui-section" }, _ctx.$attrs, { "data-ui-section-state": hostState.value || void 0 }), [createElementVNode("span", _hoisted_2, [createElementVNode("span", _hoisted_3, [createElementVNode("h2", {
|
|
27
|
+
class: "heading",
|
|
28
|
+
hidden: !__props.heading
|
|
29
|
+
}, toDisplayString(__props.heading), 9, _hoisted_4), createElementVNode("span", _hoisted_5, [renderSlot(_ctx.$slots, "description", {}, void 0, true)])]), createElementVNode("span", _hoisted_6, [renderSlot(_ctx.$slots, "actions", {}, void 0, true)])]), createElementVNode("span", _hoisted_7, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])], 16, _hoisted_1);
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
}), [["__scopeId", "data-v-4d1e5a3a"]]);
|
|
33
|
+
//#endregion
|
|
34
|
+
export { UiSection_default as t };
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
+
import { t as UiIcon_default } from "./UiIcon.js";
|
|
3
|
+
import { computed, createElementBlock, createVNode, defineComponent, mergeProps, openBlock } from "vue";
|
|
4
|
+
//#region .build/vue/UiSpinner.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var _hoisted_1 = [
|
|
6
|
+
"role",
|
|
7
|
+
"aria-label",
|
|
8
|
+
"aria-hidden",
|
|
9
|
+
"data-ui-spinner-state"
|
|
10
|
+
];
|
|
11
|
+
//#endregion
|
|
12
|
+
//#region .build/vue/UiSpinner.vue
|
|
13
|
+
var UiSpinner_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
14
|
+
inheritAttrs: false,
|
|
15
|
+
__name: "UiSpinner",
|
|
16
|
+
props: {
|
|
17
|
+
label: { default: "" },
|
|
18
|
+
size: { default: "md" }
|
|
19
|
+
},
|
|
20
|
+
setup(__props) {
|
|
21
|
+
const props = __props;
|
|
22
|
+
/** The values the styles' :host-state() rules test. */
|
|
23
|
+
const hostState = computed(() => [props.size && `size size=${props.size}`].filter(Boolean).join(" "));
|
|
24
|
+
function text(value) {
|
|
25
|
+
if (Array.isArray(value)) return value.map(text).join(" ");
|
|
26
|
+
return value === null || value === void 0 || typeof value === "object" ? "" : String(value);
|
|
27
|
+
}
|
|
28
|
+
function attribute(value) {
|
|
29
|
+
if (value === null || value === void 0 || value === false || typeof value === "object" && !Array.isArray(value)) return void 0;
|
|
30
|
+
return value === true ? "" : text(value);
|
|
31
|
+
}
|
|
32
|
+
return (_ctx, _cache) => {
|
|
33
|
+
return openBlock(), createElementBlock("span", mergeProps({ "data-component": "ui-spinner" }, _ctx.$attrs, {
|
|
34
|
+
role: attribute({
|
|
35
|
+
true: "status",
|
|
36
|
+
false: null
|
|
37
|
+
}[`${__props.label !== ""}`]),
|
|
38
|
+
"aria-label": typeof {
|
|
39
|
+
true: __props.label,
|
|
40
|
+
false: null
|
|
41
|
+
}[`${__props.label !== ""}`] === "boolean" ? String({
|
|
42
|
+
true: __props.label,
|
|
43
|
+
false: null
|
|
44
|
+
}[`${__props.label !== ""}`]) : attribute({
|
|
45
|
+
true: __props.label,
|
|
46
|
+
false: null
|
|
47
|
+
}[`${__props.label !== ""}`]),
|
|
48
|
+
"aria-hidden": typeof {
|
|
49
|
+
true: null,
|
|
50
|
+
false: "true"
|
|
51
|
+
}[`${__props.label !== ""}`] === "boolean" ? String({
|
|
52
|
+
true: null,
|
|
53
|
+
false: "true"
|
|
54
|
+
}[`${__props.label !== ""}`]) : attribute({
|
|
55
|
+
true: null,
|
|
56
|
+
false: "true"
|
|
57
|
+
}[`${__props.label !== ""}`]),
|
|
58
|
+
"data-ui-spinner-state": hostState.value || void 0
|
|
59
|
+
}), [createVNode(UiIcon_default, { name: "loader" })], 16, _hoisted_1);
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
}), [["__scopeId", "data-v-3472d01c"]]);
|
|
63
|
+
//#endregion
|
|
64
|
+
export { UiSpinner_default as t };
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { t as _plugin_vue_export_helper_default } from "./_plugin-vue_export-helper.js";
|
|
2
|
+
import { t as UiSpinner_default } from "./UiSpinner.js";
|
|
3
|
+
import { computed, createElementBlock, createElementVNode, createVNode, defineComponent, mergeProps, openBlock, renderSlot, toDisplayString } from "vue";
|
|
4
|
+
//#region .build/vue/UiStatusMessage.vue?vue&type=script&setup=true&lang.ts
|
|
5
|
+
var _hoisted_1 = ["role", "data-ui-status-message-state"];
|
|
6
|
+
var _hoisted_2 = { class: "copy" };
|
|
7
|
+
var _hoisted_3 = ["hidden"];
|
|
8
|
+
var _hoisted_4 = { class: "message" };
|
|
9
|
+
var _hoisted_5 = { class: "action" };
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region .build/vue/UiStatusMessage.vue
|
|
12
|
+
var UiStatusMessage_default = /*#__PURE__*/ _plugin_vue_export_helper_default(/* @__PURE__ */ defineComponent({
|
|
13
|
+
inheritAttrs: false,
|
|
14
|
+
__name: "UiStatusMessage",
|
|
15
|
+
props: {
|
|
16
|
+
heading: { default: "" },
|
|
17
|
+
kind: { default: "empty" },
|
|
18
|
+
layout: { default: "inline" }
|
|
19
|
+
},
|
|
20
|
+
setup(__props) {
|
|
21
|
+
const props = __props;
|
|
22
|
+
/** The values the styles' :host-state() rules test. */
|
|
23
|
+
const hostState = computed(() => [props.kind && `kind kind=${props.kind}`, props.layout && `layout layout=${props.layout}`].filter(Boolean).join(" "));
|
|
24
|
+
function text(value) {
|
|
25
|
+
if (Array.isArray(value)) return value.map(text).join(" ");
|
|
26
|
+
return value === null || value === void 0 || typeof value === "object" ? "" : String(value);
|
|
27
|
+
}
|
|
28
|
+
function attribute(value) {
|
|
29
|
+
if (value === null || value === void 0 || value === false || typeof value === "object" && !Array.isArray(value)) return void 0;
|
|
30
|
+
return value === true ? "" : text(value);
|
|
31
|
+
}
|
|
32
|
+
return (_ctx, _cache) => {
|
|
33
|
+
return openBlock(), createElementBlock("div", mergeProps({ "data-component": "ui-status-message" }, _ctx.$attrs, {
|
|
34
|
+
role: attribute({
|
|
35
|
+
true: "alert",
|
|
36
|
+
false: "status"
|
|
37
|
+
}[`${__props.kind === "error"}`]),
|
|
38
|
+
"data-ui-status-message-state": hostState.value || void 0
|
|
39
|
+
}), [
|
|
40
|
+
createVNode(UiSpinner_default, {
|
|
41
|
+
size: "sm",
|
|
42
|
+
hidden: __props.kind !== "loading"
|
|
43
|
+
}, null, 8, ["hidden"]),
|
|
44
|
+
createElementVNode("span", _hoisted_2, [createElementVNode("strong", {
|
|
45
|
+
class: "heading",
|
|
46
|
+
hidden: !__props.heading
|
|
47
|
+
}, toDisplayString(__props.heading), 9, _hoisted_3), createElementVNode("span", _hoisted_4, [renderSlot(_ctx.$slots, "default", {}, void 0, true)])]),
|
|
48
|
+
createElementVNode("span", _hoisted_5, [renderSlot(_ctx.$slots, "action", {}, void 0, true)])
|
|
49
|
+
], 16, _hoisted_1);
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
}), [["__scopeId", "data-v-a56387a4"]]);
|
|
53
|
+
//#endregion
|
|
54
|
+
export { UiStatusMessage_default as t };
|