@xy-planning-network/trees 0.15.2-dev.0 → 0.15.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/trees.es.js +10108 -14446
  2. package/dist/trees.umd.js +11 -77
  3. package/package.json +1 -1
  4. package/src/lib-components/lists/DataTable.vue +2 -4
  5. package/src/lib-components/lists/DynamicTable.vue +1 -2
  6. package/types/composables/index.d.ts +0 -3
  7. package/types/composables/useBulkActions.d.ts +25 -0
  8. package/types/composables/useTable.d.ts +1 -0
  9. package/types/lib-components/forms/DateRangePicker.vue.d.ts +2 -2
  10. package/types/lib-components/forms/NumberInput.vue.d.ts +2 -2
  11. package/types/lib-components/forms/RadioCards.vue.d.ts +0 -3
  12. package/types/lib-components/forms/RangeCalendar.vue.d.ts +1 -1
  13. package/types/lib-components/index.d.ts +89 -53
  14. package/types/lib-components/lists/DataTable.vue.d.ts +16 -2
  15. package/types/lib-components/overlays/ContentModal.vue.d.ts +1 -1
  16. package/types/lib-components/overlays/Modal.vue.d.ts +1 -1
  17. package/types/lib-components/overlays/Slideover.vue.d.ts +1 -1
  18. package/types/composables/badge.d.ts +0 -8
  19. package/types/composables/http.d.ts +0 -8
  20. package/types/composables/useActionItems.d.ts +0 -12
  21. package/types/composables/useFieldsSchema.d.ts +0 -100
  22. package/types/composables/useInlineMarkdown.d.ts +0 -20
  23. package/types/helpers/GetProperty.d.ts +0 -21
  24. package/types/helpers/Object.d.ts +0 -8
  25. package/types/helpers/SetProperty.d.ts +0 -18
  26. package/types/lib-components/forms/Combobox.vue.d.ts +0 -16
  27. package/types/lib-components/forms/FormCell.vue.d.ts +0 -15
  28. package/types/lib-components/forms/FormDisplay.vue.d.ts +0 -30
  29. package/types/lib-components/forms/FormGrid.vue.d.ts +0 -19
  30. package/types/lib-components/forms/FormSection.vue.d.ts +0 -16
  31. package/types/lib-components/forms/InputDisplay.vue.d.ts +0 -14
  32. package/types/lib-components/forms/MultiSelect.vue.d.ts +0 -22
  33. package/types/lib-components/indicators/DismissableBadge.vue.d.ts +0 -13
  34. package/types/lib-components/lists/TableActionButtons.vue.d.ts +0 -8
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@xy-planning-network/trees",
3
- "version": "0.15.2-dev.0",
3
+ "version": "0.15.2",
4
4
  "description": "",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -34,15 +34,13 @@ const {
34
34
  bulkSelectIndeterminate,
35
35
  bulkSelectOnChange,
36
36
  hasBulkActions,
37
- hasSelection,
38
37
  publicMethods,
39
38
  selectable,
40
39
  selectedOnPage,
41
40
  } = useBulkActions(
42
41
  toRef(props, "tableData"),
43
42
  toRef(props, "tableBulkActions"),
44
- selected,
45
- { reconcileSelections: true }
43
+ selected
46
44
  )
47
45
 
