soda-heroui 0.6.9 → 0.7.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.
package/dist/index.cjs CHANGED
@@ -57,6 +57,9 @@ var __webpack_modules__ = {
57
57
  "@/components/FormTimeInput": function(module) {
58
58
  module.exports = require("./components/FormTimeInput.cjs");
59
59
  },
60
+ "@/utils/addBetterToast": function(module) {
61
+ module.exports = require("./utils/addBetterToast.cjs");
62
+ },
60
63
  "@/utils/getFieldProps": function(module) {
61
64
  module.exports = require("./utils/getFieldProps.cjs");
62
65
  },
@@ -224,22 +227,28 @@ var __webpack_exports__ = {};
224
227
  return _components_FormTimeInput__WEBPACK_IMPORTED_MODULE_18__[key];
225
228
  }).bind(0, __WEBPACK_IMPORT_KEY__);
226
229
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
227
- var _utils_getFieldProps__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__("@/utils/getFieldProps");
230
+ var _utils_addBetterToast__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__("@/utils/addBetterToast");
231
+ var __WEBPACK_REEXPORT_OBJECT__ = {};
232
+ for(var __WEBPACK_IMPORT_KEY__ in _utils_addBetterToast__WEBPACK_IMPORTED_MODULE_19__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
233
+ return _utils_addBetterToast__WEBPACK_IMPORTED_MODULE_19__[key];
234
+ }).bind(0, __WEBPACK_IMPORT_KEY__);
235
+ __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
236
+ var _utils_getFieldProps__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__("@/utils/getFieldProps");
228
237
  var __WEBPACK_REEXPORT_OBJECT__ = {};
229
- for(var __WEBPACK_IMPORT_KEY__ in _utils_getFieldProps__WEBPACK_IMPORTED_MODULE_19__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
230
- return _utils_getFieldProps__WEBPACK_IMPORTED_MODULE_19__[key];
238
+ for(var __WEBPACK_IMPORT_KEY__ in _utils_getFieldProps__WEBPACK_IMPORTED_MODULE_20__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
239
+ return _utils_getFieldProps__WEBPACK_IMPORTED_MODULE_20__[key];
231
240
  }).bind(0, __WEBPACK_IMPORT_KEY__);
232
241
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
233
- var _utils_getTimeValue__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__("@/utils/getTimeValue");
242
+ var _utils_getTimeValue__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__("@/utils/getTimeValue");
234
243
  var __WEBPACK_REEXPORT_OBJECT__ = {};
235
- for(var __WEBPACK_IMPORT_KEY__ in _utils_getTimeValue__WEBPACK_IMPORTED_MODULE_20__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
236
- return _utils_getTimeValue__WEBPACK_IMPORTED_MODULE_20__[key];
244
+ for(var __WEBPACK_IMPORT_KEY__ in _utils_getTimeValue__WEBPACK_IMPORTED_MODULE_21__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
245
+ return _utils_getTimeValue__WEBPACK_IMPORTED_MODULE_21__[key];
237
246
  }).bind(0, __WEBPACK_IMPORT_KEY__);
238
247
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
239
- var _utils_parseTime__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__("@/utils/parseTime");
248
+ var _utils_parseTime__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__("@/utils/parseTime");
240
249
  var __WEBPACK_REEXPORT_OBJECT__ = {};
241
- for(var __WEBPACK_IMPORT_KEY__ in _utils_parseTime__WEBPACK_IMPORTED_MODULE_21__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
242
- return _utils_parseTime__WEBPACK_IMPORTED_MODULE_21__[key];
250
+ for(var __WEBPACK_IMPORT_KEY__ in _utils_parseTime__WEBPACK_IMPORTED_MODULE_22__)if ("default" !== __WEBPACK_IMPORT_KEY__) __WEBPACK_REEXPORT_OBJECT__[__WEBPACK_IMPORT_KEY__] = (function(key) {
251
+ return _utils_parseTime__WEBPACK_IMPORTED_MODULE_22__[key];
243
252
  }).bind(0, __WEBPACK_IMPORT_KEY__);
244
253
  __webpack_require__.d(__webpack_exports__, __WEBPACK_REEXPORT_OBJECT__);
245
254
  })();
