@yamato-daiwa/frontend-vue 0.2.0 → 0.3.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of @yamato-daiwa/frontend-vue might be problematic. Click here for more details.
- package/Distributable/Functions/Routing/extractVueRouteQueryParameterAsArray.d.ts +6 -0
- package/Distributable/Functions/getElementByVueReference.d.ts +23 -0
- package/Distributable/GUI_Components/AdmonitionBlock/AdmonitionBlock.vue.d.ts +52 -0
- package/Distributable/GUI_Components/AdmonitionBlock/AdmonitionBlockLogic.vue.d.ts +51 -0
- package/Distributable/GUI_Components/Badge/Badge.vue.d.ts +61 -0
- package/Distributable/GUI_Components/Badge/LoadingPlaceholder/Badge-LoadingPlaceholder.vue.d.ts +10 -0
- package/Distributable/GUI_Components/ComponentsAuxiliaries.d.ts +42 -0
- package/Distributable/GUI_Components/Controls/Buttons/Closing/ClosingButton.vue.d.ts +54 -0
- package/Distributable/GUI_Components/Controls/Buttons/HamburgerMenu/HamburgerMenuButton-ForInheritance.vue.d.ts +56 -0
- package/Distributable/GUI_Components/Controls/Buttons/HamburgerMenu/HamburgerMenuButton.vue.d.ts +55 -0
- package/Distributable/GUI_Components/Controls/Buttons/Plain/Button.vue.d.ts +88 -0
- package/Distributable/GUI_Components/Controls/Buttons/Plain/LoadingPlaceholder/Button-LoadingPlaceholder.vue.d.ts +10 -0
- package/Distributable/GUI_Components/Controls/InputtableControl.d.ts +17 -0
- package/Distributable/GUI_Components/Controls/ValidatableControl.d.ts +51 -0
- package/Distributable/GUI_Components/Controls/ValidatableControlShell/ValidatableControlShell.vue.d.ts +92 -0
- package/Distributable/GUI_Components/Controls/Validatables/InputtableControl.d.ts +25 -0
- package/Distributable/GUI_Components/Controls/Validatables/InputtableControl.vue.d.ts +25 -0
- package/Distributable/GUI_Components/Controls/Validatables/TextBox/TextBox.vue.d.ts +124 -0
- package/Distributable/GUI_Components/Controls/Validatables/ValidatableControl.d.ts +54 -0
- package/Distributable/GUI_Components/Controls/Validatables/ValidatableControlsGroup.d.ts +38 -0
- package/Distributable/GUI_Components/YDF_ComponentsCoordinator.d.ts +103 -0
- package/Distributable/GUI_Components/_Decorators/AccessibleFromTemplateAsNonReactive.d.ts +2 -0
- package/Distributable/GUI_Components/_Decorators/NonReactiveData.d.ts +1 -0
- package/Distributable/GUI_Components/_Decorators/NonReactiveVueData.d.ts +1 -0
- package/Distributable/GUI_Components/_Decorators/OptionalButNotNullableVueProperty.d.ts +2 -0
- package/Distributable/GUI_Components/_Decorators/preventNullForOptionalVueProperty.d.ts +2 -0
- package/Distributable/GUI_Components/_Errors/ForbiddenNullValueOfOptionalVueProperty/ForbiddenNullValueOfOptionalVuePropertyError.d.ts +19 -0
- package/Distributable/GUI_Components/_Errors/ForbiddenNullValueOfOptionalVueProperty/ForbiddenNullValueOfOptionalVuePropertyErrorLocalization.english.d.ts +3 -0
- package/Distributable/GUI_Components/_Errors/InvalidVuePropertiesCombination/InvalidVuePropertiesCombinationError.d.ts +19 -0
- package/Distributable/GUI_Components/_Errors/InvalidVuePropertiesCombination/InvalidVuePropertiesCombinationErrorLocalization.english.d.ts +3 -0
- package/Distributable/GUI_Components/_Errors/InvalidVueProperty/InvalidVuePropertyError.d.ts +20 -0
- package/Distributable/GUI_Components/_Errors/InvalidVueProperty/InvalidVuePropertyErrorLocalization.english.d.ts +3 -0
- package/Distributable/GUI_Components/_Errors/VueComponentImplementationHasNotBeenSet/VueComponentImplementationHasNotBeenSet.d.ts +18 -0
- package/Distributable/GUI_Components/_Errors/VueComponentImplementationHasNotBeenSet/VueComponentImplementationHasNotBeenSetErrorLocalization.english.d.ts +3 -0
- package/Distributable/GUI_Components/_Errors/VueComponentNotFound/VueComponentNotFoundError.d.ts +22 -0
- package/Distributable/GUI_Components/_Errors/VueComponentNotFound/VueComponentNotFoundErrorLocalization.english.d.ts +3 -0
- package/Distributable/GUI_Components/_Utils/VuePropertiesValidationMessagesGenerators/generateInvalidDecorativeVariationVuePropertyValidationMessage.d.ts +4 -0
- package/Distributable/GUI_Components/_Utils/VuePropertiesValidationMessagesGenerators/generateInvalidGeometricVariationVuePropertyValidationMessage.d.ts +4 -0
- package/Distributable/GUI_Components/_Utils/VuePropertiesValidationMessagesGenerators/generateInvalidThemeVuePropertyValidationMessage.d.ts +4 -0
- package/Distributable/GUI_Components/_Utils/VuePropertiesValidationMessagesGenerators/generateVuePropertyMustBeEitherEmptyStringOrUndefinedValidationMessage.d.ts +2 -0
- package/Distributable/GUI_Components/_Utils/VuePropertiesValidationMessagesGenerators/generateVuePropertyMustBeNonEmptyStringOrUndefinedValidationMessage.d.ts +2 -0
- package/Distributable/GUI_Components/_Utils/validateVuePropertyAndLogIfInvalid.d.ts +4 -0
- package/Distributable/GUI_Components/_VuePropertiesValidators/BooleanVuePropertyValidator.d.ts +5 -0
- package/Distributable/GUI_Components/_VuePropertiesValidators/DecorativeModifiersVuePropertyValidator.d.ts +6 -0
- package/Distributable/GUI_Components/_VuePropertiesValidators/DecorativeVariationVuePropertyValidator.d.ts +6 -0
- package/Distributable/GUI_Components/_VuePropertiesValidators/ElementOfEnumerationVuePropertyValidator.d.ts +9 -0
- package/Distributable/GUI_Components/_VuePropertiesValidators/GeometricModifiersVuePropertyValidator.d.ts +6 -0
- package/Distributable/GUI_Components/_VuePropertiesValidators/GeometricVariationVuePropertyValidator.d.ts +6 -0
- package/Distributable/GUI_Components/_VuePropertiesValidators/NaturalNumberOrZeroVuePropertyValidator.d.ts +5 -0
- package/Distributable/GUI_Components/_VuePropertiesValidators/NonEmptyStringVuePropertyValidator.d.ts +5 -0
- package/Distributable/GUI_Components/_VuePropertiesValidators/ThemeVuePropertyValidator.d.ts +6 -0
- package/Distributable/GUI_Components/_VuePropertiesValidators/VuePropertyValidator.d.ts +10 -0
- package/{Source/index.ts → Distributable/index.d.ts} +151 -217
- package/Distributable/index.js +1 -0
- package/README.md +5 -0
- package/package.json +43 -48
- package/.idea/.name +0 -1
- package/.idea/Main.iml +0 -12
- package/.idea/file.template.settings.xml +0 -8
- package/.idea/fileTemplates/SVG Icon component.vue +0 -16
- package/.idea/icon.svg +0 -1
- package/.idea/inspectionProfiles/Project_Default.xml +0 -7
- package/.idea/misc.xml +0 -5
- package/.idea/modules.xml +0 -8
- package/.idea/runConfigurations/Generate_TypeScript_Types.xml +0 -12
- package/.idea/runConfigurations/Lint.xml +0 -12
- package/.idea/runConfigurations/Rebuild_Distributable.xml +0 -12
- package/.idea/runConfigurations/Start_Workbenches.xml +0 -12
- package/.idea/vcs.xml +0 -6
- package/.pug-lintrc +0 -4
- package/Project.d.ts +0 -10
- package/Source/Functions/Routing/extractVueRouteQueryParameterAsArray.ts +0 -65
- package/Source/Functions/getElementByVueReference.ts +0 -30
- package/Source/GUI_Components/AdmonitionBlock/AdmonitionBlock.vue.pug +0 -43
- package/Source/GUI_Components/AdmonitionBlock/AdmonitionBlock.vue.ts +0 -230
- package/Source/GUI_Components/Badge/Badge.vue.pug +0 -12
- package/Source/GUI_Components/Badge/Badge.vue.ts +0 -205
- package/Source/GUI_Components/Badge/LoadingPlaceholder/Badge-LoadingPlaceholder.vue.pug +0 -3
- package/Source/GUI_Components/Badge/LoadingPlaceholder/Badge-LoadingPlaceholder.vue.ts +0 -74
- package/Source/GUI_Components/Controls/Buttons/Plain/Button.vue.pug +0 -70
- package/Source/GUI_Components/Controls/Buttons/Plain/Button.vue.ts +0 -352
- package/Source/GUI_Components/Controls/Buttons/Plain/LoadingPlaceholder/Button-LoadingPlaceholder.vue.pug +0 -3
- package/Source/GUI_Components/Controls/Buttons/Plain/LoadingPlaceholder/Button-LoadingPlaceholder.vue.ts +0 -74
- package/Source/GUI_Components/Controls/ValidatableControlShell/ValidatableControlShell.vue.pug +0 -51
- package/Source/GUI_Components/Controls/ValidatableControlShell/ValidatableControlShell.vue.ts +0 -296
- package/Source/GUI_Components/Controls/Validatables/InputtableControl.ts +0 -134
- package/Source/GUI_Components/Controls/Validatables/TextBox/TextBox.vue.pug +0 -29
- package/Source/GUI_Components/Controls/Validatables/TextBox/TextBox.vue.ts +0 -260
- package/Source/GUI_Components/Controls/Validatables/ValidatableControl.ts +0 -259
- package/Source/GUI_Components/OverflowSafeSingleLineLabel.vue +0 -25
- package/Source/GUI_Components/ThemesShowcase.vue +0 -118
- package/Source/GUI_Components/YDF_ComponentsCoordinator.ts +0 -158
- package/Source/GUI_Components/_Decorators/OptionalButNotNullableVueProperty.ts +0 -65
- package/Source/GUI_Components/_Errors/ForbiddenNullValueOfOptionalVueProperty/ForbiddenNullValueOfOptionalVuePropertyError.ts +0 -47
- package/Source/GUI_Components/_Errors/ForbiddenNullValueOfOptionalVueProperty/ForbiddenNullValueOfOptionalVuePropertyErrorLocalization.english.ts +0 -24
- package/Source/GUI_Components/_Errors/InvalidVuePropertiesCombination/InvalidVuePropertiesCombinationError.ts +0 -40
- package/Source/GUI_Components/_Errors/InvalidVuePropertiesCombination/InvalidVuePropertiesCombinationErrorLocalization.english.ts +0 -15
- package/Source/GUI_Components/_Errors/VueComponentImplementationHasNotBeenSet/VueComponentImplementationHasNotBeenSet.ts +0 -39
- package/Source/GUI_Components/_Errors/VueComponentImplementationHasNotBeenSet/VueComponentImplementationHasNotBeenSetErrorLocalization.english.ts +0 -17
- package/Source/GUI_Components/_Errors/VueComponentNotFound/VueComponentNotFoundError.ts +0 -46
- package/Source/GUI_Components/_Errors/VueComponentNotFound/VueComponentNotFoundErrorLocalization.english.ts +0 -22
- package/Source/GUI_Components/_Utils/validateVuePropertyAndLogIfInvalid.ts +0 -34
- package/Source/SVG_Icons/Achievement/AchievementIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/Achievement/AchievementIcon__Outlined.vue +0 -16
- package/Source/SVG_Icons/Bell/BellIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/Bracket/CurlyBracketIcon__Closing.vue +0 -16
- package/Source/SVG_Icons/Bracket/CurlyBracketIcon__Opening.vue +0 -16
- package/Source/SVG_Icons/Bracket/RoundBracketIcon__Closing.vue +0 -16
- package/Source/SVG_Icons/Bracket/RoundBracketIcon__Opening.vue +0 -16
- package/Source/SVG_Icons/Bracket/SquareBracketIcon__Closing.vue +0 -16
- package/Source/SVG_Icons/Bracket/SquareBracketIcon__Opening.vue +0 -16
- package/Source/SVG_Icons/Calendar/CalendarIcon.vue +0 -16
- package/Source/SVG_Icons/Calendar/CalendarIcon__Date.vue +0 -16
- package/Source/SVG_Icons/Calendar/CalendarIcon__Repeat.vue +0 -16
- package/Source/SVG_Icons/Calendar/CalendarIcon__Time.vue +0 -16
- package/Source/SVG_Icons/Checkmark/CheckboxIcon__Checked.vue +0 -16
- package/Source/SVG_Icons/Checkmark/CheckboxIcon__Unchecked.vue +0 -16
- package/Source/SVG_Icons/Checkmark/CheckmarkIcon__Circled__Filled.vue +0 -16
- package/Source/SVG_Icons/Checkmark/CheckmarkIcon__Circled__Outlined.vue +0 -16
- package/Source/SVG_Icons/Chevron/ChevronIcon__Downward.vue +0 -16
- package/Source/SVG_Icons/Chevron/ChevronIcon__Leftward.vue +0 -16
- package/Source/SVG_Icons/Chevron/ChevronIcon__Rightward.vue +0 -16
- package/Source/SVG_Icons/Chevron/ChevronIcon__Upward.vue +0 -16
- package/Source/SVG_Icons/Comment/CommentIcon__Dots__Filled.vue +0 -16
- package/Source/SVG_Icons/Comment/CommentIcon__Dots__Outlined.vue +0 -16
- package/Source/SVG_Icons/Comment/CommentIcon__Lines__Filled.vue +0 -16
- package/Source/SVG_Icons/Comment/CommentIcon__Lines__Outlined.vue +0 -16
- package/Source/SVG_Icons/Comment/CommentIcon__Minus__Filled.vue +0 -16
- package/Source/SVG_Icons/Comment/CommentIcon__Minus__Outlined.vue +0 -16
- package/Source/SVG_Icons/Comment/CommentIcon__Pen__Filled.vue +0 -16
- package/Source/SVG_Icons/Comment/CommentIcon__Pen__Outlined.vue +0 -16
- package/Source/SVG_Icons/Comment/CommentIcon__Plus__Filled.vue +0 -16
- package/Source/SVG_Icons/Comment/CommentIcon__Plus__Outlined.vue +0 -16
- package/Source/SVG_Icons/Comment/CommentIcon__Qotemark__Filled.vue +0 -16
- package/Source/SVG_Icons/Comment/CommentIcon__Qotemark__Outlined.vue +0 -16
- package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Circled__Filled.vue +0 -16
- package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Circled__Outlined.vue +0 -16
- package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Octagoned__Filled.vue +0 -16
- package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Octagoned__Outlined.vue +0 -16
- package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Rectangled__Filled.vue +0 -16
- package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Rectangled__Outlined.vue +0 -16
- package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Triangled__Filled.vue +0 -16
- package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Triangled__Outlined.vue +0 -16
- package/Source/SVG_Icons/Filtering/FilteringIcon__Outlined.vue +0 -16
- package/Source/SVG_Icons/Folder/FolderIcon__ExclamationMark__Filled.vue +0 -16
- package/Source/SVG_Icons/Folder/FolderIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/Folder/FolderIcon__MultiplicationSign__Filled.vue +0 -16
- package/Source/SVG_Icons/Folder/FolderIcon__Person__Filled.vue +0 -16
- package/Source/SVG_Icons/Folder/FolderIcon__Plus__Filled.vue +0 -16
- package/Source/SVG_Icons/Folder/FolderIcon__Stationery.vue +0 -16
- package/Source/SVG_Icons/HamburgerMenu/HamburgerMenuIcon.vue +0 -7
- package/Source/SVG_Icons/Heart/HeartIcon__Broken__Filled.vue +0 -16
- package/Source/SVG_Icons/Heart/HeartIcon__Broken__Outlined.vue +0 -16
- package/Source/SVG_Icons/Heart/HeartIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/Heart/HeartIcon__Half.vue +0 -16
- package/Source/SVG_Icons/Heart/HeartIcon__Outlined.vue +0 -16
- package/Source/SVG_Icons/Inbox/InboxIcon.vue +0 -16
- package/Source/SVG_Icons/Inbox/InboxIcon__DownwardArrow.vue +0 -16
- package/Source/SVG_Icons/InfoSign/InfoSignIcon__Circled__Filled.vue +0 -16
- package/Source/SVG_Icons/InfoSign/InfoSignIcon__Circled__Outlined.vue +0 -16
- package/Source/SVG_Icons/Like/LikeIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/Like/LikeIcon__Outlined.vue +0 -16
- package/Source/SVG_Icons/Like/UnlikeIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/Like/UnlikeIcon__Outlined.vue +0 -16
- package/Source/SVG_Icons/List/ChecklistIcon.vue +0 -16
- package/Source/SVG_Icons/MagnifyingGlass/MagnifyingGlassIcon.vue +0 -16
- package/Source/SVG_Icons/MagnifyingGlass/ZoomInIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/MagnifyingGlass/ZoomInIcon__Outlined.vue +0 -16
- package/Source/SVG_Icons/MagnifyingGlass/ZoomingInIcon__Outlined.vue +0 -16
- package/Source/SVG_Icons/MagnifyingGlass/ZoomingOutIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/Mail/MailIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/Mail/MailIcon__Outlined.vue +0 -16
- package/Source/SVG_Icons/MapAndLocation/LocationIcon.vue +0 -16
- package/Source/SVG_Icons/MapAndLocation/LocationIcon__BottomCircle.vue +0 -16
- package/Source/SVG_Icons/MapAndLocation/MapIcon__Clock.vue +0 -16
- package/Source/SVG_Icons/Menu/MenuIcon__ThreeDots__Horizontal.vue +0 -16
- package/Source/SVG_Icons/Menu/MenuIcon__ThreeDots__Horizontal__Circled__Filled.vue +0 -16
- package/Source/SVG_Icons/Menu/MenuIcon__ThreeDots__Horizontal__Circled__Outlined.vue +0 -16
- package/Source/SVG_Icons/Menu/MenuIcon__ThreeDots__Vertical.vue +0 -16
- package/Source/SVG_Icons/Menu/MenuIcon__ThreeDots__Vertical__Circled__Filled.vue +0 -16
- package/Source/SVG_Icons/Menu/MenuIcon__ThreeDots__Vertical__Circled__Outlined.vue +0 -16
- package/Source/SVG_Icons/MultiplicationSign/MultiplicationSignIcon.vue +0 -16
- package/Source/SVG_Icons/MultiplicationSign/MultiplicationSignIcon__Bold.vue +0 -16
- package/Source/SVG_Icons/MultiplicationSign/MultiplicationSignIcon__Boxed__Filled.vue +0 -16
- package/Source/SVG_Icons/MultiplicationSign/MultiplicationSignIcon__Boxed__Outlined.vue +0 -16
- package/Source/SVG_Icons/MultiplicationSign/MultiplicationSignIcon__Octagoned__Filled.vue +0 -16
- package/Source/SVG_Icons/MultiplicationSign/MultiplicationSignIcon__Octagoned__Outlined.vue +0 -16
- package/Source/SVG_Icons/Pencil/PencilIcon__Boxed__Filled.vue +0 -16
- package/Source/SVG_Icons/Pencil/PencilIcon__Boxed__Outlined.vue +0 -16
- package/Source/SVG_Icons/Pencil/PencilIcon__Circled__Filled.vue +0 -16
- package/Source/SVG_Icons/Pencil/PencilIcon__Circled__Outlined.vue +0 -16
- package/Source/SVG_Icons/Pencil/PencilIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/Pencil/PencilIcon__Outlined.vue +0 -16
- package/Source/SVG_Icons/Pencil/PencilWithLockIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/Pencil/PencilWithLockIcon__Outlined.vue +0 -16
- package/Source/SVG_Icons/Pencil/PencilWithPlusSignIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/Pencil/PencilWithPlusSignIcon__Outlined.vue +0 -16
- package/Source/SVG_Icons/Person/PersonIcon__Clock__Rectangled__Filled.vue +0 -16
- package/Source/SVG_Icons/Phone/PhoneIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/Phone/PhoneIcon__Outlined.vue +0 -16
- package/Source/SVG_Icons/Phone/TelephoneIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/QuestionMark/QuestionMarkIcon__Circled__Filled.vue +0 -16
- package/Source/SVG_Icons/QuestionMark/QuestionMarkIcon__Circled__Outlined.vue +0 -16
- package/Source/SVG_Icons/QuoteMark/QuoteMarkIcon_Upward__Outlined.vue +0 -16
- package/Source/SVG_Icons/QuoteMark/QuoteMarkIcon__Downward__Filled.vue +0 -16
- package/Source/SVG_Icons/QuoteMark/QuoteMarkIcon__Downward__Outlined.vue +0 -16
- package/Source/SVG_Icons/QuoteMark/QuoteMarkIcon__Upward__Filled.vue +0 -16
- package/Source/SVG_Icons/SocialNetworks/FacebookIcon.vue +0 -16
- package/Source/SVG_Icons/SocialNetworks/GoogleIcon.vue +0 -16
- package/Source/SVG_Icons/SocialNetworks/InstagramIcon.vue +0 -16
- package/Source/SVG_Icons/SocialNetworks/LinkedInIcon.vue +0 -16
- package/Source/SVG_Icons/SocialNetworks/RSS_Icon.vue +0 -16
- package/Source/SVG_Icons/SocialNetworks/RedditIcon.vue +0 -16
- package/Source/SVG_Icons/SocialNetworks/SkypeIcon.vue +0 -16
- package/Source/SVG_Icons/SocialNetworks/TwitterIcon.vue +0 -16
- package/Source/SVG_Icons/SocialNetworks/YouTubeIcon.vue +0 -16
- package/Source/SVG_Icons/Star/StarIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/Star/StarIcon__Half.vue +0 -16
- package/Source/SVG_Icons/Star/StarIcon__Outlined.vue +0 -16
- package/Source/SVG_Icons/Star/StarIcon__Plus__Filled.vue +0 -16
- package/Source/SVG_Icons/Star/StarIcon__Plus__Outlined.vue +0 -16
- package/Source/SVG_Icons/Timeline/TimelineIcon.vue +0 -16
- package/Source/SVG_Icons/TrashCan/TrashCanIcon__Filled.vue +0 -16
- package/Source/SVG_Icons/TrashCan/TrashCanIcon__Outlined.vue +0 -16
- package/Source/SVG_Icons/Triangle/TriangleIcon__Downward__Circled__Filled.vue +0 -16
- package/Source/SVG_Icons/Triangle/TriangleIcon__Downward__Filled.vue +0 -16
- package/Source/SVG_Icons/Triangle/TriangleIcon__Leftward__Circled__Filled.vue +0 -16
- package/Source/SVG_Icons/Triangle/TriangleIcon__Leftward__Filled.vue +0 -16
- package/Source/SVG_Icons/Triangle/TriangleIcon__Rightward__Circled__Filled.vue +0 -16
- package/Source/SVG_Icons/Triangle/TriangleIcon__Rightward__Filled.vue +0 -16
- package/Source/SVG_Icons/Triangle/TriangleIcon__Upward__Circled__Filled.vue +0 -16
- package/Source/SVG_Icons/Triangle/TriangleIcon__Upward__Filled.vue +0 -16
- package/Workbenches/Source/GUI_Components/AdmonitionBlock/AdmonitionBlock.workbench.pug +0 -20
- package/Workbenches/Source/GUI_Components/AdmonitionBlock/AdmonitionBlock.workbench.ts +0 -5
- package/Workbenches/Source/GUI_Components/AdmonitionBlock/AdmonitionBlockComponentTestSite.vue +0 -37
- package/Workbenches/Source/GUI_Components/Badge/Badge.workbench.pug +0 -20
- package/Workbenches/Source/GUI_Components/Badge/Badge.workbench.ts +0 -5
- package/Workbenches/Source/GUI_Components/Badge/BadgeBlockComponentTestSite.vue +0 -37
- package/Workbenches/Source/GUI_Components/Controls/Buttons/Plain/Button.workbench.pug +0 -20
- package/Workbenches/Source/GUI_Components/Controls/Buttons/Plain/Button.workbench.ts +0 -5
- package/Workbenches/Source/GUI_Components/Controls/Buttons/Plain/ButtonComponentTestSite.vue +0 -49
- package/Workbenches/Source/GUI_Components/Controls/Validatable/TextBox/TextBox.workbench.pug +0 -20
- package/Workbenches/Source/GUI_Components/Controls/Validatable/TextBox/TextBox.workbench.ts +0 -5
- package/Workbenches/Source/GUI_Components/Controls/Validatable/TextBox/TextBoxWorkbench.vue +0 -43
- package/Workbenches/Source/GUI_Components/Controls/ValidatableControlShell/ValidatableControlShell.workbench.pug +0 -20
- package/Workbenches/Source/GUI_Components/Controls/ValidatableControlShell/ValidatableControlShell.workbench.ts +0 -5
- package/Workbenches/Source/GUI_Components/Controls/ValidatableControlShell/ValidatableControlShellTestSite.vue +0 -61
- package/Workbenches/Source/GUI_Components/OverflowSafeSingleLineLabel/OverflowSafeSingleLineLabel.workbench.pug +0 -20
- package/Workbenches/Source/GUI_Components/OverflowSafeSingleLineLabel/OverflowSafeSingleLineLabel.workbench.ts +0 -5
- package/Workbenches/Source/GUI_Components/OverflowSafeSingleLineLabel/OverflowSafeSingleLineLabelComponentTestSite.vue +0 -93
- package/Workbenches/Source/Workbenches.pug +0 -97
- package/eslint.config.js +0 -29
- package/tsconfig.declarations.json +0 -4
- package/tsconfig.json +0 -24
- package/yda.config.yaml +0 -120
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
/* ─── Assets ─────────────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
2
|
-
import componentVueTemplate from "./TextBox.vue.pug";
|
|
3
|
-
|
|
4
|
-
/* ─── GUI Components ─────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
5
|
-
import InputtableControl from "../InputtableControl";
|
|
6
|
-
import ValidatableControlShell from "../../ValidatableControlShell/ValidatableControlShell.vue";
|
|
7
|
-
|
|
8
|
-
/* ─── Framework ──────────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
9
|
-
import {
|
|
10
|
-
ComponentBase as VueComponentConfiguration,
|
|
11
|
-
Prop as VueProperty
|
|
12
|
-
} from "vue-facing-decorator";
|
|
13
|
-
import {
|
|
14
|
-
isElementOfEnumeration,
|
|
15
|
-
isNonEmptyString,
|
|
16
|
-
isNonNegativeInteger,
|
|
17
|
-
type ElementOfPseudoEnumeration
|
|
18
|
-
} from "@yamato-daiwa/es-extensions";
|
|
19
|
-
|
|
20
|
-
/* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
21
|
-
import YDF_ComponentsCoordinator from "../../../YDF_ComponentsCoordinator";
|
|
22
|
-
import OptionalButNotNullableVueProperty from "../../../_Decorators/OptionalButNotNullableVueProperty";
|
|
23
|
-
import validateVuePropertyAndLogIfInvalid from "../../../_Utils/validateVuePropertyAndLogIfInvalid";
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
@VueComponentConfiguration({
|
|
27
|
-
name: TextBox.CSS_NAMESPACE,
|
|
28
|
-
template: componentVueTemplate,
|
|
29
|
-
components: {
|
|
30
|
-
ValidatableControlShell
|
|
31
|
-
}
|
|
32
|
-
})
|
|
33
|
-
class TextBox extends InputtableControl {
|
|
34
|
-
|
|
35
|
-
/* ━━━ Static Fields ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
|
|
36
|
-
public static CSS_NAMESPACE: string = "TextBox--YDF";
|
|
37
|
-
|
|
38
|
-
public static HTML_Types: TextBox.HTML_Types = {
|
|
39
|
-
regular: "text",
|
|
40
|
-
email: "email",
|
|
41
|
-
number: "number",
|
|
42
|
-
password: "password",
|
|
43
|
-
phoneNumber: "tel",
|
|
44
|
-
URI: "url"
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
/* ━━━ Component Common Properties ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
|
|
49
|
-
@VueProperty({
|
|
50
|
-
type: String,
|
|
51
|
-
default: TextBox.HTML_Types.regular,
|
|
52
|
-
validator: validateVuePropertyAndLogIfInvalid({
|
|
53
|
-
checker: (rawValue: string): boolean => isElementOfEnumeration(rawValue, TextBox.HTML_Types),
|
|
54
|
-
message: "Must be the element of `TextBox.HTML_Types` enumeration."
|
|
55
|
-
})
|
|
56
|
-
})
|
|
57
|
-
@OptionalButNotNullableVueProperty
|
|
58
|
-
protected HTML_Type!: ElementOfPseudoEnumeration<TextBox.HTML_Types>;
|
|
59
|
-
|
|
60
|
-
@VueProperty({
|
|
61
|
-
validator: validateVuePropertyAndLogIfInvalid({
|
|
62
|
-
checker: isNonEmptyString,
|
|
63
|
-
message: "If string specified it must be non-empty"
|
|
64
|
-
})
|
|
65
|
-
})
|
|
66
|
-
@OptionalButNotNullableVueProperty
|
|
67
|
-
protected readonly placeholder?: string;
|
|
68
|
-
|
|
69
|
-
/** @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill */
|
|
70
|
-
@VueProperty({
|
|
71
|
-
validator: validateVuePropertyAndLogIfInvalid({
|
|
72
|
-
checker: isNonEmptyString,
|
|
73
|
-
message: "If string specified it must be non-empty"
|
|
74
|
-
})
|
|
75
|
-
})
|
|
76
|
-
@OptionalButNotNullableVueProperty
|
|
77
|
-
protected readonly autocomplete?: string;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
/* ─── Multi Line Mode ──────────────────────────────────────────────────────────────────────────────────────────── */
|
|
81
|
-
@VueProperty({ type: Boolean, default: false })
|
|
82
|
-
@OptionalButNotNullableVueProperty
|
|
83
|
-
protected readonly multiline!: boolean;
|
|
84
|
-
|
|
85
|
-
@VueProperty({ type: Boolean, default: true })
|
|
86
|
-
@OptionalButNotNullableVueProperty
|
|
87
|
-
protected readonly autoResizingForMultilineMode!: boolean;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
/* ─── Invalid Value Prevention ─────────────────────────────────────────────────────────────────────────────────── */
|
|
91
|
-
@VueProperty({
|
|
92
|
-
type: Number,
|
|
93
|
-
validator: validateVuePropertyAndLogIfInvalid({
|
|
94
|
-
checker: isNonNegativeInteger,
|
|
95
|
-
message: "If specified must be the positive integer or 0"
|
|
96
|
-
})
|
|
97
|
-
})
|
|
98
|
-
@OptionalButNotNullableVueProperty
|
|
99
|
-
protected readonly minimalCharactersCount?: number | null;
|
|
100
|
-
|
|
101
|
-
@VueProperty({
|
|
102
|
-
type: Number,
|
|
103
|
-
validator: validateVuePropertyAndLogIfInvalid({
|
|
104
|
-
checker: isNonNegativeInteger,
|
|
105
|
-
message: "If specified must be the positive integer or 0"
|
|
106
|
-
})
|
|
107
|
-
})
|
|
108
|
-
@OptionalButNotNullableVueProperty
|
|
109
|
-
protected readonly maximalCharactersCount?: number | null;
|
|
110
|
-
|
|
111
|
-
@VueProperty({
|
|
112
|
-
type: Number,
|
|
113
|
-
validator: validateVuePropertyAndLogIfInvalid({
|
|
114
|
-
checker: isNonNegativeInteger,
|
|
115
|
-
message: "If specified must be the positive integer or 0"
|
|
116
|
-
})
|
|
117
|
-
})
|
|
118
|
-
@OptionalButNotNullableVueProperty
|
|
119
|
-
protected readonly minimalNumericValue?: number | null;
|
|
120
|
-
|
|
121
|
-
@VueProperty({
|
|
122
|
-
type: Number,
|
|
123
|
-
validator: validateVuePropertyAndLogIfInvalid({
|
|
124
|
-
checker: isNonNegativeInteger,
|
|
125
|
-
message: "If specified must be the positive integer or 0"
|
|
126
|
-
})
|
|
127
|
-
})
|
|
128
|
-
@OptionalButNotNullableVueProperty
|
|
129
|
-
protected readonly maximalNumericValue?: number | null;
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
/* ━━━ Theming ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
|
|
133
|
-
public static readonly Themes: ValidatableControlShell.Themes = { regular: "REGULAR" };
|
|
134
|
-
|
|
135
|
-
@VueProperty({
|
|
136
|
-
type: String,
|
|
137
|
-
default: ValidatableControlShell.Themes.regular,
|
|
138
|
-
validator: validateVuePropertyAndLogIfInvalid({
|
|
139
|
-
checker: (rawValue: string): boolean => isElementOfEnumeration(rawValue, ValidatableControlShell.Themes),
|
|
140
|
-
message:
|
|
141
|
-
"Must be the one among values of `ValidatableControlShell.Themes` associative array including the ones " +
|
|
142
|
-
"defined via `ValidatableControlShell.defineThemes()`."
|
|
143
|
-
})
|
|
144
|
-
})
|
|
145
|
-
@OptionalButNotNullableVueProperty
|
|
146
|
-
protected readonly theme!: string;
|
|
147
|
-
|
|
148
|
-
public static defineThemes(themesNames: ReadonlyArray<string>): typeof ValidatableControlShell {
|
|
149
|
-
return YDF_ComponentsCoordinator.defineThemes(themesNames, ValidatableControlShell);
|
|
150
|
-
}
|
|
151
|
-
|
|
152
|
-
public static areThemesCSS_ClassesCommon: boolean = YDF_ComponentsCoordinator.areThemesCSS_ClassesCommon;
|
|
153
|
-
|
|
154
|
-
public static considerThemesAsCommon(): void {
|
|
155
|
-
ValidatableControlShell.areThemesCSS_ClassesCommon = true;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
@VueProperty({ type: Boolean, default: ValidatableControlShell.areThemesCSS_ClassesCommon })
|
|
159
|
-
@OptionalButNotNullableVueProperty
|
|
160
|
-
private readonly areThemesCSS_ClassesCommon!: boolean;
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
/* ─── Geometry ─────────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
164
|
-
public static readonly GeometricVariations: ValidatableControlShell.GeometricVariations = {
|
|
165
|
-
regular: "REGULAR",
|
|
166
|
-
small: "SMALL"
|
|
167
|
-
};
|
|
168
|
-
|
|
169
|
-
@VueProperty({
|
|
170
|
-
type: String,
|
|
171
|
-
default: ValidatableControlShell.GeometricVariations.regular,
|
|
172
|
-
validator: validateVuePropertyAndLogIfInvalid({
|
|
173
|
-
checker: (rawValue: string): boolean => isElementOfEnumeration(rawValue, ValidatableControlShell.GeometricVariations),
|
|
174
|
-
message:
|
|
175
|
-
"Must be the one among values of `ValidatableControlShell.GeometricVariations` associative array including the ones " +
|
|
176
|
-
"defined via `ValidatableControlShell.defineGeometricVariations()`."
|
|
177
|
-
})
|
|
178
|
-
})
|
|
179
|
-
@OptionalButNotNullableVueProperty
|
|
180
|
-
protected readonly geometricVariation!: string;
|
|
181
|
-
|
|
182
|
-
public static defineGeometricVariations(geometricVariationsNames: ReadonlyArray<string>): typeof ValidatableControlShell {
|
|
183
|
-
return YDF_ComponentsCoordinator.defineGeometricVariations(geometricVariationsNames, ValidatableControlShell);
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
/* ─── Decoration ───────────────────────────────────────────────────────────────────────────────────────────────── */
|
|
188
|
-
public static readonly DecorativeVariations: ValidatableControlShell.DecorativeVariations = {
|
|
189
|
-
regular: "REGULAR"
|
|
190
|
-
};
|
|
191
|
-
|
|
192
|
-
@VueProperty({
|
|
193
|
-
type: String,
|
|
194
|
-
default: ValidatableControlShell.DecorativeVariations.regular,
|
|
195
|
-
validator: validateVuePropertyAndLogIfInvalid({
|
|
196
|
-
checker: (rawValue: string): boolean => isElementOfEnumeration(rawValue, ValidatableControlShell.DecorativeVariations),
|
|
197
|
-
message:
|
|
198
|
-
"Must be the one among values of `ValidatableControlShell.DecorativeVariations` associative array including the ones " +
|
|
199
|
-
"defined via `ValidatableControlShell.defineDecorativeVariations()`."
|
|
200
|
-
})
|
|
201
|
-
})
|
|
202
|
-
protected readonly decorativeVariation!: string;
|
|
203
|
-
|
|
204
|
-
public static defineDecorativeVariations(decorativeVariationsNames: ReadonlyArray<string>): typeof ValidatableControlShell {
|
|
205
|
-
return YDF_ComponentsCoordinator.defineDecorativeVariations(decorativeVariationsNames, ValidatableControlShell);
|
|
206
|
-
}
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
/* ━━━ CSS Classes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
|
|
210
|
-
protected get rootElementModifierCSS_Classes(): ReadonlyArray<string> {
|
|
211
|
-
return YDF_ComponentsCoordinator.generateRootElementModifierCSS_Classes({
|
|
212
|
-
CSS_Namespace: TextBox.CSS_NAMESPACE,
|
|
213
|
-
activeTheme: this.theme,
|
|
214
|
-
allThemes: TextBox.Themes,
|
|
215
|
-
areThemesCSS_ClassesCommon: this.areThemesCSS_ClassesCommon,
|
|
216
|
-
activeGeometricVariation: this.geometricVariation,
|
|
217
|
-
allGeometricVariations: TextBox.GeometricVariations,
|
|
218
|
-
activeDecorativeVariation: this.decorativeVariation,
|
|
219
|
-
allDecorativeVariations: TextBox.DecorativeVariations,
|
|
220
|
-
other: [
|
|
221
|
-
...this.multiline ? [ `${ TextBox.CSS_NAMESPACE }__Multiline` ] : [],
|
|
222
|
-
...this.disabled ? [ `${ TextBox.CSS_NAMESPACE }__DisabledState` ] : []
|
|
223
|
-
]
|
|
224
|
-
});
|
|
225
|
-
}
|
|
226
|
-
|
|
227
|
-
}
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
namespace TextBox {
|
|
231
|
-
|
|
232
|
-
export type HTML_Types = Readonly<{
|
|
233
|
-
regular: "text";
|
|
234
|
-
email: "email";
|
|
235
|
-
number: "number";
|
|
236
|
-
password: "password";
|
|
237
|
-
phoneNumber: "tel";
|
|
238
|
-
URI: "url";
|
|
239
|
-
}>;
|
|
240
|
-
|
|
241
|
-
export type Themes = {
|
|
242
|
-
readonly regular: "REGULAR";
|
|
243
|
-
[themeName: string]: string;
|
|
244
|
-
};
|
|
245
|
-
|
|
246
|
-
export type GeometricVariations = {
|
|
247
|
-
readonly regular: "REGULAR";
|
|
248
|
-
readonly small: "SMALL";
|
|
249
|
-
[geometricVariationName: string]: string;
|
|
250
|
-
};
|
|
251
|
-
|
|
252
|
-
export type DecorativeVariations = {
|
|
253
|
-
readonly regular: "REGULAR";
|
|
254
|
-
[decorativeVariationName: string]: string;
|
|
255
|
-
};
|
|
256
|
-
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
export default TextBox;
|
|
@@ -1,259 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/member-ordering -- The secondary members has been organized to the end of the class. */
|
|
2
|
-
|
|
3
|
-
import type { InputtedValueValidation } from "@yamato-daiwa/frontend";
|
|
4
|
-
import type { ComponentPublicInstance as VueComponentPublicInstance } from "vue";
|
|
5
|
-
import {
|
|
6
|
-
Logger,
|
|
7
|
-
UnexpectedEventError,
|
|
8
|
-
isArbitraryObject,
|
|
9
|
-
isUndefined,
|
|
10
|
-
isFunctionLike
|
|
11
|
-
} from "@yamato-daiwa/es-extensions";
|
|
12
|
-
import VueComponentNotFoundError from "../../_Errors/VueComponentNotFound/VueComponentNotFoundError";
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
interface ValidatableControl {
|
|
16
|
-
|
|
17
|
-
highlightInvalidInput: () => this;
|
|
18
|
-
|
|
19
|
-
getRootElementOffsetCoordinates: () => Element;
|
|
20
|
-
|
|
21
|
-
focus: () => this;
|
|
22
|
-
|
|
23
|
-
resetValidityHighlightingStateToInitial: () => ValidatableControl.RootElementOffsetCoordinates;
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
namespace ValidatableControl {
|
|
29
|
-
|
|
30
|
-
export type RootElementOffsetCoordinates = Readonly<{ top: number; left: number; }>;
|
|
31
|
-
|
|
32
|
-
export function isValidatableControl(potentialValidatableControl: unknown): potentialValidatableControl is ValidatableControl {
|
|
33
|
-
return isArbitraryObject(potentialValidatableControl) &&
|
|
34
|
-
isFunctionLike(potentialValidatableControl.highlightInvalidInput) &&
|
|
35
|
-
isFunctionLike(potentialValidatableControl.getRootElementOffsetCoordinates) &&
|
|
36
|
-
isFunctionLike(potentialValidatableControl.focus) &&
|
|
37
|
-
isFunctionLike(potentialValidatableControl.resetValidityHighlightingStateToInitial);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
export function getValidatableControlInstanceByVueReferenceID(
|
|
41
|
-
compoundParameter: Readonly<{
|
|
42
|
-
parentVueComponentInstance: VueComponentPublicInstance;
|
|
43
|
-
vueReferenceID: string;
|
|
44
|
-
}>
|
|
45
|
-
): ValidatableControl | null;
|
|
46
|
-
|
|
47
|
-
export function getValidatableControlInstanceByVueReferenceID(
|
|
48
|
-
compoundParameter: Readonly<{
|
|
49
|
-
parentVueComponentInstance: VueComponentPublicInstance;
|
|
50
|
-
vueReferenceID: string;
|
|
51
|
-
mustThrowErrorIsNotFoundOrNotValidatableControl: true;
|
|
52
|
-
}>
|
|
53
|
-
): ValidatableControl;
|
|
54
|
-
|
|
55
|
-
export function getValidatableControlInstanceByVueReferenceID(
|
|
56
|
-
compoundParameter: Readonly<{
|
|
57
|
-
parentVueComponentInstance: VueComponentPublicInstance;
|
|
58
|
-
vueReferenceID: string;
|
|
59
|
-
mustThrowErrorIsNotFoundOrNotValidatableControl?: true;
|
|
60
|
-
}>
|
|
61
|
-
): ValidatableControl | null {
|
|
62
|
-
|
|
63
|
-
const potentialValidatableControl: unknown = compoundParameter.parentVueComponentInstance.
|
|
64
|
-
$refs[compoundParameter.vueReferenceID];
|
|
65
|
-
|
|
66
|
-
if (isUndefined(potentialValidatableControl)) {
|
|
67
|
-
|
|
68
|
-
if (compoundParameter.mustThrowErrorIsNotFoundOrNotValidatableControl === true) {
|
|
69
|
-
Logger.throwErrorAndLog({
|
|
70
|
-
errorInstance: new VueComponentNotFoundError({ vueReferenceID: compoundParameter.vueReferenceID }),
|
|
71
|
-
title: VueComponentNotFoundError.localization.defaultTitle,
|
|
72
|
-
occurrenceLocation: "ValidatableControl.getValidatableControlInstanceByVueReferenceID(compoundParameter)"
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
return null;
|
|
78
|
-
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
if (!isValidatableControl(potentialValidatableControl)) {
|
|
83
|
-
|
|
84
|
-
if (compoundParameter.mustThrowErrorIsNotFoundOrNotValidatableControl === true) {
|
|
85
|
-
Logger.throwErrorAndLog({
|
|
86
|
-
errorType: "VueReferenceValueIsNotValidatableControl",
|
|
87
|
-
title: "Vue reference value is not validatable control",
|
|
88
|
-
description:
|
|
89
|
-
`The Vue reference "${ compoundParameter.vueReferenceID }" is not referring to the component implementing ` +
|
|
90
|
-
"the \"ValidatableControl\" interface.",
|
|
91
|
-
occurrenceLocation: "ValidatableControl.getValidatableControlInstanceByVueReferenceID(compoundParameter)"
|
|
92
|
-
});
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
return null;
|
|
97
|
-
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
return potentialValidatableControl;
|
|
102
|
-
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
export class Payload<ValidValue, InvalidValue, Validation extends InputtedValueValidation> {
|
|
107
|
-
|
|
108
|
-
public readonly ID: string;
|
|
109
|
-
public readonly VUE_REFERENCE_ID: string;
|
|
110
|
-
|
|
111
|
-
public readonly value: ValidValue | InvalidValue;
|
|
112
|
-
public readonly validation: Validation;
|
|
113
|
-
public readonly lastChangeSourceID?: string;
|
|
114
|
-
|
|
115
|
-
private readonly validationResult: InputtedValueValidation.Result;
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
public static createInitialInstance<ValidValue, InvalidValue, Validation extends InputtedValueValidation>(
|
|
119
|
-
compoundParameter: Readonly<{
|
|
120
|
-
initialValue: ValidValue | InvalidValue;
|
|
121
|
-
validation: Validation;
|
|
122
|
-
vueReferenceID?: string;
|
|
123
|
-
}>
|
|
124
|
-
): Payload<ValidValue, InvalidValue, Validation> {
|
|
125
|
-
return new Payload<ValidValue, InvalidValue, Validation>({
|
|
126
|
-
value: compoundParameter.initialValue,
|
|
127
|
-
validation: compoundParameter.validation,
|
|
128
|
-
vueReferenceID: compoundParameter.vueReferenceID
|
|
129
|
-
});
|
|
130
|
-
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
private constructor(
|
|
134
|
-
{
|
|
135
|
-
ID,
|
|
136
|
-
vueReferenceID,
|
|
137
|
-
value,
|
|
138
|
-
validation,
|
|
139
|
-
summarizingValidationErrorsMessages = [],
|
|
140
|
-
lastChangeSourceID
|
|
141
|
-
}: Readonly<{
|
|
142
|
-
|
|
143
|
-
/** @description Immutable for each instance. */
|
|
144
|
-
value: ValidValue | InvalidValue;
|
|
145
|
-
validation: Validation;
|
|
146
|
-
|
|
147
|
-
summarizingValidationErrorsMessages?: ReadonlyArray<string>;
|
|
148
|
-
lastChangeSourceID?: string;
|
|
149
|
-
|
|
150
|
-
/** @description Need to be kept when creating the new instance based on outdated one. */
|
|
151
|
-
ID?: string;
|
|
152
|
-
vueReferenceID?: string;
|
|
153
|
-
|
|
154
|
-
}>
|
|
155
|
-
) {
|
|
156
|
-
|
|
157
|
-
this.ID = ID ?? Payload.generateSelfID();
|
|
158
|
-
this.VUE_REFERENCE_ID = vueReferenceID ?? Payload.generateAssociatedComponentVueReferenceID();
|
|
159
|
-
|
|
160
|
-
this.value = value;
|
|
161
|
-
this.validation = validation;
|
|
162
|
-
this.lastChangeSourceID = lastChangeSourceID;
|
|
163
|
-
|
|
164
|
-
if (summarizingValidationErrorsMessages.length === 0) {
|
|
165
|
-
this.validationResult = validation.validate(this.value);
|
|
166
|
-
} else {
|
|
167
|
-
|
|
168
|
-
const validationResult: InputtedValueValidation.Result = validation.validate(this.value);
|
|
169
|
-
|
|
170
|
-
const validationErrorsMessages: ReadonlyArray<string> = [
|
|
171
|
-
...validationResult.isValid ? [] : validationResult.errorsMessages, ...summarizingValidationErrorsMessages
|
|
172
|
-
];
|
|
173
|
-
|
|
174
|
-
this.validationResult = {
|
|
175
|
-
errorsMessages: validationErrorsMessages,
|
|
176
|
-
isValid: validationErrorsMessages.length === 0
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
}
|
|
180
|
-
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
public getComponentInstance(ownerComponent: VueComponentPublicInstance): ValidatableControl {
|
|
184
|
-
return getValidatableControlInstanceByVueReferenceID({
|
|
185
|
-
vueReferenceID: this.VUE_REFERENCE_ID,
|
|
186
|
-
parentVueComponentInstance: ownerComponent,
|
|
187
|
-
mustThrowErrorIsNotFoundOrNotValidatableControl: true
|
|
188
|
-
});
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
public get validationErrorsMessages(): Array<string> {
|
|
192
|
-
return this.validationResult.isValid ? [] : [ ...this.validationResult.errorsMessages ];
|
|
193
|
-
}
|
|
194
|
-
|
|
195
|
-
public get isInvalid(): boolean {
|
|
196
|
-
return !this.validationResult.isValid;
|
|
197
|
-
}
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
public getExpectedToBeValidValue(): ValidValue {
|
|
201
|
-
|
|
202
|
-
if (this.isInvalid) {
|
|
203
|
-
Logger.throwErrorAndLog({
|
|
204
|
-
errorInstance: new UnexpectedEventError(
|
|
205
|
-
"Contrary os expectations, the value of the validatable control payload is still invalid."
|
|
206
|
-
),
|
|
207
|
-
title: UnexpectedEventError.localization.defaultTitle,
|
|
208
|
-
occurrenceLocation: "ValidatableControl.Payload.getExpectedToBeValidValue()"
|
|
209
|
-
});
|
|
210
|
-
}
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
/* eslint-disable-next-line @typescript-eslint/consistent-type-assertions, @typescript-eslint/no-unsafe-type-assertion --
|
|
214
|
-
* In this case, we are guarantee the ValidValue by "this.isInvalid" check */
|
|
215
|
-
return this.value as ValidValue;
|
|
216
|
-
|
|
217
|
-
}
|
|
218
|
-
|
|
219
|
-
public updateImmutably(
|
|
220
|
-
{
|
|
221
|
-
newValue
|
|
222
|
-
}: {
|
|
223
|
-
newValue: ValidValue | InvalidValue;
|
|
224
|
-
}
|
|
225
|
-
): Payload<ValidValue, InvalidValue, Validation> {
|
|
226
|
-
return new Payload<ValidValue, InvalidValue, Validation>({
|
|
227
|
-
value: newValue,
|
|
228
|
-
validation: this.validation
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
/* ━━━ Routines ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
|
|
234
|
-
/* ─── IDs generating ─────────────────────────────────────────────────────────────────────────────────────────── */
|
|
235
|
-
protected static counterForSelfID_Generating: number = 0;
|
|
236
|
-
|
|
237
|
-
protected static generateSelfID(): string {
|
|
238
|
-
Payload.counterForSelfID_Generating++;
|
|
239
|
-
return `${ Payload.counterForSelfID_Generating }`;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
protected static counterForAssociatedComponentVueReferenceID_Generating: number = 0;
|
|
243
|
-
|
|
244
|
-
protected static generateAssociatedComponentVueReferenceID(): string {
|
|
245
|
-
Payload.counterForAssociatedComponentVueReferenceID_Generating++;
|
|
246
|
-
return `VALIDATABLE_CONTROL-${ Payload.counterForAssociatedComponentVueReferenceID_Generating }`;
|
|
247
|
-
}
|
|
248
|
-
|
|
249
|
-
}
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
export function VModelChecker(rawVModel: unknown, valueChecker: (rawValue: unknown) => boolean): boolean {
|
|
253
|
-
return isArbitraryObject(rawVModel) ? valueChecker(rawVModel.value) : false;
|
|
254
|
-
}
|
|
255
|
-
|
|
256
|
-
}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
export default ValidatableControl;
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
<template lang="pug">
|
|
2
|
-
|
|
3
|
-
component.OverflowSafeSingleLineLabel(
|
|
4
|
-
:is="rootElementTag"
|
|
5
|
-
)
|
|
6
|
-
span.OverflowSafeSingleLineLabel-TextWithIncreasedLineHeight
|
|
7
|
-
slot
|
|
8
|
-
|
|
9
|
-
</template>
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
<script lang="ts">
|
|
13
|
-
|
|
14
|
-
import { Component as VueComponentOptions, Vue as VueComponent, Prop as VueProperty } from "vue-facing-decorator";
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
@VueComponentOptions({ name: "OverflowSafeSingleLineLabel--YDF" })
|
|
18
|
-
export default class OverflowSafeSingleLineLabel extends VueComponent {
|
|
19
|
-
|
|
20
|
-
@VueProperty({ type: String, default: "div" })
|
|
21
|
-
protected readonly rootElementTag!: string;
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
</script>
|
|
@@ -1,118 +0,0 @@
|
|
|
1
|
-
<template lang="pug">
|
|
2
|
-
|
|
3
|
-
ul.ThemesShowcase--YDF
|
|
4
|
-
|
|
5
|
-
li(
|
|
6
|
-
v-for="(themeValue, themeKey) of themes"
|
|
7
|
-
:key="`THEME-${ themeKey }`"
|
|
8
|
-
)
|
|
9
|
-
|
|
10
|
-
span.ThemesShowcase--YDF-Label {{ themeKeyLabelPrefix }}{{ themeKey }}
|
|
11
|
-
|
|
12
|
-
ul.ThemesShowcase--YDF-ChildList
|
|
13
|
-
|
|
14
|
-
li(
|
|
15
|
-
v-for="(geometricVariationValue, geometricVariationKey) of geometricVariations"
|
|
16
|
-
:key="`GEOMETRIC_VARIATION-${ themeKey }-${ geometricVariationKey }`"
|
|
17
|
-
)
|
|
18
|
-
|
|
19
|
-
span.ThemesShowcase--YDF-Label {{ geometricVariationLabelPrefix }}{{ geometricVariationKey }}
|
|
20
|
-
|
|
21
|
-
component.ThemesShowcase--YDF-ChildList(
|
|
22
|
-
:is="decorativeVariationsWrapperTag"
|
|
23
|
-
:class="decorativeVariationsWrapperAdditionalCSS_Classes"
|
|
24
|
-
)
|
|
25
|
-
|
|
26
|
-
template(
|
|
27
|
-
v-for="(decorativeVariationValue, decorativeVariationKey) of decorativeVariations"
|
|
28
|
-
:key="`DECORATIVE_VARIATION-${ themeKey }-${ decorativeVariationKey }`"
|
|
29
|
-
)
|
|
30
|
-
|
|
31
|
-
li(
|
|
32
|
-
v-if="decorativeVariationsWrapperTag === 'ul'"
|
|
33
|
-
)
|
|
34
|
-
|
|
35
|
-
span.ThemesShowcase--YDF-Label {{ decorativeVariationLabelPrefix }}{{ decorativeVariationKey }}
|
|
36
|
-
|
|
37
|
-
slot(
|
|
38
|
-
:theme="{ key: themeKey, value: themeValue }"
|
|
39
|
-
:geometricVariation="{ key: geometricVariationKey, value: geometricVariationValue }"
|
|
40
|
-
:decorativeVariation="{ key: decorativeVariationKey, value: decorativeVariationValue }"
|
|
41
|
-
)
|
|
42
|
-
|
|
43
|
-
template(
|
|
44
|
-
v-else
|
|
45
|
-
)
|
|
46
|
-
|
|
47
|
-
slot(
|
|
48
|
-
:theme="{ key: themeKey, value: themeValue }"
|
|
49
|
-
:geometricVariation="{ key: geometricVariationKey, value: geometricVariationValue }"
|
|
50
|
-
:decorativeVariation="{ key: decorativeVariationKey, value: decorativeVariationValue }"
|
|
51
|
-
)
|
|
52
|
-
|
|
53
|
-
</template>
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
<script lang="ts">
|
|
57
|
-
|
|
58
|
-
import { Component as VueComponentOptions, Vue as VueComponent, Prop as VueProperty } from "vue-facing-decorator";
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
@VueComponentOptions({
|
|
62
|
-
name: "ThemesShowcase--YDF"
|
|
63
|
-
})
|
|
64
|
-
export default class ThemesShowcase extends VueComponent {
|
|
65
|
-
|
|
66
|
-
@VueProperty({
|
|
67
|
-
type: Object,
|
|
68
|
-
required: true
|
|
69
|
-
})
|
|
70
|
-
protected readonly themes!: Readonly<{ [themeKey: string]: string; }>;
|
|
71
|
-
|
|
72
|
-
@VueProperty({
|
|
73
|
-
type: String,
|
|
74
|
-
required: false
|
|
75
|
-
})
|
|
76
|
-
protected readonly themeKeyLabelPrefix?: string;
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
@VueProperty({
|
|
80
|
-
type: Object,
|
|
81
|
-
required: true
|
|
82
|
-
})
|
|
83
|
-
protected readonly geometricVariations!: Readonly<{ [themeKey: string]: string; }>;
|
|
84
|
-
|
|
85
|
-
@VueProperty({
|
|
86
|
-
type: String,
|
|
87
|
-
required: false
|
|
88
|
-
})
|
|
89
|
-
protected readonly geometricVariationLabelPrefix?: string;
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
@VueProperty({
|
|
93
|
-
type: Object,
|
|
94
|
-
required: true
|
|
95
|
-
})
|
|
96
|
-
protected readonly decorativeVariations!: Readonly<{ [themeKey: string]: string; }>;
|
|
97
|
-
|
|
98
|
-
@VueProperty({
|
|
99
|
-
type: String,
|
|
100
|
-
required: false
|
|
101
|
-
})
|
|
102
|
-
protected readonly decorativeVariationLabelPrefix?: string;
|
|
103
|
-
|
|
104
|
-
@VueProperty({
|
|
105
|
-
type: String,
|
|
106
|
-
default: "ul"
|
|
107
|
-
})
|
|
108
|
-
protected readonly decorativeVariationsWrapperTag!: string;
|
|
109
|
-
|
|
110
|
-
@VueProperty({
|
|
111
|
-
type: Array,
|
|
112
|
-
required: false
|
|
113
|
-
})
|
|
114
|
-
protected readonly decorativeVariationsWrapperAdditionalCSS_Classes?: ReadonlyArray<string>;
|
|
115
|
-
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
</script>
|