@stachelock/ui 0.6.1 → 0.6.3
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/dist/AvatarIcon-kcEI0AWe.js +4 -0
- package/dist/AvatarImage-YFR2etb8.js +4 -0
- package/dist/AvatarInitials-B7wCnBX9.js +4 -0
- package/dist/composables/index.js +33 -30
- package/dist/index.js +3409 -1140
- package/dist/src/components/UiBanner.d.ts +1 -1
- package/dist/src/components/UiLoadingDots.d.ts +1 -1
- package/dist/src/components/UiMenu.d.ts +1 -1
- package/dist/src/components/UiModal.d.ts +1 -1
- package/dist/src/components/avatars/AvatarIcon.d.ts +18 -0
- package/dist/src/components/avatars/AvatarImage.d.ts +25 -0
- package/dist/src/components/avatars/AvatarInitials.d.ts +15 -0
- package/dist/src/components/avatars/AvatarWithText.d.ts +129 -0
- package/dist/src/components/avatars/index.d.ts +4 -0
- package/dist/src/components/collection-editor/CollectionItemList.d.ts +42 -0
- package/dist/src/components/collection-editor/OrganizationsEditor.d.ts +29 -0
- package/dist/src/components/collection-editor/RelatedNamesEditor.d.ts +26 -0
- package/dist/src/components/collection-editor/SocialLinksEditor.d.ts +26 -0
- package/dist/src/components/collection-editor/index.d.ts +5 -0
- package/dist/src/components/formatters/DateFormatter.d.ts +119 -0
- package/dist/src/components/formatters/DateRangeFormatter.d.ts +63 -0
- package/dist/src/components/formatters/index.d.ts +2 -0
- package/dist/src/components/forms/FormFieldWrapper.d.ts +1 -1
- package/dist/src/components/icons/brands/DiscordBrandIcon.d.ts +2 -0
- package/dist/src/components/icons/brands/FacebookBrandIcon.d.ts +2 -0
- package/dist/src/components/icons/brands/GitHubBrandIcon.d.ts +2 -0
- package/dist/src/components/icons/brands/InstagramBrandIcon.d.ts +2 -0
- package/dist/src/components/icons/brands/LinkedInBrandIcon.d.ts +2 -0
- package/dist/src/components/icons/brands/PinterestBrandIcon.d.ts +2 -0
- package/dist/src/components/icons/brands/SnapchatBrandIcon.d.ts +2 -0
- package/dist/src/components/icons/brands/ThreadsBrandIcon.d.ts +2 -0
- package/dist/src/components/icons/brands/TikTokBrandIcon.d.ts +2 -0
- package/dist/src/components/icons/brands/TwitchBrandIcon.d.ts +2 -0
- package/dist/src/components/icons/brands/XBrandIcon.d.ts +2 -0
- package/dist/src/components/icons/brands/YouTubeBrandIcon.d.ts +2 -0
- package/dist/src/components/icons/brands/index.d.ts +12 -0
- package/dist/src/components/icons/index.d.ts +1 -0
- package/dist/src/components/index.d.ts +5 -0
- package/dist/src/components/inputs/AddressInput.d.ts +1 -1
- package/dist/src/components/inputs/ComboboxInput.d.ts +2 -2
- package/dist/src/components/inputs/DatepickerInput.d.ts +17 -17
- package/dist/src/components/inputs/EmailInput.d.ts +2 -2
- package/dist/src/components/inputs/ImageDropzoneInput.d.ts +326 -0
- package/dist/src/components/inputs/PhoneInput.d.ts +2 -2
- package/dist/src/components/inputs/RichTextInput.d.ts +2 -2
- package/dist/src/components/inputs/SelectInput.d.ts +2 -2
- package/dist/src/components/inputs/SelectTextInput.d.ts +4 -4
- package/dist/src/components/inputs/TagifyInput.d.ts +2 -2
- package/dist/src/components/inputs/TextInput.d.ts +3 -3
- package/dist/src/components/inputs/index.d.ts +1 -0
- package/dist/src/components/layouts/CardLayout.d.ts +1 -1
- package/dist/src/components/maps/UiInfoWindow.d.ts +2 -2
- package/dist/src/components/maps/UiMap.d.ts +1 -1
- package/dist/src/components/maps/UiMapAll.d.ts +6 -6
- package/dist/src/components/maps/UiMapMarker.d.ts +2 -2
- package/dist/src/components/modals/BaseModal.d.ts +1 -1
- package/dist/src/components/profiles/BentoProfileLayout.d.ts +9 -0
- package/dist/src/components/profiles/ProfileCard.d.ts +30 -0
- package/dist/src/components/profiles/ProfileContactCard.d.ts +12 -0
- package/dist/src/components/profiles/ProfileHeaderCard.d.ts +20 -0
- package/dist/src/components/profiles/ProfileLocationCard.d.ts +17 -0
- package/dist/src/components/profiles/ProfileOrganizationsCard.d.ts +11 -0
- package/dist/src/components/profiles/ProfilePersonalCard.d.ts +10 -0
- package/dist/src/components/profiles/ProfileProfessionalCard.d.ts +11 -0
- package/dist/src/components/profiles/ProfileRelatedNamesCard.d.ts +11 -0
- package/dist/src/components/profiles/index.d.ts +9 -0
- package/dist/src/components/wrappers/BackgroundGradientWrapper.d.ts +1 -1
- package/dist/src/composables/index.d.ts +1 -0
- package/dist/src/composables/useCollectionEditor.d.ts +64 -0
- package/dist/src/composables/useNotifications.d.ts +4 -4
- package/dist/src/types/collection-editor.d.ts +134 -0
- package/dist/src/types/index.d.ts +2 -0
- package/dist/src/types/profiles.d.ts +149 -0
- package/dist/style.css +1 -1
- package/dist/ui.css +1 -1
- package/dist/useCollectionEditor-BYyoAT0U.js +121 -0
- package/package.json +1 -1
|
@@ -164,6 +164,8 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
164
164
|
"onUpdate:query"?: ((...args: any[]) => any) | undefined;
|
|
165
165
|
"onInvalid-tag"?: ((...args: any[]) => any) | undefined;
|
|
166
166
|
}>, {
|
|
167
|
+
itemKey: string;
|
|
168
|
+
itemText: string;
|
|
167
169
|
placeholder: string;
|
|
168
170
|
errorMessage: string;
|
|
169
171
|
inline: boolean;
|
|
@@ -171,8 +173,6 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
171
173
|
disabled: boolean;
|
|
172
174
|
optional: boolean;
|
|
173
175
|
pattern: RegExp;
|
|
174
|
-
itemKey: string;
|
|
175
|
-
itemText: string;
|
|
176
176
|
itemSubtext: string;
|
|
177
177
|
showSubext: boolean;
|
|
178
178
|
tagDisplayKey: string;
|
|
@@ -16,11 +16,12 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<Te
|
|
|
16
16
|
"onUpdate:validity"?: ((isValid: boolean) => any) | undefined;
|
|
17
17
|
}>, {
|
|
18
18
|
label: string;
|
|
19
|
-
|
|
19
|
+
type: string;
|
|
20
20
|
rules: any;
|
|
21
|
+
placeholder: string;
|
|
22
|
+
tertiaryLabel: string;
|
|
21
23
|
value: string;
|
|
22
24
|
disabled: boolean;
|
|
23
|
-
tertiaryLabel: string;
|
|
24
25
|
successMessage: string;
|
|
25
26
|
showErrors: boolean;
|
|
26
27
|
showValidCheck: boolean;
|
|
@@ -28,7 +29,6 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<Te
|
|
|
28
29
|
disabledMessage: string;
|
|
29
30
|
boxShadow: boolean;
|
|
30
31
|
lazy: boolean;
|
|
31
|
-
type: string;
|
|
32
32
|
validateOnMount: boolean;
|
|
33
33
|
inputClass: string | string[];
|
|
34
34
|
inputStyle: string;
|
|
@@ -7,6 +7,7 @@ export { default as EmailInput } from './EmailInput';
|
|
|
7
7
|
export { default as EmptyInput } from './EmptyInput';
|
|
8
8
|
export { default as FileDropzoneInput } from './FileDropzoneInput';
|
|
9
9
|
export { default as HiddenInput } from './HiddenInput';
|
|
10
|
+
export { default as ImageDropzoneInput } from './ImageDropzoneInput';
|
|
10
11
|
export { default as InputsShowcase } from './InputsShowcase';
|
|
11
12
|
export { default as PhoneInput } from './PhoneInput';
|
|
12
13
|
export { default as RichTextInput } from './RichTextInput';
|
|
@@ -59,8 +59,8 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<Pr
|
|
|
59
59
|
loading: boolean;
|
|
60
60
|
shadow: Shadow;
|
|
61
61
|
variant: Variant;
|
|
62
|
-
showHeader: boolean;
|
|
63
62
|
showFooter: boolean;
|
|
63
|
+
showHeader: boolean;
|
|
64
64
|
divided: boolean;
|
|
65
65
|
collapsible: boolean;
|
|
66
66
|
collapsed: boolean;
|
|
@@ -329,6 +329,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
329
329
|
"onUpdate:visible"?: ((value: boolean) => any) | undefined;
|
|
330
330
|
}>, {
|
|
331
331
|
error: string | null;
|
|
332
|
+
title: string;
|
|
332
333
|
data: Record<string, any>;
|
|
333
334
|
details: {
|
|
334
335
|
/**
|
|
@@ -371,7 +372,6 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
371
372
|
*/
|
|
372
373
|
type?: "link" | "text" | "email" | "phone" | "address" | undefined;
|
|
373
374
|
}[] | undefined;
|
|
374
|
-
title: string;
|
|
375
375
|
loading: boolean;
|
|
376
376
|
visible: boolean;
|
|
377
377
|
closeOnEscape: boolean;
|
|
@@ -419,10 +419,10 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
419
419
|
imageUrl: string;
|
|
420
420
|
content: string;
|
|
421
421
|
subtitle: string;
|
|
422
|
+
closeOnBackdrop: boolean;
|
|
422
423
|
loadingText: string;
|
|
423
424
|
showRetry: boolean;
|
|
424
425
|
showAvatar: boolean;
|
|
425
|
-
closeOnBackdrop: boolean;
|
|
426
426
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, {
|
|
427
427
|
title?(_: {}): any;
|
|
428
428
|
subtitle?(_: {}): any;
|
|
@@ -658,8 +658,8 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
658
658
|
}>> & Readonly<{
|
|
659
659
|
[x: `on${Capitalize<any>}`]: ((...args: any[] | unknown[]) => any) | undefined;
|
|
660
660
|
}>, {
|
|
661
|
-
center: LatLngLiteral;
|
|
662
661
|
id: string;
|
|
662
|
+
center: LatLngLiteral;
|
|
663
663
|
width: string;
|
|
664
664
|
theme: MapTheme;
|
|
665
665
|
heading: number;
|
|
@@ -529,9 +529,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
529
529
|
}) => any) | undefined;
|
|
530
530
|
"onUpdate:visible-markers"?: ((markers: MapMarker<unknown>[]) => any) | undefined;
|
|
531
531
|
}>, {
|
|
532
|
+
items: MapMarker<unknown>[] | Record<string, unknown>[];
|
|
532
533
|
center: LatLngLiteral;
|
|
533
534
|
width: string;
|
|
534
|
-
items: MapMarker<unknown>[] | Record<string, unknown>[];
|
|
535
535
|
theme: MapTheme;
|
|
536
536
|
height: string;
|
|
537
537
|
zoom: number;
|
|
@@ -573,8 +573,8 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
573
573
|
$: import('vue').ComponentInternalInstance;
|
|
574
574
|
$data: {};
|
|
575
575
|
$props: Partial<{
|
|
576
|
-
center: LatLngLiteral;
|
|
577
576
|
id: string;
|
|
577
|
+
center: LatLngLiteral;
|
|
578
578
|
width: string;
|
|
579
579
|
theme: MapTheme;
|
|
580
580
|
heading: number;
|
|
@@ -665,7 +665,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
665
665
|
strictBounds?: boolean | undefined;
|
|
666
666
|
} | undefined;
|
|
667
667
|
readonly mapStyle?: Record<string, any> | undefined;
|
|
668
|
-
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "
|
|
668
|
+
} & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, "id" | "center" | "width" | "theme" | "heading" | "maxZoom" | "draggable" | "height" | "styles" | "containerClass" | "zoom" | "apiKey" | "loadingText" | "clickableIcons" | "disableDefaultUi" | "disableDoubleClickZoom" | "fullscreenControl" | "gestureHandling" | "keyboardShortcuts" | "mapTypeControl" | "mapTypeId" | "minZoom" | "restriction" | "rotateControl" | "scaleControl" | "scrollwheel" | "streetViewControl" | "tilt" | "zoomControl" | "showRetry" | "autoTheme" | "lightTheme" | "darkTheme" | "mapClass" | "mapStyle" | "hideLoadingState" | "hideErrorState" | "showAddressUnavailable" | "addressUnavailableMessage" | "showCustomControls" | "showDefaultZoomControls" | "controlsPosition">;
|
|
669
669
|
$attrs: {
|
|
670
670
|
[x: string]: unknown;
|
|
671
671
|
};
|
|
@@ -1360,8 +1360,8 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
1360
1360
|
} & {
|
|
1361
1361
|
[x: string]: any;
|
|
1362
1362
|
}, string, {
|
|
1363
|
-
center: LatLngLiteral;
|
|
1364
1363
|
id: string;
|
|
1364
|
+
center: LatLngLiteral;
|
|
1365
1365
|
width: string;
|
|
1366
1366
|
theme: MapTheme;
|
|
1367
1367
|
heading: number;
|
|
@@ -1426,8 +1426,8 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
1426
1426
|
$nextTick: typeof import('vue').nextTick;
|
|
1427
1427
|
$watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R, args_2: import('@vue/reactivity').OnCleanup) => any : (args_0: any, args_1: any, args_2: import('@vue/reactivity').OnCleanup) => any, options?: import('vue').WatchOptions<boolean> | undefined): import('vue').WatchStopHandle;
|
|
1428
1428
|
} & Readonly<{
|
|
1429
|
-
center: LatLngLiteral;
|
|
1430
1429
|
id: string;
|
|
1430
|
+
center: LatLngLiteral;
|
|
1431
1431
|
width: string;
|
|
1432
1432
|
theme: MapTheme;
|
|
1433
1433
|
heading: number;
|
|
@@ -1645,7 +1645,7 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
1645
1645
|
};
|
|
1646
1646
|
}>> & Readonly<{
|
|
1647
1647
|
[x: `on${Capitalize<any>}`]: ((...args: any[] | unknown[]) => any) | undefined;
|
|
1648
|
-
}>, "reset" | "fitBounds" | "getBounds" | "getCenter" | "getZoom" | "panBy" | "panTo" | "setCenter" | "setZoom" | "getMap" | "fitToMarkers" | "addMarker" | "removeMarker" | "updateMarker" | "clearMarkers" | "getMarkers" | "getVisibleMarkers" | ("
|
|
1648
|
+
}>, "reset" | "fitBounds" | "getBounds" | "getCenter" | "getZoom" | "panBy" | "panTo" | "setCenter" | "setZoom" | "getMap" | "fitToMarkers" | "addMarker" | "removeMarker" | "updateMarker" | "clearMarkers" | "getMarkers" | "getVisibleMarkers" | ("id" | "center" | "width" | "theme" | "heading" | "maxZoom" | "draggable" | "height" | "styles" | "containerClass" | "zoom" | "apiKey" | "loadingText" | "clickableIcons" | "disableDefaultUi" | "disableDoubleClickZoom" | "fullscreenControl" | "gestureHandling" | "keyboardShortcuts" | "mapTypeControl" | "mapTypeId" | "minZoom" | "restriction" | "rotateControl" | "scaleControl" | "scrollwheel" | "streetViewControl" | "tilt" | "zoomControl" | "showRetry" | "autoTheme" | "lightTheme" | "darkTheme" | "mapClass" | "mapStyle" | "hideLoadingState" | "hideErrorState" | "showAddressUnavailable" | "addressUnavailableMessage" | "showCustomControls" | "showDefaultZoomControls" | "controlsPosition")> & import('vue').ShallowUnwrapRef<{
|
|
1649
1649
|
getMap(): google.maps.Map | null;
|
|
1650
1650
|
panTo(position: LatLngLiteral): void;
|
|
1651
1651
|
panBy(x: number, y: number): void; /** Data loading state */
|
|
@@ -197,11 +197,11 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
197
197
|
marker: MapMarker<unknown>;
|
|
198
198
|
}) => any) | undefined;
|
|
199
199
|
}>, {
|
|
200
|
+
id: string | number;
|
|
200
201
|
label: string | MapMarkerLabel;
|
|
201
202
|
icon: MapMarkerIcon;
|
|
202
|
-
id: string | number;
|
|
203
|
-
data: Record<string, any>;
|
|
204
203
|
title: string;
|
|
204
|
+
data: Record<string, any>;
|
|
205
205
|
color: string;
|
|
206
206
|
animation: "DROP" | "BOUNCE";
|
|
207
207
|
size: "sm" | "md" | "lg";
|
|
@@ -108,9 +108,9 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<im
|
|
|
108
108
|
cancelText: string;
|
|
109
109
|
confirmText: string;
|
|
110
110
|
confirmTheme: Theme;
|
|
111
|
+
showCloseButton: boolean;
|
|
111
112
|
showFooter: boolean;
|
|
112
113
|
closeOnBackdrop: boolean;
|
|
113
|
-
showCloseButton: boolean;
|
|
114
114
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>, {
|
|
115
115
|
icon?(_: {}): any;
|
|
116
116
|
header?(_: {}): any;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ProfileData, ProfilePreviewConfig } from '../../types/profiles';
|
|
2
|
+
interface Props {
|
|
3
|
+
profile: ProfileData;
|
|
4
|
+
config?: ProfilePreviewConfig;
|
|
5
|
+
}
|
|
6
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
7
|
+
config: ProfilePreviewConfig;
|
|
8
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Component } from 'vue';
|
|
2
|
+
interface Props {
|
|
3
|
+
/** Card header title */
|
|
4
|
+
title?: string;
|
|
5
|
+
/** Icon component for header */
|
|
6
|
+
icon?: Component;
|
|
7
|
+
/** Animation delay index */
|
|
8
|
+
animationIndex?: number;
|
|
9
|
+
/** Delay per animation index in ms */
|
|
10
|
+
animationDelay?: number;
|
|
11
|
+
/** Remove default padding */
|
|
12
|
+
noPadding?: boolean;
|
|
13
|
+
/** Enable animation */
|
|
14
|
+
animationEnabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
17
|
+
animationDelay: number;
|
|
18
|
+
noPadding: boolean;
|
|
19
|
+
animationIndex: number;
|
|
20
|
+
animationEnabled: boolean;
|
|
21
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>, {
|
|
22
|
+
header?(_: {}): any;
|
|
23
|
+
default?(_: {}): any;
|
|
24
|
+
}>;
|
|
25
|
+
export default _default;
|
|
26
|
+
type __VLS_WithTemplateSlots<T, S> = T & {
|
|
27
|
+
new (): {
|
|
28
|
+
$slots: S;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
email?: string;
|
|
3
|
+
phone?: string;
|
|
4
|
+
website?: string;
|
|
5
|
+
animationIndex?: number;
|
|
6
|
+
animationEnabled?: boolean;
|
|
7
|
+
}
|
|
8
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
9
|
+
animationIndex: number;
|
|
10
|
+
animationEnabled: boolean;
|
|
11
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
12
|
+
export default _default;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ProfileImage } from '../../types/profiles';
|
|
2
|
+
interface Props {
|
|
3
|
+
/** Display name */
|
|
4
|
+
name: string;
|
|
5
|
+
/** User's nickname */
|
|
6
|
+
nickname?: string;
|
|
7
|
+
/** Avatar image URL or Cloudinary asset object */
|
|
8
|
+
image?: string | ProfileImage;
|
|
9
|
+
/** User status */
|
|
10
|
+
status?: 'active' | 'inactive' | string;
|
|
11
|
+
/** Animation delay index */
|
|
12
|
+
animationIndex?: number;
|
|
13
|
+
/** Enable animation */
|
|
14
|
+
animationEnabled?: boolean;
|
|
15
|
+
}
|
|
16
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
17
|
+
animationIndex: number;
|
|
18
|
+
animationEnabled: boolean;
|
|
19
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
20
|
+
export default _default;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AddressInfo } from '../../types/profiles';
|
|
2
|
+
interface Props {
|
|
3
|
+
address?: AddressInfo | AddressInfo[];
|
|
4
|
+
latLng?: {
|
|
5
|
+
lat: number;
|
|
6
|
+
lng: number;
|
|
7
|
+
};
|
|
8
|
+
showMap?: boolean;
|
|
9
|
+
animationIndex?: number;
|
|
10
|
+
animationEnabled?: boolean;
|
|
11
|
+
}
|
|
12
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
13
|
+
animationIndex: number;
|
|
14
|
+
animationEnabled: boolean;
|
|
15
|
+
showMap: boolean;
|
|
16
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
17
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { OrganizationItem } from '../../types/profiles';
|
|
2
|
+
interface Props {
|
|
3
|
+
organizations?: OrganizationItem[];
|
|
4
|
+
animationIndex?: number;
|
|
5
|
+
animationEnabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
8
|
+
animationIndex: number;
|
|
9
|
+
animationEnabled: boolean;
|
|
10
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface Props {
|
|
2
|
+
birthday?: Date | string | null;
|
|
3
|
+
animationIndex?: number;
|
|
4
|
+
animationEnabled?: boolean;
|
|
5
|
+
}
|
|
6
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
7
|
+
animationIndex: number;
|
|
8
|
+
animationEnabled: boolean;
|
|
9
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
10
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ProfessionalInfo } from '../../types/profiles';
|
|
2
|
+
interface Props {
|
|
3
|
+
professional?: ProfessionalInfo;
|
|
4
|
+
animationIndex?: number;
|
|
5
|
+
animationEnabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
8
|
+
animationIndex: number;
|
|
9
|
+
animationEnabled: boolean;
|
|
10
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { RelatedNameItem } from '../../types/profiles';
|
|
2
|
+
interface Props {
|
|
3
|
+
relatedNames?: RelatedNameItem[];
|
|
4
|
+
animationIndex?: number;
|
|
5
|
+
animationEnabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
8
|
+
animationIndex: number;
|
|
9
|
+
animationEnabled: boolean;
|
|
10
|
+
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>;
|
|
11
|
+
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { default as BentoProfileLayout } from './BentoProfileLayout';
|
|
2
|
+
export { default as ProfileCard } from './ProfileCard';
|
|
3
|
+
export { default as ProfileContactCard } from './ProfileContactCard';
|
|
4
|
+
export { default as ProfileHeaderCard } from './ProfileHeaderCard';
|
|
5
|
+
export { default as ProfileLocationCard } from './ProfileLocationCard';
|
|
6
|
+
export { default as ProfileOrganizationsCard } from './ProfileOrganizationsCard';
|
|
7
|
+
export { default as ProfilePersonalCard } from './ProfilePersonalCard';
|
|
8
|
+
export { default as ProfileProfessionalCard } from './ProfileProfessionalCard';
|
|
9
|
+
export { default as ProfileRelatedNamesCard } from './ProfileRelatedNamesCard';
|
|
@@ -9,6 +9,7 @@ interface Props {
|
|
|
9
9
|
classes?: string;
|
|
10
10
|
}
|
|
11
11
|
declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<Props, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {}, string, import('vue').PublicProps, Readonly<Props> & Readonly<{}>, {
|
|
12
|
+
classes: string;
|
|
12
13
|
gradientStart: string;
|
|
13
14
|
gradientEnd: string;
|
|
14
15
|
gradientType: "linear" | "radial";
|
|
@@ -16,7 +17,6 @@ declare const _default: __VLS_WithTemplateSlots<import('vue').DefineComponent<Pr
|
|
|
16
17
|
gradientShape: string;
|
|
17
18
|
gradientSize: string;
|
|
18
19
|
additionalStops: string[];
|
|
19
|
-
classes: string;
|
|
20
20
|
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, HTMLDivElement>, {
|
|
21
21
|
default?(_: {}): any;
|
|
22
22
|
}>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { Ref, ComputedRef } from 'vue';
|
|
2
|
+
import { CollectionItem, CollectionButtonAttributes } from '../types/collection-editor';
|
|
3
|
+
export { CollectionItemStatus } from '../types/collection-editor';
|
|
4
|
+
export interface CollectionEditorOptions<T extends CollectionItem> {
|
|
5
|
+
/** Initial items */
|
|
6
|
+
initialItems?: T[];
|
|
7
|
+
/** Empty form values template */
|
|
8
|
+
emptyFormValues: T;
|
|
9
|
+
/** Transform item before adding to list (explode) */
|
|
10
|
+
explodeItem?: (item: T) => T;
|
|
11
|
+
/** Transform item before emitting (implode) */
|
|
12
|
+
implodeItem?: (item: T) => T;
|
|
13
|
+
/** Status enum values */
|
|
14
|
+
statusEnum?: {
|
|
15
|
+
New: string;
|
|
16
|
+
Pending: string;
|
|
17
|
+
Saved: string;
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
export interface CollectionEditorReturn<T extends CollectionItem> {
|
|
21
|
+
/** Current items in the collection */
|
|
22
|
+
items: Ref<T[]>;
|
|
23
|
+
/** Currently active/selected item for editing */
|
|
24
|
+
activeItem: Ref<T | null>;
|
|
25
|
+
/** Current form values */
|
|
26
|
+
formValues: Ref<T>;
|
|
27
|
+
/** Reference to the form component */
|
|
28
|
+
formRef: Ref<any>;
|
|
29
|
+
/** Button attributes for add/save/delete */
|
|
30
|
+
buttonAttributes: ComputedRef<CollectionButtonAttributes>;
|
|
31
|
+
/** Whether delete confirmation modal should show */
|
|
32
|
+
showDeleteConfirm: Ref<boolean>;
|
|
33
|
+
/** Whether form is dirty */
|
|
34
|
+
isDirty: ComputedRef<boolean>;
|
|
35
|
+
/** Add a new item */
|
|
36
|
+
addItem: () => void;
|
|
37
|
+
/** Update current item */
|
|
38
|
+
updateItem: (values: Partial<T>) => void;
|
|
39
|
+
/** Delete current item */
|
|
40
|
+
deleteItem: () => void;
|
|
41
|
+
/** Select an item for editing */
|
|
42
|
+
selectItem: (item: T) => void;
|
|
43
|
+
/** Clear selection */
|
|
44
|
+
clearSelection: () => void;
|
|
45
|
+
/** Handle button click (add, save, delete) */
|
|
46
|
+
handleButtonClick: (action: 'add' | 'save' | 'delete') => void;
|
|
47
|
+
/** Handle form submit */
|
|
48
|
+
handleFormSubmit: (values: T) => void;
|
|
49
|
+
/** Handle form update */
|
|
50
|
+
handleFormUpdate: (values: Partial<T>) => void;
|
|
51
|
+
/** Confirm delete action */
|
|
52
|
+
confirmDelete: () => void;
|
|
53
|
+
/** Cancel delete action */
|
|
54
|
+
cancelDelete: () => void;
|
|
55
|
+
/** Reset form to empty state */
|
|
56
|
+
resetForm: () => void;
|
|
57
|
+
/** Get all items for saving */
|
|
58
|
+
getItems: () => T[];
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Create a collection editor composable instance
|
|
62
|
+
*/
|
|
63
|
+
export declare function useCollectionEditor<T extends CollectionItem>(options: CollectionEditorOptions<T>, emit: (event: string, ...args: any[]) => void): CollectionEditorReturn<T>;
|
|
64
|
+
export default useCollectionEditor;
|
|
@@ -530,11 +530,11 @@ export declare function useNotifications(): {
|
|
|
530
530
|
readonly cardOffsetY?: number | undefined;
|
|
531
531
|
readonly zIndex?: number | undefined;
|
|
532
532
|
readonly id: string;
|
|
533
|
+
readonly position: NotificationPosition;
|
|
533
534
|
readonly title: string;
|
|
534
535
|
readonly message: string;
|
|
535
536
|
readonly theme: NotificationTheme;
|
|
536
537
|
readonly timeout: number;
|
|
537
|
-
readonly position: NotificationPosition;
|
|
538
538
|
readonly autoClose: boolean;
|
|
539
539
|
readonly variant: NotificationVariant;
|
|
540
540
|
readonly priority: NotificationPriority;
|
|
@@ -895,11 +895,11 @@ export declare function useNotifications(): {
|
|
|
895
895
|
readonly cardOffsetY?: number | undefined;
|
|
896
896
|
readonly zIndex?: number | undefined;
|
|
897
897
|
readonly id: string;
|
|
898
|
+
readonly position: NotificationPosition;
|
|
898
899
|
readonly title: string;
|
|
899
900
|
readonly message: string;
|
|
900
901
|
readonly theme: NotificationTheme;
|
|
901
902
|
readonly timeout: number;
|
|
902
|
-
readonly position: NotificationPosition;
|
|
903
903
|
readonly autoClose: boolean;
|
|
904
904
|
readonly variant: NotificationVariant;
|
|
905
905
|
readonly priority: NotificationPriority;
|
|
@@ -1050,11 +1050,11 @@ export declare function useNotifications(): {
|
|
|
1050
1050
|
cardOffsetY?: number | undefined;
|
|
1051
1051
|
zIndex?: number | undefined;
|
|
1052
1052
|
id: string;
|
|
1053
|
+
position: NotificationPosition;
|
|
1053
1054
|
title: string;
|
|
1054
1055
|
message: string;
|
|
1055
1056
|
theme: NotificationTheme;
|
|
1056
1057
|
timeout: number;
|
|
1057
|
-
position: NotificationPosition;
|
|
1058
1058
|
autoClose: boolean;
|
|
1059
1059
|
variant: NotificationVariant;
|
|
1060
1060
|
priority: NotificationPriority;
|
|
@@ -1205,11 +1205,11 @@ export declare function useNotifications(): {
|
|
|
1205
1205
|
cardOffsetY?: number | undefined;
|
|
1206
1206
|
zIndex?: number | undefined;
|
|
1207
1207
|
id: string;
|
|
1208
|
+
position: NotificationPosition;
|
|
1208
1209
|
title: string;
|
|
1209
1210
|
message: string;
|
|
1210
1211
|
theme: NotificationTheme;
|
|
1211
1212
|
timeout: number;
|
|
1212
|
-
position: NotificationPosition;
|
|
1213
1213
|
autoClose: boolean;
|
|
1214
1214
|
variant: NotificationVariant;
|
|
1215
1215
|
priority: NotificationPriority;
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Collection Editor Types
|
|
3
|
+
*
|
|
4
|
+
* Generic types for collection-based editors (organizations, related names, etc.)
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Status enum for collection items
|
|
8
|
+
*/
|
|
9
|
+
export declare enum CollectionItemStatus {
|
|
10
|
+
New = "new",
|
|
11
|
+
Pending = "pending",
|
|
12
|
+
Saved = "saved",
|
|
13
|
+
Deleted = "deleted"
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Base interface for collection items
|
|
17
|
+
*/
|
|
18
|
+
export interface CollectionItem {
|
|
19
|
+
id: string;
|
|
20
|
+
status?: CollectionItemStatus;
|
|
21
|
+
[key: string]: unknown;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* List item for autocomplete/combobox fields
|
|
25
|
+
*/
|
|
26
|
+
export interface ListItem {
|
|
27
|
+
id: string;
|
|
28
|
+
name: string;
|
|
29
|
+
aliases?: string[];
|
|
30
|
+
approved?: boolean;
|
|
31
|
+
[key: string]: unknown;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Organization collection item
|
|
35
|
+
*/
|
|
36
|
+
export interface OrganizationCollectionItem extends CollectionItem {
|
|
37
|
+
organization: string | ListItem | null;
|
|
38
|
+
position: string | ListItem | null;
|
|
39
|
+
position_prefix?: string | null;
|
|
40
|
+
position_suffix?: string | null;
|
|
41
|
+
start_date?: Date | string | null;
|
|
42
|
+
end_date?: Date | string | null;
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Related name collection item
|
|
46
|
+
*/
|
|
47
|
+
export interface RelatedNameCollectionItem extends CollectionItem {
|
|
48
|
+
name?: string;
|
|
49
|
+
first_name?: string;
|
|
50
|
+
last_name?: string;
|
|
51
|
+
label?: string | ListItem | null;
|
|
52
|
+
birthday?: Date | string | null;
|
|
53
|
+
relationship?: string;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Social link collection item
|
|
57
|
+
*/
|
|
58
|
+
export interface SocialLinkCollectionItem extends CollectionItem {
|
|
59
|
+
platform: string;
|
|
60
|
+
handle?: string;
|
|
61
|
+
url?: string;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Form field definition for dynamic forms
|
|
65
|
+
*/
|
|
66
|
+
export interface CollectionFormField {
|
|
67
|
+
name: string;
|
|
68
|
+
label: string;
|
|
69
|
+
as: string;
|
|
70
|
+
type?: string;
|
|
71
|
+
rules?: unknown;
|
|
72
|
+
items?: ListItem[];
|
|
73
|
+
itemKey?: string;
|
|
74
|
+
itemText?: string;
|
|
75
|
+
placeholder?: string;
|
|
76
|
+
hideLabel?: boolean;
|
|
77
|
+
innerLabel?: string;
|
|
78
|
+
tertiaryLabel?: string;
|
|
79
|
+
[key: string]: unknown;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Schema definition for collection forms
|
|
83
|
+
*/
|
|
84
|
+
export interface CollectionFormSchema {
|
|
85
|
+
fields: CollectionFormField[];
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Button attributes for add/delete button group
|
|
89
|
+
*/
|
|
90
|
+
export interface CollectionButtonAttributes {
|
|
91
|
+
add: {
|
|
92
|
+
disabled: boolean;
|
|
93
|
+
label?: string;
|
|
94
|
+
};
|
|
95
|
+
save: {
|
|
96
|
+
disabled: boolean;
|
|
97
|
+
label?: string;
|
|
98
|
+
};
|
|
99
|
+
delete: {
|
|
100
|
+
disabled: boolean;
|
|
101
|
+
label?: string;
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Props for CollectionEditor component
|
|
106
|
+
*/
|
|
107
|
+
export interface CollectionEditorProps<T extends CollectionItem> {
|
|
108
|
+
/** Field name for form binding */
|
|
109
|
+
name: string;
|
|
110
|
+
/** Display label */
|
|
111
|
+
label?: string;
|
|
112
|
+
/** Current value (array of items) */
|
|
113
|
+
modelValue?: T[];
|
|
114
|
+
/** Form schema for editing items */
|
|
115
|
+
schema: CollectionFormSchema;
|
|
116
|
+
/** Empty form values for new items */
|
|
117
|
+
emptyFormValues: T;
|
|
118
|
+
/** List display component */
|
|
119
|
+
listComponent?: unknown;
|
|
120
|
+
/** Transform item for display */
|
|
121
|
+
displayTransform?: (item: T) => T;
|
|
122
|
+
/** Transform item for storage */
|
|
123
|
+
storageTransform?: (item: T) => T;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Emits for CollectionEditor component
|
|
127
|
+
*/
|
|
128
|
+
export interface CollectionEditorEmits<T extends CollectionItem> {
|
|
129
|
+
'update:modelValue': [value: T[]];
|
|
130
|
+
'item-added': [item: T];
|
|
131
|
+
'item-updated': [item: T];
|
|
132
|
+
'item-deleted': [item: T];
|
|
133
|
+
'item-selected': [item: T | null];
|
|
134
|
+
}
|
|
@@ -2,6 +2,7 @@ export * from './address';
|
|
|
2
2
|
export * from './avatars';
|
|
3
3
|
export * from './badges';
|
|
4
4
|
export * from './calendars';
|
|
5
|
+
export * from './collection-editor';
|
|
5
6
|
export * from './core';
|
|
6
7
|
export * from './form';
|
|
7
8
|
export * from './forms';
|
|
@@ -10,6 +11,7 @@ export * from './layouts';
|
|
|
10
11
|
export * from './loading';
|
|
11
12
|
export * from './maps';
|
|
12
13
|
export * from './navigation';
|
|
14
|
+
export * from './profiles';
|
|
13
15
|
export * from './tables';
|
|
14
16
|
export * from './tabs';
|
|
15
17
|
export * from './transitions';
|