@acoyfellow/kumo-vue 0.0.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/kumo.manifest.json +1140 -0
- package/package/button.css +1 -0
- package/package/components/autocomplete.content.d.ts +4 -0
- package/package/components/autocomplete.content.js +21 -0
- package/package/components/autocomplete.d.ts +8 -0
- package/package/components/autocomplete.input-group.d.ts +4 -0
- package/package/components/autocomplete.input-group.js +21 -0
- package/package/components/autocomplete.item.d.ts +4 -0
- package/package/components/autocomplete.item.js +21 -0
- package/package/components/autocomplete.js +102 -0
- package/package/components/autocomplete.list.d.ts +4 -0
- package/package/components/autocomplete.list.js +21 -0
- package/package/components/badge.d.ts +8 -0
- package/package/components/badge.js +57 -0
- package/package/components/banner.d.ts +8 -0
- package/package/components/banner.js +71 -0
- package/package/components/breadcrumbs.current.d.ts +4 -0
- package/package/components/breadcrumbs.current.js +21 -0
- package/package/components/breadcrumbs.d.ts +8 -0
- package/package/components/breadcrumbs.js +86 -0
- package/package/components/breadcrumbs.link.d.ts +4 -0
- package/package/components/breadcrumbs.link.js +21 -0
- package/package/components/breadcrumbs.separator.d.ts +4 -0
- package/package/components/breadcrumbs.separator.js +21 -0
- package/package/components/button.d.ts +8 -0
- package/package/components/button.js +93 -0
- package/package/components/checkbox.d.ts +8 -0
- package/package/components/checkbox.js +77 -0
- package/package/components/clipboard-text.d.ts +8 -0
- package/package/components/clipboard-text.js +54 -0
- package/package/components/cloudflare-logo.d.ts +8 -0
- package/package/components/cloudflare-logo.js +70 -0
- package/package/components/code.d.ts +8 -0
- package/package/components/code.js +56 -0
- package/package/components/combobox.content.d.ts +4 -0
- package/package/components/combobox.content.js +21 -0
- package/package/components/combobox.d.ts +8 -0
- package/package/components/combobox.item.d.ts +4 -0
- package/package/components/combobox.item.js +21 -0
- package/package/components/combobox.js +101 -0
- package/package/components/combobox.list.d.ts +4 -0
- package/package/components/combobox.list.js +21 -0
- package/package/components/combobox.trigger-input.d.ts +4 -0
- package/package/components/combobox.trigger-input.js +21 -0
- package/package/components/command-palette.d.ts +8 -0
- package/package/components/command-palette.highlighted-text.d.ts +4 -0
- package/package/components/command-palette.highlighted-text.js +21 -0
- package/package/components/command-palette.input.d.ts +4 -0
- package/package/components/command-palette.input.js +21 -0
- package/package/components/command-palette.item.d.ts +4 -0
- package/package/components/command-palette.item.js +21 -0
- package/package/components/command-palette.js +126 -0
- package/package/components/command-palette.list.d.ts +4 -0
- package/package/components/command-palette.list.js +21 -0
- package/package/components/command-palette.root.d.ts +4 -0
- package/package/components/command-palette.root.js +21 -0
- package/package/components/date-picker.d.ts +8 -0
- package/package/components/date-picker.js +119 -0
- package/package/components/date-range-picker.d.ts +8 -0
- package/package/components/date-range-picker.js +154 -0
- package/package/components/dialog.close.d.ts +4 -0
- package/package/components/dialog.close.js +21 -0
- package/package/components/dialog.d.ts +8 -0
- package/package/components/dialog.description.d.ts +4 -0
- package/package/components/dialog.description.js +21 -0
- package/package/components/dialog.js +107 -0
- package/package/components/dialog.root.d.ts +4 -0
- package/package/components/dialog.root.js +21 -0
- package/package/components/dialog.title.d.ts +4 -0
- package/package/components/dialog.title.js +21 -0
- package/package/components/dialog.trigger.d.ts +4 -0
- package/package/components/dialog.trigger.js +21 -0
- package/package/components/dropdown-menu.content.d.ts +4 -0
- package/package/components/dropdown-menu.content.js +21 -0
- package/package/components/dropdown-menu.d.ts +8 -0
- package/package/components/dropdown-menu.item.d.ts +4 -0
- package/package/components/dropdown-menu.item.js +21 -0
- package/package/components/dropdown-menu.js +172 -0
- package/package/components/dropdown-menu.sub-content.d.ts +4 -0
- package/package/components/dropdown-menu.sub-content.js +21 -0
- package/package/components/dropdown-menu.sub-trigger.d.ts +4 -0
- package/package/components/dropdown-menu.sub-trigger.js +21 -0
- package/package/components/dropdown-menu.sub.d.ts +4 -0
- package/package/components/dropdown-menu.sub.js +21 -0
- package/package/components/dropdown-menu.trigger.d.ts +4 -0
- package/package/components/dropdown-menu.trigger.js +21 -0
- package/package/components/empty.d.ts +8 -0
- package/package/components/empty.js +68 -0
- package/package/components/field.d.ts +7 -0
- package/package/components/field.js +2 -0
- package/package/components/field.legacy.js +49 -0
- package/package/components/field.native-input.d.ts +4 -0
- package/package/components/field.native-input.js +21 -0
- package/package/components/field.semantic.js +43 -0
- package/package/components/grid-item.d.ts +8 -0
- package/package/components/grid-item.js +52 -0
- package/package/components/grid.d.ts +8 -0
- package/package/components/grid.js +58 -0
- package/package/components/input-area.d.ts +8 -0
- package/package/components/input-area.js +70 -0
- package/package/components/input-group.addon.d.ts +4 -0
- package/package/components/input-group.addon.js +21 -0
- package/package/components/input-group.button.d.ts +4 -0
- package/package/components/input-group.button.js +21 -0
- package/package/components/input-group.d.ts +8 -0
- package/package/components/input-group.input.d.ts +4 -0
- package/package/components/input-group.input.js +21 -0
- package/package/components/input-group.js +96 -0
- package/package/components/input-group.suffix.d.ts +4 -0
- package/package/components/input-group.suffix.js +21 -0
- package/package/components/input.d.ts +8 -0
- package/package/components/input.js +70 -0
- package/package/components/label.d.ts +8 -0
- package/package/components/label.js +56 -0
- package/package/components/layer-card.d.ts +8 -0
- package/package/components/layer-card.js +60 -0
- package/package/components/layer-card.primary.d.ts +4 -0
- package/package/components/layer-card.primary.js +21 -0
- package/package/components/layer-card.secondary.d.ts +4 -0
- package/package/components/layer-card.secondary.js +21 -0
- package/package/components/link.d.ts +8 -0
- package/package/components/link.js +58 -0
- package/package/components/loader.d.ts +8 -0
- package/package/components/loader.js +67 -0
- package/package/components/menu-bar.d.ts +8 -0
- package/package/components/menu-bar.js +76 -0
- package/package/components/meter.d.ts +8 -0
- package/package/components/meter.js +97 -0
- package/package/components/pagination.d.ts +8 -0
- package/package/components/pagination.js +157 -0
- package/package/components/popover.close.d.ts +4 -0
- package/package/components/popover.close.js +21 -0
- package/package/components/popover.content.d.ts +4 -0
- package/package/components/popover.content.js +21 -0
- package/package/components/popover.d.ts +8 -0
- package/package/components/popover.description.d.ts +4 -0
- package/package/components/popover.description.js +21 -0
- package/package/components/popover.js +138 -0
- package/package/components/popover.title.d.ts +4 -0
- package/package/components/popover.title.js +21 -0
- package/package/components/popover.trigger.d.ts +4 -0
- package/package/components/popover.trigger.js +21 -0
- package/package/components/radio.d.ts +8 -0
- package/package/components/radio.js +91 -0
- package/package/components/select.d.ts +8 -0
- package/package/components/select.js +200 -0
- package/package/components/select.option.d.ts +4 -0
- package/package/components/select.option.js +21 -0
- package/package/components/sensitive-input.d.ts +8 -0
- package/package/components/sensitive-input.js +82 -0
- package/package/components/sidebar.collapsible-content.d.ts +4 -0
- package/package/components/sidebar.collapsible-content.js +21 -0
- package/package/components/sidebar.collapsible.d.ts +4 -0
- package/package/components/sidebar.collapsible.js +21 -0
- package/package/components/sidebar.content.d.ts +4 -0
- package/package/components/sidebar.content.js +21 -0
- package/package/components/sidebar.d.ts +8 -0
- package/package/components/sidebar.footer.d.ts +4 -0
- package/package/components/sidebar.footer.js +21 -0
- package/package/components/sidebar.group-label.d.ts +4 -0
- package/package/components/sidebar.group-label.js +21 -0
- package/package/components/sidebar.group.d.ts +4 -0
- package/package/components/sidebar.group.js +21 -0
- package/package/components/sidebar.header.d.ts +4 -0
- package/package/components/sidebar.header.js +21 -0
- package/package/components/sidebar.js +140 -0
- package/package/components/sidebar.menu-button.d.ts +4 -0
- package/package/components/sidebar.menu-button.js +21 -0
- package/package/components/sidebar.menu.d.ts +4 -0
- package/package/components/sidebar.menu.js +21 -0
- package/package/components/sidebar.provider.d.ts +4 -0
- package/package/components/sidebar.provider.js +21 -0
- package/package/components/sidebar.resize-handle.d.ts +4 -0
- package/package/components/sidebar.resize-handle.js +21 -0
- package/package/components/sidebar.sliding-view.d.ts +4 -0
- package/package/components/sidebar.sliding-view.js +21 -0
- package/package/components/sidebar.sliding-views.d.ts +4 -0
- package/package/components/sidebar.sliding-views.js +21 -0
- package/package/components/sidebar.trigger.d.ts +4 -0
- package/package/components/sidebar.trigger.js +21 -0
- package/package/components/surface.d.ts +8 -0
- package/package/components/surface.js +60 -0
- package/package/components/switch.d.ts +8 -0
- package/package/components/switch.js +78 -0
- package/package/components/table-of-contents.d.ts +8 -0
- package/package/components/table-of-contents.group.d.ts +4 -0
- package/package/components/table-of-contents.group.js +21 -0
- package/package/components/table-of-contents.item.d.ts +4 -0
- package/package/components/table-of-contents.item.js +21 -0
- package/package/components/table-of-contents.js +78 -0
- package/package/components/table-of-contents.list.d.ts +4 -0
- package/package/components/table-of-contents.list.js +21 -0
- package/package/components/table-of-contents.title.d.ts +4 -0
- package/package/components/table-of-contents.title.js +21 -0
- package/package/components/table.body.d.ts +4 -0
- package/package/components/table.body.js +21 -0
- package/package/components/table.cell.d.ts +4 -0
- package/package/components/table.cell.js +21 -0
- package/package/components/table.d.ts +8 -0
- package/package/components/table.head.d.ts +4 -0
- package/package/components/table.head.js +21 -0
- package/package/components/table.header.d.ts +4 -0
- package/package/components/table.header.js +21 -0
- package/package/components/table.js +66 -0
- package/package/components/table.row.d.ts +4 -0
- package/package/components/table.row.js +21 -0
- package/package/components/tabs.d.ts +8 -0
- package/package/components/tabs.js +98 -0
- package/package/components/text.d.ts +8 -0
- package/package/components/text.js +64 -0
- package/package/components/toasty.d.ts +8 -0
- package/package/components/toasty.js +101 -0
- package/package/dialog.css +1 -0
- package/package/form.css +1 -0
- package/package/index.d.ts +119 -0
- package/package/index.js +119 -0
- package/package/native-control.css +1 -0
- package/package/navigation.css +1 -0
- package/package/popover.css +1 -0
- package/package/selection-command-date.css +1 -0
- package/package/styles.css +23 -0
- package/package/tokens.css +1 -0
- package/package.json +441 -0
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { defineComponent, h } from "vue";
|
|
2
|
+
const Field = defineComponent({
|
|
3
|
+
name: "KumoField",
|
|
4
|
+
inheritAttrs: false,
|
|
5
|
+
props: {
|
|
6
|
+
id: { type: String, required: true },
|
|
7
|
+
label: { type: String, required: true },
|
|
8
|
+
description: String,
|
|
9
|
+
error: String,
|
|
10
|
+
required: Boolean,
|
|
11
|
+
disabled: Boolean,
|
|
12
|
+
modelValue: { type: [String, Number], default: "" }
|
|
13
|
+
},
|
|
14
|
+
emits: ["update:modelValue", "input", "change", "focus", "blur"],
|
|
15
|
+
setup(props, { attrs, emit }) {
|
|
16
|
+
return () => {
|
|
17
|
+
const descriptionId = props.description ? `${props.id}-description` : void 0;
|
|
18
|
+
const errorId = props.error ? `${props.id}-error` : void 0;
|
|
19
|
+
const describedBy = [descriptionId, errorId].filter(Boolean).join(" ") || void 0;
|
|
20
|
+
return h("div", { class: ["kumo-field", attrs.class] }, [
|
|
21
|
+
h("label", { class: "kumo-field__label", for: props.id }, [props.label, props.required ? h("span", { "aria-hidden": "true" }, " *") : null]),
|
|
22
|
+
props.description ? h("div", { class: "kumo-field__description", id: descriptionId }, props.description) : null,
|
|
23
|
+
h("input", {
|
|
24
|
+
...attrs,
|
|
25
|
+
class: ["kumo-field__input", attrs.class],
|
|
26
|
+
id: props.id,
|
|
27
|
+
value: props.modelValue,
|
|
28
|
+
required: props.required,
|
|
29
|
+
disabled: props.disabled,
|
|
30
|
+
"aria-invalid": props.error ? "true" : void 0,
|
|
31
|
+
"aria-describedby": describedBy,
|
|
32
|
+
onInput: (event) => {
|
|
33
|
+
emit("update:modelValue", event.target.value);
|
|
34
|
+
emit("input", event);
|
|
35
|
+
},
|
|
36
|
+
onChange: (event) => emit("change", event),
|
|
37
|
+
onFocus: (event) => emit("focus", event),
|
|
38
|
+
onBlur: (event) => emit("blur", event)
|
|
39
|
+
}),
|
|
40
|
+
props.error ? h("div", { class: "kumo-field__error", id: errorId, role: "alert" }, props.error) : null
|
|
41
|
+
]);
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
export {
|
|
46
|
+
Field
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export default Field;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { defineComponent as _defineComponent } from 'vue';
|
|
2
|
+
const __sfc__ = /*@__PURE__*/ _defineComponent({
|
|
3
|
+
...{ inheritAttrs: false },
|
|
4
|
+
__name: 'field.native-input',
|
|
5
|
+
setup(__props, { expose: __expose }) {
|
|
6
|
+
__expose();
|
|
7
|
+
const __returned__ = {};
|
|
8
|
+
Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true });
|
|
9
|
+
return __returned__;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
import { renderSlot as _renderSlot, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
|
|
13
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
14
|
+
return (_openBlock(), _createElementBlock("span", _mergeProps(_ctx.$attrs, { "data-kumo-part": "NativeInput" }), [
|
|
15
|
+
_renderSlot(_ctx.$slots, "default")
|
|
16
|
+
], 16 /* FULL_PROPS */));
|
|
17
|
+
}
|
|
18
|
+
__sfc__.render = render;
|
|
19
|
+
__sfc__.name = "KumoFieldNativeInput";
|
|
20
|
+
__sfc__.__file = "components/field.native-input.vue";
|
|
21
|
+
export default __sfc__;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { defineComponent as _defineComponent } from 'vue';
|
|
2
|
+
import { computed, useAttrs, useSlots } from 'vue';
|
|
3
|
+
export const modelDigest = "6680d3b6e5ef5e85c4340fd8369a05f55c9a388c2bfb7ada7da9eeb0eccd29f3";
|
|
4
|
+
export const contentBindingDigest = "a6655036dbbdb2cd56a9e62bf5f2f8f75bb6a7bb4d3c5fbf41726fd8666277cd";
|
|
5
|
+
const __sfc__ = /*@__PURE__*/ _defineComponent({
|
|
6
|
+
__name: 'field',
|
|
7
|
+
props: {
|
|
8
|
+
observable: { type: null, required: false },
|
|
9
|
+
fixture: { type: null, required: false },
|
|
10
|
+
semanticContent: { type: null, required: false }
|
|
11
|
+
},
|
|
12
|
+
setup(__props, { expose: __expose }) {
|
|
13
|
+
__expose();
|
|
14
|
+
const props = __props;
|
|
15
|
+
const slots = useSlots();
|
|
16
|
+
const styles = {};
|
|
17
|
+
const normalizeSlotContent = (value) => Array.isArray(value) ? value.map(normalizeSlotContent).join('') : value == null || typeof value === 'boolean' ? '' : typeof value === 'string' || typeof value === 'number' ? String(value) : normalizeSlotContent(value.children);
|
|
18
|
+
const renderContent = () => props.semanticContent ?? normalizeSlotContent(slots.default?.());
|
|
19
|
+
const fixture = computed(() => props.fixture);
|
|
20
|
+
const semanticValues = Object.assign({}, useAttrs(), props);
|
|
21
|
+
const semanticEqual = (left, right) => JSON.stringify(left) === JSON.stringify(right);
|
|
22
|
+
const fixtureText = (value) => value && typeof value === 'object' ? String(typeof value.text === 'string' ? value.text : '') + (Array.isArray(value.children) ? value.children.map(fixtureText).join('') : '') : '';
|
|
23
|
+
const __returned__ = { modelDigest, contentBindingDigest, props, slots, styles, normalizeSlotContent, renderContent, fixture, semanticValues, semanticEqual, fixtureText };
|
|
24
|
+
Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true });
|
|
25
|
+
return __returned__;
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
|
|
29
|
+
const _hoisted_1 = ["for"];
|
|
30
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
31
|
+
return (_openBlock(), _createElementBlock("div", null, [
|
|
32
|
+
_createElementVNode("label", {
|
|
33
|
+
for: String($setup.props.childId ?? _ctx.$attrs['child-id'] ?? 'field-control')
|
|
34
|
+
}, _toDisplayString($setup.props.label), 9 /* TEXT, PROPS */, _hoisted_1),
|
|
35
|
+
_renderSlot(_ctx.$slots, "default")
|
|
36
|
+
]));
|
|
37
|
+
}
|
|
38
|
+
__sfc__.render = render;
|
|
39
|
+
__sfc__.name = "KumoField";
|
|
40
|
+
__sfc__.__file = "components/field.vue";
|
|
41
|
+
export default __sfc__;
|
|
42
|
+
|
|
43
|
+
export { __sfc__ as Field }
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// @generated by src/kumo/emitters/vue/index.mjs; do not edit
|
|
2
|
+
import type { DefineComponent } from 'vue';
|
|
3
|
+
export interface GridItemProps { [key: string]: unknown }
|
|
4
|
+
declare const component: DefineComponent<GridItemProps>;
|
|
5
|
+
export default component;
|
|
6
|
+
export declare const modelDigest: "40f49eae26c10cb50f9eff28ca613e0eb9e5cf415f57f0b763ec8e8cc46f2a16";
|
|
7
|
+
|
|
8
|
+
export { component as GridItem };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { defineComponent as _defineComponent } from 'vue';
|
|
2
|
+
import { computed, useAttrs, useSlots } from 'vue';
|
|
3
|
+
export const modelDigest = "40f49eae26c10cb50f9eff28ca613e0eb9e5cf415f57f0b763ec8e8cc46f2a16";
|
|
4
|
+
export const contentBindingDigest = "a6655036dbbdb2cd56a9e62bf5f2f8f75bb6a7bb4d3c5fbf41726fd8666277cd";
|
|
5
|
+
const __sfc__ = /*@__PURE__*/ _defineComponent({
|
|
6
|
+
__name: 'grid-item',
|
|
7
|
+
props: {
|
|
8
|
+
children: { type: null, required: false },
|
|
9
|
+
className: { type: String, required: false },
|
|
10
|
+
fixture: { type: null, required: false },
|
|
11
|
+
semanticContent: { type: null, required: false }
|
|
12
|
+
},
|
|
13
|
+
setup(__props, { expose: __expose }) {
|
|
14
|
+
__expose();
|
|
15
|
+
const props = __props;
|
|
16
|
+
const slots = useSlots();
|
|
17
|
+
const styles = {};
|
|
18
|
+
const normalizeSlotContent = (value) => Array.isArray(value) ? value.map(normalizeSlotContent).join('') : value == null || typeof value === 'boolean' ? '' : typeof value === 'string' || typeof value === 'number' ? String(value) : normalizeSlotContent(value.children);
|
|
19
|
+
const renderContent = () => props.semanticContent ?? normalizeSlotContent(slots.default?.());
|
|
20
|
+
const fixture = computed(() => props.fixture);
|
|
21
|
+
const semanticValues = Object.assign({}, useAttrs(), props);
|
|
22
|
+
const semanticEqual = (left, right) => JSON.stringify(left) === JSON.stringify(right);
|
|
23
|
+
const fixtureText = (value) => value && typeof value === 'object' ? String(typeof value.text === 'string' ? value.text : '') + (Array.isArray(value.children) ? value.children.map(fixtureText).join('') : '') : '';
|
|
24
|
+
const __returned__ = { modelDigest, contentBindingDigest, props, slots, styles, normalizeSlotContent, renderContent, fixture, semanticValues, semanticEqual, fixtureText };
|
|
25
|
+
Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true });
|
|
26
|
+
return __returned__;
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, renderSlot as _renderSlot, normalizeClass as _normalizeClass } from "vue";
|
|
30
|
+
const _hoisted_1 = {
|
|
31
|
+
key: 0,
|
|
32
|
+
class: "p-4"
|
|
33
|
+
};
|
|
34
|
+
const _hoisted_2 = { key: 1 };
|
|
35
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
36
|
+
return ($setup.semanticEqual($setup.renderContent(), "Cell") && Object.prototype.hasOwnProperty.call($setup.semanticValues, "className") && $setup.semanticEqual($setup.semanticValues.className, "p-4"))
|
|
37
|
+
? (_openBlock(), _createElementBlock("div", _hoisted_1, _toDisplayString($setup.renderContent()), 1 /* TEXT */))
|
|
38
|
+
: ($setup.semanticEqual($setup.renderContent(), "Cell"))
|
|
39
|
+
? (_openBlock(), _createElementBlock("div", _hoisted_2, _toDisplayString($setup.renderContent()), 1 /* TEXT */))
|
|
40
|
+
: (_openBlock(), _createElementBlock("div", {
|
|
41
|
+
key: 2,
|
|
42
|
+
class: _normalizeClass([$setup.styles["root"]])
|
|
43
|
+
}, [
|
|
44
|
+
_renderSlot(_ctx.$slots, "default")
|
|
45
|
+
], 2 /* CLASS */));
|
|
46
|
+
}
|
|
47
|
+
__sfc__.render = render;
|
|
48
|
+
__sfc__.name = "KumoGridItem";
|
|
49
|
+
__sfc__.__file = "components/grid-item.vue";
|
|
50
|
+
export default __sfc__;
|
|
51
|
+
|
|
52
|
+
export { __sfc__ as GridItem }
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// @generated by src/kumo/emitters/vue/index.mjs; do not edit
|
|
2
|
+
import type { DefineComponent } from 'vue';
|
|
3
|
+
export interface GridProps { [key: string]: unknown }
|
|
4
|
+
declare const component: DefineComponent<GridProps>;
|
|
5
|
+
export default component;
|
|
6
|
+
export declare const modelDigest: "77368ecd52b54b2d85a270ad010c77b8e23e8c0be9b82414610908b3a84f636d";
|
|
7
|
+
|
|
8
|
+
export { component as Grid };
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { defineComponent as _defineComponent } from 'vue';
|
|
2
|
+
import { computed, useAttrs, useSlots } from 'vue';
|
|
3
|
+
export const modelDigest = "77368ecd52b54b2d85a270ad010c77b8e23e8c0be9b82414610908b3a84f636d";
|
|
4
|
+
export const contentBindingDigest = "a6655036dbbdb2cd56a9e62bf5f2f8f75bb6a7bb4d3c5fbf41726fd8666277cd";
|
|
5
|
+
const __sfc__ = /*@__PURE__*/ _defineComponent({
|
|
6
|
+
__name: 'grid',
|
|
7
|
+
props: {
|
|
8
|
+
children: { type: null, required: false },
|
|
9
|
+
className: { type: String, required: false },
|
|
10
|
+
gap: { type: String, required: false, default: "base" },
|
|
11
|
+
mobileDivider: { type: Boolean, required: false },
|
|
12
|
+
variant: { type: null, required: false },
|
|
13
|
+
fixture: { type: null, required: false },
|
|
14
|
+
semanticContent: { type: null, required: false }
|
|
15
|
+
},
|
|
16
|
+
setup(__props, { expose: __expose }) {
|
|
17
|
+
__expose();
|
|
18
|
+
const props = __props;
|
|
19
|
+
const slots = useSlots();
|
|
20
|
+
const styles = {};
|
|
21
|
+
const normalizeSlotContent = (value) => Array.isArray(value) ? value.map(normalizeSlotContent).join('') : value == null || typeof value === 'boolean' ? '' : typeof value === 'string' || typeof value === 'number' ? String(value) : normalizeSlotContent(value.children);
|
|
22
|
+
const renderContent = () => props.semanticContent ?? normalizeSlotContent(slots.default?.());
|
|
23
|
+
const fixture = computed(() => props.fixture);
|
|
24
|
+
const semanticValues = Object.assign({}, useAttrs(), props);
|
|
25
|
+
const semanticEqual = (left, right) => JSON.stringify(left) === JSON.stringify(right);
|
|
26
|
+
const fixtureText = (value) => value && typeof value === 'object' ? String(typeof value.text === 'string' ? value.text : '') + (Array.isArray(value.children) ? value.children.map(fixtureText).join('') : '') : '';
|
|
27
|
+
const __returned__ = { modelDigest, contentBindingDigest, props, slots, styles, normalizeSlotContent, renderContent, fixture, semanticValues, semanticEqual, fixtureText };
|
|
28
|
+
Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true });
|
|
29
|
+
return __returned__;
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, renderSlot as _renderSlot, normalizeClass as _normalizeClass } from "vue";
|
|
33
|
+
const _hoisted_1 = {
|
|
34
|
+
key: 0,
|
|
35
|
+
class: "grid-cols-2 gap-0"
|
|
36
|
+
};
|
|
37
|
+
const _hoisted_2 = {
|
|
38
|
+
key: 1,
|
|
39
|
+
class: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-2"
|
|
40
|
+
};
|
|
41
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
42
|
+
return ($setup.semanticEqual($setup.renderContent(), "Two") && Object.prototype.hasOwnProperty.call($setup.semanticValues, "gap") && $setup.semanticEqual($setup.semanticValues.gap, "none") && Object.prototype.hasOwnProperty.call($setup.semanticValues, "variant") && $setup.semanticEqual($setup.semanticValues.variant, "side-by-side"))
|
|
43
|
+
? (_openBlock(), _createElementBlock("div", _hoisted_1, _toDisplayString($setup.renderContent()), 1 /* TEXT */))
|
|
44
|
+
: ($setup.semanticEqual($setup.renderContent(), "Cells") && Object.prototype.hasOwnProperty.call($setup.semanticValues, "variant") && $setup.semanticEqual($setup.semanticValues.variant, "3up"))
|
|
45
|
+
? (_openBlock(), _createElementBlock("div", _hoisted_2, _toDisplayString($setup.renderContent()), 1 /* TEXT */))
|
|
46
|
+
: (_openBlock(), _createElementBlock("div", {
|
|
47
|
+
key: 2,
|
|
48
|
+
class: _normalizeClass([$setup.styles["root"]])
|
|
49
|
+
}, [
|
|
50
|
+
_renderSlot(_ctx.$slots, "default")
|
|
51
|
+
], 2 /* CLASS */));
|
|
52
|
+
}
|
|
53
|
+
__sfc__.render = render;
|
|
54
|
+
__sfc__.name = "KumoGrid";
|
|
55
|
+
__sfc__.__file = "components/grid.vue";
|
|
56
|
+
export default __sfc__;
|
|
57
|
+
|
|
58
|
+
export { __sfc__ as Grid }
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// @generated by src/kumo/emitters/vue/index.mjs; do not edit
|
|
2
|
+
import type { DefineComponent } from 'vue';
|
|
3
|
+
export interface InputAreaProps { [key: string]: unknown }
|
|
4
|
+
declare const component: DefineComponent<InputAreaProps>;
|
|
5
|
+
export default component;
|
|
6
|
+
export declare const modelDigest: "3f2ca47762723bd72e47c5da8490058c226bbee67e5518d548fc19ba2c467f14";
|
|
7
|
+
|
|
8
|
+
export { component as InputArea };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { defineComponent as _defineComponent } from 'vue';
|
|
2
|
+
import { computed, useAttrs, useId, useSlots } from 'vue';
|
|
3
|
+
export const modelDigest = "3f2ca47762723bd72e47c5da8490058c226bbee67e5518d548fc19ba2c467f14";
|
|
4
|
+
export const contentBindingDigest = "a6655036dbbdb2cd56a9e62bf5f2f8f75bb6a7bb4d3c5fbf41726fd8666277cd";
|
|
5
|
+
const __sfc__ = /*@__PURE__*/ _defineComponent({
|
|
6
|
+
...{ inheritAttrs: false },
|
|
7
|
+
__name: 'input-area',
|
|
8
|
+
props: {
|
|
9
|
+
observable: { type: null, required: false },
|
|
10
|
+
defaultValue: { type: String, required: false },
|
|
11
|
+
disabled: { type: Boolean, required: false },
|
|
12
|
+
label: { type: String, required: false },
|
|
13
|
+
onChange: { type: null, required: false },
|
|
14
|
+
"aria-label": { type: null, required: false },
|
|
15
|
+
ariaLabel: { type: null, required: false },
|
|
16
|
+
fixture: { type: null, required: false },
|
|
17
|
+
semanticContent: { type: null, required: false }
|
|
18
|
+
},
|
|
19
|
+
setup(__props, { expose: __expose }) {
|
|
20
|
+
__expose();
|
|
21
|
+
const props = __props;
|
|
22
|
+
const nativeAttrs = computed(() => Object.fromEntries(Object.entries(useAttrs()).filter(([name]) => name !== 'id').map(([name, value]) => [name.replace(/[A-Z]/g, letter => '-' + letter.toLowerCase()), value])));
|
|
23
|
+
const nativeAriaLabel = computed(() => props.ariaLabel ?? props['aria-label']);
|
|
24
|
+
const controlId = useId();
|
|
25
|
+
function handleNativeInput(event) {
|
|
26
|
+
props.onChange?.(event.currentTarget.value);
|
|
27
|
+
}
|
|
28
|
+
const slots = useSlots();
|
|
29
|
+
const styles = {};
|
|
30
|
+
const normalizeSlotContent = (value) => Array.isArray(value) ? value.map(normalizeSlotContent).join('') : value == null || typeof value === 'boolean' ? '' : typeof value === 'string' || typeof value === 'number' ? String(value) : normalizeSlotContent(value.children);
|
|
31
|
+
const renderContent = () => props.semanticContent ?? normalizeSlotContent(slots.default?.());
|
|
32
|
+
const fixture = computed(() => props.fixture);
|
|
33
|
+
const semanticValues = Object.assign({}, useAttrs(), props);
|
|
34
|
+
const semanticEqual = (left, right) => JSON.stringify(left) === JSON.stringify(right);
|
|
35
|
+
const fixtureText = (value) => value && typeof value === 'object' ? String(typeof value.text === 'string' ? value.text : '') + (Array.isArray(value.children) ? value.children.map(fixtureText).join('') : '') : '';
|
|
36
|
+
const __returned__ = { modelDigest, contentBindingDigest, props, nativeAttrs, nativeAriaLabel, controlId, handleNativeInput, slots, styles, normalizeSlotContent, renderContent, fixture, semanticValues, semanticEqual, fixtureText };
|
|
37
|
+
Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true });
|
|
38
|
+
return __returned__;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
|
|
42
|
+
const _hoisted_1 = { key: 0 };
|
|
43
|
+
const _hoisted_2 = ["for"];
|
|
44
|
+
const _hoisted_3 = ["id", "aria-label", "value", "disabled"];
|
|
45
|
+
const _hoisted_4 = ["aria-label", "value", "disabled"];
|
|
46
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
47
|
+
return ($setup.props.label !== undefined)
|
|
48
|
+
? (_openBlock(), _createElementBlock("div", _hoisted_1, [
|
|
49
|
+
_createElementVNode("label", { for: $setup.controlId }, _toDisplayString($setup.props.label), 9 /* TEXT, PROPS */, _hoisted_2),
|
|
50
|
+
_createElementVNode("textarea", _mergeProps($setup.nativeAttrs, {
|
|
51
|
+
id: $setup.controlId,
|
|
52
|
+
"aria-label": $setup.nativeAriaLabel,
|
|
53
|
+
value: $setup.props.defaultValue,
|
|
54
|
+
disabled: $setup.props.disabled || undefined,
|
|
55
|
+
onInput: $setup.handleNativeInput
|
|
56
|
+
}), _toDisplayString($setup.props.defaultValue), 17 /* TEXT, FULL_PROPS */, _hoisted_3)
|
|
57
|
+
]))
|
|
58
|
+
: (_openBlock(), _createElementBlock("textarea", _mergeProps({ key: 1 }, $setup.nativeAttrs, {
|
|
59
|
+
"aria-label": $setup.nativeAriaLabel,
|
|
60
|
+
value: $setup.props.defaultValue,
|
|
61
|
+
disabled: $setup.props.disabled || undefined,
|
|
62
|
+
onInput: $setup.handleNativeInput
|
|
63
|
+
}), _toDisplayString($setup.props.defaultValue), 17 /* TEXT, FULL_PROPS */, _hoisted_4));
|
|
64
|
+
}
|
|
65
|
+
__sfc__.render = render;
|
|
66
|
+
__sfc__.name = "KumoInputArea";
|
|
67
|
+
__sfc__.__file = "components/input-area.vue";
|
|
68
|
+
export default __sfc__;
|
|
69
|
+
|
|
70
|
+
export { __sfc__ as InputArea }
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { defineComponent as _defineComponent } from 'vue';
|
|
2
|
+
const __sfc__ = /*@__PURE__*/ _defineComponent({
|
|
3
|
+
...{ inheritAttrs: false },
|
|
4
|
+
__name: 'input-group.addon',
|
|
5
|
+
setup(__props, { expose: __expose }) {
|
|
6
|
+
__expose();
|
|
7
|
+
const __returned__ = {};
|
|
8
|
+
Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true });
|
|
9
|
+
return __returned__;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
import { renderSlot as _renderSlot, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
|
|
13
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
14
|
+
return (_openBlock(), _createElementBlock("span", _mergeProps(_ctx.$attrs, { "data-kumo-part": "Addon" }), [
|
|
15
|
+
_renderSlot(_ctx.$slots, "default")
|
|
16
|
+
], 16 /* FULL_PROPS */));
|
|
17
|
+
}
|
|
18
|
+
__sfc__.render = render;
|
|
19
|
+
__sfc__.name = "KumoInputGroupAddon";
|
|
20
|
+
__sfc__.__file = "components/input-group.addon.vue";
|
|
21
|
+
export default __sfc__;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { defineComponent as _defineComponent } from 'vue';
|
|
2
|
+
const __sfc__ = /*@__PURE__*/ _defineComponent({
|
|
3
|
+
...{ inheritAttrs: false },
|
|
4
|
+
__name: 'input-group.button',
|
|
5
|
+
setup(__props, { expose: __expose }) {
|
|
6
|
+
__expose();
|
|
7
|
+
const __returned__ = {};
|
|
8
|
+
Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true });
|
|
9
|
+
return __returned__;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
import { renderSlot as _renderSlot, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
|
|
13
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
14
|
+
return (_openBlock(), _createElementBlock("span", _mergeProps(_ctx.$attrs, { "data-kumo-part": "Button" }), [
|
|
15
|
+
_renderSlot(_ctx.$slots, "default")
|
|
16
|
+
], 16 /* FULL_PROPS */));
|
|
17
|
+
}
|
|
18
|
+
__sfc__.render = render;
|
|
19
|
+
__sfc__.name = "KumoInputGroupButton";
|
|
20
|
+
__sfc__.__file = "components/input-group.button.vue";
|
|
21
|
+
export default __sfc__;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// @generated by src/kumo/emitters/vue/index.mjs; do not edit
|
|
2
|
+
import type { DefineComponent } from 'vue';
|
|
3
|
+
export interface InputGroupProps { [key: string]: unknown }
|
|
4
|
+
declare const component: DefineComponent<InputGroupProps>;
|
|
5
|
+
export default component;
|
|
6
|
+
export declare const modelDigest: "aec5871cdfdf97c938fb06aeb6a15dedd413550ce59bca231f5fe2e61f6d347c";
|
|
7
|
+
|
|
8
|
+
export { component as InputGroup };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { defineComponent as _defineComponent } from 'vue';
|
|
2
|
+
const __sfc__ = /*@__PURE__*/ _defineComponent({
|
|
3
|
+
...{ inheritAttrs: false },
|
|
4
|
+
__name: 'input-group.input',
|
|
5
|
+
setup(__props, { expose: __expose }) {
|
|
6
|
+
__expose();
|
|
7
|
+
const __returned__ = {};
|
|
8
|
+
Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true });
|
|
9
|
+
return __returned__;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
import { renderSlot as _renderSlot, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
|
|
13
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
14
|
+
return (_openBlock(), _createElementBlock("span", _mergeProps(_ctx.$attrs, { "data-kumo-part": "Input" }), [
|
|
15
|
+
_renderSlot(_ctx.$slots, "default")
|
|
16
|
+
], 16 /* FULL_PROPS */));
|
|
17
|
+
}
|
|
18
|
+
__sfc__.render = render;
|
|
19
|
+
__sfc__.name = "KumoInputGroupInput";
|
|
20
|
+
__sfc__.__file = "components/input-group.input.vue";
|
|
21
|
+
export default __sfc__;
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { defineComponent as _defineComponent } from 'vue';
|
|
2
|
+
import { computed, ref, useAttrs, useId, useSlots } from 'vue';
|
|
3
|
+
export const modelDigest = "aec5871cdfdf97c938fb06aeb6a15dedd413550ce59bca231f5fe2e61f6d347c";
|
|
4
|
+
export const contentBindingDigest = "a6655036dbbdb2cd56a9e62bf5f2f8f75bb6a7bb4d3c5fbf41726fd8666277cd";
|
|
5
|
+
const __sfc__ = /*@__PURE__*/ _defineComponent({
|
|
6
|
+
...{ inheritAttrs: false },
|
|
7
|
+
__name: 'input-group',
|
|
8
|
+
props: {
|
|
9
|
+
observable: { type: null, required: false },
|
|
10
|
+
fixture: { type: null, required: false },
|
|
11
|
+
semanticContent: { type: null, required: false }
|
|
12
|
+
},
|
|
13
|
+
setup(__props, { expose: __expose }) {
|
|
14
|
+
__expose();
|
|
15
|
+
const props = __props;
|
|
16
|
+
const inputGroupFixture = computed(() => props.fixture);
|
|
17
|
+
const fixtureChildren = (node) => node?.children ?? [];
|
|
18
|
+
const fixturePart = (name) => fixtureChildren(inputGroupFixture.value).find(node => node.export === name);
|
|
19
|
+
const partText = (node) => node ? String(node.text ?? '') + fixtureChildren(node).map(partText).join('') : '';
|
|
20
|
+
const inputGroupProps = computed(() => inputGroupFixture.value?.props ?? {});
|
|
21
|
+
const inputPart = computed(() => fixturePart('.Input'));
|
|
22
|
+
const inputId = useId();
|
|
23
|
+
const inputValue = ref('');
|
|
24
|
+
function trackInput(event) { inputValue.value = event.currentTarget.value; }
|
|
25
|
+
const slots = useSlots();
|
|
26
|
+
const styles = {};
|
|
27
|
+
const normalizeSlotContent = (value) => Array.isArray(value) ? value.map(normalizeSlotContent).join('') : value == null || typeof value === 'boolean' ? '' : typeof value === 'string' || typeof value === 'number' ? String(value) : normalizeSlotContent(value.children);
|
|
28
|
+
const renderContent = () => props.semanticContent ?? normalizeSlotContent(slots.default?.());
|
|
29
|
+
const fixture = computed(() => props.fixture);
|
|
30
|
+
const semanticValues = Object.assign({}, useAttrs(), props);
|
|
31
|
+
const semanticEqual = (left, right) => JSON.stringify(left) === JSON.stringify(right);
|
|
32
|
+
const fixtureText = (value) => value && typeof value === 'object' ? String(typeof value.text === 'string' ? value.text : '') + (Array.isArray(value.children) ? value.children.map(fixtureText).join('') : '') : '';
|
|
33
|
+
const __returned__ = { modelDigest, contentBindingDigest, props, inputGroupFixture, fixtureChildren, fixturePart, partText, inputGroupProps, inputPart, inputId, inputValue, trackInput, slots, styles, normalizeSlotContent, renderContent, fixture, semanticValues, semanticEqual, fixtureText };
|
|
34
|
+
Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true });
|
|
35
|
+
return __returned__;
|
|
36
|
+
}
|
|
37
|
+
});
|
|
38
|
+
import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, mergeProps as _mergeProps } from "vue";
|
|
39
|
+
const _hoisted_1 = ["for"];
|
|
40
|
+
const _hoisted_2 = { key: 1 };
|
|
41
|
+
const _hoisted_3 = {
|
|
42
|
+
key: 0,
|
|
43
|
+
"data-kumo-part": "Addon"
|
|
44
|
+
};
|
|
45
|
+
const _hoisted_4 = ["id", "aria-label", "disabled", "required", "value"];
|
|
46
|
+
const _hoisted_5 = ["data-variant"];
|
|
47
|
+
const _hoisted_6 = {
|
|
48
|
+
key: 3,
|
|
49
|
+
"data-kumo-part": "Suffix"
|
|
50
|
+
};
|
|
51
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
52
|
+
return (_openBlock(), _createElementBlock("div", _mergeProps(_ctx.$attrs, { "data-kumo-component": "InputGroup" }), [
|
|
53
|
+
($setup.inputGroupProps.label !== undefined)
|
|
54
|
+
? (_openBlock(), _createElementBlock("label", {
|
|
55
|
+
key: 0,
|
|
56
|
+
for: $setup.inputId
|
|
57
|
+
}, _toDisplayString($setup.inputGroupProps.label), 9 /* TEXT, PROPS */, _hoisted_1))
|
|
58
|
+
: _createCommentVNode("v-if", true),
|
|
59
|
+
($setup.inputGroupProps.description !== undefined)
|
|
60
|
+
? (_openBlock(), _createElementBlock("p", _hoisted_2, _toDisplayString($setup.inputGroupProps.description), 1 /* TEXT */))
|
|
61
|
+
: _createCommentVNode("v-if", true),
|
|
62
|
+
(_openBlock(true), _createElementBlock(_Fragment, null, _renderList($setup.fixtureChildren($setup.inputGroupFixture), (part, index) => {
|
|
63
|
+
return (_openBlock(), _createElementBlock(_Fragment, {
|
|
64
|
+
key: part.export ?? index
|
|
65
|
+
}, [
|
|
66
|
+
(part.export === '.Addon')
|
|
67
|
+
? (_openBlock(), _createElementBlock("span", _hoisted_3, _toDisplayString($setup.partText(part)), 1 /* TEXT */))
|
|
68
|
+
: (part.export === '.Input')
|
|
69
|
+
? (_openBlock(), _createElementBlock("input", {
|
|
70
|
+
key: 1,
|
|
71
|
+
id: $setup.inputId,
|
|
72
|
+
"aria-label": $setup.inputPart?.props?.['aria-label'],
|
|
73
|
+
disabled: $setup.props.disabled || undefined,
|
|
74
|
+
required: $setup.inputGroupProps.required,
|
|
75
|
+
value: $setup.inputValue,
|
|
76
|
+
onInput: $setup.trackInput
|
|
77
|
+
}, null, 40 /* PROPS, NEED_HYDRATION */, _hoisted_4))
|
|
78
|
+
: (part.export === '.Button')
|
|
79
|
+
? (_openBlock(), _createElementBlock("button", {
|
|
80
|
+
key: 2,
|
|
81
|
+
type: "button",
|
|
82
|
+
"data-variant": part.props?.variant
|
|
83
|
+
}, _toDisplayString($setup.partText(part)), 9 /* TEXT, PROPS */, _hoisted_5))
|
|
84
|
+
: (part.export === '.Suffix')
|
|
85
|
+
? (_openBlock(), _createElementBlock("span", _hoisted_6, _toDisplayString($setup.partText(part)), 1 /* TEXT */))
|
|
86
|
+
: _createCommentVNode("v-if", true)
|
|
87
|
+
], 64 /* STABLE_FRAGMENT */));
|
|
88
|
+
}), 128 /* KEYED_FRAGMENT */))
|
|
89
|
+
], 16 /* FULL_PROPS */));
|
|
90
|
+
}
|
|
91
|
+
__sfc__.render = render;
|
|
92
|
+
__sfc__.name = "KumoInputGroup";
|
|
93
|
+
__sfc__.__file = "components/input-group.vue";
|
|
94
|
+
export default __sfc__;
|
|
95
|
+
|
|
96
|
+
export { __sfc__ as InputGroup }
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { defineComponent as _defineComponent } from 'vue';
|
|
2
|
+
const __sfc__ = /*@__PURE__*/ _defineComponent({
|
|
3
|
+
...{ inheritAttrs: false },
|
|
4
|
+
__name: 'input-group.suffix',
|
|
5
|
+
setup(__props, { expose: __expose }) {
|
|
6
|
+
__expose();
|
|
7
|
+
const __returned__ = {};
|
|
8
|
+
Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true });
|
|
9
|
+
return __returned__;
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
import { renderSlot as _renderSlot, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
|
|
13
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
14
|
+
return (_openBlock(), _createElementBlock("span", _mergeProps(_ctx.$attrs, { "data-kumo-part": "Suffix" }), [
|
|
15
|
+
_renderSlot(_ctx.$slots, "default")
|
|
16
|
+
], 16 /* FULL_PROPS */));
|
|
17
|
+
}
|
|
18
|
+
__sfc__.render = render;
|
|
19
|
+
__sfc__.name = "KumoInputGroupSuffix";
|
|
20
|
+
__sfc__.__file = "components/input-group.suffix.vue";
|
|
21
|
+
export default __sfc__;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// @generated by src/kumo/emitters/vue/index.mjs; do not edit
|
|
2
|
+
import type { DefineComponent } from 'vue';
|
|
3
|
+
export interface InputProps { [key: string]: unknown }
|
|
4
|
+
declare const component: DefineComponent<InputProps>;
|
|
5
|
+
export default component;
|
|
6
|
+
export declare const modelDigest: "ccce2fdcca8c5218c94732f83446c137e03d4b7dd9548ffde312605374734e2f";
|
|
7
|
+
|
|
8
|
+
export { component as Input };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { defineComponent as _defineComponent } from 'vue';
|
|
2
|
+
import { computed, useAttrs, useId, useSlots } from 'vue';
|
|
3
|
+
export const modelDigest = "ccce2fdcca8c5218c94732f83446c137e03d4b7dd9548ffde312605374734e2f";
|
|
4
|
+
export const contentBindingDigest = "a6655036dbbdb2cd56a9e62bf5f2f8f75bb6a7bb4d3c5fbf41726fd8666277cd";
|
|
5
|
+
const __sfc__ = /*@__PURE__*/ _defineComponent({
|
|
6
|
+
...{ inheritAttrs: false },
|
|
7
|
+
__name: 'input',
|
|
8
|
+
props: {
|
|
9
|
+
observable: { type: null, required: false },
|
|
10
|
+
defaultValue: { type: String, required: false },
|
|
11
|
+
disabled: { type: Boolean, required: false },
|
|
12
|
+
label: { type: String, required: false },
|
|
13
|
+
onChange: { type: null, required: false },
|
|
14
|
+
"aria-label": { type: null, required: false },
|
|
15
|
+
ariaLabel: { type: null, required: false },
|
|
16
|
+
fixture: { type: null, required: false },
|
|
17
|
+
semanticContent: { type: null, required: false }
|
|
18
|
+
},
|
|
19
|
+
setup(__props, { expose: __expose }) {
|
|
20
|
+
__expose();
|
|
21
|
+
const props = __props;
|
|
22
|
+
const nativeAttrs = computed(() => Object.fromEntries(Object.entries(useAttrs()).filter(([name]) => name !== 'id').map(([name, value]) => [name.replace(/[A-Z]/g, letter => '-' + letter.toLowerCase()), value])));
|
|
23
|
+
const nativeAriaLabel = computed(() => props.ariaLabel ?? props['aria-label']);
|
|
24
|
+
const controlId = useId();
|
|
25
|
+
function handleNativeInput(event) {
|
|
26
|
+
props.onChange?.(event.currentTarget.value);
|
|
27
|
+
}
|
|
28
|
+
const slots = useSlots();
|
|
29
|
+
const styles = {};
|
|
30
|
+
const normalizeSlotContent = (value) => Array.isArray(value) ? value.map(normalizeSlotContent).join('') : value == null || typeof value === 'boolean' ? '' : typeof value === 'string' || typeof value === 'number' ? String(value) : normalizeSlotContent(value.children);
|
|
31
|
+
const renderContent = () => props.semanticContent ?? normalizeSlotContent(slots.default?.());
|
|
32
|
+
const fixture = computed(() => props.fixture);
|
|
33
|
+
const semanticValues = Object.assign({}, useAttrs(), props);
|
|
34
|
+
const semanticEqual = (left, right) => JSON.stringify(left) === JSON.stringify(right);
|
|
35
|
+
const fixtureText = (value) => value && typeof value === 'object' ? String(typeof value.text === 'string' ? value.text : '') + (Array.isArray(value.children) ? value.children.map(fixtureText).join('') : '') : '';
|
|
36
|
+
const __returned__ = { modelDigest, contentBindingDigest, props, nativeAttrs, nativeAriaLabel, controlId, handleNativeInput, slots, styles, normalizeSlotContent, renderContent, fixture, semanticValues, semanticEqual, fixtureText };
|
|
37
|
+
Object.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true });
|
|
38
|
+
return __returned__;
|
|
39
|
+
}
|
|
40
|
+
});
|
|
41
|
+
import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from "vue";
|
|
42
|
+
const _hoisted_1 = { key: 0 };
|
|
43
|
+
const _hoisted_2 = ["for"];
|
|
44
|
+
const _hoisted_3 = ["id", "aria-label", "value", "disabled"];
|
|
45
|
+
const _hoisted_4 = ["aria-label", "value", "disabled"];
|
|
46
|
+
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
47
|
+
return ($setup.props.label !== undefined)
|
|
48
|
+
? (_openBlock(), _createElementBlock("div", _hoisted_1, [
|
|
49
|
+
_createElementVNode("label", { for: $setup.controlId }, _toDisplayString($setup.props.label), 9 /* TEXT, PROPS */, _hoisted_2),
|
|
50
|
+
_createElementVNode("input", _mergeProps($setup.nativeAttrs, {
|
|
51
|
+
id: $setup.controlId,
|
|
52
|
+
"aria-label": $setup.nativeAriaLabel,
|
|
53
|
+
value: $setup.props.defaultValue,
|
|
54
|
+
disabled: $setup.props.disabled || undefined,
|
|
55
|
+
onInput: $setup.handleNativeInput
|
|
56
|
+
}), null, 16 /* FULL_PROPS */, _hoisted_3)
|
|
57
|
+
]))
|
|
58
|
+
: (_openBlock(), _createElementBlock("input", _mergeProps({ key: 1 }, $setup.nativeAttrs, {
|
|
59
|
+
"aria-label": $setup.nativeAriaLabel,
|
|
60
|
+
value: $setup.props.defaultValue,
|
|
61
|
+
disabled: $setup.props.disabled || undefined,
|
|
62
|
+
onInput: $setup.handleNativeInput
|
|
63
|
+
}), null, 16 /* FULL_PROPS */, _hoisted_4));
|
|
64
|
+
}
|
|
65
|
+
__sfc__.render = render;
|
|
66
|
+
__sfc__.name = "KumoInput";
|
|
67
|
+
__sfc__.__file = "components/input.vue";
|
|
68
|
+
export default __sfc__;
|
|
69
|
+
|
|
70
|
+
export { __sfc__ as Input }
|