48
46
  const { columns, hasActions, isEmptyCellValue, rows } = useTable(
@@ -99,7 +97,7 @@ defineExpose(publicMethods)
99
97
  />
100
98
  </tr>
101
99
 
102
- <tr v-if="hasBulkActions && hasSelection">
100
+ <tr v-if="hasBulkActions && selected.length > 0">
103
101
  <td colspan="100%" class="px-6 py-2.5 border-t bg-neutral-50">
104
102
  <div class="flex items-center gap-x-3">
105
103
  <div class="text-sm shrink-0">
@@ -153,7 +153,6 @@ const {
153
153
  bulkSelectOnChange,
154
154
  clearSelections,
155
155
  hasBulkActions,
156
- hasSelection,
157
156
  publicMethods,
158
157
  selectable,
159
158
  selectedOnPage,
@@ -345,7 +344,7 @@ loadAndRender()
345
344
  />
346
345
  </tr>
347
346
 
348
- <tr v-if="hasBulkActions && hasSelection">
347
+ <tr v-if="hasBulkActions && selected.length > 0">
349
348
  <td colspan="100%" class="px-6 py-2.5 border-t bg-neutral-50">
350
349
  <div class="flex items-center gap-x-3">
351
350
  <div class="text-sm shrink-0">
@@ -16,6 +16,3 @@ import { isActionItemButton, isActionItemLink, useUrlSearchParams, useTabHistory
16
16
  export { isActionItemButton, isActionItemLink, useUrlSearchParams, useTabHistory, };
17
17
  import { useSpinnerDisplay, useAppSpinner } from "./useSpinner";
18
18
  export { useSpinnerDisplay, useAppSpinner };
19
- export * from "./badge";
20
- export * from "./useFieldsSchema";
21
- export * from "./useInlineMarkdown";
@@ -0,0 +1,25 @@
1
+ import { type Ref } from "vue";
2
+ import type { DynamicTableAPI, TableBulkActions, TableRowData } from "./table";
3
+ interface UseBulkActionsOptions {
4
+ refresh?: () => void;
5
+ reset?: () => void;
6
+ }
7
+ export declare const useBulkActions: <T extends TableRowData>(tableData: Ref<T[]>, tableBulkActions: Ref<TableBulkActions<T>>, selected: Ref<number[]>, options?: UseBulkActionsOptions) => {
8
+ bulkActions: import("vue").ComputedRef<{
9
+ disabled: boolean | undefined;
10
+ onClick: (e?: Event) => void;
11
+ label: string;
12
+ icon?: import("vue").RenderFunction | import("vue").FunctionalComponent<{}, {}, any, {}> | undefined;
13
+ show?: boolean | undefined;
14
+ }[]>;
15
+ bulkSelectChecked: import("vue").ComputedRef<boolean>;
16
+ bulkSelectIndeterminate: import("vue").ComputedRef<boolean>;
17
+ bulkSelectOnChange: (e: Event) => void;
18
+ clearSelections: () => void;
19
+ hasBulkActions: import("vue").ComputedRef<boolean>;
20
+ publicMethods: DynamicTableAPI<T>;
21
+ selectable: import("vue").ComputedRef<any[]>;
22
+ selectedData: import("vue").ComputedRef<T[]>;
23
+ selectedOnPage: import("vue").ComputedRef<number[]>;
24
+ };
25
+ export {};
@@ -1,6 +1,7 @@
1
1
  import { Ref } from "vue";
2
2
  import { TableColumns, TableRowsData, TableActions, DynamicTableAPI } from "./table";
3
3
  import { ActionItemButton, ActionItemLink } from "../entry";
4
+ export declare const tableAPIStub: DynamicTableAPI;
4
5
  export declare const useTable: (rowData: TableRowsData | Ref<TableRowsData>, cols: TableColumns | Ref<TableColumns>, acts: TableActions | Ref<TableActions>, exposedAPI?: DynamicTableAPI) => {
5
6
  columns: import("vue").ComputedRef<{
6
7
  alignment: string;
@@ -34,10 +34,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
34
34
  } | undefined) => any;
35
35
  }, import("vue").PublicProps, {
36
36
  actions: import("../../composables/forms").DateRangeAction[];
37
+ borderless: boolean;
37
38
  maxRange: number;
38
39
  maxValue: Date | null;
39
40
  minValue: Date;
40
- borderless: boolean;
41
41
  }, false, {}, {}, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, {
42
42
  P: {};
43
43
  B: {};
@@ -63,10 +63,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
63
63
  } | undefined) => any) | undefined;
64
64
  }>, {}, {}, {}, {}, {
65
65
  actions: import("../../composables/forms").DateRangeAction[];
66
+ borderless: boolean;
66
67
  maxRange: number;
67
68
  maxValue: Date | null;
68
69
  minValue: Date;
69
- borderless: boolean;
70
70
  }> | null>>;
71
71
  input: Readonly<import("vue").ShallowRef<HTMLInputElement | null>>;
72
72
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
@@ -13,10 +13,10 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
13
13
  label: string;
14
14
  type: "number" | "money" | "raw-number";
15
15
  modelValue: number | null;
16
- help: string;
17
- placeholder: string;
18
16
  max: number;
19
17
  min: number;
18
+ help: string;
19
+ placeholder: string;
20
20
  precision: number;
