@flux-ui/components 3.0.0-next.34 → 3.0.0-next.38

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 (339) hide show
  1. package/dist/component/FluxActionBar.vue.d.ts +17 -17
  2. package/dist/component/FluxActionPane.vue.d.ts +7 -7
  3. package/dist/component/{FluxActions.vue.d.ts → FluxActionStack.vue.d.ts} +11 -15
  4. package/dist/component/{FluxAutoGrid.vue.d.ts → FluxAdaptiveGroup.vue.d.ts} +6 -3
  5. package/dist/component/FluxAdaptiveSlot.vue.d.ts +35 -0
  6. package/dist/component/FluxAspectRatio.vue.d.ts +3 -3
  7. package/dist/component/FluxBadgeStack.vue.d.ts +3 -3
  8. package/dist/component/FluxButtonGroup.vue.d.ts +3 -3
  9. package/dist/component/FluxButtonStack.vue.d.ts +3 -3
  10. package/dist/component/FluxCalendar.vue.d.ts +3 -3
  11. package/dist/component/FluxCalendarEvent.vue.d.ts +3 -3
  12. package/dist/component/FluxCheckbox.vue.d.ts +2 -1
  13. package/dist/component/FluxClickablePane.vue.d.ts +5 -5
  14. package/dist/component/FluxColorSelect.vue.d.ts +1 -0
  15. package/dist/component/{FluxPaneDeck.vue.d.ts → FluxColumn.vue.d.ts} +5 -5
  16. package/dist/component/FluxCommandPalette.vue.d.ts +52 -0
  17. package/dist/component/FluxCommandPaletteGroup.vue.d.ts +8 -0
  18. package/dist/component/FluxCommandPaletteItem.vue.d.ts +18 -0
  19. package/dist/component/FluxComment.vue.d.ts +3 -3
  20. package/dist/component/FluxContainer.vue.d.ts +3 -3
  21. package/dist/component/FluxDivider.vue.d.ts +5 -3
  22. package/dist/component/FluxDropZone.vue.d.ts +8 -7
  23. package/dist/component/FluxExpandableGroup.vue.d.ts +3 -3
  24. package/dist/component/FluxFader.vue.d.ts +3 -3
  25. package/dist/component/FluxFaderItem.vue.d.ts +3 -3
  26. package/dist/component/FluxFilter.vue.d.ts +3 -3
  27. package/dist/component/FluxFilterBar.vue.d.ts +3 -3
  28. package/dist/component/FluxFilterBase.vue.d.ts +4 -4
  29. package/dist/component/FluxFilterWindow.vue.d.ts +13 -17
  30. package/dist/component/FluxFlyout.vue.d.ts +19 -21
  31. package/dist/component/FluxForm.vue.d.ts +3 -3
  32. package/dist/component/FluxFormColumn.vue.d.ts +3 -3
  33. package/dist/component/FluxFormDateInput.vue.d.ts +18 -24
  34. package/dist/component/FluxFormDateRangeInput.vue.d.ts +18 -21
  35. package/dist/component/FluxFormDateTimeInput.vue.d.ts +18 -24
  36. package/dist/component/FluxFormField.vue.d.ts +7 -7
  37. package/dist/component/FluxFormGrid.vue.d.ts +3 -3
  38. package/dist/component/FluxFormInput.vue.d.ts +2 -9
  39. package/dist/component/FluxFormInputAddition.vue.d.ts +3 -3
  40. package/dist/component/FluxFormInputGroup.vue.d.ts +3 -3
  41. package/dist/component/FluxFormPinInput.vue.d.ts +2 -4
  42. package/dist/component/FluxFormRangeSlider.vue.d.ts +18 -2
  43. package/dist/component/FluxFormRow.vue.d.ts +3 -3
  44. package/dist/component/FluxFormSection.vue.d.ts +3 -3
  45. package/dist/component/FluxFormSelect.vue.d.ts +2 -4
  46. package/dist/component/FluxFormSelectAsync.vue.d.ts +2 -4
  47. package/dist/component/FluxFormSlider.vue.d.ts +11 -2
  48. package/dist/component/FluxFormTextArea.vue.d.ts +2 -6
  49. package/dist/component/FluxFormTimeZonePicker.vue.d.ts +2 -4
  50. package/dist/component/FluxFormTreeViewSelect.vue.d.ts +15 -37
  51. package/dist/component/FluxGallery.vue.d.ts +3 -3
  52. package/dist/component/FluxGrid.vue.d.ts +3 -3
  53. package/dist/component/FluxGridColumn.vue.d.ts +3 -3
  54. package/dist/component/FluxIcon.vue.d.ts +1 -0
  55. package/dist/component/FluxInfo.vue.d.ts +3 -3
  56. package/dist/component/FluxInfoStack.vue.d.ts +3 -3
  57. package/dist/component/FluxLayerPane.vue.d.ts +20 -0
  58. package/dist/component/FluxLayerPaneSecondary.vue.d.ts +20 -0
  59. package/dist/component/FluxMenu.vue.d.ts +3 -3
  60. package/dist/component/FluxMenuCollapsible.vue.d.ts +47 -0
  61. package/dist/component/FluxMenuGroup.vue.d.ts +3 -3
  62. package/dist/component/FluxMenuItem.vue.d.ts +5 -3
  63. package/dist/component/FluxMenuOptions.vue.d.ts +3 -3
  64. package/dist/component/FluxNotice.vue.d.ts +5 -5
  65. package/dist/component/FluxNoticeStack.vue.d.ts +3 -3
  66. package/dist/component/FluxOverflowBar.vue.d.ts +4 -4
  67. package/dist/component/FluxPane.vue.d.ts +5 -5
  68. package/dist/component/FluxPaneBody.vue.d.ts +3 -3
  69. package/dist/component/FluxPaneFooter.vue.d.ts +3 -3
  70. package/dist/component/FluxPaneGroup.vue.d.ts +3 -3
  71. package/dist/component/FluxPaneHeader.vue.d.ts +6 -6
  72. package/dist/component/FluxPaneIllustration.vue.d.ts +5 -5
  73. package/dist/component/FluxPressable.vue.d.ts +3 -3
  74. package/dist/component/FluxPrompt.vue.d.ts +3 -17
  75. package/dist/component/FluxRoot.vue.d.ts +3 -3
  76. package/dist/component/FluxRow.vue.d.ts +23 -0
  77. package/dist/component/FluxSegmentedControl.vue.d.ts +3 -2
  78. package/dist/component/FluxSplitButton.vue.d.ts +5 -5
  79. package/dist/component/FluxStack.vue.d.ts +3 -3
  80. package/dist/component/FluxStepper.vue.d.ts +6 -6
  81. package/dist/component/FluxStepperStep.vue.d.ts +3 -3
  82. package/dist/component/FluxTab.vue.d.ts +3 -3
  83. package/dist/component/FluxTabBar.vue.d.ts +3 -3
  84. package/dist/component/FluxTabBarItem.vue.d.ts +5 -7
  85. package/dist/component/FluxTableActions.vue.d.ts +3 -3
  86. package/dist/component/FluxTableBar.vue.d.ts +3 -3
  87. package/dist/component/FluxTableCell.vue.d.ts +5 -5
  88. package/dist/component/FluxTableHeader.vue.d.ts +3 -3
  89. package/dist/component/FluxTableRow.vue.d.ts +3 -3
  90. package/dist/component/FluxTabs.vue.d.ts +6 -6
  91. package/dist/component/FluxTag.vue.d.ts +1 -0
  92. package/dist/component/FluxTagStack.vue.d.ts +3 -3
  93. package/dist/component/FluxTimeline.vue.d.ts +3 -3
  94. package/dist/component/FluxTimelineItem.vue.d.ts +3 -3
  95. package/dist/component/FluxToggle.vue.d.ts +2 -3
  96. package/dist/component/FluxToolbar.vue.d.ts +3 -3
  97. package/dist/component/FluxToolbarGroup.vue.d.ts +3 -3
  98. package/dist/component/FluxWindow.vue.d.ts +3 -3
  99. package/dist/component/index.d.ts +11 -3
  100. package/dist/component/primitive/Anchor.vue.d.ts +3 -3
  101. package/dist/component/primitive/AnchorPopup.vue.d.ts +3 -3
  102. package/dist/component/primitive/CoordinatePicker.vue.d.ts +1 -0
  103. package/dist/component/primitive/DialogLayout.vue.d.ts +28 -0
  104. package/dist/component/primitive/FilterOptionBase.vue.d.ts +2 -2
  105. package/dist/component/primitive/SelectBase.vue.d.ts +19 -37
  106. package/dist/component/primitive/SliderThumb.vue.d.ts +4 -0
  107. package/dist/component/primitive/TreeNodeRenderer.vue.d.ts +30 -0
  108. package/dist/component/primitive/index.d.ts +2 -0
  109. package/dist/composable/index.d.ts +1 -0
  110. package/dist/composable/private/index.d.ts +8 -0
  111. package/dist/composable/private/useAsyncFilterOptions.d.ts +14 -0
  112. package/dist/composable/private/useCommandPalette.d.ts +38 -0
  113. package/dist/composable/private/useDateFlyout.d.ts +10 -0
  114. package/dist/composable/private/useDropdownPopup.d.ts +27 -0
  115. package/dist/composable/private/useFilterOption.d.ts +12 -0
  116. package/dist/composable/useAdaptiveGroupInjection.d.ts +2 -0
  117. package/dist/data/di.d.ts +11 -0
  118. package/dist/data/filter.d.ts +4 -17
  119. package/dist/data/i18n.d.ts +17 -0
  120. package/dist/data/timeZones.d.ts +3 -0
  121. package/dist/index.css +710 -349
  122. package/dist/index.d.ts +1 -1
  123. package/dist/index.js +6936 -5537
  124. package/dist/index.js.map +1 -1
  125. package/dist/transition/FluxAutoHeightTransition.vue.d.ts +5 -3
  126. package/dist/transition/FluxAutoWidthTransition.vue.d.ts +5 -3
  127. package/dist/transition/FluxBreakthroughTransition.vue.d.ts +5 -3
  128. package/dist/transition/FluxFadeTransition.vue.d.ts +5 -3
  129. package/dist/transition/FluxOverlayTransition.vue.d.ts +5 -3
  130. package/dist/transition/FluxRouteTransition.vue.d.ts +5 -3
  131. package/dist/transition/FluxSlideOverTransition.vue.d.ts +5 -3
  132. package/dist/transition/FluxTooltipTransition.vue.d.ts +5 -3
  133. package/dist/transition/FluxVerticalWindowTransition.vue.d.ts +5 -3
  134. package/dist/transition/FluxWindowTransition.vue.d.ts +5 -3
  135. package/package.json +19 -23
  136. package/src/component/FluxActionBar.vue +9 -8
  137. package/src/component/FluxActionPane.vue +4 -3
  138. package/src/component/{FluxActions.vue → FluxActionStack.vue} +2 -2
  139. package/src/component/FluxAdaptiveGroup.vue +112 -0
  140. package/src/component/FluxAdaptiveSlot.vue +159 -0
  141. package/src/component/FluxAlert.vue +8 -17
  142. package/src/component/FluxAnimatedColors.vue +1 -1
  143. package/src/component/FluxAspectRatio.vue +2 -1
  144. package/src/component/FluxBadge.vue +5 -1
  145. package/src/component/FluxBadgeStack.vue +2 -1
  146. package/src/component/FluxButtonGroup.vue +2 -1
  147. package/src/component/FluxButtonStack.vue +2 -1
  148. package/src/component/FluxCalendar.vue +8 -1
  149. package/src/component/FluxCalendarEvent.vue +2 -1
  150. package/src/component/FluxCheckbox.vue +33 -6
  151. package/src/component/FluxChip.vue +1 -0
  152. package/src/component/FluxClickablePane.vue +3 -2
  153. package/src/component/FluxColorPicker.vue +8 -1
  154. package/src/component/FluxColorSelect.vue +25 -4
  155. package/src/component/{FluxAutoGrid.vue → FluxColumn.vue} +5 -8
  156. package/src/component/FluxCommandPalette.vue +290 -0
  157. package/src/component/FluxCommandPaletteGroup.vue +23 -0
  158. package/src/component/FluxCommandPaletteItem.vue +60 -0
  159. package/src/component/FluxComment.vue +2 -2
  160. package/src/component/FluxConfirm.vue +8 -17
  161. package/src/component/FluxContainer.vue +3 -2
  162. package/src/component/FluxDataTable.vue +3 -1
  163. package/src/component/FluxDivider.vue +7 -3
  164. package/src/component/FluxDropZone.vue +22 -8
  165. package/src/component/FluxExpandable.vue +3 -2
  166. package/src/component/FluxExpandableGroup.vue +2 -2
  167. package/src/component/FluxFader.vue +2 -2
  168. package/src/component/FluxFaderItem.vue +2 -1
  169. package/src/component/FluxFilter.vue +2 -1
  170. package/src/component/FluxFilterBar.vue +3 -2
  171. package/src/component/FluxFilterBase.vue +17 -9
  172. package/src/component/FluxFilterOption.vue +3 -14
  173. package/src/component/FluxFilterOptionAsync.vue +17 -60
  174. package/src/component/FluxFilterOptions.vue +3 -25
  175. package/src/component/FluxFilterOptionsAsync.vue +9 -73
  176. package/src/component/FluxFilterWindow.vue +1 -1
  177. package/src/component/FluxFlyout.vue +13 -11
  178. package/src/component/FluxForm.vue +2 -1
  179. package/src/component/FluxFormColumn.vue +2 -1
  180. package/src/component/FluxFormDateInput.vue +9 -22
  181. package/src/component/FluxFormDateRangeInput.vue +20 -15
  182. package/src/component/FluxFormDateTimeInput.vue +17 -20
  183. package/src/component/FluxFormField.vue +4 -4
  184. package/src/component/FluxFormGrid.vue +2 -1
  185. package/src/component/FluxFormInput.vue +11 -10
  186. package/src/component/FluxFormInputAddition.vue +2 -1
  187. package/src/component/FluxFormInputGroup.vue +3 -2
  188. package/src/component/FluxFormPinInput.vue +14 -6
  189. package/src/component/FluxFormRangeSlider.vue +12 -2
  190. package/src/component/FluxFormRow.vue +2 -1
  191. package/src/component/FluxFormSection.vue +4 -3
  192. package/src/component/FluxFormSelect.vue +11 -4
  193. package/src/component/FluxFormSelectAsync.vue +14 -8
  194. package/src/component/FluxFormSlider.vue +8 -2
  195. package/src/component/FluxFormTextArea.vue +12 -7
  196. package/src/component/FluxFormTimeZonePicker.vue +13 -626
  197. package/src/component/FluxFormTreeViewSelect.vue +51 -79
  198. package/src/component/FluxGallery.vue +2 -1
  199. package/src/component/FluxGrid.vue +3 -2
  200. package/src/component/FluxGridColumn.vue +2 -1
  201. package/src/component/FluxIcon.vue +4 -2
  202. package/src/component/FluxInfo.vue +2 -1
  203. package/src/component/FluxInfoStack.vue +3 -2
  204. package/src/component/FluxLayerPane.vue +16 -0
  205. package/src/component/FluxLayerPaneSecondary.vue +16 -0
  206. package/src/component/FluxLegend.vue +9 -9
  207. package/src/component/FluxMenu.vue +2 -2
  208. package/src/component/FluxMenuCollapsible.vue +187 -0
  209. package/src/component/FluxMenuGroup.vue +2 -1
  210. package/src/component/FluxMenuItem.vue +9 -1
  211. package/src/component/FluxMenuOptions.vue +1 -1
  212. package/src/component/FluxNotice.vue +7 -2
  213. package/src/component/FluxNoticeStack.vue +2 -1
  214. package/src/component/FluxOverflowBar.vue +3 -3
  215. package/src/component/FluxPagination.vue +1 -0
  216. package/src/component/FluxPane.vue +3 -2
  217. package/src/component/FluxPaneBody.vue +2 -1
  218. package/src/component/FluxPaneFooter.vue +2 -1
  219. package/src/component/FluxPaneGroup.vue +2 -1
  220. package/src/component/FluxPaneHeader.vue +7 -6
  221. package/src/component/FluxPaneIllustration.vue +3 -3
  222. package/src/component/FluxPaneMedia.vue +1 -1
  223. package/src/component/FluxPercentageBar.vue +3 -1
  224. package/src/component/FluxPressable.vue +2 -1
  225. package/src/component/FluxProgressBar.vue +2 -1
  226. package/src/component/FluxPrompt.vue +16 -27
  227. package/src/component/FluxRemove.vue +4 -0
  228. package/src/component/FluxRoot.vue +2 -2
  229. package/src/component/FluxRow.vue +24 -0
  230. package/src/component/FluxSegmentedControl.vue +51 -4
  231. package/src/component/FluxSnackbar.vue +36 -12
  232. package/src/component/FluxSplitButton.vue +3 -2
  233. package/src/component/FluxStack.vue +4 -3
  234. package/src/component/FluxStepper.vue +3 -3
  235. package/src/component/FluxStepperStep.vue +2 -1
  236. package/src/component/FluxTab.vue +2 -1
  237. package/src/component/FluxTabBar.vue +3 -3
  238. package/src/component/FluxTableActions.vue +5 -4
  239. package/src/component/FluxTableBar.vue +2 -1
  240. package/src/component/FluxTableCell.vue +4 -3
  241. package/src/component/FluxTableHeader.vue +4 -2
  242. package/src/component/FluxTableRow.vue +2 -1
  243. package/src/component/FluxTabs.vue +15 -6
  244. package/src/component/FluxTag.vue +8 -2
  245. package/src/component/FluxTagStack.vue +2 -1
  246. package/src/component/FluxTimeline.vue +2 -1
  247. package/src/component/FluxTimelineItem.vue +2 -1
  248. package/src/component/FluxToggle.vue +20 -5
  249. package/src/component/FluxToolbar.vue +2 -1
  250. package/src/component/FluxToolbarGroup.vue +2 -1
  251. package/src/component/FluxTooltip.vue +1 -1
  252. package/src/component/FluxTreeView.vue +9 -35
  253. package/src/component/FluxWindow.vue +2 -2
  254. package/src/component/index.ts +11 -3
  255. package/src/component/primitive/Anchor.vue +3 -1
  256. package/src/component/primitive/AnchorPopup.vue +3 -3
  257. package/src/component/primitive/CoordinatePicker.vue +2 -1
  258. package/src/component/primitive/CoordinatePickerThumb.vue +2 -0
  259. package/src/component/primitive/DialogLayout.vue +44 -0
  260. package/src/component/primitive/SelectBase.vue +22 -28
  261. package/src/component/primitive/SliderBase.vue +0 -1
  262. package/src/component/primitive/SliderThumb.vue +9 -0
  263. package/src/component/primitive/TreeNodeRenderer.vue +77 -0
  264. package/src/component/primitive/index.ts +2 -0
  265. package/src/composable/index.ts +1 -0
  266. package/src/composable/private/index.ts +8 -0
  267. package/src/composable/private/useAsyncFilterOptions.ts +70 -0
  268. package/src/composable/private/useCommandPalette.ts +405 -0
  269. package/src/composable/private/useDateFlyout.ts +34 -0
  270. package/src/composable/private/useDropdownPopup.ts +99 -0
  271. package/src/composable/private/useFilterOption.ts +59 -0
  272. package/src/composable/useAdaptiveGroupInjection.ts +6 -0
  273. package/src/css/component/Action.module.scss +2 -2
  274. package/src/css/component/AdaptiveSlot.module.scss +25 -0
  275. package/src/css/component/Avatar.module.scss +10 -11
  276. package/src/css/component/Badge.module.scss +11 -4
  277. package/src/css/component/Button.module.scss +4 -16
  278. package/src/css/component/Calendar.module.scss +4 -4
  279. package/src/css/component/Chip.module.scss +6 -10
  280. package/src/css/component/Color.module.scss +1 -1
  281. package/src/css/component/CommandPalette.module.scss +332 -0
  282. package/src/css/component/DatePicker.module.scss +1 -1
  283. package/src/css/component/Expandable.module.scss +5 -5
  284. package/src/css/component/Fader.module.scss +2 -1
  285. package/src/css/component/Flyout.module.scss +1 -1
  286. package/src/css/component/FocalPoint.module.scss +1 -1
  287. package/src/css/component/Form.module.scss +56 -10
  288. package/src/css/component/Item.module.scss +4 -4
  289. package/src/css/component/LayerPane.module.scss +40 -0
  290. package/src/css/component/Layout.module.scss +11 -4
  291. package/src/css/component/Legend.module.scss +2 -2
  292. package/src/css/component/Menu.module.scss +59 -11
  293. package/src/css/component/Notice.module.scss +7 -7
  294. package/src/css/component/Overlay.module.scss +2 -2
  295. package/src/css/component/Pane.module.scss +10 -23
  296. package/src/css/component/PercentageBar.module.scss +1 -1
  297. package/src/css/component/Remove.module.scss +1 -1
  298. package/src/css/component/SegmentedControl.module.scss +1 -0
  299. package/src/css/component/Snackbar.module.scss +1 -1
  300. package/src/css/component/Statistic.module.scss +2 -2
  301. package/src/css/component/Stepper.module.scss +1 -1
  302. package/src/css/component/Tab.module.scss +11 -15
  303. package/src/css/component/Table.module.scss +13 -13
  304. package/src/css/component/Timeline.module.scss +2 -2
  305. package/src/css/component/Toolbar.module.scss +3 -3
  306. package/src/css/component/Tooltip.module.scss +3 -4
  307. package/src/css/component/Transition.module.scss +1 -1
  308. package/src/css/component/TreeView.module.scss +2 -15
  309. package/src/css/component/TreeViewSelect.module.scss +1 -15
  310. package/src/css/component/base/Button.module.scss +6 -7
  311. package/src/css/component/base/Effect.module.scss +2 -1
  312. package/src/css/component/primitive/Slider.module.scss +6 -7
  313. package/src/css/component/primitive/TreeNode.module.scss +19 -0
  314. package/src/css/mixin/button-active.scss +6 -0
  315. package/src/css/mixin/focus-ring.scss +1 -1
  316. package/src/css/mixin/index.scss +1 -0
  317. package/src/css/typography.scss +3 -2
  318. package/src/css/variables.scss +7 -2
  319. package/src/data/di.ts +13 -0
  320. package/src/data/filter.ts +24 -28
  321. package/src/data/i18n.ts +17 -0
  322. package/src/data/store.ts +46 -11
  323. package/src/data/timeZones.ts +619 -0
  324. package/src/index.ts +2 -0
  325. package/src/transition/FluxAutoHeightTransition.vue +5 -0
  326. package/src/transition/FluxAutoWidthTransition.vue +5 -0
  327. package/src/transition/FluxBreakthroughTransition.vue +5 -0
  328. package/src/transition/FluxFadeTransition.vue +5 -0
  329. package/src/transition/FluxOverlayTransition.vue +5 -0
  330. package/src/transition/FluxRouteTransition.vue +5 -0
  331. package/src/transition/FluxSlideOverTransition.vue +5 -0
  332. package/src/transition/FluxTooltipTransition.vue +5 -0
  333. package/src/transition/FluxVerticalWindowTransition.vue +5 -0
  334. package/src/transition/FluxWindowTransition.vue +5 -0
  335. package/dist/0db98648.svg +0 -3
  336. package/src/component/FluxPaneDeck.vue +0 -24
  337. package/src/css/component/base/Grid.module.scss +0 -8
  338. package/src/image/avatar-mask.svg +0 -3
  339. package/tsconfig.json +0 -7
