@openreachtech/furo-vue 1.3.1

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.
Files changed (310) hide show
  1. package/LICENSE +9 -0
  2. package/README.ja.md +334 -0
  3. package/README.md +333 -0
  4. package/index.js +11 -0
  5. package/lib/assets/css/furo/0010.variables-palette-color-scale.css +298 -0
  6. package/lib/assets/css/furo/0020.variables-z-index.css +10 -0
  7. package/lib/assets/css/furo/0030.variables-semantic-color.css +178 -0
  8. package/lib/assets/css/furo/0035.variables-semantic-dimension.css +104 -0
  9. package/lib/assets/css/furo/0040.variables-component-furo.css +28 -0
  10. package/lib/assets/css/furo/0050.furo-editor-content.css +22 -0
  11. package/lib/assets/css/furo.css +15 -0
  12. package/lib/components/atoms/FuroAvatar/FuroAvatar.vue +135 -0
  13. package/lib/components/atoms/FuroAvatar/FuroAvatarContext.js +147 -0
  14. package/lib/components/atoms/FuroBadge/FuroBadge.vue +240 -0
  15. package/lib/components/atoms/FuroBadge/FuroBadgeContext.js +298 -0
  16. package/lib/components/atoms/FuroButton/ButtonEmitPayload.js +44 -0
  17. package/lib/components/atoms/FuroButton/FuroButton.vue +301 -0
  18. package/lib/components/atoms/FuroButton/FuroButtonContext.js +328 -0
  19. package/lib/components/atoms/FuroCheckbox/CheckboxEmitPayload.js +106 -0
  20. package/lib/components/atoms/FuroCheckbox/FuroCheckbox.vue +173 -0
  21. package/lib/components/atoms/FuroCheckbox/FuroCheckboxContext.js +682 -0
  22. package/lib/components/atoms/FuroEmailField/EmailFieldEmitPayload.js +74 -0
  23. package/lib/components/atoms/FuroEmailField/FuroEmailField.vue +119 -0
  24. package/lib/components/atoms/FuroEmailField/FuroEmailFieldContext.js +311 -0
  25. package/lib/components/atoms/FuroFileField/FileFieldEmitPayload.js +80 -0
  26. package/lib/components/atoms/FuroFileField/FuroFileField.vue +128 -0
  27. package/lib/components/atoms/FuroFileField/FuroFileFieldContext.js +195 -0
  28. package/lib/components/atoms/FuroIcon/FuroIcon.vue +74 -0
  29. package/lib/components/atoms/FuroIcon/FuroIconContext.js +293 -0
  30. package/lib/components/atoms/FuroIcon/FuroIconRegistry.js +617 -0
  31. package/lib/components/atoms/FuroIcon/FuroIconifyRendererContext.js +101 -0
  32. package/lib/components/atoms/FuroIcon/furoIconData.js +164 -0
  33. package/lib/components/atoms/FuroIcon/iconRenderers.js +62 -0
  34. package/lib/components/atoms/FuroIcon/icons.js +7 -0
  35. package/lib/components/atoms/FuroNumberField/FuroNumberField.vue +213 -0
  36. package/lib/components/atoms/FuroNumberField/FuroNumberFieldContext.js +442 -0
  37. package/lib/components/atoms/FuroNumberField/NumberFieldEmitPayload.js +162 -0
  38. package/lib/components/atoms/FuroPasswordField/FuroPasswordField.vue +119 -0
  39. package/lib/components/atoms/FuroPasswordField/FuroPasswordFieldContext.js +311 -0
  40. package/lib/components/atoms/FuroPasswordField/PasswordFieldEmitPayload.js +74 -0
  41. package/lib/components/atoms/FuroRadio/FuroRadio.vue +193 -0
  42. package/lib/components/atoms/FuroRadio/FuroRadioContext.js +557 -0
  43. package/lib/components/atoms/FuroRadio/RadioEmitPayload.js +72 -0
  44. package/lib/components/atoms/FuroSwitch/FuroSwitch.vue +165 -0
  45. package/lib/components/atoms/FuroSwitch/FuroSwitchContext.js +440 -0
  46. package/lib/components/atoms/FuroSwitch/SwitchEmitPayload.js +86 -0
  47. package/lib/components/atoms/FuroTextField/FuroTextField.vue +119 -0
  48. package/lib/components/atoms/FuroTextField/FuroTextFieldContext.js +311 -0
  49. package/lib/components/atoms/FuroTextField/TextFieldEmitPayload.js +83 -0
  50. package/lib/components/atoms/FuroTextarea/FuroTextarea.vue +121 -0
  51. package/lib/components/atoms/FuroTextarea/FuroTextareaContext.js +322 -0
  52. package/lib/components/atoms/FuroTextarea/TextareaEmitPayload.js +83 -0
  53. package/lib/components/atoms/FuroToggle/FuroToggle.vue +172 -0
  54. package/lib/components/atoms/FuroToggle/FuroToggleContext.js +410 -0
  55. package/lib/components/atoms/FuroToggle/ToggleEmitPayload.js +86 -0
  56. package/lib/components/molecules/FuroAccordion/AccordionEmitPayload.js +80 -0
  57. package/lib/components/molecules/FuroAccordion/FuroAccordion.vue +219 -0
  58. package/lib/components/molecules/FuroAccordion/FuroAccordionContext.js +547 -0
  59. package/lib/components/molecules/FuroAttachment/FuroAttachment.vue +376 -0
  60. package/lib/components/molecules/FuroAttachment/FuroAttachmentContext.js +628 -0
  61. package/lib/components/molecules/FuroAutocompleteField/AutocompleteEmitPayload.js +225 -0
  62. package/lib/components/molecules/FuroAutocompleteField/FuroAutocompleteField.vue +669 -0
  63. package/lib/components/molecules/FuroAutocompleteField/FuroAutocompleteFieldContext.js +1525 -0
  64. package/lib/components/molecules/FuroAvatarGroup/FuroAvatarGroup.vue +126 -0
  65. package/lib/components/molecules/FuroAvatarGroup/FuroAvatarGroupContext.js +245 -0
  66. package/lib/components/molecules/FuroBreadcrumb/FuroBreadcrumb.vue +219 -0
  67. package/lib/components/molecules/FuroBreadcrumb/FuroBreadcrumbContext.js +257 -0
  68. package/lib/components/molecules/FuroCollapsible/CollapsibleEmitPayload.js +69 -0
  69. package/lib/components/molecules/FuroCollapsible/FuroCollapsible.vue +177 -0
  70. package/lib/components/molecules/FuroCollapsible/FuroCollapsibleContext.js +389 -0
  71. package/lib/components/molecules/FuroControlBlock/FuroControlBlock.vue +149 -0
  72. package/lib/components/molecules/FuroControlBlock/FuroControlBlockContext.js +81 -0
  73. package/lib/components/molecules/FuroDatePicker/DatePickerEmitPayload.js +74 -0
  74. package/lib/components/molecules/FuroDatePicker/FuroDatePicker.vue +661 -0
  75. package/lib/components/molecules/FuroDatePicker/FuroDatePickerContext.js +1038 -0
  76. package/lib/components/molecules/FuroDateTimePicker/DateTimePickerEmitPayload.js +96 -0
  77. package/lib/components/molecules/FuroDateTimePicker/FuroDateTimePicker.vue +153 -0
  78. package/lib/components/molecules/FuroDateTimePicker/FuroDateTimePickerContext.js +840 -0
  79. package/lib/components/molecules/FuroDropdownMenu/DropdownMenuOptionSelectEmitPayload.js +100 -0
  80. package/lib/components/molecules/FuroDropdownMenu/FuroDropdownMenu.vue +348 -0
  81. package/lib/components/molecules/FuroDropdownMenu/FuroDropdownMenuContext.js +714 -0
  82. package/lib/components/molecules/FuroDropdownMenu/FuroDropdownMenuOptionRows.vue +222 -0
  83. package/lib/components/molecules/FuroEditableField/EditableEmitPayload.js +89 -0
  84. package/lib/components/molecules/FuroEditableField/FuroEditableField.vue +314 -0
  85. package/lib/components/molecules/FuroEditableField/FuroEditableFieldContext.js +1018 -0
  86. package/lib/components/molecules/FuroEditableField/processors/EditorCollisionProcessor.js +236 -0
  87. package/lib/components/molecules/FuroEditableField/processors/ObjectProcessor.js +101 -0
  88. package/lib/components/molecules/FuroEmptyState/FuroEmptyState.vue +124 -0
  89. package/lib/components/molecules/FuroEmptyState/FuroEmptyStateContext.js +42 -0
  90. package/lib/components/molecules/FuroErrorState/FuroErrorState.vue +125 -0
  91. package/lib/components/molecules/FuroErrorState/FuroErrorStateContext.js +42 -0
  92. package/lib/components/molecules/FuroPagination/FuroPagination.vue +246 -0
  93. package/lib/components/molecules/FuroPagination/FuroPaginationContext.js +489 -0
  94. package/lib/components/molecules/FuroPopover/FuroPopover.vue +171 -0
  95. package/lib/components/molecules/FuroPopover/FuroPopoverContext.js +279 -0
  96. package/lib/components/molecules/FuroScrollArea/FuroScrollArea.vue +181 -0
  97. package/lib/components/molecules/FuroScrollArea/FuroScrollAreaContext.js +149 -0
  98. package/lib/components/molecules/FuroSearchField/FuroSearchField.vue +155 -0
  99. package/lib/components/molecules/FuroSearchField/FuroSearchFieldContext.js +231 -0
  100. package/lib/components/molecules/FuroSectionHeader/FuroSectionHeader.vue +140 -0
  101. package/lib/components/molecules/FuroSectionHeader/FuroSectionHeaderContext.js +204 -0
  102. package/lib/components/molecules/FuroSelect/FuroSelect.vue +474 -0
  103. package/lib/components/molecules/FuroSelect/FuroSelectContext.js +743 -0
  104. package/lib/components/molecules/FuroSelect/SelectEmitPayload.js +181 -0
  105. package/lib/components/molecules/FuroSeparator/FuroSeparator.vue +88 -0
  106. package/lib/components/molecules/FuroSeparator/FuroSeparatorContext.js +40 -0
  107. package/lib/components/molecules/FuroSkeleton/FuroSkeleton.vue +101 -0
  108. package/lib/components/molecules/FuroSkeleton/FuroSkeletonContext.js +82 -0
  109. package/lib/components/molecules/FuroSplitter/FuroSplitter.vue +237 -0
  110. package/lib/components/molecules/FuroSplitter/FuroSplitterContext.js +429 -0
  111. package/lib/components/molecules/FuroSplitter/SplitterEmitPayload.js +69 -0
  112. package/lib/components/molecules/FuroTimeField/FuroTimeField.vue +251 -0
  113. package/lib/components/molecules/FuroTimeField/FuroTimeFieldContext.js +1138 -0
  114. package/lib/components/molecules/FuroTimeField/TimeFieldEmitPayload.js +74 -0
  115. package/lib/components/molecules/FuroToggleGroup/FuroToggleGroup.vue +211 -0
  116. package/lib/components/molecules/FuroToggleGroup/FuroToggleGroupContext.js +551 -0
  117. package/lib/components/molecules/FuroToggleGroup/ToggleGroupEmitPayload.js +80 -0
  118. package/lib/components/molecules/FuroToolBar/FuroToolBar.vue +91 -0
  119. package/lib/components/molecules/FuroToolBar/FuroToolBarContext.js +75 -0
  120. package/lib/components/molecules/FuroTooltip/FuroTooltip.vue +183 -0
  121. package/lib/components/molecules/FuroTooltip/FuroTooltipContext.js +290 -0
  122. package/lib/components/organisms/FuroAlertDialog/FuroAlertDialog.vue +324 -0
  123. package/lib/components/organisms/FuroAlertDialog/FuroAlertDialogContext.js +608 -0
  124. package/lib/components/organisms/FuroDialog/FuroDialog.vue +362 -0
  125. package/lib/components/organisms/FuroDialog/FuroDialogContext.js +535 -0
  126. package/lib/components/organisms/FuroDrawer/FuroDrawer.vue +618 -0
  127. package/lib/components/organisms/FuroDrawer/FuroDrawerContext.js +676 -0
  128. package/lib/components/organisms/FuroEditor/FuroEditor.vue +613 -0
  129. package/lib/components/organisms/FuroEditor/FuroEditorCommandContext.js +420 -0
  130. package/lib/components/organisms/FuroEditor/FuroEditorContext.js +2048 -0
  131. package/lib/components/organisms/FuroEditor/FuroEditorMentionMenu.vue +120 -0
  132. package/lib/components/organisms/FuroEditor/FuroEditorMentionMenuContext.js +261 -0
  133. package/lib/components/organisms/FuroEditor/PreserveNewlinesPasteExtension.js +267 -0
  134. package/lib/components/organisms/FuroEditor/build-editor-extensions.js +97 -0
  135. package/lib/components/organisms/FuroEditor/mention-suggestion.js +320 -0
  136. package/lib/components/organisms/FuroEditor/paste-link-segments.js +124 -0
  137. package/lib/components/organisms/FuroSidebar/FuroSidebar.vue +473 -0
  138. package/lib/components/organisms/FuroSidebar/FuroSidebarContext.js +1014 -0
  139. package/lib/components/organisms/FuroStepper/FuroStepper.vue +345 -0
  140. package/lib/components/organisms/FuroStepper/FuroStepperContext.js +481 -0
  141. package/lib/components/organisms/FuroTable/FuroTable.vue +707 -0
  142. package/lib/components/organisms/FuroTable/FuroTableContext.js +1965 -0
  143. package/lib/components/organisms/FuroTable/FuroTableRowItemContext.js +111 -0
  144. package/lib/components/organisms/FuroTabs/FuroTabs.vue +403 -0
  145. package/lib/components/organisms/FuroTabs/FuroTabsContext.js +846 -0
  146. package/lib/components/organisms/FuroToast/FuroToast.vue +624 -0
  147. package/lib/components/organisms/FuroToast/FuroToastContext.js +1089 -0
  148. package/lib/components/organisms/FuroToast/FuroToaster.vue +44 -0
  149. package/lib/components/organisms/FuroToast/FuroToasterContext.js +113 -0
  150. package/lib/components/organisms/FuroToast/ToastQueue.js +325 -0
  151. package/lib/components/organisms/FuroToast/toast.js +64 -0
  152. package/lib/contexts/BaseFuroContext.js +318 -0
  153. package/lib/contexts/BaseFuroContextAccessor.js +47 -0
  154. package/lib/emit-payload/BaseEmitPayload.js +91 -0
  155. package/lib/index.components.js +61 -0
  156. package/lib/index.core.js +18 -0
  157. package/lib/tools/TimerClerk.js +75 -0
  158. package/nuxt/index.js +109 -0
  159. package/nuxt/runtime/furo-icon-renderer.js +24 -0
  160. package/package.json +137 -0
  161. package/public/furo-vue/components.json +4619 -0
  162. package/public/furo-vue/llms.txt +66 -0
  163. package/types/furo-nuxt.d.ts +48 -0
  164. package/types/generated/components/atoms/FuroAvatar/FuroAvatar.vue.d.ts +74 -0
  165. package/types/generated/components/atoms/FuroAvatar/FuroAvatarContext.d.ts +82 -0
  166. package/types/generated/components/atoms/FuroBadge/FuroBadge.vue.d.ts +12 -0
  167. package/types/generated/components/atoms/FuroBadge/FuroBadgeContext.d.ts +160 -0
  168. package/types/generated/components/atoms/FuroButton/ButtonEmitPayload.d.ts +19 -0
  169. package/types/generated/components/atoms/FuroButton/FuroButton.vue.d.ts +53 -0
  170. package/types/generated/components/atoms/FuroButton/FuroButtonContext.d.ts +156 -0
  171. package/types/generated/components/atoms/FuroCheckbox/CheckboxEmitPayload.d.ts +55 -0
  172. package/types/generated/components/atoms/FuroCheckbox/FuroCheckbox.vue.d.ts +87 -0
  173. package/types/generated/components/atoms/FuroCheckbox/FuroCheckboxContext.d.ts +342 -0
  174. package/types/generated/components/atoms/FuroEmailField/EmailFieldEmitPayload.d.ts +46 -0
  175. package/types/generated/components/atoms/FuroEmailField/FuroEmailField.vue.d.ts +458 -0
  176. package/types/generated/components/atoms/FuroEmailField/FuroEmailFieldContext.d.ts +161 -0
  177. package/types/generated/components/atoms/FuroFileField/FileFieldEmitPayload.d.ts +46 -0
  178. package/types/generated/components/atoms/FuroFileField/FuroFileField.vue.d.ts +454 -0
  179. package/types/generated/components/atoms/FuroFileField/FuroFileFieldContext.d.ts +109 -0
  180. package/types/generated/components/atoms/FuroIcon/FuroIcon.vue.d.ts +14 -0
  181. package/types/generated/components/atoms/FuroIcon/FuroIconContext.d.ts +152 -0
  182. package/types/generated/components/atoms/FuroIcon/FuroIconRegistry.d.ts +457 -0
  183. package/types/generated/components/atoms/FuroIcon/FuroIconifyRendererContext.d.ts +65 -0
  184. package/types/generated/components/atoms/FuroIcon/furoIconData.d.ts +154 -0
  185. package/types/generated/components/atoms/FuroIcon/iconRenderers.d.ts +6 -0
  186. package/types/generated/components/atoms/FuroIcon/icons.d.ts +6 -0
  187. package/types/generated/components/atoms/FuroNumberField/FuroNumberField.vue.d.ts +500 -0
  188. package/types/generated/components/atoms/FuroNumberField/FuroNumberFieldContext.d.ts +243 -0
  189. package/types/generated/components/atoms/FuroNumberField/NumberFieldEmitPayload.d.ts +74 -0
  190. package/types/generated/components/atoms/FuroPasswordField/FuroPasswordField.vue.d.ts +458 -0
  191. package/types/generated/components/atoms/FuroPasswordField/FuroPasswordFieldContext.d.ts +161 -0
  192. package/types/generated/components/atoms/FuroPasswordField/PasswordFieldEmitPayload.d.ts +46 -0
  193. package/types/generated/components/atoms/FuroRadio/FuroRadio.vue.d.ts +96 -0
  194. package/types/generated/components/atoms/FuroRadio/FuroRadioContext.d.ts +290 -0
  195. package/types/generated/components/atoms/FuroRadio/RadioEmitPayload.d.ts +39 -0
  196. package/types/generated/components/atoms/FuroSwitch/FuroSwitch.vue.d.ts +74 -0
  197. package/types/generated/components/atoms/FuroSwitch/FuroSwitchContext.d.ts +218 -0
  198. package/types/generated/components/atoms/FuroSwitch/SwitchEmitPayload.d.ts +42 -0
  199. package/types/generated/components/atoms/FuroTextField/FuroTextField.vue.d.ts +458 -0
  200. package/types/generated/components/atoms/FuroTextField/FuroTextFieldContext.d.ts +161 -0
  201. package/types/generated/components/atoms/FuroTextField/TextFieldEmitPayload.d.ts +52 -0
  202. package/types/generated/components/atoms/FuroTextarea/FuroTextarea.vue.d.ts +422 -0
  203. package/types/generated/components/atoms/FuroTextarea/FuroTextareaContext.d.ts +161 -0
  204. package/types/generated/components/atoms/FuroTextarea/TextareaEmitPayload.d.ts +52 -0
  205. package/types/generated/components/atoms/FuroToggle/FuroToggle.vue.d.ts +51 -0
  206. package/types/generated/components/atoms/FuroToggle/FuroToggleContext.d.ts +191 -0
  207. package/types/generated/components/atoms/FuroToggle/ToggleEmitPayload.d.ts +42 -0
  208. package/types/generated/components/molecules/FuroAccordion/AccordionEmitPayload.d.ts +41 -0
  209. package/types/generated/components/molecules/FuroAccordion/FuroAccordion.vue.d.ts +133 -0
  210. package/types/generated/components/molecules/FuroAccordion/FuroAccordionContext.d.ts +279 -0
  211. package/types/generated/components/molecules/FuroAttachment/FuroAttachment.vue.d.ts +79 -0
  212. package/types/generated/components/molecules/FuroAttachment/FuroAttachmentContext.d.ts +363 -0
  213. package/types/generated/components/molecules/FuroAutocompleteField/AutocompleteEmitPayload.d.ts +129 -0
  214. package/types/generated/components/molecules/FuroAutocompleteField/FuroAutocompleteField.vue.d.ts +751 -0
  215. package/types/generated/components/molecules/FuroAutocompleteField/FuroAutocompleteFieldContext.d.ts +722 -0
  216. package/types/generated/components/molecules/FuroAvatarGroup/FuroAvatarGroup.vue.d.ts +84 -0
  217. package/types/generated/components/molecules/FuroAvatarGroup/FuroAvatarGroupContext.d.ts +150 -0
  218. package/types/generated/components/molecules/FuroBreadcrumb/FuroBreadcrumb.vue.d.ts +24 -0
  219. package/types/generated/components/molecules/FuroBreadcrumb/FuroBreadcrumbContext.d.ts +152 -0
  220. package/types/generated/components/molecules/FuroCollapsible/CollapsibleEmitPayload.d.ts +36 -0
  221. package/types/generated/components/molecules/FuroCollapsible/FuroCollapsible.vue.d.ts +98 -0
  222. package/types/generated/components/molecules/FuroCollapsible/FuroCollapsibleContext.d.ts +191 -0
  223. package/types/generated/components/molecules/FuroControlBlock/FuroControlBlock.vue.d.ts +30 -0
  224. package/types/generated/components/molecules/FuroControlBlock/FuroControlBlockContext.d.ts +57 -0
  225. package/types/generated/components/molecules/FuroDatePicker/DatePickerEmitPayload.d.ts +41 -0
  226. package/types/generated/components/molecules/FuroDatePicker/FuroDatePicker.vue.d.ts +456 -0
  227. package/types/generated/components/molecules/FuroDatePicker/FuroDatePickerContext.d.ts +516 -0
  228. package/types/generated/components/molecules/FuroDateTimePicker/DateTimePickerEmitPayload.d.ts +55 -0
  229. package/types/generated/components/molecules/FuroDateTimePicker/FuroDateTimePicker.vue.d.ts +1365 -0
  230. package/types/generated/components/molecules/FuroDateTimePicker/FuroDateTimePickerContext.d.ts +435 -0
  231. package/types/generated/components/molecules/FuroDropdownMenu/DropdownMenuOptionSelectEmitPayload.d.ts +48 -0
  232. package/types/generated/components/molecules/FuroDropdownMenu/FuroDropdownMenu.vue.d.ts +773 -0
  233. package/types/generated/components/molecules/FuroDropdownMenu/FuroDropdownMenuContext.d.ts +380 -0
  234. package/types/generated/components/molecules/FuroDropdownMenu/FuroDropdownMenuOptionRows.vue.d.ts +261 -0
  235. package/types/generated/components/molecules/FuroEditableField/EditableEmitPayload.d.ts +39 -0
  236. package/types/generated/components/molecules/FuroEditableField/FuroEditableField.vue.d.ts +646 -0
  237. package/types/generated/components/molecules/FuroEditableField/FuroEditableFieldContext.d.ts +477 -0
  238. package/types/generated/components/molecules/FuroEditableField/processors/EditorCollisionProcessor.d.ts +121 -0
  239. package/types/generated/components/molecules/FuroEditableField/processors/ObjectProcessor.d.ts +45 -0
  240. package/types/generated/components/molecules/FuroEmptyState/FuroEmptyState.vue.d.ts +21 -0
  241. package/types/generated/components/molecules/FuroEmptyState/FuroEmptyStateContext.d.ts +32 -0
  242. package/types/generated/components/molecules/FuroErrorState/FuroErrorState.vue.d.ts +21 -0
  243. package/types/generated/components/molecules/FuroErrorState/FuroErrorStateContext.d.ts +32 -0
  244. package/types/generated/components/molecules/FuroPagination/FuroPagination.vue.d.ts +534 -0
  245. package/types/generated/components/molecules/FuroPagination/FuroPaginationContext.d.ts +271 -0
  246. package/types/generated/components/molecules/FuroPopover/FuroPopover.vue.d.ts +513 -0
  247. package/types/generated/components/molecules/FuroPopover/FuroPopoverContext.d.ts +160 -0
  248. package/types/generated/components/molecules/FuroScrollArea/FuroScrollArea.vue.d.ts +124 -0
  249. package/types/generated/components/molecules/FuroScrollArea/FuroScrollAreaContext.d.ts +86 -0
  250. package/types/generated/components/molecules/FuroSearchField/FuroSearchField.vue.d.ts +487 -0
  251. package/types/generated/components/molecules/FuroSearchField/FuroSearchFieldContext.d.ts +137 -0
  252. package/types/generated/components/molecules/FuroSectionHeader/FuroSectionHeader.vue.d.ts +49 -0
  253. package/types/generated/components/molecules/FuroSectionHeader/FuroSectionHeaderContext.d.ts +121 -0
  254. package/types/generated/components/molecules/FuroSelect/FuroSelect.vue.d.ts +719 -0
  255. package/types/generated/components/molecules/FuroSelect/FuroSelectContext.d.ts +402 -0
  256. package/types/generated/components/molecules/FuroSelect/SelectEmitPayload.d.ts +102 -0
  257. package/types/generated/components/molecules/FuroSeparator/FuroSeparator.vue.d.ts +39 -0
  258. package/types/generated/components/molecules/FuroSeparator/FuroSeparatorContext.d.ts +31 -0
  259. package/types/generated/components/molecules/FuroSkeleton/FuroSkeleton.vue.d.ts +27 -0
  260. package/types/generated/components/molecules/FuroSkeleton/FuroSkeletonContext.d.ts +61 -0
  261. package/types/generated/components/molecules/FuroSplitter/FuroSplitter.vue.d.ts +139 -0
  262. package/types/generated/components/molecules/FuroSplitter/FuroSplitterContext.d.ts +226 -0
  263. package/types/generated/components/molecules/FuroSplitter/SplitterEmitPayload.d.ts +41 -0
  264. package/types/generated/components/molecules/FuroTimeField/FuroTimeField.vue.d.ts +498 -0
  265. package/types/generated/components/molecules/FuroTimeField/FuroTimeFieldContext.d.ts +555 -0
  266. package/types/generated/components/molecules/FuroTimeField/TimeFieldEmitPayload.d.ts +41 -0
  267. package/types/generated/components/molecules/FuroToggleGroup/FuroToggleGroup.vue.d.ts +70 -0
  268. package/types/generated/components/molecules/FuroToggleGroup/FuroToggleGroupContext.d.ts +270 -0
  269. package/types/generated/components/molecules/FuroToggleGroup/ToggleGroupEmitPayload.d.ts +41 -0
  270. package/types/generated/components/molecules/FuroToolBar/FuroToolBar.vue.d.ts +30 -0
  271. package/types/generated/components/molecules/FuroToolBar/FuroToolBarContext.d.ts +48 -0
  272. package/types/generated/components/molecules/FuroTooltip/FuroTooltip.vue.d.ts +524 -0
  273. package/types/generated/components/molecules/FuroTooltip/FuroTooltipContext.d.ts +166 -0
  274. package/types/generated/components/organisms/FuroAlertDialog/FuroAlertDialog.vue.d.ts +651 -0
  275. package/types/generated/components/organisms/FuroAlertDialog/FuroAlertDialogContext.d.ts +299 -0
  276. package/types/generated/components/organisms/FuroDialog/FuroDialog.vue.d.ts +583 -0
  277. package/types/generated/components/organisms/FuroDialog/FuroDialogContext.d.ts +264 -0
  278. package/types/generated/components/organisms/FuroDrawer/FuroDrawer.vue.d.ts +635 -0
  279. package/types/generated/components/organisms/FuroDrawer/FuroDrawerContext.d.ts +347 -0
  280. package/types/generated/components/organisms/FuroEditor/FuroEditor.vue.d.ts +2487 -0
  281. package/types/generated/components/organisms/FuroEditor/FuroEditorCommandContext.d.ts +192 -0
  282. package/types/generated/components/organisms/FuroEditor/FuroEditorContext.d.ts +904 -0
  283. package/types/generated/components/organisms/FuroEditor/FuroEditorMentionMenu.vue.d.ts +43 -0
  284. package/types/generated/components/organisms/FuroEditor/FuroEditorMentionMenuContext.d.ts +159 -0
  285. package/types/generated/components/organisms/FuroEditor/PreserveNewlinesPasteExtension.d.ts +43 -0
  286. package/types/generated/components/organisms/FuroEditor/build-editor-extensions.d.ts +22 -0
  287. package/types/generated/components/organisms/FuroEditor/mention-suggestion.d.ts +25 -0
  288. package/types/generated/components/organisms/FuroEditor/paste-link-segments.d.ts +31 -0
  289. package/types/generated/components/organisms/FuroSidebar/FuroSidebar.vue.d.ts +898 -0
  290. package/types/generated/components/organisms/FuroSidebar/FuroSidebarContext.d.ts +596 -0
  291. package/types/generated/components/organisms/FuroStepper/FuroStepper.vue.d.ts +589 -0
  292. package/types/generated/components/organisms/FuroStepper/FuroStepperContext.d.ts +266 -0
  293. package/types/generated/components/organisms/FuroTable/FuroTable.vue.d.ts +528 -0
  294. package/types/generated/components/organisms/FuroTable/FuroTableContext.d.ts +1035 -0
  295. package/types/generated/components/organisms/FuroTable/FuroTableRowItemContext.d.ts +62 -0
  296. package/types/generated/components/organisms/FuroTabs/FuroTabs.vue.d.ts +515 -0
  297. package/types/generated/components/organisms/FuroTabs/FuroTabsContext.d.ts +438 -0
  298. package/types/generated/components/organisms/FuroToast/FuroToast.vue.d.ts +725 -0
  299. package/types/generated/components/organisms/FuroToast/FuroToastContext.d.ts +543 -0
  300. package/types/generated/components/organisms/FuroToast/FuroToaster.vue.d.ts +729 -0
  301. package/types/generated/components/organisms/FuroToast/FuroToasterContext.d.ts +62 -0
  302. package/types/generated/components/organisms/FuroToast/ToastQueue.d.ts +201 -0
  303. package/types/generated/components/organisms/FuroToast/toast.d.ts +23 -0
  304. package/types/generated/contexts/BaseFuroContext.d.ts +207 -0
  305. package/types/generated/contexts/BaseFuroContextAccessor.d.ts +28 -0
  306. package/types/generated/emit-payload/BaseEmitPayload.d.ts +62 -0
  307. package/types/generated/index.components.d.ts +50 -0
  308. package/types/generated/index.core.d.ts +6 -0
  309. package/types/generated/tools/TimerClerk.d.ts +50 -0
  310. package/types/index.d.ts +12 -0
