@inf-monkeys-tech/monkeys-design 0.4.55 → 0.4.56

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 (91) hide show
  1. package/README.md +29 -5
  2. package/dist/{LandingPage-CR5KyIwR.d.mts → LandingPage-D7FF9gnM.d.mts} +3 -3
  3. package/dist/{LandingPage-CR5KyIwR.d.ts → LandingPage-D7FF9gnM.d.ts} +3 -3
  4. package/dist/components/base/index.d.mts +3 -3
  5. package/dist/components/base/index.d.ts +3 -3
  6. package/dist/components/base/index.js +7229 -2042
  7. package/dist/components/base/index.js.map +1 -1
  8. package/dist/components/base/index.mjs +7215 -2052
  9. package/dist/components/base/index.mjs.map +1 -1
  10. package/dist/components/data-explorer/index.d.mts +1 -1
  11. package/dist/components/data-explorer/index.d.ts +1 -1
  12. package/dist/components/data-explorer/index.js +166 -10
  13. package/dist/components/data-explorer/index.js.map +1 -1
  14. package/dist/components/data-explorer/index.mjs +167 -11
  15. package/dist/components/data-explorer/index.mjs.map +1 -1
  16. package/dist/components/layout/index.d.mts +1 -1
  17. package/dist/components/layout/index.d.ts +1 -1
  18. package/dist/components/layout/index.js +769 -1603
  19. package/dist/components/layout/index.js.map +1 -1
  20. package/dist/components/layout/index.mjs +772 -1607
  21. package/dist/components/layout/index.mjs.map +1 -1
  22. package/dist/components/login/index.d.mts +29 -29
  23. package/dist/components/login/index.d.ts +29 -29
  24. package/dist/components/toast/index.d.mts +2 -6
  25. package/dist/components/toast/index.d.ts +2 -6
  26. package/dist/components/toast/index.js +173 -11
  27. package/dist/components/toast/index.js.map +1 -1
  28. package/dist/components/toast/index.mjs +174 -12
  29. package/dist/components/toast/index.mjs.map +1 -1
  30. package/dist/components/toolbar/index.js +231 -21
  31. package/dist/components/toolbar/index.js.map +1 -1
  32. package/dist/components/toolbar/index.mjs +231 -21
  33. package/dist/components/toolbar/index.mjs.map +1 -1
  34. package/dist/components/workbench/index.d.mts +6 -6
  35. package/dist/components/workbench/index.d.ts +6 -6
  36. package/dist/components/workbench/index.js +2281 -1030
  37. package/dist/components/workbench/index.js.map +1 -1
  38. package/dist/components/workbench/index.mjs +2282 -1031
  39. package/dist/components/workbench/index.mjs.map +1 -1
  40. package/dist/icons/oauth/index.d.mts +5 -5
  41. package/dist/icons/oauth/index.d.ts +5 -5
  42. package/dist/index.d.mts +12 -8
  43. package/dist/index.d.ts +12 -8
  44. package/dist/index.js +7911 -4772
  45. package/dist/index.js.map +1 -1
  46. package/dist/index.mjs +7874 -4773
  47. package/dist/index.mjs.map +1 -1
  48. package/dist/locale/index.d.mts +236 -0
  49. package/dist/locale/index.d.ts +236 -0
  50. package/dist/locale/index.js +338 -0
  51. package/dist/locale/index.js.map +1 -0
  52. package/dist/locale/index.mjs +332 -0
  53. package/dist/locale/index.mjs.map +1 -0
  54. package/dist/palette/index.js +259 -2748
  55. package/dist/palette/index.js.map +1 -1
  56. package/dist/palette/index.mjs +255 -2748
  57. package/dist/palette/index.mjs.map +1 -1
  58. package/dist/provider/index.d.mts +51 -0
  59. package/dist/provider/index.d.ts +51 -0
  60. package/dist/provider/index.js +2688 -0
  61. package/dist/provider/index.js.map +1 -0
  62. package/dist/provider/index.mjs +2677 -0
  63. package/dist/provider/index.mjs.map +1 -0
  64. package/dist/styles.css +1 -0
  65. package/dist/theme-CJlW1TtA.d.mts +142 -0
  66. package/dist/{theme-CUATVszl.d.mts → theme-CplaoMqT.d.mts} +2 -2
  67. package/dist/{theme-BuvXrHFY.d.ts → theme-DPVX8CfK.d.ts} +2 -2
  68. package/dist/theme-r7GYhlCk.d.ts +142 -0
  69. package/dist/theme-system/index.d.mts +5 -92
  70. package/dist/theme-system/index.d.ts +5 -92
  71. package/dist/theme-system/index.js +295 -4329
  72. package/dist/theme-system/index.js.map +1 -1
  73. package/dist/theme-system/index.mjs +183 -4221
  74. package/dist/theme-system/index.mjs.map +1 -1
  75. package/dist/themes/artist/index.d.mts +3 -3
  76. package/dist/themes/artist/index.d.ts +3 -3
  77. package/dist/themes/bsd/index.d.mts +3 -3
  78. package/dist/themes/bsd/index.d.ts +3 -3
  79. package/dist/themes/concept/index.d.mts +2 -2
  80. package/dist/themes/concept/index.d.ts +2 -2
  81. package/dist/themes/default/index.d.mts +3 -3
  82. package/dist/themes/default/index.d.ts +3 -3
  83. package/dist/types-BkWanMMW.d.mts +159 -0
  84. package/dist/types-BkWanMMW.d.ts +159 -0
  85. package/dist/types-DpRjPpxY.d.mts +93 -0
  86. package/dist/{types-CL6yBAmi.d.mts → types-DvHvN4RJ.d.mts} +514 -10
  87. package/dist/{types-CL6yBAmi.d.ts → types-DvHvN4RJ.d.ts} +514 -10
  88. package/dist/types-vkJZUngT.d.ts +93 -0
  89. package/package.json +52 -4
  90. package/dist/theme-CPXLKeLc.d.mts +0 -101
  91. package/dist/theme-Chdxsqt1.d.ts +0 -101
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import React__default from 'react';
2
+ import react__default from 'react';
3
3
 
