@turquoisehealth/pit-viper 2.253.0 → 2.254.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_site/assets/css/pit-viper-a11y.css +6 -5
- package/_site/assets/css/pit-viper-v2.css +6 -5
- package/package.json +1 -1
- package/pv-components/dist/stats/vue/base/stats.html +1 -1
- package/pv-components/dist/stats/vue/visualizations/stats.html +1 -1
- package/pv-components/dist/stats/web/pv-filter-modal-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-multi-select-button-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-sidebar-stats.html +1 -1
- package/pv-components/dist/stats/web/pv-sidebar-v2-stats.html +1 -1
- package/pv-components/dist/vue/ai/components/base/PvFilterPanel/types.d.ts +5 -0
- package/pv-components/dist/vue/ai/components/base/PvMultiSelectButton/PvMultiSelectButton.vue.d.ts +51 -1
- package/pv-components/dist/vue/ai/components/base/PvMultiSelectButton/types.d.ts +3 -0
- package/pv-components/dist/vue/ai/components/base/PvSidebar/PvSidebar.vue.d.ts +15 -10
- package/pv-components/dist/vue/ai/components/base/PvSidebar/PvSidebarNavFlyout.vue.d.ts +9 -0
- package/pv-components/dist/vue/ai/components/base/PvSidebar/helpers.d.ts +3 -0
- package/pv-components/dist/vue/ai/components/base/PvSidebar/types.d.ts +44 -0
- package/pv-components/dist/vue/ai/components/base/PvSidebarV2/types.d.ts +2 -0
- package/pv-components/dist/vue/base/components/base/PvFilterPanel/types.d.ts +5 -0
- package/pv-components/dist/vue/base/components/base/PvMultiSelectButton/PvMultiSelectButton.vue.d.ts +51 -1
- package/pv-components/dist/vue/base/components/base/PvMultiSelectButton/types.d.ts +3 -0
- package/pv-components/dist/vue/base/components/base/PvSidebar/PvSidebar.vue.d.ts +15 -10
- package/pv-components/dist/vue/base/components/base/PvSidebar/PvSidebarNavFlyout.vue.d.ts +9 -0
- package/pv-components/dist/vue/base/components/base/PvSidebar/helpers.d.ts +3 -0
- package/pv-components/dist/vue/base/components/base/PvSidebar/types.d.ts +44 -0
- package/pv-components/dist/vue/base/components/base/PvSidebarV2/types.d.ts +2 -0
- package/pv-components/dist/vue/base/pv-components-base.mjs +1984 -1399
- package/pv-components/dist/vue/base/pv-components-base.mjs.map +1 -1
- package/pv-components/dist/vue/visualizations/components/base/PvFilterPanel/types.d.ts +5 -0
- package/pv-components/dist/vue/visualizations/components/base/PvMultiSelectButton/PvMultiSelectButton.vue.d.ts +51 -1
- package/pv-components/dist/vue/visualizations/components/base/PvMultiSelectButton/types.d.ts +3 -0
- package/pv-components/dist/vue/visualizations/components/base/PvSidebar/PvSidebar.vue.d.ts +15 -10
- package/pv-components/dist/vue/visualizations/components/base/PvSidebar/PvSidebarNavFlyout.vue.d.ts +9 -0
- package/pv-components/dist/vue/visualizations/components/base/PvSidebar/helpers.d.ts +3 -0
- package/pv-components/dist/vue/visualizations/components/base/PvSidebar/types.d.ts +44 -0
- package/pv-components/dist/vue/visualizations/components/base/PvSidebarV2/types.d.ts +2 -0
- package/pv-components/dist/vue/visualizations/components/tables/PvDataTable/useSetFilter.d.ts +2 -0
- package/pv-components/dist/vue/visualizations/pv-components-visualizations.mjs +1402 -1395
- package/pv-components/dist/vue/visualizations/pv-components-visualizations.mjs.map +1 -1
- package/pv-components/dist/web/components/pv-filter-modal/pv-filter-modal.js +1030 -1022
- package/pv-components/dist/web/components/pv-multi-select-button/pv-multi-select-button.js +757 -749
- package/pv-components/dist/web/components/pv-sidebar/pv-sidebar.js +2739 -618
- package/pv-components/dist/web/components/pv-sidebar-v2/pv-sidebar-v2.js +457 -453
- package/pv-components/dist/web/pv-components.iife.js +13 -13
- package/pv-components/dist/web/pv-components.iife.js.map +1 -1
package/pv-components/dist/vue/ai/components/base/PvMultiSelectButton/PvMultiSelectButton.vue.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PvMultiSelectButtonProps, PvSelectButtonVariant, PvSelectButtonSize, MenuActionsVariant } from './types';
|
|
1
|
+
import { PvMultiSelectButtonProps, PvSelectButtonVariant, PvSelectButtonSize, MenuActionsVariant, FooterPosition } from './types';
|
|
2
2
|
import { MenuOption, MultiSelectState, SeeMoreEvent, MenuAction } from '../../../types';
|
|
3
3
|
import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, Component, CSSProperties, VNode } from 'vue';
|
|
4
4
|
import { PvCounterBadgeVariant } from '../PvCounterBadge/types';
|
|
@@ -62,6 +62,7 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
|
|
|
62
62
|
optionsVariant: "checkbox" | "icon" | "toggle" | "simple" | "company" | "avatar" | "checkmark";
|
|
63
63
|
options: MenuOption<T>[];
|
|
64
64
|
menuActionsVariant: MenuActionsVariant | null;
|
|
65
|
+
footerPosition: FooterPosition;
|
|
65
66
|
singleSelect: boolean;
|
|
66
67
|
highlightSearchText: boolean;
|
|
67
68
|
enableCascadeSelection: boolean;
|
|
@@ -108,6 +109,7 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
|
|
|
108
109
|
optionsVariant: "checkbox" | "icon" | "toggle" | "simple" | "company" | "avatar" | "checkmark";
|
|
109
110
|
options: MenuOption<T>[];
|
|
110
111
|
menuActionsVariant: MenuActionsVariant | null;
|
|
112
|
+
footerPosition: FooterPosition;
|
|
111
113
|
singleSelect: boolean;
|
|
112
114
|
highlightSearchText: boolean;
|
|
113
115
|
enableCascadeSelection: boolean;
|
|
@@ -154,6 +156,54 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
|
|
|
154
156
|
optionsVariant: "checkbox" | "icon" | "toggle" | "simple" | "company" | "avatar" | "checkmark";
|
|
155
157
|
options: MenuOption<T>[];
|
|
156
158
|
menuActionsVariant: MenuActionsVariant | null;
|
|
159
|
+
footerPosition: FooterPosition;
|
|
160
|
+
singleSelect: boolean;
|
|
161
|
+
highlightSearchText: boolean;
|
|
162
|
+
enableCascadeSelection: boolean;
|
|
163
|
+
counterStyle: "primary" | "secondary";
|
|
164
|
+
}): any;
|
|
165
|
+
footer?(_: {
|
|
166
|
+
selectedItems: MenuOption<T>[];
|
|
167
|
+
searchInput: string;
|
|
168
|
+
slotContext: Record<string, unknown> | undefined;
|
|
169
|
+
isOpen: boolean;
|
|
170
|
+
isLoading: boolean;
|
|
171
|
+
companyLogo: string;
|
|
172
|
+
counterBadgeVariant: PvCounterBadgeVariant;
|
|
173
|
+
countSelectedParents: boolean;
|
|
174
|
+
defaultOpen: boolean;
|
|
175
|
+
enableChildExpansion: boolean;
|
|
176
|
+
groupings: string[];
|
|
177
|
+
hideParentOnChildQueryMatch: boolean;
|
|
178
|
+
icon: string;
|
|
179
|
+
isSeeMoreLoading: boolean;
|
|
180
|
+
hasMoreOptions: boolean;
|
|
181
|
+
loadingText: string;
|
|
182
|
+
optionsAction: MenuAction<T> | undefined;
|
|
183
|
+
optionsRenderer: Component;
|
|
184
|
+
overlayTrigger: boolean;
|
|
185
|
+
parentSelectsAllChildren: boolean;
|
|
186
|
+
popoverCssProperties: CSSProperties;
|
|
187
|
+
popoverProperties: PvPopoverV2Props;
|
|
188
|
+
prefixLabel: string;
|
|
189
|
+
searchPlaceholder: string;
|
|
190
|
+
teleportLocation: string;
|
|
191
|
+
totalOptionCount: number;
|
|
192
|
+
additionalCounter: number;
|
|
193
|
+
rumFilterName: string;
|
|
194
|
+
rumActionName: string;
|
|
195
|
+
counterPosition: "none" | "left" | "right";
|
|
196
|
+
variant: PvSelectButtonVariant;
|
|
197
|
+
size: PvSelectButtonSize;
|
|
198
|
+
label: string;
|
|
199
|
+
disableDropdownIcon: boolean;
|
|
200
|
+
disableClearIcon: boolean;
|
|
201
|
+
disableSearchInput: boolean;
|
|
202
|
+
disabled: boolean;
|
|
203
|
+
optionsVariant: "checkbox" | "icon" | "toggle" | "simple" | "company" | "avatar" | "checkmark";
|
|
204
|
+
options: MenuOption<T>[];
|
|
205
|
+
menuActionsVariant: MenuActionsVariant | null;
|
|
206
|
+
footerPosition: FooterPosition;
|
|
157
207
|
singleSelect: boolean;
|
|
158
208
|
highlightSearchText: boolean;
|
|
159
209
|
enableCascadeSelection: boolean;
|
|
@@ -6,6 +6,7 @@ import { PvCounterBadgeVariant } from '../PvCounterBadge/types.ts';
|
|
|
6
6
|
export type PvSelectButtonVariant = Extract<PvVariants, "secondary" | "ghost">;
|
|
7
7
|
export type PvSelectButtonSize = Extract<PvSize, "lg" | "xl">;
|
|
8
8
|
export type MenuActionsVariant = "select-clear" | "cancel-confirm";
|
|
9
|
+
export type FooterPosition = "above-actions" | "below-actions";
|
|
9
10
|
export interface PvMultiSelectButtonProps<T = unknown, SlotContext extends Record<string, unknown> = Record<string, unknown>> {
|
|
10
11
|
/** Company logo name displayed on the trigger button */
|
|
11
12
|
companyLogo?: string;
|
|
@@ -36,6 +37,8 @@ export interface PvMultiSelectButtonProps<T = unknown, SlotContext extends Recor
|
|
|
36
37
|
enableCascadeSelection?: boolean;
|
|
37
38
|
/** Display an expand/collapse icon for options that have children */
|
|
38
39
|
enableChildExpansion?: boolean;
|
|
40
|
+
/** Where the footer slot renders relative to the menu actions. Defaults to "above-actions". */
|
|
41
|
+
footerPosition?: FooterPosition;
|
|
39
42
|
/** Labels used to group options into named sections */
|
|
40
43
|
groupings?: string[];
|
|
41
44
|
/** When enableCascadeSelection is true, hide parent options in the dropdown when
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
+
import { PvSidebarProps } from './types.ts';
|
|
1
2
|
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
2
|
-
type __VLS_Props =
|
|
3
|
-
disableToggle?: boolean;
|
|
4
|
-
variant?: "primary" | "secondary";
|
|
5
|
-
newVersion?: boolean;
|
|
6
|
-
};
|
|
3
|
+
type __VLS_Props = PvSidebarProps;
|
|
7
4
|
type __VLS_PublicProps = {
|
|
8
5
|
modelValue?: boolean;
|
|
9
6
|
} & __VLS_Props;
|
|
10
7
|
declare function __VLS_template(): {
|
|
11
8
|
attrs: Partial<{}>;
|
|
12
|
-
slots: {
|
|
13
|
-
'sidebar-header'?(_: {}): any;
|
|
14
|
-
sidebar?(_: {}): any;
|
|
9
|
+
slots: Partial<Record<string, (_: {}) => any>> & {
|
|
10
|
+
'sidebar-additional-header'?(_: {}): any;
|
|
11
|
+
'sidebar-additional-content'?(_: {}): any;
|
|
12
|
+
'sidebar-help-content'?(_: {}): any;
|
|
13
|
+
'sidebar-profile-content'?(_: {}): any;
|
|
15
14
|
default?(_: {}): any;
|
|
16
15
|
};
|
|
17
|
-
refs: {
|
|
16
|
+
refs: {
|
|
17
|
+
sidebarPanel: HTMLDivElement;
|
|
18
|
+
popoverTeleportTarget: HTMLDivElement;
|
|
19
|
+
};
|
|
18
20
|
rootEl: HTMLDivElement;
|
|
19
21
|
};
|
|
20
22
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
@@ -29,7 +31,10 @@ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}
|
|
|
29
31
|
onChange?: ((payload: {
|
|
30
32
|
collapsed: boolean;
|
|
31
33
|
}) => any) | undefined;
|
|
32
|
-
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
|
|
34
|
+
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
|
|
35
|
+
sidebarPanel: HTMLDivElement;
|
|
36
|
+
popoverTeleportTarget: HTMLDivElement;
|
|
37
|
+
}, HTMLDivElement>;
|
|
33
38
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
34
39
|
export default _default;
|
|
35
40
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PvSidebarNavItem } from './types.ts';
|
|
2
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
items: PvSidebarNavItem[];
|
|
5
|
+
/** Keeps nested flyouts closed while the surface hosting this list is inactive. */
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export interface PvSidebarProps {
|
|
2
|
+
/** @deprecated Organization and profile menus are always click-only. This prop has no effect. */
|
|
3
|
+
disableOrgProfileHover?: boolean;
|
|
4
|
+
disableToggle?: boolean;
|
|
5
|
+
/** Top-level nav items, with optional nested children rendered as an accordion / hover flyout. */
|
|
6
|
+
navItems?: PvSidebarNavItem[];
|
|
7
|
+
/** Organizations rendered in the org-switcher dropdown, with optional nested entities. */
|
|
8
|
+
organizations?: PvSidebarOrgEntity[];
|
|
9
|
+
/** Identity rendered by the Profile footer trigger. */
|
|
10
|
+
profile?: PvSidebarProfile;
|
|
11
|
+
variant?: "primary" | "secondary";
|
|
12
|
+
}
|
|
13
|
+
export interface PvSidebarProfile {
|
|
14
|
+
avatarUrl?: string;
|
|
15
|
+
name: string;
|
|
16
|
+
}
|
|
17
|
+
export interface PvSidebarOrgEntity {
|
|
18
|
+
value: string | number;
|
|
19
|
+
label: string;
|
|
20
|
+
url: string;
|
|
21
|
+
avatarUrl?: string;
|
|
22
|
+
/** Marks this as the currently active organization/entity (server already knows from the current page). */
|
|
23
|
+
active?: boolean;
|
|
24
|
+
entities?: PvSidebarOrgEntity[];
|
|
25
|
+
}
|
|
26
|
+
export interface PvSidebarNavItem {
|
|
27
|
+
value: string | number;
|
|
28
|
+
label: string;
|
|
29
|
+
/** Leaf items link directly; parents with children may omit it. */
|
|
30
|
+
url?: string;
|
|
31
|
+
/** SVG symbol id, e.g. "home" — only rendered at the top level. */
|
|
32
|
+
icon?: string;
|
|
33
|
+
/** Marks this as the currently active item (server already knows from the current page). */
|
|
34
|
+
active?: boolean;
|
|
35
|
+
/** Named slot rendered in a full-height hover and focus panel instead of the compact flyout. */
|
|
36
|
+
hoverPanelSlot?: string;
|
|
37
|
+
/** Extra attributes spread directly onto the rendered <a> (e.g. { "data-turbolinks": "false" }). */
|
|
38
|
+
linkAttrs?: Record<string, string>;
|
|
39
|
+
external?: boolean;
|
|
40
|
+
badge?: "beta" | "legacy";
|
|
41
|
+
/** Draws a divider line above this item, starting a new group. Only rendered at the top level. */
|
|
42
|
+
separatorAtTop?: boolean;
|
|
43
|
+
children?: PvSidebarNavItem[];
|
|
44
|
+
}
|
|
@@ -38,5 +38,7 @@ export interface PvSidebarNavItem {
|
|
|
38
38
|
linkAttrs?: Record<string, string>;
|
|
39
39
|
external?: boolean;
|
|
40
40
|
badge?: "beta" | "legacy";
|
|
41
|
+
/** Draws a divider line above this item, starting a new group. Only rendered at the top level. */
|
|
42
|
+
separatorAtTop?: boolean;
|
|
41
43
|
children?: PvSidebarNavItem[];
|
|
42
44
|
}
|
|
@@ -3,6 +3,7 @@ import { AdvancedFilterModel, FilterModel } from 'ag-grid-enterprise';
|
|
|
3
3
|
import { MenuOption, MultiSelectState } from '../../../types';
|
|
4
4
|
import { ColDef, ValueFormatterFunc } from 'ag-grid-community';
|
|
5
5
|
import { PvRangeScale, PvRangeValue } from '../PvRange/types';
|
|
6
|
+
import { FooterPosition } from '../PvMultiSelectButton/types';
|
|
6
7
|
export type PvFilterPanelCategory = string;
|
|
7
8
|
export type PvFilterPanelFilterType = "value" | "range" | "boolean" | "exists";
|
|
8
9
|
export type PvFilterPanelFilterModelType = "advanced" | "regular";
|
|
@@ -124,6 +125,10 @@ export interface PvFilterPanelColDefContext {
|
|
|
124
125
|
* Optional renderer to provide content below the filter options list
|
|
125
126
|
*/
|
|
126
127
|
filterFooterRenderer?: Component;
|
|
128
|
+
/**
|
|
129
|
+
* Where filterFooterRenderer renders relative to the Select All / Clear All actions. Defaults to "above-actions".
|
|
130
|
+
*/
|
|
131
|
+
filterFooterPosition?: FooterPosition;
|
|
127
132
|
/**
|
|
128
133
|
* A group of boolean sub-fields to render as a hover submenu above the filter options.
|
|
129
134
|
* Each field in `fields` must be present as a column in the table.
|
package/pv-components/dist/vue/base/components/base/PvMultiSelectButton/PvMultiSelectButton.vue.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PvMultiSelectButtonProps, PvSelectButtonVariant, PvSelectButtonSize, MenuActionsVariant } from './types';
|
|
1
|
+
import { PvMultiSelectButtonProps, PvSelectButtonVariant, PvSelectButtonSize, MenuActionsVariant, FooterPosition } from './types';
|
|
2
2
|
import { MenuOption, MultiSelectState, SeeMoreEvent, MenuAction } from '../../../types';
|
|
3
3
|
import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, Component, CSSProperties, VNode } from 'vue';
|
|
4
4
|
import { PvCounterBadgeVariant } from '../PvCounterBadge/types';
|
|
@@ -62,6 +62,7 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
|
|
|
62
62
|
optionsVariant: "toggle" | "checkbox" | "icon" | "simple" | "company" | "avatar" | "checkmark";
|
|
63
63
|
options: MenuOption<T>[];
|
|
64
64
|
menuActionsVariant: MenuActionsVariant | null;
|
|
65
|
+
footerPosition: FooterPosition;
|
|
65
66
|
singleSelect: boolean;
|
|
66
67
|
highlightSearchText: boolean;
|
|
67
68
|
enableCascadeSelection: boolean;
|
|
@@ -108,6 +109,7 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
|
|
|
108
109
|
optionsVariant: "toggle" | "checkbox" | "icon" | "simple" | "company" | "avatar" | "checkmark";
|
|
109
110
|
options: MenuOption<T>[];
|
|
110
111
|
menuActionsVariant: MenuActionsVariant | null;
|
|
112
|
+
footerPosition: FooterPosition;
|
|
111
113
|
singleSelect: boolean;
|
|
112
114
|
highlightSearchText: boolean;
|
|
113
115
|
enableCascadeSelection: boolean;
|
|
@@ -154,6 +156,54 @@ declare const _default: <T>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>
|
|
|
154
156
|
optionsVariant: "toggle" | "checkbox" | "icon" | "simple" | "company" | "avatar" | "checkmark";
|
|
155
157
|
options: MenuOption<T>[];
|
|
156
158
|
menuActionsVariant: MenuActionsVariant | null;
|
|
159
|
+
footerPosition: FooterPosition;
|
|
160
|
+
singleSelect: boolean;
|
|
161
|
+
highlightSearchText: boolean;
|
|
162
|
+
enableCascadeSelection: boolean;
|
|
163
|
+
counterStyle: "primary" | "secondary";
|
|
164
|
+
}): any;
|
|
165
|
+
footer?(_: {
|
|
166
|
+
selectedItems: MenuOption<T>[];
|
|
167
|
+
searchInput: string;
|
|
168
|
+
slotContext: Record<string, unknown> | undefined;
|
|
169
|
+
isOpen: boolean;
|
|
170
|
+
isLoading: boolean;
|
|
171
|
+
companyLogo: string;
|
|
172
|
+
counterBadgeVariant: PvCounterBadgeVariant;
|
|
173
|
+
countSelectedParents: boolean;
|
|
174
|
+
defaultOpen: boolean;
|
|
175
|
+
enableChildExpansion: boolean;
|
|
176
|
+
groupings: string[];
|
|
177
|
+
hideParentOnChildQueryMatch: boolean;
|
|
178
|
+
icon: string;
|
|
179
|
+
isSeeMoreLoading: boolean;
|
|
180
|
+
hasMoreOptions: boolean;
|
|
181
|
+
loadingText: string;
|
|
182
|
+
optionsAction: MenuAction<T> | undefined;
|
|
183
|
+
optionsRenderer: Component;
|
|
184
|
+
overlayTrigger: boolean;
|
|
185
|
+
parentSelectsAllChildren: boolean;
|
|
186
|
+
popoverCssProperties: CSSProperties;
|
|
187
|
+
popoverProperties: PvPopoverV2Props;
|
|
188
|
+
prefixLabel: string;
|
|
189
|
+
searchPlaceholder: string;
|
|
190
|
+
teleportLocation: string;
|
|
191
|
+
totalOptionCount: number;
|
|
192
|
+
additionalCounter: number;
|
|
193
|
+
rumFilterName: string;
|
|
194
|
+
rumActionName: string;
|
|
195
|
+
counterPosition: "right" | "left" | "none";
|
|
196
|
+
variant: PvSelectButtonVariant;
|
|
197
|
+
size: PvSelectButtonSize;
|
|
198
|
+
label: string;
|
|
199
|
+
disableDropdownIcon: boolean;
|
|
200
|
+
disableClearIcon: boolean;
|
|
201
|
+
disableSearchInput: boolean;
|
|
202
|
+
disabled: boolean;
|
|
203
|
+
optionsVariant: "toggle" | "checkbox" | "icon" | "simple" | "company" | "avatar" | "checkmark";
|
|
204
|
+
options: MenuOption<T>[];
|
|
205
|
+
menuActionsVariant: MenuActionsVariant | null;
|
|
206
|
+
footerPosition: FooterPosition;
|
|
157
207
|
singleSelect: boolean;
|
|
158
208
|
highlightSearchText: boolean;
|
|
159
209
|
enableCascadeSelection: boolean;
|
|
@@ -6,6 +6,7 @@ import { PvCounterBadgeVariant } from '../PvCounterBadge/types.ts';
|
|
|
6
6
|
export type PvSelectButtonVariant = Extract<PvVariants, "secondary" | "ghost">;
|
|
7
7
|
export type PvSelectButtonSize = Extract<PvSize, "lg" | "xl">;
|
|
8
8
|
export type MenuActionsVariant = "select-clear" | "cancel-confirm";
|
|
9
|
+
export type FooterPosition = "above-actions" | "below-actions";
|
|
9
10
|
export interface PvMultiSelectButtonProps<T = unknown, SlotContext extends Record<string, unknown> = Record<string, unknown>> {
|
|
10
11
|
/** Company logo name displayed on the trigger button */
|
|
11
12
|
companyLogo?: string;
|
|
@@ -36,6 +37,8 @@ export interface PvMultiSelectButtonProps<T = unknown, SlotContext extends Recor
|
|
|
36
37
|
enableCascadeSelection?: boolean;
|
|
37
38
|
/** Display an expand/collapse icon for options that have children */
|
|
38
39
|
enableChildExpansion?: boolean;
|
|
40
|
+
/** Where the footer slot renders relative to the menu actions. Defaults to "above-actions". */
|
|
41
|
+
footerPosition?: FooterPosition;
|
|
39
42
|
/** Labels used to group options into named sections */
|
|
40
43
|
groupings?: string[];
|
|
41
44
|
/** When enableCascadeSelection is true, hide parent options in the dropdown when
|
|
@@ -1,20 +1,22 @@
|
|
|
1
|
+
import { PvSidebarProps } from './types.ts';
|
|
1
2
|
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
2
|
-
type __VLS_Props =
|
|
3
|
-
disableToggle?: boolean;
|
|
4
|
-
variant?: "primary" | "secondary";
|
|
5
|
-
newVersion?: boolean;
|
|
6
|
-
};
|
|
3
|
+
type __VLS_Props = PvSidebarProps;
|
|
7
4
|
type __VLS_PublicProps = {
|
|
8
5
|
modelValue?: boolean;
|
|
9
6
|
} & __VLS_Props;
|
|
10
7
|
declare function __VLS_template(): {
|
|
11
8
|
attrs: Partial<{}>;
|
|
12
|
-
slots: {
|
|
13
|
-
'sidebar-header'?(_: {}): any;
|
|
14
|
-
sidebar?(_: {}): any;
|
|
9
|
+
slots: Partial<Record<string, (_: {}) => any>> & {
|
|
10
|
+
'sidebar-additional-header'?(_: {}): any;
|
|
11
|
+
'sidebar-additional-content'?(_: {}): any;
|
|
12
|
+
'sidebar-help-content'?(_: {}): any;
|
|
13
|
+
'sidebar-profile-content'?(_: {}): any;
|
|
15
14
|
default?(_: {}): any;
|
|
16
15
|
};
|
|
17
|
-
refs: {
|
|
16
|
+
refs: {
|
|
17
|
+
sidebarPanel: HTMLDivElement;
|
|
18
|
+
popoverTeleportTarget: HTMLDivElement;
|
|
19
|
+
};
|
|
18
20
|
rootEl: HTMLDivElement;
|
|
19
21
|
};
|
|
20
22
|
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
|
|
@@ -29,7 +31,10 @@ declare const __VLS_component: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}
|
|
|
29
31
|
collapsed: boolean;
|
|
30
32
|
}) => any) | undefined;
|
|
31
33
|
"onUpdate:modelValue"?: ((value: boolean) => any) | undefined;
|
|
32
|
-
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
|
|
34
|
+
}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {
|
|
35
|
+
sidebarPanel: HTMLDivElement;
|
|
36
|
+
popoverTeleportTarget: HTMLDivElement;
|
|
37
|
+
}, HTMLDivElement>;
|
|
33
38
|
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
|
|
34
39
|
export default _default;
|
|
35
40
|
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { PvSidebarNavItem } from './types.ts';
|
|
2
|
+
import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
items: PvSidebarNavItem[];
|
|
5
|
+
/** Keeps nested flyouts closed while the surface hosting this list is inactive. */
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare const _default: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
export interface PvSidebarProps {
|
|
2
|
+
/** @deprecated Organization and profile menus are always click-only. This prop has no effect. */
|
|
3
|
+
disableOrgProfileHover?: boolean;
|
|
4
|
+
disableToggle?: boolean;
|
|
5
|
+
/** Top-level nav items, with optional nested children rendered as an accordion / hover flyout. */
|
|
6
|
+
navItems?: PvSidebarNavItem[];
|
|
7
|
+
/** Organizations rendered in the org-switcher dropdown, with optional nested entities. */
|
|
8
|
+
organizations?: PvSidebarOrgEntity[];
|
|
9
|
+
/** Identity rendered by the Profile footer trigger. */
|
|
10
|
+
profile?: PvSidebarProfile;
|
|
11
|
+
variant?: "primary" | "secondary";
|
|
12
|
+
}
|
|
13
|
+
export interface PvSidebarProfile {
|
|
14
|
+
avatarUrl?: string;
|
|
15
|
+
name: string;
|
|
16
|
+
}
|
|
17
|
+
export interface PvSidebarOrgEntity {
|
|
18
|
+
value: string | number;
|
|
19
|
+
label: string;
|
|
20
|
+
url: string;
|
|
21
|
+
avatarUrl?: string;
|
|
22
|
+
/** Marks this as the currently active organization/entity (server already knows from the current page). */
|
|
23
|
+
active?: boolean;
|
|
24
|
+
entities?: PvSidebarOrgEntity[];
|
|
25
|
+
}
|
|
26
|
+
export interface PvSidebarNavItem {
|
|
27
|
+
value: string | number;
|
|
28
|
+
label: string;
|
|
29
|
+
/** Leaf items link directly; parents with children may omit it. */
|
|
30
|
+
url?: string;
|
|
31
|
+
/** SVG symbol id, e.g. "home" — only rendered at the top level. */
|
|
32
|
+
icon?: string;
|
|
33
|
+
/** Marks this as the currently active item (server already knows from the current page). */
|
|
34
|
+
active?: boolean;
|
|
35
|
+
/** Named slot rendered in a full-height hover and focus panel instead of the compact flyout. */
|
|
36
|
+
hoverPanelSlot?: string;
|
|
37
|
+
/** Extra attributes spread directly onto the rendered <a> (e.g. { "data-turbolinks": "false" }). */
|
|
38
|
+
linkAttrs?: Record<string, string>;
|
|
39
|
+
external?: boolean;
|
|
40
|
+
badge?: "beta" | "legacy";
|
|
41
|
+
/** Draws a divider line above this item, starting a new group. Only rendered at the top level. */
|
|
42
|
+
separatorAtTop?: boolean;
|
|
43
|
+
children?: PvSidebarNavItem[];
|
|
44
|
+
}
|
|
@@ -38,5 +38,7 @@ export interface PvSidebarNavItem {
|
|
|
38
38
|
linkAttrs?: Record<string, string>;
|
|
39
39
|
external?: boolean;
|
|
40
40
|
badge?: "beta" | "legacy";
|
|
41
|
+
/** Draws a divider line above this item, starting a new group. Only rendered at the top level. */
|
|
42
|
+
separatorAtTop?: boolean;
|
|
41
43
|
children?: PvSidebarNavItem[];
|
|
42
44
|
}
|