@@ -1,8 +1,15 @@
1
1
  <template>
2
2
  <FluxFormSelect
3
3
  v-model="modelValue"
4
+ :auto-focus="autoFocus"
4
5
  :disabled="disabled"
6
+ :error="error"
7
+ :is-condensed="isCondensed"
8
+ :is-loading="isLoading"
9
+ :is-readonly="isReadonly"
5
10
  is-searchable
11
+ :is-secondary="isSecondary"
12
+ :name="name"
6
13
  :options="options"
7
14
  :placeholder="placeholder"/>
8
15
  </template>
@@ -11,642 +18,22 @@
11
18
  lang="ts"
12
19
  setup>
13
20
  import { isSSR } from '@flux-ui/internals';
14
- import type { FluxFormSelectEntry } from '@flux-ui/types';
21
+ import type { FluxFormInputBaseProps, FluxFormSelectEntry } from '@flux-ui/types';
15
22
  import { upperFirst } from 'lodash-es';
16
23
  import { computed, toRef } from 'vue';
17
24
  import { useDisabled } from '$flux/composable';
18
25
  import { useTranslate } from '$flux/composable/private';
19
26
  import type { FluxTranslation } from '$flux/data';
27
+ import { TIME_ZONE_GROUP_ORDER, TIME_ZONES } from '$flux/data/timeZones';
20
28
  import FluxFormSelect from './FluxFormSelect.vue';
