@aitronos/freddy-plugins 0.4.57 → 0.4.59
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/CHANGELOG.md +28 -0
- package/README.md +224 -27
- package/dist/freddy-plugins.css +1 -1
- package/dist/{icons-Lnvg2xiB.js → icons-Be1wtE70.js} +2066 -2000
- package/dist/icons-Be1wtE70.js.map +1 -0
- package/dist/icons-CCfXKsmx.cjs +2 -0
- package/dist/icons-CCfXKsmx.cjs.map +1 -0
- package/dist/index.cjs +6 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +6 -4389
- package/dist/index.js +2252 -2234
- package/dist/index.js.map +1 -1
- package/dist/src/App.vue.d.ts +2 -0
- package/dist/src/animations/AnimeSpaceman.vue.d.ts +8 -0
- package/dist/src/animations/index.d.ts +1 -0
- package/dist/src/assets/logos/index.d.ts +4 -0
- package/dist/src/components/AdvancedModal.vue.d.ts +23 -0
- package/dist/src/components/Assistant/AssistantField.vue.d.ts +13 -0
- package/dist/src/components/Assistant/AssistantList.vue.d.ts +10 -0
- package/dist/src/components/Assistant/AssistantsHeader.vue.d.ts +17 -0
- package/dist/src/components/Assistant/AvatarChoosing.vue.d.ts +16 -0
- package/dist/src/components/Assistant/AvatarList.vue.d.ts +30 -0
- package/dist/src/components/Assistant/ChooseAssistantAvatar.vue.d.ts +77 -0
- package/dist/src/components/Assistant/RulesManagement.vue.d.ts +28 -0
- package/dist/src/components/Assistant/VectorFrame.vue.d.ts +15 -0
- package/dist/src/components/Assistant/VectorSection.vue.d.ts +31 -0
- package/dist/src/components/Assistant/VoiceList.vue.d.ts +27 -0
- package/dist/src/components/Assistant/VoiceSelection.vue.d.ts +12 -0
- package/dist/src/components/Buttons/BaseButton.vue.d.ts +25 -0
- package/dist/src/components/Buttons/SocialButtons.vue.d.ts +13 -0
- package/dist/src/components/Buttons/index.d.ts +2 -0
- package/dist/src/components/CodeBlock.vue.d.ts +6 -0
- package/dist/src/components/ConfirmationModal.vue.d.ts +28 -0
- package/dist/src/components/CustomCheckbox.vue.d.ts +13 -0
- package/dist/src/components/DeleteConfirmationModal.vue.d.ts +28 -0
- package/dist/src/components/Descriptions.vue.d.ts +85 -0
- package/dist/src/components/DiffTextarea.vue.d.ts +21 -0
- package/dist/src/components/Dropdown.vue.d.ts +75 -0
- package/dist/src/components/EditFeaturedExcerptModal.vue.d.ts +161 -0
- package/dist/src/components/EmailCodeVerification.vue.d.ts +20 -0
- package/dist/src/components/InputField/BaseInput.vue.d.ts +46 -0
- package/dist/src/components/InputField/CardInput.vue.d.ts +77 -0
- package/dist/src/components/InputField/DefaultInput.vue.d.ts +39 -0
- package/dist/src/components/InputField/InputField.vue.d.ts +74 -0
- package/dist/src/components/InputField/PhoneInput.vue.d.ts +75 -0
- package/dist/src/components/InputField/index.d.ts +5 -0
- package/dist/src/components/Instructions/InstructionsModal.vue.d.ts +12 -0
- package/dist/src/components/Instructions/InstructiontextArea.vue.d.ts +11 -0
- package/dist/src/components/ModalOverlay.vue.d.ts +26 -0
- package/dist/src/components/ModelDropdown.vue.d.ts +23 -0
- package/dist/src/components/OutputModeModal.vue.d.ts +61 -0
- package/dist/src/components/Pagination.vue.d.ts +42 -0
- package/dist/src/components/SearchInput.vue.d.ts +26 -0
- package/dist/src/components/SendButton.vue.d.ts +7 -0
- package/dist/src/components/SimpleChatInterface.vue.d.ts +48 -0
- package/dist/src/components/SkeletonLoader.vue.d.ts +8 -0
- package/dist/src/components/Slider.vue.d.ts +19 -0
- package/dist/src/components/SnackBar.vue.d.ts +2 -0
- package/dist/src/components/Spinner.vue.d.ts +5 -0
- package/dist/src/components/Switch.vue.d.ts +11 -0
- package/dist/src/components/SwitchSlot.vue.d.ts +22 -0
- package/dist/src/components/TabList.vue.d.ts +9 -0
- package/dist/src/components/Tabs/BaseTabButton.vue.d.ts +12 -0
- package/dist/src/components/Tabs/index.d.ts +5 -0
- package/dist/src/components/TextAreaInputField.vue.d.ts +266 -0
- package/dist/src/components/ToastMessage.vue.d.ts +2 -0
- package/dist/src/components/Tooltip.vue.d.ts +32 -0
- package/dist/src/components/TooltipV2.vue.d.ts +41 -0
- package/dist/src/components/index.d.ts +50 -0
- package/dist/src/composables/index.d.ts +4 -0
- package/dist/src/composables/useErrorHandler.d.ts +46 -0
- package/dist/src/composables/usePerformance.d.ts +54 -0
- package/dist/src/composables/useTheme.d.ts +37 -0
- package/dist/src/config/api.config.d.ts +31 -0
- package/dist/src/config/colors/brands/contentplate.colors.d.ts +3 -0
- package/dist/src/config/colors/brands/flowplate.colors.d.ts +3 -0
- package/dist/src/config/colors/brands/freddy.colors.d.ts +3 -0
- package/dist/src/config/colors/color-system.d.ts +58 -0
- package/dist/src/config/colors/index.d.ts +12 -0
- package/dist/src/config/colors/types/color-system.types.d.ts +62 -0
- package/dist/src/config/colors/types/color.types.d.ts +99 -0
- package/dist/src/config/colors/utils/color.utils.d.ts +86 -0
- package/dist/src/config/environments.d.ts +11 -0
- package/dist/src/config/theme/freddy-default.d.ts +16 -0
- package/dist/src/config/theme/freddy-light.d.ts +14 -0
- package/dist/src/config/theme/global-theme-store.d.ts +128 -0
- package/dist/src/config/theme/themes.d.ts +12 -0
- package/dist/src/directives/frSanitize.d.ts +5 -0
- package/dist/src/directives/index.d.ts +1 -0
- package/dist/src/foundations/components/Logo.vue.d.ts +11 -0
- package/dist/src/foundations/components/index.d.ts +1 -0
- package/dist/src/foundations/index.d.ts +1 -0
- package/dist/src/helpers/BaseImageIcon.vue.d.ts +6 -0
- package/dist/src/helpers/api-response.helper.d.ts +100 -0
- package/dist/src/helpers/colors.helper.d.ts +8 -0
- package/dist/src/helpers/common.helper.d.ts +42 -0
- package/dist/src/helpers/date-format.helper.d.ts +34 -0
- package/dist/src/helpers/date.helper.d.ts +23 -0
- package/dist/src/helpers/fileName-handler.helper.d.ts +6 -0
- package/dist/src/helpers/index.d.ts +9 -0
- package/dist/src/helpers/percentageCalc.helper.d.ts +7 -0
- package/dist/src/helpers/validators.helper.d.ts +11 -0
- package/dist/src/icons/IconAddChatPop.vue.d.ts +2 -0
- package/dist/src/icons/IconAddFileSystem.vue.d.ts +2 -0
- package/dist/src/icons/IconAddPeople.vue.d.ts +2 -0
- package/dist/src/icons/IconAitronos.vue.d.ts +2 -0
- package/dist/src/icons/IconApple.vue.d.ts +2 -0
- package/dist/src/icons/IconApplePay.vue.d.ts +2 -0
- package/dist/src/icons/IconAppsGrid.vue.d.ts +2 -0
- package/dist/src/icons/IconArrowDown.vue.d.ts +2 -0
- package/dist/src/icons/IconArrowLeft.vue.d.ts +2 -0
- package/dist/src/icons/IconArrowUp.vue.d.ts +2 -0
- package/dist/src/icons/IconBadgeCheck.vue.d.ts +2 -0
- package/dist/src/icons/IconBroom.vue.d.ts +2 -0
- package/dist/src/icons/IconBuildings.vue.d.ts +2 -0
- package/dist/src/icons/IconCalendarWithTickInside.vue.d.ts +2 -0
- package/dist/src/icons/IconCallNotAllowed.vue.d.ts +2 -0
- package/dist/src/icons/IconCardPay.vue.d.ts +2 -0
- package/dist/src/icons/IconCaution.vue.d.ts +2 -0
- package/dist/src/icons/IconChangeLog.vue.d.ts +2 -0
- package/dist/src/icons/IconCheckCircleFill.vue.d.ts +2 -0
- package/dist/src/icons/IconCheckInCircle.vue.d.ts +2 -0
- package/dist/src/icons/IconCheckRounded.vue.d.ts +2 -0
- package/dist/src/icons/IconChevronDown.vue.d.ts +2 -0
- package/dist/src/icons/IconChevronLeft.vue.d.ts +2 -0
- package/dist/src/icons/IconChevronRight.vue.d.ts +2 -0
- package/dist/src/icons/IconChevronUp.vue.d.ts +2 -0
- package/dist/src/icons/IconCircledCheck.vue.d.ts +2 -0
- package/dist/src/icons/IconClock.vue.d.ts +2 -0
- package/dist/src/icons/IconClosedEnvelope.vue.d.ts +2 -0
- package/dist/src/icons/IconCloudUpload.vue.d.ts +2 -0
- package/dist/src/icons/IconConnectorConfluence.vue.d.ts +2 -0
- package/dist/src/icons/IconConnectorFigma.vue.d.ts +2 -0
- package/dist/src/icons/IconConnectorFreshDesk.vue.d.ts +2 -0
- package/dist/src/icons/IconConnectorGitHub.vue.d.ts +2 -0
- package/dist/src/icons/IconConnectorJira.vue.d.ts +2 -0
- package/dist/src/icons/IconConnectorLinear.vue.d.ts +2 -0
- package/dist/src/icons/IconConnectorNotion.vue.d.ts +2 -0
- package/dist/src/icons/IconConnectorSlack.vue.d.ts +2 -0
- package/dist/src/icons/IconConnectorZapier.vue.d.ts +2 -0
- package/dist/src/icons/IconCopy.vue.d.ts +2 -0
- package/dist/src/icons/IconCross.vue.d.ts +2 -0
- package/dist/src/icons/IconCrossCircleFill.vue.d.ts +2 -0
- package/dist/src/icons/IconCrossInCircle.vue.d.ts +2 -0
- package/dist/src/icons/IconCurrentTick.vue.d.ts +2 -0
- package/dist/src/icons/IconDataUpload.vue.d.ts +2 -0
- package/dist/src/icons/IconDelete.vue.d.ts +2 -0
- package/dist/src/icons/IconDeleteFillRed.vue.d.ts +2 -0
- package/dist/src/icons/IconDialingPhone.vue.d.ts +2 -0
- package/dist/src/icons/IconDisabledAlert.vue.d.ts +2 -0
- package/dist/src/icons/IconDocumentation.vue.d.ts +2 -0
- package/dist/src/icons/IconDownload.vue.d.ts +2 -0
- package/dist/src/icons/IconDribbble.vue.d.ts +2 -0
- package/dist/src/icons/IconDropdownArrow.vue.d.ts +2 -0
- package/dist/src/icons/IconEdit.vue.d.ts +2 -0
- package/dist/src/icons/IconEditLinePath.vue.d.ts +72 -0
- package/dist/src/icons/IconEllipse.vue.d.ts +2 -0
- package/dist/src/icons/IconExcelThumbnail.vue.d.ts +2 -0
- package/dist/src/icons/IconEye.vue.d.ts +2 -0
- package/dist/src/icons/IconFacebook.vue.d.ts +2 -0
- package/dist/src/icons/IconFigma.vue.d.ts +2 -0
- package/dist/src/icons/IconFile.vue.d.ts +2 -0
- package/dist/src/icons/IconFileSystem.vue.d.ts +2 -0
- package/dist/src/icons/IconFileUpload.vue.d.ts +2 -0
- package/dist/src/icons/IconFilter.vue.d.ts +2 -0
- package/dist/src/icons/IconFolder.vue.d.ts +2 -0
- package/dist/src/icons/IconFreddyHub.vue.d.ts +2 -0
- package/dist/src/icons/IconFreddyHubLogo.vue.d.ts +2 -0
- package/dist/src/icons/IconFreddyHubNewLogo.vue.d.ts +2 -0
- package/dist/src/icons/IconFreddyHubTitle.vue.d.ts +2 -0
- package/dist/src/icons/IconFreddySmall.vue.d.ts +2 -0
- package/dist/src/icons/IconGlobExpand.vue.d.ts +2 -0
- package/dist/src/icons/IconGlobe.vue.d.ts +2 -0
- package/dist/src/icons/IconGoogle.vue.d.ts +2 -0
- package/dist/src/icons/IconHollowCircle.vue.d.ts +2 -0
- package/dist/src/icons/IconHome.vue.d.ts +2 -0
- package/dist/src/icons/IconInfoRounded.vue.d.ts +2 -0
- package/dist/src/icons/IconInvalidInvoice.vue.d.ts +2 -0
- package/dist/src/icons/IconInvoice.vue.d.ts +2 -0
- package/dist/src/icons/IconInvoiceSwitch.vue.d.ts +2 -0
- package/dist/src/icons/IconLapTableBottom.vue.d.ts +2 -0
- package/dist/src/icons/IconLense.vue.d.ts +2 -0
- package/dist/src/icons/IconLightCross.vue.d.ts +2 -0
- package/dist/src/icons/IconLink04.vue.d.ts +2 -0
- package/dist/src/icons/IconLoadingError.vue.d.ts +2 -0
- package/dist/src/icons/IconLoadingOrg.vue.d.ts +2 -0
- package/dist/src/icons/IconLocationWithCircleIn.vue.d.ts +2 -0
- package/dist/src/icons/IconLock.vue.d.ts +2 -0
- package/dist/src/icons/IconMarketPlace.vue.d.ts +2 -0
- package/dist/src/icons/IconMaximize.vue.d.ts +2 -0
- package/dist/src/icons/IconMicrophone.vue.d.ts +2 -0
- package/dist/src/icons/IconMutedMicrophone.vue.d.ts +2 -0
- package/dist/src/icons/IconNewNotification.vue.d.ts +2 -0
- package/dist/src/icons/IconNewTab.vue.d.ts +2 -0
- package/dist/src/icons/IconNotification.vue.d.ts +2 -0
- package/dist/src/icons/IconOpenBook.vue.d.ts +2 -0
- package/dist/src/icons/IconPaperAirPlane.vue.d.ts +2 -0
- package/dist/src/icons/IconPauseCircle.vue.d.ts +2 -0
- package/dist/src/icons/IconPdfThumbnail.vue.d.ts +2 -0
- package/dist/src/icons/IconPenEdit.vue.d.ts +2 -0
- package/dist/src/icons/IconPencil.vue.d.ts +2 -0
- package/dist/src/icons/IconPeopleHub.vue.d.ts +2 -0
- package/dist/src/icons/IconPersonCircle.vue.d.ts +2 -0
- package/dist/src/icons/IconPits.vue.d.ts +2 -0
- package/dist/src/icons/IconPlay.vue.d.ts +2 -0
- package/dist/src/icons/IconPlus.vue.d.ts +2 -0
- package/dist/src/icons/IconPolygonDown.vue.d.ts +2 -0
- package/dist/src/icons/IconPresentation.vue.d.ts +2 -0
- package/dist/src/icons/IconProgressBase.vue.d.ts +2 -0
- package/dist/src/icons/IconProgressComplete.vue.d.ts +2 -0
- package/dist/src/icons/IconProgressGoing.vue.d.ts +2 -0
- package/dist/src/icons/IconPurpose.vue.d.ts +2 -0
- package/dist/src/icons/IconPurseCircleFill.vue.d.ts +2 -0
- package/dist/src/icons/IconQuestion.vue.d.ts +2 -0
- package/dist/src/icons/IconRadio.vue.d.ts +2 -0
- package/dist/src/icons/IconRadioFill.vue.d.ts +2 -0
- package/dist/src/icons/IconRefresh.vue.d.ts +2 -0
- package/dist/src/icons/IconRevertedTriangle.vue.d.ts +2 -0
- package/dist/src/icons/IconRobotScreen.vue.d.ts +2 -0
- package/dist/src/icons/IconRoundTick.vue.d.ts +2 -0
- package/dist/src/icons/IconSearch.vue.d.ts +2 -0
- package/dist/src/icons/IconSearchOptimised.vue.d.ts +2 -0
- package/dist/src/icons/IconSectionHide.vue.d.ts +2 -0
- package/dist/src/icons/IconSend.vue.d.ts +2 -0
- package/dist/src/icons/IconSettings.vue.d.ts +2 -0
- package/dist/src/icons/IconSettingsBold.vue.d.ts +2 -0
- package/dist/src/icons/IconSize.vue.d.ts +2 -0
- package/dist/src/icons/IconSliderKnobs.vue.d.ts +2 -0
- package/dist/src/icons/IconSortIdle.vue.d.ts +2 -0
- package/dist/src/icons/IconSparkle.vue.d.ts +2 -0
- package/dist/src/icons/IconSpotlio.vue.d.ts +2 -0
- package/dist/src/icons/IconStar.vue.d.ts +2 -0
- package/dist/src/icons/IconStatistics.vue.d.ts +2 -0
- package/dist/src/icons/IconStopChat.vue.d.ts +2 -0
- package/dist/src/icons/IconStreamLineHub.vue.d.ts +2 -0
- package/dist/src/icons/IconStreamLineHubNewLogo.vue.d.ts +2 -0
- package/dist/src/icons/IconSun.vue.d.ts +2 -0
- package/dist/src/icons/IconSwap.vue.d.ts +2 -0
- package/dist/src/icons/IconText.vue.d.ts +2 -0
- package/dist/src/icons/IconTextThumbnail.vue.d.ts +2 -0
- package/dist/src/icons/IconThinDocument.vue.d.ts +2 -0
- package/dist/src/icons/IconThinFile.vue.d.ts +2 -0
- package/dist/src/icons/IconThumbsDown.vue.d.ts +2 -0
- package/dist/src/icons/IconTick.vue.d.ts +2 -0
- package/dist/src/icons/IconUser.vue.d.ts +2 -0
- package/dist/src/icons/IconVerticalDots.vue.d.ts +2 -0
- package/dist/src/icons/IconVideoCamera.vue.d.ts +2 -0
- package/dist/src/icons/IconWarningOctal.vue.d.ts +2 -0
- package/dist/src/icons/IconX.vue.d.ts +2 -0
- package/dist/src/icons/IconZip.vue.d.ts +2 -0
- package/dist/src/icons/index.d.ts +148 -0
- package/dist/src/index.d.ts +23 -0
- package/dist/src/interfaces/assistant.interfaces.d.ts +237 -0
- package/dist/src/interfaces/base-button.interfaces.d.ts +119 -0
- package/dist/src/interfaces/color-comparison.interfaces.d.ts +71 -0
- package/dist/src/interfaces/index.d.ts +19 -0
- package/dist/src/interfaces/input-field.interfaces.d.ts +226 -0
- package/dist/src/interfaces/reference.d.ts +14 -0
- package/dist/src/interfaces/services/ai.interfaces.d.ts +56 -0
- package/dist/src/interfaces/services/api.interfaces.d.ts +46 -0
- package/dist/src/interfaces/services/auth.interfaces.d.ts +99 -0
- package/dist/src/interfaces/services/index.d.ts +7 -0
- package/dist/src/interfaces/skeleton-loader.interfaces.d.ts +1 -0
- package/dist/src/interfaces/slider.interfaces.d.ts +81 -0
- package/dist/src/interfaces/social-buttons.interfaces.d.ts +115 -0
- package/dist/src/interfaces/switch-slot.interfaces.d.ts +55 -0
- package/dist/src/interfaces/tab-button.interfaces.d.ts +23 -0
- package/dist/src/interfaces/tab-list.interfaces.d.ts +15 -0
- package/dist/src/interfaces/theme/index.d.ts +5 -0
- package/dist/src/interfaces/theme/theme.interfaces.d.ts +88 -0
- package/dist/src/interfaces/ui/chat.interfaces.d.ts +66 -0
- package/dist/src/interfaces/ui/editor.interfaces.d.ts +31 -0
- package/dist/src/interfaces/ui/feedback.interfaces.d.ts +39 -0
- package/dist/src/interfaces/ui/form.interfaces.d.ts +51 -0
- package/dist/src/interfaces/ui/index.d.ts +10 -0
- package/dist/src/interfaces/ui/modal.interfaces.d.ts +34 -0
- package/dist/src/interfaces/ui/navigation.interfaces.d.ts +31 -0
- package/dist/src/interfaces/utilities/common.interfaces.d.ts +59 -0
- package/dist/src/interfaces/utilities/index.d.ts +5 -0
- package/dist/src/main.d.ts +1 -0
- package/dist/src/plugin.d.ts +5 -0
- package/dist/src/plugins/icon-style.d.ts +3 -0
- package/dist/src/plugins/index.d.ts +11 -0
- package/dist/src/services/AITextService.d.ts +68 -0
- package/dist/src/services/index.d.ts +15 -0
- package/dist/src/utility/confirmationModal.d.ts +2 -0
- package/dist/src/utility/index.d.ts +3 -0
- package/dist/src/utility/useSnackbar.d.ts +26 -0
- package/dist/src/utility/useToast.d.ts +19 -0
- package/package.json +6 -2
- package/dist/icons-DQveW34E.cjs +0 -2
- package/dist/icons-DQveW34E.cjs.map +0 -1
- package/dist/icons-Lnvg2xiB.js.map +0 -1
|
@@ -0,0 +1,226 @@
|
|
|
1
|
+
import { Component } from 'vue';
|
|
2
|
+
export type InputFieldSize = 'sm' | 'md' | 'lg';
|
|
3
|
+
export type InputFieldColorStyle = 'freddy' | 'contentplate';
|
|
4
|
+
export type InputFieldState = 'placeholder' | 'filled' | 'focused' | 'disabled' | 'loading' | 'success' | 'error';
|
|
5
|
+
export type InputFieldVariant = 'default' | 'phone' | 'price' | 'url' | 'card' | 'tags' | 'copy' | 'leading-dropdown' | 'trailing-dropdown' | 'leading-text' | 'payment' | 'trailing-button' | 'clear' | 'freddy-input';
|
|
6
|
+
export interface UnifiedInputFieldProps {
|
|
7
|
+
size?: InputFieldSize;
|
|
8
|
+
colorStyle?: InputFieldColorStyle;
|
|
9
|
+
state?: InputFieldState;
|
|
10
|
+
destructive?: boolean;
|
|
11
|
+
variant?: InputFieldVariant;
|
|
12
|
+
type?: InputFieldVariant;
|
|
13
|
+
label?: string;
|
|
14
|
+
hintText?: string;
|
|
15
|
+
required?: boolean;
|
|
16
|
+
placeholder?: string;
|
|
17
|
+
value?: string;
|
|
18
|
+
modelValue?: string;
|
|
19
|
+
inputType?: string;
|
|
20
|
+
readonly?: boolean;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
leadingIcon?: Component | string;
|
|
23
|
+
trailingIcon?: Component | string;
|
|
24
|
+
tooltipText?: string;
|
|
25
|
+
iconLeading?: boolean;
|
|
26
|
+
helpIcon?: boolean;
|
|
27
|
+
helpText?: string;
|
|
28
|
+
leadingDropdownText?: string;
|
|
29
|
+
trailingDropdownText?: string;
|
|
30
|
+
leadingText?: string;
|
|
31
|
+
trailingButtonText?: string;
|
|
32
|
+
countryCode?: string;
|
|
33
|
+
countryOptions?: CountryOption[];
|
|
34
|
+
phoneNumber?: string;
|
|
35
|
+
currency?: string;
|
|
36
|
+
currencyOptions?: CurrencyOption[];
|
|
37
|
+
amount?: string | number;
|
|
38
|
+
showCurrencySymbol?: boolean;
|
|
39
|
+
protocol?: 'http://' | 'https://';
|
|
40
|
+
allowProtocolChange?: boolean;
|
|
41
|
+
url?: string;
|
|
42
|
+
cardNumber?: string;
|
|
43
|
+
cardType?: CardType;
|
|
44
|
+
maskInput?: boolean;
|
|
45
|
+
showCardIcon?: boolean;
|
|
46
|
+
tags?: string[];
|
|
47
|
+
maxTags?: number;
|
|
48
|
+
allowDuplicates?: boolean;
|
|
49
|
+
tagSeparators?: string[];
|
|
50
|
+
suggestions?: string[];
|
|
51
|
+
copyText?: string;
|
|
52
|
+
showCopyButton?: boolean;
|
|
53
|
+
copySuccessMessage?: string;
|
|
54
|
+
}
|
|
55
|
+
export interface BaseInputFieldProps extends UnifiedInputFieldProps {
|
|
56
|
+
}
|
|
57
|
+
export interface PhoneInputProps extends BaseInputFieldProps {
|
|
58
|
+
countryCode?: string;
|
|
59
|
+
countryOptions?: CountryOption[];
|
|
60
|
+
phoneNumber?: string;
|
|
61
|
+
}
|
|
62
|
+
export interface CountryOption {
|
|
63
|
+
code: string;
|
|
64
|
+
name: string;
|
|
65
|
+
flag: string;
|
|
66
|
+
dialCode: string;
|
|
67
|
+
}
|
|
68
|
+
export interface PriceInputProps extends BaseInputFieldProps {
|
|
69
|
+
currency?: string;
|
|
70
|
+
currencyOptions?: CurrencyOption[];
|
|
71
|
+
amount?: string | number;
|
|
72
|
+
showCurrencySymbol?: boolean;
|
|
73
|
+
}
|
|
74
|
+
export interface CurrencyOption {
|
|
75
|
+
code: string;
|
|
76
|
+
name: string;
|
|
77
|
+
symbol: string;
|
|
78
|
+
}
|
|
79
|
+
export interface UrlInputProps extends BaseInputFieldProps {
|
|
80
|
+
protocol?: 'http://' | 'https://';
|
|
81
|
+
allowProtocolChange?: boolean;
|
|
82
|
+
url?: string;
|
|
83
|
+
}
|
|
84
|
+
export interface CardInputProps extends BaseInputFieldProps {
|
|
85
|
+
cardNumber?: string;
|
|
86
|
+
cardType?: CardType;
|
|
87
|
+
maskInput?: boolean;
|
|
88
|
+
showCardIcon?: boolean;
|
|
89
|
+
}
|
|
90
|
+
export type CardType = 'visa' | 'mastercard' | 'amex' | 'discover' | 'unknown';
|
|
91
|
+
export interface TagsInputProps extends BaseInputFieldProps {
|
|
92
|
+
tags?: string[];
|
|
93
|
+
maxTags?: number;
|
|
94
|
+
allowDuplicates?: boolean;
|
|
95
|
+
tagSeparators?: string[];
|
|
96
|
+
suggestions?: string[];
|
|
97
|
+
}
|
|
98
|
+
export interface CopyInputProps extends BaseInputFieldProps {
|
|
99
|
+
copyText?: string;
|
|
100
|
+
showCopyButton?: boolean;
|
|
101
|
+
copySuccessMessage?: string;
|
|
102
|
+
}
|
|
103
|
+
export interface UnifiedInputFieldEvents {
|
|
104
|
+
'update:modelValue': [value: string];
|
|
105
|
+
input: [value: string];
|
|
106
|
+
focus: [event: FocusEvent];
|
|
107
|
+
blur: [event: FocusEvent];
|
|
108
|
+
keydown: [event: KeyboardEvent];
|
|
109
|
+
'leading-icon-click': [event: MouseEvent];
|
|
110
|
+
'trailing-icon-click': [event: MouseEvent];
|
|
111
|
+
'trailing-button-click': [event: MouseEvent];
|
|
112
|
+
'update:countryCode': [code: string];
|
|
113
|
+
'update:phoneNumber': [number: string];
|
|
114
|
+
'country-change': [country: CountryOption];
|
|
115
|
+
'update:currency': [currency: string];
|
|
116
|
+
'update:amount': [amount: string | number];
|
|
117
|
+
'currency-change': [currency: CurrencyOption];
|
|
118
|
+
'update:protocol': [protocol: string];
|
|
119
|
+
'update:url': [url: string];
|
|
120
|
+
'protocol-change': [protocol: string];
|
|
121
|
+
'update:cardNumber': [number: string];
|
|
122
|
+
'card-type-detected': [type: CardType];
|
|
123
|
+
'update:tags': [tags: string[]];
|
|
124
|
+
'tag-added': [tag: string];
|
|
125
|
+
'tag-removed': [tag: string, index: number];
|
|
126
|
+
'max-tags-reached': [];
|
|
127
|
+
'copy-success': [text: string];
|
|
128
|
+
'copy-error': [error: Error];
|
|
129
|
+
}
|
|
130
|
+
export interface InputFieldEvents extends UnifiedInputFieldEvents {
|
|
131
|
+
}
|
|
132
|
+
export interface PhoneInputEvents extends InputFieldEvents {
|
|
133
|
+
'update:countryCode': [code: string];
|
|
134
|
+
'update:phoneNumber': [number: string];
|
|
135
|
+
'country-change': [country: CountryOption];
|
|
136
|
+
}
|
|
137
|
+
export interface PriceInputEvents extends InputFieldEvents {
|
|
138
|
+
'update:currency': [currency: string];
|
|
139
|
+
'update:amount': [amount: string | number];
|
|
140
|
+
'currency-change': [currency: CurrencyOption];
|
|
141
|
+
}
|
|
142
|
+
export interface UrlInputEvents extends InputFieldEvents {
|
|
143
|
+
'update:protocol': [protocol: string];
|
|
144
|
+
'update:url': [url: string];
|
|
145
|
+
'protocol-change': [protocol: string];
|
|
146
|
+
}
|
|
147
|
+
export interface CardInputEvents extends InputFieldEvents {
|
|
148
|
+
'update:cardNumber': [number: string];
|
|
149
|
+
'card-type-detected': [type: CardType];
|
|
150
|
+
}
|
|
151
|
+
export interface TagsInputEvents extends InputFieldEvents {
|
|
152
|
+
'update:tags': [tags: string[]];
|
|
153
|
+
'tag-added': [tag: string];
|
|
154
|
+
'tag-removed': [tag: string, index: number];
|
|
155
|
+
'max-tags-reached': [];
|
|
156
|
+
}
|
|
157
|
+
export interface CopyInputEvents extends InputFieldEvents {
|
|
158
|
+
'copy-success': [text: string];
|
|
159
|
+
'copy-error': [error: Error];
|
|
160
|
+
}
|
|
161
|
+
export interface BaseInputProps {
|
|
162
|
+
size?: InputFieldSize;
|
|
163
|
+
colorStyle?: InputFieldColorStyle;
|
|
164
|
+
state?: InputFieldState;
|
|
165
|
+
destructive?: boolean;
|
|
166
|
+
required?: boolean;
|
|
167
|
+
label?: string;
|
|
168
|
+
hintText?: string;
|
|
169
|
+
disabled?: boolean;
|
|
170
|
+
}
|
|
171
|
+
export interface DefaultInputProps extends BaseInputProps {
|
|
172
|
+
placeholder?: string;
|
|
173
|
+
inputType?: string;
|
|
174
|
+
modelValue?: string;
|
|
175
|
+
readonly?: boolean;
|
|
176
|
+
leadingIcon?: Component | string;
|
|
177
|
+
trailingIcon?: Component | string;
|
|
178
|
+
tooltipText?: string;
|
|
179
|
+
}
|
|
180
|
+
export interface DefaultInputEvents {
|
|
181
|
+
'update:modelValue': [value: string];
|
|
182
|
+
input: [value: string];
|
|
183
|
+
focus: [event: FocusEvent];
|
|
184
|
+
blur: [event: FocusEvent];
|
|
185
|
+
keydown: [event: KeyboardEvent];
|
|
186
|
+
'leading-icon-click': [event: MouseEvent];
|
|
187
|
+
'trailing-icon-click': [event: MouseEvent];
|
|
188
|
+
}
|
|
189
|
+
export interface PhoneInputProps extends BaseInputProps {
|
|
190
|
+
placeholder?: string;
|
|
191
|
+
countryCode?: string;
|
|
192
|
+
phoneNumber?: string;
|
|
193
|
+
countryOptions?: CountryOption[];
|
|
194
|
+
trailingIcon?: Component | string;
|
|
195
|
+
tooltipText?: string;
|
|
196
|
+
disabled?: boolean;
|
|
197
|
+
readonly?: boolean;
|
|
198
|
+
}
|
|
199
|
+
export interface PhoneInputEvents {
|
|
200
|
+
'update:modelValue': [value: string];
|
|
201
|
+
'update:countryCode': [code: string];
|
|
202
|
+
'update:phoneNumber': [number: string];
|
|
203
|
+
'country-change': [country: CountryOption];
|
|
204
|
+
input: [value: string];
|
|
205
|
+
focus: [event: FocusEvent];
|
|
206
|
+
blur: [event: FocusEvent];
|
|
207
|
+
}
|
|
208
|
+
export interface CardInputProps extends BaseInputProps {
|
|
209
|
+
placeholder?: string;
|
|
210
|
+
cardNumber?: string;
|
|
211
|
+
cardType?: CardType;
|
|
212
|
+
maskInput?: boolean;
|
|
213
|
+
showCardIcon?: boolean;
|
|
214
|
+
trailingIcon?: Component | string;
|
|
215
|
+
disabled?: boolean;
|
|
216
|
+
readonly?: boolean;
|
|
217
|
+
}
|
|
218
|
+
export interface CardInputEvents {
|
|
219
|
+
'update:modelValue': [value: string];
|
|
220
|
+
'update:cardNumber': [number: string];
|
|
221
|
+
'card-type-detected': [cardType: CardType];
|
|
222
|
+
input: [value: string];
|
|
223
|
+
focus: [event: FocusEvent];
|
|
224
|
+
blur: [event: FocusEvent];
|
|
225
|
+
'trailing-icon-click': [event: MouseEvent];
|
|
226
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated Use IReference from /utilities/common.interfaces.ts instead
|
|
3
|
+
*/
|
|
4
|
+
export interface Reference {
|
|
5
|
+
id: string;
|
|
6
|
+
title?: string;
|
|
7
|
+
name?: string;
|
|
8
|
+
description?: string;
|
|
9
|
+
url?: string;
|
|
10
|
+
type?: string;
|
|
11
|
+
path?: string;
|
|
12
|
+
metadata?: Record<string, unknown>;
|
|
13
|
+
}
|
|
14
|
+
export type { IReference } from './utilities';
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AI Service Interfaces
|
|
3
|
+
* Interfaces for AI-related services and API interactions
|
|
4
|
+
*/
|
|
5
|
+
export interface IAITextRequest {
|
|
6
|
+
userQuestion: string;
|
|
7
|
+
textBoxContent?: string;
|
|
8
|
+
model?: string;
|
|
9
|
+
temperature?: number;
|
|
10
|
+
maxTokens?: number;
|
|
11
|
+
}
|
|
12
|
+
export interface IAITextResponse {
|
|
13
|
+
success: boolean;
|
|
14
|
+
content?: string;
|
|
15
|
+
error?: string;
|
|
16
|
+
action?: 'replace' | 'complete' | 'chat';
|
|
17
|
+
hasChanges?: boolean;
|
|
18
|
+
changeTitle?: string;
|
|
19
|
+
changeDescription?: string;
|
|
20
|
+
improvedText?: string;
|
|
21
|
+
stats?: {
|
|
22
|
+
added: number;
|
|
23
|
+
removed: number;
|
|
24
|
+
modified?: number;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export interface IAIServiceConfig {
|
|
28
|
+
apiKey: string;
|
|
29
|
+
baseUrl?: string;
|
|
30
|
+
model?: string;
|
|
31
|
+
organization?: string;
|
|
32
|
+
timeout?: number;
|
|
33
|
+
}
|
|
34
|
+
export interface IAITextApiResponse {
|
|
35
|
+
success?: boolean;
|
|
36
|
+
content?: string;
|
|
37
|
+
output?: Array<{
|
|
38
|
+
content?: string | Array<{
|
|
39
|
+
text?: string;
|
|
40
|
+
type?: string;
|
|
41
|
+
}>;
|
|
42
|
+
}>;
|
|
43
|
+
error?: string | {
|
|
44
|
+
message?: string;
|
|
45
|
+
code?: string;
|
|
46
|
+
};
|
|
47
|
+
action?: 'replace' | 'complete' | 'chat';
|
|
48
|
+
hasChanges?: boolean;
|
|
49
|
+
changeTitle?: string;
|
|
50
|
+
changeDescription?: string;
|
|
51
|
+
improvedText?: string;
|
|
52
|
+
stats?: {
|
|
53
|
+
added: number;
|
|
54
|
+
removed: number;
|
|
55
|
+
};
|
|
56
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* API Service Interfaces
|
|
3
|
+
* Generic interfaces for API requests, responses, and error handling
|
|
4
|
+
*/
|
|
5
|
+
export interface IApiResponse<T = unknown> {
|
|
6
|
+
success: boolean;
|
|
7
|
+
data?: T;
|
|
8
|
+
message?: string;
|
|
9
|
+
error?: string;
|
|
10
|
+
code?: number;
|
|
11
|
+
timestamp?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface IApiRequest {
|
|
14
|
+
[key: string]: unknown;
|
|
15
|
+
}
|
|
16
|
+
export interface IApiError {
|
|
17
|
+
message: string;
|
|
18
|
+
code?: string | number;
|
|
19
|
+
details?: Record<string, unknown>;
|
|
20
|
+
timestamp?: string;
|
|
21
|
+
}
|
|
22
|
+
export interface IApiConfig {
|
|
23
|
+
baseUrl: string;
|
|
24
|
+
timeout?: number;
|
|
25
|
+
headers?: Record<string, string>;
|
|
26
|
+
retries?: number;
|
|
27
|
+
retryDelay?: number;
|
|
28
|
+
}
|
|
29
|
+
export interface IPaginatedResponse<T> extends IApiResponse<T[]> {
|
|
30
|
+
pagination?: {
|
|
31
|
+
page: number;
|
|
32
|
+
limit: number;
|
|
33
|
+
total: number;
|
|
34
|
+
totalPages: number;
|
|
35
|
+
hasNext: boolean;
|
|
36
|
+
hasPrev: boolean;
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
export interface IPaginationParams {
|
|
40
|
+
page?: number;
|
|
41
|
+
limit?: number;
|
|
42
|
+
sort?: string;
|
|
43
|
+
order?: 'asc' | 'desc';
|
|
44
|
+
search?: string;
|
|
45
|
+
filters?: Record<string, unknown>;
|
|
46
|
+
}
|
|
@@ -0,0 +1,99 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Authentication Service Interfaces
|
|
3
|
+
* Interfaces for authentication, authorization, and user management
|
|
4
|
+
*/
|
|
5
|
+
export interface IUser {
|
|
6
|
+
id: string;
|
|
7
|
+
email: string;
|
|
8
|
+
firstName: string;
|
|
9
|
+
lastName: string;
|
|
10
|
+
role: string;
|
|
11
|
+
globalScopes: string[];
|
|
12
|
+
mfaEnabled: boolean;
|
|
13
|
+
avatar?: string;
|
|
14
|
+
createdAt?: string;
|
|
15
|
+
updatedAt?: string;
|
|
16
|
+
}
|
|
17
|
+
export interface IUserProfile extends IUser {
|
|
18
|
+
phone?: string;
|
|
19
|
+
timezone?: string;
|
|
20
|
+
language?: string;
|
|
21
|
+
preferences?: Record<string, unknown>;
|
|
22
|
+
}
|
|
23
|
+
export interface ILoginRequest {
|
|
24
|
+
email: string;
|
|
25
|
+
password: string;
|
|
26
|
+
rememberMe?: boolean;
|
|
27
|
+
deviceInfo?: IDeviceInformation;
|
|
28
|
+
}
|
|
29
|
+
export interface ILoginResponse {
|
|
30
|
+
success: boolean;
|
|
31
|
+
user?: IUser;
|
|
32
|
+
token?: string;
|
|
33
|
+
refreshToken?: string;
|
|
34
|
+
expiresIn?: number;
|
|
35
|
+
requiresMfa?: boolean;
|
|
36
|
+
mfaToken?: string;
|
|
37
|
+
}
|
|
38
|
+
export interface IRegisterRequest {
|
|
39
|
+
email: string;
|
|
40
|
+
password: string;
|
|
41
|
+
firstName: string;
|
|
42
|
+
lastName: string;
|
|
43
|
+
acceptTerms: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface IRegisterResponse {
|
|
46
|
+
success: boolean;
|
|
47
|
+
user?: IUser;
|
|
48
|
+
message?: string;
|
|
49
|
+
requiresVerification?: boolean;
|
|
50
|
+
}
|
|
51
|
+
export interface IVerifyLoginRequest {
|
|
52
|
+
token: string;
|
|
53
|
+
code: string;
|
|
54
|
+
}
|
|
55
|
+
export interface IEmailVerificationRequest {
|
|
56
|
+
email: string;
|
|
57
|
+
code: string;
|
|
58
|
+
}
|
|
59
|
+
export interface IEmailVerificationResponse {
|
|
60
|
+
success: boolean;
|
|
61
|
+
message?: string;
|
|
62
|
+
}
|
|
63
|
+
export interface IMfaQrResponse {
|
|
64
|
+
qrCode: string;
|
|
65
|
+
secret: string;
|
|
66
|
+
backupCodes: string[];
|
|
67
|
+
}
|
|
68
|
+
export interface IMfaVerifyRequest {
|
|
69
|
+
code: string;
|
|
70
|
+
token?: string;
|
|
71
|
+
}
|
|
72
|
+
export interface IMfaEnableRequest {
|
|
73
|
+
code: string;
|
|
74
|
+
secret: string;
|
|
75
|
+
}
|
|
76
|
+
export interface IMfaDisableRequest {
|
|
77
|
+
password: string;
|
|
78
|
+
code: string;
|
|
79
|
+
}
|
|
80
|
+
export interface IDeviceInformation {
|
|
81
|
+
userAgent: string;
|
|
82
|
+
platform: string;
|
|
83
|
+
deviceId?: string;
|
|
84
|
+
ipAddress?: string;
|
|
85
|
+
}
|
|
86
|
+
export interface IAuthToken {
|
|
87
|
+
token: string;
|
|
88
|
+
refreshToken?: string;
|
|
89
|
+
expiresIn: number;
|
|
90
|
+
tokenType: string;
|
|
91
|
+
}
|
|
92
|
+
export interface IAuthState {
|
|
93
|
+
isAuthenticated: boolean;
|
|
94
|
+
user: IUser | null;
|
|
95
|
+
token: string | null;
|
|
96
|
+
refreshToken: string | null;
|
|
97
|
+
loading: boolean;
|
|
98
|
+
error: string | null;
|
|
99
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ISkeletonType = 'card' | 'paragraph' | 'table' | 'single-box' | 'single-paragraph';
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Slider Component Interfaces
|
|
3
|
+
* Defines TypeScript interfaces for the Slider component with comprehensive JSDoc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Props interface for the Slider component
|
|
7
|
+
*/
|
|
8
|
+
export interface SliderProps {
|
|
9
|
+
/**
|
|
10
|
+
* The current value of the slider
|
|
11
|
+
* @default 0
|
|
12
|
+
*/
|
|
13
|
+
modelValue: number;
|
|
14
|
+
/**
|
|
15
|
+
* The minimum value of the slider
|
|
16
|
+
* @default 0
|
|
17
|
+
*/
|
|
18
|
+
min?: number;
|
|
19
|
+
/**
|
|
20
|
+
* The maximum value of the slider
|
|
21
|
+
* @default 100
|
|
22
|
+
*/
|
|
23
|
+
max?: number;
|
|
24
|
+
/**
|
|
25
|
+
* The step increment for the slider
|
|
26
|
+
* @default 1
|
|
27
|
+
*/
|
|
28
|
+
step?: number;
|
|
29
|
+
/**
|
|
30
|
+
* Optional label text displayed above the slider
|
|
31
|
+
*/
|
|
32
|
+
label?: string;
|
|
33
|
+
/**
|
|
34
|
+
* Optional tooltip text for the help icon
|
|
35
|
+
*/
|
|
36
|
+
tooltip?: string;
|
|
37
|
+
/**
|
|
38
|
+
* Placement of the tooltip relative to the trigger element
|
|
39
|
+
* @default 'top'
|
|
40
|
+
*/
|
|
41
|
+
tooltipPlacement?: 'top' | 'bottom' | 'left' | 'right';
|
|
42
|
+
/**
|
|
43
|
+
* Optional hint text displayed below the slider
|
|
44
|
+
*/
|
|
45
|
+
hint?: string;
|
|
46
|
+
/**
|
|
47
|
+
* Whether the slider is disabled
|
|
48
|
+
* @default false
|
|
49
|
+
*/
|
|
50
|
+
disabled?: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* Whether to show the current value in the top right corner
|
|
53
|
+
* @default true
|
|
54
|
+
*/
|
|
55
|
+
showValue?: boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Whether to enable range mode (dual thumb selection)
|
|
58
|
+
* @default false
|
|
59
|
+
*/
|
|
60
|
+
range?: boolean;
|
|
61
|
+
/**
|
|
62
|
+
* The range values for dual thumb mode [min, max]
|
|
63
|
+
* Only used when range is true
|
|
64
|
+
*/
|
|
65
|
+
rangeValue?: [number, number];
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Emits interface for the Slider component
|
|
69
|
+
*/
|
|
70
|
+
export interface SliderEmits {
|
|
71
|
+
/**
|
|
72
|
+
* Emitted when the slider value changes
|
|
73
|
+
* @param value - The new value
|
|
74
|
+
*/
|
|
75
|
+
'update:modelValue': (value: number) => void;
|
|
76
|
+
/**
|
|
77
|
+
* Emitted when the range values change (only in range mode)
|
|
78
|
+
* @param range - The new range values [min, max]
|
|
79
|
+
*/
|
|
80
|
+
'update:rangeValue': (range: [number, number]) => void;
|
|
81
|
+
}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { Component } from 'vue';
|
|
2
|
+
/**
|
|
3
|
+
* Social Buttons Component Interfaces
|
|
4
|
+
* Defines the props and types for the SocialButtons component
|
|
5
|
+
*/
|
|
6
|
+
export type SocialProvider = 'google' | 'facebook' | 'apple' | 'x' | 'figma' | 'dribbble';
|
|
7
|
+
export type SocialButtonVariant = 'filled' | 'outlined' | 'ghost';
|
|
8
|
+
export type SocialButtonSize = 'sm' | 'md' | 'lg';
|
|
9
|
+
export type SocialButtonLayout = 'horizontal' | 'vertical';
|
|
10
|
+
export interface SocialButtonProps {
|
|
11
|
+
/**
|
|
12
|
+
* Social media provider
|
|
13
|
+
*/
|
|
14
|
+
provider: SocialProvider;
|
|
15
|
+
/**
|
|
16
|
+
* Visual variant of the button
|
|
17
|
+
* - filled: Brand background colors
|
|
18
|
+
* - outlined: White background with brand border
|
|
19
|
+
* - ghost: Transparent with muted colors
|
|
20
|
+
*/
|
|
21
|
+
variant?: SocialButtonVariant;
|
|
22
|
+
/**
|
|
23
|
+
* Size of the button
|
|
24
|
+
* - sm: 32px height, 14px font
|
|
25
|
+
* - md: 40px height, 16px font
|
|
26
|
+
* - lg: 48px height, 18px font
|
|
27
|
+
*/
|
|
28
|
+
size?: SocialButtonSize;
|
|
29
|
+
/**
|
|
30
|
+
* Whether the button is disabled
|
|
31
|
+
*/
|
|
32
|
+
disabled?: boolean;
|
|
33
|
+
/**
|
|
34
|
+
* Whether to show only the icon (square button)
|
|
35
|
+
*/
|
|
36
|
+
iconOnly?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Custom label text (overrides default provider label)
|
|
39
|
+
*/
|
|
40
|
+
label?: string;
|
|
41
|
+
/**
|
|
42
|
+
* Custom CSS class for styling overrides
|
|
43
|
+
*/
|
|
44
|
+
class?: string;
|
|
45
|
+
/**
|
|
46
|
+
* Custom CSS style for styling overrides
|
|
47
|
+
*/
|
|
48
|
+
style?: string;
|
|
49
|
+
}
|
|
50
|
+
export interface SocialButtonGroupProps {
|
|
51
|
+
/**
|
|
52
|
+
* Array of social media providers to display
|
|
53
|
+
*/
|
|
54
|
+
providers: SocialProvider[];
|
|
55
|
+
/**
|
|
56
|
+
* Visual variant for all buttons in the group
|
|
57
|
+
*/
|
|
58
|
+
variant?: SocialButtonVariant;
|
|
59
|
+
/**
|
|
60
|
+
* Size for all buttons in the group
|
|
61
|
+
*/
|
|
62
|
+
size?: SocialButtonSize;
|
|
63
|
+
/**
|
|
64
|
+
* Whether all buttons are disabled
|
|
65
|
+
*/
|
|
66
|
+
disabled?: boolean;
|
|
67
|
+
/**
|
|
68
|
+
* Whether to show only icons (square buttons)
|
|
69
|
+
*/
|
|
70
|
+
iconOnly?: boolean;
|
|
71
|
+
/**
|
|
72
|
+
* Layout orientation of the button group
|
|
73
|
+
*/
|
|
74
|
+
layout?: SocialButtonLayout;
|
|
75
|
+
/**
|
|
76
|
+
* Custom CSS class for styling overrides
|
|
77
|
+
*/
|
|
78
|
+
class?: string;
|
|
79
|
+
/**
|
|
80
|
+
* Custom CSS style for styling overrides
|
|
81
|
+
*/
|
|
82
|
+
style?: string;
|
|
83
|
+
}
|
|
84
|
+
export interface SocialButtonEmits {
|
|
85
|
+
/**
|
|
86
|
+
* Emitted when a social button is clicked
|
|
87
|
+
* @param provider - The social media provider that was clicked
|
|
88
|
+
* @param event - The click event
|
|
89
|
+
*/
|
|
90
|
+
click: [provider: SocialProvider, event: MouseEvent];
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Provider configuration mapping
|
|
94
|
+
*/
|
|
95
|
+
export interface SocialProviderConfig {
|
|
96
|
+
icon: Component;
|
|
97
|
+
label: string;
|
|
98
|
+
colors: {
|
|
99
|
+
filled: {
|
|
100
|
+
background: string;
|
|
101
|
+
color: string;
|
|
102
|
+
border?: string;
|
|
103
|
+
};
|
|
104
|
+
outlined: {
|
|
105
|
+
background: string;
|
|
106
|
+
color: string;
|
|
107
|
+
border: string;
|
|
108
|
+
};
|
|
109
|
+
ghost: {
|
|
110
|
+
background: string;
|
|
111
|
+
color: string;
|
|
112
|
+
border: string;
|
|
113
|
+
};
|
|
114
|
+
};
|
|
115
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Switch Slot Component Interfaces
|
|
3
|
+
* Defines TypeScript interfaces for the SwitchSlot component with comprehensive JSDoc
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Props interface for the SwitchSlot component
|
|
7
|
+
*/
|
|
8
|
+
export interface SwitchSlotProps {
|
|
9
|
+
/**
|
|
10
|
+
* The current state of the switch (on/off)
|
|
11
|
+
*/
|
|
12
|
+
modelValue: boolean;
|
|
13
|
+
/**
|
|
14
|
+
* Optional label text displayed next to the switch
|
|
15
|
+
*/
|
|
16
|
+
label?: string;
|
|
17
|
+
/**
|
|
18
|
+
* Optional tooltip text for the help icon
|
|
19
|
+
*/
|
|
20
|
+
tooltip?: string;
|
|
21
|
+
/**
|
|
22
|
+
* Placement of the tooltip relative to the trigger element
|
|
23
|
+
* @default 'top'
|
|
24
|
+
*/
|
|
25
|
+
tooltipPlacement?: 'top' | 'bottom' | 'left' | 'right';
|
|
26
|
+
/**
|
|
27
|
+
* Optional hint text displayed below the component
|
|
28
|
+
*/
|
|
29
|
+
hint?: string;
|
|
30
|
+
/**
|
|
31
|
+
* Whether the switch is disabled
|
|
32
|
+
* @default false
|
|
33
|
+
*/
|
|
34
|
+
disabled?: boolean;
|
|
35
|
+
/**
|
|
36
|
+
* Visual variant of the component
|
|
37
|
+
* @default 'default'
|
|
38
|
+
*/
|
|
39
|
+
variant?: 'default' | 'bordered';
|
|
40
|
+
/**
|
|
41
|
+
* Whether to show the slot content section
|
|
42
|
+
* @default false
|
|
43
|
+
*/
|
|
44
|
+
showSlotContent?: boolean;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Emits interface for the SwitchSlot component
|
|
48
|
+
*/
|
|
49
|
+
export interface SwitchSlotEmits {
|
|
50
|
+
/**
|
|
51
|
+
* Emitted when the switch state changes
|
|
52
|
+
* @param value - The new switch state
|
|
53
|
+
*/
|
|
54
|
+
(e: 'update:modelValue', value: boolean): void;
|
|
55
|
+
}
|