@flux-ui/components 3.0.0-next.72 → 3.0.0-next.74

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 (55) hide show
  1. package/dist/component/FluxFormField.vue.d.ts +2 -2
  2. package/dist/component/FluxKanbanColumn.vue.d.ts +1 -1
  3. package/dist/component/FluxSegmentedControl.vue.d.ts +18 -8
  4. package/dist/component/FluxSegmentedControlItem.vue.d.ts +20 -0
  5. package/dist/component/FluxSpacing.vue.d.ts +2 -1
  6. package/dist/component/index.d.ts +1 -1
  7. package/dist/component/primitive/FilterMenuRenderer.d.ts +3 -3
  8. package/dist/composable/index.d.ts +1 -0
  9. package/dist/composable/useSegmentedControlInjection.d.ts +2 -0
  10. package/dist/data/di.d.ts +10 -1
  11. package/dist/index.css +398 -368
  12. package/dist/index.js +1264 -1164
  13. package/dist/index.js.map +1 -1
  14. package/dist/util/index.d.ts +1 -0
  15. package/dist/util/sanitizeUrl.d.ts +7 -0
  16. package/package.json +9 -9
  17. package/src/component/FluxBoxedIcon.vue +1 -1
  18. package/src/component/FluxCalendar.vue +6 -6
  19. package/src/component/FluxColorPicker.vue +6 -6
  20. package/src/component/FluxDropZone.vue +0 -1
  21. package/src/component/FluxDynamicView.vue +2 -2
  22. package/src/component/FluxExpandableGroup.vue +0 -1
  23. package/src/component/FluxFilterBase.vue +11 -11
  24. package/src/component/FluxFormField.vue +4 -2
  25. package/src/component/FluxFormFieldAddition.vue +2 -2
  26. package/src/component/FluxInfo.vue +2 -2
  27. package/src/component/FluxInfoStack.vue +2 -2
  28. package/src/component/FluxKanbanColumn.vue +3 -5
  29. package/src/component/FluxLayerPane.vue +1 -1
  30. package/src/component/FluxPagination.vue +4 -4
  31. package/src/component/FluxPressable.vue +14 -5
  32. package/src/component/FluxSegmentedControl.vue +64 -67
  33. package/src/component/FluxSegmentedControlItem.vue +98 -0
  34. package/src/component/FluxSpacing.vue +5 -1
  35. package/src/component/FluxSplitButton.vue +2 -2
  36. package/src/component/FluxTable.vue +3 -1
  37. package/src/component/FluxToolbar.vue +1 -1
  38. package/src/component/index.ts +1 -1
  39. package/src/component/primitive/DialogLayout.vue +3 -3
  40. package/src/component/primitive/FilterBadge.vue +11 -2
  41. package/src/component/primitive/FilterMenuRenderer.ts +4 -4
  42. package/src/composable/index.ts +1 -0
  43. package/src/composable/useSegmentedControlInjection.ts +13 -0
  44. package/src/css/component/Form.module.scss +2 -2
  45. package/src/css/component/SegmentedControl.module.scss +53 -24
  46. package/src/css/component/Spinner.module.scss +1 -0
  47. package/src/css/component/Visual.module.scss +1 -0
  48. package/src/css/mixin/tree-node.scss +3 -3
  49. package/src/data/di.ts +13 -1
  50. package/src/data/iconRegistry.ts +1 -1
  51. package/src/util/createDialogRenderer.ts +1 -1
  52. package/src/util/index.ts +1 -0
  53. package/src/util/sanitizeUrl.ts +40 -0
  54. package/dist/component/FluxSegmentedView.vue.d.ts +0 -9
  55. package/src/component/FluxSegmentedView.vue +0 -15
@@ -4,7 +4,7 @@ type __VLS_Props = {
4
4
  readonly error?: string;
5
5
  readonly hint?: string;
6
6
  readonly isOptional?: boolean;
7
- readonly label: string;
7
+ readonly label?: string;
8
8
  readonly maxLength?: number;
9
9
  };
