@infotrust/ui 0.0.0-stage → 0.30.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.
Files changed (193) hide show
  1. package/LICENSE +24 -0
  2. package/NOTICE.md +37 -0
  3. package/README.md +53 -2
  4. package/dist/assistant-session-DP4_70Xk.js +1381 -0
  5. package/dist/command-Bjncx7YR.js +1279 -0
  6. package/dist/components/actions/ItActionMenu.vue.d.ts +24 -0
  7. package/dist/components/actions/ItDecisionToggle.vue.d.ts +22 -0
  8. package/dist/components/actions/ItIconButton.vue.d.ts +24 -0
  9. package/dist/components/actions/ItLinkButton.vue.d.ts +17 -0
  10. package/dist/components/actions/action-menu.d.ts +19 -0
  11. package/dist/components/charts/ItBarChart.vue.d.ts +121 -0
  12. package/dist/components/charts/ItCalendarChart.vue.d.ts +80 -0
  13. package/dist/components/charts/ItChartLegend.vue.d.ts +47 -0
  14. package/dist/components/charts/ItChartTable.vue.d.ts +16 -0
  15. package/dist/components/charts/ItChartTooltip.vue.d.ts +52 -0
  16. package/dist/components/charts/ItDonutChart.vue.d.ts +79 -0
  17. package/dist/components/charts/ItProportionBar.vue.d.ts +42 -0
  18. package/dist/components/charts/ItSparkline.vue.d.ts +42 -0
  19. package/dist/components/charts/ItTrendChart.vue.d.ts +80 -0
  20. package/dist/components/charts/chart.d.ts +84 -0
  21. package/dist/components/charts/selection.d.ts +14 -0
  22. package/dist/components/charts/skeleton.d.ts +16 -0
  23. package/dist/components/command/ItAssistantPanel.vue.d.ts +56 -0
  24. package/dist/components/command/ItAssistantThread.vue.d.ts +73 -0
  25. package/dist/components/command/ItCommandPalette.vue.d.ts +102 -0
  26. package/dist/components/command/ItMarkdown.vue.d.ts +12 -0
  27. package/dist/components/command/assistant-session.d.ts +26 -0
  28. package/dist/components/command/command.d.ts +127 -0
  29. package/dist/components/command/markdown.d.ts +55 -0
  30. package/dist/components/content/ItDocsArticle.vue.d.ts +18 -0
  31. package/dist/components/content/ItDocsLayout.vue.d.ts +29 -0
  32. package/dist/components/content/ItDocsPager.vue.d.ts +12 -0
  33. package/dist/components/content/ItProse.vue.d.ts +18 -0
  34. package/dist/components/content/docs.d.ts +23 -0
  35. package/dist/components/dag/ItDagCanvas.vue.d.ts +143 -0
  36. package/dist/components/dag/ItDagControls.vue.d.ts +2 -0
  37. package/dist/components/dag/ItDagEdge.vue.d.ts +21 -0
  38. package/dist/components/dag/ItDagLibrary.vue.d.ts +19 -0
  39. package/dist/components/dag/ItDagNode.vue.d.ts +20 -0
  40. package/dist/components/dag/dag.d.ts +182 -0
  41. package/dist/components/dag/history.d.ts +51 -0
  42. package/dist/components/dag/layout.d.ts +54 -0
  43. package/dist/components/dag/route.d.ts +24 -0
  44. package/dist/components/data/DataError.vue.d.ts +12 -0
  45. package/dist/components/data/ItChangeList.vue.d.ts +48 -0
  46. package/dist/components/data/ItCodeBlock.vue.d.ts +23 -0
  47. package/dist/components/data/ItDataTable.vue.d.ts +135 -0
  48. package/dist/components/data/ItDataToolbar.vue.d.ts +57 -0
  49. package/dist/components/data/ItDescriptionList.vue.d.ts +30 -0
  50. package/dist/components/data/ItEmptyState.vue.d.ts +22 -0
  51. package/dist/components/data/ItKpiCard.vue.d.ts +89 -0
  52. package/dist/components/data/ItKpiDetail.vue.d.ts +40 -0
  53. package/dist/components/data/ItKpiGrid.vue.d.ts +19 -0
  54. package/dist/components/data/ItObjectName.vue.d.ts +64 -0
  55. package/dist/components/data/ItPaginator.vue.d.ts +46 -0
  56. package/dist/components/data/ItResourceList.vue.d.ts +39 -0
  57. package/dist/components/data/ItResourceListItem.vue.d.ts +40 -0
  58. package/dist/components/data/ItSkeleton.vue.d.ts +14 -0
  59. package/dist/components/data/ItTablePaginator.vue.d.ts +34 -0
  60. package/dist/components/data/ItTime.vue.d.ts +13 -0
  61. package/dist/components/data/ItTreeTable.vue.d.ts +109 -0
  62. package/dist/components/data/TableChevron.vue.d.ts +8 -0
  63. package/dist/components/data/TableExpansion.vue.d.ts +22 -0
  64. package/dist/components/data/column-sizing.d.ts +31 -0
  65. package/dist/components/data/data-table.d.ts +15 -0
  66. package/dist/components/data/highlight-worker.d.ts +1 -0
  67. package/dist/components/data/highlight.d.ts +3 -0
  68. package/dist/components/data/kpi-placement.d.ts +40 -0
  69. package/dist/components/data/kpi.d.ts +16 -0
  70. package/dist/components/data/sticky-header.d.ts +9 -0
  71. package/dist/components/data/table-skeleton.d.ts +11 -0
  72. package/dist/components/data/table-source.d.ts +77 -0
  73. package/dist/components/data/tree-table-public.d.ts +17 -0
  74. package/dist/components/data/tree-table.d.ts +30 -0
  75. package/dist/components/feedback/ItCallout.vue.d.ts +25 -0
  76. package/dist/components/feedback/ItConfirmHost.vue.d.ts +2 -0
  77. package/dist/components/feedback/ItOverlayHost.vue.d.ts +2 -0
  78. package/dist/components/feedback/ItProgressBar.vue.d.ts +19 -0
  79. package/dist/components/feedback/ItToastHost.vue.d.ts +2 -0
  80. package/dist/components/forms/FieldClearButton.vue.d.ts +11 -0
  81. package/dist/components/forms/ItAutoComplete.vue.d.ts +69 -0
  82. package/dist/components/forms/ItCheckboxGroup.vue.d.ts +27 -0
  83. package/dist/components/forms/ItChipInput.vue.d.ts +32 -0
  84. package/dist/components/forms/ItCodeEditor.vue.d.ts +64 -0
  85. package/dist/components/forms/ItDatePicker.vue.d.ts +35 -0
  86. package/dist/components/forms/ItFileDrop.vue.d.ts +47 -0
  87. package/dist/components/forms/ItFilterChip.vue.d.ts +13 -0
  88. package/dist/components/forms/ItFilterMenu.vue.d.ts +37 -0
  89. package/dist/components/forms/ItFilterPopover.vue.d.ts +44 -0
  90. package/dist/components/forms/ItFormActions.vue.d.ts +14 -0
  91. package/dist/components/forms/ItFormField.vue.d.ts +44 -0
  92. package/dist/components/forms/ItFormRows.vue.d.ts +50 -0
  93. package/dist/components/forms/ItFormSection.vue.d.ts +28 -0
  94. package/dist/components/forms/ItLabelCell.vue.d.ts +42 -0
  95. package/dist/components/forms/ItLabelPicker.vue.d.ts +34 -0
  96. package/dist/components/forms/ItMultiSelect.vue.d.ts +53 -0
  97. package/dist/components/forms/ItOptionCardGroup.vue.d.ts +35 -0
  98. package/dist/components/forms/ItRadioGroup.vue.d.ts +29 -0
  99. package/dist/components/forms/ItSearchInput.vue.d.ts +25 -0
  100. package/dist/components/forms/ItSegmentedControl.vue.d.ts +25 -0
  101. package/dist/components/forms/ItSelect.vue.d.ts +50 -0
  102. package/dist/components/forms/ItSwitch.vue.d.ts +31 -0
  103. package/dist/components/forms/ItTabs.vue.d.ts +27 -0
  104. package/dist/components/forms/OptionSourceSlot.vue.d.ts +13 -0
  105. package/dist/components/forms/choice.d.ts +24 -0
  106. package/dist/components/forms/code-editor.d.ts +17 -0
  107. package/dist/components/forms/field-context.d.ts +39 -0
  108. package/dist/components/forms/file-drop.d.ts +19 -0
  109. package/dist/components/forms/form-errors.d.ts +7 -0
  110. package/dist/components/forms/form-rows.d.ts +8 -0
  111. package/dist/components/forms/option-source.d.ts +39 -0
  112. package/dist/components/forms/virtual-options.d.ts +12 -0
  113. package/dist/components/layout/ItBreadcrumb.vue.d.ts +12 -0
  114. package/dist/components/layout/ItDetailSection.vue.d.ts +21 -0
  115. package/dist/components/layout/ItPage.vue.d.ts +44 -0
  116. package/dist/components/layout/ItPanel.vue.d.ts +47 -0
  117. package/dist/components/layout/ItSectionNav.vue.d.ts +43 -0
  118. package/dist/components/layout/ItWizard.vue.d.ts +57 -0
  119. package/dist/components/layout/ItWizardSteps.vue.d.ts +15 -0
  120. package/dist/components/layout/SectionNavLinks.vue.d.ts +15 -0
  121. package/dist/components/layout/panel.d.ts +18 -0
  122. package/dist/components/layout/section-nav.d.ts +17 -0
  123. package/dist/components/layout/wizard.d.ts +13 -0
  124. package/dist/components/logic/ItFieldPicker.vue.d.ts +40 -0
  125. package/dist/components/logic/ItLogicBuilder.vue.d.ts +58 -0
  126. package/dist/components/logic/ItLogicCondition.vue.d.ts +9 -0
  127. package/dist/components/logic/ItLogicGroup.vue.d.ts +9 -0
  128. package/dist/components/logic/ItOperatorSelect.vue.d.ts +25 -0
  129. package/dist/components/logic/ItValueInput.vue.d.ts +29 -0
  130. package/dist/components/logic/logic.d.ts +263 -0
  131. package/dist/components/logic/region.d.ts +44 -0
  132. package/dist/components/overlays/ItDrawer.vue.d.ts +48 -0
  133. package/dist/components/overlays/ItModal.vue.d.ts +53 -0
  134. package/dist/components/overlays/escape-stack.d.ts +7 -0
  135. package/dist/components/overlays/modal.d.ts +23 -0
  136. package/dist/components/shell/ItAppShell.vue.d.ts +68 -0
  137. package/dist/components/shell/ItCommandTrigger.vue.d.ts +17 -0
  138. package/dist/components/shell/ItOrgSwitcher.vue.d.ts +26 -0
  139. package/dist/components/shell/ItShellMenuItem.vue.d.ts +18 -0
  140. package/dist/components/shell/ItShellNavBranch.vue.d.ts +15 -0
  141. package/dist/components/shell/ItShellNavLink.vue.d.ts +18 -0
  142. package/dist/components/shell/ItShellSidebarButton.vue.d.ts +15 -0
  143. package/dist/components/shell/ItThemeControl.vue.d.ts +13 -0
  144. package/dist/components/shell/org.d.ts +36 -0
  145. package/dist/components/shell/types.d.ts +67 -0
  146. package/dist/components/status/ItBadge.vue.d.ts +12 -0
  147. package/dist/components/status/ItEntityTypeChip.vue.d.ts +14 -0
  148. package/dist/components/status/ItLabelChip.vue.d.ts +21 -0
  149. package/dist/components/status/ItLabelChipList.vue.d.ts +27 -0
  150. package/dist/components/status/ItPlatformChip.vue.d.ts +20 -0
  151. package/dist/components/status/ItPlatformLogo.vue.d.ts +17 -0
  152. package/dist/components/status/ItSeverityBadge.vue.d.ts +9 -0
  153. package/dist/components/status/ItStatus.vue.d.ts +12 -0
  154. package/dist/components.css +1 -0
  155. package/dist/composables/iconMotion.d.ts +12 -0
  156. package/dist/composables/ripple.d.ts +3 -0
  157. package/dist/composables/useItConfirm.d.ts +16 -0
  158. package/dist/composables/useItCopy.d.ts +4 -0
  159. package/dist/composables/useItCursorPager.d.ts +50 -0
  160. package/dist/composables/useItTheme.d.ts +26 -0
  161. package/dist/composables/useItToast.d.ts +24 -0
  162. package/dist/dag.d.ts +5 -0
  163. package/dist/dag.js +1754 -0
  164. package/dist/dev-D7A7MIn_.js +1264 -0
  165. package/dist/directives/truncate.d.ts +29 -0
  166. package/dist/elk-worker.min-O2A22ecl.js +6321 -0
  167. package/dist/format/index.d.ts +53 -0
  168. package/dist/highlight-worker-DIrLC7a2.js +25 -0
  169. package/dist/index.d.ts +147 -0
  170. package/dist/index.js +11989 -0
  171. package/dist/licenses/@vue-flow__core.LICENSE +20 -0
  172. package/dist/licenses/elkjs.LICENSE.md +263 -0
  173. package/dist/licenses/highlight.js.LICENSE +29 -0
  174. package/dist/licenses/vue-sonner.LICENSE +21 -0
  175. package/dist/platform-art-Bt1CnaKE.js +86 -0
  176. package/dist/plugin.d.ts +69 -0
  177. package/dist/registries/entity-type.d.ts +18 -0
  178. package/dist/registries/platform-art.d.ts +2 -0
  179. package/dist/registries/platform-marks.d.ts +12 -0
  180. package/dist/registries/platform.d.ts +22 -0
  181. package/dist/registries/severity.d.ts +23 -0
  182. package/dist/registries/status.d.ts +13 -0
  183. package/dist/styles.css +26 -0
  184. package/dist/text-nGkJYA88.js +470 -0
  185. package/dist/utils/chip-truncation.d.ts +8 -0
  186. package/dist/utils/chunk-recovery.d.ts +24 -0
  187. package/dist/utils/dev.d.ts +2 -0
  188. package/dist/utils/listeners.d.ts +10 -0
  189. package/dist/utils/router.d.ts +9 -0
  190. package/dist/utils/scroll.d.ts +8 -0
  191. package/dist/utils/select.d.ts +21 -0
  192. package/dist/utils/text.d.ts +6 -0
  193. package/package.json +92 -3
