@agnos-ui/react-headless 0.0.1-alpha.4 → 0.0.1-alpha.6
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.
- package/components/accordion/accordion.d.ts +11 -0
- package/components/accordion/accordion.js +3 -0
- package/components/alert/alert.d.ts +7 -0
- package/components/alert/alert.js +3 -0
- package/components/modal/modal.d.ts +7 -0
- package/components/modal/modal.js +3 -0
- package/components/pagination/pagination.d.ts +8 -0
- package/components/pagination/pagination.js +3 -0
- package/components/progressbar/progressbar.d.ts +7 -0
- package/components/progressbar/progressbar.js +3 -0
- package/components/rating/rating.d.ts +6 -0
- package/components/rating/rating.js +3 -0
- package/components/select/select.d.ts +8 -0
- package/components/select/select.js +3 -0
- package/components/slider/slider.d.ts +1 -0
- package/components/slider/slider.js +1 -0
- package/config.d.ts +11 -38
- package/config.js +5 -3
- package/generated/config.d.ts +1 -0
- package/generated/config.js +1 -0
- package/generated/index.d.ts +20 -0
- package/generated/index.js +20 -0
- package/generated/services/extendWidget.d.ts +1 -0
- package/generated/services/extendWidget.js +1 -0
- package/generated/services/floatingUI.d.ts +1 -0
- package/generated/services/floatingUI.js +1 -0
- package/generated/services/focustrack.d.ts +1 -0
- package/generated/services/focustrack.js +1 -0
- package/generated/services/intersection.d.ts +1 -0
- package/generated/services/intersection.js +1 -0
- package/generated/services/navManager.d.ts +1 -0
- package/generated/services/navManager.js +1 -0
- package/generated/services/portal.d.ts +1 -0
- package/generated/services/portal.js +1 -0
- package/generated/services/siblingsInert.d.ts +1 -0
- package/generated/services/siblingsInert.js +1 -0
- package/generated/services/transitions/baseTransitions.d.ts +1 -0
- package/generated/services/transitions/baseTransitions.js +1 -0
- package/generated/services/transitions/bootstrap.d.ts +1 -0
- package/generated/services/transitions/bootstrap.js +1 -0
- package/generated/services/transitions/collapse.d.ts +1 -0
- package/generated/services/transitions/collapse.js +1 -0
- package/generated/services/transitions/cssTransitions.d.ts +1 -0
- package/generated/services/transitions/cssTransitions.js +1 -0
- package/generated/services/transitions/simpleClassTransition.d.ts +1 -0
- package/generated/services/transitions/simpleClassTransition.js +1 -0
- package/generated/slot.d.ts +1 -0
- package/generated/slot.js +1 -0
- package/generated/types.d.ts +1 -0
- package/generated/types.js +1 -0
- package/generated/utils/directive.d.ts +1 -0
- package/generated/utils/directive.js +1 -0
- package/generated/utils/portal.d.ts +1 -0
- package/generated/utils/portal.js +1 -0
- package/generated/utils/stores.d.ts +1 -0
- package/generated/utils/stores.js +1 -0
- package/generated/utils/widget.d.ts +1 -0
- package/generated/utils/widget.js +1 -0
- package/generated/utils/writables.d.ts +1 -0
- package/generated/utils/writables.js +1 -0
- package/index.d.ts +9 -48
- package/index.js +9 -20
- package/package.json +32 -4
- package/{Slot.d.ts → slot.d.ts} +1 -1
- package/{slotTypes.d.ts → types.d.ts} +2 -1
- package/types.js +1 -0
- package/utils/directive.d.ts +7 -0
- package/utils/directive.js +21 -0
- package/utils/stores.d.ts +4 -0
- package/utils/stores.js +26 -0
- package/utils/widget.d.ts +2 -0
- package/utils/widget.js +16 -0
- package/slotTypes.js +0 -1
- package/utils.d.ts +0 -8
- package/utils.js +0 -57
- /package/{Slot.js → slot.js} +0 -0
- /package/{Portal.d.ts → utils/portal.d.ts} +0 -0
- /package/{Portal.js → utils/portal.js} +0 -0
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/components/accordion';
|
|
2
|
+
import type { AdaptSlotContentProps, AdaptWidgetSlots, WidgetFactory, WidgetProps, WidgetState } from '../../types';
|
|
3
|
+
export type AccordionWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/accordion').AccordionWidget>;
|
|
4
|
+
export type AccordionProps = WidgetProps<AccordionWidget>;
|
|
5
|
+
export type AccordionState = WidgetState<AccordionWidget>;
|
|
6
|
+
export type AccordionApi = AccordionWidget['api'];
|
|
7
|
+
export type AccordionItemWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/accordion').AccordionItemWidget>;
|
|
8
|
+
export type AccordionItemProps = WidgetProps<AccordionItemWidget>;
|
|
9
|
+
export type AccordionItemState = WidgetState<AccordionItemWidget>;
|
|
10
|
+
export type AccordionItemContext = AdaptSlotContentProps<import('@agnos-ui/core/components/accordion').AccordionItemContext>;
|
|
11
|
+
export declare const createAccordion: WidgetFactory<AccordionWidget>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/components/alert';
|
|
2
|
+
import type { AdaptSlotContentProps, AdaptWidgetSlots, WidgetFactory, WidgetProps, WidgetState } from '../../types';
|
|
3
|
+
export type AlertWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/alert').AlertWidget>;
|
|
4
|
+
export type AlertProps = WidgetProps<AlertWidget>;
|
|
5
|
+
export type AlertState = WidgetState<AlertWidget>;
|
|
6
|
+
export type AlertContext = AdaptSlotContentProps<import('@agnos-ui/core/components/alert').AlertContext>;
|
|
7
|
+
export declare const createAlert: WidgetFactory<AlertWidget>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/components/modal';
|
|
2
|
+
import type { AdaptSlotContentProps, AdaptWidgetSlots, PropsConfig, WidgetProps, WidgetState } from '../../types';
|
|
3
|
+
export type ModalWidget<Data> = AdaptWidgetSlots<import('@agnos-ui/core/components/modal').ModalWidget<Data>>;
|
|
4
|
+
export type ModalProps<Data> = WidgetProps<ModalWidget<Data>>;
|
|
5
|
+
export type ModalState<Data> = WidgetState<ModalWidget<Data>>;
|
|
6
|
+
export type ModalContext<Data> = AdaptSlotContentProps<import('@agnos-ui/core/components/modal').ModalContext<Data>>;
|
|
7
|
+
export declare const createModal: <Data>(propsConfig?: PropsConfig<ModalProps<Data>>) => ModalWidget<Data>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/components/pagination';
|
|
2
|
+
import type { AdaptSlotContentProps, AdaptWidgetSlots, WidgetFactory, WidgetProps, WidgetState } from '../../types';
|
|
3
|
+
export type PaginationWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/pagination').PaginationWidget>;
|
|
4
|
+
export type PaginationProps = WidgetProps<PaginationWidget>;
|
|
5
|
+
export type PaginationState = WidgetState<PaginationWidget>;
|
|
6
|
+
export type PaginationContext = AdaptSlotContentProps<import('@agnos-ui/core/components/pagination').PaginationContext>;
|
|
7
|
+
export type PaginationNumberContext = AdaptSlotContentProps<import('@agnos-ui/core/components/pagination').PaginationNumberContext>;
|
|
8
|
+
export declare const createPagination: WidgetFactory<PaginationWidget>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/components/progressbar';
|
|
2
|
+
import type { AdaptSlotContentProps, AdaptWidgetSlots, WidgetFactory, WidgetProps, WidgetState } from '../../types';
|
|
3
|
+
export type ProgressbarWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/progressbar').ProgressbarWidget>;
|
|
4
|
+
export type ProgressbarProps = WidgetProps<ProgressbarWidget>;
|
|
5
|
+
export type ProgressbarState = WidgetState<ProgressbarWidget>;
|
|
6
|
+
export type ProgressbarContext = AdaptSlotContentProps<import('@agnos-ui/core/components/progressbar').ProgressbarContext>;
|
|
7
|
+
export declare const createProgressbar: WidgetFactory<ProgressbarWidget>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/components/rating';
|
|
2
|
+
import type { AdaptWidgetSlots, WidgetFactory, WidgetProps, WidgetState } from '../../types';
|
|
3
|
+
export type RatingWidget = AdaptWidgetSlots<import('@agnos-ui/core/components/rating').RatingWidget>;
|
|
4
|
+
export type RatingProps = WidgetProps<RatingWidget>;
|
|
5
|
+
export type RatingState = WidgetState<RatingWidget>;
|
|
6
|
+
export declare const createRating: WidgetFactory<RatingWidget>;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/components/select';
|
|
2
|
+
import type { AdaptSlotContentProps, AdaptWidgetSlots, PropsConfig, WidgetProps, WidgetState } from '../../types';
|
|
3
|
+
export type SelectWidget<Item> = AdaptWidgetSlots<import('@agnos-ui/core/components/select').SelectWidget<Item>>;
|
|
4
|
+
export type SelectProps<Item> = WidgetProps<SelectWidget<Item>>;
|
|
5
|
+
export type SelectState<Item> = WidgetState<SelectWidget<Item>>;
|
|
6
|
+
export type SelectContext<Item> = AdaptSlotContentProps<import('@agnos-ui/core/components/select').SelectContext<Item>>;
|
|
7
|
+
export type SelectItemContext<Item> = AdaptSlotContentProps<import('@agnos-ui/core/components/select').SelectItemContext<Item>>;
|
|
8
|
+
export declare const createSelect: <Item>(propsConfig?: PropsConfig<SelectProps<Item>>) => SelectWidget<Item>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/components/slider';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/components/slider';
|
package/config.d.ts
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
import
|
|
1
|
+
import type { Widget, WidgetFactory, WidgetProps, WidgetState } from '@agnos-ui/core/types';
|
|
2
|
+
import { type WidgetsConfigStore, type WidgetsConfig as CoreWidgetsConfig, type Partial2Levels } from '@agnos-ui/core/config';
|
|
2
3
|
import type { ReactNode } from 'react';
|
|
3
|
-
import type { AdaptPropsSlots } from './
|
|
4
|
+
import type { AdaptPropsSlots } from './types';
|
|
5
|
+
export * from '@agnos-ui/core/config';
|
|
4
6
|
export type WidgetsConfig = {
|
|
5
|
-
[WidgetName in keyof
|
|
7
|
+
[WidgetName in keyof CoreWidgetsConfig]: AdaptPropsSlots<CoreWidgetsConfig[WidgetName]>;
|
|
8
|
+
};
|
|
9
|
+
type DefaultConfigInput<Config> = Partial2Levels<Config> & {
|
|
10
|
+
adaptParentConfig?: (config: Partial2Levels<Config>) => Partial2Levels<Config>;
|
|
11
|
+
children?: ReactNode | undefined;
|
|
6
12
|
};
|
|
7
13
|
export declare const widgetsConfigFactory: <Config extends {
|
|
8
14
|
[widgetName: string]: object;
|
|
@@ -13,39 +19,6 @@ export declare const widgetsConfigFactory: <Config extends {
|
|
|
13
19
|
widgetsConfigContext: import("react").Context<WidgetsConfigStore<Config> | undefined>;
|
|
14
20
|
useWidgetContext: <Props extends object>(widgetName: keyof Config | null, defaultConfig?: Partial<Props> | undefined) => import("@amadeus-it-group/tansu").ReadableSignal<Partial<Props>>;
|
|
15
21
|
useWidgetWithConfig: <W extends Widget<object, object, object, object, object>>(factory: WidgetFactory<W>, props: Partial<WidgetProps<W>> | undefined, widgetName: keyof Config | null, defaultProps?: Partial<WidgetProps<W>> | undefined) => [WidgetState<W>, W];
|
|
16
|
-
WidgetsDefaultConfig: ({ children, adaptParentConfig, ...props }:
|
|
17
|
-
adaptParentConfig?: ((config: Partial<{ [Level1 in keyof Config]: Partial<Config[Level1]>; }>) => Partial<{ [Level1 in keyof Config]: Partial<Config[Level1]>; }>) | undefined;
|
|
18
|
-
children?: ReactNode | undefined;
|
|
19
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
WidgetsDefaultConfig: ({ children, adaptParentConfig, ...props }: DefaultConfigInput<Config>) => import("react/jsx-runtime").JSX.Element;
|
|
20
23
|
};
|
|
21
|
-
export declare const widgetsConfigContext: import("react").Context<WidgetsConfigStore<WidgetsConfig> | undefined>, useWidgetContext: <Props extends object>(widgetName: keyof
|
|
22
|
-
pagination: Partial<AdaptPropsSlots<import("@agnos-ui/core").PaginationProps>>;
|
|
23
|
-
rating: Partial<AdaptPropsSlots<import("@agnos-ui/core").RatingProps>>;
|
|
24
|
-
select: Partial<AdaptPropsSlots<import("@agnos-ui/core").SelectProps<any>>>;
|
|
25
|
-
modal: Partial<AdaptPropsSlots<import("@agnos-ui/core").ModalProps>>;
|
|
26
|
-
alert: Partial<AdaptPropsSlots<import("@agnos-ui/core").AlertProps>>;
|
|
27
|
-
accordion: Partial<AdaptPropsSlots<import("@agnos-ui/core").AccordionProps>>;
|
|
28
|
-
progressbar: Partial<AdaptPropsSlots<import("@agnos-ui/core").ProgressbarProps>>;
|
|
29
|
-
slider: Partial<AdaptPropsSlots<import("@agnos-ui/core").SliderProps>>;
|
|
30
|
-
}> & {
|
|
31
|
-
adaptParentConfig?: ((config: Partial<{
|
|
32
|
-
pagination: Partial<AdaptPropsSlots<import("@agnos-ui/core").PaginationProps>>;
|
|
33
|
-
rating: Partial<AdaptPropsSlots<import("@agnos-ui/core").RatingProps>>;
|
|
34
|
-
select: Partial<AdaptPropsSlots<import("@agnos-ui/core").SelectProps<any>>>;
|
|
35
|
-
modal: Partial<AdaptPropsSlots<import("@agnos-ui/core").ModalProps>>;
|
|
36
|
-
alert: Partial<AdaptPropsSlots<import("@agnos-ui/core").AlertProps>>;
|
|
37
|
-
accordion: Partial<AdaptPropsSlots<import("@agnos-ui/core").AccordionProps>>;
|
|
38
|
-
progressbar: Partial<AdaptPropsSlots<import("@agnos-ui/core").ProgressbarProps>>;
|
|
39
|
-
slider: Partial<AdaptPropsSlots<import("@agnos-ui/core").SliderProps>>;
|
|
40
|
-
}>) => Partial<{
|
|
41
|
-
pagination: Partial<AdaptPropsSlots<import("@agnos-ui/core").PaginationProps>>;
|
|
42
|
-
rating: Partial<AdaptPropsSlots<import("@agnos-ui/core").RatingProps>>;
|
|
43
|
-
select: Partial<AdaptPropsSlots<import("@agnos-ui/core").SelectProps<any>>>;
|
|
44
|
-
modal: Partial<AdaptPropsSlots<import("@agnos-ui/core").ModalProps>>;
|
|
45
|
-
alert: Partial<AdaptPropsSlots<import("@agnos-ui/core").AlertProps>>;
|
|
46
|
-
accordion: Partial<AdaptPropsSlots<import("@agnos-ui/core").AccordionProps>>;
|
|
47
|
-
progressbar: Partial<AdaptPropsSlots<import("@agnos-ui/core").ProgressbarProps>>;
|
|
48
|
-
slider: Partial<AdaptPropsSlots<import("@agnos-ui/core").SliderProps>>;
|
|
49
|
-
}>) | undefined;
|
|
50
|
-
children?: ReactNode | undefined;
|
|
51
|
-
}) => import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export declare const widgetsConfigContext: import("react").Context<WidgetsConfigStore<WidgetsConfig> | undefined>, WidgetsDefaultConfig: ({ children, adaptParentConfig, ...props }: DefaultConfigInput<WidgetsConfig>) => import("react/jsx-runtime").JSX.Element, useWidgetContext: <Props extends object>(widgetName: keyof CoreWidgetsConfig | null, defaultConfig?: Partial<Props> | undefined) => import("@amadeus-it-group/tansu").ReadableSignal<Partial<Props>>, useWidgetWithConfig: <W extends Widget<object, object, object, object, object>>(factory: WidgetFactory<W>, props: Partial<WidgetProps<W>> | undefined, widgetName: keyof CoreWidgetsConfig | null, defaultProps?: Partial<WidgetProps<W>> | undefined) => [WidgetState<W>, W];
|
package/config.js
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { createWidgetsConfig
|
|
2
|
+
import { createWidgetsConfig } from '@agnos-ui/core/config';
|
|
3
3
|
import { computed } from '@amadeus-it-group/tansu';
|
|
4
4
|
import { createContext, useContext, useEffect, useMemo } from 'react';
|
|
5
|
-
import {
|
|
5
|
+
import { useWidget } from './utils/widget';
|
|
6
|
+
import { usePropsAsStore } from './utils/stores';
|
|
7
|
+
export * from '@agnos-ui/core/config';
|
|
6
8
|
export const widgetsConfigFactory = (widgetsConfigContext = createContext(undefined)) => {
|
|
7
9
|
const useWidgetContext = (widgetName, defaultConfig) => {
|
|
8
10
|
const widgetsConfig = useContext(widgetsConfigContext);
|
|
@@ -69,4 +71,4 @@ export const widgetsConfigFactory = (widgetsConfigContext = createContext(undefi
|
|
|
69
71
|
WidgetsDefaultConfig,
|
|
70
72
|
};
|
|
71
73
|
};
|
|
72
|
-
export const { widgetsConfigContext, useWidgetContext, useWidgetWithConfig
|
|
74
|
+
export const { widgetsConfigContext, WidgetsDefaultConfig, useWidgetContext, useWidgetWithConfig } = widgetsConfigFactory();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './../config';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './../config';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export * from './services/siblingsInert';
|
|
2
|
+
export * from './services/portal';
|
|
3
|
+
export * from './services/navManager';
|
|
4
|
+
export * from './services/intersection';
|
|
5
|
+
export * from './services/focustrack';
|
|
6
|
+
export * from './services/floatingUI';
|
|
7
|
+
export * from './services/extendWidget';
|
|
8
|
+
export * from './services/transitions/simpleClassTransition';
|
|
9
|
+
export * from './services/transitions/cssTransitions';
|
|
10
|
+
export * from './services/transitions/collapse';
|
|
11
|
+
export * from './services/transitions/bootstrap';
|
|
12
|
+
export * from './services/transitions/baseTransitions';
|
|
13
|
+
export * from './utils/writables';
|
|
14
|
+
export * from './utils/stores';
|
|
15
|
+
export * from './utils/directive';
|
|
16
|
+
export * from './types';
|
|
17
|
+
export * from './config';
|
|
18
|
+
export * from './utils/widget';
|
|
19
|
+
export * from './utils/portal';
|
|
20
|
+
export * from './slot';
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export * from './services/siblingsInert';
|
|
2
|
+
export * from './services/portal';
|
|
3
|
+
export * from './services/navManager';
|
|
4
|
+
export * from './services/intersection';
|
|
5
|
+
export * from './services/focustrack';
|
|
6
|
+
export * from './services/floatingUI';
|
|
7
|
+
export * from './services/extendWidget';
|
|
8
|
+
export * from './services/transitions/simpleClassTransition';
|
|
9
|
+
export * from './services/transitions/cssTransitions';
|
|
10
|
+
export * from './services/transitions/collapse';
|
|
11
|
+
export * from './services/transitions/bootstrap';
|
|
12
|
+
export * from './services/transitions/baseTransitions';
|
|
13
|
+
export * from './utils/writables';
|
|
14
|
+
export * from './utils/stores';
|
|
15
|
+
export * from './utils/directive';
|
|
16
|
+
export * from './types';
|
|
17
|
+
export * from './config';
|
|
18
|
+
export * from './utils/widget';
|
|
19
|
+
export * from './utils/portal';
|
|
20
|
+
export * from './slot';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/extendWidget';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/extendWidget';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/floatingUI';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/floatingUI';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/focustrack';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/focustrack';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/intersection';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/intersection';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/navManager';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/navManager';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/portal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/portal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/siblingsInert';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/siblingsInert';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/transitions/baseTransitions';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/transitions/baseTransitions';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/transitions/bootstrap';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/transitions/bootstrap';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/transitions/collapse';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/transitions/collapse';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/transitions/cssTransitions';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/transitions/cssTransitions';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/transitions/simpleClassTransition';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/services/transitions/simpleClassTransition';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './../slot';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './../slot';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './../types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './../types';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './../../utils/directive';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './../../utils/directive';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './../../utils/portal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './../../utils/portal';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './../../utils/stores';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './../../utils/stores';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './../../utils/widget';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './../../utils/widget';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/utils/writables';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/utils/writables';
|
package/index.d.ts
CHANGED
|
@@ -1,48 +1,9 @@
|
|
|
1
|
-
export * from '
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './
|
|
5
|
-
export * from './
|
|
6
|
-
export * from './
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export
|
|
10
|
-
export type { WidgetsConfig } from './config';
|
|
11
|
-
export type AccordionWidget = AdaptWidgetSlots<import('@agnos-ui/core').AccordionWidget>;
|
|
12
|
-
export type AccordionProps = WidgetProps<AccordionWidget>;
|
|
13
|
-
export type AccordionState = WidgetState<AccordionWidget>;
|
|
14
|
-
export type AccordionApi = AccordionWidget['api'];
|
|
15
|
-
export type AccordionItemWidget = AdaptWidgetSlots<import('@agnos-ui/core').AccordionItemWidget>;
|
|
16
|
-
export type AccordionItemProps = WidgetProps<AccordionItemWidget>;
|
|
17
|
-
export type AccordionItemState = WidgetState<AccordionItemWidget>;
|
|
18
|
-
export type AccordionItemContext = AdaptSlotContentProps<import('@agnos-ui/core').AccordionItemContext>;
|
|
19
|
-
export declare const createAccordion: WidgetFactory<AccordionWidget>;
|
|
20
|
-
export type AlertWidget = AdaptWidgetSlots<import('@agnos-ui/core').AlertWidget>;
|
|
21
|
-
export type AlertProps = WidgetProps<AlertWidget>;
|
|
22
|
-
export type AlertState = WidgetState<AlertWidget>;
|
|
23
|
-
export type AlertContext = AdaptSlotContentProps<import('@agnos-ui/core').AlertContext>;
|
|
24
|
-
export declare const createAlert: WidgetFactory<AlertWidget>;
|
|
25
|
-
export type ModalWidget = AdaptWidgetSlots<import('@agnos-ui/core').ModalWidget>;
|
|
26
|
-
export type ModalProps = WidgetProps<ModalWidget>;
|
|
27
|
-
export type ModalState = WidgetState<ModalWidget>;
|
|
28
|
-
export type ModalContext = AdaptSlotContentProps<import('@agnos-ui/core').ModalContext>;
|
|
29
|
-
export declare const createModal: WidgetFactory<ModalWidget>;
|
|
30
|
-
export type PaginationWidget = AdaptWidgetSlots<import('@agnos-ui/core').PaginationWidget>;
|
|
31
|
-
export type PaginationProps = WidgetProps<PaginationWidget>;
|
|
32
|
-
export type PaginationState = WidgetState<PaginationWidget>;
|
|
33
|
-
export type PaginationContext = AdaptSlotContentProps<import('@agnos-ui/core').PaginationContext>;
|
|
34
|
-
export type PaginationNumberContext = AdaptSlotContentProps<import('@agnos-ui/core').PaginationNumberContext>;
|
|
35
|
-
export declare const createPagination: WidgetFactory<PaginationWidget>;
|
|
36
|
-
export type RatingWidget = AdaptWidgetSlots<import('@agnos-ui/core').RatingWidget>;
|
|
37
|
-
export type RatingProps = WidgetProps<RatingWidget>;
|
|
38
|
-
export type RatingState = WidgetState<RatingWidget>;
|
|
39
|
-
export declare const createRating: WidgetFactory<RatingWidget>;
|
|
40
|
-
export type SelectWidget<Item> = AdaptWidgetSlots<import('@agnos-ui/core').SelectWidget<Item>>;
|
|
41
|
-
export type SelectProps<Item> = WidgetProps<SelectWidget<Item>>;
|
|
42
|
-
export type SelectState<Item> = WidgetState<SelectWidget<Item>>;
|
|
43
|
-
export declare const createSelect: <Item>(propsConfig?: PropsConfig<SelectProps<Item>>) => SelectWidget<Item>;
|
|
44
|
-
export type ProgressbarWidget = AdaptWidgetSlots<import('@agnos-ui/core').ProgressbarWidget>;
|
|
45
|
-
export type ProgressbarProps = WidgetProps<ProgressbarWidget>;
|
|
46
|
-
export type ProgressbarState = WidgetState<ProgressbarWidget>;
|
|
47
|
-
export type ProgressbarContext = AdaptSlotContentProps<import('@agnos-ui/core').ProgressbarContext>;
|
|
48
|
-
export declare const createProgressbar: WidgetFactory<ProgressbarWidget>;
|
|
1
|
+
export * from './components/accordion/accordion';
|
|
2
|
+
export * from './components/alert/alert';
|
|
3
|
+
export * from './components/modal/modal';
|
|
4
|
+
export * from './components/pagination/pagination';
|
|
5
|
+
export * from './components/progressbar/progressbar';
|
|
6
|
+
export * from './components/rating/rating';
|
|
7
|
+
export * from './components/select/select';
|
|
8
|
+
export * from './components/slider/slider';
|
|
9
|
+
export * from './generated';
|
package/index.js
CHANGED
|
@@ -1,20 +1,9 @@
|
|
|
1
|
-
export * from '
|
|
2
|
-
export * from './
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './
|
|
5
|
-
export * from './
|
|
6
|
-
export * from './
|
|
7
|
-
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
export const createAlert = coreCreateAlert;
|
|
11
|
-
import { createModal as coreCreateModal } from '@agnos-ui/core';
|
|
12
|
-
export const createModal = coreCreateModal;
|
|
13
|
-
import { createPagination as coreCreatePagination } from '@agnos-ui/core';
|
|
14
|
-
export const createPagination = coreCreatePagination;
|
|
15
|
-
import { createRating as coreCreateRating } from '@agnos-ui/core';
|
|
16
|
-
export const createRating = coreCreateRating;
|
|
17
|
-
import { createSelect as coreCreateSelect } from '@agnos-ui/core';
|
|
18
|
-
export const createSelect = coreCreateSelect;
|
|
19
|
-
import { createProgressbar as coreCreateProgressbar } from '@agnos-ui/core';
|
|
20
|
-
export const createProgressbar = coreCreateProgressbar;
|
|
1
|
+
export * from './components/accordion/accordion';
|
|
2
|
+
export * from './components/alert/alert';
|
|
3
|
+
export * from './components/modal/modal';
|
|
4
|
+
export * from './components/pagination/pagination';
|
|
5
|
+
export * from './components/progressbar/progressbar';
|
|
6
|
+
export * from './components/rating/rating';
|
|
7
|
+
export * from './components/select/select';
|
|
8
|
+
export * from './components/slider/slider';
|
|
9
|
+
export * from './generated';
|
package/package.json
CHANGED
|
@@ -8,19 +8,47 @@
|
|
|
8
8
|
".": {
|
|
9
9
|
"types": "./index.d.ts",
|
|
10
10
|
"default": "./index.js"
|
|
11
|
+
},
|
|
12
|
+
"./components/*": {
|
|
13
|
+
"types": "./components/*/*.d.ts",
|
|
14
|
+
"default": "./components/*/*.js"
|
|
15
|
+
},
|
|
16
|
+
"./config": {
|
|
17
|
+
"types": "./config.d.ts",
|
|
18
|
+
"default": "./config.js"
|
|
19
|
+
},
|
|
20
|
+
"./slot": {
|
|
21
|
+
"types": "./slot.d.ts",
|
|
22
|
+
"default": "./slot.js"
|
|
23
|
+
},
|
|
24
|
+
"./types": {
|
|
25
|
+
"types": "./types.d.ts",
|
|
26
|
+
"default": "./types.js"
|
|
27
|
+
},
|
|
28
|
+
"./services/*": {
|
|
29
|
+
"types": "./generated/services/*.d.ts",
|
|
30
|
+
"default": "./generated/services/*.js"
|
|
31
|
+
},
|
|
32
|
+
"./services/transitions/*": {
|
|
33
|
+
"types": "./generated/services/transitions/*.d.ts",
|
|
34
|
+
"default": "./generated/services/transitions/*.js"
|
|
35
|
+
},
|
|
36
|
+
"./utils/*": {
|
|
37
|
+
"types": "./generated/utils/*.d.ts",
|
|
38
|
+
"default": "./generated/utils/*.js"
|
|
11
39
|
}
|
|
12
40
|
},
|
|
13
41
|
"dependencies": {
|
|
14
|
-
"@agnos-ui/core": "0.0.1-alpha.
|
|
15
|
-
"@amadeus-it-group/tansu": "0.0.
|
|
16
|
-
"classnames": "^2.
|
|
42
|
+
"@agnos-ui/core": "0.0.1-alpha.6",
|
|
43
|
+
"@amadeus-it-group/tansu": "0.0.24",
|
|
44
|
+
"classnames": "^2.5.1"
|
|
17
45
|
},
|
|
18
46
|
"peerDependencies": {
|
|
19
47
|
"react": "*",
|
|
20
48
|
"react-dom": "*"
|
|
21
49
|
},
|
|
22
50
|
"sideEffects": false,
|
|
23
|
-
"version": "0.0.1-alpha.
|
|
51
|
+
"version": "0.0.1-alpha.6",
|
|
24
52
|
"homepage": "https://amadeusitgroup.github.io/AgnosUI/latest/",
|
|
25
53
|
"bugs": "https://github.com/AmadeusITGroup/AgnosUI/issues",
|
|
26
54
|
"license": "MIT",
|
package/{Slot.d.ts → slot.d.ts}
RENAMED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
|
|
2
|
+
export * from '@agnos-ui/core/types';
|
|
3
|
+
import type { SlotContent as CoreSlotContent, Widget, WidgetFactory, WidgetProps, WidgetSlotContext, WidgetState } from '@agnos-ui/core/types';
|
|
3
4
|
export type SlotContent<Props extends object = object> = CoreSlotContent<Props> | ((props: Props) => React.ReactNode) | React.ComponentType<Props> | React.ReactNode;
|
|
4
5
|
export type AdaptSlotContentProps<Props extends Record<string, any>> = Props extends WidgetSlotContext<infer U> ? WidgetSlotContext<AdaptWidgetSlots<U>> & AdaptPropsSlots<Omit<Props, keyof WidgetSlotContext<any>>> : AdaptPropsSlots<Props>;
|
|
5
6
|
export type AdaptPropsSlots<Props> = Omit<Props, `slot${string}`> & {
|
package/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from '@agnos-ui/core/types';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Directive } from '@agnos-ui/core/types';
|
|
2
|
+
import type { RefCallback } from 'react';
|
|
3
|
+
export * from '@agnos-ui/core/utils/directive';
|
|
4
|
+
export declare function useDirective(directive: Directive<void>): RefCallback<HTMLElement>;
|
|
5
|
+
export declare function useDirective<T>(directive: Directive<T>, args: T): RefCallback<HTMLElement>;
|
|
6
|
+
export declare function useDirectives(directives: Directive<void>[]): RefCallback<HTMLElement>;
|
|
7
|
+
export declare function useDirectives<T>(directives: Directive<T>[], args: T): RefCallback<HTMLElement>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { mergeDirectives } from '@agnos-ui/core/utils/directive';
|
|
2
|
+
import { useCallback, useMemo, useRef } from 'react';
|
|
3
|
+
export * from '@agnos-ui/core/utils/directive';
|
|
4
|
+
export function useDirective(directive, args) {
|
|
5
|
+
const instance = useRef();
|
|
6
|
+
const propsRef = useRef();
|
|
7
|
+
const ref = useCallback((element) => {
|
|
8
|
+
instance.current?.destroy?.();
|
|
9
|
+
instance.current = undefined;
|
|
10
|
+
if (element) {
|
|
11
|
+
instance.current = directive(element, propsRef.current);
|
|
12
|
+
}
|
|
13
|
+
}, [directive]);
|
|
14
|
+
propsRef.current = args;
|
|
15
|
+
instance.current?.update?.(args);
|
|
16
|
+
return ref;
|
|
17
|
+
}
|
|
18
|
+
export function useDirectives(directives, args) {
|
|
19
|
+
const mergedDirectives = useMemo(() => mergeDirectives(...directives), directives);
|
|
20
|
+
return useDirective(mergedDirectives, args);
|
|
21
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { ReadableSignal } from '@amadeus-it-group/tansu';
|
|
2
|
+
export * from '@agnos-ui/core/utils/stores';
|
|
3
|
+
export declare function useObservable<T>(store$: ReadableSignal<T>): T;
|
|
4
|
+
export declare const usePropsAsStore: <T extends object>(props?: Partial<T> | undefined) => ReadableSignal<Partial<T>>;
|
package/utils/stores.js
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { findChangedProperties } from '@agnos-ui/core/utils/stores';
|
|
2
|
+
import { asReadable, writable } from '@amadeus-it-group/tansu';
|
|
3
|
+
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
+
export * from '@agnos-ui/core/utils/stores';
|
|
5
|
+
export function useObservable(store$) {
|
|
6
|
+
const [value, setValue] = useState(() => store$());
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
return store$.subscribe((arg) => {
|
|
9
|
+
// We're passing an update function to setValue here instead of just doing setValue(arg) so that
|
|
10
|
+
// if arg is a function, it is properly used as the value instead of being called as an update function
|
|
11
|
+
setValue(() => arg);
|
|
12
|
+
});
|
|
13
|
+
}, [store$]);
|
|
14
|
+
return value;
|
|
15
|
+
}
|
|
16
|
+
const propsEqual = (a, b) => !findChangedProperties(a, b);
|
|
17
|
+
export const usePropsAsStore = (props) => {
|
|
18
|
+
const storeRef = useRef();
|
|
19
|
+
if (!storeRef.current) {
|
|
20
|
+
storeRef.current = writable({ ...props }, { equal: propsEqual });
|
|
21
|
+
}
|
|
22
|
+
useEffect(() => {
|
|
23
|
+
storeRef.current.set({ ...props });
|
|
24
|
+
}, [props]);
|
|
25
|
+
return useMemo(() => asReadable(storeRef.current), [storeRef.current]);
|
|
26
|
+
};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import type { PropsConfig, Widget, WidgetFactory, WidgetProps, WidgetState } from '@agnos-ui/core/types';
|
|
2
|
+
export declare function useWidget<W extends Widget>(createWidget: WidgetFactory<W>, props?: Partial<WidgetProps<W>>, propsConfig?: PropsConfig<WidgetProps<W>>): [WidgetState<W>, W];
|
package/utils/widget.js
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { findChangedProperties } from '@agnos-ui/core/utils/stores';
|
|
2
|
+
import { useEffect, useMemo, useRef } from 'react';
|
|
3
|
+
import { useObservable } from './stores';
|
|
4
|
+
export function useWidget(createWidget, props = {}, propsConfig) {
|
|
5
|
+
const api = useMemo(() => createWidget({ ...propsConfig, props: { ...propsConfig?.props, ...props } }), []);
|
|
6
|
+
const previousProps = useRef(props);
|
|
7
|
+
useEffect(() => {
|
|
8
|
+
const changedProps = findChangedProperties(previousProps.current, props);
|
|
9
|
+
previousProps.current = props;
|
|
10
|
+
if (changedProps) {
|
|
11
|
+
api.patch(changedProps);
|
|
12
|
+
}
|
|
13
|
+
}, [props]);
|
|
14
|
+
const state = useObservable(api.state$);
|
|
15
|
+
return [state, api];
|
|
16
|
+
}
|
package/slotTypes.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
package/utils.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { Directive, Widget, WidgetProps, WidgetState } from '@agnos-ui/core';
|
|
2
|
-
import type { ReadableSignal } from '@amadeus-it-group/tansu';
|
|
3
|
-
import type { RefCallback } from 'react';
|
|
4
|
-
export declare function useWidget<Factory extends (...arg: any[]) => Widget>(createWidget: Factory, props?: Partial<WidgetProps<ReturnType<Factory>>>, ...initProps: Parameters<Factory>): [WidgetState<ReturnType<Factory>>, ReturnType<Factory>];
|
|
5
|
-
export declare function useObservable<T>(store$: ReadableSignal<T>): T;
|
|
6
|
-
export declare function useDirective(directive: Directive<void>): RefCallback<HTMLElement>;
|
|
7
|
-
export declare function useDirective<T>(directive: Directive<T>, args: T): RefCallback<HTMLElement>;
|
|
8
|
-
export declare const usePropsAsStore: <T extends object>(props?: Partial<T> | undefined) => ReadableSignal<Partial<T>>;
|
package/utils.js
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
import { findChangedProperties } from '@agnos-ui/core';
|
|
2
|
-
import { asReadable, writable } from '@amadeus-it-group/tansu';
|
|
3
|
-
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
-
export function useWidget(createWidget, props = {}, ...initProps) {
|
|
5
|
-
const apiRef = useRef(undefined);
|
|
6
|
-
if (!apiRef.current) {
|
|
7
|
-
apiRef.current = createWidget(...initProps);
|
|
8
|
-
apiRef.current.patch(props);
|
|
9
|
-
}
|
|
10
|
-
const api = apiRef.current;
|
|
11
|
-
const previousProps = useRef(props);
|
|
12
|
-
useEffect(() => {
|
|
13
|
-
const changedProps = findChangedProperties(previousProps.current, props);
|
|
14
|
-
previousProps.current = props;
|
|
15
|
-
if (changedProps) {
|
|
16
|
-
api.patch(changedProps);
|
|
17
|
-
}
|
|
18
|
-
}, [props]);
|
|
19
|
-
const state = useObservable(api.state$);
|
|
20
|
-
return [state, api];
|
|
21
|
-
}
|
|
22
|
-
export function useObservable(store$) {
|
|
23
|
-
const [value, setValue] = useState(() => store$());
|
|
24
|
-
useEffect(() => {
|
|
25
|
-
return store$.subscribe((arg) => {
|
|
26
|
-
// We're passing an update function to setValue here instead of just doing setValue(arg) so that
|
|
27
|
-
// if arg is a function, it is properly used as the value instead of being called as an update function
|
|
28
|
-
setValue(() => arg);
|
|
29
|
-
});
|
|
30
|
-
}, [store$]);
|
|
31
|
-
return value;
|
|
32
|
-
}
|
|
33
|
-
export function useDirective(directive, args) {
|
|
34
|
-
const instance = useRef();
|
|
35
|
-
const propsRef = useRef();
|
|
36
|
-
const ref = useCallback((element) => {
|
|
37
|
-
instance.current?.destroy?.();
|
|
38
|
-
instance.current = undefined;
|
|
39
|
-
if (element) {
|
|
40
|
-
instance.current = directive(element, propsRef.current);
|
|
41
|
-
}
|
|
42
|
-
}, [directive]);
|
|
43
|
-
propsRef.current = args;
|
|
44
|
-
instance.current?.update?.(args);
|
|
45
|
-
return ref;
|
|
46
|
-
}
|
|
47
|
-
const propsEqual = (a, b) => !findChangedProperties(a, b);
|
|
48
|
-
export const usePropsAsStore = (props) => {
|
|
49
|
-
const storeRef = useRef();
|
|
50
|
-
if (!storeRef.current) {
|
|
51
|
-
storeRef.current = writable({ ...props }, { equal: propsEqual });
|
|
52
|
-
}
|
|
53
|
-
useEffect(() => {
|
|
54
|
-
storeRef.current.set({ ...props });
|
|
55
|
-
}, [props]);
|
|
56
|
-
return useMemo(() => asReadable(storeRef.current), [storeRef.current]);
|
|
57
|
-
};
|
/package/{Slot.js → slot.js}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|