@yamato-daiwa/frontend-vue 0.3.0-alpha.1 → 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.

Files changed (279) hide show
  1. package/Distributable/Functions/Routing/extractVueRouteQueryParameterAsArray.d.ts +6 -0
  2. package/Distributable/Functions/getElementByVueReference.d.ts +23 -0
  3. package/Distributable/GUI_Components/AdmonitionBlock/AdmonitionBlock.vue.d.ts +52 -0
  4. package/Distributable/GUI_Components/AdmonitionBlock/AdmonitionBlockLogic.vue.d.ts +51 -0
  5. package/Distributable/GUI_Components/Badge/Badge.vue.d.ts +61 -0
  6. package/Distributable/GUI_Components/Badge/LoadingPlaceholder/Badge-LoadingPlaceholder.vue.d.ts +10 -0
  7. package/Distributable/GUI_Components/ComponentsAuxiliaries.d.ts +42 -0
  8. package/Distributable/GUI_Components/Controls/Buttons/Closing/ClosingButton.vue.d.ts +54 -0
  9. package/Distributable/GUI_Components/Controls/Buttons/HamburgerMenu/HamburgerMenuButton-ForInheritance.vue.d.ts +56 -0
  10. package/Distributable/GUI_Components/Controls/Buttons/HamburgerMenu/HamburgerMenuButton.vue.d.ts +55 -0
  11. package/Distributable/GUI_Components/Controls/Buttons/Plain/Button.vue.d.ts +88 -0
  12. package/Distributable/GUI_Components/Controls/Buttons/Plain/LoadingPlaceholder/Button-LoadingPlaceholder.vue.d.ts +10 -0
  13. package/Distributable/GUI_Components/Controls/InputtableControl.d.ts +17 -0
  14. package/Distributable/GUI_Components/Controls/ValidatableControl.d.ts +51 -0
  15. package/Distributable/GUI_Components/Controls/ValidatableControlShell/ValidatableControlShell.vue.d.ts +92 -0
  16. package/Distributable/GUI_Components/Controls/Validatables/InputtableControl.d.ts +25 -0
  17. package/Distributable/GUI_Components/Controls/Validatables/InputtableControl.vue.d.ts +25 -0
  18. package/Distributable/GUI_Components/Controls/Validatables/TextBox/TextBox.vue.d.ts +124 -0
  19. package/Distributable/GUI_Components/Controls/Validatables/ValidatableControl.d.ts +54 -0
  20. package/Distributable/GUI_Components/Controls/Validatables/ValidatableControlsGroup.d.ts +38 -0
  21. package/Distributable/GUI_Components/YDF_ComponentsCoordinator.d.ts +103 -0
  22. package/Distributable/GUI_Components/_Decorators/AccessibleFromTemplateAsNonReactive.d.ts +2 -0
  23. package/Distributable/GUI_Components/_Decorators/NonReactiveData.d.ts +1 -0
  24. package/Distributable/GUI_Components/_Decorators/NonReactiveVueData.d.ts +1 -0
  25. package/Distributable/GUI_Components/_Decorators/OptionalButNotNullableVueProperty.d.ts +2 -0
  26. package/Distributable/GUI_Components/_Decorators/preventNullForOptionalVueProperty.d.ts +2 -0
  27. package/Distributable/GUI_Components/_Errors/ForbiddenNullValueOfOptionalVueProperty/ForbiddenNullValueOfOptionalVuePropertyError.d.ts +19 -0
  28. package/Distributable/GUI_Components/_Errors/ForbiddenNullValueOfOptionalVueProperty/ForbiddenNullValueOfOptionalVuePropertyErrorLocalization.english.d.ts +3 -0
  29. package/Distributable/GUI_Components/_Errors/InvalidVuePropertiesCombination/InvalidVuePropertiesCombinationError.d.ts +19 -0
  30. package/Distributable/GUI_Components/_Errors/InvalidVuePropertiesCombination/InvalidVuePropertiesCombinationErrorLocalization.english.d.ts +3 -0
  31. package/Distributable/GUI_Components/_Errors/InvalidVueProperty/InvalidVuePropertyError.d.ts +20 -0
  32. package/Distributable/GUI_Components/_Errors/InvalidVueProperty/InvalidVuePropertyErrorLocalization.english.d.ts +3 -0
  33. package/Distributable/GUI_Components/_Errors/VueComponentImplementationHasNotBeenSet/VueComponentImplementationHasNotBeenSet.d.ts +18 -0
  34. package/Distributable/GUI_Components/_Errors/VueComponentImplementationHasNotBeenSet/VueComponentImplementationHasNotBeenSetErrorLocalization.english.d.ts +3 -0
  35. package/Distributable/GUI_Components/_Errors/VueComponentNotFound/VueComponentNotFoundError.d.ts +22 -0
  36. package/Distributable/GUI_Components/_Errors/VueComponentNotFound/VueComponentNotFoundErrorLocalization.english.d.ts +3 -0
  37. package/Distributable/GUI_Components/_Utils/VuePropertiesValidationMessagesGenerators/generateInvalidDecorativeVariationVuePropertyValidationMessage.d.ts +4 -0
  38. package/Distributable/GUI_Components/_Utils/VuePropertiesValidationMessagesGenerators/generateInvalidGeometricVariationVuePropertyValidationMessage.d.ts +4 -0
  39. package/Distributable/GUI_Components/_Utils/VuePropertiesValidationMessagesGenerators/generateInvalidThemeVuePropertyValidationMessage.d.ts +4 -0
  40. package/Distributable/GUI_Components/_Utils/VuePropertiesValidationMessagesGenerators/generateVuePropertyMustBeEitherEmptyStringOrUndefinedValidationMessage.d.ts +2 -0
  41. package/Distributable/GUI_Components/_Utils/VuePropertiesValidationMessagesGenerators/generateVuePropertyMustBeNonEmptyStringOrUndefinedValidationMessage.d.ts +2 -0
  42. package/Distributable/GUI_Components/_Utils/validateVuePropertyAndLogIfInvalid.d.ts +4 -0
  43. package/Distributable/GUI_Components/_VuePropertiesValidators/BooleanVuePropertyValidator.d.ts +5 -0
  44. package/Distributable/GUI_Components/_VuePropertiesValidators/DecorativeModifiersVuePropertyValidator.d.ts +6 -0
  45. package/Distributable/GUI_Components/_VuePropertiesValidators/DecorativeVariationVuePropertyValidator.d.ts +6 -0
  46. package/Distributable/GUI_Components/_VuePropertiesValidators/ElementOfEnumerationVuePropertyValidator.d.ts +9 -0
  47. package/Distributable/GUI_Components/_VuePropertiesValidators/GeometricModifiersVuePropertyValidator.d.ts +6 -0
  48. package/Distributable/GUI_Components/_VuePropertiesValidators/GeometricVariationVuePropertyValidator.d.ts +6 -0
  49. package/Distributable/GUI_Components/_VuePropertiesValidators/NaturalNumberOrZeroVuePropertyValidator.d.ts +5 -0
  50. package/Distributable/GUI_Components/_VuePropertiesValidators/NonEmptyStringVuePropertyValidator.d.ts +5 -0
  51. package/Distributable/GUI_Components/_VuePropertiesValidators/ThemeVuePropertyValidator.d.ts +6 -0
  52. package/Distributable/GUI_Components/_VuePropertiesValidators/VuePropertyValidator.d.ts +10 -0
  53. package/{Source/index.ts → Distributable/index.d.ts} +151 -233
  54. package/Distributable/index.js +1 -0
  55. package/package.json +4 -1
  56. package/.idea/.name +0 -1
  57. package/.idea/Main.iml +0 -12
  58. package/.idea/codeStyles/codeStyleConfig.xml +0 -5
  59. package/.idea/file.template.settings.xml +0 -8
  60. package/.idea/fileTemplates/SVG Icon component.vue +0 -16
  61. package/.idea/icon.svg +0 -1
  62. package/.idea/inspectionProfiles/Project_Default.xml +0 -11
  63. package/.idea/misc.xml +0 -5
  64. package/.idea/modules.xml +0 -8
  65. package/.idea/runConfigurations/Generate_TypeScript_Types.xml +0 -12
  66. package/.idea/runConfigurations/Lint.xml +0 -12
  67. package/.idea/runConfigurations/Rebuild_Distributable.xml +0 -12
  68. package/.idea/runConfigurations/Start_Workbenches.xml +0 -12
  69. package/.idea/vcs.xml +0 -6
  70. package/.pug-lintrc +0 -4
  71. package/Project.d.ts +0 -10
  72. package/Source/Functions/Routing/extractVueRouteQueryParameterAsArray.ts +0 -65
  73. package/Source/Functions/getElementByVueReference.ts +0 -127
  74. package/Source/GUI_Components/AdmonitionBlock/AdmonitionBlock.vue +0 -67
  75. package/Source/GUI_Components/AdmonitionBlock/AdmonitionBlock.vue.d.ts +0 -48
  76. package/Source/GUI_Components/AdmonitionBlock/AdmonitionBlockLogic.vue.ts +0 -254
  77. package/Source/GUI_Components/Badge/Badge.vue.pug +0 -12
  78. package/Source/GUI_Components/Badge/Badge.vue.ts +0 -240
  79. package/Source/GUI_Components/Badge/LoadingPlaceholder/Badge-LoadingPlaceholder.vue.pug +0 -3
  80. package/Source/GUI_Components/Badge/LoadingPlaceholder/Badge-LoadingPlaceholder.vue.ts +0 -93
  81. package/Source/GUI_Components/Controls/Buttons/Closing/ClosingButton.vue.pug +0 -1
  82. package/Source/GUI_Components/Controls/Buttons/Closing/ClosingButton.vue.ts +0 -224
  83. package/Source/GUI_Components/Controls/Buttons/HamburgerMenu/HamburgerMenuButton-ForInheritance.vue.ts +0 -253
  84. package/Source/GUI_Components/Controls/Buttons/HamburgerMenu/HamburgerMenuButton.vue +0 -24
  85. package/Source/GUI_Components/Controls/Buttons/HamburgerMenu/HamburgerMenuButton.vue.d.ts +0 -45
  86. package/Source/GUI_Components/Controls/Buttons/HamburgerMenu/HamburgerMenuButton.vue.pug +0 -0
  87. package/Source/GUI_Components/Controls/Buttons/Plain/Button.vue.pug +0 -70
  88. package/Source/GUI_Components/Controls/Buttons/Plain/Button.vue.ts +0 -464
  89. package/Source/GUI_Components/Controls/Buttons/Plain/LoadingPlaceholder/Button-LoadingPlaceholder.vue.pug +0 -3
  90. package/Source/GUI_Components/Controls/Buttons/Plain/LoadingPlaceholder/Button-LoadingPlaceholder.vue.ts +0 -82
  91. package/Source/GUI_Components/Controls/ValidatableControlShell/ValidatableControlShell.vue.pug +0 -64
  92. package/Source/GUI_Components/Controls/ValidatableControlShell/ValidatableControlShell.vue.ts +0 -478
  93. package/Source/GUI_Components/Controls/Validatables/InputtableControl.vue.ts +0 -233
  94. package/Source/GUI_Components/Controls/Validatables/TextBox/TextBox.vue.pug +0 -67
  95. package/Source/GUI_Components/Controls/Validatables/TextBox/TextBox.vue.ts +0 -702
  96. package/Source/GUI_Components/Controls/Validatables/ValidatableControl.ts +0 -268
  97. package/Source/GUI_Components/Controls/Validatables/ValidatableControlsGroup.ts +0 -176
  98. package/Source/GUI_Components/OverflowSafeSingleLineLabel.vue +0 -32
  99. package/Source/GUI_Components/ThemesShowcase.vue +0 -123
  100. package/Source/GUI_Components/YDF_ComponentsCoordinator.ts +0 -317
  101. package/Source/GUI_Components/_Decorators/AccessibleFromTemplateAsNonReactive.ts +0 -67
  102. package/Source/GUI_Components/_Decorators/NonReactiveVueData.ts +0 -26
  103. package/Source/GUI_Components/_Decorators/preventNullForOptionalVueProperty.ts +0 -64
  104. package/Source/GUI_Components/_Errors/ForbiddenNullValueOfOptionalVueProperty/ForbiddenNullValueOfOptionalVuePropertyError.ts +0 -47
  105. package/Source/GUI_Components/_Errors/ForbiddenNullValueOfOptionalVueProperty/ForbiddenNullValueOfOptionalVuePropertyErrorLocalization.english.ts +0 -24
  106. package/Source/GUI_Components/_Errors/InvalidVuePropertiesCombination/InvalidVuePropertiesCombinationError.ts +0 -40
  107. package/Source/GUI_Components/_Errors/InvalidVuePropertiesCombination/InvalidVuePropertiesCombinationErrorLocalization.english.ts +0 -15
  108. package/Source/GUI_Components/_Errors/InvalidVueProperty/InvalidVuePropertyError.ts +0 -43
  109. package/Source/GUI_Components/_Errors/InvalidVueProperty/InvalidVuePropertyErrorLocalization.english.ts +0 -16
  110. package/Source/GUI_Components/_Errors/VueComponentImplementationHasNotBeenSet/VueComponentImplementationHasNotBeenSet.ts +0 -39
  111. package/Source/GUI_Components/_Errors/VueComponentImplementationHasNotBeenSet/VueComponentImplementationHasNotBeenSetErrorLocalization.english.ts +0 -17
  112. package/Source/GUI_Components/_Errors/VueComponentNotFound/VueComponentNotFoundError.ts +0 -46
  113. package/Source/GUI_Components/_Errors/VueComponentNotFound/VueComponentNotFoundErrorLocalization.english.ts +0 -22
  114. package/Source/GUI_Components/_VuePropertiesValidators/BooleanVuePropertyValidator.ts +0 -25
  115. package/Source/GUI_Components/_VuePropertiesValidators/DecorativeModifiersVuePropertyValidator.ts +0 -22
  116. package/Source/GUI_Components/_VuePropertiesValidators/DecorativeVariationVuePropertyValidator.ts +0 -23
  117. package/Source/GUI_Components/_VuePropertiesValidators/ElementOfEnumerationVuePropertyValidator.ts +0 -29
  118. package/Source/GUI_Components/_VuePropertiesValidators/GeometricModifiersVuePropertyValidator.ts +0 -22
  119. package/Source/GUI_Components/_VuePropertiesValidators/GeometricVariationVuePropertyValidator.ts +0 -23
  120. package/Source/GUI_Components/_VuePropertiesValidators/NaturalNumberOrZeroVuePropertyValidator.ts +0 -25
  121. package/Source/GUI_Components/_VuePropertiesValidators/NonEmptyStringVuePropertyValidator.ts +0 -25
  122. package/Source/GUI_Components/_VuePropertiesValidators/ThemeVuePropertyValidator.ts +0 -23
  123. package/Source/GUI_Components/_VuePropertiesValidators/VuePropertyValidator.ts +0 -51
  124. package/Source/SVG_Icons/Achievement/AchievementIcon__Filled.vue +0 -16
  125. package/Source/SVG_Icons/Achievement/AchievementIcon__Outlined.vue +0 -16
  126. package/Source/SVG_Icons/Bell/BellIcon__Filled.vue +0 -16
  127. package/Source/SVG_Icons/Bracket/CurlyBracketIcon__Closing.vue +0 -16
  128. package/Source/SVG_Icons/Bracket/CurlyBracketIcon__Opening.vue +0 -16
  129. package/Source/SVG_Icons/Bracket/RoundBracketIcon__Closing.vue +0 -16
  130. package/Source/SVG_Icons/Bracket/RoundBracketIcon__Opening.vue +0 -16
  131. package/Source/SVG_Icons/Bracket/SquareBracketIcon__Closing.vue +0 -16
  132. package/Source/SVG_Icons/Bracket/SquareBracketIcon__Opening.vue +0 -16
  133. package/Source/SVG_Icons/Calendar/CalendarIcon.vue +0 -16
  134. package/Source/SVG_Icons/Calendar/CalendarIcon__Date.vue +0 -16
  135. package/Source/SVG_Icons/Calendar/CalendarIcon__Repeat.vue +0 -16
  136. package/Source/SVG_Icons/Calendar/CalendarIcon__Time.vue +0 -16
  137. package/Source/SVG_Icons/Checkmark/CheckboxIcon__Checked.vue +0 -16
  138. package/Source/SVG_Icons/Checkmark/CheckboxIcon__Unchecked.vue +0 -16
  139. package/Source/SVG_Icons/Checkmark/CheckmarkIcon__Circled__Filled.vue +0 -16
  140. package/Source/SVG_Icons/Checkmark/CheckmarkIcon__Circled__Outlined.vue +0 -16
  141. package/Source/SVG_Icons/Chevron/ChevronIcon__Downward.vue +0 -16
  142. package/Source/SVG_Icons/Chevron/ChevronIcon__Leftward.vue +0 -16
  143. package/Source/SVG_Icons/Chevron/ChevronIcon__Rightward.vue +0 -16
  144. package/Source/SVG_Icons/Chevron/ChevronIcon__Upward.vue +0 -16
  145. package/Source/SVG_Icons/Comment/CommentIcon__Dots__Filled.vue +0 -16
  146. package/Source/SVG_Icons/Comment/CommentIcon__Dots__Outlined.vue +0 -16
  147. package/Source/SVG_Icons/Comment/CommentIcon__Lines__Filled.vue +0 -16
  148. package/Source/SVG_Icons/Comment/CommentIcon__Lines__Outlined.vue +0 -16
  149. package/Source/SVG_Icons/Comment/CommentIcon__Minus__Filled.vue +0 -16
  150. package/Source/SVG_Icons/Comment/CommentIcon__Minus__Outlined.vue +0 -16
  151. package/Source/SVG_Icons/Comment/CommentIcon__Pen__Filled.vue +0 -16
  152. package/Source/SVG_Icons/Comment/CommentIcon__Pen__Outlined.vue +0 -16
  153. package/Source/SVG_Icons/Comment/CommentIcon__Plus__Filled.vue +0 -16
  154. package/Source/SVG_Icons/Comment/CommentIcon__Plus__Outlined.vue +0 -16
  155. package/Source/SVG_Icons/Comment/CommentIcon__Qotemark__Filled.vue +0 -16
  156. package/Source/SVG_Icons/Comment/CommentIcon__Qotemark__Outlined.vue +0 -16
  157. package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Circled__Filled.vue +0 -16
  158. package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Circled__Outlined.vue +0 -16
  159. package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Octagoned__Filled.vue +0 -16
  160. package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Octagoned__Outlined.vue +0 -16
  161. package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Rectangled__Filled.vue +0 -16
  162. package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Rectangled__Outlined.vue +0 -16
  163. package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Triangled__Filled.vue +0 -16
  164. package/Source/SVG_Icons/ExclamationMark/ExclamationMarkIcon__Triangled__Outlined.vue +0 -16
  165. package/Source/SVG_Icons/Filtering/FilteringIcon__Outlined.vue +0 -16
  166. package/Source/SVG_Icons/Folder/FolderIcon__ExclamationMark__Filled.vue +0 -16
  167. package/Source/SVG_Icons/Folder/FolderIcon__Filled.vue +0 -16
  168. package/Source/SVG_Icons/Folder/FolderIcon__MultiplicationSign__Filled.vue +0 -16
  169. package/Source/SVG_Icons/Folder/FolderIcon__Person__Filled.vue +0 -16
  170. package/Source/SVG_Icons/Folder/FolderIcon__Plus__Filled.vue +0 -16
  171. package/Source/SVG_Icons/Folder/FolderIcon__Stationery.vue +0 -16
  172. package/Source/SVG_Icons/HamburgerMenu/HamburgerMenuIcon.vue +0 -7
  173. package/Source/SVG_Icons/Heart/HeartIcon__Broken__Filled.vue +0 -16
  174. package/Source/SVG_Icons/Heart/HeartIcon__Broken__Outlined.vue +0 -16
  175. package/Source/SVG_Icons/Heart/HeartIcon__Filled.vue +0 -16
  176. package/Source/SVG_Icons/Heart/HeartIcon__Half.vue +0 -16
  177. package/Source/SVG_Icons/Heart/HeartIcon__Outlined.vue +0 -16
  178. package/Source/SVG_Icons/Inbox/InboxIcon.vue +0 -16
  179. package/Source/SVG_Icons/Inbox/InboxIcon__DownwardArrow.vue +0 -16
  180. package/Source/SVG_Icons/InfoSign/InfoSignIcon__Circled__Filled.vue +0 -16
  181. package/Source/SVG_Icons/InfoSign/InfoSignIcon__Circled__Outlined.vue +0 -16
  182. package/Source/SVG_Icons/Like/LikeIcon__Filled.vue +0 -16
  183. package/Source/SVG_Icons/Like/LikeIcon__Outlined.vue +0 -16
  184. package/Source/SVG_Icons/Like/UnlikeIcon__Filled.vue +0 -16
  185. package/Source/SVG_Icons/Like/UnlikeIcon__Outlined.vue +0 -16
  186. package/Source/SVG_Icons/List/ChecklistIcon.vue +0 -16
  187. package/Source/SVG_Icons/MagnifyingGlass/MagnifyingGlassIcon.vue +0 -16
  188. package/Source/SVG_Icons/MagnifyingGlass/ZoomInIcon__Filled.vue +0 -16
  189. package/Source/SVG_Icons/MagnifyingGlass/ZoomInIcon__Outlined.vue +0 -16
  190. package/Source/SVG_Icons/MagnifyingGlass/ZoomingInIcon__Outlined.vue +0 -16
  191. package/Source/SVG_Icons/MagnifyingGlass/ZoomingOutIcon__Filled.vue +0 -16
  192. package/Source/SVG_Icons/Mail/MailIcon__Filled.vue +0 -16
  193. package/Source/SVG_Icons/Mail/MailIcon__Outlined.vue +0 -16
  194. package/Source/SVG_Icons/MapAndLocation/LocationIcon.vue +0 -16
  195. package/Source/SVG_Icons/MapAndLocation/LocationIcon__BottomCircle.vue +0 -16
  196. package/Source/SVG_Icons/MapAndLocation/MapIcon__Clock.vue +0 -16
  197. package/Source/SVG_Icons/Menu/MenuIcon__ThreeDots__Horizontal.vue +0 -16
  198. package/Source/SVG_Icons/Menu/MenuIcon__ThreeDots__Horizontal__Circled__Filled.vue +0 -16
  199. package/Source/SVG_Icons/Menu/MenuIcon__ThreeDots__Horizontal__Circled__Outlined.vue +0 -16
  200. package/Source/SVG_Icons/Menu/MenuIcon__ThreeDots__Vertical.vue +0 -16
  201. package/Source/SVG_Icons/Menu/MenuIcon__ThreeDots__Vertical__Circled__Filled.vue +0 -16
  202. package/Source/SVG_Icons/Menu/MenuIcon__ThreeDots__Vertical__Circled__Outlined.vue +0 -16
  203. package/Source/SVG_Icons/MultiplicationSign/MultiplicationSignIcon.vue +0 -16
  204. package/Source/SVG_Icons/MultiplicationSign/MultiplicationSignIcon__Bold.vue +0 -16
  205. package/Source/SVG_Icons/MultiplicationSign/MultiplicationSignIcon__Boxed__Filled.vue +0 -16
  206. package/Source/SVG_Icons/MultiplicationSign/MultiplicationSignIcon__Boxed__Outlined.vue +0 -16
  207. package/Source/SVG_Icons/MultiplicationSign/MultiplicationSignIcon__Octagoned__Filled.vue +0 -16
  208. package/Source/SVG_Icons/MultiplicationSign/MultiplicationSignIcon__Octagoned__Outlined.vue +0 -16
  209. package/Source/SVG_Icons/Pencil/PencilIcon__Boxed__Filled.vue +0 -16
  210. package/Source/SVG_Icons/Pencil/PencilIcon__Boxed__Outlined.vue +0 -16
  211. package/Source/SVG_Icons/Pencil/PencilIcon__Circled__Filled.vue +0 -16
  212. package/Source/SVG_Icons/Pencil/PencilIcon__Circled__Outlined.vue +0 -16
  213. package/Source/SVG_Icons/Pencil/PencilIcon__Filled.vue +0 -16
  214. package/Source/SVG_Icons/Pencil/PencilIcon__Outlined.vue +0 -16
  215. package/Source/SVG_Icons/Pencil/PencilWithLockIcon__Filled.vue +0 -16
  216. package/Source/SVG_Icons/Pencil/PencilWithLockIcon__Outlined.vue +0 -16
  217. package/Source/SVG_Icons/Pencil/PencilWithPlusSignIcon__Filled.vue +0 -16
  218. package/Source/SVG_Icons/Pencil/PencilWithPlusSignIcon__Outlined.vue +0 -16
  219. package/Source/SVG_Icons/Person/PersonIcon__Clock__Rectangled__Filled.vue +0 -16
  220. package/Source/SVG_Icons/Phone/PhoneIcon__Filled.vue +0 -16
  221. package/Source/SVG_Icons/Phone/PhoneIcon__Outlined.vue +0 -16
  222. package/Source/SVG_Icons/Phone/TelephoneIcon__Filled.vue +0 -16
  223. package/Source/SVG_Icons/QuestionMark/QuestionMarkIcon__Circled__Filled.vue +0 -16
  224. package/Source/SVG_Icons/QuestionMark/QuestionMarkIcon__Circled__Outlined.vue +0 -16
  225. package/Source/SVG_Icons/QuoteMark/QuoteMarkIcon_Upward__Outlined.vue +0 -16
  226. package/Source/SVG_Icons/QuoteMark/QuoteMarkIcon__Downward__Filled.vue +0 -16
  227. package/Source/SVG_Icons/QuoteMark/QuoteMarkIcon__Downward__Outlined.vue +0 -16
  228. package/Source/SVG_Icons/QuoteMark/QuoteMarkIcon__Upward__Filled.vue +0 -16
  229. package/Source/SVG_Icons/SocialNetworks/FacebookIcon.vue +0 -16
  230. package/Source/SVG_Icons/SocialNetworks/GoogleIcon.vue +0 -16
  231. package/Source/SVG_Icons/SocialNetworks/InstagramIcon.vue +0 -16
  232. package/Source/SVG_Icons/SocialNetworks/LinkedInIcon.vue +0 -16
  233. package/Source/SVG_Icons/SocialNetworks/RSS_Icon.vue +0 -16
  234. package/Source/SVG_Icons/SocialNetworks/RedditIcon.vue +0 -16
  235. package/Source/SVG_Icons/SocialNetworks/SkypeIcon.vue +0 -16
  236. package/Source/SVG_Icons/SocialNetworks/TwitterIcon.vue +0 -16
  237. package/Source/SVG_Icons/SocialNetworks/YouTubeIcon.vue +0 -16
  238. package/Source/SVG_Icons/Star/StarIcon__Filled.vue +0 -16
  239. package/Source/SVG_Icons/Star/StarIcon__Half.vue +0 -16
  240. package/Source/SVG_Icons/Star/StarIcon__Outlined.vue +0 -16
  241. package/Source/SVG_Icons/Star/StarIcon__Plus__Filled.vue +0 -16
  242. package/Source/SVG_Icons/Star/StarIcon__Plus__Outlined.vue +0 -16
  243. package/Source/SVG_Icons/Timeline/TimelineIcon.vue +0 -16
  244. package/Source/SVG_Icons/TrashCan/TrashCanIcon__Filled.vue +0 -16
  245. package/Source/SVG_Icons/TrashCan/TrashCanIcon__Outlined.vue +0 -16
  246. package/Source/SVG_Icons/Triangle/TriangleIcon__Downward__Circled__Filled.vue +0 -16
  247. package/Source/SVG_Icons/Triangle/TriangleIcon__Downward__Filled.vue +0 -16
  248. package/Source/SVG_Icons/Triangle/TriangleIcon__Leftward__Circled__Filled.vue +0 -16
  249. package/Source/SVG_Icons/Triangle/TriangleIcon__Leftward__Filled.vue +0 -16
  250. package/Source/SVG_Icons/Triangle/TriangleIcon__Rightward__Circled__Filled.vue +0 -16
  251. package/Source/SVG_Icons/Triangle/TriangleIcon__Rightward__Filled.vue +0 -16
  252. package/Source/SVG_Icons/Triangle/TriangleIcon__Upward__Circled__Filled.vue +0 -16
  253. package/Source/SVG_Icons/Triangle/TriangleIcon__Upward__Filled.vue +0 -16
  254. package/Workbenches/Source/Decorators/Decorators.workbench.pug +0 -20
  255. package/Workbenches/Source/Decorators/Decorators.workbench.ts +0 -5
  256. package/Workbenches/Source/Decorators/DecoratorsWorkbench.vue +0 -69
  257. package/Workbenches/Source/GUI_Components/AdmonitionBlock/AdmonitionBlock.workbench.pug +0 -20
  258. package/Workbenches/Source/GUI_Components/AdmonitionBlock/AdmonitionBlock.workbench.ts +0 -5
  259. package/Workbenches/Source/GUI_Components/AdmonitionBlock/AdmonitionBlockComponentTestSite.vue +0 -44
  260. package/Workbenches/Source/GUI_Components/Badge/Badge.workbench.pug +0 -20
  261. package/Workbenches/Source/GUI_Components/Badge/Badge.workbench.ts +0 -5
  262. package/Workbenches/Source/GUI_Components/Badge/BadgeBlockComponentTestSite.vue +0 -44
  263. package/Workbenches/Source/GUI_Components/Controls/Buttons/Plain/Button.workbench.pug +0 -20
  264. package/Workbenches/Source/GUI_Components/Controls/Buttons/Plain/Button.workbench.ts +0 -5
  265. package/Workbenches/Source/GUI_Components/Controls/Buttons/Plain/ButtonComponentTestSite.vue +0 -60
  266. package/Workbenches/Source/GUI_Components/Controls/Validatable/TextBox/TextBox.workbench.pug +0 -20
  267. package/Workbenches/Source/GUI_Components/Controls/Validatable/TextBox/TextBox.workbench.ts +0 -5
  268. package/Workbenches/Source/GUI_Components/Controls/Validatable/TextBox/TextBoxWorkbench.vue +0 -86
  269. package/Workbenches/Source/GUI_Components/Controls/ValidatableControlShell/ValidatableControlShell.workbench.pug +0 -20
  270. package/Workbenches/Source/GUI_Components/Controls/ValidatableControlShell/ValidatableControlShell.workbench.ts +0 -5
  271. package/Workbenches/Source/GUI_Components/Controls/ValidatableControlShell/ValidatableControlShellTestSite.vue +0 -68
  272. package/Workbenches/Source/GUI_Components/OverflowSafeSingleLineLabel/OverflowSafeSingleLineLabel.workbench.pug +0 -20
  273. package/Workbenches/Source/GUI_Components/OverflowSafeSingleLineLabel/OverflowSafeSingleLineLabel.workbench.ts +0 -5
  274. package/Workbenches/Source/GUI_Components/OverflowSafeSingleLineLabel/OverflowSafeSingleLineLabelComponentTestSite.vue +0 -100
  275. package/Workbenches/Source/Workbenches.pug +0 -103
  276. package/eslint.config.js +0 -44
  277. package/tsconfig.declarations.json +0 -4
  278. package/tsconfig.json +0 -21
  279. package/yda.config.yaml +0 -120
