@driveflux/ui 1.0.0-next.0

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 (108) hide show
  1. package/.eslintrc.json +3 -0
  2. package/.swcrc +14 -0
  3. package/.turbo/turbo-build.log +6 -0
  4. package/CHANGELOG.md +12 -0
  5. package/dist/chakra.d.ts +2 -0
  6. package/dist/chakra.d.ts.map +1 -0
  7. package/dist/chakra.js +1 -0
  8. package/dist/cjs/chakra.js +18 -0
  9. package/dist/cjs/index.js +18 -0
  10. package/dist/cjs/modal/ModalProvider.js +254 -0
  11. package/dist/cjs/modal/components/EnhancedModalCustomWrapper.js +139 -0
  12. package/dist/cjs/modal/components/EnhancedModalFooter.js +167 -0
  13. package/dist/cjs/modal/components/MinimalModalContent.js +94 -0
  14. package/dist/cjs/modal/components/StandardModalContent.js +387 -0
  15. package/dist/cjs/modal/context.js +20 -0
  16. package/dist/cjs/modal/index.js +48 -0
  17. package/dist/cjs/modal/use-enhanced-modal.js +15 -0
  18. package/dist/cjs/package.json +3 -0
  19. package/dist/cjs/theme/colors.js +140 -0
  20. package/dist/cjs/theme/index.js +18 -0
  21. package/dist/cjs/toast/index.js +19 -0
  22. package/dist/cjs/toast/use-toast-result.js +255 -0
  23. package/dist/cjs/types.js +4 -0
  24. package/dist/cjs/utils/accessors.js +61 -0
  25. package/dist/cjs/utils/index.js +19 -0
  26. package/dist/cjs/utils/react.js +94 -0
  27. package/dist/index.d.ts +2 -0
  28. package/dist/index.d.ts.map +1 -0
  29. package/dist/index.js +1 -0
  30. package/dist/modal/ModalProvider.d.ts +4 -0
  31. package/dist/modal/ModalProvider.d.ts.map +1 -0
  32. package/dist/modal/ModalProvider.js +239 -0
  33. package/dist/modal/components/EnhancedModalCustomWrapper.d.ts +9 -0
  34. package/dist/modal/components/EnhancedModalCustomWrapper.d.ts.map +1 -0
  35. package/dist/modal/components/EnhancedModalCustomWrapper.js +124 -0
  36. package/dist/modal/components/EnhancedModalFooter.d.ts +12 -0
  37. package/dist/modal/components/EnhancedModalFooter.d.ts.map +1 -0
  38. package/dist/modal/components/EnhancedModalFooter.js +157 -0
  39. package/dist/modal/components/MinimalModalContent.d.ts +11 -0
  40. package/dist/modal/components/MinimalModalContent.d.ts.map +1 -0
  41. package/dist/modal/components/MinimalModalContent.js +84 -0
  42. package/dist/modal/components/StandardModalContent.d.ts +11 -0
  43. package/dist/modal/components/StandardModalContent.d.ts.map +1 -0
  44. package/dist/modal/components/StandardModalContent.js +377 -0
  45. package/dist/modal/context.d.ts +62 -0
  46. package/dist/modal/context.d.ts.map +1 -0
  47. package/dist/modal/context.js +10 -0
  48. package/dist/modal/index.d.ts +7 -0
  49. package/dist/modal/index.d.ts.map +1 -0
  50. package/dist/modal/index.js +6 -0
  51. package/dist/modal/use-enhanced-modal.d.ts +3 -0
  52. package/dist/modal/use-enhanced-modal.d.ts.map +1 -0
  53. package/dist/modal/use-enhanced-modal.js +5 -0
  54. package/dist/theme/colors.d.ts +148 -0
  55. package/dist/theme/colors.d.ts.map +1 -0
  56. package/dist/theme/colors.js +130 -0
  57. package/dist/theme/index.d.ts +2 -0
  58. package/dist/theme/index.d.ts.map +1 -0
  59. package/dist/theme/index.js +1 -0
  60. package/dist/toast/index.d.ts +2 -0
  61. package/dist/toast/index.d.ts.map +1 -0
  62. package/dist/toast/index.js +1 -0
  63. package/dist/toast/use-toast-result.d.ts +30 -0
  64. package/dist/toast/use-toast-result.d.ts.map +1 -0
  65. package/dist/toast/use-toast-result.js +232 -0
  66. package/dist/types.d.ts +5 -0
  67. package/dist/types.d.ts.map +1 -0
  68. package/dist/types.js +1 -0
  69. package/dist/utils/accessors.d.ts +24 -0
  70. package/dist/utils/accessors.d.ts.map +1 -0
  71. package/dist/utils/accessors.js +28 -0
  72. package/dist/utils/index.d.ts +3 -0
  73. package/dist/utils/index.d.ts.map +1 -0
  74. package/dist/utils/index.js +2 -0
  75. package/dist/utils/react.d.ts +5 -0
  76. package/dist/utils/react.d.ts.map +1 -0
  77. package/dist/utils/react.js +32 -0
  78. package/index.cjs +1 -0
  79. package/index.d.ts +1 -0
  80. package/modal.cjs +1 -0
  81. package/modal.d.ts +1 -0
  82. package/package.json +68 -0
  83. package/src/chakra.ts +1 -0
  84. package/src/index.ts +1 -0
  85. package/src/modal/ModalProvider.tsx +142 -0
  86. package/src/modal/components/EnhancedModalCustomWrapper.tsx +39 -0
  87. package/src/modal/components/EnhancedModalFooter.tsx +51 -0
  88. package/src/modal/components/MinimalModalContent.tsx +24 -0
  89. package/src/modal/components/StandardModalContent.tsx +65 -0
  90. package/src/modal/context.tsx +81 -0
  91. package/src/modal/index.ts +7 -0
  92. package/src/modal/use-enhanced-modal.ts +7 -0
  93. package/src/theme/colors.ts +171 -0
  94. package/src/theme/index.ts +1 -0
  95. package/src/toast/index.ts +3 -0
  96. package/src/toast/use-toast-result.tsx +169 -0
  97. package/src/types.ts +22 -0
  98. package/src/utils/accessors.ts +64 -0
  99. package/src/utils/index.ts +2 -0
  100. package/src/utils/react.ts +32 -0
  101. package/theme.cjs +1 -0
  102. package/theme.d.ts +1 -0
  103. package/toast.cjs +1 -0
  104. package/toast.d.ts +1 -0
  105. package/tsconfig.json +14 -0
  106. package/tsconfig.tsbuildinfo +1 -0
  107. package/utils.cjs +1 -0
  108. package/utils.d.ts +1 -0