21
29
 
22
- const timeZones = [
23
- 'Africa/Abidjan',
24
- 'Africa/Accra',
25
- 'Africa/Addis_Ababa',
26
- 'Africa/Algiers',
27
- 'Africa/Asmara',
28
- 'Africa/Asmera',
29
- 'Africa/Bamako',
30
- 'Africa/Bangui',
31
- 'Africa/Banjul',
32
- 'Africa/Bissau',
33
- 'Africa/Blantyre',
34
- 'Africa/Brazzaville',
35
- 'Africa/Bujumbura',
36
- 'Africa/Cairo',
37
- 'Africa/Casablanca',
38
- 'Africa/Ceuta',
39
- 'Africa/Conakry',
40
- 'Africa/Dakar',
41
- 'Africa/Dar_es_Salaam',
42
- 'Africa/Djibouti',
43
- 'Africa/Douala',
44
- 'Africa/El_Aaiun',
45
- 'Africa/Freetown',
46
- 'Africa/Gaborone',
47
- 'Africa/Harare',
48
- 'Africa/Johannesburg',
49
- 'Africa/Juba',
50
- 'Africa/Kampala',
51
- 'Africa/Khartoum',
52
- 'Africa/Kigali',
53
- 'Africa/Kinshasa',
54
- 'Africa/Lagos',
55
- 'Africa/Libreville',
56
- 'Africa/Lome',
57
- 'Africa/Luanda',
58
- 'Africa/Lubumbashi',
59
- 'Africa/Lusaka',
60
- 'Africa/Malabo',
61
- 'Africa/Maputo',
62
- 'Africa/Maseru',
63
- 'Africa/Mbabane',
64
- 'Africa/Mogadishu',
65
- 'Africa/Monrovia',
66
- 'Africa/Nairobi',
67
- 'Africa/Ndjamena',
68
- 'Africa/Niamey',
69
- 'Africa/Nouakchott',
70
- 'Africa/Ouagadougou',
71
- 'Africa/Porto-Novo',
72
- 'Africa/Sao_Tome',
73
- 'Africa/Timbuktu',
74
- 'Africa/Tripoli',
75
- 'Africa/Tunis',
76
- 'Africa/Windhoek',
77
- 'America/Adak',
78
- 'America/Anchorage',
79
- 'America/Anguilla',
80
- 'America/Antigua',
81
- 'America/Araguaina',
82
- 'America/Argentina/Buenos_Aires',
83
- 'America/Argentina/Catamarca',
84
- 'America/Argentina/ComodRivadavia',
85
- 'America/Argentina/Cordoba',
86
- 'America/Argentina/Jujuy',
87
- 'America/Argentina/La_Rioja',
88
- 'America/Argentina/Mendoza',
89
- 'America/Argentina/Rio_Gallegos',
90
- 'America/Argentina/Salta',
91
- 'America/Argentina/San_Juan',
92
- 'America/Argentina/San_Luis',
93
- 'America/Argentina/Tucuman',
94
- 'America/Argentina/Ushuaia',
95
- 'America/Aruba',
96
- 'America/Asuncion',
97
- 'America/Atikokan',
98
- 'America/Atka',
99
- 'America/Bahia',
100
- 'America/Bahia_Banderas',
101
- 'America/Barbados',
102
- 'America/Belem',
103
- 'America/Belize',
104
- 'America/Blanc-Sablon',
105
- 'America/Boa_Vista',
106
- 'America/Bogota',
107
- 'America/Boise',
108
- 'America/Buenos_Aires',
109
- 'America/Cambridge_Bay',
110
- 'America/Campo_Grande',
111
- 'America/Cancun',
112
- 'America/Caracas',
113
- 'America/Catamarca',
114
- 'America/Cayenne',
115
- 'America/Cayman',
116
- 'America/Chicago',
117
- 'America/Chihuahua',
118
- 'America/Ciudad_Juarez',
119
- 'America/Coral_Harbour',
120
- 'America/Cordoba',
121
- 'America/Costa_Rica',
122
- 'America/Creston',
123
- 'America/Cuiaba',
124
- 'America/Curacao',
125
- 'America/Danmarkshavn',
126
- 'America/Dawson',
127
- 'America/Dawson_Creek',
128
- 'America/Denver',
129
- 'America/Detroit',
130
- 'America/Dominica',
131
- 'America/Edmonton',
132
- 'America/Eirunepe',
133
- 'America/El_Salvador',
134
- 'America/Ensenada',
135
- 'America/Fort_Nelson',
136
- 'America/Fort_Wayne',
137
- 'America/Fortaleza',
138
- 'America/Glace_Bay',
139
- 'America/Godthab',
140
- 'America/Goose_Bay',
141
- 'America/Grand_Turk',
142
- 'America/Grenada',
143
- 'America/Guadeloupe',
144
- 'America/Guatemala',
145
- 'America/Guayaquil',
146
- 'America/Guyana',
147
- 'America/Halifax',
148
- 'America/Havana',
149
- 'America/Hermosillo',
150
- 'America/Indiana/Indianapolis',
151
- 'America/Indiana/Knox',
152
- 'America/Indiana/Marengo',
153
- 'America/Indiana/Petersburg',
154
- 'America/Indiana/Tell_City',
155
- 'America/Indiana/Vevay',
156
- 'America/Indiana/Vincennes',
157
- 'America/Indiana/Winamac',
158
- 'America/Indianapolis',
159
- 'America/Inuvik',
160
- 'America/Iqaluit',
161
- 'America/Jamaica',
162
- 'America/Jujuy',
163
- 'America/Juneau',
164
- 'America/Kentucky/Louisville',
165
- 'America/Kentucky/Monticello',
166
- 'America/Knox_IN',
167
- 'America/Kralendijk',
168
- 'America/La_Paz',
169
- 'America/Lima',
170
- 'America/Los_Angeles',
171
- 'America/Louisville',
172
- 'America/Lower_Princes',
173
- 'America/Maceio',
174
- 'America/Managua',
175
- 'America/Manaus',
176
- 'America/Marigot',
177
- 'America/Martinique',
178
- 'America/Matamoros',
179
- 'America/Mazatlan',
180
- 'America/Mendoza',
181
- 'America/Menominee',
182
- 'America/Merida',
183
- 'America/Metlakatla',
184
- 'America/Mexico_City',
185
- 'America/Miquelon',
186
- 'America/Moncton',
187
- 'America/Monterrey',
188
- 'America/Montevideo',
189
- 'America/Montreal',
190
- 'America/Montserrat',
191
- 'America/Nassau',
192
- 'America/New_York',
193
- 'America/Nipigon',
194
- 'America/Nome',
195
- 'America/Noronha',
196
- 'America/North_Dakota/Beulah',
197
- 'America/North_Dakota/Center',
198
- 'America/North_Dakota/New_Salem',
199
- 'America/Nuuk',
200
- 'America/Ojinaga',
201
- 'America/Panama',
202
- 'America/Pangnirtung',
203
- 'America/Paramaribo',
204
- 'America/Phoenix',
205
- 'America/Port-au-Prince',
206
- 'America/Port_of_Spain',
207
- 'America/Porto_Acre',
208
- 'America/Porto_Velho',
209
- 'America/Puerto_Rico',
210
- 'America/Punta_Arenas',
211
- 'America/Rainy_River',
212
- 'America/Rankin_Inlet',
213
- 'America/Recife',
214
- 'America/Regina',
215
- 'America/Resolute',
216
- 'America/Rio_Branco',
217
- 'America/Rosario',
218
- 'America/Santa_Isabel',
219
- 'America/Santarem',
220
- 'America/Santiago',
221
- 'America/Santo_Domingo',
222
- 'America/Sao_Paulo',
223
- 'America/Scoresbysund',
224
- 'America/Shiprock',
225
- 'America/Sitka',
226
- 'America/St_Barthelemy',
227
- 'America/St_Johns',
228
- 'America/St_Kitts',
229
- 'America/St_Lucia',
230
- 'America/St_Thomas',
231
- 'America/St_Vincent',
232
- 'America/Swift_Current',
233
- 'America/Tegucigalpa',
234
- 'America/Thule',
235
- 'America/Thunder_Bay',
236
- 'America/Tijuana',
237
- 'America/Toronto',
238
- 'America/Tortola',
239
- 'America/Vancouver',
240
- 'America/Virgin',
241
- 'America/Whitehorse',
242
- 'America/Winnipeg',
243
- 'America/Yakutat',
244
- 'America/Yellowknife',
245
- 'Antarctica/Casey',
246
- 'Antarctica/Davis',
247
- 'Antarctica/DumontDUrville',
248
- 'Antarctica/Macquarie',
249
- 'Antarctica/Mawson',
250
- 'Antarctica/McMurdo',
251
- 'Antarctica/Palmer',
252
- 'Antarctica/Rothera',
253
- 'Antarctica/South_Pole',
254
- 'Antarctica/Syowa',
255
- 'Antarctica/Troll',
256
- 'Antarctica/Vostok',
257
- 'Arctic/Longyearbyen',
258
- 'Asia/Aden',
259
- 'Asia/Almaty',
260
- 'Asia/Amman',
261
- 'Asia/Anadyr',
262
- 'Asia/Aqtau',
263
- 'Asia/Aqtobe',
264
- 'Asia/Ashgabat',
265
- 'Asia/Ashkhabad',
266
- 'Asia/Atyrau',
267
- 'Asia/Baghdad',
268
- 'Asia/Bahrain',
269
- 'Asia/Baku',
270
- 'Asia/Bangkok',
271
- 'Asia/Barnaul',
272
- 'Asia/Beirut',
273
- 'Asia/Bishkek',
274
- 'Asia/Brunei',
275
- 'Asia/Calcutta',
276
- 'Asia/Chita',
277
- 'Asia/Choibalsan',
278
- 'Asia/Chongqing',
279
- 'Asia/Chungking',
280
- 'Asia/Colombo',
281
- 'Asia/Dacca',
282
- 'Asia/Damascus',
283
- 'Asia/Dhaka',
284
- 'Asia/Dili',
285
- 'Asia/Dubai',
286
- 'Asia/Dushanbe',
287
- 'Asia/Famagusta',
288
- 'Asia/Gaza',
289
- 'Asia/Harbin',
290
- 'Asia/Hebron',
291
- 'Asia/Ho_Chi_Minh',
292
- 'Asia/Hong_Kong',
293
- 'Asia/Hovd',
294
- 'Asia/Irkutsk',
295
- 'Asia/Istanbul',
296
- 'Asia/Jakarta',
297
- 'Asia/Jayapura',
298
- 'Asia/Jerusalem',
299
- 'Asia/Kabul',
300
- 'Asia/Kamchatka',
301
- 'Asia/Karachi',
302
- 'Asia/Kashgar',
303
- 'Asia/Kathmandu',
304
- 'Asia/Katmandu',
305
- 'Asia/Khandyga',
306
- 'Asia/Kolkata',
307
- 'Asia/Krasnoyarsk',
308
- 'Asia/Kuala_Lumpur',
309
- 'Asia/Kuching',
310
- 'Asia/Kuwait',
311
- 'Asia/Macao',
312
- 'Asia/Macau',
313
- 'Asia/Magadan',
314
- 'Asia/Makassar',
315
- 'Asia/Manila',
316
- 'Asia/Muscat',
317
- 'Asia/Nicosia',
318
- 'Asia/Novokuznetsk',
319
- 'Asia/Novosibirsk',
320
- 'Asia/Omsk',
321
- 'Asia/Oral',
322
- 'Asia/Phnom_Penh',
323
- 'Asia/Pontianak',
324
- 'Asia/Pyongyang',
325
- 'Asia/Qatar',
326
- 'Asia/Qostanay',
327
- 'Asia/Qyzylorda',
328
- 'Asia/Rangoon',
329
- 'Asia/Riyadh',
330
- 'Asia/Saigon',
331
- 'Asia/Sakhalin',
332
- 'Asia/Samarkand',
333
- 'Asia/Seoul',
334
- 'Asia/Shanghai',
335
- 'Asia/Singapore',
336
- 'Asia/Srednekolymsk',
337
- 'Asia/Taipei',
338
- 'Asia/Tashkent',
339
- 'Asia/Tbilisi',
340
- 'Asia/Tehran',
341
- 'Asia/Tel_Aviv',
342
- 'Asia/Thimbu',
343
- 'Asia/Thimphu',
344
- 'Asia/Tokyo',
345
- 'Asia/Tomsk',
346
- 'Asia/Ujung_Pandang',
347
- 'Asia/Ulaanbaatar',
348
- 'Asia/Ulan_Bator',
349
- 'Asia/Urumqi',
350
- 'Asia/Ust-Nera',
351
- 'Asia/Vientiane',
352
- 'Asia/Vladivostok',
353
- 'Asia/Yakutsk',
354
- 'Asia/Yangon',
355
- 'Asia/Yekaterinburg',
356
- 'Asia/Yerevan',
357
- 'Atlantic/Azores',
358
- 'Atlantic/Bermuda',
359
- 'Atlantic/Canary',
360
- 'Atlantic/Cape_Verde',
361
- 'Atlantic/Faeroe',
362
- 'Atlantic/Faroe',
363
- 'Atlantic/Jan_Mayen',
364
- 'Atlantic/Madeira',
365
- 'Atlantic/Reykjavik',
366
- 'Atlantic/South_Georgia',
367
- 'Atlantic/St_Helena',
368
- 'Atlantic/Stanley',
369
- 'Australia/ACT',
370
- 'Australia/Adelaide',
371
- 'Australia/Brisbane',
372
- 'Australia/Broken_Hill',
373
- 'Australia/Canberra',
374
- 'Australia/Currie',
375
- 'Australia/Darwin',
376
- 'Australia/Eucla',
377
- 'Australia/Hobart',
378
- 'Australia/LHI',
379
- 'Australia/Lindeman',
380
- 'Australia/Lord_Howe',
381
- 'Australia/Melbourne',
382
- 'Australia/North',
383
- 'Australia/NSW',
384
- 'Australia/Perth',
385
- 'Australia/Queensland',
386
- 'Australia/South',
387
- 'Australia/Sydney',
388
- 'Australia/Tasmania',
389
- 'Australia/Victoria',
390
- 'Australia/West',
391
- 'Australia/Yancowinna',
392
- 'Brazil/Acre',
393
- 'Brazil/DeNoronha',
394
- 'Brazil/East',
395
- 'Brazil/West',
396
- 'Canada/Atlantic',
397
- 'Canada/Central',
398
- 'Canada/Eastern',
399
- 'Canada/Mountain',
400
- 'Canada/Newfoundland',
401
- 'Canada/Pacific',
402
- 'Canada/Saskatchewan',
403
- 'Canada/Yukon',
404
- 'CET',
405
- 'Chile/Continental',
406
- 'Chile/EasterIsland',
407
- 'CST6CDT',
408
- 'Cuba',
409
- 'EET',
410
- 'Egypt',
411
- 'Eire',
412
- 'EST',
413
- 'EST5EDT',
414
- 'Etc/GMT',
415
- 'Etc/GMT+0',
416
- 'Etc/GMT+1',
417
- 'Etc/GMT+10',
418
- 'Etc/GMT+11',
419
- 'Etc/GMT+12',
420
- 'Etc/GMT+2',
421
- 'Etc/GMT+3',
422
- 'Etc/GMT+4',
423
- 'Etc/GMT+5',
424
- 'Etc/GMT+6',
425
- 'Etc/GMT+7',
426
- 'Etc/GMT+8',
427
- 'Etc/GMT+9',
428
- 'Etc/GMT-0',
429
- 'Etc/GMT-1',
430
- 'Etc/GMT-10',
431
- 'Etc/GMT-11',
432
- 'Etc/GMT-12',
433
- 'Etc/GMT-13',
434
- 'Etc/GMT-14',
435
- 'Etc/GMT-2',
436
- 'Etc/GMT-3',
437
- 'Etc/GMT-4',
438
- 'Etc/GMT-5',
439
- 'Etc/GMT-6',
440
- 'Etc/GMT-7',
441
- 'Etc/GMT-8',
442
- 'Etc/GMT-9',
443
- 'Etc/GMT0',
444
- 'Etc/Greenwich',
445
- 'Etc/UCT',
446
- 'Etc/Universal',
447
- 'Etc/UTC',
448
- 'Etc/Zulu',
449
- 'Europe/Amsterdam',
450
- 'Europe/Andorra',
451
- 'Europe/Astrakhan',
452
- 'Europe/Athens',
453
- 'Europe/Belfast',
454
- 'Europe/Belgrade',
455
- 'Europe/Berlin',
456
- 'Europe/Bratislava',
457
- 'Europe/Brussels',
458
- 'Europe/Bucharest',
459
- 'Europe/Budapest',
460
- 'Europe/Busingen',
461
- 'Europe/Chisinau',
462
- 'Europe/Copenhagen',
463
- 'Europe/Dublin',
464
- 'Europe/Gibraltar',
465
- 'Europe/Guernsey',
466
- 'Europe/Helsinki',
467
- 'Europe/Isle_of_Man',
468
- 'Europe/Istanbul',
469
- 'Europe/Jersey',
470
- 'Europe/Kaliningrad',
471
- 'Europe/Kiev',
472
- 'Europe/Kirov',
473
- 'Europe/Lisbon',
474
- 'Europe/Ljubljana',
475
- 'Europe/London',
476
- 'Europe/Luxembourg',
477
- 'Europe/Madrid',
478
- 'Europe/Malta',
479
- 'Europe/Mariehamn',
480
- 'Europe/Minsk',
481
- 'Europe/Monaco',
482
- 'Europe/Moscow',
483
- 'Europe/Nicosia',
484
- 'Europe/Oslo',
485
- 'Europe/Paris',
486
- 'Europe/Podgorica',
487
- 'Europe/Prague',
488
- 'Europe/Riga',
489
- 'Europe/Rome',
490
- 'Europe/Samara',
491
- 'Europe/San_Marino',
492
- 'Europe/Sarajevo',
493
- 'Europe/Saratov',
494
- 'Europe/Simferopol',
495
- 'Europe/Skopje',
496
- 'Europe/Sofia',
497
- 'Europe/Stockholm',
498
- 'Europe/Tallinn',
499
- 'Europe/Tirane',
500
- 'Europe/Tiraspol',
501
- 'Europe/Ulyanovsk',
502
- 'Europe/Uzhgorod',
503
- 'Europe/Vaduz',
504
- 'Europe/Vatican',
505
- 'Europe/Vienna',
506
- 'Europe/Vilnius',
507
- 'Europe/Volgograd',
508
- 'Europe/Warsaw',
509
- 'Europe/Zagreb',
510
- 'Europe/Zaporozhye',
511
- 'Europe/Zurich',
512
- 'Factory',
513
- 'GB',
514
- 'GB-Eire',
515
- 'GMT',
516
- 'GMT+0',
517
- 'GMT-0',
518
- 'GMT0',
519
- 'Greenwich',
520
- 'Hongkong',
521
- 'HST',
522
- 'Iceland',
523
- 'Indian/Antananarivo',
524
- 'Indian/Chagos',
525
- 'Indian/Christmas',
526
- 'Indian/Cocos',
527
- 'Indian/Comoro',
528
- 'Indian/Kerguelen',
529
- 'Indian/Mahe',
530
- 'Indian/Maldives',
531
- 'Indian/Mauritius',
532
- 'Indian/Mayotte',
533
- 'Indian/Reunion',
534
- 'Iran',
535
- 'Israel',
536
- 'Jamaica',
537
- 'Japan',
538
- 'Kwajalein',
539
- 'Libya',
540
- 'MET',
541
- 'Mexico/BajaNorte',
542
- 'Mexico/BajaSur',
543
- 'Mexico/General',
544
- 'MST',
545
- 'MST7MDT',
546
- 'Navajo',
547
- 'NZ',
548
- 'NZ-CHAT',
549
- 'Pacific/Apia',
550
- 'Pacific/Auckland',
551
- 'Pacific/Bougainville',
552
- 'Pacific/Chatham',
553
- 'Pacific/Chuuk',
554
- 'Pacific/Easter',
555
- 'Pacific/Efate',
556
- 'Pacific/Enderbury',
557
- 'Pacific/Fakaofo',
558
- 'Pacific/Fiji',
559
- 'Pacific/Funafuti',
560
- 'Pacific/Galapagos',
561
- 'Pacific/Gambier',
562
- 'Pacific/Guadalcanal',
563
- 'Pacific/Guam',
564
- 'Pacific/Honolulu',
565
- 'Pacific/Johnston',
566
- 'Pacific/Kiritimati',
567
- 'Pacific/Kosrae',
568
- 'Pacific/Kwajalein',
569
- 'Pacific/Majuro',
570
- 'Pacific/Marquesas',
571
- 'Pacific/Midway',
572
- 'Pacific/Nauru',
573
- 'Pacific/Niue',
574
- 'Pacific/Norfolk',
575
- 'Pacific/Noumea',
576
- 'Pacific/Pago_Pago',
577
- 'Pacific/Palau',
578
- 'Pacific/Pitcairn',
579
- 'Pacific/Pohnpei',
580
- 'Pacific/Ponape',
581
- 'Pacific/Port_Moresby',
582
- 'Pacific/Rarotonga',
583
- 'Pacific/Saipan',
584
- 'Pacific/Samoa',
585
- 'Pacific/Tahiti',
586
- 'Pacific/Tarawa',
587
- 'Pacific/Tongatapu',
588
- 'Pacific/Truk',
589
- 'Pacific/Wake',
590
- 'Pacific/Wallis',
591
- 'Pacific/Yap',
592
- 'Poland',
593
- 'Portugal',
594
- 'PRC',
595
- 'PST8PDT',
596
- 'ROC',
597
- 'ROK',
598
- 'Singapore',
599
- 'Turkey',
600
- 'UCT',
601
- 'Universal',
602
- 'US/Alaska',
603
- 'US/Aleutian',
604
- 'US/Arizona',
605
- 'US/Central',
606
- 'US/East-Indiana',
607
- 'US/Eastern',
608
- 'US/Hawaii',
609
- 'US/Indiana-Starke',
610
- 'US/Michigan',
611
- 'US/Mountain',
612
- 'US/Pacific',
613
- 'US/Samoa',
614
- 'UTC',
615
- 'W-SU',
616
- 'WET',
617
- 'Zulu'
618
- ];
619
-
620
- const timeZoneGroupOrder: FluxTranslation[] = [
621
- 'flux.timezoneEurope',
622
- 'flux.timezoneAmerica',
623
- 'flux.timezoneUs',
624
- 'flux.timezoneAustralia',
625
- 'flux.timezoneCanada',
626
- 'flux.timezoneMexico',
627
- 'flux.timezoneAfrica',
628
- 'flux.timezoneAntarctica',
629
- 'flux.timezoneArctic',
630
- 'flux.timezoneAsia',
631
- 'flux.timezoneAtlantic',
632
- 'flux.timezoneBrazil',
633
- 'flux.timezoneChile',
634
- 'flux.timezoneEtc',
635
- 'flux.timezoneOther',
636
- 'flux.timezoneIndian',
637
- 'flux.timezonePacific'
638
- ];
639
-
640
30
  const modelValue = defineModel<string | null>({
641
31
  default: null
642
32
  });