@@ -1,702 +0,0 @@
1
- /* ─── Assets ─────────────────────────────────────────────────────────────────────────────────────────────────────── */
2
- import componentVueTemplate from "./TextBox.vue.pug";
3
-
4
- /* ─── Validations ─────────────────────────────────────────────────────────────────────────────────────── */
5
- import VuePropertyValidator from "../../../_VuePropertiesValidators/VuePropertyValidator";
6
- import BooleanVuePropertyValidator from "../../../_VuePropertiesValidators/BooleanVuePropertyValidator";
7
- import ElementOfEnumerationVuePropertyValidator from "../../../_VuePropertiesValidators/ElementOfEnumerationVuePropertyValidator";
8
- import NonEmptyStringVuePropertyValidator from "../../../_VuePropertiesValidators/NonEmptyStringVuePropertyValidator";
9
- import NaturalNumberOrZeroVuePropertyValidator from "../../../_VuePropertiesValidators/NaturalNumberOrZeroVuePropertyValidator";
10
- import ThemeVuePropertyValidator from "../../../_VuePropertiesValidators/ThemeVuePropertyValidator";
11
- import GeometricVariationVuePropertyValidator from "../../../_VuePropertiesValidators/GeometricVariationVuePropertyValidator";
12
- import DecorativeVariationVuePropertyValidator from "../../../_VuePropertiesValidators/DecorativeVariationVuePropertyValidator";
13
- import preventNullForOptionalVueProperty from "../../../_Decorators/preventNullForOptionalVueProperty";
14
-
15
- /* ─── GUI Components ─────────────────────────────────────────────────────────────────────────────────────────────── */
16
- import InputtableControl from "../InputtableControl.vue";
17
- import ValidatableControlShell from "../../ValidatableControlShell/ValidatableControlShell.vue";
18
-
19
- /* ─── Framework ──────────────────────────────────────────────────────────────────────────────────────────────────── */
20
- import {
21
- ComponentBase as VueComponentConfiguration,
22
- Prop as VueProperty,
23
- Model as VModel,
24
- Emit as emitVueEvent
25
- } from "vue-facing-decorator";
26
-
27
- /* ─── Utils ──────────────────────────────────────────────────────────────────────────────────────────────────────── */
28
- import type { InputtedValueValidation } from "@yamato-daiwa/frontend";
29
- import ValidatableControl from "../ValidatableControl";
30
- import InvalidVuePropertyError from "../../../_Errors/InvalidVueProperty/InvalidVuePropertyError";
31
- import YDF_ComponentsCoordinator from "../../../YDF_ComponentsCoordinator";
32
- import getElementByVueReference from "../../../../Functions/getElementByVueReference";
33
- import AccessibleFromTemplateAsNonReactive from "../../../_Decorators/AccessibleFromTemplateAsNonReactive";
34
- import {
35
- type ElementOfPseudoEnumeration,
36
- Logger,
37
- isNumber,
38
- isString,
39
- isNull,
40
- isNotUndefined
41
- } from "@yamato-daiwa/es-extensions";
42
-
43
-
44
- @VueComponentConfiguration({
45
- name: TextBox.CSS_NAMESPACE,
46
- template: componentVueTemplate,
47
- components: {
48
- ValidatableControlShell
49
- }
50
- })
51
- class TextBox extends InputtableControl implements ValidatableControl {
52
-
53
- /* ━━━ Common Static Fields ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
54
- public static CSS_NAMESPACE: string = "TextBox--YDF";
55
-
56
- public static HTML_Types: TextBox.HTML_Types = {
57
- regular: "text",
58
- email: "email",
59
- number: "number",
60
- password: "password",
61
- phoneNumber: "tel",
62
- URI: "url"
63
- };
64
-
65
- public static ValidityHighlightingActivationModes: TextBox.ValidityHighlightingActivationModes = {
66
- immediate: "IMMEDIATE",
67
- onFirstInputtedCharacter: "ON_FIRST_INPUTTED_CHARACTER",
68
- onFocusOut: "ON_FOCUS_OUT"
69
- };
70
-
71
-
72
- /* ━━━ Component Common Parameters ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
73
- @VueProperty({
74
- default: TextBox.HTML_Types.regular,
75
- get validator(): VuePropertyValidator {
76
- return ElementOfEnumerationVuePropertyValidator({
77
- enumerationFullyQualifiedName: "Button.HTML_Types",
78
- enumeration: TextBox.HTML_Types,
79
- propertyName: "HTML_Type",
80
- componentName: TextBox.CSS_NAMESPACE,
81
- isPropertyRequired: this.required === true
82
- });
83
- }
84
- })
85
- @preventNullForOptionalVueProperty
86
- protected HTML_Type!: ElementOfPseudoEnumeration<TextBox.HTML_Types>;
87
-
88
- @VueProperty({
89
- required: false,
90
- get validator(): VuePropertyValidator {
91
- return NonEmptyStringVuePropertyValidator({
92
- propertyName: "placeholder",
93
- isPropertyRequired: this.required === true,
94
- componentName: ValidatableControlShell.CSS_NAMESPACE
95
- });
96
- }
97
- })
98
- @preventNullForOptionalVueProperty
99
- protected readonly placeholder?: string;
100
-
101
- /** @see https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill */
102
- @VueProperty({
103
- required: false,
104
- get validator(): VuePropertyValidator {
105
- return NonEmptyStringVuePropertyValidator({
106
- propertyName: "autocomplete",
107
- isPropertyRequired: this.required === true,
108
- componentName: ValidatableControlShell.CSS_NAMESPACE
109
- });
110
- }
111
- })
112
- @preventNullForOptionalVueProperty
113
- protected readonly autocomplete?: string;
114
-
115
-
116
- /* ┅┅┅ Multi Line Mode ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ */
117
- @VueProperty({
118
- default: false,
119
- get validator(): VuePropertyValidator {
120
- return BooleanVuePropertyValidator({
121
- propertyName: "multiline",
122
- componentName: TextBox.CSS_NAMESPACE,
123
- isPropertyRequired: this.required === true
124
- });
125
- }
126
- })
127
- @preventNullForOptionalVueProperty
128
- protected readonly multiline!: boolean;
129
-
130
- @VueProperty({
131
- default: true,
132
- get validator(): VuePropertyValidator {
133
- return BooleanVuePropertyValidator({
134
- propertyName: "autoResizingForMultilineMode",
135
- componentName: TextBox.CSS_NAMESPACE,
136
- isPropertyRequired: this.required === true
137
- });
138
- }
139
- })
140
- @preventNullForOptionalVueProperty
141
- protected readonly autoResizingForMultilineMode!: boolean;
142
-
143
-
144
- /* ┅┅┅ Invalid Value Prevention ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ */
145
- @VueProperty({
146
- required: false,
147
- get validator(): VuePropertyValidator {
148
- return NaturalNumberOrZeroVuePropertyValidator({
149
- propertyName: "minimalCharactersCount",
150
- isPropertyRequired: this.required === true,
151
- componentName: ValidatableControlShell.CSS_NAMESPACE
152
- });
153
- }
154
- })
155
- @preventNullForOptionalVueProperty
156
- protected readonly minimalCharactersCount?: number;
157
-
158
- @VueProperty({
159
- required: false,
160
- get validator(): VuePropertyValidator {
161
- return NaturalNumberOrZeroVuePropertyValidator({
162
- propertyName: "maximalCharactersCount",
163
- isPropertyRequired: this.required === true,
164
- componentName: ValidatableControlShell.CSS_NAMESPACE
165
- });
166
- }
167
- })
168
- @preventNullForOptionalVueProperty
169
- protected readonly maximalCharactersCount?: number;
170
-
171
- @VueProperty({
172
- required: false,
173
- get validator(): VuePropertyValidator {
174
- return NaturalNumberOrZeroVuePropertyValidator({
175
- propertyName: "minimalNumericValue",
176
- isPropertyRequired: this.required === true,
177
- componentName: ValidatableControlShell.CSS_NAMESPACE
178
- });
179
- }
180
- })
181
- @preventNullForOptionalVueProperty
182
- protected readonly minimalNumericValue?: number;
183
-
184
- @VueProperty({
185
- required: false,
186
- get validator(): VuePropertyValidator {
187
- return NaturalNumberOrZeroVuePropertyValidator({
188
- propertyName: "maximalNumericValue",
189
- isPropertyRequired: this.required === true,
190
- componentName: ValidatableControlShell.CSS_NAMESPACE
191
- });
192
- }
193
- })
194
- @preventNullForOptionalVueProperty
195
- protected readonly maximalNumericValue?: number;
196
-
197
- @VueProperty({
198
- default: false,
199
- get validator(): VuePropertyValidator {
200
- return BooleanVuePropertyValidator({
201
- propertyName: "valueMustBeTheNonNegativeIntegerOfRegularNotation",
202
- componentName: TextBox.CSS_NAMESPACE,
203
- isPropertyRequired: this.required === true
204
- });
205
- }
206
- })
207
- @preventNullForOptionalVueProperty
208
- protected readonly valueMustBeTheNonNegativeIntegerOfRegularNotation!: boolean;
209
-
210
-
211
- @VueProperty({
212
- default: false,
213
- get validator(): VuePropertyValidator {
214
- return BooleanVuePropertyValidator({
215
- propertyName: "valueMustBeTheDigitsSequence",
216
- componentName: TextBox.CSS_NAMESPACE,
217
- isPropertyRequired: this.required === true
218
- });
219
- }
220
- })
221
- @preventNullForOptionalVueProperty
222
- protected readonly valueMustBeTheDigitsSequence!: boolean;
223
-
224
-
225
- /* ┅┅┅ Converting of Inputted Values ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ */
226
- @VueProperty({
227
- default: false,
228
- get validator(): VuePropertyValidator {
229
- return BooleanVuePropertyValidator({
230
- propertyName: "mustConvertEmptyValueToZero",
231
- componentName: TextBox.CSS_NAMESPACE,
232
- isPropertyRequired: this.required === true
233
- });
234
- }
235
- })
236
- @preventNullForOptionalVueProperty
237
- protected readonly mustConvertEmptyValueToZero!: boolean;
238
-
239
-
240
- @VueProperty({
241
- default: false,
242
- get validator(): VuePropertyValidator {
243
- return BooleanVuePropertyValidator({
244
- propertyName: "mustConvertEmptyValueToNull",
245
- componentName: TextBox.CSS_NAMESPACE,
246
- isPropertyRequired: this.required === true
247
- });
248
- }
249
- })
250
- @preventNullForOptionalVueProperty
251
- protected readonly mustConvertEmptyValueToNull!: boolean;
252
-
253
-
254
- /* ━━━ Public Methods ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
255
- /* ┅┅┅ Implementation of `ValidatableControl` interface ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ */
256
-
257
- public focus(): this {
258
-
259
- getElementByVueReference({
260
- vueReferenceID: TextBox.INPUT_OR_TEXT_AREA_ELEMENT_VUE_REFERENCE_ID,
261
- parentVueComponent: this,
262
- expectedDOM_ElementSubtype: HTMLElement,
263
- mustExpectExactlyOneElement: true
264
- }).focus();
265
-
266
- return this;
267
-
268
- }
269
-
270
- public resetValidityHighlightingStateToInitial(): void {
271
-
272
- }
273
-
274
-
275
- /* ━━━ Actions Handling ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
276
-
277
- /* [ Theory ] Action Handing in Vue: "keydown" → "input" → "keyup" */
278
- protected rawInput: string = "";
279
-
280
- protected invalidInputHighlightingIfAnyValidationErrorsMessages: boolean = false;
281
- protected validInputHighlightingIfNoErrorsMessages: boolean = false;
282
-
283
- @VueProperty({
284
- required: true,
285
- get validator(): VuePropertyValidator {
286
- return ElementOfEnumerationVuePropertyValidator({
287
- enumerationFullyQualifiedName: "TextBox.ValidityHighlightingActivationModes",
288
- enumeration: TextBox.ValidityHighlightingActivationModes,
289
- propertyName: "validityHighlightingActivationMode",
290
- componentName: TextBox.CSS_NAMESPACE,
291
- isPropertyRequired: this.required === true
292
- });
293
- }
294
- })
295
- protected validityHighlightingActivationMode!: ElementOfPseudoEnumeration<typeof TextBox.ValidityHighlightingActivationModes>;
296
-
297
- @VModel({
298
- type: ValidatableControl.Payload,
299
- required: true,
300
- validator: VuePropertyValidator.create({
301
- checker: (rawVModel: unknown): boolean =>
302
- ValidatableControl.VModelChecker(
303
- rawVModel, (rawValue: unknown): boolean =>
304
- isString(rawValue) ||
305
- isNumber(rawValue, { mustConsiderNaN_AsNumber: false }) ||
306
- isNull(rawValue)
307
- ),
308
- messageSpecificPart: "Must be either string or number or null.",
309
- propertyName: "v-model",
310
- componentName: TextBox.CSS_NAMESPACE
311
- })
312
- })
313
- protected readonly validatablePayload!: ValidatableControl.Payload<
314
- TextBox.SupportedValidatablePayloadValuesTypes,
315
- TextBox.SupportedValidatablePayloadValuesTypes,
316
- InputtedValueValidation
317
- >;
318
-
319
- /* [ Theory ]
320
- * Being fired first, "keydown" can be used for preventing of inputting of forbidden characters, but filtering out
321
- * except allowed character is challenging because it is required to respect the "Enter", "Backspace", arrow keys
322
- * etc. */
323
- protected onKeyDown(event: KeyboardEvent): void {
324
-
325
- /* 〔 理論 〕 妥当数入力処理(valueMustBeTheNonNegativeIntegerOfRegularNotation: true)〔 1 〕
326
- * 1) 此処では利用者が先に行く不正0の入力を予防する事が出来ない。(本当?既存の値を確認すれば?)
327
- * 例えば、利用者は「123」を入力してからカーソルを最初位置に動かして、「0」を入力しても、
328
- * 此方ではカーソルの位置が判らないので、「onInput」で不正0の入力を遮る。
329
- * 2) 読める文字と他に、利用者は半角空白やバックスペースや方向ボタンが押せるので、「!/^[0-9]$/u.test(event.key)」の様な正規表現では入力を予防出来ない。
330
- * 3) 負号はボタンで入力するとは限らなく、ブラウザーに付けられたボタンにより入力も可能である。
331
- * */
332
- if (
333
- (
334
- this.valueMustBeTheNonNegativeIntegerOfRegularNotation ||
335
- this.valueMustBeTheDigitsSequence
336
- ) &&
337
- (/^[+\-e.]$/u).test(event.key)
338
- ) {
339
- event.preventDefault();
340
- }
341
-
342
- }
343
-
344
- /* [ Theory ]
345
- * Even "input" element has "number" type, if nothing has been inputted, the "rawValue" will be the empty string. */
346
- protected onInput(rawValue: string): void {
347
-
348
- if (rawValue.length === 0) {
349
-
350
- if (this.mustConvertEmptyValueToZero) {
351
- this.$emit(TextBox.Events.input, this.validatablePayload.updateImmutably({ newValue: 0 }));
352
- this.rawInput = "0";
353
- return;
354
- }
355
-
356
-
357
- if (this.mustConvertEmptyValueToNull) {
358
- this.$emit(TextBox.Events.input, this.validatablePayload.updateImmutably({ newValue: null }));
359
- return;
360
- }
361
-
362
- }
363
-
364
-
365
- if (
366
- this.HTML_Type === TextBox.HTML_Types.number &&
367
- this.mustConvertEmptyValueToZero &&
368
- this.rawInput.startsWith("0")
369
- ) {
370
-
371
- const inputtedValueWithoutPrependedZeros: string = this.rawInput.replace(/^0+/u, "");
372
-
373
- if (inputtedValueWithoutPrependedZeros.length === 0) {
374
- this.$emit(TextBox.Events.input, this.validatablePayload.updateImmutably({ newValue: 0 }));
375
- return;
376
- }
377
-
378
-
379
- this.rawInput = inputtedValueWithoutPrependedZeros;
380
-
381
- this.$emit(
382
- TextBox.Events.input,
383
- this.validatablePayload.updateImmutably({
384
- newValue: Number(inputtedValueWithoutPrependedZeros)
385
- })
386
- );
387
-
388
- return;
389
-
390
- }
391
-
392
-
393
- if (this.HTML_Type === TextBox.HTML_Types.number) {
394
-
395
- this.$emit(TextBox.Events.input, this.validatablePayload.updateImmutably({ newValue: Number(rawValue) }));
396
-
397
- return;
398
-
399
- }
400
-
401
-
402
- this.$emit(TextBox.Events.input, this.validatablePayload.updateImmutably({ newValue: rawValue }));
403
-
404
- }
405
-
406
- @emitVueEvent("blur")
407
- protected onFocusOut(): void {
408
- this.invalidInputHighlightingIfAnyValidationErrorsMessages = true;
409
- this.validInputHighlightingIfNoErrorsMessages = true;
410
- }
411
-
412
-
413
- /* ━━━ Theming ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
414
- public static readonly Themes: ValidatableControlShell.Themes = { regular: "REGULAR" };
415
-
416
- public static readonly selfAndChildrenComponentsThemesCorrespondence:
417
- { validatableControlShell: { [ownThemeValue: string]: string; }; } =
418
- { validatableControlShell: { [TextBox.Themes.regular]: ValidatableControlShell.Themes.regular } };
419
-
420
- @VueProperty({
421
- default: TextBox.Themes.regular,
422
- validator: ThemeVuePropertyValidator(TextBox)
423
- })
424
- @preventNullForOptionalVueProperty
425
- protected readonly theme!: string;
426
-
427
- protected get validatableControlShellTheme(): string {
428
- return TextBox.selfAndChildrenComponentsThemesCorrespondence.validatableControlShell[this.theme];
429
- }
430
-
431
- public static defineThemes(
432
- themesAndCorrespondenceDefinition: Readonly<{
433
- [ownThemeKey: string]: Readonly<{ validatableControlShell: string; }>;
434
- }>
435
- ): typeof ValidatableControlShell {
436
- return YDF_ComponentsCoordinator.defineThemesAndSetCorrespondenceWithOnesOfChildrenComponents(
437
- themesAndCorrespondenceDefinition, ValidatableControlShell
438
- );
439
- }
440
-
441
- public static areThemesCSS_ClassesCommon: boolean = YDF_ComponentsCoordinator.areThemesCSS_ClassesCommon;
442
-
443
- public static considerThemesAsCommon(): void {
444
- ValidatableControlShell.areThemesCSS_ClassesCommon = true;
445
- }
446
-
447
- @VueProperty({
448
- default: TextBox.areThemesCSS_ClassesCommon,
449
- get validator(): VuePropertyValidator {
450
- return BooleanVuePropertyValidator({
451
- propertyName: "areThemesCSS_ClassesCommon",
452
- componentName: TextBox.CSS_NAMESPACE,
453
- isPropertyRequired: this.required === true
454
- });
455
- }
456
- })
457
- @preventNullForOptionalVueProperty
458
- protected readonly areThemesCSS_ClassesCommon!: boolean;
459
-
460
-
461
- /* ─── Geometry ─────────────────────────────────────────────────────────────────────────────────────────────────── */
462
- public static readonly GeometricVariations: ValidatableControlShell.GeometricVariations = {
463
- regular: "REGULAR",
464
- small: "SMALL"
465
- };
466
-
467
- public static readonly selfAndChildrenComponentsGeometricVariationsCorrespondence:
468
- { validatableControlShell: { [ownGeometricVariationValue: string]: string; }; } =
469
- {
470
- validatableControlShell: {
471
- [TextBox.GeometricVariations.regular]: ValidatableControlShell.GeometricVariations.regular,
472
- [TextBox.GeometricVariations.small]: ValidatableControlShell.GeometricVariations.small
473
- }
474
- };
475
-
476
- @VueProperty({
477
- default: TextBox.GeometricVariations.regular,
478
- validator: GeometricVariationVuePropertyValidator(TextBox)
479
- })
480
- @preventNullForOptionalVueProperty
481
- protected readonly geometricVariation!: string;
482
-
483
- protected get validatableControlGeometricVariation(): string {
484
- return TextBox.selfAndChildrenComponentsGeometricVariationsCorrespondence.validatableControlShell[this.geometricVariation];
485
- }
486
-
487
- public static defineGeometricVariations(
488
- ownAndChildrenGeometricVariationsAndCorrespondenceDefinition: Readonly<{
489
- [ownGeometricVariationKey: string]: Readonly<{ badge: string; }>;
490
- }>
491
- ): typeof TextBox {
492
- return YDF_ComponentsCoordinator.defineGeometricVariationsAndSetCorrespondenceWithOnesOfChildrenComponents(
493
- ownAndChildrenGeometricVariationsAndCorrespondenceDefinition, TextBox
494
- );
495
- }
496
-
497
-
498
- /* ─── Decoration ───────────────────────────────────────────────────────────────────────────────────────────────── */
499
- public static readonly DecorativeVariations: ValidatableControlShell.DecorativeVariations = {
500
- regular: "REGULAR"
501
- };
502
-
503
- public static readonly selfAndChildrenComponentsDecorativeVariationsCorrespondence:
504
- { validatableControlShell: { [ownDecorativeVariationValue: string]: string; }; } =
505
- {
506
- validatableControlShell: {
507
- [TextBox.DecorativeVariations.regular]: ValidatableControlShell.DecorativeVariations.regular
508
- }
509
- };
510
-
511
- @VueProperty({
512
- default: TextBox.DecorativeVariations.regular,
513
- validator: DecorativeVariationVuePropertyValidator(TextBox)
514
- })
515
- protected readonly decorativeVariation!: string;
516
-
517
- protected get validatableControlDecorativeVariation(): string {
518
- return TextBox.selfAndChildrenComponentsDecorativeVariationsCorrespondence.
519
- validatableControlShell[this.decorativeVariation];
520
- }
521
-
522
- public static defineDecorativeVariations(decorativeVariationsNames: ReadonlyArray<string>): typeof ValidatableControlShell {
523
- return YDF_ComponentsCoordinator.defineDecorativeVariations(decorativeVariationsNames, ValidatableControlShell);
524
- }
525
-
526
-
527
- /* ━━━ CSS Classes ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
528
- protected get rootElementModifierCSS_Classes(): ReadonlyArray<string> {
529
- return YDF_ComponentsCoordinator.generateRootElementModifierCSS_Classes({
530
- CSS_Namespace: TextBox.CSS_NAMESPACE,
531
- activeTheme: this.theme,
532
- allThemes: TextBox.Themes,
533
- areThemesCSS_ClassesCommon: this.areThemesCSS_ClassesCommon,
534
- activeGeometricVariation: this.geometricVariation,
535
- allGeometricVariations: TextBox.GeometricVariations,
536
- activeDecorativeVariation: this.decorativeVariation,
537
- allDecorativeVariations: TextBox.DecorativeVariations,
538
- other: [
539
- ...this.multiline ? [ `${ TextBox.CSS_NAMESPACE }__Multiline` ] : [],
540
- ...this.disabled ? [ `${ TextBox.CSS_NAMESPACE }__DisabledState` ] : [],
541
- ...this.invalidInputHighlightingIfAnyValidationErrorsMessages && this.validatablePayload.isInvalid ?
542
- [ "TextBox--YDF__InvalidInputState" ] : [],
543
- ...this.validInputHighlightingIfNoErrorsMessages && !this.validatablePayload.isInvalid ?
544
- [ "TextBox--YDF__ValidInputState" ] : []
545
- ]
546
- });
547
- }
548
-
549
-
550
- /* ━━━ Properties Additional Validations ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
551
- /** @descriptioin
552
- * Validation with referencing of multiple properties is possible only via lifecycle hooks.
553
- * This method is static because non-static methods are not accessible from the viewpoint of "vue-facing-decorator" */
554
- protected static override validateProperties(instance: TextBox): void {
555
-
556
- if (
557
- isNotUndefined(instance.minimalNumericValue) &&
558
- isNotUndefined(instance.maximalNumericValue) &&
559
- instance.minimalNumericValue > instance.maximalNumericValue
560
- ) {
561
- Logger.throwErrorWithFormattedMessage({
562
- errorInstance: new InvalidVuePropertyError({
563
- componentName: TextBox.CSS_NAMESPACE,
564
- propertyName: "minimalNumericValue",
565
- messageSpecificPart: "`minimalNumericValue` is greater than `maximalNumericValue`."
566
- }),
567
- title: InvalidVuePropertyError.localization.defaultTitle,
568
- occurrenceLocation: "TextBox.validateProperties(instance)"
569
- });
570
- }
571
-
572
-
573
- if (
574
- isNotUndefined(instance.minimalCharactersCount) &&
575
- isNotUndefined(instance.maximalCharactersCount) &&
576
- instance.minimalCharactersCount > instance.maximalCharactersCount
577
- ) {
578
- Logger.throwErrorWithFormattedMessage({
579
- errorInstance: new InvalidVuePropertyError({
580
- componentName: TextBox.CSS_NAMESPACE,
581
- propertyName: "minimalCharactersCount",
582
- messageSpecificPart: "`minimalCharactersCount` is greater than `maximalCharactersCount`."
583
- }),
584
- title: InvalidVuePropertyError.localization.defaultTitle,
585
- occurrenceLocation: "TextBox.validateProperties(instance)"
586
- });
587
- }
588
-
589
- }
590
-
591
-
592
- /* ━━━ IDs ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
593
- @AccessibleFromTemplateAsNonReactive
594
- protected static readonly INPUT_OR_TEXT_AREA_ELEMENT_VUE_REFERENCE_ID: string = "INPUT_OR_TEXT_AREA_ELEMENT";
595
-
596
-
597
- /* ┅┅┅ Instance ID ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ */
598
- protected readonly INSTANCE_ID: string = TextBox.generateInstanceID();
599
- protected static counterForInstanceID_Generating: number = 0;
600
-
601
- public static generateInstanceID(): string {
602
- TextBox.counterForInstanceID_Generating++;
603
- return `TEXT_BOX--YDF-${ TextBox.counterForInstanceID_Generating }`;
604
- }
605
-
606
-
607
- /* ┅┅┅ HTML IDs ┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅ */
608
- // TODO NonEmptyString
609
- @VueProperty({ type: String, required: false })
610
- protected readonly inputOrTextareaElementHTML_ID?: string;
611
-
612
- // TODO NonEmptyString
613
- @VueProperty({ type: String, required: false })
614
- protected readonly labelElementHTML_ID?: string;
615
-
616
- /* [ Performance Optimization ] Intended to be non-reactive and thus must be assigned in `create` lifecycle hook. */
617
- protected HTML_IDs!: Readonly<{
618
- inputOrTextarea: string;
619
- label: string;
620
- }>;
621
-
622
-
623
- /* ━━━ Lifecycle Hooks ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */
624
- protected beforeCreate(): void {
625
-
626
- TextBox.validateProperties(this);
627
-
628
- this.invalidInputHighlightingIfAnyValidationErrorsMessages =
629
- this.validityHighlightingActivationMode === TextBox.ValidityHighlightingActivationModes.immediate;
630
-
631
- this.validInputHighlightingIfNoErrorsMessages = this.invalidInputHighlightingIfAnyValidationErrorsMessages;
632
-
633
- }
634
-
635
- protected created(): void {
636
-
637
- this.HTML_IDs = {
638
- inputOrTextarea: this.inputOrTextareaElementHTML_ID ?? `${ this.INSTANCE_ID }-INPUT_OR_TEXT_AREA`,
639
- label: this.labelElementHTML_ID ?? `${ this.INSTANCE_ID }-LABEL`
640
- };
641
-
642
- if (isString(this.validatablePayload.value)) {
643
- this.rawInput = this.validatablePayload.value;
644
- } else if (isNumber(this.validatablePayload.value, { mustConsiderNaN_AsNumber: true })) {
645
- this.rawInput = String(this.validatablePayload.value);
646
- } else {
647
- this.rawInput = "";
648
- }
649
-
650
- }
651
-
652
- protected beforeUpdate(): void {
653
- TextBox.validateProperties(this);
654
- }
655
-
656
- }
657
-
658
-
659
- namespace TextBox {
660
-
661
- export type HTML_Types = Readonly<{
662
- regular: "text";
663
- email: "email";
664
- number: "number";
665
- password: "password";
666
- phoneNumber: "tel";
667
- URI: "url";
668
- }>;
669
-
670
- export type SupportedValidatablePayloadValuesTypes = string | number | null;
671
-
672
- export enum Events {
673
- input = "update:modelValue",
674
- blur = "BLUR"
675
- }
676
-
677
- export type ValidityHighlightingActivationModes = Readonly<{
678
- immediate: "IMMEDIATE";
679
- onFirstInputtedCharacter: "ON_FIRST_INPUTTED_CHARACTER";
680
- onFocusOut: "ON_FOCUS_OUT";
681
- }>;
682
-
683
- export type Themes = {
684
- readonly regular: "REGULAR";
685
- [themeName: string]: string;
686
- };
687
-
688
- export type GeometricVariations = {
689
- readonly regular: "REGULAR";
690
- readonly small: "SMALL";
691
- [geometricVariationName: string]: string;
692
- };
693
-
694
- export type DecorativeVariations = {
695
- readonly regular: "REGULAR";
696
- [decorativeVariationName: string]: string;
697
- };
698
-
699
- }
700
-
701
-
702
- export default TextBox;