package/dist/index.d.ts CHANGED
@@ -17,6 +17,7 @@ export * from "./components/FormSelect";
17
17
  export * from "./components/FormSwitch";
18
18
  export * from "./components/FormTextarea";
19
19
  export * from "./components/FormTimeInput";
20
+ export * from "./utils/addBetterToast";
20
21
  export * from "./utils/getFieldProps";
21
22
  export * from "./utils/getTimeValue";
22
23
  export * from "./utils/parseTime";
package/dist/index.js CHANGED
@@ -17,6 +17,7 @@ export * from "./components/FormSelect.js";
17
17
  export * from "./components/FormSwitch.js";
18
18
  export * from "./components/FormTextarea.js";
19
19
  export * from "./components/FormTimeInput.js";
20
+ export * from "./utils/addBetterToast.js";
20
21
  export * from "./utils/getFieldProps.js";
21
22
  export * from "./utils/getTimeValue.js";
22
23
  export * from "./utils/parseTime.js";
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ('undefined' != typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ addBetterToast: ()=>addBetterToast,
28
+ closeToast: ()=>closeToast
29
+ });
30
+ const react_namespaceObject = require("@heroui/react");
31
+ const external_deepsea_tools_namespaceObject = require("deepsea-tools");
32
+ function closeToast(key) {
33
+ const closeButton = document.querySelector(`.toast-${key}-close-button`);
34
+ if (!closeButton) console.warn(`Toast with key ${key} not found`);
35
+ closeButton?.click();
36
+ }
37
+ function addBetterToast({ key, loading, onClose, classNames, ...rest }) {
38
+ key ??= (0, external_deepsea_tools_namespaceObject.nanoid)();
39
+ classNames = {
40
+ ...classNames
41
+ };
42
+ classNames.closeButton = (0, external_deepsea_tools_namespaceObject.clsx)(classNames.closeButton, `toast-${key}-close-button`);
43
+ if (loading) {
44
+ const { promise, resolve } = Promise.withResolvers();
45
+ function newOnClose() {
46
+ resolve();
47
+ onClose?.();
48
+ }
49
+ (0, react_namespaceObject.addToast)({
50
+ classNames,
51
+ promise,
52
+ onClose: newOnClose,
53
+ ...rest
54
+ });
55
+ } else (0, react_namespaceObject.addToast)({
56
+ classNames,
57
+ onClose,
58
+ ...rest
59
+ });
60
+ return key;
61
+ }
62
+ exports.addBetterToast = __webpack_exports__.addBetterToast;
63
+ exports.closeToast = __webpack_exports__.closeToast;
64
+ for(var __webpack_i__ in __webpack_exports__)if (-1 === [
65
+ "addBetterToast",
66
+ "closeToast"
67
+ ].indexOf(__webpack_i__)) exports[__webpack_i__] = __webpack_exports__[__webpack_i__];
68
+ Object.defineProperty(exports, '__esModule', {
69
+ value: true
70
+ });
@@ -0,0 +1,8 @@
1
+ import { addToast } from "@heroui/react";
2
+ export type AddToastParams = Parameters<typeof addToast>[0];
3
+ export interface AddBetterToastParams extends Omit<AddToastParams, "promise"> {
4
+ key?: string;
5
+ loading?: boolean;
6
+ }
7
+ export declare function closeToast(key: string): void;
8
+ export declare function addBetterToast({ key, loading, onClose, classNames, ...rest }: AddBetterToastParams): string;
@@ -0,0 +1,33 @@
1
+ import * as __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__ from "@heroui/react";
2
+ import * as __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__ from "deepsea-tools";
3
+ function closeToast(key) {
4
+ const closeButton = document.querySelector(`.toast-${key}-close-button`);
5
+ if (!closeButton) console.warn(`Toast with key ${key} not found`);
6
+ closeButton?.click();
7
+ }
8
+ function addBetterToast({ key, loading, onClose, classNames, ...rest }) {
9
+ key ??= (0, __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__.nanoid)();
10
+ classNames = {
11
+ ...classNames
12
+ };
13
+ classNames.closeButton = (0, __WEBPACK_EXTERNAL_MODULE_deepsea_tools_8ecdf5a5__.clsx)(classNames.closeButton, `toast-${key}-close-button`);
14
+ if (loading) {
15
+ const { promise, resolve } = Promise.withResolvers();
16
+ function newOnClose() {
17
+ resolve();
18
+ onClose?.();
19
+ }
20
+ (0, __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.addToast)({
21
+ classNames,
22
+ promise,
23
+ onClose: newOnClose,
24
+ ...rest
25
+ });
26
+ } else (0, __WEBPACK_EXTERNAL_MODULE__heroui_react_7b65ca80__.addToast)({
27
+ classNames,
28
+ onClose,
29
+ ...rest
30
+ });
31
+ return key;
32
+ }
33
+ export { addBetterToast, closeToast };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "soda-heroui",
3
- "version": "0.6.9",
3
+ "version": "0.7.0",
4
4
  "description": "",