4
4
  type LoginPageLogoLocation = 'top' | 'middle' | 'bottom';
5
5
  interface LoginPageBackgroundConfig {
@@ -26,11 +26,11 @@ interface LoginPageLogoConfig {
26
26
  interface LoginPageFieldConfig {
27
27
  id?: string;
28
28
  name: string;
29
- type?: React__default.HTMLInputTypeAttribute;
29
+ type?: react__default.HTMLInputTypeAttribute;
30
30
  value: string;
31
31
  placeholder?: string;
32
32
  autoComplete?: string;
33
- inputMode?: React__default.HTMLAttributes<HTMLInputElement>['inputMode'];
33
+ inputMode?: react__default.HTMLAttributes<HTMLInputElement>['inputMode'];
34
34
  maxLength?: number;
35
35
  pattern?: string;
36
36
  required?: boolean;
@@ -39,80 +39,80 @@ interface LoginPageFieldConfig {
39
39
  }
40
40
  interface LoginPageCheckboxConfig {
41
41
  id: string;
42
- label: React__default.ReactNode;
42
+ label: react__default.ReactNode;
43
43
  checked: boolean;
44
44
  disabled?: boolean;
45
45
  onChange: (checked: boolean) => void;
46
46
  }
47
47
  interface LoginPageMethodConfig {
48
48
  id: string;
49
- label: React__default.ReactNode;
50
- icon?: React__default.ReactNode;
49
+ label: react__default.ReactNode;
50
+ icon?: react__default.ReactNode;
51
51
  fields: LoginPageFieldConfig[];
52
- submitLabel: React__default.ReactNode;
53
- loadingLabel?: React__default.ReactNode;
52
+ submitLabel: react__default.ReactNode;
53
+ loadingLabel?: react__default.ReactNode;
54
54
  isLoading?: boolean;
55
55
  disabled?: boolean;
56
56
  hidden?: boolean;
57
57
  checkbox?: LoginPageCheckboxConfig;
58
- footer?: React__default.ReactNode;
58
+ footer?: react__default.ReactNode;
59
59
  footerAction?: {
60
- label: React__default.ReactNode;
60
+ label: react__default.ReactNode;
61
61
  disabled?: boolean;
62
62
  onClick: () => void;
63
63
  };
64
- onSubmit: (event: React__default.FormEvent<HTMLFormElement>) => void;
64
+ onSubmit: (event: react__default.FormEvent<HTMLFormElement>) => void;
65
65
  }
66
66
  interface LoginPageExternalMethodConfig {
67
67
  id: string;
68
- label: React__default.ReactNode;
68
+ label: react__default.ReactNode;
69
69
  providerType?: 'feishu' | 'dingtalk' | 'wework' | 'oidc' | string;
70
- icon?: React__default.ReactNode;
70
+ icon?: react__default.ReactNode;
71
71
  disabled?: boolean;
72
72
  onClick?: () => void;
73
- render?: (button: React__default.ReactElement) => React__default.ReactNode;
73
+ render?: (button: react__default.ReactElement) => react__default.ReactNode;
74
74
  }
75
75
  interface LoginPageCalloutConfig {
76
76
  tone?: 'info' | 'warning' | 'success' | 'danger';
77
- title: React__default.ReactNode;
78
- description?: React__default.ReactNode;
79
- detail?: React__default.ReactNode;
77
+ title: react__default.ReactNode;
78
+ description?: react__default.ReactNode;
79
+ detail?: react__default.ReactNode;
80
80
  action?: {
81
- label: React__default.ReactNode;
81
+ label: react__default.ReactNode;
82
82
  disabled?: boolean;
83
83
  onClick: () => void;
84
84
  };
85
85
  }
86
86
  interface LoginPageExternalPanelConfig {
87
- title?: React__default.ReactNode;
88
- description?: React__default.ReactNode;
89
- content: React__default.ReactNode;
90
- footer?: React__default.ReactNode;
87
+ title?: react__default.ReactNode;
88
+ description?: react__default.ReactNode;
89
+ content: react__default.ReactNode;
90
+ footer?: react__default.ReactNode;
91
91
  backAction?: {
92
- label: React__default.ReactNode;
92
+ label: react__default.ReactNode;
93
93
  onClick: () => void;
94
94
  };
95
95
  }
96
96
  interface LoginPageProps {
97
97
  className?: string;
98
- style?: React__default.CSSProperties;
98
+ style?: react__default.CSSProperties;
99
99
  background?: LoginPageBackgroundConfig;
100
100
  logo?: LoginPageLogoConfig;
101
101
  primaryColor?: string;
102
102
  radius?: string;
103
103
  customCss?: string;
104
- toolbar?: React__default.ReactNode;
105
- title?: React__default.ReactNode;
104
+ toolbar?: react__default.ReactNode;
105
+ title?: react__default.ReactNode;
106
106
  backAction?: {
107
- label: React__default.ReactNode;
108
- icon?: React__default.ReactNode;
107
+ label: react__default.ReactNode;
108
+ icon?: react__default.ReactNode;
109
109
  onClick: () => void;
110
110
  };
111
111
  methods: LoginPageMethodConfig[];
112
112
  activeMethodId?: string;
113
113
  defaultMethodId?: string;
114
114
  onMethodChange?: (methodId: string) => void;
115
- externalLabel?: React__default.ReactNode;
115
+ externalLabel?: react__default.ReactNode;
116
116
  externalMethods?: LoginPageExternalMethodConfig[];
117
117
  externalPanel?: LoginPageExternalPanelConfig;
118
118
  callout?: LoginPageCalloutConfig;
@@ -1,5 +1,5 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import React__default from 'react';
2
+ import react__default from 'react';
3
3
 
4
4
  type LoginPageLogoLocation = 'top' | 'middle' | 'bottom';
5
5
  interface LoginPageBackgroundConfig {
@@ -26,11 +26,11 @@ interface LoginPageLogoConfig {
26
26
  interface LoginPageFieldConfig {
27
27
  id?: string;
28
28
  name: string;
29
- type?: React__default.HTMLInputTypeAttribute;
29
+ type?: react__default.HTMLInputTypeAttribute;
30
30
  value: string;
31
31
  placeholder?: string;
32
32
  autoComplete?: string;
33
- inputMode?: React__default.HTMLAttributes<HTMLInputElement>['inputMode'];
33
+ inputMode?: react__default.HTMLAttributes<HTMLInputElement>['inputMode'];
34
34
  maxLength?: number;
35
35
  pattern?: string;
36
36
  required?: boolean;
@@ -39,80 +39,80 @@ interface LoginPageFieldConfig {
39
39
  }
40
40
  interface LoginPageCheckboxConfig {
41
41
  id: string;
42
- label: React__default.ReactNode;
42
+ label: react__default.ReactNode;
43
43
  checked: boolean;
44
44
  disabled?: boolean;
45
45
  onChange: (checked: boolean) => void;
46
46
  }
47
47
  interface LoginPageMethodConfig {
48
48
  id: string;
49
- label: React__default.ReactNode;
50
- icon?: React__default.ReactNode;
49
+ label: react__default.ReactNode;
50
+ icon?: react__default.ReactNode;
51
51
  fields: LoginPageFieldConfig[];
52
- submitLabel: React__default.ReactNode;
53
- loadingLabel?: React__default.ReactNode;
52
+ submitLabel: react__default.ReactNode;
53
+ loadingLabel?: react__default.ReactNode;
54
54
  isLoading?: boolean;
55
55
  disabled?: boolean;
56
56
  hidden?: boolean;
57
57
  checkbox?: LoginPageCheckboxConfig;
58
- footer?: React__default.ReactNode;
58
+ footer?: react__default.ReactNode;
59
59
  footerAction?: {
60
- label: React__default.ReactNode;
60
+ label: react__default.ReactNode;
61
61
  disabled?: boolean;
62
62
  onClick: () => void;
63
63
  };
64
- onSubmit: (event: React__default.FormEvent<HTMLFormElement>) => void;
64
+ onSubmit: (event: react__default.FormEvent<HTMLFormElement>) => void;
65
65
  }
66
66
  interface LoginPageExternalMethodConfig {
67
67
  id: string;
68
- label: React__default.ReactNode;
68
+ label: react__default.ReactNode;
69
69
  providerType?: 'feishu' | 'dingtalk' | 'wework' | 'oidc' | string;
70
- icon?: React__default.ReactNode;
70
+ icon?: react__default.ReactNode;
71
71
  disabled?: boolean;
72
72
  onClick?: () => void;
73
- render?: (button: React__default.ReactElement) => React__default.ReactNode;
73
+ render?: (button: react__default.ReactElement) => react__default.ReactNode;
74
74
  }
75
75
  interface LoginPageCalloutConfig {
76
76
  tone?: 'info' | 'warning' | 'success' | 'danger';
77
- title: React__default.ReactNode;
78
- description?: React__default.ReactNode;
79
- detail?: React__default.ReactNode;
77
+ title: react__default.ReactNode;
78
+ description?: react__default.ReactNode;
79
+ detail?: react__default.ReactNode;
80
80
  action?: {
81
- label: React__default.ReactNode;
81
+ label: react__default.ReactNode;
82
82
  disabled?: boolean;
83
83
  onClick: () => void;
84
84
  };
85
85
  }
86
86
  interface LoginPageExternalPanelConfig {
87
- title?: React__default.ReactNode;
88
- description?: React__default.ReactNode;
89
- content: React__default.ReactNode;
90
- footer?: React__default.ReactNode;
87
+ title?: react__default.ReactNode;
88
+ description?: react__default.ReactNode;
89
+ content: react__default.ReactNode;
90
+ footer?: react__default.ReactNode;
91
91
  backAction?: {
92
- label: React__default.ReactNode;
92
+ label: react__default.ReactNode;
93
93
  onClick: () => void;
94
94
  };
95
95
  }
96
96
  interface LoginPageProps {
97
97
  className?: string;
98
- style?: React__default.CSSProperties;
98
+ style?: react__default.CSSProperties;
99
99
  background?: LoginPageBackgroundConfig;
100
100
  logo?: LoginPageLogoConfig;
101
101
  primaryColor?: string;
102
102
  radius?: string;
103
103
  customCss?: string;
104
- toolbar?: React__default.ReactNode;
105
- title?: React__default.ReactNode;
104
+ toolbar?: react__default.ReactNode;
105
+ title?: react__default.ReactNode;
106
106
  backAction?: {
107
- label: React__default.ReactNode;
108
- icon?: React__default.ReactNode;
107
+ label: react__default.ReactNode;
108
+ icon?: react__default.ReactNode;
109
109
  onClick: () => void;
110
110
  };
111
111
  methods: LoginPageMethodConfig[];
112
112
  activeMethodId?: string;
113
113
  defaultMethodId?: string;
114
114
  onMethodChange?: (methodId: string) => void;
115
- externalLabel?: React__default.ReactNode;
115
+ externalLabel?: react__default.ReactNode;
116
116
  externalMethods?: LoginPageExternalMethodConfig[];
117
117
  externalPanel?: LoginPageExternalPanelConfig;
118
118
  callout?: LoginPageCalloutConfig;
@@ -2,6 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode, ReactElement } from 'react';
3
3
  import { ToasterProps, ExternalToast, ToastT, ToastToDismiss } from 'sonner';
4
4
  export { ExternalToast, ToasterProps } from 'sonner';
5
+ import { q as MonkeysToastMessages } from '../../types-BkWanMMW.mjs';
5
6
 
6
7
  type ToastVariant = 'error' | 'warning' | 'success' | 'info';
7
8
  type ToastInput = Omit<ExternalToast, 'description'> & {
@@ -39,12 +40,7 @@ type ToastFeedEntry = {
39
40
  duration?: number;
40
41
  signature?: string;
41
42
  } | null | undefined;
42
- type ToastDefaultMessages = {
43
- errorTitle: string;
44
- warningTitle: string;
45
- defaultErrorDescription: string;
46
- defaultWarningDescription: string;
47
- };
43
+ type ToastDefaultMessages = MonkeysToastMessages;
48
44
  type ToastPromiseInput<T = unknown> = Promise<T> | (() => Promise<T>);
49
45
  type ToastPromiseReturn<T = unknown> = string | number | {
50
46
  unwrap: () => Promise<T>;
@@ -2,6 +2,7 @@ import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import { ReactNode, ReactElement } from 'react';
3
3
  import { ToasterProps, ExternalToast, ToastT, ToastToDismiss } from 'sonner';
4
4
  export { ExternalToast, ToasterProps } from 'sonner';
5
+ import { q as MonkeysToastMessages } from '../../types-BkWanMMW.js';
5
6
 
6
7
  type ToastVariant = 'error' | 'warning' | 'success' | 'info';
7
8
  type ToastInput = Omit<ExternalToast, 'description'> & {
@@ -39,12 +40,7 @@ type ToastFeedEntry = {
39
40
  duration?: number;
40
41
  signature?: string;
41
42
  } | null | undefined;
42
- type ToastDefaultMessages = {
43
- errorTitle: string;
44
- warningTitle: string;
45
- defaultErrorDescription: string;
46
- defaultWarningDescription: string;
47
- };
43
+ type ToastDefaultMessages = MonkeysToastMessages;
48
44
  type ToastPromiseInput<T = unknown> = Promise<T> | (() => Promise<T>);
49
45
  type ToastPromiseReturn<T = unknown> = string | number | {
50
46
  unwrap: () => Promise<T>;
@@ -5,14 +5,163 @@ var sonner = require('sonner');
5
5
  var jsxRuntime = require('react/jsx-runtime');
6
6
 
7
7
  // src/components/toast/index.tsx
8
+
9
+ // src/locale/en-US.ts
10
+ var enUS = {
11
+ locale: "en-US",
12
+ messages: {
13
+ pagination: {
14
+ navigation: "Pagination",
15
+ first: "First",
16
+ previous: "Previous",
17
+ next: "Next",
18
+ last: "Last",
19
+ page: ({ page, pageCount }) => `Page ${page} of ${pageCount}`,
20
+ currentPage: ({ page, pageCount }) => `Page ${page} of ${pageCount}, current page`,
21
+ emptyResults: "0 results",
22
+ range: ({ start, end, total }) => `${start}-${end} of ${total}`
23
+ },
24
+ dialog: {
25
+ close: "Close dialog"
26
+ },
27
+ dropdownMenu: {
28
+ actions: "Actions"
29
+ },
30
+ loading: {
31
+ spinner: "Loading"
32
+ },
33
+ layout: {
34
+ resizePanels: "Resize panels"
35
+ },
36
+ steps: {
37
+ label: "Progress",
38
+ current: "Current",
39
+ completed: "Completed",
40
+ error: "Error",
41
+ disabled: "Disabled"
42
+ },
43
+ numberInput: {
44
+ increment: "Increase value",
45
+ decrement: "Decrease value"
46
+ },
47
+ passwordInput: {
48
+ showPassword: "Show password",
49
+ hidePassword: "Hide password"
50
+ },
51
+ multiSelect: {
52
+ placeholder: "Select options",
53
+ empty: "No options",
54
+ removeOption: ({ value }) => `Remove ${value}`
55
+ },
56
+ table: {
57
+ dragColumn: ({ columnId }) => `Drag column ${columnId}`,
58
+ resizeColumn: ({ columnId }) => `Resize column ${columnId}`,
59
+ sortColumn: ({ columnId }) => columnId ? `Sort column ${columnId}` : "Sort column",
60
+ loadingRow: "Loading table row"
61
+ },
62
+ toolbar: {
63
+ theme: {
64
+ label: "Appearance",
65
+ toggle: "Toggle theme",
66
+ auto: "Auto",
67
+ light: "Light",
68
+ dark: "Dark"
69
+ },
70
+ language: {
71
+ label: "Language",
72
+ switch: "Switch language"
73
+ }
74
+ },
75
+ toast: {
76
+ errorTitle: "Error",
77
+ warningTitle: "Warning",
78
+ defaultErrorDescription: "Something went wrong.",
79
+ defaultWarningDescription: "Please check and try again."
80
+ },
81
+ dataExplorer: {
82
+ viewTree: {
83
+ actions: "More actions",
84
+ expand: "Expand",
85
+ collapse: "Collapse",
86
+ loading: "Loading...",
87
+ empty: "No views",
88
+ error: "Unable to load views"
89
+ }
90
+ },
91
+ workbench: {
92
+ interactiveTable: {
93
+ columnActions: "Column actions",
94
+ freezeColumn: "Freeze to left",
95
+ freezeEndColumn: "Freeze to right",
96
+ unfreezeColumn: "Unfreeze from left",
97
+ unfreezeEndColumn: "Unfreeze from right",
98
+ unfreezeAllColumns: "Unfreeze all columns",
99
+ resetColumnWidth: "Reset column width",
100
+ frozenColumnTitle: "Frozen column"
101
+ }
102
+ }
103
+ }
104
+ };
105
+
106
+ // src/locale/resolve-locale.ts
107
+ function mergeMonkeysLocaleMessages(base, override) {
108
+ return base;
109
+ }
110
+ var defaultMonkeysLocale = {
111
+ locale: enUS.locale,
112
+ messages: mergeMonkeysLocaleMessages(
113
+ enUS.messages
114
+ )
115
+ };
116
+
117
+ // src/provider/context.ts
118
+ var EMPTY_ENVIRONMENT = Object.freeze({});
119
+ var EMPTY_PORTAL = Object.freeze({});
120
+ var MONKEYS_PROVIDER_CONTEXTS_KEY = /* @__PURE__ */ Symbol.for(
121
+ "@inf-monkeys-tech/monkeys-design/provider-context@1"
122
+ );
123
+ function createMonkeysProviderContexts() {
124
+ return Object.freeze({
125
+ locale: react.createContext({
126
+ ...defaultMonkeysLocale,
127
+ provided: false
128
+ }),
129
+ theme: react.createContext({
130
+ provided: false
131
+ }),
132
+ direction: react.createContext({
133
+ provided: false
134
+ }),
135
+ environment: react.createContext({
136
+ provided: false,
137
+ environment: EMPTY_ENVIRONMENT,
138
+ portal: EMPTY_PORTAL
139
+ })
140
+ });
141
+ }
142
+ function getMonkeysProviderContexts() {
143
+ const host = globalThis;
144
+ const existing = host[MONKEYS_PROVIDER_CONTEXTS_KEY];
145
+ if (existing) return existing;
146
+ const contexts = createMonkeysProviderContexts();
147
+ Object.defineProperty(host, MONKEYS_PROVIDER_CONTEXTS_KEY, {
148
+ value: contexts,
149
+ enumerable: false,
150
+ configurable: false,
151
+ writable: false
152
+ });
153
+ return contexts;
154
+ }
155
+ var providerContexts = getMonkeysProviderContexts();
156
+ var MonkeysLocaleContext = providerContexts.locale;
157
+ providerContexts.theme;
158
+ providerContexts.direction;
159
+ providerContexts.environment;
160
+ function useMonkeysLocaleMessages() {
161
+ return react.useContext(MonkeysLocaleContext).messages;
162
+ }
8
163
  var DEFAULT_TOAST_DURATION = 5200;
9
164
  var TOAST_DEDUPE_WINDOW = 1200;
10
- var DEFAULT_MESSAGES = {
11
- errorTitle: "Error",
12
- warningTitle: "Warning",
13
- defaultErrorDescription: "Something went wrong.",
14
- defaultWarningDescription: "Please check and try again."
15
- };
16
165
  var ACTIONABLE_TOAST_PATTERNS = [
17
166
  /^(please|select|enter|provide|write|choose|confirm|fill)\b/i,
18
167
  /^(请|请选择|请先|请输入|请填写|请确认|请留意)/
@@ -74,8 +223,8 @@ function shouldEmitToast(signature) {
74
223
  function translateMessage(translate, value) {
75
224
  return translate ? translate(value, { defaultValue: value }) : value;
76
225
  }
77
- function getDefaultMessage(messages, key) {
78
- return messages?.[key] ?? DEFAULT_MESSAGES[key];
226
+ function getDefaultMessage(messages, localeMessages, key) {
227
+ return messages?.[key] ?? localeMessages[key];
79
228
  }
80
229
  function emitToast(input) {
81
230
  const { title, description, duration, variant = "info", ...options } = input;
@@ -164,6 +313,7 @@ function MonkeysToastProvider({ children, toasterProps }) {
164
313
  }
165
314
  function useToastOnValue(value, options = {}) {
166
315
  const previousSignatureRef = react.useRef(null);
316
+ const localeMessages = useMonkeysLocaleMessages().toast;
167
317
  const translate = options.translate;
168
318
  react.useEffect(() => {
169
319
  if (!value) {
@@ -176,12 +326,17 @@ function useToastOnValue(value, options = {}) {
176
326
  const rawDescription = resolveValue(options.description, value) ?? extractToastMessage(value, rawFallbackDescription || "");
177
327
  const title = translateMessage(
178
328
  translate,
179
- rawTitle || getDefaultMessage(options.messages, variant === "warning" ? "warningTitle" : "errorTitle")
329
+ rawTitle || getDefaultMessage(
330
+ options.messages,
331
+ localeMessages,
332
+ variant === "warning" ? "warningTitle" : "errorTitle"
333
+ )
180
334
  );
181
335
  const description = translateMessage(
182
336
  translate,
183
337
  rawDescription || getDefaultMessage(
184
338
  options.messages,
339
+ localeMessages,
185
340
  variant === "warning" ? "defaultWarningDescription" : "defaultErrorDescription"
186
341
  )
187
342
  );
@@ -207,24 +362,31 @@ function useToastOnValue(value, options = {}) {
207
362
  options.signature,
208
363
  options.title,
209
364
  options.variant,
365
+ localeMessages,
210
366
  translate,
211
367
  value
212
368
  ]);
213
369
  }
214
370
  function useToastFeed(items, options = {}) {
215
371
  const previousVisibleSignaturesRef = react.useRef(/* @__PURE__ */ new Set());
372
+ const localeMessages = useMonkeysLocaleMessages().toast;
216
373
  const translate = options.translate;
217
374
  const emitItem = react.useCallback(
218
375
  (item, index, visibleSignatures) => {
219
376
  const variant = item.variant ?? "info";
220
377
  const title = translateMessage(
221
378
  translate,
222
- item.title || getDefaultMessage(options.messages, variant === "warning" ? "warningTitle" : "errorTitle")
379
+ item.title || getDefaultMessage(
380
+ options.messages,
381
+ localeMessages,
382
+ variant === "warning" ? "warningTitle" : "errorTitle"
383
+ )
223
384
  );
224
385
  const description = translateMessage(
225
386
  translate,
226
387
  item.description || getDefaultMessage(
227
388
  options.messages,
389
+ localeMessages,
228
390
  variant === "warning" ? "defaultWarningDescription" : "defaultErrorDescription"
229
391
  )
230
392
  );
@@ -240,7 +402,7 @@ function useToastFeed(items, options = {}) {
240
402
  duration: item.duration
241
403
  });
242
404
  },
243
- [options.messages, translate]
405
+ [localeMessages, options.messages, translate]
244
406
  );
245
407
  react.useEffect(() => {
246
408
  const visibleSignatures = /* @__PURE__ */ new Set();