10
10
  type __VLS_Slots = {
@@ -28,7 +28,7 @@ type __VLS_Slots = {
28
28
  readonly maxLength?: number;
29
29
  }): VNode[];
30
30
  };
31
- declare const __VLS_base: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
31
+ declare const __VLS_base: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
32
32
  declare const _default: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
33
33
  export default _default;
34
34
  type __VLS_WithSlots<T, S> = T & {
@@ -2,7 +2,7 @@ import { FluxIconName } from '@flux-ui/types';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  type __VLS_Props = {
4
4
  readonly columnId: string | number;
5
- readonly count: string | number;
5
+ readonly count?: string | number;
6
6
  readonly disabled?: boolean;
7
7
  readonly icon?: FluxIconName;
8
8
  readonly label: string;
@@ -1,17 +1,27 @@
1
- import { FluxSegmentedControlItemObject } from '@flux-ui/types';
2
- import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
1
+ import { FluxSize } from '@flux-ui/types';
2
+ import { VNode, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
+ import { FluxSegmentedControlValue } from '../data';
3
4
  type __VLS_Props = {
4
5
  readonly ariaLabel?: string;
5
6
  readonly isFill?: boolean;
6
- readonly items: FluxSegmentedControlItemObject[];
7
+ readonly size?: FluxSize;
8
+ };
9
+ type __VLS_Slots = {
10
+ default(): VNode[];
7
11
  };
8
12
  type __VLS_ModelProps = {
9
- modelValue?: number;
13
+ modelValue?: FluxSegmentedControlValue;
10
14
  };
11
15
  type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
12
- declare const _default: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
13
- "update:modelValue": (value: number) => any;
16
+ declare const __VLS_base: DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
17
+ "update:modelValue": (value: FluxSegmentedControlValue) => any;
14
18
  }, string, PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
15
- "onUpdate:modelValue"?: (value: number) => any;
16
- }>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
19
+ "onUpdate:modelValue"?: (value: FluxSegmentedControlValue) => any;
20
+ }>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
21
+ declare const _default: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
17
22
  export default _default;
23
+ type __VLS_WithSlots<T, S> = T & {
24
+ new (): {
25
+ $slots: S;
26
+ };
27
+ };
@@ -0,0 +1,20 @@
1
+ import { FluxIconName } from '@flux-ui/types';
2
+ import { FluxSegmentedControlValue } from '../data';
3
+ import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
4
+ type __VLS_Props = {
5
+ readonly value: FluxSegmentedControlValue;
6
+ readonly disabled?: boolean;
7
+ readonly icon?: FluxIconName;
8
+ readonly label?: string;
9
+ };
10
+ type __VLS_Slots = {
11
+ default(): any;
12
+ };
13
+ declare const __VLS_base: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
14
+ declare const _default: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
15
+ export default _default;
16
+ type __VLS_WithSlots<T, S> = T & {
17
+ new (): {
18
+ $slots: S;
19
+ };
20
+ };
@@ -1,7 +1,8 @@
1
1
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
2
  declare const spacings: readonly [0, 3, 6, 9, 12, 15, 18, 24, 30, 36, 42, 48, 54, 60, 72, 84, 90, 120];
3
+ type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>;
3
4
  type __VLS_Props = {
4
- readonly size: keyof typeof spacings;
5
+ readonly size: Enumerate<typeof spacings['length']>;
5
6
  };
6
7
  declare const _default: DefineComponent<__VLS_Props, {}, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
7
8
  export default _default;
@@ -130,7 +130,7 @@ export { default as FluxScroller } from './FluxScroller.vue';
130
130
  export { default as FluxSecondaryButton } from './FluxSecondaryButton.vue';
131
131
  export { default as FluxSecondaryLinkButton } from './FluxSecondaryLinkButton.vue';
132
132
  export { default as FluxSegmentedControl } from './FluxSegmentedControl.vue';