@@ -0,0 +1,130 @@
1
+ export var colors = {
2
+ /**
3
+ * #EFEFF0 Light Gray
4
+ */ primary1: "#EFEFF0",
5
+ /**
6
+ * #CACACA Gray
7
+ */ primary2: "#CACACA",
8
+ /**
9
+ * #585858 Dark Gray
10
+ */ primary3: "#585858",
11
+ /**
12
+ * #191919 Soft Black
13
+ */ primary4: "#191919",
14
+ /**
15
+ * #E55867 Red
16
+ */ accent4: "#E55867",
17
+ /**
18
+ * #ADE0EE Light Blue
19
+ */ links2: "#ADE0EE",
20
+ /**
21
+ * #50C8E8 Blue
22
+ */ links: "#50C8E8",
23
+ /**
24
+ * #E24657 Red
25
+ */ alert4: "#E24657",
26
+ /**
27
+ * #E24657 Red
28
+ */ danger: "#E24657",
29
+ /**
30
+ * #F4B25C Yellow
31
+ */ warning4: "#F4B25C",
32
+ /**
33
+ * #4FD9C2 Green
34
+ */ success4: "#4FD9C2",
35
+ /**
36
+ * #4FD9C2 Green
37
+ */ green: "#4FD9C2",
38
+ /**
39
+ * #3BD5BC Green
40
+ */ // green: '#3BD5BC',
41
+ /**
42
+ * #000000 Black
43
+ */ black: "#000000",
44
+ /**
45
+ * #ffffff White
46
+ */ white: "#ffffff",
47
+ /**
48
+ * #E6E6E6 Light Gray
49
+ */ whiteHover: "#E6E6E6",
50
+ /**
51
+ * #F4F4F4 Light Gray
52
+ */ placeholder: "#F4F4F4",
53
+ /**
54
+ * #F9F7D7 Light Yellow
55
+ */ highlight: "#F9F7D7",
56
+ primary: {
57
+ 25: "#fafafa",
58
+ 50: "#d6f5f0",
59
+ 100: "#98e6d6",
60
+ 200: "#191919",
61
+ 300: "#191919",
62
+ 400: "#3bd5bb",
63
+ 500: "#000000",
64
+ 600: "#000000",
65
+ 700: "#000000",
66
+ 800: "#000000",
67
+ 900: "#000000"
68
+ },
69
+ success: {
70
+ 50: "#d8f7f2",
71
+ 100: "#98e6d6",
72
+ 200: "#3bd5bc",
73
+ 300: "#4FD9C2",
74
+ 400: "#3bd5bb",
75
+ 500: "#3bd5bb",
76
+ 600: "#2EA692",
77
+ 700: "#00825c",
78
+ 800: "#00724d",
79
+ 900: "#005530"
80
+ },
81
+ accent: {
82
+ 50: "#fceaee",
83
+ 100: "#f8cad3",
84
+ 200: "#E55867",
85
+ 300: "#E55867",
86
+ 400: "#E24657",
87
+ 500: "#E24657",
88
+ 600: "#d8253f",
89
+ 700: "#c61a38",
90
+ 800: "#b91231",
91
+ 900: "#aa0026"
92
+ },
93
+ warning: {
94
+ 50: "#FDF0DE",
95
+ 100: "#F4B25C",
96
+ 200: "#F4B25C",
97
+ 300: "#F4B25C",
98
+ 400: "#F4B25C",
99
+ 500: "#F4B25C",
100
+ 600: "#BF7F2C",
101
+ 700: "#F4B25C",
102
+ 800: "#F4B25C",
103
+ 900: "#F4B25C"
104
+ },
105
+ info: {
106
+ 25: "#50C8E81A",
107
+ 50: "#CDF1FA",
108
+ 100: "#50C8E8",
109
+ 200: "#50C8E8",
110
+ 300: "#50C8E8",
111
+ 400: "#50C8E8",
112
+ 500: "#50C8E8",
113
+ 600: "#3EA5C0",
114
+ 700: "#50C8E8",
115
+ 800: "#50C8E8",
116
+ 900: "#50C8E8"
117
+ },
118
+ alert: {
119
+ 50: "#E24657",
120
+ 100: "#E24657",
121
+ 200: "#E24657",
122
+ 300: "#E24657",
123
+ 400: "#E24657",
124
+ 500: "#E24657",
125
+ 600: "#E24657",
126
+ 700: "#E24657",
127
+ 800: "#E24657",
128
+ 900: "#E24657"
129
+ }
130
+ };
@@ -0,0 +1,2 @@
1
+ export * from './colors';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAA"}
@@ -0,0 +1 @@
1
+ export * from "./colors";
@@ -0,0 +1,2 @@
1
+ export * from './use-toast-result.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/toast/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1 @@
1
+ export * from "./use-toast-result.js"; // TODO: Add the ToastBox component here
@@ -0,0 +1,30 @@
1
+ import type { Problem, ValidationIssues } from '@driveflux/problem';
2
+ import type { StandardResult } from '@driveflux/result';
3
+ import { type CreateToastFnReturn, type ToastId, type UseToastOptions } from '../chakra.js';
4
+ import { type ReactNodeAccessor } from '../utils/accessors.js';
5
+ export type StatusFn<T> = (data?: T) => UseToastOptions['status'];
6
+ type CustomUseToastOptions<T> = Omit<UseToastOptions, 'status' | 'title' | 'description'> & {
7
+ status?: UseToastOptions['status'] | StatusFn<T>;
8
+ title?: UseToastOptions['title'] | ReactNodeAccessor<T>;
9
+ description?: UseToastOptions['description'] | ReactNodeAccessor<T>;
10
+ };
11
+ type ErrorUseToastOptions<E = Problem> = CustomUseToastOptions<E> & {
12
+ showValidationErrors?: boolean;
13
+ defaultDescription?: string;
14
+ };
15
+ type UseToastResultOptions<S = any | Problem, E = Problem> = {
16
+ defaultOptions?: CustomUseToastOptions<S>;
17
+ success?: CustomUseToastOptions<S> | boolean | null;
18
+ error?: ErrorUseToastOptions<E> | boolean | null;
19
+ };
20
+ type UseToastResult = {
21
+ toastProblem: <P extends Problem>(problem: P, providedOptions?: ErrorUseToastOptions<P>) => ToastId;
22
+ toastSuccess: <T extends any>(providedOptions?: CustomUseToastOptions<T>) => ToastId;
23
+ toastResult: <T extends unknown, R extends StandardResult<T> = StandardResult<T>>(result: R, generalToastOptions?: UseToastResultOptions<T, Problem>) => ToastId | undefined;
24
+ toastError: (providedOptions?: UseToastOptions) => ToastId;
25
+ toast: CreateToastFnReturn;
26
+ };
27
+ export declare const getValidationErrorsList: (validation: ValidationIssues) => string[];
28
+ export declare const useToastResult: (options?: UseToastResultOptions) => UseToastResult;
29
+ export {};
30
+ //# sourceMappingURL=use-toast-result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-toast-result.d.ts","sourceRoot":"","sources":["../../src/toast/use-toast-result.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACnE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIvD,OAAO,EAML,KAAK,mBAAmB,EACxB,KAAK,OAAO,EACZ,KAAK,eAAe,EACrB,MAAM,cAAc,CAAA;AACrB,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAE/E,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,eAAe,CAAC,QAAQ,CAAC,CAAA;AAMjE,KAAK,qBAAqB,CAAC,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,QAAQ,GAAG,OAAO,GAAG,aAAa,CAAC,GAAG;IAC1F,MAAM,CAAC,EAAE,eAAe,CAAC,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAChD,KAAK,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;IACvD,WAAW,CAAC,EAAE,eAAe,CAAC,aAAa,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAA;CACpE,CAAA;AAED,KAAK,oBAAoB,CAAC,CAAC,GAAG,OAAO,IAAI,qBAAqB,CAAC,CAAC,CAAC,GAAG;IAClE,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B,CAAA;AAED,KAAK,qBAAqB,CAAC,CAAC,GAAG,GAAG,GAAG,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI;IAC3D,cAAc,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAA;IACzC,OAAO,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAA;IACnD,KAAK,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,IAAI,CAAA;CACjD,CAAA;AAED,KAAK,cAAc,GAAG;IACpB,YAAY,EAAE,CAAC,CAAC,SAAS,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,eAAe,CAAC,EAAE,oBAAoB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;IACnG,YAAY,EAAE,CAAC,CAAC,SAAS,GAAG,EAAE,eAAe,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,KAAK,OAAO,CAAA;IACpF,WAAW,EAAE,CAAC,CAAC,SAAS,OAAO,EAAE,CAAC,SAAS,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,EAC9E,MAAM,EAAE,CAAC,EACT,mBAAmB,CAAC,EAAE,qBAAqB,CAAC,CAAC,EAAE,OAAO,CAAC,KACpD,OAAO,GAAG,SAAS,CAAA;IACxB,UAAU,EAAE,CAAC,eAAe,CAAC,EAAE,eAAe,KAAK,OAAO,CAAA;IAC1D,KAAK,EAAE,mBAAmB,CAAA;CAC3B,CAAA;AAkBD,eAAO,MAAM,uBAAuB,eAAgB,gBAAgB,aAInE,CAAA;AAeD,eAAO,MAAM,cAAc,aAAc,qBAAqB,KAAG,cAkFhE,CAAA"}
@@ -0,0 +1,232 @@
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _object_spread(target) {
15
+ for(var i = 1; i < arguments.length; i++){
16
+ var source = arguments[i] != null ? arguments[i] : {};
17
+ var ownKeys = Object.keys(source);
18
+ if (typeof Object.getOwnPropertySymbols === "function") {
19
+ ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
20
+ return Object.getOwnPropertyDescriptor(source, sym).enumerable;
21
+ }));
22
+ }
23
+ ownKeys.forEach(function(key) {
24
+ _define_property(target, key, source[key]);
25
+ });
26
+ }
27
+ return target;
28
+ }
29
+ function ownKeys(object, enumerableOnly) {
30
+ var keys = Object.keys(object);
31
+ if (Object.getOwnPropertySymbols) {
32
+ var symbols = Object.getOwnPropertySymbols(object);
33
+ if (enumerableOnly) {
34
+ symbols = symbols.filter(function(sym) {
35
+ return Object.getOwnPropertyDescriptor(object, sym).enumerable;
36
+ });
37
+ }
38
+ keys.push.apply(keys, symbols);
39
+ }
40
+ return keys;
41
+ }
42
+ function _object_spread_props(target, source) {
43
+ source = source != null ? source : {};
44
+ if (Object.getOwnPropertyDescriptors) {
45
+ Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
46
+ } else {
47
+ ownKeys(Object(source)).forEach(function(key) {
48
+ Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
49
+ });
50
+ }
51
+ return target;
52
+ }
53
+ function _object_without_properties(source, excluded) {
54
+ if (source == null) return {};
55
+ var target = _object_without_properties_loose(source, excluded);
56
+ var key, i;
57
+ if (Object.getOwnPropertySymbols) {
58
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
59
+ for(i = 0; i < sourceSymbolKeys.length; i++){
60
+ key = sourceSymbolKeys[i];
61
+ if (excluded.indexOf(key) >= 0) continue;
62
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
63
+ target[key] = source[key];
64
+ }
65
+ }
66
+ return target;
67
+ }
68
+ function _object_without_properties_loose(source, excluded) {
69
+ if (source == null) return {};
70
+ var target = {};
71
+ var sourceKeys = Object.keys(source);
72
+ var key, i;
73
+ for(i = 0; i < sourceKeys.length; i++){
74
+ key = sourceKeys[i];
75
+ if (excluded.indexOf(key) >= 0) continue;
76
+ target[key] = source[key];
77
+ }
78
+ return target;
79
+ }
80
+ function _tagged_template_literal(strings, raw) {
81
+ if (!raw) {
82
+ raw = strings.slice(0);
83
+ }
84
+ return Object.freeze(Object.defineProperties(strings, {
85
+ raw: {
86
+ value: Object.freeze(raw)
87
+ }
88
+ }));
89
+ }
90
+ function _templateObject() {
91
+ var data = _tagged_template_literal([
92
+ "Success"
93
+ ]);
94
+ _templateObject = function _templateObject() {
95
+ return data;
96
+ };
97
+ return data;
98
+ }
99
+ function _templateObject1() {
100
+ var data = _tagged_template_literal([
101
+ "The operation was done successfully"
102
+ ]);
103
+ _templateObject1 = function _templateObject() {
104
+ return data;
105
+ };
106
+ return data;
107
+ }
108
+ function _templateObject2() {
109
+ var data = _tagged_template_literal([
110
+ "Operation Failed"
111
+ ]);
112
+ _templateObject2 = function _templateObject() {
113
+ return data;
114
+ };
115
+ return data;
116
+ }
117
+ function _templateObject3() {
118
+ var data = _tagged_template_literal([
119
+ "There was a problem while performing this operation"
120
+ ]);
121
+ _templateObject3 = function _templateObject() {
122
+ return data;
123
+ };
124
+ return data;
125
+ }
126
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
127
+ import { t } from "@lingui/macro";
128
+ import merge from "lodash/merge.js";
129
+ import { useCallback } from "react";
130
+ import { Box, ListItem, Text, UnorderedList, useToast } from "../chakra.js";
131
+ import { accessReactNode } from "../utils/accessors.js";
132
+ var accessStatus = function(s, data) {
133
+ return typeof s === "function" ? s(data) : s;
134
+ };
135
+ var defaultUseToastResultOptions = {
136
+ success: {
137
+ status: "success",
138
+ title: t(_templateObject()),
139
+ description: t(_templateObject1()),
140
+ isClosable: true
141
+ },
142
+ error: {
143
+ status: "error",
144
+ title: t(_templateObject2()),
145
+ defaultDescription: t(_templateObject3()),
146
+ showValidationErrors: true,
147
+ isClosable: true
148
+ }
149
+ };
150
+ export var getValidationErrorsList = function(validation) {
151
+ return Object.values(validation.fieldErrors).map(function(v) {
152
+ return v.map(function(vd) {
153
+ return vd.message;
154
+ });
155
+ }).flat();
156
+ };
157
+ var accessOptions = function(options, data) {
158
+ if (!options) {
159
+ return options;
160
+ }
161
+ return _object_spread_props(_object_spread({}, options), {
162
+ status: accessStatus(options.status, data),
163
+ title: accessReactNode(options.title, data),
164
+ description: accessReactNode(options.description, data)
165
+ });
166
+ };
167
+ export var useToastResult = function(options) {
168
+ var originalToast = useToast(accessOptions(options === null || options === void 0 ? void 0 : options.defaultOptions));
169
+ var toastProblem = useCallback(function(problem, providedOptions) {
170
+ var _merge = merge({}, defaultUseToastResultOptions.error, providedOptions), description = _merge.description, defaultDescription = _merge.defaultDescription, showValidationErrors = _merge.showValidationErrors, rest = _object_without_properties(_merge, [
171
+ "description",
172
+ "defaultDescription",
173
+ "showValidationErrors"
174
+ ]);
175
+ var problemMessage = problem.message || defaultDescription;
176
+ return originalToast(_object_spread_props(_object_spread({}, accessOptions(rest, problem)), {
177
+ description: accessReactNode(description, problem) || /*#__PURE__*/ _jsx(Box, {
178
+ children: /*#__PURE__*/ _jsxs(_Fragment, {
179
+ children: [
180
+ problemMessage && /*#__PURE__*/ _jsx(Text, {
181
+ color: "inherit",
182
+ children: problemMessage
183
+ }),
184
+ problem.validation && showValidationErrors && /*#__PURE__*/ _jsx(UnorderedList, {
185
+ color: "inherit",
186
+ children: getValidationErrorsList(problem.validation).map(function(message, i) {
187
+ return /*#__PURE__*/ _jsx(ListItem, {
188
+ children: message
189
+ }, i);
190
+ })
191
+ })
192
+ ]
193
+ })
194
+ })
195
+ }));
196
+ }, [
197
+ originalToast
198
+ ]);
199
+ var toastError = useCallback(function(providedOptions) {
200
+ var _$options = accessOptions(merge({}, defaultUseToastResultOptions.error, providedOptions));
201
+ return originalToast(_object_spread({}, _$options));
202
+ }, [
203
+ originalToast
204
+ ]);
205
+ var toastSuccess = useCallback(function(providedOptions) {
206
+ var _$options = accessOptions(merge({}, defaultUseToastResultOptions.success, providedOptions));
207
+ return originalToast(_object_spread({}, _$options));
208
+ }, [
209
+ originalToast
210
+ ]);
211
+ var toastResult = useCallback(function(result, generalToastOptions) {
212
+ var _$options = merge({}, defaultUseToastResultOptions, generalToastOptions || defaultUseToastResultOptions);
213
+ var toastType = result.ok ? "success" : "error";
214
+ var toastOptions = typeof generalToastOptions === "undefined" || generalToastOptions[toastType] === null ? null : _$options[toastType];
215
+ if (!toastOptions) {
216
+ return;
217
+ }
218
+ var finalToastOptions = _object_spread({}, accessOptions(typeof toastOptions === "boolean" ? defaultUseToastResultOptions[toastType] : toastOptions, result.val));
219
+ return result.ok ? toastSuccess(finalToastOptions) : toastProblem(result.val, finalToastOptions);
220
+ }, [
221
+ originalToast,
222
+ toastProblem,
223
+ toastSuccess
224
+ ]);
225
+ return {
226
+ toastProblem: toastProblem,
227
+ toastSuccess: toastSuccess,
228
+ toastResult: toastResult,
229
+ toastError: toastError,
230
+ toast: originalToast
231
+ };
232
+ };
@@ -0,0 +1,5 @@
1
+ export type LengthUnits = 'cm' | 'mm' | 'in' | 'px' | 'pt' | 'pc' | 'em' | 'ex' | 'ch' | 'vw' | 'vh' | 'rem' | 'vmin' | 'vmax' | '%';
2
+ export type StyleUnit = number | `${number}${LengthUnits}`;
3
+ export type Sizes = 'sm' | 'md' | 'lg' | 'xl' | '2xl' | 'xs' | '3xl' | '4xl' | '5xl' | '6xl' | 'full';
4
+ export type Padding = 'base' | 'md';
5
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GACnB,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,IAAI,GACJ,KAAK,GACL,MAAM,GACN,MAAM,GACN,GAAG,CAAA;AAEP,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,GAAG,MAAM,GAAG,WAAW,EAAE,CAAA;AAE1D,MAAM,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAA;AAErG,MAAM,MAAM,OAAO,GAAG,MAAM,GAAG,IAAI,CAAA"}
package/dist/types.js ADDED
@@ -0,0 +1 @@
1
+ export { };
@@ -0,0 +1,24 @@
1
+ import type { ReactNode } from 'react';
2
+ type AllowedParam = string | number | boolean | Date | undefined | null;
3
+ type AllowedQueryParams = Record<string, AllowedParam | AllowedParam[]>;
4
+ export type GenericAccessor<O, R> = (m: O) => R;
5
+ export type SelfAccessor<O, R = any> = GenericAccessor<O, R>;
6
+ export type StringAccessor<O, R extends string = string> = GenericAccessor<O, R>;
7
+ export type StringOrNullAccessor<O, R extends string = string> = GenericAccessor<O, R | null>;
8
+ export type SelfPartialAccessor<O> = GenericAccessor<O, Partial<O>>;
9
+ export type QueryAccessor<O, R extends AllowedQueryParams = AllowedQueryParams> = GenericAccessor<O, R>;
10
+ export type ReactNodeAccessor<O> = GenericAccessor<O, ReactNode>;
11
+ export type BooleanAccessor<O> = GenericAccessor<O, boolean>;
12
+ export interface FunctionAccessor<O, F extends (...args: any[]) => any> {
13
+ generateFunction: GenericAccessor<O, F>;
14
+ }
15
+ export type GuaranteedAccessor<AC extends (...args: any[]) => any> = (arg1: Required<Parameters<AC>>[0], arg2?: Parameters<AC>[1], arg3?: Parameters<AC>[2], arg4?: Parameters<AC>[3], arg5?: Parameters<AC>[4]) => ReturnType<AC>;
16
+ export declare const accessSelf: <D, S, DS = S>(s: S, data?: D | undefined, defaultValue?: DS | undefined) => any;
17
+ export declare const accessBoolean: <D>(s: boolean | BooleanAccessor<D>, data?: D | undefined, defaultBoolean?: boolean) => any;
18
+ export declare const accessString: <D>(s: string | StringAccessor<D, string>, data?: D | undefined, defaultText?: string) => any;
19
+ export declare const accessStringOrNull: <D>(s: string | StringOrNullAccessor<D, string> | null, data?: D | undefined, defaultText?: string | null) => any;
20
+ export declare const accessQuery: <D>(s: AllowedQueryParams | QueryAccessor<D, AllowedQueryParams>, data?: D | undefined, defaultQuery?: AllowedQueryParams) => any;
21
+ export declare const accessReactNode: <D>(s: ReactNode | ReactNodeAccessor<D>, data?: D | undefined, defaultNode?: ReactNode) => any;
22
+ export declare const accessFunction: <D, F extends (...args: any[]) => any>(f: F | FunctionAccessor<D, F>, data?: D | undefined, defaultFunction?: F | undefined) => F | undefined;
23
+ export {};
24
+ //# sourceMappingURL=accessors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"accessors.d.ts","sourceRoot":"","sources":["../../src/utils/accessors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAEtC,KAAK,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAAA;AACvE,KAAK,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,YAAY,GAAG,YAAY,EAAE,CAAC,CAAA;AAEvE,MAAM,MAAM,eAAe,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;AAE/C,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAC5D,MAAM,MAAM,cAAc,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AAChF,MAAM,MAAM,oBAAoB,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,CAAA;AAC7F,MAAM,MAAM,mBAAmB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;AACnE,MAAM,MAAM,aAAa,CAAC,CAAC,EAAE,CAAC,SAAS,kBAAkB,GAAG,kBAAkB,IAAI,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACvG,MAAM,MAAM,iBAAiB,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;AAChE,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;AAC5D,MAAM,WAAW,gBAAgB,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG;IAAI,gBAAgB,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;CAAE;AAEnH,MAAM,MAAM,kBAAkB,CAAC,EAAE,SAAS,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,IAAI,CACnE,IAAI,EAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EACjC,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EACxB,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EACxB,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EACxB,IAAI,CAAC,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KACrB,UAAU,CAAC,EAAE,CAAC,CAAA;AAEnB,eAAO,MAAM,UAAU,kFAMtB,CAAA;AAED,eAAO,MAAM,aAAa,8EAAmE,OAAO,QAC/D,CAAA;AAErC,eAAO,MAAM,YAAY,iFAA8D,MAAM,QAC3D,CAAA;AAElC,eAAO,MAAM,kBAAkB,8FAGhB,MAAM,GAAG,IAAI,QACS,CAAA;AAErC,eAAO,MAAM,WAAW,yGAGP,kBAAkB,QACG,CAAA;AAEtC,eAAO,MAAM,eAAe,+EAAoE,SAAS,QACvE,CAAA;AAElC,eAAO,MAAM,cAAc,0BAA2B,GAAG,EAAE,KAAK,GAAG,wGAUlE,CAAA"}
@@ -0,0 +1,28 @@
1
+ export var accessSelf = function(s, data, defaultValue) {
2
+ if (!s) {
3
+ return defaultValue;
4
+ }
5
+ return typeof s === "function" ? s(data) : s;
6
+ };
7
+ export var accessBoolean = function(s, data, defaultBoolean) {
8
+ return accessSelf(s, data, defaultBoolean);
9
+ };
10
+ export var accessString = function(s, data, defaultText) {
11
+ return accessSelf(s, data, defaultText);
12
+ };
13
+ export var accessStringOrNull = function(s, data) {
14
+ var defaultText = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : null;
15
+ return accessSelf(s, data, defaultText);
16
+ };
17
+ export var accessQuery = function(s, data, defaultQuery) {
18
+ return accessSelf(s, data, defaultQuery);
19
+ };
20
+ export var accessReactNode = function(s, data, defaultNode) {
21
+ return accessSelf(s, data, defaultNode);
22
+ };
23
+ export var accessFunction = function(f, data, defaultFunction) {
24
+ if (!f) {
25
+ return defaultFunction;
26
+ }
27
+ return typeof f === "object" && "generateFunction" in f ? f.generateFunction(data) : f;
28
+ };
@@ -0,0 +1,3 @@
1
+ export * from './accessors.js';
2
+ export * from './react.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from "./accessors.js";
2
+ export * from "./react.js";
@@ -0,0 +1,5 @@
1
+ import { default as React } from 'react';
2
+ export declare function isReactComponent(Component: any): Component is React.ComponentType<any>;
3
+ export declare function isReactElement(element: any): element is React.ReactElement;
4
+ export declare function isReactNode(node: any): node is React.ReactNode;
5
+ //# sourceMappingURL=react.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"react.d.ts","sourceRoot":"","sources":["../../src/utils/react.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,KAAK,EAAkB,MAAM,OAAO,CAAA;AAExD,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,GAAG,GAAG,SAAS,IAAI,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAMtF;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,IAAI,KAAK,CAAC,YAAY,CAG1E;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,IAAI,KAAK,CAAC,SAAS,CAgB9D"}
@@ -0,0 +1,32 @@
1
+ function _instanceof(left, right) {
2
+ if (right != null && typeof Symbol !== "undefined" && right[Symbol.hasInstance]) {
3
+ return !!right[Symbol.hasInstance](left);
4
+ } else {
5
+ return left instanceof right;
6
+ }
7
+ }
8
+ import { default as React, isValidElement } from "react";
9
+ export function isReactComponent(Component) {
10
+ return typeof Component === "function" && // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access -- React component, it's fine
11
+ (_instanceof(Component.prototype, React.Component) || Component.displayName !== undefined);
12
+ }
13
+ export function isReactElement(element) {
14
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument -- isValidElement is a validation function
15
+ return isValidElement(element);
16
+ }
17
+ export function isReactNode(node) {
18
+ if (// eslint-disable-next-line @typescript-eslint/no-unsafe-argument -- isValidElement is a validation function
19
+ isValidElement(node) || // Check if it's a React element
20
+ typeof node === "string" || // Check if it's a string
21
+ typeof node === "number" // Check if it's a number
22
+ ) {
23
+ return true;
24
+ }
25
+ // Check if it's an array of React nodes
26
+ if (Array.isArray(node) && node.every(function(element) {
27
+ return isReactNode(element);
28
+ })) {
29
+ return true;
30
+ }
31
+ return false;
32
+ }
package/index.cjs ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./dist/cjs/index.js')
package/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/index'
package/modal.cjs ADDED
@@ -0,0 +1 @@
1
+ module.exports = require('./dist/cjs/modal/index.js')
package/modal.d.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './dist/modal/index'
package/package.json ADDED
@@ -0,0 +1,68 @@
1
+ {
2
+ "name": "@driveflux/ui",
3
+ "version": "1.0.0-next.0",
4
+ "type": "module",
5
+ "main": "./dist/cjs/index.js",
6
+ "module": "./dist/index.js",
7
+ "types": "./dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "import": "./dist/index.js",
11
+ "require": "./dist/cjs/index.js",
12
+ "types": "./dist/index.d.ts"
13
+ },
14
+ "./toast": {
15
+ "import": "./dist/toast/index.js",
16
+ "require": "./dist/cjs/toast/index.js",
17
+ "types": "./dist/toast/index.d.ts"
18
+ },
19
+ "./modal": {
20
+ "import": "./dist/modal/index.js",
21
+ "require": "./dist/cjs/modal/index.js",
22
+ "types": "./dist/modal/index.d.ts"
23
+ },
24
+ "./theme": {
25
+ "import": "./dist/theme/index.js",
26
+ "require": "./dist/cjs/theme/index.js",
27
+ "types": "./dist/theme/index.d.ts"
28
+ },
29
+ "./utils": {
30
+ "import": "./dist/utils/index.js",
31
+ "require": "./dist/cjs/utils/index.js",
32
+ "types": "./dist/utils/index.d.ts"
33
+ }
34
+ },
35
+ "dependencies": {
36
+ "@chakra-ui/react": "^2.8.2",
37
+ "lodash": "^4.17.21",
38
+ "@driveflux/icons": "1.0.0-next.0"
39
+ },
40
+ "peerDependencies": {
41
+ "next": "^14.0.3",
42
+ "react": "18.2.0",
43
+ "swr": "^2.2.4"
44
+ },
45
+ "devDependencies": {
46
+ "@lingui/macro": "^4.5.0",
47
+ "@types/lodash": "^4.14.202",
48
+ "@types/node": "^20.9.1",
49
+ "@types/react": "^18.2.0",
50
+ "@swc/cli": "^0.1.63",
51
+ "@swc/core": "^1.3.99",
52
+ "del-cli": "^5.1.0",
53
+ "eslint": "8.54.0",
54
+ "type-fest": "^4.8.2",
55
+ "typescript": "^5.2.2",
56
+ "@driveflux/eslint-config": "1.0.0-next.0",
57
+ "@driveflux/tsconfig": "1.0.0-next.0",
58
+ "@driveflux/problem": "4.0.0-next.0",
59
+ "@driveflux/result": "4.0.0-next.0",
60
+ "@driveflux/fab": "1.0.0-next.0"
61
+ },
62
+ "scripts": {
63
+ "build": "fab",
64
+ "clean": "fab clean",
65
+ "type-check": "tsc --noEmit",
66
+ "lint": "eslint \"src/**/*.ts\""
67
+ }
68
+ }
package/src/chakra.ts ADDED
@@ -0,0 +1 @@
1
+ export * from '@chakra-ui/react'
package/src/index.ts ADDED
@@ -0,0 +1 @@
1
+ export * from './chakra.js'