@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,1035 @@
1
+ /**
2
+ * Context class for FuroTable organism.
3
+ *
4
+ * Presentational, domain-agnostic table. Sort and selection are controlled by
5
+ * the consumer (the table emits intent and re-reads its parcel); it never sorts
6
+ * or fetches data itself.
7
+ *
8
+ * @extends {BaseFuroContext<null, Props, EmitEventName>}
9
+ */
10
+ export default class FuroTableContext extends BaseFuroContext<null, Props, "SORT_CHANGE" | "SELECTION_CHANGE" | "UPDATE_SELECTED_ROW_KEYS" | "RANGE_CHANGE" | "REACH_END" | "ROW_CLICK"> {
11
+ /**
12
+ * Factory method.
13
+ *
14
+ * @template {X extends typeof FuroTableContext ? X : never} T, X
15
+ * @override
16
+ * @param {FuroTableContextFactoryParams} params - Parameters of this factory method.
17
+ * @returns {InstanceType<T>} An instance of this class.
18
+ * @this {T}
19
+ */
20
+ static override create<T extends X extends typeof FuroTableContext ? X : never, X>(this: T, { props, componentContext, refHash, }: FuroTableContextFactoryParams): InstanceType<T>;
21
+ /**
22
+ * Build ref hash.
23
+ *
24
+ * @override
25
+ * @returns {FuroTableContextParams['refHash']}
26
+ */
27
+ static override buildRefHash(): FuroTableContextParams["refHash"];
28
+ /**
29
+ * Schedule a callback on the next animation frame.
30
+ *
31
+ * Wrapped as a static hook so scroll throttling can be driven deterministically
32
+ * in tests (spy on this method) instead of depending on the browser global.
33
+ *
34
+ * @param {FrameRequestCallback} callback - Callback to run on the next frame.
35
+ * @returns {number} The frame request id.
36
+ */
37
+ static requestFrame(callback: FrameRequestCallback): number;
38
+ /**
39
+ * Cancel a scheduled animation frame.
40
+ *
41
+ * Wrapped as a static hook (mirrors `requestFrame`) so teardown can be driven
42
+ * deterministically in tests.
43
+ *
44
+ * @param {number} frameId - The frame request id to cancel.
45
+ * @returns {void}
46
+ */
47
+ static cancelFrame(frameId: number): void;
48
+ /**
49
+ * Get emit event name.
50
+ *
51
+ * @override
52
+ * @returns {Readonly<{
53
+ * SORT_CHANGE: 'sort:change'
54
+ * SELECTION_CHANGE: 'selection:change'
55
+ * UPDATE_SELECTED_ROW_KEYS: 'update:selectedRowKeys'
56
+ * RANGE_CHANGE: 'range:change'
57
+ * REACH_END: 'reach-end'
58
+ * ROW_CLICK: 'row:click'
59
+ * }>}
60
+ */
61
+ static override get EMIT_EVENT_NAME(): Readonly<{
62
+ SORT_CHANGE: "sort:change";
63
+ SELECTION_CHANGE: "selection:change";
64
+ UPDATE_SELECTED_ROW_KEYS: "update:selectedRowKeys";
65
+ RANGE_CHANGE: "range:change";
66
+ REACH_END: "reach-end";
67
+ ROW_CLICK: "row:click";
68
+ }>;
69
+ /**
70
+ * Get emit options.
71
+ *
72
+ * @returns {{
73
+ * 'sort:change': (payload: {
74
+ * field: string
75
+ * direction: 'asc' | 'desc' | null
76
+ * }) => void
77
+ * 'selection:change': (payload: {
78
+ * selectedRowKeys: Array<string | number>
79
+ * }) => void
80
+ * 'update:selectedRowKeys': (selectedRowKeys: Array<string | number>) => void
81
+ * 'range:change': (payload: {
82
+ * first: number
83
+ * last: number
84
+ * }) => void
85
+ * 'reach-end': (payload: {
86
+ * first: number
87
+ * last: number
88
+ * loadedCount: number
89
+ * totalRecords: number
90
+ * }) => void
91
+ * 'row:click': (payload: {
92
+ * row: Record<string, unknown>
93
+ * rowKey: string | number | null
94
+ * }) => void
95
+ * }}
96
+ */
97
+ static get EMIT_EVENT_HASH(): {
98
+ "sort:change": (payload: {
99
+ field: string;
100
+ direction: "asc" | "desc" | null;
101
+ }) => void;
102
+ "selection:change": (payload: {
103
+ selectedRowKeys: Array<string | number>;
104
+ }) => void;
105
+ "update:selectedRowKeys": (selectedRowKeys: Array<string | number>) => void;
106
+ "range:change": (payload: {
107
+ first: number;
108
+ last: number;
109
+ }) => void;
110
+ "reach-end": (payload: {
111
+ first: number;
112
+ last: number;
113
+ loadedCount: number;
114
+ totalRecords: number;
115
+ }) => void;
116
+ "row:click": (payload: {
117
+ row: Record<string, unknown>;
118
+ rowKey: string | number | null;
119
+ }) => void;
120
+ };
121
+ /**
122
+ * Constructor.
123
+ *
124
+ * @param {FuroTableContextParams} params - Parameters of this constructor.
125
+ */
126
+ constructor({ props, componentContext, refHash, }: FuroTableContextParams);
127
+ refHash: {
128
+ selectedRowKeysRef: import("vue").Ref<Array<string | number>>;
129
+ pendingSelectionRef: import("vue").Ref<PendingSelection | null>;
130
+ scrollTopRef: import("vue").Ref<number>;
131
+ columnWidthsRef: import("vue").Ref<Record<string, number>>;
132
+ };
133
+ /** @type {{ first: number, last: number } | null} */
134
+ lastEmittedRange: {
135
+ first: number;
136
+ last: number;
137
+ } | null;
138
+ /**
139
+ * The loaded-window end (`rowOffset + rows.length`) for which `reach-end`
140
+ * was last emitted. Guards against re-emitting until the loaded window grows.
141
+ *
142
+ * @type {number | null}
143
+ */
144
+ lastReachEndLoadedEnd: number | null;
145
+ /**
146
+ * @type {{
147
+ * field: string
148
+ * startX: number
149
+ * startWidth: number
150
+ * nextField: string
151
+ * nextStartWidth: number
152
+ * } | null}
153
+ */
154
+ resizeState: {
155
+ field: string;
156
+ startX: number;
157
+ startWidth: number;
158
+ nextField: string;
159
+ nextStartWidth: number;
160
+ } | null;
161
+ /** @type {number | null} */
162
+ scrollFrameId: number | null;
163
+ pendingScrollTop: number;
164
+ /**
165
+ * get: Constructor of this class.
166
+ *
167
+ * @override
168
+ * @returns {typeof FuroTableContext}
169
+ */
170
+ override get Ctor(): typeof FuroTableContext;
171
+ /**
172
+ * Get internal selected row keys ref (uncontrolled mode).
173
+ *
174
+ * @returns {import('vue').Ref<Array<string | number>>}
175
+ */
176
+ get selectedRowKeysRef(): import("vue").Ref<Array<string | number>>;
177
+ /**
178
+ * Get the ref holding the last selection this table emitted.
179
+ *
180
+ * @returns {import('vue').Ref<PendingSelection | null>}
181
+ */
182
+ get pendingSelectionRef(): import("vue").Ref<PendingSelection | null>;
183
+ /**
184
+ * Get the scroll-top ref driving virtual windowing.
185
+ *
186
+ * @returns {import('vue').Ref<number>}
187
+ */
188
+ get scrollTopRef(): import("vue").Ref<number>;
189
+ /**
190
+ * Get the per-column width overrides (px) set by resizing.
191
+ *
192
+ * @returns {import('vue').Ref<Record<string, number>>}
193
+ */
194
+ get columnWidthsRef(): import("vue").Ref<Record<string, number>>;
195
+ /**
196
+ * Extract the column configuration.
197
+ *
198
+ * @returns {Array<FuroTableColumn>}
199
+ */
200
+ extractColumns(): Array<FuroTableColumn>;
201
+ /**
202
+ * Extract the raw row records.
203
+ *
204
+ * @returns {Array<Record<string, unknown>>}
205
+ */
206
+ extractRows(): Array<Record<string, unknown>>;
207
+ /**
208
+ * Extract the field used as the unique row key.
209
+ *
210
+ * @returns {string}
211
+ */
212
+ extractRowKey(): string;
213
+ /**
214
+ * Extract the empty-state text.
215
+ *
216
+ * @returns {string}
217
+ */
218
+ extractEmptyText(): string;
219
+ /**
220
+ * Extract the error message, when present.
221
+ *
222
+ * @returns {string | null}
223
+ */
224
+ extractErrorMessage(): string | null;
225
+ /**
226
+ * Total rendered column count (data columns plus the selection column).
227
+ *
228
+ * @returns {number}
229
+ */
230
+ extractTotalColumnCount(): number;
231
+ /**
232
+ * Extract how many columns a placeholder row's skeleton spans.
233
+ *
234
+ * Data columns only, so an unloaded row keeps its selection and actions cells.
235
+ *
236
+ * @returns {number}
237
+ */
238
+ extractPlaceholderColumnCount(): number;
239
+ /**
240
+ * Whether a trailing row-actions column is rendered.
241
+ *
242
+ * True when the consumer provides a `row-actions` slot; the column then holds
243
+ * that slot's per-row content (edit/delete buttons, an action menu, etc.).
244
+ *
245
+ * @returns {boolean}
246
+ */
247
+ hasRowActionsColumn(): boolean;
248
+ /**
249
+ * Whether a footer region is rendered.
250
+ *
251
+ * True when the consumer provides a `footer` slot (bulk-action bar, summary
252
+ * row, etc.).
253
+ *
254
+ * @returns {boolean}
255
+ */
256
+ hasFooterSlot(): boolean;
257
+ /**
258
+ * Extract the header label for the row-actions column.
259
+ *
260
+ * @returns {string}
261
+ */
262
+ extractRowActionsLabel(): string;
263
+ /**
264
+ * Extract the `<col>` inline style for the row-actions column.
265
+ *
266
+ * @returns {Record<string, string>}
267
+ */
268
+ extractRowActionsColStyle(): Record<string, string>;
269
+ /**
270
+ * Extract root class names.
271
+ *
272
+ * @returns {Record<string, boolean>}
273
+ */
274
+ extractRootClassNames(): Record<string, boolean>;
275
+ /**
276
+ * Whether the table renders in the compact (denser) density.
277
+ *
278
+ * @returns {boolean}
279
+ */
280
+ isCompact(): boolean;
281
+ /**
282
+ * Whether the table renders vertical grid lines between columns.
283
+ *
284
+ * @returns {boolean}
285
+ */
286
+ hasGridLines(): boolean;
287
+ /**
288
+ * Extract the label rendered in a column header.
289
+ *
290
+ * @param {{
291
+ * column: FuroTableColumn
292
+ * }} params - Parameters of this method.
293
+ * @returns {string}
294
+ */
295
+ extractColumnLabel({ column, }: {
296
+ column: FuroTableColumn;
297
+ }): string;
298
+ /**
299
+ * Extract the text alignment for a column.
300
+ *
301
+ * @param {{
302
+ * column: FuroTableColumn
303
+ * }} params - Parameters of this method.
304
+ * @returns {'start' | 'center' | 'end'}
305
+ */
306
+ extractColumnAlign({ column, }: {
307
+ column: FuroTableColumn;
308
+ }): "start" | "center" | "end";
309
+ /**
310
+ * Whether columns can be resized by dragging their right edge.
311
+ *
312
+ * @returns {boolean}
313
+ */
314
+ isResizable(): boolean;
315
+ /**
316
+ * Extract the `<col>` inline style for the selection column.
317
+ *
318
+ * @returns {Record<string, string>}
319
+ */
320
+ extractSelectionColStyle(): Record<string, string>;
321
+ /**
322
+ * Extract the `<col>` inline style for a data column. A resized width wins
323
+ * over a configured `column.width`; otherwise the column is unsized (the
324
+ * fixed table layout shares remaining width).
325
+ *
326
+ * @param {{
327
+ * column: FuroTableColumn
328
+ * }} params - Parameters of this method.
329
+ * @returns {Record<string, string>}
330
+ */
331
+ extractColumnColStyle({ column, }: {
332
+ column: FuroTableColumn;
333
+ }): Record<string, string>;
334
+ /**
335
+ * Whether row selection is enabled.
336
+ *
337
+ * @returns {boolean}
338
+ */
339
+ isSelectable(): boolean;
340
+ /**
341
+ * Whether the table is in the loading state.
342
+ *
343
+ * @returns {boolean}
344
+ */
345
+ isLoading(): boolean;
346
+ /**
347
+ * Whether interaction with the table body is blocked.
348
+ *
349
+ * @returns {boolean}
350
+ */
351
+ isInteractionBlocked(): boolean;
352
+ /**
353
+ * Extract the `inert` attribute for the scroll viewport. Any present value
354
+ * makes the subtree inert, so absence must be `null` and never `false`.
355
+ *
356
+ * @returns {true | null}
357
+ */
358
+ extractInertAttribute(): true | null;
359
+ /**
360
+ * Extract the `aria-busy` attribute for the table root.
361
+ *
362
+ * @returns {'true' | null}
363
+ */
364
+ extractAriaBusyAttribute(): "true" | null;
365
+ /**
366
+ * Whether the table is in the error state.
367
+ *
368
+ * @returns {boolean}
369
+ */
370
+ hasError(): boolean;
371
+ /**
372
+ * Whether the error state should render.
373
+ *
374
+ * @returns {boolean}
375
+ */
376
+ shouldShowError(): boolean;
377
+ /**
378
+ * Whether the in-body loading spinner should render. Only the first load (no
379
+ * rows yet) shows the centered spinner row; a refresh over existing rows keeps
380
+ * the rows mounted and shows the floating overlay instead (see
381
+ * `shouldShowLoadingOverlay`), so the layout never collapses.
382
+ *
383
+ * @returns {boolean}
384
+ */
385
+ shouldShowLoading(): boolean;
386
+ /**
387
+ * Whether the floating loading overlay should render. Used on a refresh, when
388
+ * rows are already present: the overlay is layered above the whole table
389
+ * (out of flow) so it dims and blocks the current rows without a layout shift.
390
+ *
391
+ * @returns {boolean}
392
+ */
393
+ shouldShowLoadingOverlay(): boolean;
394
+ /**
395
+ * Whether the empty state should render.
396
+ *
397
+ * @returns {boolean}
398
+ */
399
+ shouldShowEmpty(): boolean;
400
+ /**
401
+ * Whether the data rows should render.
402
+ *
403
+ * @returns {boolean}
404
+ */
405
+ shouldShowRows(): boolean;
406
+ /**
407
+ * Whether a column header is sortable.
408
+ *
409
+ * @param {{
410
+ * column: FuroTableColumn
411
+ * }} params - Parameters of this method.
412
+ * @returns {boolean}
413
+ */
414
+ isColumnSortable({ column, }: {
415
+ column: FuroTableColumn;
416
+ }): boolean;
417
+ /**
418
+ * Extract the controlled sort indicator.
419
+ *
420
+ * @returns {FuroTableSort | null}
421
+ */
422
+ extractSort(): FuroTableSort | null;
423
+ /**
424
+ * Extract the active sort direction for a column, when sorted by it.
425
+ *
426
+ * @param {{
427
+ * column: FuroTableColumn
428
+ * }} params - Parameters of this method.
429
+ * @returns {'asc' | 'desc' | null}
430
+ */
431
+ extractSortDirectionFor({ column, }: {
432
+ column: FuroTableColumn;
433
+ }): "asc" | "desc" | null;
434
+ /**
435
+ * Whether the table is currently sorted by a column.
436
+ *
437
+ * @param {{
438
+ * column: FuroTableColumn
439
+ * }} params - Parameters of this method.
440
+ * @returns {boolean}
441
+ */
442
+ isSortedBy({ column, }: {
443
+ column: FuroTableColumn;
444
+ }): boolean;
445
+ /**
446
+ * Extract the sort indicator icon name for a column. Returns a neutral
447
+ * (bidirectional) icon when the column is sortable but not the active sort,
448
+ * and a directional icon when it is.
449
+ *
450
+ * @param {{
451
+ * column: FuroTableColumn
452
+ * }} params - Parameters of this method.
453
+ * @returns {string}
454
+ */
455
+ extractSortIconName({ column, }: {
456
+ column: FuroTableColumn;
457
+ }): string;
458
+ /**
459
+ * Extract the controlled selected row keys.
460
+ *
461
+ * @returns {Array<string | number>}
462
+ */
463
+ extractSelectedRowKeys(): Array<string | number>;
464
+ /**
465
+ * Extract the number of currently selected rows.
466
+ *
467
+ * Exposed to the `footer` slot so a bulk-action bar can render "N selected".
468
+ *
469
+ * @returns {number}
470
+ */
471
+ extractSelectedCount(): number;
472
+ /**
473
+ * Extract the scope object passed to the `footer` slot.
474
+ *
475
+ * A single object (single-word slot key) so a bulk-action bar can read the
476
+ * selected keys and count without any kebab/camel binding ambiguity.
477
+ *
478
+ * @returns {{
479
+ * keys: Array<string | number>
480
+ * count: number
481
+ * }}
482
+ */
483
+ extractFooterSelection(): {
484
+ keys: Array<string | number>;
485
+ count: number;
486
+ };
487
+ /**
488
+ * Extract the keys of every row.
489
+ *
490
+ * @returns {Array<string | number>}
491
+ */
492
+ extractAllRowKeys(): Array<string | number>;
493
+ /**
494
+ * Whether selection is controlled by the parent (via `parcel.selectedRowKeys`).
495
+ *
496
+ * @returns {boolean}
497
+ */
498
+ isSelectionControlled(): boolean;
499
+ /**
500
+ * Whether every row is currently selected.
501
+ *
502
+ * @returns {boolean}
503
+ */
504
+ hasAllRowsSelected(): boolean;
505
+ /**
506
+ * Whether some (but not all) rows are selected.
507
+ *
508
+ * @returns {boolean}
509
+ */
510
+ hasIndeterminateSelection(): boolean;
511
+ /**
512
+ * Resolve the parcel for the select-all header checkbox.
513
+ *
514
+ * @returns {{
515
+ * value: boolean
516
+ * indeterminate: boolean
517
+ * disabled: boolean
518
+ * }}
519
+ */
520
+ extractSelectAllParcel(): {
521
+ value: boolean;
522
+ indeterminate: boolean;
523
+ disabled: boolean;
524
+ };
525
+ /**
526
+ * Whether the select-all header checkbox is disabled. Disabled while loading
527
+ * (interaction is blocked during a refresh) and when there are no rows.
528
+ *
529
+ * @returns {boolean}
530
+ */
531
+ isSelectAllDisabled(): boolean;
532
+ /**
533
+ * Resolve the parcel for a single row's selection checkbox.
534
+ *
535
+ * @param {{
536
+ * rowContext: FuroTableRowItemContext
537
+ * }} params - Parameters of this method.
538
+ * @returns {{
539
+ * value: boolean
540
+ * disabled: boolean
541
+ * }}
542
+ */
543
+ extractRowSelectionParcel({ rowContext, }: {
544
+ rowContext: FuroTableRowItemContext;
545
+ }): {
546
+ value: boolean;
547
+ disabled: boolean;
548
+ };
549
+ /**
550
+ * Create the per-row presentation contexts for the current rows.
551
+ *
552
+ * @returns {Array<FuroTableRowItemContext>}
553
+ */
554
+ createRowItemContexts(): Array<FuroTableRowItemContext>;
555
+ /**
556
+ * Resolve the next sort direction in the tri-state cycle:
557
+ * unsorted → ascending → descending → unsorted.
558
+ *
559
+ * @param {{
560
+ * current: 'asc' | 'desc' | null
561
+ * }} params - Parameters of this method.
562
+ * @returns {'asc' | 'desc' | null}
563
+ */
564
+ resolveNextSortDirection({ current, }: {
565
+ current: "asc" | "desc" | null;
566
+ }): "asc" | "desc" | null;
567
+ /**
568
+ * Handle a sortable header click. Cycles ascending → descending → cleared and
569
+ * emits the sort intent upward; the parent re-sorts and re-passes the parcel.
570
+ * A `null` direction restores the default (unsorted) order.
571
+ *
572
+ * @param {{
573
+ * column: FuroTableColumn
574
+ * }} params - Parameters of this method.
575
+ */
576
+ onHeaderClick({ column, }: {
577
+ column: FuroTableColumn;
578
+ }): void;
579
+ /**
580
+ * Toggle selection of a single row. A `null` key (row without an identifier)
581
+ * is ignored.
582
+ *
583
+ * @param {{
584
+ * rowKey: string | number | null
585
+ * }} params - Parameters of this method.
586
+ */
587
+ onToggleRow({ rowKey, }: {
588
+ rowKey: string | number | null;
589
+ }): void;
590
+ /**
591
+ * Toggle selection of every row (select-all / clear-all).
592
+ */
593
+ onToggleSelectAll(): void;
594
+ /**
595
+ * Extract the selection a toggle must build on.
596
+ *
597
+ * When controlled, `parcel.selectedRowKeys` lags a tick behind the emit, so
598
+ * consecutive toggles must accumulate onto the last emitted selection instead.
599
+ *
600
+ * @returns {Array<string | number>}
601
+ */
602
+ extractPendingSelectedRowKeys(): Array<string | number>;
603
+ /**
604
+ * Remember a just-emitted selection so a follow-up toggle builds on it.
605
+ *
606
+ * @param {{
607
+ * selectedRowKeys: Array<string | number>
608
+ * }} params - Parameters of this method.
609
+ */
610
+ rememberPendingSelection({ selectedRowKeys, }: {
611
+ selectedRowKeys: Array<string | number>;
612
+ }): void;
613
+ /**
614
+ * Whether every row is selected in the pending selection.
615
+ *
616
+ * @returns {boolean}
617
+ */
618
+ hasAllPendingRowsSelected(): boolean;
619
+ /**
620
+ * Apply a selection change: update internal state when uncontrolled, then
621
+ * emit the change upward.
622
+ *
623
+ * @param {{
624
+ * selectedRowKeys: Array<string | number>
625
+ * }} params - Parameters of this method.
626
+ */
627
+ applySelection({ selectedRowKeys, }: {
628
+ selectedRowKeys: Array<string | number>;
629
+ }): void;
630
+ /**
631
+ * Handle a click on a data row. Emits the row and its key so the consumer can
632
+ * react (e.g. navigate to a detail view). The built-in selection cell stops
633
+ * propagation; interactive cell-slot content should `@click.stop` to opt out.
634
+ *
635
+ * @param {{
636
+ * rowContext: FuroTableRowItemContext
637
+ * }} params - Parameters of this method.
638
+ */
639
+ onRowClick({ rowContext, }: {
640
+ rowContext: FuroTableRowItemContext;
641
+ }): void;
642
+ /**
643
+ * Handle a click on a virtual-window row. Placeholder rows (no loaded context)
644
+ * are ignored.
645
+ *
646
+ * @param {{
647
+ * entry: {
648
+ * index: number
649
+ * rowContext: FuroTableRowItemContext | null
650
+ * }
651
+ * }} params - Parameters of this method.
652
+ */
653
+ onVirtualRowClick({ entry, }: {
654
+ entry: {
655
+ index: number;
656
+ rowContext: FuroTableRowItemContext | null;
657
+ };
658
+ }): void;
659
+ /**
660
+ * Whether fixed-height virtual scrolling is enabled.
661
+ *
662
+ * @returns {boolean}
663
+ */
664
+ isVirtual(): boolean;
665
+ /**
666
+ * Extract the virtual-scroll configuration, when enabled.
667
+ *
668
+ * @returns {FuroTableVirtual | null}
669
+ */
670
+ extractVirtualConfig(): FuroTableVirtual | null;
671
+ /**
672
+ * Extract the fixed row height in pixels.
673
+ *
674
+ * @returns {number}
675
+ */
676
+ extractItemSize(): number;
677
+ /**
678
+ * Extract the scroll viewport height in pixels.
679
+ *
680
+ * @returns {number}
681
+ */
682
+ extractViewportHeight(): number;
683
+ /**
684
+ * Extract how many extra rows render above and below the viewport.
685
+ *
686
+ * @returns {number}
687
+ */
688
+ extractOverscan(): number;
689
+ /**
690
+ * Extract the global index of the first loaded row (sparse windows).
691
+ *
692
+ * @returns {number}
693
+ */
694
+ extractRowOffset(): number;
695
+ /**
696
+ * Extract the total row count of the full dataset. Falls back to the loaded
697
+ * row count when not provided.
698
+ *
699
+ * @returns {number}
700
+ */
701
+ extractTotalRowCount(): number;
702
+ /**
703
+ * Extract the global index one past the last loaded row.
704
+ *
705
+ * @returns {number}
706
+ */
707
+ extractLoadedEnd(): number;
708
+ /**
709
+ * Extract how close (in rows) to the end of the loaded window a downward
710
+ * scroll must get before `reach-end` fires.
711
+ *
712
+ * @returns {number}
713
+ */
714
+ extractEndThreshold(): number;
715
+ /**
716
+ * Extract the inline style for the scroll container.
717
+ *
718
+ * @returns {Record<string, string>}
719
+ */
720
+ extractScrollStyle(): Record<string, string>;
721
+ /**
722
+ * Extract the inline style for a fixed-height virtual row.
723
+ *
724
+ * @returns {Record<string, string>}
725
+ */
726
+ extractRowStyle(): Record<string, string>;
727
+ /**
728
+ * Extract the number of rows that fit in the viewport.
729
+ *
730
+ * @returns {number}
731
+ */
732
+ extractVisibleCount(): number;
733
+ /**
734
+ * Extract the first global row index to render (overscan applied).
735
+ *
736
+ * @returns {number}
737
+ */
738
+ extractFirstIndex(): number;
739
+ /**
740
+ * Compute the first global row index (overscan applied) for a scroll offset.
741
+ *
742
+ * Kept separate from {@link extractFirstIndex} so `onScroll` can test a
743
+ * prospective offset against the current window without mutating state.
744
+ *
745
+ * @param {number} scrollTop - Scroll offset in pixels.
746
+ * @returns {number}
747
+ */
748
+ computeFirstIndex(scrollTop: number): number;
749
+ /**
750
+ * Extract the last global row index to render (overscan applied).
751
+ *
752
+ * @returns {number}
753
+ */
754
+ extractLastIndex(): number;
755
+ /**
756
+ * Extract the leading spacer height (rows skipped above the window).
757
+ *
758
+ * @returns {number}
759
+ */
760
+ extractLeadingSpacerHeight(): number;
761
+ /**
762
+ * Extract the trailing spacer height (rows skipped below the window).
763
+ *
764
+ * @returns {number}
765
+ */
766
+ extractTrailingSpacerHeight(): number;
767
+ /**
768
+ * Create the per-row contexts for the visible virtual window. Entries whose
769
+ * row is not in the loaded sparse window carry a `null` context (placeholder).
770
+ *
771
+ * @returns {Array<{
772
+ * index: number
773
+ * rowContext: FuroTableRowItemContext | null
774
+ * }>}
775
+ */
776
+ createVirtualRowItemContexts(): Array<{
777
+ index: number;
778
+ rowContext: FuroTableRowItemContext | null;
779
+ }>;
780
+ /**
781
+ * Handle the raw scroll event from the viewport element.
782
+ *
783
+ * @param {Event} scrollEvent - The DOM scroll event.
784
+ */
785
+ onScrollEvent(scrollEvent: Event): void;
786
+ /**
787
+ * Setup component lifecycle: announce the initial window, re-ask once the
788
+ * loaded window changes, and cancel a pending scroll frame on unmount.
789
+ *
790
+ * @template {X extends FuroTableContext ? X : never} T, X
791
+ * @returns {T} For method chaining.
792
+ * @this {T}
793
+ */
794
+ setupComponent<T extends X extends FuroTableContext ? X : never, X>(this: T): T;
795
+ /**
796
+ * Coalesce raw scroll events into one `onScroll` per animation frame, so a
797
+ * burst of scroll events triggers at most one windowing pass per frame.
798
+ */
799
+ scheduleScrollFrame(): void;
800
+ /**
801
+ * Cancel a pending coalesced scroll frame, if any. Called on unmount so the
802
+ * frame callback cannot fire against a torn-down component.
803
+ *
804
+ * @returns {void}
805
+ */
806
+ teardownScrollFrame(): void;
807
+ /**
808
+ * Handle a scroll on the virtual viewport: store the offset and emit a
809
+ * range change when the visible window moves.
810
+ *
811
+ * @param {{
812
+ * scrollTop: number
813
+ * }} params - Parameters of this method.
814
+ */
815
+ onScroll({ scrollTop, }: {
816
+ scrollTop: number;
817
+ }): void;
818
+ /**
819
+ * Emit `reach-end` once when a downward scroll brings the visible window
820
+ * within `endThreshold` rows of the end of the currently loaded window, and
821
+ * more records remain to load. Re-arms only when the loaded window grows, so
822
+ * a consumer appending pages is asked exactly once per page — unlike
823
+ * `range:change`, it never fires on upward scroll nor before the end.
824
+ *
825
+ * @returns {void}
826
+ */
827
+ emitReachEndIfNeeded(): void;
828
+ /**
829
+ * Release the `reach-end` guard once the loaded window shrank, so a refresh
830
+ * landing back on an already seen end can ask for its next page again.
831
+ *
832
+ * @returns {void}
833
+ */
834
+ releaseReachEndGuard(): void;
835
+ /**
836
+ * Emit `range:change` when the visible window differs from the last emitted.
837
+ * Virtual mode only, because a plain table has no window to move.
838
+ */
839
+ emitRangeChange(): void;
840
+ /**
841
+ * Announce the window the table renders on mount. That window can already
842
+ * hold unloaded rows, which no scroll event would otherwise ask to fill.
843
+ *
844
+ * @returns {void}
845
+ */
846
+ emitInitialWindow(): void;
847
+ /**
848
+ * Ask for the next page again once the loaded window changed, so a window
849
+ * still holding unloaded rows never waits for a scroll that may never come.
850
+ *
851
+ * @returns {void}
852
+ */
853
+ onLoadedWindowChange(): void;
854
+ /**
855
+ * Resolve the field of the column immediately after the given one. The next
856
+ * column absorbs the width change during a fit-mode resize.
857
+ *
858
+ * @param {{
859
+ * field: string
860
+ * }} params - Parameters of this method.
861
+ * @returns {string | null}
862
+ */
863
+ resolveNextColumnField({ field, }: {
864
+ field: string;
865
+ }): string | null;
866
+ /**
867
+ * Whether a column's resize handle is shown. The last column has no neighbour
868
+ * to trade width with in fit mode, so it is not resizable.
869
+ *
870
+ * @param {{
871
+ * columnIndex: number
872
+ * }} params - Parameters of this method.
873
+ * @returns {boolean}
874
+ */
875
+ canResizeColumn({ columnIndex, }: {
876
+ columnIndex: number;
877
+ }): boolean;
878
+ /**
879
+ * Measure the current rendered width (px) of every data column from its
880
+ * header cell. Pinning all widths on the first resize keeps the table's total
881
+ * width fixed while resizing trades width between two adjacent columns.
882
+ *
883
+ * @param {{
884
+ * handle: HTMLElement
885
+ * }} params - Parameters of this method.
886
+ * @returns {Record<string, number>}
887
+ */
888
+ measureColumnWidths({ handle, }: {
889
+ handle: HTMLElement;
890
+ }): Record<string, number>;
891
+ /**
892
+ * Begin resizing a column (fit mode). On the first resize, all column widths
893
+ * are pinned so the table's total width stays fixed; dragging then trades
894
+ * width with the next column. Captures the pointer on the handle so move/end
895
+ * events keep firing even when the cursor leaves it.
896
+ *
897
+ * @param {{
898
+ * column: FuroTableColumn
899
+ * pointerEvent: PointerEvent
900
+ * }} params - Parameters of this method.
901
+ */
902
+ onColumnResizeStart({ column, pointerEvent, }: {
903
+ column: FuroTableColumn;
904
+ pointerEvent: PointerEvent;
905
+ }): void;
906
+ /**
907
+ * Trade width between the resized column and its neighbour as the pointer
908
+ * moves. The shared total is preserved (fit mode) and both columns are
909
+ * clamped to the minimum width, so the table never overflows from a resize.
910
+ *
911
+ * @param {{
912
+ * pointerEvent: PointerEvent
913
+ * }} params - Parameters of this method.
914
+ */
915
+ onColumnResizeMove({ pointerEvent, }: {
916
+ pointerEvent: PointerEvent;
917
+ }): void;
918
+ /**
919
+ * Finish resizing a column and release the captured pointer.
920
+ *
921
+ * @param {{
922
+ * pointerEvent: PointerEvent
923
+ * }} params - Parameters of this method.
924
+ */
925
+ onColumnResizeEnd({ pointerEvent, }: {
926
+ pointerEvent: PointerEvent;
927
+ }): void;
928
+ }
929
+ export type FuroTableContextParams = import("../../../contexts/BaseFuroContext.js").BaseFuroContextParams & {
930
+ props: Props;
931
+ componentContext: ComponentContext;
932
+ refHash: {
933
+ selectedRowKeysRef: import("vue").Ref<Array<string | number>>;
934
+ pendingSelectionRef: import("vue").Ref<PendingSelection | null>;
935
+ scrollTopRef: import("vue").Ref<number>;
936
+ columnWidthsRef: import("vue").Ref<Record<string, number>>;
937
+ };
938
+ };
939
+ /**
940
+ * The last selection this table emitted.
941
+ */
942
+ export type PendingSelection = {
943
+ derivedFrom: Array<string | number>;
944
+ selectedRowKeys: Array<string | number>;
945
+ };
946
+ export type FuroTableContextFactoryParams = Omit<FuroTableContextParams, "refHash"> & {
947
+ refHash?: FuroTableContextParams["refHash"];
948
+ };
949
+ export type EmitEventName = keyof typeof FuroTableContext.EMIT_EVENT_NAME;
950
+ export type Props = import("vue").HTMLAttributes & {
951
+ parcel?: FuroTableParcel | null;
952
+ };
953
+ /**
954
+ * Closed-set Furo behavior for `<FuroTable>`. JSON-serializable only.
955
+ */
956
+ export type FuroTableParcel = {
957
+ columns?: Array<FuroTableColumn>;
958
+ rows?: Array<Record<string, unknown>>;
959
+ rowKey?: string;
960
+ selectable?: boolean;
961
+ selectedRowKeys?: Array<string | number> | null;
962
+ sort?: FuroTableSort | null;
963
+ loading?: boolean;
964
+ errorMessage?: string | null;
965
+ emptyText?: string;
966
+ virtual?: FuroTableVirtual | null;
967
+ totalRecords?: number | null;
968
+ rowOffset?: number;
969
+ resizable?: boolean;
970
+ compact?: boolean;
971
+ gridLines?: boolean;
972
+ rowActionsLabel?: string;
973
+ rowActionsWidth?: string;
974
+ };
975
+ /**
976
+ * Fixed-height virtual-scroll configuration. When set, FuroTable windows the
977
+ * rendered rows and emits `range:change` so the consumer can lazy-fetch the
978
+ * visible window into a sparse `rows` (with `rowOffset` + `totalRecords`).
979
+ *
980
+ * For infinite-append consumers, prefer the `reach-end` event over
981
+ * `range:change`: it fires once per loaded window when a downward scroll nears
982
+ * the end (within `endThreshold` rows), never on upward scroll.
983
+ */
984
+ export type FuroTableVirtual = {
985
+ itemSize: number;
986
+ height: number;
987
+ overscan?: number;
988
+ endThreshold?: number;
989
+ };
990
+ export type FuroTableColumn = {
991
+ field: string;
992
+ label?: string;
993
+ sortable?: boolean;
994
+ align?: "start" | "center" | "end";
995
+ width?: string;
996
+ };
997
+ export type FuroTableSort = {
998
+ field: string;
999
+ direction: "asc" | "desc";
1000
+ };
1001
+ export type ComponentContext = import("vue").SetupContext<FuroTableEmitHash, FuroTableSlots>;
1002
+ export type FuroTableEmitHash = typeof FuroTableContext.EMIT_EVENT_HASH;
1003
+ export type FuroTableSlots = import("vue").SlotsType<{
1004
+ "header-cell": {
1005
+ column: FuroTableColumn;
1006
+ };
1007
+ cell: {
1008
+ row: Record<string, unknown>;
1009
+ column: FuroTableColumn;
1010
+ value: unknown;
1011
+ };
1012
+ loading: {};
1013
+ empty: {};
1014
+ error: {
1015
+ message: string | null;
1016
+ };
1017
+ placeholder: {
1018
+ index: number;
1019
+ };
1020
+ "row-actions": {
1021
+ row: Record<string, unknown>;
1022
+ };
1023
+ pagination: {};
1024
+ footer: {
1025
+ selection: {
1026
+ keys: Array<string | number>;
1027
+ count: number;
1028
+ };
1029
+ };
1030
+ }>;
1031
+ export type FuroTableSetup = (props: Props, componentContext: ComponentContext) => {
1032
+ context: FuroTableContext;
1033
+ };
1034
+ import BaseFuroContext from '../../../contexts/BaseFuroContext.js';
1035
+ import FuroTableRowItemContext from './FuroTableRowItemContext.js';