@alveole/components 2.0.0-alpha.25 → 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.
Files changed (80) hide show
  1. package/dist/core/Box/Box.js +1 -1
  2. package/dist/generated/version.d.ts +1 -1
  3. package/dist/generated/version.js +1 -1
  4. package/dist/stories/index.d.ts +3 -0
  5. package/dist/stories/index.d.ts.map +1 -1
  6. package/dist/stories/index.js +3 -0
  7. package/dist/ui/DateRangeInput/Calendrier.d.ts +19 -0
  8. package/dist/ui/DateRangeInput/Calendrier.d.ts.map +1 -0
  9. package/dist/ui/DateRangeInput/Calendrier.js +44 -0
  10. package/dist/ui/DateRangeInput/Calendrier.styles.d.ts +54 -0
  11. package/dist/ui/DateRangeInput/Calendrier.styles.d.ts.map +1 -0
  12. package/dist/ui/DateRangeInput/Calendrier.styles.js +46 -0
  13. package/dist/ui/DateRangeInput/DateRangeInput.d.ts +26 -0
  14. package/dist/ui/DateRangeInput/DateRangeInput.d.ts.map +1 -0
  15. package/dist/ui/DateRangeInput/DateRangeInput.js +36 -0
  16. package/dist/ui/DateRangeInput/DateRangeInput.stories.d.ts +34 -0
  17. package/dist/ui/DateRangeInput/DateRangeInput.stories.d.ts.map +1 -0
  18. package/dist/ui/DateRangeInput/DateRangeInput.stories.js +24 -0
  19. package/dist/ui/DateRangeInput/DateRangeInput.stories.sources.d.ts +8 -0
  20. package/dist/ui/DateRangeInput/DateRangeInput.stories.sources.d.ts.map +1 -0
  21. package/dist/ui/DateRangeInput/DateRangeInput.stories.sources.js +8 -0
  22. package/dist/ui/DateRangeInput/DateRangeInput.styles.d.ts +22 -0
  23. package/dist/ui/DateRangeInput/DateRangeInput.styles.d.ts.map +1 -0
  24. package/dist/ui/DateRangeInput/DateRangeInput.styles.js +18 -0
  25. package/dist/ui/DateRangeInput/index.d.ts +4 -0
  26. package/dist/ui/DateRangeInput/index.d.ts.map +1 -0
  27. package/dist/ui/DateRangeInput/index.js +2 -0
  28. package/dist/ui/DateRangeInput/plage.d.ts +39 -0
  29. package/dist/ui/DateRangeInput/plage.d.ts.map +1 -0
  30. package/dist/ui/DateRangeInput/plage.js +55 -0
  31. package/dist/ui/FilterTimeRange/FilterTimeRange.d.ts +6 -0
  32. package/dist/ui/FilterTimeRange/FilterTimeRange.d.ts.map +1 -0
  33. package/dist/ui/FilterTimeRange/FilterTimeRange.js +9 -0
  34. package/dist/ui/FilterTimeRange/FilterTimeRange.shared.d.ts +24 -0
  35. package/dist/ui/FilterTimeRange/FilterTimeRange.shared.d.ts.map +1 -0
  36. package/dist/ui/FilterTimeRange/FilterTimeRange.shared.js +63 -0
  37. package/dist/ui/FilterTimeRange/FilterTimeRange.stories.d.ts +34 -0
  38. package/dist/ui/FilterTimeRange/FilterTimeRange.stories.d.ts.map +1 -0
  39. package/dist/ui/FilterTimeRange/FilterTimeRange.stories.js +22 -0
  40. package/dist/ui/FilterTimeRange/FilterTimeRange.stories.sources.d.ts +8 -0
  41. package/dist/ui/FilterTimeRange/FilterTimeRange.stories.sources.d.ts.map +1 -0
  42. package/dist/ui/FilterTimeRange/FilterTimeRange.stories.sources.js +8 -0
  43. package/dist/ui/FilterTimeRange/FilterTimeRange.styles.d.ts +22 -0
  44. package/dist/ui/FilterTimeRange/FilterTimeRange.styles.d.ts.map +1 -0
  45. package/dist/ui/FilterTimeRange/FilterTimeRange.styles.js +18 -0
  46. package/dist/ui/FilterTimeRange/FilterTimeRange.web.d.ts +5 -0
  47. package/dist/ui/FilterTimeRange/FilterTimeRange.web.d.ts.map +1 -0
  48. package/dist/ui/FilterTimeRange/FilterTimeRange.web.js +8 -0
  49. package/dist/ui/FilterTimeRange/index.d.ts +2 -0
  50. package/dist/ui/FilterTimeRange/index.d.ts.map +1 -0
  51. package/dist/ui/FilterTimeRange/index.js +1 -0
  52. package/dist/ui/FormControl/TextInputPassword.d.ts +3 -0
  53. package/dist/ui/FormControl/TextInputPassword.d.ts.map +1 -1
  54. package/dist/ui/FormControl/TextInputPassword.js +3 -1
  55. package/dist/ui/LucideIcon/catalogueLucide.d.ts +75 -0
  56. package/dist/ui/LucideIcon/catalogueLucide.d.ts.map +1 -1
  57. package/dist/ui/LucideIcon/vendor/lab.js +1 -1
  58. package/dist/ui/LucideIcon/vendor/lucide.d.ts +1750 -1633
  59. package/dist/ui/LucideIcon/vendor/lucide.js +3 -3
  60. package/dist/ui/Select/Select.web.d.ts.map +1 -1
  61. package/dist/ui/Select/Select.web.js +3 -1
  62. package/dist/ui/TimeRangeInput/TimeRangeInput.d.ts +16 -0
  63. package/dist/ui/TimeRangeInput/TimeRangeInput.d.ts.map +1 -0
  64. package/dist/ui/TimeRangeInput/TimeRangeInput.js +57 -0
  65. package/dist/ui/TimeRangeInput/TimeRangeInput.stories.d.ts +45 -0
  66. package/dist/ui/TimeRangeInput/TimeRangeInput.stories.d.ts.map +1 -0
  67. package/dist/ui/TimeRangeInput/TimeRangeInput.stories.js +29 -0
  68. package/dist/ui/TimeRangeInput/TimeRangeInput.stories.sources.d.ts +8 -0
  69. package/dist/ui/TimeRangeInput/TimeRangeInput.stories.sources.d.ts.map +1 -0
  70. package/dist/ui/TimeRangeInput/TimeRangeInput.stories.sources.js +8 -0
  71. package/dist/ui/TimeRangeInput/TimeRangeInput.styles.d.ts +33 -0
  72. package/dist/ui/TimeRangeInput/TimeRangeInput.styles.d.ts.map +1 -0
  73. package/dist/ui/TimeRangeInput/TimeRangeInput.styles.js +29 -0
  74. package/dist/ui/TimeRangeInput/index.d.ts +2 -0
  75. package/dist/ui/TimeRangeInput/index.d.ts.map +1 -0
  76. package/dist/ui/TimeRangeInput/index.js +1 -0
  77. package/dist/ui/index.d.ts +3 -0
  78. package/dist/ui/index.d.ts.map +1 -1
  79. package/dist/ui/index.js +3 -0
  80. package/package.json +16 -11
