@xy-planning-network/trees 0.9.2 → 0.9.3-rc2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xy-planning-network/trees",
3
- "version": "0.9.2",
3
+ "version": "0.9.3-rc2",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "repository": "github:xy-planning-network/trees",
@@ -0,0 +1,73 @@
1
+ <script setup lang="ts">
2
+ import InputLabel from "./InputLabel.vue"
3
+ import InputHelp from "./InputHelp.vue"
4
+ import InputError from "./InputError.vue"
5
+ import {
6
+ useInputField,
7
+ defaultInputProps,
8
+ toDatetimeLocal,
9
+ } from "@/composables/forms"
10
+ import type { DateTimeInput } from "@/composables/forms"
11
+ import { computed, ref } from "vue"
12
+
13
+ defineOptions({
14
+ inheritAttrs: false,
15
+ })
16
+
17
+ const props = withDefaults(defineProps<DateTimeInput>(), defaultInputProps)
18
+
19
+ defineEmits(["update:modelValue", "update:error"])
20
+ const input = ref<HTMLInputElement | null>(null)
21
+ const {
22
+ errorState,
23
+ modelState,
24
+ inputID,
25
+ isRequired,
26
+ onInvalid,
27
+ inputValidation,
28
+ } = useInputField(props)
29
+
30
+ const inputValue = computed(() => toDatetimeLocal(modelState.value))
31
+
32
+ const onInput = (e: Event) => {
33
+ let val = (e.target as HTMLInputElement).value
34
+
35
+ modelState.value = val ? new Date(val).toISOString() : val
36
+
37
+ inputValidation(e)
38
+ }
39
+ </script>
40
+
41
+ <template>
42
+ <div>
43
+ <InputLabel
44
+ :id="`${inputID}-label`"
45
+ class="mb-2"
46
+ :for="inputID"
47
+ :label="label"
48
+ :required="isRequired"
49
+ />
50
+ <input
51
+ :id="inputID"
52
+ ref="input"
53
+ :aria-labelledby="label ? `${inputID}-label` : undefined"
54
+ :aria-describedby="help ? `${inputID}-help` : undefined"
55
+ :aria-errormessage="errorState ? `${inputID}-error` : undefined"
56
+ :class="[
57
+ 'block w-full rounded-md border-0 py-2 shadow-sm ring-1 ring-inset focus:ring-2 sm:text-sm sm:leading-6',
58
+ 'disabled:cursor-not-allowed disabled:bg-gray-50 disabled:text-gray-700 disabled:ring-gray-200',
59
+ errorState
60
+ ? 'text-red-900 ring-red-700 placeholder:text-red-300 focus:ring-red-700'
61
+ : 'text-gray-900 ring-gray-300 placeholder:text-gray-400 focus:ring-xy-blue-500',
62
+ ]"
63
+ :placeholder="placeholder"
64
+ type="datetime-local"
65
+ :value="inputValue"
66
+ v-bind="$attrs"
67
+ @input="onInput"
68
+ @invalid="onInvalid"
69
+ />
70
+ <InputHelp :id="`${inputID}-help`" class="mt-1" :text="help" />
71
+ <InputError :id="`${inputID}-error`" class="mt-0.5" :text="errorState" />
72
+ </div>
73
+ </template>
@@ -96,3 +96,10 @@ export declare const phonePattern: string;
96
96
  * This is used for the .number modifier in v-model
97
97
  */
98
98
  export declare const looseToNumber: (val: any) => any;
