@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,714 @@
1
+ import {
2
+ ref,
3
+ } from 'vue'
4
+
5
+ import BaseFuroContext from '../../../contexts/BaseFuroContext.js'
6
+
7
+ import DropdownMenuOptionSelectEmitPayload from './DropdownMenuOptionSelectEmitPayload.js'
8
+
9
+ /**
10
+ * Parcel keys handled explicitly or Furo-only — excluded from the v-bind spread to DropdownMenuRoot.
11
+ * `open` and `disabled` are forwarded via dedicated bindings (not dropped).
12
+ * `side`, `align`, `sideOffset` are forwarded to DropdownMenuContent instead.
13
+ * `options` is Furo-only with no Reka analog.
14
+ */
15
+ const ROOT_SPREAD_EXCLUDED_PARCEL_KEYS = new Set([
16
+ 'open',
17
+ 'disabled',
18
+ 'side',
19
+ 'align',
20
+ 'sideOffset',
21
+ 'options',
22
+ ])
23
+
24
+ /**
25
+ * Trigger parcel keys handled explicitly or Furo-only — excluded from the v-bind spread to Reka Trigger.
26
+ */
27
+ const TRIGGER_SPREAD_EXCLUDED_PARCEL_KEYS = new Set([
28
+ 'variant',
29
+ 'size',
30
+ 'loading',
31
+ 'asChild',
32
+ 'disabled',
33
+ ])
34
+
35
+ /**
36
+ * Context class for FuroDropdownMenu molecule.
37
+ *
38
+ * @extends {BaseFuroContext<null, Props, EmitEventName>}
39
+ */
40
+ export default class FuroDropdownMenuContext extends BaseFuroContext {
41
+ /**
42
+ * Constructor.
43
+ *
44
+ * @param {FuroDropdownMenuContextParams} params - Parameters of this constructor.
45
+ */
46
+ constructor ({
47
+ props,
48
+ componentContext,
49
+
50
+ refHash,
51
+ }) {
52
+ super({
53
+ props,
54
+ componentContext,
55
+ })
56
+
57
+ this.refHash = refHash
58
+ }
59
+
60
+ /**
61
+ * Factory method.
62
+ *
63
+ * @template {X extends typeof FuroDropdownMenuContext ? X : never} T, X
64
+ * @override
65
+ * @param {FuroDropdownMenuContextFactoryParams} params - Parameters of this factory method.
66
+ * @returns {InstanceType<T>} An instance of this class.
67
+ * @this {T}
68
+ */
69
+ static create ({
70
+ props,
71
+ componentContext,
72
+
73
+ refHash = this.buildRefHash(),
74
+ }) {
75
+ return /** @type {InstanceType<T>} */ (
76
+ new this({
77
+ props,
78
+ componentContext,
79
+
80
+ refHash,
81
+ })
82
+ )
83
+ }
84
+
85
+ /**
86
+ * Build ref hash.
87
+ *
88
+ * @override
89
+ * @returns {FuroDropdownMenuContextParams['refHash']}
90
+ */
91
+ static buildRefHash () {
92
+ return {
93
+ openRef: ref(false),
94
+ }
95
+ }
96
+
97
+ /**
98
+ * Get emit event name.
99
+ *
100
+ * @override
101
+ * @returns {Readonly<{
102
+ * OPEN_CHANGE: 'open:change'
103
+ * OPTION_SELECT: 'option:select'
104
+ * OPTION_CHECKED_CHANGE: 'option:checked-change'
105
+ * }>}
106
+ */
107
+ static get EMIT_EVENT_NAME () {
108
+ return {
109
+ OPEN_CHANGE: 'open:change',
110
+ OPTION_SELECT: 'option:select',
111
+ OPTION_CHECKED_CHANGE: 'option:checked-change',
112
+ }
113
+ }
114
+
115
+ /**
116
+ * Get emit options.
117
+ *
118
+ * @returns {{
119
+ * 'open:change': (payload: { open: boolean }) => void
120
+ * 'option:select': (payload: import('./DropdownMenuOptionSelectEmitPayload.js').default) => void
121
+ * 'option:checked-change': (payload: {
122
+ * option: FuroDropdownMenuOption
123
+ * checked: boolean
124
+ * }) => void
125
+ * }}
126
+ */
127
+ static get EMIT_EVENT_HASH () {
128
+ return {
129
+ [this.EMIT_EVENT_NAME.OPEN_CHANGE]: payload => {},
130
+ [this.EMIT_EVENT_NAME.OPTION_SELECT]: payload => {},
131
+ [this.EMIT_EVENT_NAME.OPTION_CHECKED_CHANGE]: payload => {},
132
+ }
133
+ }
134
+
135
+ /**
136
+ * get: Constructor of select `EmitPayload`.
137
+ *
138
+ * @returns {typeof DropdownMenuOptionSelectEmitPayload}
139
+ */
140
+ static get OptionSelectEmitPayloadCtor () {
141
+ return DropdownMenuOptionSelectEmitPayload
142
+ }
143
+
144
+ /**
145
+ * get: Constructor of this class.
146
+ *
147
+ * @override
148
+ * @returns {typeof FuroDropdownMenuContext}
149
+ */
150
+ get Ctor () {
151
+ return /** @type {typeof FuroDropdownMenuContext} */ (
152
+ this.constructor
153
+ )
154
+ }
155
+
156
+ /**
157
+ * Get internal open ref.
158
+ *
159
+ * @returns {import('vue').Ref<boolean>}
160
+ */
161
+ get openRef () {
162
+ return this.refHash.openRef
163
+ }
164
+
165
+ /**
166
+ * Parcel passed from parent via props.
167
+ *
168
+ * @override
169
+ * @returns {Props['parcel']}
170
+ */
171
+ get parcel () {
172
+ return {
173
+ open: undefined,
174
+ disabled: false,
175
+ side: 'bottom',
176
+ align: 'start',
177
+ sideOffset: 4,
178
+ options: [],
179
+ ...this.props.parcel,
180
+ }
181
+ }
182
+
183
+ /**
184
+ * Trigger parcel tokens (FuroButton-compatible variant / size).
185
+ *
186
+ * @returns {NonNullable<Props['triggerParcel']>}
187
+ */
188
+ get triggerParcel () {
189
+ return {
190
+ variant: 'outline',
191
+ size: 'default',
192
+ ...this.props.triggerParcel,
193
+ }
194
+ }
195
+
196
+ /**
197
+ * Whether open state is controlled via parcel.
198
+ *
199
+ * @returns {boolean}
200
+ */
201
+ isOpenControlled () {
202
+ return this.parcel?.open !== undefined
203
+ }
204
+
205
+ /**
206
+ * Whether the menu is disabled.
207
+ *
208
+ * @returns {boolean}
209
+ */
210
+ isDisabled () {
211
+ const disabledByParcel = Boolean(this.parcel?.disabled)
212
+ const disabledByAttrs = this.hasBooleanAttribute({ name: 'disabled' })
213
+
214
+ return disabledByParcel || disabledByAttrs
215
+ }
216
+
217
+ /**
218
+ * Resolve open state for DropdownMenuRoot.
219
+ *
220
+ * @returns {boolean}
221
+ */
222
+ extractOpenValue () {
223
+ if (this.isOpenControlled()) {
224
+ return Boolean(this.parcel?.open)
225
+ }
226
+
227
+ return this.openRef.value
228
+ }
229
+
230
+ /**
231
+ * Extract root class names.
232
+ *
233
+ * @returns {Record<string, boolean>}
234
+ */
235
+ extractRootClassNames () {
236
+ return {
237
+ 'unit-dropdown-menu': true,
238
+ disabled: this.isDisabled(),
239
+ }
240
+ }
241
+
242
+ /**
243
+ * Extract attributes forwarded to DropdownMenuRoot.
244
+ *
245
+ * @returns {Record<string, unknown>}
246
+ */
247
+ extractRootAttributes () {
248
+ const parcelEntries = Object.entries(this.parcel ?? {})
249
+
250
+ return Object.fromEntries(
251
+ parcelEntries.filter(([key]) => !ROOT_SPREAD_EXCLUDED_PARCEL_KEYS.has(key))
252
+ )
253
+ }
254
+
255
+ /**
256
+ * Extract content positioning props.
257
+ *
258
+ * @returns {{
259
+ * side: FuroDropdownMenuSide
260
+ * align: FuroDropdownMenuAlign
261
+ * sideOffset: number
262
+ * }}
263
+ */
264
+ extractContentAttributes () {
265
+ const {
266
+ side = 'bottom',
267
+ align = 'start',
268
+ sideOffset = 4,
269
+ } = this.parcel ?? {}
270
+
271
+ return {
272
+ side,
273
+ align,
274
+ sideOffset,
275
+ }
276
+ }
277
+
278
+ /**
279
+ * Whether the trigger slot's own element becomes the trigger (Reka `asChild`),
280
+ * so no wrapper `<button>` and no forced `.unit-button` styling are applied.
281
+ *
282
+ * @returns {boolean}
283
+ */
284
+ shouldRenderTriggerAsChild () {
285
+ return Boolean(this.triggerParcel?.asChild)
286
+ }
287
+
288
+ /**
289
+ * Extract CSS class map for native DropdownMenuTrigger (FuroButton-compatible).
290
+ *
291
+ * @returns {Record<string, boolean>}
292
+ */
293
+ extractTriggerClassNames () {
294
+ if (this.shouldRenderTriggerAsChild()) {
295
+ return {}
296
+ }
297
+
298
+ const {
299
+ variant = 'outline',
300
+ size = 'default',
301
+ loading,
302
+ } = this.triggerParcel ?? {}
303
+
304
+ const sizeClassEntries = size === 'default'
305
+ ? []
306
+ : [[`size-${size}`, true]]
307
+
308
+ const isLoading = Boolean(loading)
309
+ const isDisabled = this.isDisabled()
310
+
311
+ return Object.fromEntries([
312
+ ['unit-button', true],
313
+ [variant, true],
314
+ ...sizeClassEntries,
315
+ ['disabled', isDisabled],
316
+ ['loading', isLoading],
317
+ ])
318
+ }
319
+
320
+ /**
321
+ * Extract attributes forwarded to Reka DropdownMenuTrigger.
322
+ *
323
+ * @returns {Record<string, unknown>}
324
+ */
325
+ extractTriggerAttributes () {
326
+ const parcelEntries = Object.entries(this.triggerParcel ?? {})
327
+
328
+ return Object.fromEntries(
329
+ parcelEntries.filter(([key]) => !TRIGGER_SPREAD_EXCLUDED_PARCEL_KEYS.has(key))
330
+ )
331
+ }
332
+
333
+ /**
334
+ * Extract menu options from parcel.
335
+ *
336
+ * @returns {Array<FuroDropdownMenuOption>}
337
+ */
338
+ extractMenuOptions () {
339
+ return this.parcel?.options
340
+ ?? []
341
+ }
342
+
343
+ /**
344
+ * Whether the option row is a separator.
345
+ *
346
+ * @param {{
347
+ * option: FuroDropdownMenuOption
348
+ * }} params
349
+ * @returns {boolean}
350
+ */
351
+ isSeparatorOption ({
352
+ option,
353
+ }) {
354
+ return Boolean(option.separator)
355
+ }
356
+
357
+ /**
358
+ * Whether the option row is a submenu.
359
+ *
360
+ * @param {{
361
+ * option: FuroDropdownMenuOption
362
+ * }} params
363
+ * @returns {boolean}
364
+ */
365
+ isSubmenuOption ({
366
+ option,
367
+ }) {
368
+ return option.type === 'submenu'
369
+ && Array.isArray(option.options)
370
+ }
371
+
372
+ /**
373
+ * Whether the option row uses destructive styling.
374
+ *
375
+ * @param {{
376
+ * option: FuroDropdownMenuOption
377
+ * }} params
378
+ * @returns {boolean}
379
+ */
380
+ isDestructiveOption ({
381
+ option,
382
+ }) {
383
+ return option.variant === 'destructive'
384
+ }
385
+
386
+ /**
387
+ * Whether the option row is a checkbox.
388
+ *
389
+ * @param {{
390
+ * option: FuroDropdownMenuOption
391
+ * }} params
392
+ * @returns {boolean}
393
+ */
394
+ isCheckboxOption ({
395
+ option,
396
+ }) {
397
+ return option.type === 'checkbox'
398
+ }
399
+
400
+ /**
401
+ * Extract nested submenu options.
402
+ *
403
+ * @param {{
404
+ * option: FuroDropdownMenuOption
405
+ * }} params
406
+ * @returns {Array<FuroDropdownMenuOption>}
407
+ */
408
+ extractSubmenuOptions ({
409
+ option,
410
+ }) {
411
+ return option.options
412
+ ?? []
413
+ }
414
+
415
+ /**
416
+ * Extract checked value for checkbox option rows.
417
+ *
418
+ * @param {{
419
+ * option: FuroDropdownMenuOption
420
+ * }} params
421
+ * @returns {boolean}
422
+ */
423
+ extractCheckboxCheckedValue ({
424
+ option,
425
+ }) {
426
+ return Boolean(option.checked)
427
+ }
428
+
429
+ /**
430
+ * Build stable key for option row rendering.
431
+ *
432
+ * @param {{
433
+ * option: FuroDropdownMenuOption
434
+ * index: number
435
+ * parentKey?: string
436
+ * }} params
437
+ * @returns {string}
438
+ */
439
+ buildOptionStableKey ({
440
+ option,
441
+ index,
442
+ parentKey = 'root',
443
+ }) {
444
+ const valuePart = option.value
445
+ ?? 'row'
446
+
447
+ return `${parentKey}-${index}-${valuePart}`
448
+ }
449
+
450
+ /**
451
+ * Handle open state updates from Reka root.
452
+ *
453
+ * @param {{
454
+ * isOpen: boolean
455
+ * }} params
456
+ */
457
+ onOpenChange ({
458
+ isOpen,
459
+ }) {
460
+ if (!this.isOpenControlled()) {
461
+ this.openRef.value = isOpen
462
+ }
463
+
464
+ this.emit(
465
+ this.EMIT_EVENT_NAME.OPEN_CHANGE,
466
+ {
467
+ open: isOpen,
468
+ }
469
+ )
470
+ }
471
+
472
+ /**
473
+ * Whether dismiss-outside should be ignored for nested portaled menu content.
474
+ *
475
+ * @param {{
476
+ * rawEvent: Event
477
+ * }} params
478
+ * @returns {boolean}
479
+ */
480
+ shouldIgnoreDismissOutsideEvent ({
481
+ rawEvent,
482
+ }) {
483
+ const customEvent = /** @type {CustomEvent<{ originalEvent?: Event }>} */ (rawEvent)
484
+ const originalTarget = customEvent.detail?.originalEvent?.target
485
+ ?? rawEvent.target
486
+
487
+ if (!(originalTarget instanceof Element)) {
488
+ return false
489
+ }
490
+
491
+ return Boolean(originalTarget.closest('[data-reka-menu-content]'))
492
+ }
493
+
494
+ /**
495
+ * Keep root menu open when pointer down occurs inside portaled submenu content.
496
+ *
497
+ * @param {{
498
+ * rawEvent: Event
499
+ * }} params
500
+ */
501
+ onRootContentPointerDownOutside ({
502
+ rawEvent,
503
+ }) {
504
+ if (!this.shouldIgnoreDismissOutsideEvent({
505
+ rawEvent,
506
+ })) {
507
+ return
508
+ }
509
+
510
+ rawEvent.preventDefault()
511
+ }
512
+
513
+ /**
514
+ * Keep root menu open when focus moves into portaled submenu content.
515
+ *
516
+ * @param {{
517
+ * rawEvent: Event
518
+ * }} params
519
+ */
520
+ onRootContentFocusOutside ({
521
+ rawEvent,
522
+ }) {
523
+ if (!this.shouldIgnoreDismissOutsideEvent({
524
+ rawEvent,
525
+ })) {
526
+ return
527
+ }
528
+
529
+ rawEvent.preventDefault()
530
+ }
531
+
532
+ /**
533
+ * Keep focus where the option handler left it (e.g. a text editor) instead of
534
+ * returning it to the trigger when the parcel opts in via `preventCloseAutoFocus`.
535
+ *
536
+ * @param {{
537
+ * rawEvent: Event
538
+ * }} params
539
+ */
540
+ onRootContentCloseAutoFocus ({
541
+ rawEvent,
542
+ }) {
543
+ if (!this.parcel?.preventCloseAutoFocus) {
544
+ return
545
+ }
546
+
547
+ rawEvent.preventDefault()
548
+ }
549
+
550
+ /**
551
+ * Handle menu action option selection.
552
+ *
553
+ * @param {{
554
+ * option: FuroDropdownMenuOption
555
+ * rawEvent: Event
556
+ * }} params
557
+ */
558
+ onOptionSelect ({
559
+ option,
560
+ rawEvent,
561
+ }) {
562
+ if (option.disabled) {
563
+ return
564
+ }
565
+
566
+ if (option.keepOpen) {
567
+ rawEvent.preventDefault()
568
+ }
569
+
570
+ const payload = this.Ctor.OptionSelectEmitPayloadCtor.create({
571
+ rawEvent,
572
+ option,
573
+ })
574
+
575
+ this.emit(
576
+ this.EMIT_EVENT_NAME.OPTION_SELECT,
577
+ payload
578
+ )
579
+ }
580
+
581
+ /**
582
+ * Keep menu open when a checkbox row is selected (Reka MenuItem close guard).
583
+ *
584
+ * @param {{
585
+ * option: FuroDropdownMenuOption
586
+ * rawEvent: Event
587
+ * }} params
588
+ */
589
+ onCheckboxOptionSelect ({
590
+ option,
591
+ rawEvent,
592
+ }) {
593
+ if (option.disabled) {
594
+ return
595
+ }
596
+
597
+ rawEvent.preventDefault()
598
+ }
599
+
600
+ /**
601
+ * Handle checkbox option checked-state changes.
602
+ *
603
+ * @param {{
604
+ * option: FuroDropdownMenuOption
605
+ * checked: boolean
606
+ * }} params
607
+ */
608
+ onCheckboxCheckedChange ({
609
+ option,
610
+ checked,
611
+ }) {
612
+ if (option.disabled) {
613
+ return
614
+ }
615
+
616
+ this.emit(
617
+ this.EMIT_EVENT_NAME.OPTION_CHECKED_CHANGE,
618
+ {
619
+ option,
620
+ checked,
621
+ }
622
+ )
623
+ }
624
+ }
625
+
626
+ /**
627
+ * @typedef {import('../../../contexts/BaseFuroContext.js').BaseFuroContextParams & {
628
+ * props: Props
629
+ * componentContext: ComponentContext
630
+ * refHash: {
631
+ * openRef: import('vue').Ref<boolean>
632
+ * }
633
+ * }} FuroDropdownMenuContextParams
634
+ */
635
+
636
+ /**
637
+ * @typedef {Omit<FuroDropdownMenuContextParams, 'refHash'> & {
638
+ * refHash?: FuroDropdownMenuContextParams['refHash']
639
+ * }} FuroDropdownMenuContextFactoryParams
640
+ */
641
+
642
+ /**
643
+ * @typedef {keyof typeof FuroDropdownMenuContext.EMIT_EVENT_NAME} EmitEventName
644
+ */
645
+
646
+ /**
647
+ * @typedef {'top' | 'right' | 'bottom' | 'left'} FuroDropdownMenuSide
648
+ */
649
+
650
+ /**
651
+ * @typedef {'start' | 'center' | 'end'} FuroDropdownMenuAlign
652
+ */
653
+
654
+ /**
655
+ * @typedef {import('vue').HTMLAttributes & {
656
+ * parcel?: FuroDropdownMenuParcel | null
657
+ * triggerParcel?: import('../../atoms/FuroButton/FuroButtonContext.js').FuroButtonParcel | null
658
+ * }} Props
659
+ */
660
+
661
+ /**
662
+ * Closed-set Furo behavior for `<FuroDropdownMenu>`.
663
+ * JSON-serializable only. Not an open passthrough to the internal dropdown library.
664
+ *
665
+ * @typedef {{
666
+ * open?: boolean
667
+ * disabled?: boolean
668
+ * side?: FuroDropdownMenuSide
669
+ * align?: FuroDropdownMenuAlign
670
+ * sideOffset?: number
671
+ * preventCloseAutoFocus?: boolean
672
+ * options?: Array<FuroDropdownMenuOption>
673
+ * }} FuroDropdownMenuParcel
674
+ */
675
+
676
+ /**
677
+ * @typedef {import('vue').SetupContext<FuroDropdownMenuEmitHash, FuroDropdownMenuSlots>} ComponentContext
678
+ */
679
+
680
+ /**
681
+ * @typedef {typeof FuroDropdownMenuContext.EMIT_EVENT_HASH} FuroDropdownMenuEmitHash
682
+ */
683
+
684
+ /**
685
+ * @typedef {import('vue').SlotsType<{
686
+ * trigger: {}
687
+ * default: {}
688
+ * 'option-label': {
689
+ * option: FuroDropdownMenuOption
690
+ * index: number
691
+ * }
692
+ * }>} FuroDropdownMenuSlots
693
+ */
694
+
695
+ /**
696
+ * @typedef {(
697
+ * props: Props,
698
+ * componentContext: ComponentContext
699
+ * ) => {
700
+ * context: FuroDropdownMenuContext
701
+ * }} FuroDropdownMenuSetup
702
+ */
703
+
704
+ /**
705
+ * @typedef {import('./DropdownMenuOptionSelectEmitPayload.js').FuroDropdownMenuOption} FuroDropdownMenuOption
706
+ */
707
+
708
+ /**
709
+ * @typedef {import('./DropdownMenuOptionSelectEmitPayload.js').FuroDropdownMenuOptionType} FuroDropdownMenuOptionType
710
+ */
711
+
712
+ /**
713
+ * @import * as Reka from 'reka-ui'
714
+ */