21
21
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {
22
22
  input: HTMLInputElement;
@@ -2,7 +2,6 @@ import type { InputOption } from "../../composables/forms";
2
2
  declare const _default: <T extends InputOption>(__VLS_props: {
3
3
  readonly "onUpdate:modelValue"?: ((value: string | number | null | undefined) => any) | undefined;
4
4
  modelValue?: string | number | null | undefined;
5
- modelModifiers?: Record<never, true> | undefined;
6
5
  options: T[];
7
6
  label?: string | undefined;
8
7
  help?: string | undefined;
@@ -23,7 +22,6 @@ declare const _default: <T extends InputOption>(__VLS_props: {
23
22
  props: {
24
23
  readonly "onUpdate:modelValue"?: ((value: string | number | null | undefined) => any) | undefined;
25
24
  modelValue?: string | number | null | undefined;
26
- modelModifiers?: Record<never, true> | undefined;
27
25
  options: T[];
28
26
  label?: string | undefined;
29
27
  help?: string | undefined;
@@ -48,7 +46,6 @@ declare const _default: <T extends InputOption>(__VLS_props: {
48
46
  props: {
49
47
  readonly "onUpdate:modelValue"?: ((value: string | number | null | undefined) => any) | undefined;
50
48
  modelValue?: string | number | null | undefined;
51
- modelModifiers?: Record<never, true> | undefined;
52
49
  options: T[];
53
50
  label?: string | undefined;
54
51
  help?: string | undefined;
@@ -26,9 +26,9 @@ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {},
26
26
  } | undefined) => any) | undefined;
27
27
  }>, {
28
28
  actions: DateRangeAction[];
29
+ borderless: boolean;
29
30
  maxRange: number;
30
31
  maxValue: Date | null;
31
32
  minValue: Date;
32
- borderless: boolean;
33
33
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
34
34
  export default _default;
@@ -1,57 +1,93 @@
1
+ import { default as ActionsButtonGroup } from "./navigation/ActionsButtonGroup.vue";
2
+ import { default as ActionsDropdown } from "./navigation/ActionsDropdown.vue";
3
+ import { default as Cards } from "./lists/Cards.vue";
4
+ import { default as ContentModal } from "./overlays/ContentModal.vue";
5
+ import { default as DateFilter } from "./layout/DateFilter.vue";
6
+ import { default as DetailList } from "./lists/DetailList.vue";
7
+ import { default as DownloadCell } from "./lists/DownloadCell.vue";
8
+ import { default as Flash } from "./overlays/Flash.vue";
9
+ import { default as InlineAlert } from "./indicators/InlineAlert.vue";
10
+ import { default as Modal } from "./overlays/Modal.vue";
11
+ import { default as SidebarLayout } from "./layout/SidebarLayout.vue";
12
+ import { default as Popover } from "./overlays/Popover/Popover.vue";
13
+ import { default as PopoverPosition } from "./overlays/Popover/Popover.vue";
14
+ import { default as PopoverContent } from "./overlays/Popover/PopoverContent.vue";
15
+ import { default as Slideover } from "./overlays/Slideover.vue";
16
+ import { default as Tooltip } from "./overlays/Tooltip.vue";
17
+ import { default as StackedLayout } from "./layout/StackedLayout.vue";
18
+ import { default as Paginator } from "./navigation/Paginator.vue";
19
+ import { default as Spinner } from "./overlays/Spinner.vue";
20
+ import { default as DataTable } from "./lists/DataTable.vue";
21
+ import { default as Steps } from "./navigation/Steps.vue";
22
+ import { default as DynamicTable } from "./lists/DynamicTable.vue";
23
+ import { default as TablePaginator } from "./navigation/TablePaginator.vue";
24
+ import { default as Tabs } from "./navigation/Tabs.vue";
25
+ import { default as Toggle } from "./forms/Toggle.vue";
26
+ import { default as XYSpinner } from "./indicators/XYSpinner.vue";
27
+ import { default as ProgressCircles } from "./indicators/ProgressCircles.vue";
28
+ import { default as ProgressCirclesLabeled } from "./indicators/ProgressCirclesLabeled.vue";
29
+ import { default as BaseInput } from "./forms/BaseInput.vue";
30
+ import { default as Checkbox } from "./forms/Checkbox.vue";
31
+ import { default as DateRangePicker } from "./forms/DateRangePicker.vue";
32
+ import { default as DateTime } from "./forms/DateTimeInput.vue";
33
+ import { default as InputError } from "./forms/InputError.vue";
34
+ import { default as InputHelp } from "./forms/InputHelp.vue";
35
+ import { default as InputLabel } from "./forms/InputLabel.vue";
36
+ import { default as FieldsetLegend } from "./forms/FieldsetLegend.vue";
37
+ import { default as MultiCheckboxes } from "./forms/MultiCheckboxes.vue";
38
+ import { default as NumberInput } from "./forms/NumberInput.vue";
39
+ import { default as Radio } from "./forms/Radio.vue";
40
+ import { default as RadioCards } from "./forms/RadioCards.vue";
41
+ import { default as RangeCalendar } from "./forms/RangeCalendar.vue";
42
+ import { default as Select } from "./forms/Select.vue";
43
+ import { default as TextArea } from "./forms/TextArea.vue";
44
+ import { default as YesOrNoRadio } from "./forms/YesOrNoRadio.vue";
45
+ export { ActionsButtonGroup, ActionsDropdown, Cards, ContentModal, DateFilter, DetailList, DownloadCell, Flash, InlineAlert, Modal, SidebarLayout, Slideover, StackedLayout, Popover, PopoverContent, PopoverPosition, // Type export
46
+ Paginator, Spinner, DataTable, Steps, DynamicTable, Tabs, TablePaginator, Toggle, Tooltip, BaseInput, Checkbox, DateRangePicker, DateTime, InputError, InputHelp, InputLabel, FieldsetLegend, MultiCheckboxes, NumberInput, Radio, RadioCards, RangeCalendar, Select, TextArea, YesOrNoRadio, XYSpinner, ProgressCircles, ProgressCirclesLabeled, };
1
47
  /**
2
48
  * declare global component types for App.use(Trees)
3
49
  */
4
- type LibComponents = typeof import("./index");
5
- export interface TreesComponents extends LibComponents {
50
+ export interface TreesComponents {
51
+ ActionsButtonGroup: typeof ActionsButtonGroup;
52
+ ActionsDropdown: typeof ActionsDropdown;
53
+ Cards: typeof Cards;
54
+ ContentModal: typeof ContentModal;
55
+ DateFilter: typeof DateFilter;
56
+ DetailList: typeof DetailList;
57
+ DownloadCell: typeof DownloadCell;
58
+ Flash: typeof Flash;
59
+ Modal: typeof Modal;
60
+ SidebarLayout: typeof SidebarLayout;
61
+ Slideover: typeof Slideover;
62
+ Popover: typeof Popover;
63
+ PopoverContent: typeof PopoverContent;
64
+ StackedLayout: typeof StackedLayout;
65
+ Paginator: typeof Paginator;
66
+ Spinner: typeof Spinner;
67
+ DataTable: typeof DataTable;
68
+ DynamicTable: typeof DynamicTable;
69
+ Steps: typeof Steps;
70
+ Tabs: typeof Tabs;
71
+ TablePaginator: typeof TablePaginator;
72
+ Toggle: typeof Toggle;
73
+ Tooltip: typeof Tooltip;
74
+ BaseInput: typeof BaseInput;
75
+ Checkbox: typeof Checkbox;
76
+ DateRangePicker: typeof DateRangePicker;
77
+ DateTime: typeof DateTime;
78
+ InputError: typeof InputError;
79
+ InputHelp: typeof InputHelp;
80
+ InputLabel: typeof InputLabel;
81
+ FieldsetLegend: typeof FieldsetLegend;
82
+ MultiCheckboxes: typeof MultiCheckboxes;
83
+ NumberInput: typeof NumberInput;
84
+ Radio: typeof Radio;
85
+ RadioCards: typeof RadioCards;
86
+ RangeCalendar: typeof RangeCalendar;
87
+ Select: typeof Select;
88
+ TextArea: typeof TextArea;
89
+ YesOrNoRadio: typeof YesOrNoRadio;
90
+ XYSpinner: typeof XYSpinner;
91
+ ProgressCircles: typeof ProgressCircles;
92
+ ProgressCirclesLabeled: typeof ProgressCirclesLabeled;
6
93
  }
7
- export { default as ActionsButtonGroup } from "./navigation/ActionsButtonGroup.vue";
8
- export { default as ActionsDropdown } from "./navigation/ActionsDropdown.vue";
9
- export { default as BaseInput } from "./forms/BaseInput.vue";
10
- export { default as Cards } from "./lists/Cards.vue";
11
- export { default as Checkbox } from "./forms/Checkbox.vue";
12
- export { default as Combobox } from "./forms/Combobox.vue";
13
- export { default as ContentModal } from "./overlays/ContentModal.vue";
14
- export { default as DataTable } from "./lists/DataTable.vue";
15
- export { default as DateFilter } from "./layout/DateFilter.vue";
16
- export { default as DateRangePicker } from "./forms/DateRangePicker.vue";
17
- export { default as DateTime } from "./forms/DateTimeInput.vue";
18
- export { default as DetailList } from "./lists/DetailList.vue";
19
- export { default as DismissableBadge } from "./indicators/DismissableBadge.vue";
20
- export { default as DownloadCell } from "./lists/DownloadCell.vue";
21
- export { default as DynamicTable } from "./lists/DynamicTable.vue";
22
- export { default as FieldsetLegend } from "./forms/FieldsetLegend.vue";
23
- export { default as Flash } from "./overlays/Flash.vue";
24
- export { default as FormCell } from "./forms/FormCell.vue";
25
- export { default as FormDisplay } from "./forms/FormDisplay.vue";
26
- export { default as FormGrid } from "./forms/FormGrid.vue";
27
- export { default as FormSection } from "./forms/FormSection.vue";
28
- export { default as InlineAlert } from "./indicators/InlineAlert.vue";
29
- export { default as InputDisplay } from "./forms/InputDisplay.vue";
30
- export { default as InputError } from "./forms/InputError.vue";
31
- export { default as InputHelp } from "./forms/InputHelp.vue";
32
- export { default as InputLabel } from "./forms/InputLabel.vue";
33
- export { default as Modal } from "./overlays/Modal.vue";
34
- export { default as MultiCheckboxes } from "./forms/MultiCheckboxes.vue";
35
- export { default as MultiSelect } from "./forms/MultiSelect.vue";
36
- export { default as NumberInput } from "./forms/NumberInput.vue";
37
- export { default as Paginator } from "./navigation/Paginator.vue";
38
- export { default as Popover } from "./overlays/Popover/Popover.vue";
39
- export { default as PopoverContent } from "./overlays/Popover/PopoverContent.vue";
40
- export { default as ProgressCircles } from "./indicators/ProgressCircles.vue";
41
- export { default as ProgressCirclesLabeled } from "./indicators/ProgressCirclesLabeled.vue";
42
- export { default as Radio } from "./forms/Radio.vue";
43
- export { default as RadioCards } from "./forms/RadioCards.vue";
44
- export { default as RangeCalendar } from "./forms/RangeCalendar.vue";
45
- export { default as Select } from "./forms/Select.vue";
46
- export { default as SidebarLayout } from "./layout/SidebarLayout.vue";
47
- export { default as Slideover } from "./overlays/Slideover.vue";
48
- export { default as Spinner } from "./overlays/Spinner.vue";
49
- export { default as StackedLayout } from "./layout/StackedLayout.vue";
50
- export { default as Steps } from "./navigation/Steps.vue";
51
- export { default as TablePaginator } from "./navigation/TablePaginator.vue";
52
- export { default as Tabs } from "./navigation/Tabs.vue";
53
- export { default as TextArea } from "./forms/TextArea.vue";
54
- export { default as Toggle } from "./forms/Toggle.vue";
55
- export { default as Tooltip } from "./overlays/Tooltip.vue";
56
- export { default as XYSpinner } from "./indicators/XYSpinner.vue";
57
- export { default as YesOrNoRadio } from "./forms/YesOrNoRadio.vue";
@@ -1,10 +1,24 @@
1
- import type { TableActions, TableColumns, TableRowsData } from "../../composables/table";
1
+ import type { TableActions, TableBulkActions, TableColumns, TableRowsData } from "../../composables/table";
2
2
  type __VLS_Props = {
3
3
  tableActions?: TableActions<any>;
4
+ tableBulkActions?: TableBulkActions<any>;
4
5
  tableColumns: TableColumns<any>;
5
6
  tableData: TableRowsData;
6
7
  };
7
- declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
8
+ type __VLS_PublicProps = {
9
+ "selected"?: number[];
10
+ } & __VLS_Props;
11
+ declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {
12
+ clearSelection: () => void;
13
+ refresh: () => void;
14
+ reset: () => void;
15
+ selectedData: import("vue").ComputedRef<import("../../composables/table").TableRowData[]>;
16
+ }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
17
+ "update:selected": (value: number[]) => any;
18
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
19
+ "onUpdate:selected"?: ((value: number[]) => any) | undefined;
20
+ }>, {
8
21
  tableActions: TableActions<any>;
22
+ tableBulkActions: TableBulkActions<any>;
9
23
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
10
24
  export default _default;
@@ -12,8 +12,8 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
12
12
  afterLeave: () => any;
13
13
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
14
14
  onClose?: (() => any) | undefined;
15
- "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
16
15
  onAfterLeave?: (() => any) | undefined;
16
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
17
17
  }>, {
18
18
  title: string;
19
19
  btnText: string;
@@ -17,8 +17,8 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
17
17
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
18
18
  onClose?: (() => any) | undefined;
19
19
  onSubmit?: (() => any) | undefined;
20
- "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
21
20
  onAfterLeave?: (() => any) | undefined;
21
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
22
22
  }>, {
23
23
  title: string;
24
24
  disabled: boolean;
@@ -13,8 +13,8 @@ declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__
13
13
  afterLeave: () => any;
14
14
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
15
15
  onClose?: (() => any) | undefined;
16
- "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
17
16
  onAfterLeave?: (() => any) | undefined;
17
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
18
18
  }>, {
19
19
  size: "sm" | "md" | "lg";
20
20
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, {
@@ -1,8 +0,0 @@
1
- export declare enum BadgeKind {
2
- Neutral = "xy-badge",
3
- Blue = "xy-badge-blue",
4
- Green = "xy-badge-green",
5
- Yellow = "xy-badge-yellow",
6
- Red = "xy-badge-red"
7
- }
8
- export declare const isBadgeKind: (kind: string) => kind is BadgeKind;
@@ -1,8 +0,0 @@
1
- export declare const HTTP_BAD_REQUEST = 400;
2
- export declare const HTTP_CONFLICT = 409;
3
- export declare const HTTP_NOT_FOUND = 404;
4
- export declare const HTTP_NOT_IMPLEMENTED = 501;
5
- export declare const HTTP_UNPROCESSABLE_ENTITY = 422;
6
- export declare const HTTP_TOO_MANY_REQUESTS = 429;
7
- export declare const HTTP_INTERNAL_SERVER_ERROR = 500;
8
- export declare const statusMessages: Record<number, string>;
@@ -1,12 +0,0 @@
1
- import { Ref } from "vue";
2
- import { ActionItem } from "./nav";
3
- export declare const useActionItems: (items: ActionItem[] | Ref<ActionItem[]>) => {
4
- actions: import("vue").ComputedRef<{
5
- disabled: boolean;
6
- show: boolean;
7
- onClick: (...args: any[]) => void;
8
- icon?: import("vue").RenderFunction | import("vue").FunctionalComponent<{}, {}, any, {}> | undefined;
9
- label: string;
10
- }[]>;
11
- hasActions: import("vue").ComputedRef<boolean>;
12
- };
@@ -1,100 +0,0 @@
1
- import { Component, ComputedRef, MaybeRefOrGetter, Ref } from "vue";
2
- import { type BooleanInput, type DateRangeInput, type Input, type MultiChoiceInput, type OptionsInput, type TextInputType, type TextLikeInput, type TextareaInput, type DateTimeInput, type NumericInput, type NumericInputType } from "../composables/forms";
3
- /**
4
- * FieldsSchema supports an Array of FieldSection(s)
5
- * or simply an Array of FieldsSchemaInput(s)
6
- */
7
- export type FieldsSchema = Array<FieldSection> | Array<FieldsSchemaInput>;
8
- /**
9
- * FieldsSchemaInput type declares the supported input components in a FieldsSchema
10
- */
11
- export type FieldsSchemaInput = InputField<BooleanInput, "checkbox" | "toggle" | "yes-no-radio"> | InputField<MultiChoiceInput, "multi-checkbox"> | InputField<MultiChoiceInput & {
12
- customValues?: boolean;
13
- }, "multi-select"> | InputField<DateRangeInput, "date-range"> | InputField<DateTimeInput, "datetime"> | InputField<NumericInput, NumericInputType> | InputField<OptionsInput, "combobox" | "radio" | "radio-cards" | "select"> | InputField<TextareaInput, "textarea"> | InputField<TextLikeInput, Exclude<TextInputType, "number">>;
14
- /**
15
- * isTextInputType is a user defined type guard for
16
- * narrowing if a FieldsSchemaInput in a FieldsSchema is a text
17
- * like type, ex: input type="text | date | url..."
18
- *
19
- * @param type string
20
- * @returns boolean
21
- */
22
- export declare const isTextInputType: (type: string) => type is "number" | "url" | "search" | "time" | "text" | "date" | "email" | "month" | "password" | "tel" | "week";
23
- /**
24
- * isNumericInputType is a user defined type guard for
25
- * narrowing if a FieldsSchemaInput in a FieldsSchema is a numeric
26
- * like type, ex: input type="money | number..."
27
- *
28
- * @param type string
29
- * @returns boolean
30
- */
31
- export declare const isNumericInputType: (type: string) => type is "number" | "money" | "raw-number";
32
- /**
33
- * isInputsOnlySchema is a user defined type guard for narrowing that
34
- * a FieldsSchema is only made up of FieldsSchemaInputs
35
- *
36
- * @param s FieldsSchema
37
- * @returns boolean
38
- */
39
- export declare const isInputsOnlySchema: (s: FieldsSchema) => s is FieldsSchemaInput[];
40
- /**
41
- * A FieldSection maps a grouping of inputs in a FieldsSchema
42
- * to a FormSection in the FormGrid component.
43
- */
44
- export interface FieldSection {
45
- title?: string;
46
- description?: string;
47
- fields: Array<FieldsSchemaInput>;
48
- }
49
- export type InputFieldType = (typeof inputFieldTypes)[number];
50
- export declare const inputFieldTypes: readonly ["date", "email", "month", "number", "password", "search", "tel", "text", "time", "url", "week", "money", "number", "raw-number", "checkbox", "combobox", "date-range", "datetime", "multi-checkbox", "multi-select", "radio", "radio-cards", "select", "textarea", "toggle", "yes-no-radio"];
51
- /**
52
- * InputField is the type used to declare an option of FieldsSchemaInput
53
- * The Input interface is enforced against the InputFieldType to avoid applying unsupported
54
- * modelValues on the input as well as ensure required props are available for the InputFieldType.
55
- */
56
- export type InputField<I extends Input, T extends InputFieldType> = I & {
57
- type: T;
58
- name: string;
59
- columns?: 2 | 3;
60
- span?: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "full";
61
- start?: boolean;
62
- show?: boolean;
63
- disabled?: boolean;
64
- autocomplete?: string;
65
- min?: number | string;
66
- max?: number | string;
67
- minlength?: number;
68
- maxlength?: number;
69
- pattern?: string;
70
- required?: boolean;
71
- $component?: Component;
72
- $props?: Record<string, any>;
73
- };
74
- /**
75
- * disableSchemaFields is a utility function for disabling all input fields
76
- * in a FieldSchema. Useful for rendering forms as read-only.
77
- *
78
- * @param schema FieldsSchema
79
- * @returns FieldsSchema
80
- */
81
- export declare const disableSchemaFields: (schema: FieldsSchema) => FieldsSchema;
82
- /**
83
- * extractInputs is a utility function for extracting all of the FieldsSchemaInput
84
- * entries (nested or not) out of a FieldSchema.
85
- *
86
- * @param schema FieldsSchema
87
- * @returns Array<FieldsSchemaInput>
88
- */
89
- export declare const extractInputs: (schema: FieldsSchema) => Array<FieldsSchemaInput>;
90
- /**
91
- * useFieldsSchema computes the FieldSections of a FieldSchema and tracks
92
- * input values on the model passed as the first argument. This encapsulates
93
- * the necessary logic for maintaining input reactivity for use in form
94
- * @param model Ref<Record<string, any>
95
- * @param schema MaybeRefOrGetter<FieldsSchema>
96
- * @returns { fieldSections: ComputedRef<FieldSection[]> }
97
- */
98
- export declare const useFieldsSchema: (model: Ref<Record<string, any>>, schema: MaybeRefOrGetter<FieldsSchema>) => {
99
- fieldSections: ComputedRef<FieldSection[]>;
100
- };
@@ -1,20 +0,0 @@
1
- import { type VNode, type VNodeArrayChildren, type MaybeRefOrGetter, type ComputedRef } from "vue";
2
- export type MarkdownNode = VNode | string | VNodeArrayChildren;
3
- export interface InlineMarkdownConfig {
4
- graphs: boolean;
5
- }
6
- export type UseInlineMarkdown = ComputedRef<(() => null) | (() => MarkdownNode | MarkdownNode[])>;
7
- /**
8
- * Creates a Vue render function for a subset of Markdown.
9
- *
10
- * `marked` is used only to tokenize the source. We parse those
11
- * tokens and map supported syntax to VNodes instead of rendering and
12
- * injecting HTML - this allows Vue to continue to do the sanitizing.
13
- *
14
- * Unsupported tokens, including raw HTML, remain plain text and
15
- * are escaped by Vue.
16
- *
17
- * Enable `graphs` to preserve paragraph wrappers; otherwise
18
- * all contents are rendered inline.
19
- */
20
- export declare function useInlineMarkdown(markdown: MaybeRefOrGetter<string>, conf?: InlineMarkdownConfig): UseInlineMarkdown;
@@ -1,21 +0,0 @@
1
- /**
2
- * getProperty reads a nested property from an object using a dot-separated path.
3
- * Numeric path segments can be used to access array elements, such as
4
- * `items.0.name`.
5
- *
6
- * `defaultValue` is returned when the path cannot be fully traversed or when the
7
- * resolved value is `undefined`.
8
- *
9
- * Type safety is intentionally limited because `path` is a dynamic string.
10
- * TypeScript does not verify that the path exists on `O` or that its value is
11
- * `T`; supplying `T` is a caller assertion and does not perform runtime
12
- * validation. Omit `T` to receive `any | undefined` when no default is
13
- * provided.
14
- *
15
- * @example
16
- * getProperty<User, string>(user, "profile.name") // string | undefined
17
- * getProperty<User, string>(user, "profile.name", "Unknown") // string
18
- */
19
- declare function getProperty<O extends Record<string, any> = Record<string, any>, T = any>(obj: O, path: string): T | undefined;
20
- declare function getProperty<O extends Record<string, any> = Record<string, any>, T = any>(obj: O, path: string, defaultValue: T): T;
21
- export default getProperty;
@@ -1,8 +0,0 @@
1
- /**
2
- * Safely gets a deeply nested value using dot notation
3
- */
4
- export declare const get: <TDefault = unknown, TReturn = any>(obj: any, path: string, defaultValue?: TDefault) => TReturn | TDefault;
5
- /**
6
- * Safely sets a deeply nested value using dot notation (blocks Prototype Pollution)
7
- */
8
- export declare const set: <T>(obj: T, path: string, value: any) => T;
@@ -1,18 +0,0 @@
1
- /**
2
- * setProperty assigns a value on an object using a dot-separated path. It
3
- * returns a new object without mutating `obj`. Each container along the path
4
- * is cloned, while containers outside the path retain their references.
5
- *
6
- * Numeric path segments create arrays when a container is missing, so
7
- * `items.0.name` creates an object within an `items` array. Other missing
8
- * containers are created as objects.
9
- *
10
- * Paths containing `__proto__`, `constructor`, or `prototype` are ignored to
11
- * avoid modifying object prototypes.
12
- *
13
- * @example
14
- * setProperty(user, "profile.name", "Ada")
15
- * setProperty(form, "items.0.name", "First item")
16
- */
17
- declare function setProperty<O extends Record<string, any>>(obj: O, path: string, value: unknown): O;
18
- export default setProperty;
@@ -1,16 +0,0 @@
1
- import { type OptionsInput } from "../../composables/forms";
2
- type __VLS_Props = OptionsInput;
3
- type __VLS_PublicProps = {
4
- modelValue?: OptionsInput["modelValue"];
5
- } & __VLS_Props;
6
- declare const _default: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
7
- "update:modelValue": (value: string | number | null | undefined) => any;
8
- }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
9
- "onUpdate:modelValue"?: ((value: string | number | null | undefined) => any) | undefined;
10
- }>, {
11
- label: string;
12
- modelValue: string | number | null;
13
- help: string;
14
- placeholder: string;
15
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
16
- export default _default;
@@ -1,15 +0,0 @@
1
- type __VLS_Props = {
2
- start?: boolean;
3
- span: "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "full";
4
- };
5
- declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
6
- start: boolean;
7
- }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>, {
8
- default?(_: {}): any;
9
- }>;
10
- export default _default;
11
- type __VLS_WithTemplateSlots<T, S> = T & {
12
- new (): {
13
- $slots: S;
14
- };
15
- };