99
+ /**
100
+ * converts an RFC 3339 string to a datetime-local input value string
101
+ * used with BaseInput<type=datetime-local> as a v-model modifier
102
+ * @param dt RFC 3339 date string
103
+ * @returns string
104
+ */
105
+ export declare const toDatetimeLocal: (dt: any) => string;
@@ -0,0 +1,2 @@
1
+ import { Slot } from "vue";
2
+ export declare function hasSlotContent(slot: Slot | undefined, slotProps?: {}): boolean;
@@ -0,0 +1,21 @@
1
+ import type { TableColumn, TableRow } from "../../composables/table";
2
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToRuntimeProps<{
3
+ columns: TableColumn<TableRow>[];
4
+ rows: TableRow[];
5
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
6
+ columns?: unknown;
7
+ rows?: unknown;
8
+ } & {
9
+ columns: TableColumn<TableRow>[];
10
+ rows: TableRow[];
11
+ } & {}>, {}>;
12
+ export default _default;
13
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
14
+ type __VLS_TypePropsToRuntimeProps<T> = {
15
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
16
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
17
+ } : {
18
+ type: import('vue').PropType<T[K]>;
19
+ required: true;
20
+ };
21
+ };
@@ -0,0 +1,27 @@
1
+ import * as TableTypes from "../../composables/table";
2
+ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_TypePropsToRuntimeProps<{
3
+ tableData: Omit<TableTypes.Static, "currentUser">;
4
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
5
+ tableData?: unknown;
6
+ } & {
7
+ tableData: Omit<TableTypes.Static, "currentUser">;
8
+ } & {}>, {}>, {
9
+ actions: (_: {
10
+ row: Record<string, unknown>;
11
+ }) => any;
12
+ }>;
13
+ export default _default;
14
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
15
+ type __VLS_TypePropsToRuntimeProps<T> = {
16
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
17
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
18
+ } : {
19
+ type: import('vue').PropType<T[K]>;
20
+ required: true;
21
+ };
22
+ };
23
+ type __VLS_WithTemplateSlots<T, S> = T & {
24
+ new (): {
25
+ $slots: S;
26
+ };
27
+ };
@@ -0,0 +1,39 @@
1
+ import * as TableTypes from "../../composables/table";
2
+ declare const _default: import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
3
+ clickable?: boolean | undefined;
4
+ loader?: boolean | undefined;
5
+ tableData: TableTypes.Dynamic;
6
+ }>, {
7
+ clickable: boolean;
8
+ loader: boolean;
9
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
10
+ handleClick: (v: any) => void;
11
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
12
+ tableData?: unknown;
13
+ clickable?: unknown;
14
+ loader?: unknown;
15
+ } & {
16
+ tableData: TableTypes.Dynamic;
17
+ clickable: boolean;
18
+ loader: boolean;
19
+ } & {}> & {
20
+ onHandleClick?: ((v: any) => any) | undefined;
21
+ }, {
22
+ clickable: boolean;
23
+ loader: boolean;
24
+ }>;
25
+ export default _default;
26
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
27
+ type __VLS_TypePropsToRuntimeProps<T> = {
28
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
29
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
30
+ } : {
31
+ type: import('vue').PropType<T[K]>;
32
+ required: true;
33
+ };
34
+ };
35
+ type __VLS_WithDefaults<P, D> = {
36
+ [K in keyof Pick<P, keyof P>]: K extends keyof D ? P[K] & {
37
+ default: D[K];
38
+ } : P[K];
39
+ };
@@ -0,0 +1,18 @@
1
+ import type { ActionMenuItemCallback } from "../../composables/nav";
2
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToRuntimeProps<{
3
+ items: ActionMenuItemCallback[];
4
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
5
+ items?: unknown;
6
+ } & {
7
+ items: ActionMenuItemCallback[];
8
+ } & {}>, {}>;
9
+ export default _default;
10
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
11
+ type __VLS_TypePropsToRuntimeProps<T> = {
12
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
13
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
14
+ } : {
15
+ type: import('vue').PropType<T[K]>;
16
+ required: true;
17
+ };
18
+ };
@@ -0,0 +1,22 @@
1
+ import type { ActionMenuEmit } from "../../composables/nav";
2
+ declare const _default: import("vue").DefineComponent<__VLS_TypePropsToRuntimeProps<{
3
+ items: ActionMenuEmit[];
4
+ }>, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
5
+ click: (v: string) => void;
6
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
7
+ items?: unknown;
8
+ } & {
9
+ items: ActionMenuEmit[];
10
+ } & {}> & {
11
+ onClick?: ((v: string) => any) | undefined;
12
+ }, {}>;
13
+ export default _default;
14
+ type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
15
+ type __VLS_TypePropsToRuntimeProps<T> = {
16
+ [K in keyof T]-?: {} extends Pick<T, K> ? {
17
+ type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
18
+ } : {
19
+ type: import('vue').PropType<T[K]>;
20
+ required: true;
21
+ };
22
+ };
@@ -0,0 +1,68 @@
1
+ declare const _default: import("vue").DefineComponent<{
2
+ title: {
3
+ type: import("vue").PropType<string>;
4
+ default: string;
5
+ };
6
+ modelValue: {
7
+ type: import("vue").PropType<boolean>;
8
+ required: true;
9
+ };
10
+ content: {
11
+ type: import("vue").PropType<string | string[]>;
12
+ required: true;
13
+ };
14
+ kind: {
15
+ type: import("vue").PropType<"alert" | "warn" | "info" | "success">;
16
+ required: true;
17
+ };
18
+ sticky: {
19
+ type: import("vue").PropType<boolean>;
20
+ default: boolean;
21
+ };
22
+ cancelText: {
23
+ type: import("vue").PropType<string>;
24
+ default: string;
25
+ };
26
+ submitText: {
27
+ type: import("vue").PropType<string>;
28
+ required: true;
29
+ };
30
+ }, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
31
+ submit: (e?: void | undefined) => void;
32
+ }, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
33
+ title: {
34
+ type: import("vue").PropType<string>;
35
+ default: string;
36
+ };
37
+ modelValue: {
38
+ type: import("vue").PropType<boolean>;
39
+ required: true;
40
+ };
41
+ content: {
42
+ type: import("vue").PropType<string | string[]>;
43
+ required: true;
44
+ };
45
+ kind: {
46
+ type: import("vue").PropType<"alert" | "warn" | "info" | "success">;
47
+ required: true;
48
+ };
49
+ sticky: {
50
+ type: import("vue").PropType<boolean>;
51
+ default: boolean;
52
+ };
53
+ cancelText: {
54
+ type: import("vue").PropType<string>;
55
+ default: string;
56
+ };
57
+ submitText: {
58
+ type: import("vue").PropType<string>;
59
+ required: true;
60
+ };
61
+ }>> & {
62
+ onSubmit?: ((e?: void | undefined) => any) | undefined;
63
+ }, {
64
+ title: string;
65
+ sticky: boolean;
66
+ cancelText: string;
67
+ }, {}>;
68
+ export default _default;