5
5
  "type": "module",
6
6
  "exports": {
@@ -37,10 +37,10 @@
37
37
  "dependencies": {
38
38
  "@internationalized/date": "^3.7.0",
39
39
  "@tanstack/react-form": "^1.3.0",
40
- "deepsea-tools": "5.33.0",
41
40
  "soda-hooks": "6.10.3",
42
- "soda-tanstack-form": "0.2.1",
43
- "soda-type": "6.3.0"
41
+ "deepsea-tools": "5.33.0",
42
+ "soda-type": "6.3.0",
43
+ "soda-tanstack-form": "0.2.1"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@ianvs/prettier-plugin-sort-imports": "^4.4.1",
package/src/index.ts CHANGED
@@ -17,6 +17,7 @@ export * from "@/components/FormSelect"
17
17
  export * from "@/components/FormSwitch"
18
18
  export * from "@/components/FormTextarea"
19
19
  export * from "@/components/FormTimeInput"
20
+ export * from "@/utils/addBetterToast"
20
21
  export * from "@/utils/getFieldProps"
21
22
  export * from "@/utils/getTimeValue"
22
23
  export * from "@/utils/parseTime"
@@ -0,0 +1,44 @@
1
+ import { addToast } from "@heroui/react"
2
+ import { clsx, nanoid } from "deepsea-tools"
3
+
4
+ export type AddToastParams = Parameters<typeof addToast>[0]
5
+
6
+ export interface AddBetterToastParams extends Omit<AddToastParams, "promise"> {
7
+ key?: string
8
+ loading?: boolean
9
+ }
10
+
11
+ export function closeToast(key: string) {
12
+ const closeButton = document.querySelector(`.toast-${key}-close-button`) as HTMLButtonElement
13
+ if (!closeButton) console.warn(`Toast with key ${key} not found`)
14
+ closeButton?.click()
15
+ }
16
+
17
+ export function addBetterToast({ key, loading, onClose, classNames, ...rest }: AddBetterToastParams) {
18
+ key ??= nanoid()
19
+ classNames = { ...classNames }
20
+ classNames.closeButton = clsx(classNames.closeButton, `toast-${key}-close-button`)
21
+ if (loading) {
22
+ const { promise, resolve } = Promise.withResolvers<void>()
23
+
24
+ function newOnClose() {
25
+ resolve()
26
+ onClose?.()
27
+ }
28
+
29
+ addToast({
30
+ classNames,
31
+ promise,
32
+ onClose: newOnClose,
33
+ ...rest,
34
+ })
35
+ } else {
36
+ addToast({
37
+ classNames,
38
+ onClose,
39
+ ...rest,
40
+ })
41
+ }
42
+
43
+ return key
44
+ }