133
- export { default as FluxSegmentedView } from './FluxSegmentedView.vue';
133
+ export { default as FluxSegmentedControlItem } from './FluxSegmentedControlItem.vue';
134
134
  export { default as FluxSeparator } from './FluxSeparator.vue';
135
135
  export { default as FluxSlideOver } from './FluxSlideOver.vue';
136
136
  export { default as FluxSnackbar } from './FluxSnackbar.vue';
@@ -1,4 +1,4 @@
1
- import { VNode, DefineComponent, ExtractPropTypes, RendererNode, RendererElement, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
1
+ import { PropType, VNode, DefineComponent, ExtractPropTypes, RendererNode, RendererElement, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
2
2
  export declare const FilterMenuRenderer: DefineComponent<ExtractPropTypes<{
3
3
  menuItems: {
4
4
  required: true;
@@ -6,7 +6,7 @@ export declare const FilterMenuRenderer: DefineComponent<ExtractPropTypes<{
6
6
  };
7
7
  navigate: {
8
8
  required: true;
9
- type: FunctionConstructor;
9
+ type: PropType<(name: string) => void>;
10
10
  };
11
11
  }>, () => VNode< RendererNode, RendererElement, {
12
12
  [key: string]: any;
@@ -17,6 +17,6 @@ export declare const FilterMenuRenderer: DefineComponent<ExtractPropTypes<{
17
17
  };
18
18
  navigate: {
19
19
  required: true;
20
- type: FunctionConstructor;
20
+ type: PropType<(name: string) => void>;
21
21
  };
22
22
  }>> & Readonly<{}>, {}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
@@ -8,6 +8,7 @@ export { default as useFilterInjection } from './useFilterInjection';
8
8
  export { default as useFlyoutInjection } from './useFlyoutInjection';
9
9
  export { default as useFormFieldInjection } from './useFormFieldInjection';
10
10
  export { default as useKanbanInjection } from './useKanbanInjection';
11
+ export { default as useSegmentedControlInjection } from './useSegmentedControlInjection';
11
12
  export { default as useTabBarInjection } from './useTabBarInjection';
12
13
  export { default as useTableInjection } from './useTableInjection';
13
14
  export { default as useTooltipInjection } from './useTooltipInjection';
@@ -0,0 +1,2 @@
1
+ import { FluxSegmentedControlInjection } from '../data';
2
+ export default function (): FluxSegmentedControlInjection;
package/dist/data/di.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { FluxFilterDefinition, FluxFilterState, FluxFilterValue } from '@flux-ui/types';
1
+ import { FluxFilterDefinition, FluxFilterState, FluxFilterValue, FluxSize } 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 FluxSegmentedControlInjectionKey: InjectionKey<FluxSegmentedControlInjection>;
12
13
  export declare const FluxSplitViewInjectionKey: InjectionKey<FluxSplitViewInjection>;
13
14
  export declare const FluxTabBarInjectionKey: InjectionKey<FluxTabBarInjection>;
14
15
  export declare const FluxTableInjectionKey: InjectionKey<FluxTableInjection>;
@@ -142,6 +143,14 @@ export type FluxSplitViewInjection = {
142
143
  unregisterPane(id: number): void;
143
144
  getPaneIndex(id: number): number;
144
145
  };
146
+ export type FluxSegmentedControlValue = string | number;
147
+ export type FluxSegmentedControlInjection = {
148
+ readonly modelValue: Ref<FluxSegmentedControlValue | undefined>;
149
+ readonly size: Ref<FluxSize>;
150
+ select(value: FluxSegmentedControlValue): void;
151
+ registerItem(element: HTMLElement, value: FluxSegmentedControlValue): void;
152
+ unregisterItem(element: HTMLElement): void;
153
+ };
145
154
  export type FluxTabBarInjection = {
146
155
  readonly isPills: Ref<boolean>;
147
156
  registerItem(element: Element, isActive: Ref<boolean>): void;