643
33
 
644
34
  const {
645
35
  disabled: componentDisabled
646
- } = defineProps<{
647
- readonly disabled?: boolean;
648
- readonly placeholder?: string;
649
- }>();
36
+ } = defineProps<FluxFormInputBaseProps>();
650
37
 
651
38
  const disabled = useDisabled(toRef(() => componentDisabled));
652
39
  const translate = useTranslate();
@@ -659,7 +46,7 @@
659
46
  const groups: Record<string, FluxFormSelectEntry[]> = {};
660
47
  const options: FluxFormSelectEntry[] = [];
661
48
 
662
- for (const timeZone of timeZones) {
49
+ for (const timeZone of TIME_ZONES) {
663
50
  const timeZoneOptions = Intl.DateTimeFormat(navigator.language, {timeZone}).resolvedOptions();
664
51
  const timeZoneOffset = new Intl.DateTimeFormat(navigator.language, {timeZone, timeZoneName: 'longOffset'}).formatToParts().find(p => p.type === 'timeZoneName')!.value.substring(3);
665
52
  const label = timeZoneOptions.timeZone
@@ -688,8 +75,8 @@
688
75
  const sortedGroups = Object.fromEntries(
689
76
  Object.entries(groups)
690
77
  .sort(([a], [b]) => {
691
- const ai = timeZoneGroupOrder.indexOf(a as FluxTranslation);
692
- const bi = timeZoneGroupOrder.indexOf(b as FluxTranslation);
78
+ const ai = TIME_ZONE_GROUP_ORDER.indexOf(a as FluxTranslation);
79
+ const bi = TIME_ZONE_GROUP_ORDER.indexOf(b as FluxTranslation);
693
80
 
694
81
  if (ai > bi) {
695
82
  return 1;