@alveole/components 2.0.0-alpha.27 → 2.0.0-alpha.28
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/dist/core/Box/Box.js +1 -1
- package/dist/generated/version.d.ts +1 -1
- package/dist/generated/version.js +1 -1
- package/dist/stories/index.d.ts +3 -0
- package/dist/stories/index.d.ts.map +1 -1
- package/dist/stories/index.js +3 -0
- package/dist/ui/DateRangeInput/Calendrier.d.ts +19 -0
- package/dist/ui/DateRangeInput/Calendrier.d.ts.map +1 -0
- package/dist/ui/DateRangeInput/Calendrier.js +44 -0
- package/dist/ui/DateRangeInput/Calendrier.styles.d.ts +54 -0
- package/dist/ui/DateRangeInput/Calendrier.styles.d.ts.map +1 -0
- package/dist/ui/DateRangeInput/Calendrier.styles.js +46 -0
- package/dist/ui/DateRangeInput/DateRangeInput.d.ts +26 -0
- package/dist/ui/DateRangeInput/DateRangeInput.d.ts.map +1 -0
- package/dist/ui/DateRangeInput/DateRangeInput.js +36 -0
- package/dist/ui/DateRangeInput/DateRangeInput.stories.d.ts +34 -0
- package/dist/ui/DateRangeInput/DateRangeInput.stories.d.ts.map +1 -0
- package/dist/ui/DateRangeInput/DateRangeInput.stories.js +24 -0
- package/dist/ui/DateRangeInput/DateRangeInput.stories.sources.d.ts +8 -0
- package/dist/ui/DateRangeInput/DateRangeInput.stories.sources.d.ts.map +1 -0
- package/dist/ui/DateRangeInput/DateRangeInput.stories.sources.js +8 -0
- package/dist/ui/DateRangeInput/DateRangeInput.styles.d.ts +22 -0
- package/dist/ui/DateRangeInput/DateRangeInput.styles.d.ts.map +1 -0
- package/dist/ui/DateRangeInput/DateRangeInput.styles.js +18 -0
- package/dist/ui/DateRangeInput/index.d.ts +4 -0
- package/dist/ui/DateRangeInput/index.d.ts.map +1 -0
- package/dist/ui/DateRangeInput/index.js +2 -0
- package/dist/ui/DateRangeInput/plage.d.ts +39 -0
- package/dist/ui/DateRangeInput/plage.d.ts.map +1 -0
- package/dist/ui/DateRangeInput/plage.js +55 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.d.ts +6 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.d.ts.map +1 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.js +9 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.shared.d.ts +24 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.shared.d.ts.map +1 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.shared.js +63 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.stories.d.ts +34 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.stories.d.ts.map +1 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.stories.js +22 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.stories.sources.d.ts +8 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.stories.sources.d.ts.map +1 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.stories.sources.js +8 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.styles.d.ts +22 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.styles.d.ts.map +1 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.styles.js +18 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.web.d.ts +5 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.web.d.ts.map +1 -0
- package/dist/ui/FilterTimeRange/FilterTimeRange.web.js +8 -0
- package/dist/ui/FilterTimeRange/index.d.ts +2 -0
- package/dist/ui/FilterTimeRange/index.d.ts.map +1 -0
- package/dist/ui/FilterTimeRange/index.js +1 -0
- package/dist/ui/LucideIcon/catalogueLucide.d.ts +75 -0
- package/dist/ui/LucideIcon/catalogueLucide.d.ts.map +1 -1
- package/dist/ui/LucideIcon/vendor/lab.js +1 -1
- package/dist/ui/LucideIcon/vendor/lucide.d.ts +1750 -1633
- package/dist/ui/LucideIcon/vendor/lucide.js +3 -3
- package/dist/ui/Select/Select.web.d.ts.map +1 -1
- package/dist/ui/Select/Select.web.js +3 -1
- package/dist/ui/TimeRangeInput/TimeRangeInput.d.ts +16 -0
- package/dist/ui/TimeRangeInput/TimeRangeInput.d.ts.map +1 -0
- package/dist/ui/TimeRangeInput/TimeRangeInput.js +57 -0
- package/dist/ui/TimeRangeInput/TimeRangeInput.stories.d.ts +45 -0
- package/dist/ui/TimeRangeInput/TimeRangeInput.stories.d.ts.map +1 -0
- package/dist/ui/TimeRangeInput/TimeRangeInput.stories.js +29 -0
- package/dist/ui/TimeRangeInput/TimeRangeInput.stories.sources.d.ts +8 -0
- package/dist/ui/TimeRangeInput/TimeRangeInput.stories.sources.d.ts.map +1 -0
- package/dist/ui/TimeRangeInput/TimeRangeInput.stories.sources.js +8 -0
- package/dist/ui/TimeRangeInput/TimeRangeInput.styles.d.ts +33 -0
- package/dist/ui/TimeRangeInput/TimeRangeInput.styles.d.ts.map +1 -0
- package/dist/ui/TimeRangeInput/TimeRangeInput.styles.js +29 -0
- package/dist/ui/TimeRangeInput/index.d.ts +2 -0
- package/dist/ui/TimeRangeInput/index.d.ts.map +1 -0
- package/dist/ui/TimeRangeInput/index.js +1 -0
- package/dist/ui/index.d.ts +3 -0
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/index.js +3 -0
- package/package.json +9 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.web.d.ts","sourceRoot":"","sources":["../../../src/ui/Select/Select.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAgB,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3E,eAAO,MAAM,MAAM,+
|
|
1
|
+
{"version":3,"file":"Select.web.d.ts","sourceRoot":"","sources":["../../../src/ui/Select/Select.web.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,KAAK,EAAgB,WAAW,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAK3E,eAAO,MAAM,MAAM,+EAyBjB,CAAC"}
|
|
@@ -11,6 +11,8 @@ export const Select = React.forwardRef(function Select(props, ref) {
|
|
|
11
11
|
const selectStyles = useSelectStyles();
|
|
12
12
|
const { fieldProps, instanceRef, createLabel } = useSelectWebField(props, ref, selectStyles);
|
|
13
13
|
// L'id vient du FormControl, dont l'étiquette désigne ainsi le champ (ADR 0026).
|
|
14
|
-
const
|
|
14
|
+
const fieldId = useFieldId();
|
|
15
|
+
// Hors FormControl, aucune étiquette ne désigne le champ : le titre du sheet le nomme, comme en natif.
|
|
16
|
+
const champ = { ...fieldProps, inputId: fieldId, 'aria-label': fieldId ? undefined : props.sheetTitle };
|
|
15
17
|
return (_jsx(Box, { tag: "form-control-select-input", style: selectStyles.inputContainer, children: creatable ? (_jsx(CreatableSelect, { ...champ, ref: instanceRef, onCreateOption: query => onCreateOption?.(query.trim()), formatCreateLabel: query => createLabel(query.trim()), createOptionPosition: "first" })) : (_jsx(ReactSelect, { ...champ, ref: instanceRef })) }));
|
|
16
18
|
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PlageDeTemps } from '../DateRangeInput/plage';
|
|
3
|
+
export type PlageAbsolue = Extract<PlageDeTemps, {
|
|
4
|
+
type: 'absolue';
|
|
5
|
+
}>;
|
|
6
|
+
export type TimeRangeInputProps = {
|
|
7
|
+
title?: string;
|
|
8
|
+
value?: PlageAbsolue;
|
|
9
|
+
local?: 'fr' | 'en';
|
|
10
|
+
onApply: (plage: PlageAbsolue) => void;
|
|
11
|
+
/** Affiche le bouton « Retour » quand il est fourni. */
|
|
12
|
+
onCancel?: () => void;
|
|
13
|
+
};
|
|
14
|
+
/** Choix d'une plage de dates au calendrier, avec heure de début, heure de fin et lecture en UTC. */
|
|
15
|
+
export declare const TimeRangeInput: (props: TimeRangeInputProps) => React.JSX.Element;
|
|
16
|
+
//# sourceMappingURL=TimeRangeInput.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeRangeInput.d.ts","sourceRoot":"","sources":["../../../src/ui/TimeRangeInput/TimeRangeInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAgB,YAAY,EAAgB,MAAM,yBAAyB,CAAC;AAKnF,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC,CAAC;AAEtE,MAAM,MAAM,mBAAmB,GAAG;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IACvC,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AA8CF,qGAAqG;AACrG,eAAO,MAAM,cAAc,GAAI,OAAO,mBAAmB,sBAsCxD,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Box } from '../../core/Box';
|
|
4
|
+
import { Typography } from '../../core/Typography';
|
|
5
|
+
import { Button } from '../Button';
|
|
6
|
+
import { Checkbox } from '../Checkbox';
|
|
7
|
+
import { libellesDuCalendrier } from '../DateRangeInput';
|
|
8
|
+
import { Calendrier } from '../DateRangeInput/Calendrier';
|
|
9
|
+
import { composerDate } from '../DateRangeInput/plage';
|
|
10
|
+
import { FormControl } from '../FormControl';
|
|
11
|
+
import { TimeInput } from '../TimeInput';
|
|
12
|
+
import { useStyles } from './TimeRangeInput.styles';
|
|
13
|
+
const libelles = (local) => ({
|
|
14
|
+
...libellesDuCalendrier(local),
|
|
15
|
+
...(local === 'fr' ? { debut: 'Début', fin: 'Fin' } : { debut: 'Start', fin: 'End' }),
|
|
16
|
+
});
|
|
17
|
+
const heureDe = (date, utc, defaut) => {
|
|
18
|
+
if (!date)
|
|
19
|
+
return defaut;
|
|
20
|
+
const [h, m] = utc ? [date.getUTCHours(), date.getUTCMinutes()] : [date.getHours(), date.getMinutes()];
|
|
21
|
+
return `${String(h).padStart(2, '0')}:${String(m).padStart(2, '0')}`;
|
|
22
|
+
};
|
|
23
|
+
// Le calendrier travaille en jours locaux : une date UTC y est ramenée à son jour UTC.
|
|
24
|
+
const jourDe = (date, utc) => date && utc ? new Date(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()) : date;
|
|
25
|
+
// Les jours, les heures et le choix UTC ne forment une plage qu'ensemble : une fin avant le début n'en est pas une.
|
|
26
|
+
const etatInitial = (value) => {
|
|
27
|
+
const utc = value?.utc ?? true;
|
|
28
|
+
return {
|
|
29
|
+
utc,
|
|
30
|
+
plage: { debut: jourDe(value?.debut, utc), fin: jourDe(value?.fin, utc) },
|
|
31
|
+
heureDebut: heureDe(value?.debut, utc, '00:00'),
|
|
32
|
+
heureFin: heureDe(value?.fin, utc, '23:59'),
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
const usePlageAbsolue = (value) => {
|
|
36
|
+
const [initial] = React.useState(() => etatInitial(value));
|
|
37
|
+
const [utc, setUtc] = React.useState(initial.utc);
|
|
38
|
+
const [plage, setPlage] = React.useState(initial.plage);
|
|
39
|
+
const [heureDebut, setHeureDebut] = React.useState(initial.heureDebut);
|
|
40
|
+
const [heureFin, setHeureFin] = React.useState(initial.heureFin);
|
|
41
|
+
const resultat = plage.debut && {
|
|
42
|
+
type: 'absolue',
|
|
43
|
+
debut: composerDate(plage.debut, heureDebut, utc),
|
|
44
|
+
fin: composerDate(plage.fin ?? plage.debut, heureFin, utc),
|
|
45
|
+
utc,
|
|
46
|
+
};
|
|
47
|
+
const valide = resultat && resultat.fin >= resultat.debut ? resultat : undefined;
|
|
48
|
+
return { utc, setUtc, plage, setPlage, heureDebut, setHeureDebut, heureFin, setHeureFin, valide };
|
|
49
|
+
};
|
|
50
|
+
/** Choix d'une plage de dates au calendrier, avec heure de début, heure de fin et lecture en UTC. */
|
|
51
|
+
export const TimeRangeInput = (props) => {
|
|
52
|
+
const { title, value, local = 'fr', onApply, onCancel } = props;
|
|
53
|
+
const styles = useStyles();
|
|
54
|
+
const mots = libelles(local);
|
|
55
|
+
const etat = usePlageAbsolue(value);
|
|
56
|
+
return (_jsxs(Box, { tag: "time-range-input-container", style: styles.container, children: [title && (_jsx(Typography, { tag: "time-range-input-titre", style: styles.titre, children: title })), _jsx(Calendrier, { plage: etat.plage, onChange: etat.setPlage, mots: mots }), _jsxs(Box, { tag: "time-range-input-heures", style: styles.heures, children: [_jsx(FormControl, { label: mots.debut, style: styles.heure, children: _jsx(TimeInput, { value: etat.heureDebut, onChange: etat.setHeureDebut }) }), _jsx(FormControl, { label: mots.fin, style: styles.heure, children: _jsx(TimeInput, { value: etat.heureFin, onChange: etat.setHeureFin }) }), _jsx(Checkbox, { label: "UTC", checked: etat.utc, onCheckedChange: coche => etat.setUtc(coche === true) })] }), _jsxs(Box, { tag: "time-range-input-actions", style: styles.actions, children: [onCancel && _jsx(Button, { title: mots.retour, variant: "tertiary", size: "sm", leading: "ArrowLeft", onPress: onCancel }), _jsx(Button, { title: mots.appliquer, variant: "primary", size: "sm", disabled: !etat.valide, onPress: () => etat.valide && onApply(etat.valide) })] })] }));
|
|
57
|
+
};
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare const _default: {
|
|
3
|
+
title: string;
|
|
4
|
+
tags: "ui"[];
|
|
5
|
+
experimental: true;
|
|
6
|
+
description: string;
|
|
7
|
+
component: (props: import("./TimeRangeInput").TimeRangeInputProps) => React.JSX.Element;
|
|
8
|
+
styleFn: () => {
|
|
9
|
+
container: {
|
|
10
|
+
display: "flex";
|
|
11
|
+
flexDirection: "column";
|
|
12
|
+
gap: string | number;
|
|
13
|
+
padding: string | number;
|
|
14
|
+
};
|
|
15
|
+
titre: {
|
|
16
|
+
color: import("@alveole/theme").ThemeColor;
|
|
17
|
+
fontSize: 14;
|
|
18
|
+
lineHeight: 20;
|
|
19
|
+
letterSpacing: 0;
|
|
20
|
+
fontFamily: string;
|
|
21
|
+
fontWeight?: import("react-native").TextStyle["fontWeight"];
|
|
22
|
+
};
|
|
23
|
+
heures: {
|
|
24
|
+
flexDirection: "row";
|
|
25
|
+
alignItems: "flex-end";
|
|
26
|
+
gap: string | number;
|
|
27
|
+
borderTopWidth: number;
|
|
28
|
+
borderTopColor: import("@alveole/theme").ThemeColor;
|
|
29
|
+
paddingTop: string | number;
|
|
30
|
+
};
|
|
31
|
+
heure: {
|
|
32
|
+
flex: number;
|
|
33
|
+
};
|
|
34
|
+
actions: {
|
|
35
|
+
flexDirection: "row";
|
|
36
|
+
justifyContent: "flex-end";
|
|
37
|
+
gap: string | number;
|
|
38
|
+
};
|
|
39
|
+
};
|
|
40
|
+
};
|
|
41
|
+
export default _default;
|
|
42
|
+
export declare const Default: () => React.JSX.Element;
|
|
43
|
+
export declare const EnAnglaisSansRetour: () => React.JSX.Element;
|
|
44
|
+
export * as Sources from './TimeRangeInput.stories.sources';
|
|
45
|
+
//# sourceMappingURL=TimeRangeInput.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeRangeInput.stories.d.ts","sourceRoot":"","sources":["../../../src/ui/TimeRangeInput/TimeRangeInput.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAQ1B,wBAQkB;AAElB,eAAO,MAAM,OAAO,yBAcnB,CAAC;AAEF,eAAO,MAAM,mBAAmB,yBAS/B,CAAC;AAEF,OAAO,KAAK,OAAO,MAAM,kCAAkC,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Box } from '../../core/Box';
|
|
4
|
+
import { Typography } from '../../core/Typography';
|
|
5
|
+
import { libelleDePlage } from '../DateRangeInput/plage';
|
|
6
|
+
import { TimeRangeInput } from './TimeRangeInput';
|
|
7
|
+
import { useStyles } from './TimeRangeInput.styles';
|
|
8
|
+
export default {
|
|
9
|
+
title: 'TimeRangeInput',
|
|
10
|
+
tags: ['ui'],
|
|
11
|
+
experimental: true,
|
|
12
|
+
description: "Choix d'une plage de dates au calendrier, avec heure de début, heure de fin et lecture en UTC. Utilisé par FilterTimeRange pour la « Date absolue ».",
|
|
13
|
+
component: TimeRangeInput,
|
|
14
|
+
styleFn: useStyles,
|
|
15
|
+
};
|
|
16
|
+
export const Default = () => {
|
|
17
|
+
const [value, setValue] = React.useState({
|
|
18
|
+
type: 'absolue',
|
|
19
|
+
debut: new Date('2026-10-14T00:00:00Z'),
|
|
20
|
+
fin: new Date('2026-10-22T23:59:00Z'),
|
|
21
|
+
utc: true,
|
|
22
|
+
});
|
|
23
|
+
return (_jsxs(Box, { gap: "1W", children: [_jsx(TimeRangeInput, { value: value, onApply: setValue, onCancel: () => undefined }), _jsx(Typography, { children: libelleDePlage(value) })] }));
|
|
24
|
+
};
|
|
25
|
+
export const EnAnglaisSansRetour = () => {
|
|
26
|
+
const [value, setValue] = React.useState();
|
|
27
|
+
return (_jsxs(Box, { gap: "1W", children: [_jsx(TimeRangeInput, { local: "en", title: "Filter Time Range", value: value, onApply: setValue }), value && _jsx(Typography, { children: libelleDePlage(value, 'en') })] }));
|
|
28
|
+
};
|
|
29
|
+
export * as Sources from './TimeRangeInput.stories.sources';
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export declare const Default: () => string;
|
|
2
|
+
export declare const EnAnglaisSansRetour: () => string;
|
|
3
|
+
export declare const storySources: {
|
|
4
|
+
readonly Default: () => string;
|
|
5
|
+
readonly EnAnglaisSansRetour: () => string;
|
|
6
|
+
};
|
|
7
|
+
export type StorySourceName = keyof typeof storySources;
|
|
8
|
+
//# sourceMappingURL=TimeRangeInput.stories.sources.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeRangeInput.stories.sources.d.ts","sourceRoot":"","sources":["../../../src/ui/TimeRangeInput/TimeRangeInput.stories.sources.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,OAAO,cAAob,CAAC;AAEzc,eAAO,MAAM,mBAAmB,cAAyV,CAAC;AAE1X,eAAO,MAAM,YAAY;;;CAGf,CAAC;AAEX,MAAM,MAAM,eAAe,GAAG,MAAM,OAAO,YAAY,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// This file is generated. Do not edit manually.
|
|
2
|
+
// Source: src/ui/TimeRangeInput/TimeRangeInput.stories.tsx
|
|
3
|
+
export const Default = () => "export const Default = () => {\n const [value, setValue] = React.useState<PlageAbsolue>({\n type: 'absolue',\n debut: new Date('2026-10-14T00:00:00Z'),\n fin: new Date('2026-10-22T23:59:00Z'),\n utc: true,\n });\n\n return (\n <Box gap=\"1W\">\n <TimeRangeInput value={value} onApply={setValue} onCancel={() => undefined} />\n <Typography>{libelleDePlage(value)}</Typography>\n </Box>\n );\n};";
|
|
4
|
+
export const EnAnglaisSansRetour = () => "export const EnAnglaisSansRetour = () => {\n const [value, setValue] = React.useState<PlageAbsolue>();\n\n return (\n <Box gap=\"1W\">\n <TimeRangeInput local=\"en\" title=\"Filter Time Range\" value={value} onApply={setValue} />\n {value && <Typography>{libelleDePlage(value, 'en')}</Typography>}\n </Box>\n );\n};";
|
|
5
|
+
export const storySources = {
|
|
6
|
+
Default,
|
|
7
|
+
EnAnglaisSansRetour,
|
|
8
|
+
};
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
export declare const useStyles: () => {
|
|
2
|
+
container: {
|
|
3
|
+
display: "flex";
|
|
4
|
+
flexDirection: "column";
|
|
5
|
+
gap: string | number;
|
|
6
|
+
padding: string | number;
|
|
7
|
+
};
|
|
8
|
+
titre: {
|
|
9
|
+
color: import("@alveole/theme").ThemeColor;
|
|
10
|
+
fontSize: 14;
|
|
11
|
+
lineHeight: 20;
|
|
12
|
+
letterSpacing: 0;
|
|
13
|
+
fontFamily: string;
|
|
14
|
+
fontWeight?: import("react-native").TextStyle["fontWeight"];
|
|
15
|
+
};
|
|
16
|
+
heures: {
|
|
17
|
+
flexDirection: "row";
|
|
18
|
+
alignItems: "flex-end";
|
|
19
|
+
gap: string | number;
|
|
20
|
+
borderTopWidth: number;
|
|
21
|
+
borderTopColor: import("@alveole/theme").ThemeColor;
|
|
22
|
+
paddingTop: string | number;
|
|
23
|
+
};
|
|
24
|
+
heure: {
|
|
25
|
+
flex: number;
|
|
26
|
+
};
|
|
27
|
+
actions: {
|
|
28
|
+
flexDirection: "row";
|
|
29
|
+
justifyContent: "flex-end";
|
|
30
|
+
gap: string | number;
|
|
31
|
+
};
|
|
32
|
+
};
|
|
33
|
+
//# sourceMappingURL=TimeRangeInput.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimeRangeInput.styles.d.ts","sourceRoot":"","sources":["../../../src/ui/TimeRangeInput/TimeRangeInput.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2BnB,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { makeStyles } from '@alveole/theme';
|
|
2
|
+
export const useStyles = makeStyles(({ spacing, color, text }) => ({
|
|
3
|
+
container: {
|
|
4
|
+
display: 'flex',
|
|
5
|
+
flexDirection: 'column',
|
|
6
|
+
gap: spacing('2W'),
|
|
7
|
+
padding: spacing('2W'),
|
|
8
|
+
},
|
|
9
|
+
titre: {
|
|
10
|
+
...text['Corps de texte'].SM.Medium,
|
|
11
|
+
color: color.light.text['title-grey'],
|
|
12
|
+
},
|
|
13
|
+
heures: {
|
|
14
|
+
flexDirection: 'row',
|
|
15
|
+
alignItems: 'flex-end',
|
|
16
|
+
gap: spacing('1W'),
|
|
17
|
+
borderTopWidth: 1,
|
|
18
|
+
borderTopColor: color.light.border['default-grey'],
|
|
19
|
+
paddingTop: spacing('2W'),
|
|
20
|
+
},
|
|
21
|
+
heure: {
|
|
22
|
+
flex: 1,
|
|
23
|
+
},
|
|
24
|
+
actions: {
|
|
25
|
+
flexDirection: 'row',
|
|
26
|
+
justifyContent: 'flex-end',
|
|
27
|
+
gap: spacing('1W'),
|
|
28
|
+
},
|
|
29
|
+
}));
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/TimeRangeInput/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './TimeRangeInput';
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -10,12 +10,14 @@ export * from './Checkbox';
|
|
|
10
10
|
export * from './Counter';
|
|
11
11
|
export * from './DataTable';
|
|
12
12
|
export * from './DateInput';
|
|
13
|
+
export * from './DateRangeInput';
|
|
13
14
|
export * from './Divider';
|
|
14
15
|
export * from './DocumentViewer';
|
|
15
16
|
export * from './DurationInput';
|
|
16
17
|
export * from './EmptyState';
|
|
17
18
|
export * from './FileDropZone';
|
|
18
19
|
export * from './FilterDate';
|
|
20
|
+
export * from './FilterTimeRange';
|
|
19
21
|
export * from './FormControl';
|
|
20
22
|
export * from './Header';
|
|
21
23
|
export * from './InputButtonAdornment';
|
|
@@ -41,6 +43,7 @@ export * from './Tag';
|
|
|
41
43
|
export * from './TextareaInput';
|
|
42
44
|
export * from './TextInputArray';
|
|
43
45
|
export * from './TimeInput';
|
|
46
|
+
export * from './TimeRangeInput';
|
|
44
47
|
export * from './Toast';
|
|
45
48
|
export * from './ToolbarBottomNav';
|
|
46
49
|
export * from './ToolbarTop';
|
package/dist/ui/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,wBAAwB,CAAC;AACvC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,cAAc,CAAC"}
|
package/dist/ui/index.js
CHANGED
|
@@ -10,12 +10,14 @@ export * from './Checkbox';
|
|
|
10
10
|
export * from './Counter';
|
|
11
11
|
export * from './DataTable';
|
|
12
12
|
export * from './DateInput';
|
|
13
|
+
export * from './DateRangeInput';
|
|
13
14
|
export * from './Divider';
|
|
14
15
|
export * from './DocumentViewer';
|
|
15
16
|
export * from './DurationInput';
|
|
16
17
|
export * from './EmptyState';
|
|
17
18
|
export * from './FileDropZone';
|
|
18
19
|
export * from './FilterDate';
|
|
20
|
+
export * from './FilterTimeRange';
|
|
19
21
|
export * from './FormControl';
|
|
20
22
|
export * from './Header';
|
|
21
23
|
export * from './InputButtonAdornment';
|
|
@@ -41,6 +43,7 @@ export * from './Tag';
|
|
|
41
43
|
export * from './TextareaInput';
|
|
42
44
|
export * from './TextInputArray';
|
|
43
45
|
export * from './TimeInput';
|
|
46
|
+
export * from './TimeRangeInput';
|
|
44
47
|
export * from './Toast';
|
|
45
48
|
export * from './ToolbarBottomNav';
|
|
46
49
|
export * from './ToolbarTop';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@alveole/components",
|
|
3
|
-
"version": "2.0.0-alpha.
|
|
3
|
+
"version": "2.0.0-alpha.28",
|
|
4
4
|
"description": "Shared UI components.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -33,24 +33,24 @@
|
|
|
33
33
|
"@react-native-community/datetimepicker": "9.2.1",
|
|
34
34
|
"@react-native/jest-preset": "0.88.0",
|
|
35
35
|
"@shopify/flash-list": "2.3.2",
|
|
36
|
-
"@tamagui/core": "3.2.
|
|
37
|
-
"@tamagui/toast": "3.2.
|
|
36
|
+
"@tamagui/core": "3.2.4",
|
|
37
|
+
"@tamagui/toast": "3.2.4",
|
|
38
38
|
"@testing-library/react": "16.3.3",
|
|
39
39
|
"@testing-library/react-native": "14.1.0",
|
|
40
40
|
"@types/react-syntax-highlighter": "15.5.13",
|
|
41
41
|
"babel-preset-expo": "58.0.20",
|
|
42
42
|
"eslint": "10.14.0",
|
|
43
|
-
"expo": "58.0.
|
|
43
|
+
"expo": "58.0.25",
|
|
44
44
|
"expo-application": "58.1.2",
|
|
45
|
-
"expo-asset": "58.0.
|
|
46
|
-
"expo-document-picker": "58.0.
|
|
45
|
+
"expo-asset": "58.0.21",
|
|
46
|
+
"expo-document-picker": "58.0.5",
|
|
47
47
|
"expo-image-picker": "58.0.10",
|
|
48
48
|
"expo-in-app-updates": "0.13.0",
|
|
49
|
-
"expo-linear-gradient": "58.0.
|
|
49
|
+
"expo-linear-gradient": "58.0.4",
|
|
50
50
|
"expo-modules-core": "58.0.30",
|
|
51
51
|
"expo-router": "58.0.30",
|
|
52
52
|
"expo-system-ui": "58.0.7",
|
|
53
|
-
"expo-web-browser": "58.0.
|
|
53
|
+
"expo-web-browser": "58.0.8",
|
|
54
54
|
"jest": "29.7.0",
|
|
55
55
|
"jest-environment-jsdom": "30.5.2",
|
|
56
56
|
"jest-expo": "58.0.12",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"react-native-web": "0.21.4",
|
|
64
64
|
"react-select": "5.10.2",
|
|
65
65
|
"react-syntax-highlighter": "16.1.2",
|
|
66
|
-
"tamagui": "3.2.
|
|
66
|
+
"tamagui": "3.2.4",
|
|
67
67
|
"test-renderer": "1.3.1"
|
|
68
68
|
},
|
|
69
69
|
"dependencies": {
|