@flux-ui/components 3.0.0-next.60 → 3.0.0-next.63

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 (124) hide show
  1. package/dist/component/FluxActionStack.vue.d.ts +25 -19
  2. package/dist/component/FluxAspectRatio.vue.d.ts +4 -3
  3. package/dist/component/FluxBorderShine.vue.d.ts +1 -1
  4. package/dist/component/FluxCalendar.vue.d.ts +2 -6
  5. package/dist/component/FluxContainer.vue.d.ts +3 -2
  6. package/dist/component/FluxFilter.vue.d.ts +6 -7
  7. package/dist/component/FluxFilterBar.vue.d.ts +5 -4
  8. package/dist/component/FluxFilterBase.vue.d.ts +14 -11
  9. package/dist/component/FluxFilterDate.vue.d.ts +3 -6
  10. package/dist/component/FluxFilterDateRange.vue.d.ts +3 -6
  11. package/dist/component/FluxFilterOption.vue.d.ts +3 -6
  12. package/dist/component/FluxFilterOptionAsync.vue.d.ts +3 -6
  13. package/dist/component/FluxFilterOptions.vue.d.ts +3 -6
  14. package/dist/component/FluxFilterOptionsAsync.vue.d.ts +3 -6
  15. package/dist/component/FluxFilterRange.vue.d.ts +3 -7
  16. package/dist/component/FluxFilterWindow.vue.d.ts +3 -8
  17. package/dist/component/FluxFlex.vue.d.ts +30 -0
  18. package/dist/component/{FluxRow.vue.d.ts → FluxFlexItem.vue.d.ts} +5 -3
  19. package/dist/component/FluxGrid.vue.d.ts +3 -2
  20. package/dist/component/FluxGridColumn.vue.d.ts +3 -2
  21. package/dist/component/FluxKanbanColumn.vue.d.ts +3 -0
  22. package/dist/component/FluxScroller.vue.d.ts +32 -0
  23. package/dist/component/{FluxStack.vue.d.ts → FluxSplitView.vue.d.ts} +7 -6
  24. package/dist/component/{FluxColumn.vue.d.ts → FluxSplitViewPane.vue.d.ts} +4 -1
  25. package/dist/component/FluxSticky.vue.d.ts +34 -0
  26. package/dist/component/index.d.ts +6 -3
  27. package/dist/component/primitive/FilterBadge.vue.d.ts +2 -2
  28. package/dist/component/primitive/FilterItem.vue.d.ts +3 -2
  29. package/dist/component/primitive/SelectBase.vue.d.ts +4 -4
  30. package/dist/composable/private/index.d.ts +1 -0
  31. package/dist/composable/private/useSplitView.d.ts +23 -0
  32. package/dist/data/di.d.ts +19 -2
  33. package/dist/data/index.d.ts +0 -1
  34. package/dist/index.css +586 -331
  35. package/dist/index.d.ts +2 -0
  36. package/dist/index.js +8754 -8108
  37. package/dist/index.js.map +1 -1
  38. package/dist/util/defineFilter.d.ts +3 -0
  39. package/dist/util/filter.d.ts +7 -0
  40. package/dist/util/index.d.ts +2 -0
  41. package/dist/vite/defineFilterMacro.d.ts +3 -0
  42. package/dist/vite/index.d.ts +1 -0
  43. package/dist/vite.js +217 -0
  44. package/dist/vite.js.map +1 -0
  45. package/package.json +11 -7
  46. package/src/component/FluxActionBar.vue +3 -4
  47. package/src/component/FluxActionStack.vue +3 -3
  48. package/src/component/FluxAspectRatio.vue +5 -3
  49. package/src/component/FluxBadgeStack.vue +4 -4
  50. package/src/component/FluxButtonStack.vue +6 -4
  51. package/src/component/FluxCalendar.vue +160 -157
  52. package/src/component/FluxContainer.vue +4 -2
  53. package/src/component/FluxFilter.vue +10 -11
  54. package/src/component/FluxFilterBar.vue +71 -15
  55. package/src/component/FluxFilterBase.vue +65 -51
  56. package/src/component/FluxFilterDate.vue +24 -8
  57. package/src/component/FluxFilterDateRange.vue +27 -9
  58. package/src/component/FluxFilterOption.vue +20 -10
  59. package/src/component/FluxFilterOptionAsync.vue +19 -11
  60. package/src/component/FluxFilterOptions.vue +26 -11
  61. package/src/component/FluxFilterOptionsAsync.vue +28 -12
  62. package/src/component/FluxFilterRange.vue +25 -11
  63. package/src/component/FluxFilterWindow.vue +25 -11
  64. package/src/component/FluxFlex.vue +53 -0
  65. package/src/component/FluxFlexItem.vue +40 -0
  66. package/src/component/FluxFormDateTimeInput.vue +3 -4
  67. package/src/component/FluxGrid.vue +4 -2
  68. package/src/component/FluxGridColumn.vue +4 -2
  69. package/src/component/FluxInfoStack.vue +3 -3
  70. package/src/component/FluxItemStack.vue +4 -4
  71. package/src/component/FluxKanbanColumn.vue +16 -3
  72. package/src/component/FluxNoticeStack.vue +3 -3
  73. package/src/component/FluxProgressBar.vue +4 -3
  74. package/src/component/FluxScroller.vue +63 -0
  75. package/src/component/FluxSplitView.vue +101 -0
  76. package/src/component/FluxSplitViewPane.vue +23 -0
  77. package/src/component/FluxSticky.vue +67 -0
  78. package/src/component/FluxTagStack.vue +4 -4
  79. package/src/component/FluxToolbar.vue +3 -4
  80. package/src/component/FluxToolbarGroup.vue +3 -4
  81. package/src/component/FluxTooltipProvider.vue +56 -25
  82. package/src/component/index.ts +6 -3
  83. package/src/component/primitive/FilterBadge.vue +2 -2
  84. package/src/component/primitive/FilterItem.vue +4 -2
  85. package/src/component/primitive/FilterMenuRenderer.ts +10 -5
  86. package/src/component/primitive/FilterOptionBase.vue +1 -1
  87. package/src/composable/private/index.ts +1 -0
  88. package/src/composable/private/useAsyncFilterOptions.ts +1 -1
  89. package/src/composable/private/useFilterOption.ts +1 -1
  90. package/src/composable/private/useSplitView.ts +249 -0
  91. package/src/composable/useFilterInjection.ts +3 -1
  92. package/src/css/component/Calendar.module.scss +11 -17
  93. package/src/css/component/Comment.module.scss +3 -11
  94. package/src/css/component/Filter.module.scss +6 -2
  95. package/src/css/component/Flex.module.scss +84 -0
  96. package/src/css/component/Flyout.module.scss +1 -0
  97. package/src/css/component/Icon.module.scss +4 -0
  98. package/src/css/component/Kanban.module.scss +31 -28
  99. package/src/css/component/LayerPane.module.scss +5 -0
  100. package/src/css/component/Layout.module.scss +0 -41
  101. package/src/css/component/Legend.module.scss +3 -4
  102. package/src/css/component/Menu.module.scss +1 -0
  103. package/src/css/component/Pagination.module.scss +1 -1
  104. package/src/css/component/Pane.module.scss +1 -1
  105. package/src/css/component/Progress.module.scss +2 -2
  106. package/src/css/component/Scroller.module.scss +109 -0
  107. package/src/css/component/SplitView.module.scss +78 -0
  108. package/src/css/component/Sticky.module.scss +35 -0
  109. package/src/css/component/Tab.module.scss +1 -0
  110. package/src/css/component/Table.module.scss +1 -0
  111. package/src/css/component/Tooltip.module.scss +14 -0
  112. package/src/data/di.ts +22 -2
  113. package/src/data/index.ts +0 -1
  114. package/src/index.ts +11 -0
  115. package/src/util/defineFilter.ts +10 -0
  116. package/src/util/filter.ts +63 -0
  117. package/src/util/index.ts +2 -0
  118. package/src/vite/defineFilterMacro.ts +335 -0
  119. package/src/vite/index.ts +1 -0
  120. package/dist/data/filter.d.ts +0 -7
  121. package/src/component/FluxColumn.vue +0 -24
  122. package/src/component/FluxRow.vue +0 -24
  123. package/src/component/FluxStack.vue +0 -41
  124. package/src/data/filter.ts +0 -165