@@ -0,0 +1,442 @@
1
+ import {
2
+ ref,
3
+ } from 'vue'
4
+
5
+ import BaseFuroContext from '../../../contexts/BaseFuroContext.js'
6
+
7
+ import NumberFieldEmitPayload from './NumberFieldEmitPayload.js'
8
+
9
+ /**
10
+ * Context class for managing FuroNumberField component.
11
+ *
12
+ * @extends {BaseFuroContext<null, Props, EmitEventName>}
13
+ */
14
+ export default class FuroNumberFieldContext extends BaseFuroContext {
15
+ /**
16
+ * Constructor.
17
+ *
18
+ * @param {FuroNumberFieldContextParams} params
19
+ */
20
+ constructor ({
21
+ props,
22
+ componentContext,
23
+ refHash,
24
+ }) {
25
+ super({
26
+ props,
27
+ componentContext,
28
+ })
29
+
30
+ this.refHash = refHash
31
+ }
32
+
33
+ /**
34
+ * Factory method.
35
+ *
36
+ * @template {X extends typeof FuroNumberFieldContext ? X : never} T, X
37
+ * @override
38
+ * @param {FuroNumberFieldContextFactoryParams} params - Parameters of this factory method.
39
+ * @returns {InstanceType<T>} An instance of this class.
40
+ * @this {T}
41
+ */
42
+ static create ({
43
+ props,
44
+ componentContext,
45
+
46
+ refHash = this.buildRefHash(),
47
+ }) {
48
+ return /** @type {InstanceType<T>} */ (
49
+ new this({
50
+ props,
51
+ componentContext,
52
+
53
+ refHash,
54
+ })
55
+ )
56
+ }
57
+
58
+ /**
59
+ * Build ref hash.
60
+ *
61
+ * @override
62
+ * @returns {{
63
+ * internalValueRef: import('vue').Ref<number | null>
64
+ * inputElementRef: import('vue').Ref<HTMLInputElement | null>
65
+ * }}
66
+ */
67
+ static buildRefHash () {
68
+ return {
69
+ internalValueRef: ref(null),
70
+ inputElementRef: ref(null),
71
+ }
72
+ }
73
+
74
+ /**
75
+ * Get emit event name.
76
+ *
77
+ * @override
78
+ * @returns {Readonly<{
79
+ * CHANGE_VALUE: 'change-value'
80
+ * COMMIT_VALUE: 'commit-value'
81
+ * UPDATE_VALUE: 'update:value'
82
+ * }>}
83
+ */
84
+ static get EMIT_EVENT_NAME () {
85
+ return {
86
+ CHANGE_VALUE: 'change-value',
87
+ COMMIT_VALUE: 'commit-value',
88
+ UPDATE_VALUE: 'update:value',
89
+ }
90
+ }
91
+
92
+ /**
93
+ * Get emit options.
94
+ *
95
+ * @returns {{
96
+ * 'change-value': (payload: import('./NumberFieldEmitPayload.js').default) => void
97
+ * 'commit-value': (payload: import('./NumberFieldEmitPayload.js').default) => void
98
+ * 'update:value': (value: number | null) => void
99
+ * }}
100
+ */
101
+ static get EMIT_EVENT_HASH () {
102
+ return {
103
+ [this.EMIT_EVENT_NAME.CHANGE_VALUE]: payload => true,
104
+ [this.EMIT_EVENT_NAME.COMMIT_VALUE]: payload => true,
105
+ [this.EMIT_EVENT_NAME.UPDATE_VALUE]: value => true,
106
+ }
107
+ }
108
+
109
+ /**
110
+ * get: Constructor of `EmitPayload`.
111
+ *
112
+ * @returns {typeof NumberFieldEmitPayload}
113
+ */
114
+ static get EmitPayloadCtor () {
115
+ return NumberFieldEmitPayload
116
+ }
117
+
118
+ /**
119
+ * Create an instance of `EmitPayload`.
120
+ *
121
+ * @param {{
122
+ * rawValue: number | null
123
+ * }} params - Parameters.
124
+ * @returns {InstanceType<typeof NumberFieldEmitPayload>}
125
+ */
126
+ static createEmitPayload ({
127
+ rawValue,
128
+ }) {
129
+ return this.EmitPayloadCtor.create({
130
+ rawEvent: rawValue,
131
+ })
132
+ }
133
+
134
+ /**
135
+ * get: Constructor of this class.
136
+ *
137
+ * @override
138
+ * @returns {typeof FuroNumberFieldContext}
139
+ */
140
+ get Ctor () {
141
+ return /** @type {typeof FuroNumberFieldContext} */ (
142
+ this.constructor
143
+ )
144
+ }
145
+
146
+ /**
147
+ * Get internal value ref.
148
+ *
149
+ * @returns {import('vue').Ref<number | null>}
150
+ */
151
+ get internalValueRef () {
152
+ return this.refHash.internalValueRef
153
+ }
154
+
155
+ /**
156
+ * Parcel passed from parent via props.
157
+ * Get input element ref.
158
+ *
159
+ * @returns {import('vue').Ref<HTMLInputElement | null>}
160
+ */
161
+ get inputElementRef () {
162
+ return this.refHash.inputElementRef
163
+ }
164
+
165
+ /**
166
+ * @returns {Props['parcel']}
167
+ */
168
+ get parcel () {
169
+ return this.props.parcel
170
+ ?? null
171
+ }
172
+
173
+ /**
174
+ * Input parcel passed from parent via props.
175
+ *
176
+ * @returns {FuroNumberFieldParcel['inputParcel'] & import('vue').InputHTMLAttributes | null}
177
+ */
178
+ get inputParcel () {
179
+ return this.parcel?.inputParcel
180
+ ?? null
181
+ }
182
+
183
+ /**
184
+ * Decrement parcel passed from parent via props.
185
+ *
186
+ * @returns {FuroNumberFieldParcel['decrementParcel']}
187
+ */
188
+ get decrementParcel () {
189
+ return this.parcel?.decrementParcel
190
+ ?? null
191
+ }
192
+
193
+ /**
194
+ * Increment parcel passed from parent via props.
195
+ *
196
+ * @returns {FuroNumberFieldParcel['incrementParcel']}
197
+ */
198
+ get incrementParcel () {
199
+ return this.parcel?.incrementParcel
200
+ ?? null
201
+ }
202
+
203
+ /**
204
+ * Placeholder passed from parent via props.
205
+ *
206
+ * @returns {HTMLInputElement['placeholder'] | null}
207
+ */
208
+ get placeholder () {
209
+ return (/** @type {import('vue').InputHTMLAttributes} */ (this.attrs))
210
+ .placeholder
211
+ ?? null
212
+ }
213
+
214
+ /**
215
+ * Name passed from parent via props.
216
+ *
217
+ * @returns {HTMLInputElement['name'] | null}
218
+ */
219
+ get name () {
220
+ return (/** @type {import('vue').InputHTMLAttributes} */ (this.attrs))
221
+ .name
222
+ ?? null
223
+ }
224
+
225
+ /**
226
+ * Setup component context.
227
+ *
228
+ * @template {X extends FuroNumberFieldContext ? X : never} T, X
229
+ * @override
230
+ * @returns {T} - For method chaining.
231
+ * @this {T}
232
+ */
233
+ setupComponent () {
234
+ this.watch(
235
+ () => this.parcel?.value,
236
+ parcelNumberValue => {
237
+ this.internalValueRef.value = parcelNumberValue ?? null
238
+ },
239
+ {
240
+ immediate: true,
241
+ }
242
+ )
243
+
244
+ return this
245
+ }
246
+
247
+ /**
248
+ * Extract root attributes from parcel.
249
+ *
250
+ * @returns {Omit<import('reka-ui').NumberFieldRootProps, 'modelValue' | 'defaultValue'> | null}
251
+ */
252
+ extractRootAttributes () {
253
+ return this.parcel
254
+ ?? null
255
+ }
256
+
257
+ /**
258
+ * Extract placeholder attribute.
259
+ *
260
+ * @returns {HTMLInputElement['placeholder']}
261
+ */
262
+ extractPlaceholderAttribute () {
263
+ return this.placeholder
264
+ ?? ''
265
+ }
266
+
267
+ /**
268
+ * Extract name attribute.
269
+ *
270
+ * @returns {HTMLInputElement['name']}
271
+ */
272
+ extractNameAttribute () {
273
+ return this.name
274
+ ?? ''
275
+ }
276
+
277
+ /**
278
+ * Whether the number field is invalid.
279
+ *
280
+ * @returns {boolean}
281
+ */
282
+ isInvalid () {
283
+ return Boolean(this.parcel?.invalid)
284
+ }
285
+
286
+ /**
287
+ * Build a custom event.
288
+ *
289
+ * @param {{
290
+ * name: string
291
+ * value: number | null
292
+ * }} params - Parameters.
293
+ * @returns {import('./NumberFieldEmitPayload.js').NumberFieldRawEvent}
294
+ */
295
+ buildCustomEvent ({
296
+ name,
297
+ value,
298
+ }) {
299
+ return new CustomEvent(
300
+ name,
301
+ {
302
+ detail: {
303
+ target: this.inputElementRef.value,
304
+ value,
305
+ },
306
+ }
307
+ )
308
+ }
309
+
310
+ /**
311
+ * Handle value update emitted by Reka UI NumberFieldRoot.
312
+ * Called on every `update:modelValue` event (typing, stepping, wheel).
313
+ *
314
+ * @param {{
315
+ * rawValue: number | null
316
+ * }} params - Parameters.
317
+ */
318
+ onChangeValue ({
319
+ rawValue,
320
+ }) {
321
+ const customEvent = this.buildCustomEvent({
322
+ name: this.EMIT_EVENT_NAME.CHANGE_VALUE,
323
+ value: rawValue,
324
+ })
325
+ const payload = this.Ctor.EmitPayloadCtor.create({
326
+ rawEvent: customEvent,
327
+ })
328
+
329
+ this.internalValueRef.value = payload.value
330
+
331
+ this.emit(
332
+ this.EMIT_EVENT_NAME.CHANGE_VALUE,
333
+ payload
334
+ )
335
+
336
+ // To support v-model:value.
337
+ this.emit(
338
+ this.EMIT_EVENT_NAME.UPDATE_VALUE,
339
+ payload.value
340
+ )
341
+ }
342
+
343
+ /**
344
+ * Handle commit event (blur or Enter key press on the input).
345
+ *
346
+ * @param {{
347
+ * rawValue: number | null
348
+ * }} params - Parameters.
349
+ */
350
+ onCommitValue ({
351
+ rawValue,
352
+ }) {
353
+ const customEvent = this.buildCustomEvent({
354
+ name: this.EMIT_EVENT_NAME.COMMIT_VALUE,
355
+ value: rawValue,
356
+ })
357
+ const payload = this.Ctor.EmitPayloadCtor.create({
358
+ rawEvent: customEvent,
359
+ })
360
+
361
+ this.internalValueRef.value = payload.value
362
+
363
+ this.emit(
364
+ this.EMIT_EVENT_NAME.COMMIT_VALUE,
365
+ payload
366
+ )
367
+
368
+ // To support v-model:value.
369
+ this.emit(
370
+ this.EMIT_EVENT_NAME.UPDATE_VALUE,
371
+ payload.value
372
+ )
373
+ }
374
+ }
375
+
376
+ /**
377
+ * @typedef {import('../../../contexts/BaseFuroContext.js').BaseFuroContextParams & {
378
+ * props: Props
379
+ * componentContext: ComponentContext
380
+ * refHash: {
381
+ * internalValueRef: import('vue').Ref<number | null>
382
+ * inputElementRef: import('vue').Ref<HTMLInputElement | null>
383
+ * }
384
+ * }} FuroNumberFieldContextParams
385
+ */
386
+
387
+ /**
388
+ * @typedef {Omit<FuroNumberFieldContextParams, 'refHash'> & {
389
+ * refHash?: {
390
+ * internalValueRef: import('vue').Ref<number | null>
391
+ * inputElementRef: import('vue').Ref<HTMLInputElement | null>
392
+ * }
393
+ * }} FuroNumberFieldContextFactoryParams
394
+ */
395
+
396
+ /**
397
+ * @typedef {keyof typeof FuroNumberFieldContext.EMIT_EVENT_NAME} EmitEventName
398
+ */
399
+
400
+ /**
401
+ * @typedef {import('vue').HTMLAttributes & {
402
+ * parcel?: FuroNumberFieldParcel | null
403
+ * }} Props
404
+ */
405
+
406
+ /**
407
+ * @typedef {import('vue').SetupContext<FuroNumberFieldEmitHash, FuroNumberFieldSlots>} ComponentContext
408
+ */
409
+
410
+ /**
411
+ * @typedef {import('vue').SlotsType<{
412
+ * increment?: {
413
+ * value: number
414
+ * }
415
+ * decrement?: {
416
+ * value: number
417
+ * }
418
+ * }>} FuroNumberFieldSlots
419
+ */
420
+
421
+ /**
422
+ * @typedef {Omit<import('reka-ui').NumberFieldRootProps, 'modelValue' | 'defaultValue'> & {
423
+ * value?: number | null
424
+ * invalid?: boolean
425
+ * inputParcel?: import('reka-ui').NumberFieldInputProps & import('vue').InputHTMLAttributes | null
426
+ * decrementParcel?: import('reka-ui').NumberFieldDecrementProps | null
427
+ * incrementParcel?: import('reka-ui').NumberFieldIncrementProps | null
428
+ * }} FuroNumberFieldParcel
429
+ */
430
+
431
+ /**
432
+ * @typedef {typeof FuroNumberFieldContext.EMIT_EVENT_HASH} FuroNumberFieldEmitHash
433
+ */
434
+
435
+ /**
436
+ * @typedef {(
437
+ * props: Props,
438
+ * componentContext: ComponentContext
439
+ * ) => {
440
+ * context: FuroNumberFieldContext
441
+ * }} FuroNumberFieldSetup
442
+ */
@@ -0,0 +1,162 @@
1
+ import BaseEmitPayload from '../../../emit-payload/BaseEmitPayload.js'
2
+
3
+ /**
4
+ * NumberFieldEmitPayload.
5
+ *
6
+ * @extends {BaseEmitPayload<NumberFieldRawEvent>}
7
+ */
8
+ export default class NumberFieldEmitPayload extends BaseEmitPayload {
9
+ /**
10
+ * Get the event detail.
11
+ *
12
+ * @returns {NumberFieldRawEvent['detail'] | null}
13
+ */
14
+ get eventDetail () {
15
+ return this.rawEvent.detail
16
+ ?? null
17
+ }
18
+
19
+ /**
20
+ * Get the control element from the raw event.
21
+ *
22
+ * @override
23
+ * @returns {HTMLElement | null}
24
+ */
25
+ get controlElement () {
26
+ return this.eventDetail?.target
27
+ ?? null
28
+ }
29
+
30
+ /**
31
+ * Current numeric value of the number field.
32
+ * Returns `null` when the field is empty or cleared.
33
+ *
34
+ * @returns {number | null}
35
+ */
36
+ get value () {
37
+ return this.eventDetail?.value
38
+ ?? null
39
+ }
40
+
41
+ /**
42
+ * Whether the field value is empty (null).
43
+ *
44
+ * @returns {boolean}
45
+ */
46
+ hasEmptyValue () {
47
+ return this.value === null
48
+ }
49
+
50
+ /**
51
+ * Whether the field has a finite numeric value entered.
52
+ *
53
+ * @returns {boolean}
54
+ */
55
+ hasEnteredValue () {
56
+ return !this.hasEmptyValue()
57
+ && Number.isFinite(this.value)
58
+ }
59
+
60
+ /**
61
+ * Extract the `min` value attribute from the control element.
62
+ *
63
+ * @returns {number | null}
64
+ */
65
+ extractMinValueAttribute () {
66
+ return this.parseStringAsNumber({
67
+ stringValue: this.getElementAttribute({
68
+ key: 'min',
69
+ }),
70
+ })
71
+ }
72
+
73
+ /**
74
+ * Extract the `max` value attribute from the control element.
75
+ *
76
+ * @returns {number | null}
77
+ */
78
+ extractMaxValueAttribute () {
79
+ return this.parseStringAsNumber({
80
+ stringValue: this.getElementAttribute({
81
+ key: 'max',
82
+ }),
83
+ })
84
+ }
85
+
86
+ /**
87
+ * Whether the field value is greater than or equal to the control `min` attribute.
88
+ *
89
+ * @returns {boolean}
90
+ */
91
+ isGreaterThanOrEqualMin () {
92
+ const minAttributeValue = this.extractMinValueAttribute() ?? NaN
93
+ const inputValue = this.value ?? NaN
94
+
95
+ if (
96
+ isNaN(inputValue)
97
+ || isNaN(minAttributeValue)
98
+ ) {
99
+ return false
100
+ }
101
+
102
+ return inputValue >= minAttributeValue
103
+ }
104
+
105
+ /**
106
+ * Whether the field value is less than or equal to the control `max` attribute.
107
+ *
108
+ * @returns {boolean}
109
+ */
110
+ isLessThanOrEqualMax () {
111
+ const maxAttributeValue = this.extractMaxValueAttribute() ?? NaN
112
+ const inputValue = this.value ?? NaN
113
+
114
+ if (
115
+ isNaN(inputValue)
116
+ || isNaN(maxAttributeValue)
117
+ ) {
118
+ return false
119
+ }
120
+
121
+ return inputValue <= maxAttributeValue
122
+ }
123
+
124
+ /**
125
+ * Whether the field value lies between the control `min` and `max` attributes (inclusive).
126
+ *
127
+ * Requires both attributes to parse as finite numbers; otherwise returns `false`.
128
+ *
129
+ * @returns {boolean}
130
+ */
131
+ isWithinRange () {
132
+ const minAttributeValue = this.extractMinValueAttribute() ?? NaN
133
+ const maxAttributeValue = this.extractMaxValueAttribute() ?? NaN
134
+
135
+ if (
136
+ isNaN(minAttributeValue)
137
+ || isNaN(maxAttributeValue)
138
+ ) {
139
+ return false
140
+ }
141
+
142
+ return this.isGreaterThanOrEqualMin()
143
+ && this.isLessThanOrEqualMax()
144
+ }
145
+ }
146
+
147
+ /**
148
+ * @typedef {{
149
+ * rawEvent: NumberFieldRawEvent
150
+ * }} NumberFieldEmitPayloadParams
151
+ */
152
+
153
+ /**
154
+ * @typedef {CustomEvent<{
155
+ * target: HTMLInputElement | null
156
+ * value: number | null
157
+ * }>} NumberFieldRawEvent
158
+ */
159
+
160
+ /**
161
+ * @typedef {NumberFieldEmitPayloadParams} NumberFieldEmitPayloadFactoryParams
162
+ */
@@ -0,0 +1,119 @@
1
+ <script>
2
+ import {
3
+ defineComponent,
4
+ } from 'vue'
5
+
6
+ import FuroPasswordFieldContext from './FuroPasswordFieldContext.js'
7
+
8
+ export default defineComponent({
9
+ name: 'FuroPasswordField',
10
+ inheritAttrs: false,
11
+
12
+ props: {
13
+ parcel: {
14
+ /** @type {import('vue').PropType<import('./FuroPasswordFieldContext.js').Props['parcel']>} */
15
+ type: [
16
+ Object,
17
+ null,
18
+ ],
19
+ default: null,
20
+ },
21
+ },
22
+
23
+ emits: FuroPasswordFieldContext.EMIT_EVENT_HASH,
24
+
25
+ /**
26
+ * Setup of this component.
27
+ *
28
+ * @type {import('./FuroPasswordFieldContext.js').FuroPasswordFieldSetup}
29
+ */
30
+ setup (
31
+ props,
32
+ componentContext
33
+ ) {
34
+ const context = FuroPasswordFieldContext.create({
35
+ props,
36
+ componentContext,
37
+ })
38
+ .setupComponent()
39
+
40
+ return {
41
+ context,
42
+ }
43
+ },
44
+ })
45
+ </script>
46
+
47
+ <template>
48
+ <input
49
+ class="unit-form-control password"
50
+ :class="{
51
+ invalid: context.isInvalid(),
52
+ }"
53
+ type="password"
54
+ v-bind="context.generateInputAttributes()"
55
+ :aria-invalid="context.isInvalid()"
56
+ :value="context.internalValueRef.value"
57
+ @input="context.onChangeValue({
58
+ rawEvent: $event,
59
+ })"
60
+ @blur="context.onCommitValue({
61
+ rawEvent: $event,
62
+ })"
63
+ @keypress.enter="context.onCommitValue({
64
+ rawEvent: $event,
65
+ })"
66
+ >
67
+ </template>
68
+
69
+ <style>
70
+ @layer furo {
71
+ .unit-form-control.password {
72
+ display: flex;
73
+
74
+ border-radius: var(--size-border-radius-medium);
75
+ border: var(--size-thinnest) solid var(--color-input);
76
+
77
+ width: 100%;
78
+ min-width: 0;
79
+ height: var(--size-input-height);
80
+
81
+ padding-block: 0.25rem;
82
+ padding-inline: 0.625rem;
83
+
84
+ background-color: transparent;
85
+
86
+ color: var(--color-foreground);
87
+ font: var(--font-body-medium);
88
+
89
+ transition-duration: var(--transition-timer);
90
+ transition-property: color, background-color, border-color;
91
+
92
+ @media (width < 48rem) {
93
+ font-size: var(--font-size-small);
94
+ }
95
+ }
96
+
97
+ .unit-form-control.password::placeholder {
98
+ color: var(--color-muted-foreground);
99
+ }
100
+
101
+ .unit-form-control.password:disabled {
102
+ cursor: not-allowed;
103
+ opacity: 0.5;
104
+ }
105
+
106
+ .unit-form-control.password:focus-visible {
107
+ outline: none;
108
+ border-color: var(--color-ring);
109
+ }
110
+
111
+ .unit-form-control.password.invalid {
112
+ border-color: var(--color-destructive);
113
+ }
114
+
115
+ .unit-form-control.password.invalid:focus-visible {
116
+ border-color: var(--color-destructive);
117
+ }
118
+ }
119
+ </style>