@alveole/components 0.22.1 → 0.23.1

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 (113) hide show
  1. package/dist/core/Map/Map.d.ts +3 -0
  2. package/dist/core/Map/Map.d.ts.map +1 -0
  3. package/dist/core/Map/Map.js +5 -0
  4. package/dist/core/Map/Map.props.d.ts +57 -0
  5. package/dist/core/Map/Map.props.d.ts.map +1 -0
  6. package/dist/core/Map/Map.props.js +18 -0
  7. package/dist/core/Map/Map.stories.d.ts +38 -0
  8. package/dist/core/Map/Map.stories.d.ts.map +1 -0
  9. package/dist/core/Map/Map.stories.js +30 -0
  10. package/dist/core/Map/Map.styles.d.ts +9 -0
  11. package/dist/core/Map/Map.styles.d.ts.map +1 -0
  12. package/dist/core/Map/Map.styles.js +9 -0
  13. package/dist/core/Map/Map.web.d.ts +12 -0
  14. package/dist/core/Map/Map.web.d.ts.map +1 -0
  15. package/dist/core/Map/Map.web.js +134 -0
  16. package/dist/core/Map/index.d.ts +3 -0
  17. package/dist/core/Map/index.d.ts.map +1 -0
  18. package/dist/core/Map/index.js +2 -0
  19. package/dist/core/Metabase/Metabase.d.ts +1 -9
  20. package/dist/core/Metabase/Metabase.d.ts.map +1 -1
  21. package/dist/core/Metabase/Metabase.props.d.ts +10 -0
  22. package/dist/core/Metabase/Metabase.props.d.ts.map +1 -0
  23. package/dist/core/Metabase/Metabase.props.js +1 -0
  24. package/dist/core/Metabase/Metabase.stories.d.ts +1 -1
  25. package/dist/core/Metabase/Metabase.web.d.ts +1 -6
  26. package/dist/core/Metabase/Metabase.web.d.ts.map +1 -1
  27. package/dist/core/Page/PageContentScrollable.d.ts +1 -1
  28. package/dist/core/PdfViewer/PdfViewer.d.ts +3 -0
  29. package/dist/core/PdfViewer/PdfViewer.d.ts.map +1 -0
  30. package/dist/core/PdfViewer/PdfViewer.js +8 -0
  31. package/dist/core/PdfViewer/PdfViewer.props.d.ts +9 -0
  32. package/dist/core/PdfViewer/PdfViewer.props.d.ts.map +1 -0
  33. package/dist/core/PdfViewer/PdfViewer.props.js +1 -0
  34. package/dist/core/PdfViewer/PdfViewer.stories.d.ts +13 -0
  35. package/dist/core/PdfViewer/PdfViewer.stories.d.ts.map +1 -0
  36. package/dist/core/PdfViewer/PdfViewer.stories.js +16 -0
  37. package/dist/core/PdfViewer/PdfViewer.styles.d.ts +2 -0
  38. package/dist/core/PdfViewer/PdfViewer.styles.d.ts.map +1 -0
  39. package/dist/core/PdfViewer/PdfViewer.styles.js +2 -0
  40. package/dist/core/PdfViewer/PdfViewer.web.d.ts +3 -0
  41. package/dist/core/PdfViewer/PdfViewer.web.d.ts.map +1 -0
  42. package/dist/core/PdfViewer/PdfViewer.web.js +6 -0
  43. package/dist/core/PdfViewer/index.d.ts +3 -0
  44. package/dist/core/PdfViewer/index.d.ts.map +1 -0
  45. package/dist/core/PdfViewer/index.js +2 -0
  46. package/dist/core/index.d.ts +2 -0
  47. package/dist/core/index.d.ts.map +1 -1
  48. package/dist/core/index.js +2 -0
  49. package/dist/stories/index.d.ts +5 -0
  50. package/dist/stories/index.d.ts.map +1 -1
  51. package/dist/stories/index.js +5 -0
  52. package/dist/ui/Badge/Badge.d.ts +9 -0
  53. package/dist/ui/Badge/Badge.d.ts.map +1 -0
  54. package/dist/ui/Badge/Badge.js +34 -0
  55. package/dist/ui/Badge/Badge.stories.d.ts +67 -0
  56. package/dist/ui/Badge/Badge.stories.d.ts.map +1 -0
  57. package/dist/ui/Badge/Badge.stories.js +16 -0
  58. package/dist/ui/Badge/Badge.styles.d.ts +55 -0
  59. package/dist/ui/Badge/Badge.styles.d.ts.map +1 -0
  60. package/dist/ui/Badge/Badge.styles.js +49 -0
  61. package/dist/ui/Badge/index.d.ts +2 -0
  62. package/dist/ui/Badge/index.d.ts.map +1 -0
  63. package/dist/ui/Badge/index.js +1 -0
  64. package/dist/ui/Button/Button.d.ts.map +1 -1
  65. package/dist/ui/Button/Button.js +10 -2
  66. package/dist/ui/Button/Button.stories.d.ts +13 -0
  67. package/dist/ui/Button/Button.stories.d.ts.map +1 -1
  68. package/dist/ui/Button/Button.styles.d.ts +13 -0
  69. package/dist/ui/Button/Button.styles.d.ts.map +1 -1
  70. package/dist/ui/Button/Button.styles.js +13 -0
  71. package/dist/ui/Sidebar/Sidebar.d.ts +11 -0
  72. package/dist/ui/Sidebar/Sidebar.d.ts.map +1 -0
  73. package/dist/ui/Sidebar/Sidebar.js +30 -0
  74. package/dist/ui/Sidebar/Sidebar.stories.d.ts +182 -0
  75. package/dist/ui/Sidebar/Sidebar.stories.d.ts.map +1 -0
  76. package/dist/ui/Sidebar/Sidebar.stories.js +27 -0
  77. package/dist/ui/Sidebar/Sidebar.styles.d.ts +172 -0
  78. package/dist/ui/Sidebar/Sidebar.styles.d.ts.map +1 -0
  79. package/dist/ui/Sidebar/Sidebar.styles.js +148 -0
  80. package/dist/ui/Sidebar/SidebarFooter.d.ts +4 -0
  81. package/dist/ui/Sidebar/SidebarFooter.d.ts.map +1 -0
  82. package/dist/ui/Sidebar/SidebarFooter.js +7 -0
  83. package/dist/ui/Sidebar/SidebarGroup.d.ts +6 -0
  84. package/dist/ui/Sidebar/SidebarGroup.d.ts.map +1 -0
  85. package/dist/ui/Sidebar/SidebarGroup.js +20 -0
  86. package/dist/ui/Sidebar/SidebarHeader.d.ts +8 -0
  87. package/dist/ui/Sidebar/SidebarHeader.d.ts.map +1 -0
  88. package/dist/ui/Sidebar/SidebarHeader.js +26 -0
  89. package/dist/ui/Sidebar/SidebarItem.d.ts +19 -0
  90. package/dist/ui/Sidebar/SidebarItem.d.ts.map +1 -0
  91. package/dist/ui/Sidebar/SidebarItem.js +48 -0
  92. package/dist/ui/Sidebar/index.d.ts +4 -1
  93. package/dist/ui/Sidebar/index.d.ts.map +1 -1
  94. package/dist/ui/Sidebar/index.js +4 -1
  95. package/dist/ui/Tag/Tag.d.ts +10 -0
  96. package/dist/ui/Tag/Tag.d.ts.map +1 -0
  97. package/dist/ui/Tag/Tag.js +17 -0
  98. package/dist/ui/Tag/Tag.stories.d.ts +48 -0
  99. package/dist/ui/Tag/Tag.stories.d.ts.map +1 -0
  100. package/dist/ui/Tag/Tag.stories.js +15 -0
  101. package/dist/ui/Tag/Tag.styles.d.ts +37 -0
  102. package/dist/ui/Tag/Tag.styles.d.ts.map +1 -0
  103. package/dist/ui/Tag/Tag.styles.js +33 -0
  104. package/dist/ui/Tag/index.d.ts +2 -0
  105. package/dist/ui/Tag/index.d.ts.map +1 -0
  106. package/dist/ui/Tag/index.js +1 -0
  107. package/dist/ui/ToolbarTop/ToolbarTop.stories.d.ts +1 -0
  108. package/dist/ui/ToolbarTop/ToolbarTop.stories.d.ts.map +1 -1
  109. package/dist/ui/ToolbarTop/ToolbarTop.stories.js +2 -0
  110. package/dist/ui/index.d.ts +3 -0
  111. package/dist/ui/index.d.ts.map +1 -1
  112. package/dist/ui/index.js +3 -0
  113. package/package.json +3 -2