@@ -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,+EAuBjB,CAAC"}
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 champ = { ...fieldProps, inputId: useFieldId() };
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,2 @@
1
+ export * from './TimeRangeInput';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -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';
@@ -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';
@@ -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,7 +1,12 @@
1
1
  {
2
2
  "name": "@alveole/components",
3
- "version": "2.0.0-alpha.25",
3
+ "version": "2.0.0-alpha.28",
4
4
  "description": "Shared UI components.",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/captive-studio/alveole-js.git",
8
+ "directory": "packages/components"
9
+ },
5
10
  "main": "dist/index.js",
6
11
  "types": "dist/index.d.ts",
7
12
  "exports": {
@@ -28,24 +33,24 @@
28
33
  "@react-native-community/datetimepicker": "9.2.1",
29
34
  "@react-native/jest-preset": "0.88.0",
30
35
  "@shopify/flash-list": "2.3.2",
31
- "@tamagui/core": "3.1.10",
32
- "@tamagui/toast": "3.1.10",
36
+ "@tamagui/core": "3.2.4",
37
+ "@tamagui/toast": "3.2.4",
33
38
  "@testing-library/react": "16.3.3",
34
39
  "@testing-library/react-native": "14.1.0",
35
40
  "@types/react-syntax-highlighter": "15.5.13",
36
41
  "babel-preset-expo": "58.0.20",
37
42
  "eslint": "10.14.0",
38
- "expo": "58.0.22",
43
+ "expo": "58.0.25",
39
44
  "expo-application": "58.1.2",
40
- "expo-asset": "58.0.20",
41
- "expo-document-picker": "58.0.4",
45
+ "expo-asset": "58.0.21",
46
+ "expo-document-picker": "58.0.5",
42
47
  "expo-image-picker": "58.0.10",
43
48
  "expo-in-app-updates": "0.13.0",
44
- "expo-linear-gradient": "58.0.3",
45
- "expo-modules-core": "58.0.29",
46
- "expo-router": "58.0.29",
49
+ "expo-linear-gradient": "58.0.4",
50
+ "expo-modules-core": "58.0.30",
51
+ "expo-router": "58.0.30",
47
52
  "expo-system-ui": "58.0.7",
48
- "expo-web-browser": "58.0.7",
53
+ "expo-web-browser": "58.0.8",
49
54
  "jest": "29.7.0",
50
55
  "jest-environment-jsdom": "30.5.2",
51
56
  "jest-expo": "58.0.12",
@@ -58,7 +63,7 @@
58
63
  "react-native-web": "0.21.4",
59
64
  "react-select": "5.10.2",
60
65
  "react-syntax-highlighter": "16.1.2",
61
- "tamagui": "3.1.10",
66
+ "tamagui": "3.2.4",
62
67
  "test-renderer": "1.3.1"
63
68
  },
64
69
  "dependencies": {