design-zystem 1.0.240 → 1.0.241

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/index.d.mts CHANGED
@@ -890,6 +890,15 @@ interface SpinnerProps {
890
890
  }
891
891
  declare const Spinner: ({ size, color }: SpinnerProps) => react_jsx_runtime.JSX.Element;
892
892
 
893
+ interface EmptyStateProps {
894
+ icon?: string;
895
+ title?: string;
896
+ description?: string;
897
+ actionLabel?: string;
898
+ onAction?: () => void;
899
+ }
900
+ declare const EmptyState: ({ icon, title, description, actionLabel, onAction, }: EmptyStateProps) => react_jsx_runtime.JSX.Element;
901
+
893
902
  /**
894
903
  * formatDate(date, type?, language?)
895
904
  * - language : fr/en/es/... (locale inferred), default "en"
@@ -936,4 +945,4 @@ interface OptimizeImageOptions {
936
945
  }
937
946
  declare const optimizeImage: (file: File | null | undefined, desiredBaseName: string, opts?: OptimizeImageOptions) => Promise<OptimizeImageResult>;
938
947
 
939
- export { Accordion, type AccordionItem, Avatar, Box, Bubble, Bulk, Button, CardSkeleton, Checkbox, Col, Collapse, ColorPicker, DatePicker, Divider, Drawer, FileUploadZone, Grid, Icon, IconTabs, Image, Input, Link, List, ListItem, MetricCard, Modal, ModalConfirmation, MultiSelect, NewModal, Options, PageContainer, Pagination, Popover, Radio, Row, Select, type SelectOption, type SelectProps, SkeletonRow, SliderInput, type SortOrder, Spinner, Stepper, Switch, Table, TableBody, TableCell, TableFooter, TableFooterCell, TableFooterRow, TableHeader, TableHeaderCell, type TableHeaderCellProps, TableHeaderRow, TableRow, Tabs, TagBubble, Text, Tooltip, colors, formatDate, formatDistance, formatDuration, optimizeImage, truncateFileName, truncateText };
948
+ export { Accordion, type AccordionItem, Avatar, Box, Bubble, Bulk, Button, CardSkeleton, Checkbox, Col, Collapse, ColorPicker, DatePicker, Divider, Drawer, EmptyState, FileUploadZone, Grid, Icon, IconTabs, Image, Input, Link, List, ListItem, MetricCard, Modal, ModalConfirmation, MultiSelect, NewModal, Options, PageContainer, Pagination, Popover, Radio, Row, Select, type SelectOption, type SelectProps, SkeletonRow, SliderInput, type SortOrder, Spinner, Stepper, Switch, Table, TableBody, TableCell, TableFooter, TableFooterCell, TableFooterRow, TableHeader, TableHeaderCell, type TableHeaderCellProps, TableHeaderRow, TableRow, Tabs, TagBubble, Text, Tooltip, colors, formatDate, formatDistance, formatDuration, optimizeImage, truncateFileName, truncateText };
package/dist/index.d.ts CHANGED
@@ -890,6 +890,15 @@ interface SpinnerProps {
890
890
  }
891
891
  declare const Spinner: ({ size, color }: SpinnerProps) => react_jsx_runtime.JSX.Element;
892
892
 
893
+ interface EmptyStateProps {
894
+ icon?: string;
895
+ title?: string;
896
+ description?: string;
897
+ actionLabel?: string;
898
+ onAction?: () => void;
899
+ }
900
+ declare const EmptyState: ({ icon, title, description, actionLabel, onAction, }: EmptyStateProps) => react_jsx_runtime.JSX.Element;
901
+
893
902
  /**
894
903
  * formatDate(date, type?, language?)
895
904
  * - language : fr/en/es/... (locale inferred), default "en"
@@ -936,4 +945,4 @@ interface OptimizeImageOptions {
936
945
  }
937
946
  declare const optimizeImage: (file: File | null | undefined, desiredBaseName: string, opts?: OptimizeImageOptions) => Promise<OptimizeImageResult>;
938
947
 
939
- export { Accordion, type AccordionItem, Avatar, Box, Bubble, Bulk, Button, CardSkeleton, Checkbox, Col, Collapse, ColorPicker, DatePicker, Divider, Drawer, FileUploadZone, Grid, Icon, IconTabs, Image, Input, Link, List, ListItem, MetricCard, Modal, ModalConfirmation, MultiSelect, NewModal, Options, PageContainer, Pagination, Popover, Radio, Row, Select, type SelectOption, type SelectProps, SkeletonRow, SliderInput, type SortOrder, Spinner, Stepper, Switch, Table, TableBody, TableCell, TableFooter, TableFooterCell, TableFooterRow, TableHeader, TableHeaderCell, type TableHeaderCellProps, TableHeaderRow, TableRow, Tabs, TagBubble, Text, Tooltip, colors, formatDate, formatDistance, formatDuration, optimizeImage, truncateFileName, truncateText };
948
+ export { Accordion, type AccordionItem, Avatar, Box, Bubble, Bulk, Button, CardSkeleton, Checkbox, Col, Collapse, ColorPicker, DatePicker, Divider, Drawer, EmptyState, FileUploadZone, Grid, Icon, IconTabs, Image, Input, Link, List, ListItem, MetricCard, Modal, ModalConfirmation, MultiSelect, NewModal, Options, PageContainer, Pagination, Popover, Radio, Row, Select, type SelectOption, type SelectProps, SkeletonRow, SliderInput, type SortOrder, Spinner, Stepper, Switch, Table, TableBody, TableCell, TableFooter, TableFooterCell, TableFooterRow, TableHeader, TableHeaderCell, type TableHeaderCellProps, TableHeaderRow, TableRow, Tabs, TagBubble, Text, Tooltip, colors, formatDate, formatDistance, formatDuration, optimizeImage, truncateFileName, truncateText };
package/dist/index.js CHANGED
@@ -73,6 +73,7 @@ __export(index_exports, {
73
73
  DatePicker: () => DatePicker,
74
74
  Divider: () => Divider,
75
75
  Drawer: () => Drawer,
76
+ EmptyState: () => EmptyState,
76
77
  FileUploadZone: () => FileUploadZone,
77
78
  Grid: () => Grid,
78
79
  Icon: () => Icon,
@@ -5156,6 +5157,35 @@ var Spinner = ({ size = "m", color = "primary" }) => {
5156
5157
  );
5157
5158
  };
5158
5159
 
5160
+ // src/Components/EmptyState/EmptyState.tsx
5161
+ var import_jsx_runtime55 = require("react/jsx-runtime");
5162
+ var EmptyState = ({
5163
+ icon = "inbox",
5164
+ title = "Aucun r\xE9sultat",
5165
+ description = "Aucun \xE9l\xE9ment \xE0 afficher pour le moment.",
5166
+ actionLabel,
5167
+ onAction
5168
+ }) => {
5169
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(
5170
+ Col,
5171
+ {
5172
+ fullWidth: true,
5173
+ alignItems: "center",
5174
+ justifyContent: "center",
5175
+ gap: "24",
5176
+ padding: "24px 16px",
5177
+ children: [
5178
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Icon, { name: icon, family: "solid", size: "xxl", color: "grey_300" }),
5179
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsxs)(Col, { alignItems: "center", gap: "4", style: { maxWidth: "360px" }, children: [
5180
+ /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Text, { size: "m", weight: "600", variant: "grey_600", align: "center", children: title }),
5181
+ description && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Text, { size: "s", variant: "grey_500", align: "center", children: description })
5182
+ ] }),
5183
+ actionLabel && onAction && /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(Button, { label: actionLabel, onClick: onAction })
5184
+ ]
5185
+ }
5186
+ );
5187
+ };
5188
+
5159
5189
  // src/data/globalMethods.ts
5160
5190
  var formatDate = (dateString, type = "date", language = "en") => {
5161
5191
  if (!dateString) return "";
@@ -5415,6 +5445,7 @@ var optimizeImage_default = optimizeImage;
5415
5445
  DatePicker,
5416
5446
  Divider,
5417
5447
  Drawer,
5448
+ EmptyState,
5418
5449
  FileUploadZone,
5419
5450
  Grid,
5420
5451
  Icon,
package/dist/index.mjs CHANGED
@@ -5078,6 +5078,35 @@ var Spinner = ({ size = "m", color = "primary" }) => {
5078
5078
  );
5079
5079
  };
5080
5080
 
5081
+ // src/Components/EmptyState/EmptyState.tsx
5082
+ import { jsx as jsx55, jsxs as jsxs29 } from "react/jsx-runtime";
5083
+ var EmptyState = ({
5084
+ icon = "inbox",
5085
+ title = "Aucun r\xE9sultat",
5086
+ description = "Aucun \xE9l\xE9ment \xE0 afficher pour le moment.",
5087
+ actionLabel,
5088
+ onAction
5089
+ }) => {
5090
+ return /* @__PURE__ */ jsxs29(
5091
+ Col,
5092
+ {
5093
+ fullWidth: true,
5094
+ alignItems: "center",
5095
+ justifyContent: "center",
5096
+ gap: "24",
5097
+ padding: "24px 16px",
5098
+ children: [
5099
+ /* @__PURE__ */ jsx55(Icon, { name: icon, family: "solid", size: "xxl", color: "grey_300" }),
5100
+ /* @__PURE__ */ jsxs29(Col, { alignItems: "center", gap: "4", style: { maxWidth: "360px" }, children: [
5101
+ /* @__PURE__ */ jsx55(Text, { size: "m", weight: "600", variant: "grey_600", align: "center", children: title }),
5102
+ description && /* @__PURE__ */ jsx55(Text, { size: "s", variant: "grey_500", align: "center", children: description })
5103
+ ] }),
5104
+ actionLabel && onAction && /* @__PURE__ */ jsx55(Button, { label: actionLabel, onClick: onAction })
5105
+ ]
5106
+ }
5107
+ );
5108
+ };
5109
+
5081
5110
  // src/data/globalMethods.ts
5082
5111
  var formatDate = (dateString, type = "date", language = "en") => {
5083
5112
  if (!dateString) return "";
@@ -5336,6 +5365,7 @@ export {
5336
5365
  DatePicker,
5337
5366
  Divider,
5338
5367
  Drawer,
5368
+ EmptyState,
5339
5369
  FileUploadZone,
5340
5370
  Grid,
5341
5371
  Icon,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "design-zystem",
3
- "version": "1.0.240",
3
+ "version": "1.0.241",
4
4
  "description": "A React design system of importable components",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",