@@ -0,0 +1,182 @@
1
+ declare const _default: {
2
+ title: string;
3
+ tags: ["Composant"];
4
+ experimental: false;
5
+ figmaURL: string;
6
+ description: string;
7
+ component: (props: import("./Sidebar").SidebarProps) => import("react/jsx-runtime").JSX.Element;
8
+ styleFn: () => {
9
+ sidebar: {
10
+ backgroundColor: "#FFFFFF";
11
+ borderRightWidth: number;
12
+ borderColor: "#DEE3EC";
13
+ display: "flex";
14
+ flexDirection: "column";
15
+ alignItems: "flex-start";
16
+ alignSelf: "stretch";
17
+ };
18
+ header: {};
19
+ headerContent: {
20
+ display: "flex";
21
+ flexDirection: "row";
22
+ padding: import("@alveole/theme").Spacing;
23
+ };
24
+ logo: {
25
+ marginLeft: import("@alveole/theme").Spacing;
26
+ };
27
+ sidebarContent: {
28
+ flex: number;
29
+ justifyContent: "space-between";
30
+ width: "100%";
31
+ };
32
+ scrollView: {
33
+ flex: number;
34
+ paddingTop: import("@alveole/theme").Spacing;
35
+ paddingBottom: import("@alveole/theme").Spacing;
36
+ zIndex: number;
37
+ backgroundColor: "#FFFFFF";
38
+ };
39
+ groupTitleDesktop: {
40
+ paddingLeft: import("@alveole/theme").Spacing;
41
+ paddingTop: import("@alveole/theme").Spacing;
42
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
43
+ fontSize: 12;
44
+ lineHeight: 20;
45
+ letterSpacing: 0;
46
+ };
47
+ groupTitleMobile: {
48
+ color: "#5F6571";
49
+ paddingLeft: import("@alveole/theme").Spacing;
50
+ paddingRight: import("@alveole/theme").Spacing;
51
+ paddingTop: import("@alveole/theme").Spacing;
52
+ paddingBottom: import("@alveole/theme").Spacing;
53
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
54
+ fontSize: 16;
55
+ lineHeight: 24;
56
+ letterSpacing: 0;
57
+ };
58
+ sidebarItemDesktop: {
59
+ borderRadius: import("@alveole/theme").Spacing;
60
+ display: "flex";
61
+ flexDirection: "row";
62
+ alignItems: "center";
63
+ gap: import("@alveole/theme").Spacing;
64
+ padding: import("@alveole/theme").Spacing;
65
+ width: "100%";
66
+ color: "#151617";
67
+ stroke: "#151617";
68
+ };
69
+ sidebarItemMobile: {
70
+ display: "flex";
71
+ flexDirection: "row";
72
+ alignItems: "center";
73
+ gap: import("@alveole/theme").Spacing;
74
+ paddingLeft: import("@alveole/theme").Spacing;
75
+ paddingRight: import("@alveole/theme").Spacing;
76
+ paddingTop: import("@alveole/theme").Spacing;
77
+ paddingBottom: import("@alveole/theme").Spacing;
78
+ width: "100%";
79
+ color: "#151617";
80
+ stroke: "#151617";
81
+ };
82
+ sidebarItemSelectedDesktop: {
83
+ backgroundColor: "#EFF1F6";
84
+ };
85
+ sidebarItemSelectedMobile: {
86
+ borderRadius: import("@alveole/theme/dist/constants/Radius").Radius;
87
+ backgroundColor: "#F2F9FF";
88
+ };
89
+ sidebarItemHover: {
90
+ backgroundColor: "#F4F6FA";
91
+ };
92
+ sidebarItemCurrentHover: {
93
+ backgroundColor: "#EFF1F6";
94
+ };
95
+ sidebarItemContainerDesktop: {
96
+ paddingLeft: import("@alveole/theme").Spacing;
97
+ paddingRight: import("@alveole/theme").Spacing;
98
+ display: "flex";
99
+ flexDirection: "row";
100
+ cursor: "pointer";
101
+ marginLeft: import("@alveole/theme").Spacing;
102
+ marginRight: import("@alveole/theme").Spacing;
103
+ };
104
+ sidebarItemContainerMobile: {
105
+ paddingLeft: import("@alveole/theme").Spacing;
106
+ paddingRight: import("@alveole/theme").Spacing;
107
+ paddingTop: import("@alveole/theme").Spacing;
108
+ paddingBottom: import("@alveole/theme").Spacing;
109
+ gap: import("@alveole/theme").Spacing;
110
+ display: "flex";
111
+ flexDirection: "row";
112
+ cursor: "pointer";
113
+ borderRadius: import("@alveole/theme/dist/constants/Radius").Radius;
114
+ marginLeft: import("@alveole/theme").Spacing;
115
+ marginRight: import("@alveole/theme").Spacing;
116
+ };
117
+ sidebarItemTitleSelectedDesktop: {
118
+ color: "#373A3F";
119
+ stroke: "#373A3F";
120
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
121
+ fontSize: 16;
122
+ lineHeight: 24;
123
+ letterSpacing: 0;
124
+ };
125
+ sidebarItemTitleSelectedMobile: {
126
+ color: "#D81B38";
127
+ stroke: "#D81B38";
128
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
129
+ fontSize: 16;
130
+ lineHeight: 24;
131
+ letterSpacing: 0;
132
+ };
133
+ sidebarItemIconSelectedMobile: {
134
+ color: "#D81B38";
135
+ };
136
+ sidebarItemTitleDesktop: {
137
+ color: "#151617";
138
+ stroke: "#151617";
139
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
140
+ fontSize: 16;
141
+ lineHeight: 24;
142
+ letterSpacing: 0;
143
+ };
144
+ sidebarItemTitleMobile: {
145
+ color: "#373A3F";
146
+ stroke: "#373A3F";
147
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
148
+ fontSize: 16;
149
+ lineHeight: 24;
150
+ letterSpacing: 0;
151
+ };
152
+ sidebarItemTitleCurrentHoverDesktop: {
153
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
154
+ fontSize: 16;
155
+ lineHeight: 24;
156
+ letterSpacing: 0;
157
+ };
158
+ sidebarItemTitleCurrentHoverMobile: {
159
+ color: "#002764";
160
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
161
+ fontSize: 16;
162
+ lineHeight: 24;
163
+ letterSpacing: 0;
164
+ };
165
+ sidebarItemSelectedIndicator: {
166
+ height: "100%";
167
+ width: import("@alveole/theme").Spacing;
168
+ position: "absolute";
169
+ left: number;
170
+ };
171
+ sidebarItemSelectedIndicatorContent: {
172
+ width: "100%";
173
+ minHeight: import("@alveole/theme").Spacing;
174
+ backgroundColor: "#0264C7";
175
+ margin: string;
176
+ borderRadius: import("@alveole/theme").Spacing;
177
+ };
178
+ };
179
+ };
180
+ export default _default;
181
+ export declare const ExampleUsage: () => import("react/jsx-runtime").JSX.Element;
182
+ //# sourceMappingURL=Sidebar.stories.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.stories.d.ts","sourceRoot":"","sources":["../../../src/ui/Sidebar/Sidebar.stories.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,wBASkB;AAgBlB,eAAO,MAAM,YAAY,+CAA+C,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Typography } from '../../core';
3
+ import { Sidebar } from './Sidebar';
4
+ import { useStyles } from './Sidebar.styles';
5
+ export default {
6
+ title: 'Sidebar',
7
+ tags: ['Composant'],
8
+ experimental: false,
9
+ figmaURL: 'https://www.figma.com/design/xJz8Z6vfrnZPKTtRbuT2W8/Alveole---Composants?node-id=1328-725',
10
+ description: 'SideNav est un composant de navigation primaire qui permet d’accéder aux principales sections d’une application. Navigation coté droit, se transformant en menu burger sur mobile. Uitliser <SidebarItem> et <SidebarGroup>.',
11
+ component: Sidebar,
12
+ styleFn: useStyles,
13
+ };
14
+ const codeExample = `<Sidebar
15
+ controller={sidebarController}
16
+ logo={<Image source={require('../../assets/logo.png')} />}
17
+ footer={<Button borderNone variant="tertiary" title="Se déconnecter" onPress={onLogout} />}
18
+ >
19
+ <SidebarItem title="Item 1" href="/admin/item-1" routeName="item-1" />
20
+ <SidebarItem title="Item 2" href="/admin/item-2" routeName="item-2" />
21
+
22
+ <SidebarGroup title="Groupe">
23
+ <SidebarItem title="Item group 1" href="/admin/gp-item-2" routeName="gp-item-1" />
24
+ <SidebarItem title="Item group 2" href="/admin/gp-item-2" routeName="gp-item-2" />
25
+ </SidebarGroup>
26
+ </Sidebar>`;
27
+ export const ExampleUsage = () => _jsx(Typography, { children: codeExample });
@@ -0,0 +1,172 @@
1
+ export declare const useStyles: () => {
2
+ sidebar: {
3
+ backgroundColor: "#FFFFFF";
4
+ borderRightWidth: number;
5
+ borderColor: "#DEE3EC";
6
+ display: "flex";
7
+ flexDirection: "column";
8
+ alignItems: "flex-start";
9
+ alignSelf: "stretch";
10
+ };
11
+ header: {};
12
+ headerContent: {
13
+ display: "flex";
14
+ flexDirection: "row";
15
+ padding: import("@alveole/theme").Spacing;
16
+ };
17
+ logo: {
18
+ marginLeft: import("@alveole/theme").Spacing;
19
+ };
20
+ sidebarContent: {
21
+ flex: number;
22
+ justifyContent: "space-between";
23
+ width: "100%";
24
+ };
25
+ scrollView: {
26
+ flex: number;
27
+ paddingTop: import("@alveole/theme").Spacing;
28
+ paddingBottom: import("@alveole/theme").Spacing;
29
+ zIndex: number;
30
+ backgroundColor: "#FFFFFF";
31
+ };
32
+ groupTitleDesktop: {
33
+ paddingLeft: import("@alveole/theme").Spacing;
34
+ paddingTop: import("@alveole/theme").Spacing;
35
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
36
+ fontSize: 12;
37
+ lineHeight: 20;
38
+ letterSpacing: 0;
39
+ };
40
+ groupTitleMobile: {
41
+ color: "#5F6571";
42
+ paddingLeft: import("@alveole/theme").Spacing;
43
+ paddingRight: import("@alveole/theme").Spacing;
44
+ paddingTop: import("@alveole/theme").Spacing;
45
+ paddingBottom: import("@alveole/theme").Spacing;
46
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
47
+ fontSize: 16;
48
+ lineHeight: 24;
49
+ letterSpacing: 0;
50
+ };
51
+ sidebarItemDesktop: {
52
+ borderRadius: import("@alveole/theme").Spacing;
53
+ display: "flex";
54
+ flexDirection: "row";
55
+ alignItems: "center";
56
+ gap: import("@alveole/theme").Spacing;
57
+ padding: import("@alveole/theme").Spacing;
58
+ width: "100%";
59
+ color: "#151617";
60
+ stroke: "#151617";
61
+ };
62
+ sidebarItemMobile: {
63
+ display: "flex";
64
+ flexDirection: "row";
65
+ alignItems: "center";
66
+ gap: import("@alveole/theme").Spacing;
67
+ paddingLeft: import("@alveole/theme").Spacing;
68
+ paddingRight: import("@alveole/theme").Spacing;
69
+ paddingTop: import("@alveole/theme").Spacing;
70
+ paddingBottom: import("@alveole/theme").Spacing;
71
+ width: "100%";
72
+ color: "#151617";
73
+ stroke: "#151617";
74
+ };
75
+ sidebarItemSelectedDesktop: {
76
+ backgroundColor: "#EFF1F6";
77
+ };
78
+ sidebarItemSelectedMobile: {
79
+ borderRadius: import("@alveole/theme/dist/constants/Radius").Radius;
80
+ backgroundColor: "#F2F9FF";
81
+ };
82
+ sidebarItemHover: {
83
+ backgroundColor: "#F4F6FA";
84
+ };
85
+ sidebarItemCurrentHover: {
86
+ backgroundColor: "#EFF1F6";
87
+ };
88
+ sidebarItemContainerDesktop: {
89
+ paddingLeft: import("@alveole/theme").Spacing;
90
+ paddingRight: import("@alveole/theme").Spacing;
91
+ display: "flex";
92
+ flexDirection: "row";
93
+ cursor: "pointer";
94
+ marginLeft: import("@alveole/theme").Spacing;
95
+ marginRight: import("@alveole/theme").Spacing;
96
+ };
97
+ sidebarItemContainerMobile: {
98
+ paddingLeft: import("@alveole/theme").Spacing;
99
+ paddingRight: import("@alveole/theme").Spacing;
100
+ paddingTop: import("@alveole/theme").Spacing;
101
+ paddingBottom: import("@alveole/theme").Spacing;
102
+ gap: import("@alveole/theme").Spacing;
103
+ display: "flex";
104
+ flexDirection: "row";
105
+ cursor: "pointer";
106
+ borderRadius: import("@alveole/theme/dist/constants/Radius").Radius;
107
+ marginLeft: import("@alveole/theme").Spacing;
108
+ marginRight: import("@alveole/theme").Spacing;
109
+ };
110
+ sidebarItemTitleSelectedDesktop: {
111
+ color: "#373A3F";
112
+ stroke: "#373A3F";
113
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
114
+ fontSize: 16;
115
+ lineHeight: 24;
116
+ letterSpacing: 0;
117
+ };
118
+ sidebarItemTitleSelectedMobile: {
119
+ color: "#D81B38";
120
+ stroke: "#D81B38";
121
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
122
+ fontSize: 16;
123
+ lineHeight: 24;
124
+ letterSpacing: 0;
125
+ };
126
+ sidebarItemIconSelectedMobile: {
127
+ color: "#D81B38";
128
+ };
129
+ sidebarItemTitleDesktop: {
130
+ color: "#151617";
131
+ stroke: "#151617";
132
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
133
+ fontSize: 16;
134
+ lineHeight: 24;
135
+ letterSpacing: 0;
136
+ };
137
+ sidebarItemTitleMobile: {
138
+ color: "#373A3F";
139
+ stroke: "#373A3F";
140
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
141
+ fontSize: 16;
142
+ lineHeight: 24;
143
+ letterSpacing: 0;
144
+ };
145
+ sidebarItemTitleCurrentHoverDesktop: {
146
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
147
+ fontSize: 16;
148
+ lineHeight: 24;
149
+ letterSpacing: 0;
150
+ };
151
+ sidebarItemTitleCurrentHoverMobile: {
152
+ color: "#002764";
153
+ fontFamily: "Barlow-Light" | "Barlow-Regular" | "Barlow-Medium" | "Barlow-SemiBold" | "Barlow-Bold" | "Inter-Light" | "Inter-Regular" | "Inter-Medium" | "Inter-SemiBold" | "Inter-Bold";
154
+ fontSize: 16;
155
+ lineHeight: 24;
156
+ letterSpacing: 0;
157
+ };
158
+ sidebarItemSelectedIndicator: {
159
+ height: "100%";
160
+ width: import("@alveole/theme").Spacing;
161
+ position: "absolute";
162
+ left: number;
163
+ };
164
+ sidebarItemSelectedIndicatorContent: {
165
+ width: "100%";
166
+ minHeight: import("@alveole/theme").Spacing;
167
+ backgroundColor: "#0264C7";
168
+ margin: string;
169
+ borderRadius: import("@alveole/theme").Spacing;
170
+ };
171
+ };
172
+ //# sourceMappingURL=Sidebar.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Sidebar.styles.d.ts","sourceRoot":"","sources":["../../../src/ui/Sidebar/Sidebar.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoJnB,CAAC"}
@@ -0,0 +1,148 @@
1
+ import { Colors, makeStyles } from '@alveole/theme';
2
+ export const useStyles = makeStyles(({ text, color, spacing, isVariant, radius }) => ({
3
+ sidebar: {
4
+ backgroundColor: '#FFFFFF',
5
+ borderRightWidth: 1,
6
+ borderColor: color.light.border['default-grey'],
7
+ display: 'flex',
8
+ flexDirection: 'column',
9
+ alignItems: 'flex-start',
10
+ alignSelf: 'stretch',
11
+ },
12
+ header: {},
13
+ headerContent: {
14
+ display: 'flex',
15
+ flexDirection: 'row',
16
+ padding: spacing('050'),
17
+ },
18
+ logo: {
19
+ marginLeft: isVariant('mobile') || isVariant('tablet') ? spacing('150') : 0,
20
+ },
21
+ sidebarContent: {
22
+ flex: 1,
23
+ justifyContent: 'space-between',
24
+ width: '100%',
25
+ },
26
+ scrollView: {
27
+ flex: 1,
28
+ paddingTop: spacing('100'),
29
+ paddingBottom: spacing('100'),
30
+ zIndex: 1000,
31
+ backgroundColor: '#FFFFFF',
32
+ },
33
+ groupTitleDesktop: {
34
+ ...text['Corps de texte'].XS.SemiBold,
35
+ paddingLeft: spacing('050'),
36
+ paddingTop: spacing('100'),
37
+ },
38
+ groupTitleMobile: {
39
+ ...text['Corps de texte'].MD.Medium,
40
+ color: color.light.text['mention-grey'],
41
+ paddingLeft: spacing('3V'),
42
+ paddingRight: spacing('3V'),
43
+ paddingTop: spacing('2W'),
44
+ paddingBottom: spacing('2W'),
45
+ },
46
+ sidebarItemDesktop: {
47
+ borderRadius: spacing('050'),
48
+ display: 'flex',
49
+ flexDirection: 'row',
50
+ alignItems: 'center',
51
+ gap: spacing('050'),
52
+ padding: spacing('050'),
53
+ width: '100%',
54
+ color: color.light.text['title-grey'],
55
+ stroke: color.light.text['title-grey'],
56
+ },
57
+ sidebarItemMobile: {
58
+ display: 'flex',
59
+ flexDirection: 'row',
60
+ alignItems: 'center',
61
+ gap: spacing('3V'),
62
+ paddingLeft: spacing('2W'),
63
+ paddingRight: spacing('2W'),
64
+ paddingTop: spacing('2W'),
65
+ paddingBottom: spacing('2W'),
66
+ width: '100%',
67
+ color: color.light.text['title-grey'],
68
+ stroke: color.light.text['title-grey'],
69
+ },
70
+ sidebarItemSelectedDesktop: {
71
+ backgroundColor: color.background.badge.default,
72
+ },
73
+ sidebarItemSelectedMobile: {
74
+ borderRadius: radius('lg'),
75
+ backgroundColor: color.light.background['alt-primary'],
76
+ },
77
+ sidebarItemHover: {
78
+ backgroundColor: color.light.background['default-grey-hover'],
79
+ },
80
+ sidebarItemCurrentHover: {
81
+ backgroundColor: Colors.Neutre[950],
82
+ },
83
+ sidebarItemContainerDesktop: {
84
+ paddingLeft: spacing('050'),
85
+ paddingRight: spacing('050'),
86
+ display: 'flex',
87
+ flexDirection: 'row',
88
+ cursor: 'pointer',
89
+ marginLeft: spacing('075'),
90
+ marginRight: spacing('025'),
91
+ },
92
+ sidebarItemContainerMobile: {
93
+ paddingLeft: spacing('2W'),
94
+ paddingRight: spacing('2W'),
95
+ paddingTop: spacing('2W'),
96
+ paddingBottom: spacing('2W'),
97
+ gap: spacing('3V'),
98
+ display: 'flex',
99
+ flexDirection: 'row',
100
+ cursor: 'pointer',
101
+ borderRadius: radius('md'),
102
+ marginLeft: spacing('075'),
103
+ marginRight: spacing('025'),
104
+ },
105
+ sidebarItemTitleSelectedDesktop: {
106
+ ...text['Corps de texte'].MD.SemiBold,
107
+ color: color.light.text['default-grey'],
108
+ stroke: color.light.text['default-grey'],
109
+ },
110
+ sidebarItemTitleSelectedMobile: {
111
+ ...text['Corps de texte'].MD.Medium,
112
+ color: '#D81B38',
113
+ stroke: '#D81B38',
114
+ },
115
+ sidebarItemIconSelectedMobile: {
116
+ color: '#D81B38',
117
+ },
118
+ sidebarItemTitleDesktop: {
119
+ ...text['Corps de texte'].MD.Regular,
120
+ color: color.light.text['title-grey'],
121
+ stroke: color.light.text['title-grey'],
122
+ },
123
+ sidebarItemTitleMobile: {
124
+ ...text['Corps de texte'].MD.Medium,
125
+ color: color.light.text['default-grey'],
126
+ stroke: color.light.text['default-grey'],
127
+ },
128
+ sidebarItemTitleCurrentHoverDesktop: {
129
+ ...text['Corps de texte'].MD.SemiBold,
130
+ },
131
+ sidebarItemTitleCurrentHoverMobile: {
132
+ ...text['Corps de texte'].MD.Medium,
133
+ color: color.light.background['action-high-primary'],
134
+ },
135
+ sidebarItemSelectedIndicator: {
136
+ height: '100%',
137
+ width: spacing('025'),
138
+ position: 'absolute',
139
+ left: 0,
140
+ },
141
+ sidebarItemSelectedIndicatorContent: {
142
+ width: '100%',
143
+ minHeight: spacing('150'),
144
+ backgroundColor: color.light.border['default-primary'],
145
+ margin: 'auto',
146
+ borderRadius: spacing('050'),
147
+ },
148
+ }));
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export type SidebarFooterProps = React.PropsWithChildren;
3
+ export declare const SidebarFooter: (props: SidebarFooterProps) => import("react/jsx-runtime").JSX.Element;
4
+ //# sourceMappingURL=SidebarFooter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarFooter.d.ts","sourceRoot":"","sources":["../../../src/ui/Sidebar/SidebarFooter.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,iBAAiB,CAAC;AAEzD,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,4CAYtD,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Version } from '../../core';
3
+ import { Divider } from '../Divider';
4
+ export const SidebarFooter = (props) => {
5
+ const { children } = props;
6
+ return (_jsxs(Box, { children: [_jsx(Version, {}), _jsx(Divider, {}), children] }));
7
+ };
@@ -0,0 +1,6 @@
1
+ import React from 'react';
2
+ export type SidebarGroupProps = React.PropsWithChildren & {
3
+ title: string;
4
+ };
5
+ export declare const SidebarGroup: (props: SidebarGroupProps) => import("react/jsx-runtime").JSX.Element;
6
+ //# sourceMappingURL=SidebarGroup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarGroup.d.ts","sourceRoot":"","sources":["../../../src/ui/Sidebar/SidebarGroup.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,MAAM,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,GAAG;IACxD,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AA4BF,eAAO,MAAM,YAAY,GAAI,OAAO,iBAAiB,4CAIpD,CAAC"}
@@ -0,0 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useTheme } from '@alveole/theme';
3
+ import React from 'react';
4
+ import { Box, Typography } from '../../core';
5
+ import { useStyles } from './Sidebar.styles';
6
+ const SidebarGroupDesktop = (props) => {
7
+ const { children, title } = props;
8
+ const styles = useStyles();
9
+ return (_jsxs(Box, { tag: "sidebar-group", children: [_jsx(Typography, { style: styles.groupTitleDesktop, children: title }), children] }));
10
+ };
11
+ const SidebarGroupMobile = (props) => {
12
+ const { children, title } = props;
13
+ const styles = useStyles();
14
+ return (_jsxs(Box, { tag: "sidebar-group", children: [_jsx(Typography, { style: styles.groupTitleMobile, children: title }), children] }));
15
+ };
16
+ export const SidebarGroup = (props) => {
17
+ const { isVariant } = useTheme();
18
+ const mobileOrTablet = React.useMemo(() => isVariant('mobile') || isVariant('tablet'), [isVariant]);
19
+ return mobileOrTablet ? _jsx(SidebarGroupMobile, { ...props }) : _jsx(SidebarGroupDesktop, { ...props });
20
+ };
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ import { SidebarController } from './useSidebar';
3
+ export type SidebarHeaderProps = {
4
+ controller?: SidebarController;
5
+ logo: React.ReactNode;
6
+ };
7
+ export declare const SidebarHeader: (props: SidebarHeaderProps) => import("react/jsx-runtime").JSX.Element;
8
+ //# sourceMappingURL=SidebarHeader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarHeader.d.ts","sourceRoot":"","sources":["../../../src/ui/Sidebar/SidebarHeader.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,iBAAiB,CAAC;IAC/B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;CACvB,CAAC;AAiCF,eAAO,MAAM,aAAa,GAAI,OAAO,kBAAkB,4CAKtD,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useTheme } from '@alveole/theme';
3
+ import React from 'react';
4
+ import { Platform } from 'react-native';
5
+ import { useSafeAreaInsets } from 'react-native-safe-area-context';
6
+ import { Box } from '../../core';
7
+ import { ButtonIcon } from '../Button';
8
+ import { Divider } from '../Divider';
9
+ import { useStyles } from './Sidebar.styles';
10
+ const SidebarHeaderDesktop = (props) => {
11
+ const { logo } = props;
12
+ const styles = useStyles();
13
+ return (_jsxs(Box, { tag: "sidebar-header", style: styles.header, children: [_jsx(Box, { style: styles.headerContent, children: _jsx(Box, { flex: 1, children: logo }) }), _jsx(Divider, {})] }));
14
+ };
15
+ const SidebarHeaderMobile = (props) => {
16
+ const { controller } = props;
17
+ const styles = useStyles();
18
+ const { top } = useSafeAreaInsets();
19
+ return (_jsxs(Box, { tag: "sidebar-header", style: styles.header, children: [_jsxs(Box, { style: styles.headerContent, pt: (Platform.OS === 'android' ? top : 0) + styles.headerContent.padding, children: [_jsx(Box, { flex: 1 }), _jsx(ButtonIcon, { icon: "X", variant: "tertiary", onPress: () => controller?.setOpen(false) })] }), _jsx(Divider, {})] }));
20
+ };
21
+ export const SidebarHeader = (props) => {
22
+ const { isVariant } = useTheme();
23
+ const { logo } = props;
24
+ const mobileOrTablet = React.useMemo(() => isVariant('mobile') || isVariant('tablet'), [isVariant]);
25
+ return mobileOrTablet ? _jsx(SidebarHeaderMobile, { ...props }) : _jsx(SidebarHeaderDesktop, { logo: logo });
26
+ };
@@ -0,0 +1,19 @@
1
+ import { AProps } from '../../core';
2
+ import { LucideIconProps } from '../LucideIcon';
3
+ export type SidebarItemNavigable = {
4
+ pressable?: undefined;
5
+ title: string;
6
+ icon?: LucideIconProps['name'];
7
+ href: AProps['href'];
8
+ direction?: AProps['direction'];
9
+ routeName: string;
10
+ };
11
+ export type SidebarItemPressable = {
12
+ pressable: true;
13
+ title: string;
14
+ icon?: LucideIconProps['name'];
15
+ onPress: () => void;
16
+ };
17
+ export type SidebarItemProps = SidebarItemNavigable | SidebarItemPressable;
18
+ export declare const SidebarItem: (props: SidebarItemProps) => import("react/jsx-runtime").JSX.Element;
19
+ //# sourceMappingURL=SidebarItem.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SidebarItem.d.ts","sourceRoot":"","sources":["../../../src/ui/Sidebar/SidebarItem.tsx"],"names":[],"mappings":"AAGA,OAAO,EAAK,MAAM,EAAmB,MAAM,YAAY,CAAC;AACxD,OAAO,EAAc,eAAe,EAAE,MAAM,eAAe,CAAC;AAG5D,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AA0G3E,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,4CAIlD,CAAC"}