@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,743 @@
1
+ import {
2
+ ref,
3
+ } from 'vue'
4
+
5
+ import BaseFuroContext from '../../../contexts/BaseFuroContext.js'
6
+
7
+ import SelectEmitPayload from './SelectEmitPayload.js'
8
+
9
+ /**
10
+ * Context class for managing FuroSelect component.
11
+ *
12
+ * @extends {BaseFuroContext<null, Props, EmitEventName>}
13
+ */
14
+ export default class FuroSelectContext extends BaseFuroContext {
15
+ /**
16
+ * Constructor.
17
+ *
18
+ * @param {FuroSelectContextParams} params - Parameters of this constructor.
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 FuroSelectContext ? X : never} T, X
37
+ * @override
38
+ * @param {FuroSelectContextFactoryParams} 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 {FuroSelectContextParams['refHash']}
63
+ */
64
+ static buildRefHash () {
65
+ return {
66
+ triggerElementRef: ref(null),
67
+ internalValueRef: ref(null),
68
+ }
69
+ }
70
+
71
+ /**
72
+ * Get emit event name.
73
+ *
74
+ * @override
75
+ * @returns {Readonly<{
76
+ * CHANGE_VALUE: 'change-value'
77
+ * COMMIT_VALUE: 'commit-value'
78
+ * UPDATE_VALUE: 'update:value'
79
+ * }>}
80
+ */
81
+ static get EMIT_EVENT_NAME () {
82
+ return {
83
+ CHANGE_VALUE: 'change-value',
84
+ COMMIT_VALUE: 'commit-value',
85
+ UPDATE_VALUE: 'update:value',
86
+ }
87
+ }
88
+
89
+ /**
90
+ * Get emit options.
91
+ *
92
+ * @returns {{
93
+ * 'change-value': (payload: import('./SelectEmitPayload.js').default) => void
94
+ * 'commit-value': (payload: import('./SelectEmitPayload.js').default) => void
95
+ * 'update:value': (value: FuroSelectValue | Array<FuroSelectValue> | null) => void
96
+ * }}
97
+ */
98
+ static get EMIT_EVENT_HASH () {
99
+ return {
100
+ [this.EMIT_EVENT_NAME.CHANGE_VALUE]: payload => {},
101
+ [this.EMIT_EVENT_NAME.COMMIT_VALUE]: payload => {},
102
+ [this.EMIT_EVENT_NAME.UPDATE_VALUE]: value => {},
103
+ }
104
+ }
105
+
106
+ /**
107
+ * get: Constructor of `EmitPayload`.
108
+ *
109
+ * @returns {typeof SelectEmitPayload}
110
+ */
111
+ static get EmitPayloadCtor () {
112
+ return SelectEmitPayload
113
+ }
114
+
115
+ /**
116
+ * get: Constructor of this class.
117
+ *
118
+ * @override
119
+ * @returns {typeof FuroSelectContext}
120
+ */
121
+ get Ctor () {
122
+ return /** @type {typeof FuroSelectContext} */ (
123
+ this.constructor
124
+ )
125
+ }
126
+
127
+ /**
128
+ * Get trigger element ref.
129
+ *
130
+ * @returns {import('vue').Ref<HTMLElement | null>}
131
+ */
132
+ get triggerElementRef () {
133
+ return this.refHash.triggerElementRef
134
+ }
135
+
136
+ /**
137
+ * Get internal value ref.
138
+ *
139
+ * @returns {import('vue').Ref<FuroSelectValue | Array<FuroSelectValue>>}
140
+ */
141
+ get internalValueRef () {
142
+ return this.refHash.internalValueRef
143
+ }
144
+
145
+ /**
146
+ * Parcel passed from parent via props.
147
+ *
148
+ * @override
149
+ * @returns {Props['parcel']}
150
+ */
151
+ get parcel () {
152
+ return this.props.parcel
153
+ ?? null
154
+ }
155
+
156
+ /**
157
+ * Get trigger attributes.
158
+ *
159
+ * @returns {Props['triggerParcel']}
160
+ */
161
+ get triggerParcel () {
162
+ return this.props.triggerParcel
163
+ ?? null
164
+ }
165
+
166
+ /**
167
+ * Get portal attributes.
168
+ *
169
+ * @returns {Props['portalParcel']}
170
+ */
171
+ get portalParcel () {
172
+ return this.props.portalParcel
173
+ ?? null
174
+ }
175
+
176
+ /**
177
+ * Get content attributes.
178
+ *
179
+ * @returns {Props['contentParcel']}
180
+ */
181
+ get contentParcel () {
182
+ return this.props.contentParcel
183
+ ?? null
184
+ }
185
+
186
+ /**
187
+ * Get loading.
188
+ *
189
+ * @returns {boolean}
190
+ */
191
+ get loading () {
192
+ return this.parcel?.loading
193
+ ?? false
194
+ }
195
+
196
+ /**
197
+ * Whether the select is invalid.
198
+ *
199
+ * @returns {boolean}
200
+ */
201
+ get isInvalid () {
202
+ return this.parcel?.invalid
203
+ ?? false
204
+ }
205
+
206
+ /**
207
+ * Whether the select is multiple.
208
+ *
209
+ * @returns {boolean}
210
+ */
211
+ get isMultiple () {
212
+ return this.parcel?.multiple
213
+ ?? false
214
+ }
215
+
216
+ /**
217
+ * @returns {Array<import('./SelectEmitPayload.js').FuroSelectOption>}
218
+ */
219
+ get options () {
220
+ return this.parcel?.options
221
+ ?? []
222
+ }
223
+
224
+ /**
225
+ * get: how to derive an option's display label — a key name or a function.
226
+ *
227
+ * @returns {string | ((option: FuroSelectOption) => string) | null}
228
+ */
229
+ get optionLabel () {
230
+ return this.parcel?.optionLabel
231
+ ?? null
232
+ }
233
+
234
+ /**
235
+ * get: how to derive an option's model value — a key name or a function.
236
+ *
237
+ * @returns {string | ((option: FuroSelectOption) => FuroSelectValue) | null}
238
+ */
239
+ get optionValue () {
240
+ return this.parcel?.optionValue
241
+ ?? null
242
+ }
243
+
244
+ /**
245
+ * Resolve an option's display label.
246
+ *
247
+ * Uses `optionLabel` when set (function or key name); otherwise falls back to
248
+ * the option's own `label` (the historical default).
249
+ *
250
+ * @param {{
251
+ * option: FuroSelectOption
252
+ * }} params - Parameters of this method.
253
+ * @returns {string | null} Display label.
254
+ */
255
+ resolveOptionLabel ({
256
+ option,
257
+ }) {
258
+ if (typeof this.optionLabel === 'function') {
259
+ return this.optionLabel(option)
260
+ }
261
+
262
+ if (typeof this.optionLabel === 'string') {
263
+ return option?.[this.optionLabel]
264
+ ?? null
265
+ }
266
+
267
+ return option?.label
268
+ ?? null
269
+ }
270
+
271
+ /**
272
+ * Resolve an option's model value.
273
+ *
274
+ * Uses `optionValue` when set (function or key name); otherwise falls back to
275
+ * the option's own `value` (the historical default for FuroSelect).
276
+ *
277
+ * @param {{
278
+ * option: FuroSelectOption
279
+ * }} params - Parameters of this method.
280
+ * @returns {FuroSelectValue} Model value.
281
+ */
282
+ resolveOptionValue ({
283
+ option,
284
+ }) {
285
+ if (typeof this.optionValue === 'function') {
286
+ return this.optionValue(option)
287
+ }
288
+
289
+ if (typeof this.optionValue === 'string') {
290
+ return option?.[this.optionValue]
291
+ ?? null
292
+ }
293
+
294
+ return option?.value
295
+ ?? null
296
+ }
297
+
298
+ /**
299
+ * Setup component context.
300
+ *
301
+ * @template {X extends FuroSelectContext ? X : never} T, X
302
+ * @override
303
+ * @returns {T} - For method chaining.
304
+ * @this {T}
305
+ */
306
+ setupComponent () {
307
+ this.watch(
308
+ [
309
+ () => this.parcel?.value,
310
+ () => this.attrs?.value ?? null,
311
+ () => this.parcel?.multiple ?? false,
312
+ ],
313
+ ([parcelSelectValue, attrsSelectValue, multiple]) => {
314
+ const nextValue = parcelSelectValue
315
+ ?? attrsSelectValue
316
+
317
+ if (multiple) {
318
+ this.internalValueRef.value = Array.isArray(nextValue)
319
+ ? nextValue
320
+ : []
321
+
322
+ return
323
+ }
324
+
325
+ this.internalValueRef.value = nextValue
326
+ },
327
+ {
328
+ immediate: true,
329
+ }
330
+ )
331
+
332
+ return this
333
+ }
334
+
335
+ /**
336
+ * Extract root attributes.
337
+ *
338
+ * @returns {Props['parcel']}
339
+ */
340
+ extractRootAttributes () {
341
+ /** @type {Record<string, FuroSelectTextDirectionValue>} */
342
+ const textDirectionMap = {
343
+ toRight: 'ltr',
344
+ toLeft: 'rtl',
345
+ }
346
+ const textDirection = this.parcel?.textDirection ?? 'toRight'
347
+ const dir = textDirectionMap[textDirection] ?? 'ltr'
348
+
349
+ const {
350
+ optionLabel,
351
+ optionValue,
352
+ ...restParcel
353
+ } = this.parcel ?? {}
354
+
355
+ return {
356
+ ...this.attrs,
357
+ ...restParcel,
358
+ modelValue: this.internalValueRef.value,
359
+ dir,
360
+ }
361
+ }
362
+
363
+ /**
364
+ * Extract trigger attributes.
365
+ *
366
+ * @returns {Props['triggerParcel']}
367
+ */
368
+ extractTriggerAttributes () {
369
+ return this.triggerParcel
370
+ }
371
+
372
+ /**
373
+ * Extract content attributes.
374
+ *
375
+ * @returns {Props['contentParcel']}
376
+ */
377
+ extractContentAttributes () {
378
+ return this.contentParcel
379
+ }
380
+
381
+ /**
382
+ * Extract placeholder.
383
+ *
384
+ * @returns {string}
385
+ */
386
+ extractPlaceholder () {
387
+ return this.parcel?.placeholder
388
+ ?? ''
389
+ }
390
+
391
+ /**
392
+ * Whether to show the group option.
393
+ *
394
+ * @param {{
395
+ * option: FuroSelectOption | null
396
+ * }} params - Parameters of this method.
397
+ * @returns {boolean}
398
+ */
399
+ shouldShowGroupOption ({
400
+ option,
401
+ }) {
402
+ if (!option?.options) {
403
+ return false
404
+ }
405
+
406
+ return option.options.length > 0
407
+ }
408
+
409
+ /**
410
+ * Whether the select has empty options.
411
+ *
412
+ * @returns {boolean}
413
+ */
414
+ hasEmptyOptions () {
415
+ return !this.parcel?.options?.length
416
+ && !this.parcel?.loading
417
+ }
418
+
419
+ /**
420
+ * Extract group options.
421
+ *
422
+ * @param {{
423
+ * option: FuroSelectOption | null
424
+ * }} params - Parameters of this method.
425
+ * @returns {Array<import('./SelectEmitPayload.js').FuroSelectOption>}
426
+ */
427
+ extractGroupOptions ({
428
+ option,
429
+ }) {
430
+ if (!option?.options) {
431
+ return []
432
+ }
433
+
434
+ return option.options
435
+ }
436
+
437
+ /**
438
+ * Build a custom event for emit payload construction.
439
+ *
440
+ * @param {{
441
+ * name: string
442
+ * selectedOption: FuroSelectOption | null
443
+ * selectedOptions: Array<FuroSelectOption> | null
444
+ * selectedIndex: number | null
445
+ * selectedGroupIndex: number | null
446
+ * selectedIndices: Array<number | null>
447
+ * selectedGroupIndices: Array<number | null>
448
+ * }} params - Parameters of this method.
449
+ * @returns {CustomEvent<{
450
+ * target: HTMLElement | null
451
+ * selectedOption: FuroSelectOption | null
452
+ * selectedOptions: Array<FuroSelectOption> | null
453
+ * selectedIndex: number | null
454
+ * selectedGroupIndex: number | null
455
+ * selectedIndices: Array<number | null>
456
+ * selectedGroupIndices: Array<number | null>
457
+ * }>}
458
+ */
459
+ buildCustomEvent ({
460
+ name,
461
+ selectedOption,
462
+ selectedOptions,
463
+ selectedIndex,
464
+ selectedGroupIndex,
465
+ selectedIndices,
466
+ selectedGroupIndices,
467
+ }) {
468
+ return new CustomEvent(
469
+ name,
470
+ {
471
+ detail: {
472
+ target: this.triggerElementRef.value,
473
+ selectedOption,
474
+ selectedOptions,
475
+ selectedIndex,
476
+ selectedGroupIndex,
477
+ selectedIndices,
478
+ selectedGroupIndices,
479
+ },
480
+ }
481
+ )
482
+ }
483
+
484
+ /**
485
+ * @param {{
486
+ * options?: Array<FuroSelectOption>
487
+ * }} params - Parameters of this method.
488
+ * @returns {Array<FuroSelectOption & {
489
+ * groupIndex: number | null
490
+ * optionIndex: number
491
+ * }>}
492
+ */
493
+ generateFlattenedOptions ({
494
+ options = this.options,
495
+ } = {}) {
496
+ return options.flatMap(
497
+ (group, groupIndex) => [group, ...(group?.options ?? [])]
498
+ .map((option, optionIndex) => ({
499
+ ...option,
500
+ groupIndex: group?.options
501
+ ? groupIndex
502
+ : null,
503
+ optionIndex: group?.options
504
+ ? optionIndex
505
+ : groupIndex,
506
+ }))
507
+ )
508
+ }
509
+
510
+ /**
511
+ * Handle `update:model-value` from Reka `SelectRoot`.
512
+ *
513
+ * @param {{
514
+ * selectedValue: FuroSelectValue | Array<FuroSelectValue>
515
+ * }} params - Parameters of this method.
516
+ */
517
+ onChangeValue ({
518
+ selectedValue,
519
+ }) {
520
+ const flattenedOptions = this.generateFlattenedOptions()
521
+
522
+ const selectedOption = flattenedOptions.find(
523
+ it => (Array.isArray(selectedValue)
524
+ ? selectedValue.some(value => JSON.stringify(this.resolveOptionValue({ option: it })) === JSON.stringify(value))
525
+ : JSON.stringify(this.resolveOptionValue({ option: it })) === JSON.stringify(selectedValue))
526
+ ) ?? null
527
+ const selectedOptions = flattenedOptions.filter(
528
+ it => Array.isArray(selectedValue) && selectedValue.some(
529
+ value => JSON.stringify(this.resolveOptionValue({ option: it })) === JSON.stringify(value))
530
+ )
531
+
532
+ const customEvent = this.buildCustomEvent({
533
+ name: this.EMIT_EVENT_NAME.CHANGE_VALUE,
534
+ selectedOption,
535
+ selectedOptions,
536
+ selectedIndex: selectedOption?.optionIndex ?? null,
537
+ selectedGroupIndex: selectedOption?.groupIndex ?? null,
538
+ selectedIndices: selectedOptions.map(it => it?.optionIndex),
539
+ selectedGroupIndices: selectedOptions.map(it => it?.groupIndex),
540
+ })
541
+
542
+ const payload = this.Ctor.EmitPayloadCtor.create({
543
+ rawEvent: customEvent,
544
+ })
545
+
546
+ this.internalValueRef.value = selectedValue
547
+
548
+ this.emit(
549
+ this.EMIT_EVENT_NAME.CHANGE_VALUE,
550
+ payload
551
+ )
552
+
553
+ this.emit(
554
+ this.EMIT_EVENT_NAME.COMMIT_VALUE,
555
+ payload
556
+ )
557
+
558
+ this.emit(
559
+ this.EMIT_EVENT_NAME.UPDATE_VALUE,
560
+ this.extractUpdateValue({
561
+ selectedValue,
562
+ selectedOption,
563
+ })
564
+ )
565
+ }
566
+
567
+ /**
568
+ * Resolve the value emitted via `update:value`.
569
+ *
570
+ * In multiple mode this is the full array of selected model values (the
571
+ * underlying model array, already in `optionValue` space); otherwise it is the
572
+ * single resolved value of the matched option.
573
+ *
574
+ * @param {{
575
+ * selectedValue: FuroSelectValue | Array<FuroSelectValue>
576
+ * selectedOption: FuroSelectOption | null
577
+ * }} params - Parameters of this method.
578
+ * @returns {FuroSelectValue | Array<FuroSelectValue>}
579
+ */
580
+ extractUpdateValue ({
581
+ selectedValue,
582
+ selectedOption,
583
+ }) {
584
+ if (!this.isMultiple) {
585
+ return this.resolveOptionValue({
586
+ option: selectedOption,
587
+ })
588
+ }
589
+
590
+ return Array.isArray(selectedValue)
591
+ ? selectedValue
592
+ : []
593
+ }
594
+ }
595
+
596
+ /**
597
+ * @typedef {import('../../../contexts/BaseFuroContext.js').BaseFuroContextParams & {
598
+ * props: Props
599
+ * componentContext: ComponentContext
600
+ * refHash: {
601
+ * triggerElementRef: import('vue').Ref<HTMLElement | null>
602
+ * internalValueRef: import('vue').Ref<FuroSelectValue | Array<FuroSelectValue>>
603
+ * }
604
+ * }} FuroSelectContextParams
605
+ */
606
+
607
+ /**
608
+ * @typedef {Omit<FuroSelectContextParams, 'refHash'> & {
609
+ * refHash?: {
610
+ * triggerElementRef: import('vue').Ref<HTMLElement | null>
611
+ * internalValueRef: import('vue').Ref<FuroSelectValue>
612
+ * }
613
+ * }} FuroSelectContextFactoryParams
614
+ */
615
+
616
+ /**
617
+ * @typedef {keyof typeof FuroSelectContext.EMIT_EVENT_NAME} EmitEventName
618
+ */
619
+
620
+ /**
621
+ * A value FuroSelect can bind — a primitive, a whole option object, or null.
622
+ * Self-defined so the public value contract does not depend on the internal
623
+ * headless library.
624
+ *
625
+ * @typedef {string | number | bigint | Record<string, unknown> | null} FuroSelectValue
626
+ */
627
+
628
+ /**
629
+ * Text-flow direction resolved for the control.
630
+ *
631
+ * @typedef {'ltr' | 'rtl'} FuroSelectTextDirectionValue
632
+ */
633
+
634
+ /*
635
+ * --- Internal headless-library type adapter ---
636
+ * The ONLY place in FuroSelect that references the underlying headless library
637
+ * (`Reka`). Every other type below uses the Furo-named aliases here, so swapping
638
+ * the library later means editing only this block.
639
+ */
640
+
641
+ /**
642
+ * @typedef {Reka.SelectRootProps} FuroSelectRootParcelBase
643
+ */
644
+
645
+ /**
646
+ * @typedef {Reka.SelectTriggerProps} FuroSelectTriggerParcel
647
+ */
648
+
649
+ /**
650
+ * @typedef {Reka.SelectPortalProps} FuroSelectPortalParcel
651
+ */
652
+
653
+ /**
654
+ * @typedef {Reka.SelectContentProps} FuroSelectContentParcel
655
+ */
656
+
657
+ /**
658
+ * @typedef {import('vue').HTMLAttributes & {
659
+ * parcel?: FuroSelectRootParcelBase & ExtraRootParcel | null
660
+ * triggerParcel?: FuroSelectTriggerParcel | null
661
+ * portalParcel?: FuroSelectPortalParcel | null
662
+ * contentParcel?: FuroSelectContentParcel | null
663
+ * }} Props
664
+ */
665
+
666
+ /**
667
+ * @typedef {Record<string, unknown> & {
668
+ * placeholder?: string | null
669
+ * loading?: boolean
670
+ * invalid?: boolean
671
+ * textDirection?: 'toRight' | 'toLeft'
672
+ * options?: Array<FuroSelectOption>
673
+ * optionLabel?: string | ((option: FuroSelectOption) => string)
674
+ * optionValue?: string | ((option: FuroSelectOption) => FuroSelectValue)
675
+ * }} ExtraRootParcel
676
+ */
677
+
678
+ /**
679
+ * @typedef {import('vue').SetupContext<FuroSelectEmitHash, FuroSelectSlots>} ComponentContext
680
+ */
681
+
682
+ /**
683
+ * @typedef {import('vue').SlotsType<{
684
+ * 'trigger-content': {}
685
+ * 'trigger-text': {}
686
+ * 'trigger-icon': {}
687
+ * 'trigger-loading-icon': {}
688
+ * 'scroll-up-button': {}
689
+ * 'scroll-down-button': {}
690
+ * 'content-before': {}
691
+ * 'content-after': {}
692
+ * group: {
693
+ * group: FuroSelectOption
694
+ * groupIndex: number
695
+ * }
696
+ * 'group-label': {
697
+ * group: FuroSelectOption
698
+ * groupIndex: number
699
+ * }
700
+ * option: {
701
+ * option: FuroSelectOption
702
+ * optionIndex: number
703
+ * group?: FuroSelectOption
704
+ * groupIndex?: number
705
+ * }
706
+ * 'option-text': {
707
+ * option: FuroSelectOption
708
+ * optionIndex: number
709
+ * }
710
+ * 'option-indicator': {
711
+ * option: FuroSelectOption
712
+ * optionIndex: number
713
+ * }
714
+ * 'separator': {
715
+ * option: FuroSelectOption
716
+ * optionIndex: number
717
+ * }
718
+ * empty: {
719
+ * loading: boolean
720
+ * }
721
+ * }>} FuroSelectSlots
722
+ */
723
+
724
+ /**
725
+ * @typedef {typeof FuroSelectContext.EMIT_EVENT_HASH} FuroSelectEmitHash
726
+ */
727
+
728
+ /**
729
+ * @typedef {(
730
+ * props: Props,
731
+ * componentContext: ComponentContext
732
+ * ) => {
733
+ * context: FuroSelectContext
734
+ * }} FuroSelectSetup
735
+ */
736
+
737
+ /**
738
+ * @typedef {import('./SelectEmitPayload.js').FuroSelectOption} FuroSelectOption
739
+ */
740
+
741
+ /**
742
+ * @import * as Reka from 'reka-ui'
743
+ */