@@ -0,0 +1,25 @@
1
+ export interface ItSegmentOption<V> {
2
+ value: V;
3
+ label: string;
4
+ disabled?: boolean;
5
+ }
6
+ declare const _default: <T extends string | number>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
7
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
8
+ readonly "onUpdate:modelValue"?: ((value: T) => any) | undefined;
9
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:modelValue"> & {
10
+ modelValue: T;
11
+ options: ItSegmentOption<T>[];
12
+ label: string;
13
+ size?: "sm" | "md";
14
+ } & Partial<{}>> & import("vue").PublicProps;
15
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
16
+ attrs: any;
17
+ slots: {};
18
+ emit: (evt: "update:modelValue", value: T) => void;
19
+ }>) => import("vue").VNode & {
20
+ __ctx?: Awaited<typeof __VLS_setup>;
21
+ };
22
+ export default _default;
23
+ type __VLS_PrettifyLocal<T> = {
24
+ [K in keyof T]: T[K];
25
+ } & {};
@@ -0,0 +1,50 @@
1
+ import { type ItOptionSource } from './option-source';
2
+ declare const _default: <V>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
3
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
4
+ readonly "onUpdate:modelValue"?: ((value: V | null) => any) | undefined;
5
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:modelValue"> & {
6
+ modelValue?: V | null;
7
+ /** The options. With `source`, leave it out. */
8
+ options?: readonly unknown[];
9
+ /**
10
+ * Load the options from an API, a page at a time. The list asks for the first page when it
11
+ * opens; its search asks the API (debounced) and never filters only the loaded rows.
12
+ */
13
+ source?: ItOptionSource;
14
+ /** Options per page with `source`. */
15
+ pageSize?: number;
16
+ /** Milliseconds after typing before a `source` search runs. */
17
+ searchDebounce?: number;
18
+ /** The search box's accessible name with `source`. */
19
+ searchLabel?: string;
20
+ /** A value's label before any page has listed it (a value set by the app). */
21
+ valueLabel?: (value: V) => string | undefined;
22
+ optionLabel?: string;
23
+ optionValue?: string;
24
+ optionDisabled?: string;
25
+ placeholder?: string;
26
+ size?: "sm" | "md";
27
+ disabled?: boolean;
28
+ invalid?: boolean;
29
+ id?: string;
30
+ describedBy?: string;
31
+ /** Show a clear button when a value is set. For optional fields. */
32
+ clearable?: boolean;
33
+ clearLabel?: string;
34
+ /** Search box in the panel. Default: on when there are more than 8 options. */
35
+ filter?: boolean;
36
+ pt?: Record<string, unknown>;
37
+ } & Partial<{}>> & import("vue").PublicProps;
38
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
39
+ attrs: any;
40
+ slots: {
41
+ [x: string]: ((props: any) => any) | undefined;
42
+ };
43
+ emit: (evt: "update:modelValue", value: V | null) => void;
44
+ }>) => import("vue").VNode & {
45
+ __ctx?: Awaited<typeof __VLS_setup>;
46
+ };
47
+ export default _default;
48
+ type __VLS_PrettifyLocal<T> = {
49
+ [K in keyof T]: T[K];
50
+ } & {};
@@ -0,0 +1,31 @@
1
+ type __VLS_Props = {
2
+ modelValue?: boolean;
3
+ label: string;
4
+ description?: string;
5
+ /**
6
+ * Accessible name in place of the visible label, for a row of switches
7
+ * whose visible label is a state word ("On"): "Missing consent rule
8
+ * enabled". Keep the visible word in it where it reads naturally.
9
+ */
10
+ ariaLabel?: string;
11
+ /** Id(s) of the element(s) that name the switch (the row's name cell), in place of the visible label. */
12
+ labelledBy?: string;
13
+ size?: 'sm' | 'md';
14
+ disabled?: boolean;
15
+ invalid?: boolean;
16
+ id?: string;
17
+ describedBy?: string;
18
+ };
19
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
20
+ "update:modelValue": (value: boolean) => any;
21
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
22
+ "onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
23
+ }>, {
24
+ invalid: boolean;
25
+ disabled: boolean;
26
+ size: "sm" | "md";
27
+ modelValue: boolean;
28
+ ariaLabel: string;
29
+ labelledBy: string;
30
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
31
+ export default _default;
@@ -0,0 +1,27 @@
1
+ export interface ItTabOption<V> {
2
+ value: V;
3
+ label: string;
4
+ count?: number | null;
5
+ disabled?: boolean;
6
+ }
7
+ declare const _default: <T extends string | number>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
8
+ props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
9
+ readonly "onUpdate:modelValue"?: ((value: T) => any) | undefined;
10
+ } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:modelValue"> & {
11
+ modelValue: T;
12
+ options: ItTabOption<T>[];
13
+ label: string;
14
+ /** Prefix for tab/panel ids. */
15
+ idPrefix?: string;
16
+ } & Partial<{}>> & import("vue").PublicProps;
17
+ expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
18
+ attrs: any;
19
+ slots: {};
20
+ emit: (evt: "update:modelValue", value: T) => void;
21
+ }>) => import("vue").VNode & {
22
+ __ctx?: Awaited<typeof __VLS_setup>;
23
+ };
24
+ export default _default;
25
+ type __VLS_PrettifyLocal<T> = {
26
+ [K in keyof T]: T[K];
27
+ } & {};
@@ -0,0 +1,13 @@
1
+ import type { useOptionSource } from './option-source';
2
+ type __VLS_Props = {
3
+ part: 'search' | 'more' | 'empty';
4
+ state: ReturnType<typeof useOptionSource>;
5
+ searchLabel: string;
6
+ searchDebounce: number;
7
+ };
8
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
+ list: () => any;
10
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onList?: (() => any) | undefined;
12
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
13
+ export default _default;
@@ -0,0 +1,24 @@
1
+ import type { Component } from 'vue';
2
+ /**
3
+ * A v-for key for an option value: the value itself when it is a primitive,
4
+ * the position when it is an object (every object would stringify to the
5
+ * same "[object Object]").
6
+ */
7
+ export declare function choiceKey(value: unknown, index: number): string | number;
8
+ /** One option in ItCheckboxGroup or ItRadioGroup. */
9
+ export interface ItChoiceOption<V> {
10
+ value: V;
11
+ label: string;
12
+ /** One line under the label. It is linked to the input as its description. */
13
+ description?: string;
14
+ disabled?: boolean;
15
+ }
16
+ /** One card in ItOptionCardGroup. */
17
+ export interface ItOptionCardOption<V> extends ItChoiceOption<V> {
18
+ /** Platform registry key. Takes precedence over icon. */
19
+ platform?: string;
20
+ /** A Lucide icon component, before the label. */
21
+ icon?: Component;
22
+ /** Why the option is unavailable ("Coming soon", "Needs an admin"). Shown while disabled. */
23
+ disabledReason?: string;
24
+ }
@@ -0,0 +1,17 @@
1
+ /** One completion replaces the word or path immediately before the caret. */
2
+ export interface ItCodeCompletion {
3
+ label: string;
4
+ insertText: string;
5
+ detail?: string;
6
+ }
7
+ /** One-based source line. The application owns parsing and validation. */
8
+ export interface ItCodeDiagnostic {
9
+ line: number;
10
+ severity: 'error' | 'warning' | 'info';
11
+ message: string;
12
+ }
13
+ export interface ItCodeCompletionContext {
14
+ value: string;
15
+ position: number;
16
+ query: string;
17
+ }
@@ -0,0 +1,39 @@
1
+ import { type ComputedRef, type InjectionKey } from 'vue';
2
+ export interface ItFieldState {
3
+ /** The id the field's <label for> points at. */
4
+ id: string;
5
+ /** The id of the label element, for controls a <label for> cannot name (combobox spans, fieldsets). */
6
+ labelId: string;
7
+ invalid: boolean;
8
+ describedBy: string | undefined;
9
+ }
10
+ export interface ItFieldContext {
11
+ state: ComputedRef<ItFieldState>;
12
+ /** A group control (checkbox or radio group) names itself with aria-labelledby, so the label drops its `for`. */
13
+ registerGroup(): void;
14
+ }
15
+ export declare const IT_FORM_FIELD: InjectionKey<ItFieldContext | null>;
16
+ /** Props every It* field wrapper accepts; they match the ItFormField slot scope. */
17
+ export interface ItFieldControlProps {
18
+ id?: string;
19
+ invalid?: boolean;
20
+ describedBy?: string;
21
+ }
22
+ /** Search box appears in Select and MultiSelect panels above this many options. */
23
+ export declare const IT_SEARCH_THRESHOLD = 8;
24
+ export declare function useItFieldControl(props: ItFieldControlProps, options?: {
25
+ group?: boolean;
26
+ }): {
27
+ id: ComputedRef<string>;
28
+ labelId: ComputedRef<string | undefined>;
29
+ invalid: ComputedRef<boolean>;
30
+ describedBy: ComputedRef<string | undefined>;
31
+ };
32
+ type PtValue = Record<string, unknown> | ((...args: never[]) => unknown) | undefined;
33
+ /**
34
+ * Merge the wrapper's pass-through attributes with the app's `pt`. Sections
35
+ * that are plain objects merge (the app wins per key); a function section
36
+ * from the app replaces the wrapper's.
37
+ */
38
+ export declare function mergePt(base: Record<string, PtValue>, user: Record<string, unknown> | undefined): Record<string, unknown>;
39
+ export {};
@@ -0,0 +1,19 @@
1
+ /** A file that was not taken, and why, in a sentence that says what to choose instead. */
2
+ export interface ItFileRejection {
3
+ file: File;
4
+ reason: 'type' | 'size' | 'count';
5
+ message: string;
6
+ }
7
+ /**
8
+ * The file types an `accept` string names, for a sentence: ".csv,text/csv" →
9
+ * "CSV"; ".csv,.txt" → "CSV or TXT"; "image/*" → "image". Empty when it names
10
+ * none.
11
+ */
12
+ export declare function itFileAcceptText(accept: string | undefined): string;
13
+ /** Whether a file matches an `accept` string, as the browser's picker does: by extension, by MIME type, or by `type/*`. */
14
+ export declare function itFileAccepted(file: File, accept: string | undefined): boolean;
15
+ /** Why a file cannot be taken (type, then size), or null when it can. */
16
+ export declare function itFileRejection(file: File, rules: {
17
+ accept?: string;
18
+ maxSize?: number;
19
+ }): ItFileRejection | null;
@@ -0,0 +1,7 @@
1
+ /** An invalid field: ItFormField marks itself, and a raw control marks itself with aria-invalid. */
2
+ export declare const IT_INVALID_FIELD = ".it-field--invalid, [aria-invalid=\"true\"]";
3
+ /**
4
+ * Focuses the first invalid field in `root` (a form). Call it after a failed
5
+ * submit, once the errors show. Returns whether a field took focus.
6
+ */
7
+ export declare function itFocusFirstError(root: ParentNode | null | undefined): Promise<boolean>;
@@ -0,0 +1,8 @@
1
+ export interface ItFormRowsColumn {
2
+ key: string;
3
+ label: string;
4
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';
5
+ required?: boolean;
6
+ }
7
+ /** Errors are keyed by stable row key, then column key. */
8
+ export type ItFormRowsErrors = Record<string, Record<string, string | undefined> | undefined>;
@@ -0,0 +1,39 @@
1
+ /** One request for options. Offset APIs read `offset`; cursor APIs read `cursor` (the last page's). */
2
+ export interface ItOptionQuery {
3
+ search: string;
4
+ offset: number;
5
+ cursor: unknown;
6
+ limit: number;
7
+ /** Aborted when a newer search replaces this one. */
8
+ signal: AbortSignal;
9
+ }
10
+ /** One page of options. More pages exist when `hasMore` is true, or (unset) when a `cursor` comes back. */
11
+ export interface ItOptionPage<T = unknown> {
12
+ options: readonly T[];
13
+ hasMore?: boolean;
14
+ cursor?: unknown;
15
+ /** Every match for the search, when the API knows: shown as "remaining". */
16
+ total?: number | null;
17
+ }
18
+ export type ItOptionSource<T = unknown> = (query: ItOptionQuery) => Promise<ItOptionPage<T>>;
19
+ export declare const IT_OPTION_PAGE_SIZE = 25;
20
+ export declare function useOptionSource(options: {
21
+ source: () => ItOptionSource | undefined;
22
+ pageSize: () => number;
23
+ valueOf: (option: unknown) => unknown;
24
+ }): {
25
+ search: import("vue").Ref<string, string>;
26
+ options: import("vue").ShallowRef<readonly unknown[], readonly unknown[]>;
27
+ loading: import("vue").Ref<boolean, boolean>;
28
+ loadingMore: import("vue").Ref<boolean, boolean>;
29
+ error: import("vue").Ref<string | null, string | null>;
30
+ hasMore: import("vue").Ref<boolean, boolean>;
31
+ total: import("vue").Ref<number | null, number | null>;
32
+ known: import("vue").ShallowRef<Map<unknown, unknown>, Map<unknown, unknown>>;
33
+ open: () => void;
34
+ close: () => void;
35
+ setSearch: (value: string) => void;
36
+ more: () => undefined;
37
+ retry: () => undefined;
38
+ moreLabel: import("vue").ComputedRef<string>;
39
+ };
@@ -0,0 +1,12 @@
1
+ /** Lists longer than this draw as they scroll. */
2
+ export declare const IT_VIRTUAL_OPTIONS_FROM = 200;
3
+ export declare function useVirtualOptions(options: {
4
+ count: () => number;
5
+ plain: () => boolean;
6
+ size: () => 'sm' | 'md';
7
+ }): {
8
+ scrollerOptions: import("vue").ComputedRef<{
9
+ itemSize: number;
10
+ } | undefined>;
11
+ measure: (overlay: unknown) => void;
12
+ };
@@ -0,0 +1,12 @@
1
+ import { type ItRouteLocation } from '../../utils/router';
2
+ export interface ItBreadcrumbItem {
3
+ label: string;
4
+ /** Router location. Rendered with RouterLink when vue-router is installed. */
5
+ to?: ItRouteLocation;
6
+ href?: string;
7
+ }
8
+ type __VLS_Props = {
9
+ items: ItBreadcrumbItem[];
10
+ };
11
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
12
+ export default _default;
@@ -0,0 +1,21 @@
1
+ type __VLS_Props = {
2
+ title: string;
3
+ description?: string;
4
+ /** h3 follows the ItDrawer h2; use h2 on a detail page. */
5
+ headingLevel?: 2 | 3 | 4 | 5 | 6;
6
+ };
7
+ type __VLS_Slots = {
8
+ default?: () => unknown;
9
+ /** Actions for this section. Drawer-wide actions belong to ItDrawer. */
10
+ actions?: () => unknown;
11
+ };
12
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
13
+ headingLevel: 2 | 3 | 4 | 5 | 6;
14
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
16
+ export default _default;
17
+ type __VLS_WithSlots<T, S> = T & {
18
+ new (): {
19
+ $slots: S;
20
+ };
21
+ };
@@ -0,0 +1,44 @@
1
+ type __VLS_Props = {
2
+ title?: string;
3
+ /** Use a lower heading level when demonstrating a page inside another page. */
4
+ headingLevel?: 1 | 2 | 3;
5
+ /** One sentence explaining the page, before live metadata. */
6
+ description?: string;
7
+ /** `data` = fluid to 1440px (lists, dashboards); `form` = 1040px (forms, settings); `reading` = 760px (docs, long text); `full` = no cap. */
8
+ width?: 'data' | 'form' | 'reading' | 'full';
9
+ /** A studio page: fits the window with no page scroll; the last block takes the rest of the height. */
10
+ fill?: boolean;
11
+ /**
12
+ * The page names itself in its breadcrumb (the trail's last item is the
13
+ * title, kept current by the app) on one line with the actions, and the
14
+ * title row goes. For a studio, so the work area gets the height. The
15
+ * title stays the page's heading for assistive tech.
16
+ */
17
+ titleInBreadcrumb?: boolean;
18
+ };
19
+ type __VLS_Slots = {
20
+ /** Breadcrumb trail above the title. Only for nested pages. */
21
+ breadcrumb?: () => unknown;
22
+ /** Replaces the plain-text title (e.g. title + inline status badge). */
23
+ title?: () => unknown;
24
+ /** One line under the title: status dot, freshness, counts. Each child is a flex item, so a sentence (text with `<code>`) goes in one `<span>`. */
25
+ meta?: () => unknown;
26
+ /** Right-aligned: secondary actions first, the one primary action last. */
27
+ actions?: () => unknown;
28
+ /** Blocking state (scan failed, permission missing) — renders directly under the header. */
29
+ alert?: () => unknown;
30
+ default?: () => unknown;
31
+ };
32
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
33
+ width: "data" | "form" | "reading" | "full";
34
+ fill: boolean;
35
+ headingLevel: 1 | 2 | 3;
36
+ titleInBreadcrumb: boolean;
37
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
38
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
39
+ export default _default;
40
+ type __VLS_WithSlots<T, S> = T & {
41
+ new (): {
42
+ $slots: S;
43
+ };
44
+ };
@@ -0,0 +1,47 @@
1
+ type __VLS_Props = {
2
+ title?: string;
3
+ description?: string;
4
+ /** `md` pads the body; `none` for tables and lists that run edge to edge. */
5
+ padding?: 'md' | 'none';
6
+ /** Heading level for the title (h2 on pages, h3 inside drawers). */
7
+ headingLevel?: 2 | 3;
8
+ /** `visible` lets in-page floating content (expanding KPI cards) extend past the panel edge. */
9
+ overflow?: 'clip' | 'visible';
10
+ /** Takes the rest of its column's height (the work area of an `ItPage fill`); a body taller than that scrolls inside the panel. */
11
+ fill?: boolean;
12
+ /**
13
+ * The body is the tab panel of the ItTabs in #tabs: role="tabpanel",
14
+ * the `${idPrefix}-panel-${value}` id the selected tab controls, and
15
+ * labelled by that tab. ItTabs needs no `id-prefix` here (it makes
16
+ * one). Leave it off when the app wires its own tab panel.
17
+ */
18
+ tabPanel?: boolean;
19
+ };
20
+ type __VLS_Slots = {
21
+ /** Replaces the whole header row. */
22
+ header?: () => unknown;
23
+ /** Right side of the header row. */
24
+ actions?: () => unknown;
25
+ /** Views of the panel's object (`ItTabs`), between the header and the toolbar. The panel insets them so the first label lines up with the toolbar. */
26
+ tabs?: () => unknown;
27
+ /** Full-width row under the header or tabs (e.g. ItDataToolbar). */
28
+ toolbar?: () => unknown;
29
+ /** Inset feedback between the toolbar and body, including with padding="none". */
30
+ message?: () => unknown;
31
+ default?: () => unknown;
32
+ footer?: () => unknown;
33
+ };
34
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
35
+ fill: boolean;
36
+ overflow: "clip" | "visible";
37
+ headingLevel: 2 | 3;
38
+ padding: "md" | "none";
39
+ tabPanel: boolean;
40
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
41
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
42
+ export default _default;
43
+ type __VLS_WithSlots<T, S> = T & {
44
+ new (): {
45
+ $slots: S;
46
+ };
47
+ };
@@ -0,0 +1,43 @@
1
+ import type { ItSectionNavGroup, ItSectionNavItem } from './section-nav';
2
+ type __VLS_Props = {
3
+ groups: readonly ItSectionNavGroup[];
4
+ label?: string;
5
+ mode?: 'pages' | 'toc';
6
+ /** Scope heading lookup and observation to this document. */
7
+ content?: HTMLElement | null;
8
+ loading?: boolean;
9
+ error?: boolean;
10
+ emptyText?: string;
11
+ };
12
+ type __VLS_PublicProps = __VLS_Props & {
13
+ 'active'?: string;
14
+ };
15
+ declare var __VLS_15: {}, __VLS_38: {};
16
+ type __VLS_Slots = {} & {
17
+ start?: (props: typeof __VLS_15) => any;
18
+ } & {
19
+ end?: (props: typeof __VLS_38) => any;
20
+ };
21
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
22
+ select: (item: ItSectionNavItem) => any;
23
+ retry: () => any;
24
+ "update:active": (value: string | undefined) => any;
25
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
26
+ onSelect?: ((item: ItSectionNavItem) => any) | undefined;
27
+ onRetry?: (() => any) | undefined;
28
+ "onUpdate:active"?: ((value: string | undefined) => any) | undefined;
29
+ }>, {
30
+ label: string;
31
+ error: boolean;
32
+ content: HTMLElement | null;
33
+ loading: boolean;
34
+ mode: "pages" | "toc";
35
+ emptyText: string;
36
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
37
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
38
+ export default _default;
39
+ type __VLS_WithSlots<T, S> = T & {
40
+ new (): {
41
+ $slots: S;
42
+ };
43
+ };
@@ -0,0 +1,57 @@
1
+ import type { ItWizardStep } from './wizard';
2
+ type __VLS_Props = {
3
+ steps: readonly ItWizardStep[];
4
+ /** The current step's key (v-model:step). Default: the first step. */
5
+ step?: string;
6
+ /** The task: the modal title, and the stepper's name ("New rule"). */
7
+ title: string;
8
+ /** The last step's primary action: "Create rule", "Connect", "Import 24 properties". */
9
+ finishLabel: string;
10
+ /** Whether Next (or the finish action) is enabled on the current step. */
11
+ canAdvance?: boolean;
12
+ /**
13
+ * Unsaved input: closing asks first. In a modal, leave it unset and the
14
+ * modal asks once the person has typed in a text field; in a page, set it.
15
+ */
16
+ dirty?: boolean;
17
+ /** Finishing: the finish action spins; Back, Cancel, and closing are locked. */
18
+ busy?: boolean;
19
+ as?: 'modal' | 'page';
20
+ /** Modal only. */
21
+ visible?: boolean;
22
+ /** Modal width and height (layout.modal-width-* × layout.wizard-height-*). */
23
+ size?: 'md' | 'lg' | 'xl';
24
+ };
25
+ type __VLS_Slots = {
26
+ /** One region per step, named by its key. */
27
+ [key: string]: ((scope: {
28
+ step: ItWizardStep;
29
+ index: number;
30
+ }) => unknown) | undefined;
31
+ };
32
+ declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
33
+ cancel: () => any;
34
+ "update:visible": (value: boolean) => any;
35
+ finish: () => any;
36
+ "update:step": (key: string) => any;
37
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
38
+ onCancel?: (() => any) | undefined;
39
+ "onUpdate:visible"?: ((value: boolean) => any) | undefined;
40
+ onFinish?: (() => any) | undefined;
41
+ "onUpdate:step"?: ((key: string) => any) | undefined;
42
+ }>, {
43
+ size: "md" | "lg" | "xl";
44
+ visible: boolean;
45
+ busy: boolean;
46
+ dirty: boolean;
47
+ step: string;
48
+ as: "modal" | "page";
49
+ canAdvance: boolean;
50
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
51
+ declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
52
+ export default _default;
53
+ type __VLS_WithSlots<T, S> = T & {
54
+ new (): {
55
+ $slots: S;
56
+ };
57
+ };
@@ -0,0 +1,15 @@
1
+ import type { ItWizardStep } from './wizard';
2
+ type __VLS_Props = {
3
+ steps: readonly ItWizardStep[];
4
+ current: number;
5
+ /** Names the list: "New rule steps". */
6
+ label: string;
7
+ /** Done steps stay plain text (while finishing). */
8
+ locked?: boolean;
9
+ };
10
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
11
+ select: (index: number) => any;
12
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
13
+ onSelect?: ((index: number) => any) | undefined;
14
+ }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
+ export default _default;
@@ -0,0 +1,15 @@
1
+ import type { ItSectionNavItem } from './section-nav';
2
+ type __VLS_Props = {
3
+ items: readonly ItSectionNavItem[];
4
+ active?: string;
5
+ mode: 'pages' | 'toc';
6
+ depth?: number;
7
+ };
8
+ declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
9
+ select: (event: MouseEvent, item: ItSectionNavItem) => any;
10
+ }, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
11
+ onSelect?: ((event: MouseEvent, item: ItSectionNavItem) => any) | undefined;
12
+ }>, {
13
+ depth: number;
14
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
15
+ export default _default;
@@ -0,0 +1,18 @@
1
+ import type { InjectionKey } from 'vue';
2
+ /** What the ItTabs in an ItPanel's #tabs region tells the panel: its id prefix and the selected tab. */
3
+ export interface ItPanelTabState {
4
+ prefix: string;
5
+ value: string | number;
6
+ }
7
+ /**
8
+ * Provided only to an ItPanel's #tabs region. When the panel has `tabPanel`,
9
+ * the ItTabs there reports its ids and selection, and the panel body becomes
10
+ * the tab panel: role="tabpanel", `${prefix}-panel-${value}`, labelled by the
11
+ * selected tab. ItTabs elsewhere never sees it.
12
+ */
13
+ export interface ItPanelTabsContext {
14
+ /** Whether the panel wires its body as the tab panel. */
15
+ wanted(): boolean;
16
+ report(state: ItPanelTabState | null): void;
17
+ }
18
+ export declare const IT_PANEL_TABS: InjectionKey<ItPanelTabsContext>;
@@ -0,0 +1,17 @@
1
+ import type { Component } from 'vue';
2
+ import type { ItRouteLocation } from '../../utils/router';
3
+ export interface ItSectionNavItem {
4
+ key: string;
5
+ label: string;
6
+ href?: string;
7
+ to?: ItRouteLocation;
8
+ /** A Lucide icon before the label, for a top-level page such as a docs home. */
9
+ icon?: Component;
10
+ /** Heading id for mode="toc". The application gives its headings these ids. */
11
+ headingId?: string;
12
+ children?: readonly ItSectionNavItem[];
13
+ }
14
+ export interface ItSectionNavGroup {
15
+ label?: string;
16
+ items: readonly ItSectionNavItem[];
17
+ }
@@ -0,0 +1,13 @@
1
+ /** One step in ItWizard. */
2
+ export interface ItWizardStep {
3
+ /** Names the step's slot in ItWizard: `<template #configure>`. */
4
+ key: string;
5
+ /** Short noun or verb: "Template", "Configure", "Review". */
6
+ label: string;
7
+ /**
8
+ * What was chosen on this step, in a few words ("Google", "5 properties").
9
+ * Shown under the step's name in the stepper once the step is done, so
10
+ * earlier choices stay in view without a summary box.
11
+ */
12
+ summary?: string;
13
+ }