@@ -0,0 +1,34 @@
1
+ import { VNode, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
+ type __VLS_Props = {
3
+ readonly hasShadowOnStick?: boolean;
4
+ readonly offset?: number;
5
+ readonly position?: 'top' | 'bottom';
6
+ readonly tag?: keyof HTMLElementTagNameMap;
7
+ };
8
+ declare function __VLS_template(): {
9
+ attrs: Partial<{}>;
10
+ slots: Readonly<{
11
+ default(props: {
12
+ isStuck: boolean;
13
+ }): VNode[];
14
+ }> & {
15
+ default(props: {
16
+ isStuck: boolean;
17
+ }): VNode[];
18
+ };
19
+ refs: {
20
+ sentinel: HTMLDivElement;
21
+ };
22
+ rootEl: any;
23
+ };
24
+ type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
25
+ declare const __VLS_component: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {
26
+ sentinel: HTMLDivElement;
27
+ }, any>;
28
+ declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
29
+ export default _default;
30
+ type __VLS_WithTemplateSlots<T, S> = T & {
31
+ new (): {
32
+ $slots: S;
33
+ };
34
+ };
@@ -25,7 +25,6 @@ export { default as FluxCommandPaletteItem } from './FluxCommandPaletteItem.vue'
25
25
  export { default as FluxComment } from './FluxComment.vue';
26
26
  export { default as FluxColorPicker } from './FluxColorPicker.vue';
27
27
  export { default as FluxColorSelect } from './FluxColorSelect.vue';
28
- export { default as FluxColumn } from './FluxColumn.vue';
29
28
  export { default as FluxContainer } from './FluxContainer.vue';
30
29
  export { default as FluxDataTable } from './FluxDataTable.vue';
31
30
  export { default as FluxDatePicker } from './FluxDatePicker.vue';
@@ -48,6 +47,8 @@ export { default as FluxFilterOptionAsync } from './FluxFilterOptionAsync.vue';
48
47
  export { default as FluxFilterOptions } from './FluxFilterOptions.vue';
49
48
  export { default as FluxFilterOptionsAsync } from './FluxFilterOptionsAsync.vue';
50
49
  export { default as FluxFilterRange } from './FluxFilterRange.vue';
50
+ export { default as FluxFlex } from './FluxFlex.vue';
51
+ export { default as FluxFlexItem } from './FluxFlexItem.vue';
51
52
  export { default as FluxFlickeringGrid } from './FluxFlickeringGrid.vue';
52
53
  export { default as FluxFlyout } from './FluxFlyout.vue';
53
54
  export { default as FluxFocalPointEditor } from './FluxFocalPointEditor.vue';
@@ -125,7 +126,7 @@ export { default as FluxPublishButton } from './FluxPublishButton.vue';
125
126
  export { default as FluxQuantitySelector } from './FluxQuantitySelector.vue';
126
127
  export { default as FluxRemove } from './FluxRemove.vue';
127
128
  export { default as FluxRoot } from './FluxRoot.vue';
128
- export { default as FluxRow } from './FluxRow.vue';
129
+ export { default as FluxScroller } from './FluxScroller.vue';
129
130
  export { default as FluxSecondaryButton } from './FluxSecondaryButton.vue';
130
131
  export { default as FluxSecondaryLinkButton } from './FluxSecondaryLinkButton.vue';
131
132
  export { default as FluxSegmentedControl } from './FluxSegmentedControl.vue';
@@ -138,11 +139,13 @@ export { default as FluxSpacer } from './FluxSpacer.vue';
138
139
  export { default as FluxSpacing } from './FluxSpacing.vue';
139
140
  export { default as FluxSpinner } from './FluxSpinner.vue';
140
141
  export { default as FluxSplitButton } from './FluxSplitButton.vue';
141
- export { default as FluxStack } from './FluxStack.vue';
142
+ export { default as FluxSplitView } from './FluxSplitView.vue';
143
+ export { default as FluxSplitViewPane } from './FluxSplitViewPane.vue';
142
144
  export { default as FluxStatistic } from './FluxStatistic.vue';
143
145
  export { default as FluxStepper } from './FluxStepper.vue';
144
146
  export { default as FluxStepperStep } from './FluxStepperStep.vue';
145
147
  export { default as FluxStepperSteps } from './FluxStepperSteps.vue';
148
+ export { default as FluxSticky } from './FluxSticky.vue';
146
149
  export { default as FluxTab } from './FluxTab.vue';
147
150
  export { default as FluxTabBar } from './FluxTabBar.vue';
148
151
  export { default as FluxTabBarItem } from './FluxTabBarItem.vue';
@@ -1,7 +1,7 @@
1
- import { FluxFilterItem, FluxFilterValue } from '@flux-ui/types';
1
+ import { FluxFilterDefinition, FluxFilterValue } from '@flux-ui/types';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  type __VLS_Props = {
4
- readonly item: FluxFilterItem;
4
+ readonly item: FluxFilterDefinition;
5
5
  readonly value: FluxFilterValue;
6
6
  };
7
7
  declare const _default: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
@@ -1,8 +1,9 @@
1
- import { FluxFilterItem, FluxFilterValue } from '@flux-ui/types';
1
+ import { FluxFilterDefinition, FluxFilterValue } from '@flux-ui/types';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  type __VLS_Props = {
4
- readonly item: FluxFilterItem;
4
+ readonly item: FluxFilterDefinition;
5
5
  readonly value: FluxFilterValue;
6
+ readonly disabled?: boolean;
6
7
  };
7
8
  declare const _default: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
8
9
  click: (args_0: MouseEvent) => any;
@@ -1,4 +1,4 @@
1
- import { FluxFormSelectOption, FluxFormSelectOptions, FluxDirection, FluxFormInputBaseProps, FluxAutoCompleteType, FluxIconName, FluxInputMask, FluxInputType, FluxPressableType, FluxTo, FluxButtonProps } from '@flux-ui/types';
1
+ import { FluxFormSelectOption, FluxFormSelectOptions, FluxDirection, FluxFormInputBaseProps, FluxAutoCompleteType, FluxIconName, FluxInputMask, FluxInputType, FluxTo, FluxPressableType, FluxButtonProps } from '@flux-ui/types';
2
2
  import { ComponentPublicInstance, nextTick, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions, ComponentInternalInstance, VNodeProps, AllowedComponentProps, ComponentCustomProps, Attrs, Slot, ComponentOptionsBase, GlobalComponents, GlobalDirectives, DebuggerEvent, WatchOptions, WatchStopHandle, ComponentCustomProperties, VNode, CreateComponentPublicInstanceWithMixins } from 'vue';
3
3
  import { OnCleanup } from '@vue/reactivity';
4
4
  type __VLS_Props = {
@@ -203,15 +203,15 @@ declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, Compo
203
203
  $props: Partial<{}> & Omit<{
204
204
  readonly label?: string;
205
205
  readonly isLoading?: boolean;
206
- readonly type?: FluxPressableType;
207
- readonly disabled?: boolean;
208
206
  readonly to?: FluxTo;
209
- readonly tabindex?: string | number;
207
+ readonly type?: FluxPressableType;
210
208
  readonly href?: string;
211
209
  readonly rel?: string;
212
210
  readonly target?: string;
211
+ readonly tabindex?: string | number;
213
212
  readonly iconLeading?: FluxIconName | null;
214
213
  readonly iconTrailing?: FluxIconName | null;
214
+ readonly disabled?: boolean;
215
215
  readonly command?: string;
216
216
  readonly commandIcon?: FluxIconName;
217
217
  readonly commandLoading?: boolean;
@@ -3,6 +3,7 @@ export { default as useDateFlyout } from './useDateFlyout';
3
3
  export { default as useDropdownPopup, type UseDropdownPopupOptions, type UseDropdownPopupReturn } from './useDropdownPopup';
4
4
  export { default as useFormSelect } from './useFormSelect';
5
5
  export { useKanban } from './useKanban';
6
+ export { useSplitView, type SplitViewPane, type UseSplitViewOptions, type UseSplitViewReturn } from './useSplitView';
6
7
  export { default as useTranslate } from './useTranslate';
7
8
  export { useCommandPalette, type CommandPaletteGroup, type CommandPaletteResultItem } from './useCommandPalette';
8
9
  export { useFilterOptionMulti, useFilterOptionSingle, type FilterOptionMulti, type FilterOptionSingle } from './useFilterOption';
@@ -0,0 +1,23 @@
1
+ import { FluxDirection } from '@flux-ui/types';
2
+ import { ComputedRef, Ref } from 'vue';
3
+ export type SplitViewPane = {
4
+ readonly id: number;
5
+ readonly defaultSize: number | string | undefined;
6
+ readonly minSize: number;
7
+ readonly maxSize: number | undefined;
8
+ readonly isResizable: boolean;
9
+ };
10
+ export type UseSplitViewOptions = {
11
+ readonly containerRef: Readonly<Ref<HTMLElement | null>>;
12
+ readonly direction: Readonly<Ref<FluxDirection>>;
13
+ readonly panes: Readonly<Ref<readonly SplitViewPane[]>>;
14
+ readonly rememberKey: string | undefined;
15
+ };
16
+ export type UseSplitViewReturn = {
17
+ readonly sizes: Readonly<Ref<readonly number[]>>;
18
+ readonly templateStyle: ComputedRef<Record<string, string>>;
19
+ readonly isDragging: Readonly<Ref<boolean>>;
20
+ onHandleKeyDown(evt: KeyboardEvent, handleIndex: number): void;
21
+ onHandlePointerDown(evt: PointerEvent, handleIndex: number): void;
22
+ };
23
+ export declare function useSplitView(options: UseSplitViewOptions): UseSplitViewReturn;
package/dist/data/di.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { FluxFilterState, FluxFilterValue } from '@flux-ui/types';
1
+ import { FluxFilterDefinition, FluxFilterState, FluxFilterValue } from '@flux-ui/types';
2
2
  import { DateTime } from 'luxon';
3
3
  import { ComponentInternalInstance, ComputedRef, InjectionKey, Ref, VNode } from 'vue';
4
4
  export declare const FluxAdaptiveGroupInjectionKey: InjectionKey<FluxAdaptiveGroupInjection>;
@@ -9,6 +9,7 @@ export declare const FluxExpandableGroupInjectionKey: InjectionKey<FluxExpandabl
9
9
  export declare const FluxFlyoutInjectionKey: InjectionKey<FluxFlyoutInjection>;
10
10
  export declare const FluxFilterInjectionKey: InjectionKey<FluxFilterInjection>;
11
11
  export declare const FluxFormFieldInjectionKey: InjectionKey<FluxFormFieldInjection>;
12
+ export declare const FluxSplitViewInjectionKey: InjectionKey<FluxSplitViewInjection>;
12
13
  export declare const FluxTabBarInjectionKey: InjectionKey<FluxTabBarInjection>;
13
14
  export declare const FluxTableInjectionKey: InjectionKey<FluxTableInjection>;
14
15
  export declare const FluxTooltipInjectionKey: InjectionKey<FluxTooltipInjection>;
@@ -112,9 +113,11 @@ export type FluxExpandableGroupInjection = {
112
113
  export type FluxFilterInjection = {
113
114
  readonly state: Ref<FluxFilterState>;
114
115
  back(): void;
115
- reset(name: string | number): void;
116
+ clear(name: string | number): void;
117
+ getDefinition(name: string | number): FluxFilterDefinition | undefined;
116
118
  getValue(name: string | number): FluxFilterValue | undefined;
117
119
  hasValue(name: string | number): boolean;
120
+ reset(name: string | number): void;
118
121
  setValue(name: string | number, value?: FluxFilterValue): void;
119
122
  };
120
123
  export type FluxFlyoutInjection = {
@@ -125,6 +128,20 @@ export type FluxFlyoutInjection = {
125
128
  export type FluxFormFieldInjection = {
126
129
  readonly id?: string;
127
130
  };
131
+ export type FluxSplitViewPaneSpec = {
132
+ readonly id: number;
133
+ readonly defaultSize: Ref<number | string | undefined>;
134
+ readonly minSize: Ref<number>;
135
+ readonly maxSize: Ref<number | undefined>;
136
+ readonly isResizable: Ref<boolean>;
137
+ };
138
+ export type FluxSplitViewInjection = {
139
+ readonly direction: Ref<'horizontal' | 'vertical'>;
140
+ readonly panes: Ref<readonly FluxSplitViewPaneSpec[]>;
141
+ registerPane(spec: FluxSplitViewPaneSpec): void;
142
+ unregisterPane(id: number): void;
143
+ getPaneIndex(id: number): number;
144
+ };
128
145
  export type FluxTabBarInjection = {
129
146
  readonly isPills: Ref<boolean>;
130
147
  registerItem(element: Element, isActive: Ref<boolean>): void;
@@ -1,5 +1,4 @@
1
1
  export * from './di';
2
- export * from './filter';
3
2
  export * from './helper';
4
3
  export * from './i18n';
5
4
  export * from './iconRegistry';