@infonomic/uikit 5.44.0 → 6.0.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 (180) hide show
  1. package/README.md +12 -3
  2. package/dist/components/accordion/accordion.d.ts +9 -9
  3. package/dist/components/accordion/accordion.d.ts.map +1 -1
  4. package/dist/components/accordion/accordion.js +4 -4
  5. package/dist/components/accordion/accordion.module.css +6 -5
  6. package/dist/components/accordion/accordion_module.css +4 -4
  7. package/dist/components/avatar/avatar.js +2 -2
  8. package/dist/components/badge/badge.d.ts +5 -13
  9. package/dist/components/badge/badge.d.ts.map +1 -1
  10. package/dist/components/badge/badge.js +12 -9
  11. package/dist/components/button/button-group.d.ts +9 -7
  12. package/dist/components/button/button-group.d.ts.map +1 -1
  13. package/dist/components/button/button-group.js +26 -36
  14. package/dist/components/button/button.d.ts +6 -13
  15. package/dist/components/button/button.d.ts.map +1 -1
  16. package/dist/components/button/button.js +19 -18
  17. package/dist/components/button/button.module.css +32 -54
  18. package/dist/components/button/button_module.css +7 -10
  19. package/dist/components/button/combo-button.d.ts +1 -1
  20. package/dist/components/button/combo-button.d.ts.map +1 -1
  21. package/dist/components/button/combo-button.js +13 -9
  22. package/dist/components/button/combo-button.module.css +16 -7
  23. package/dist/components/button/combo-button_module.css +22 -4
  24. package/dist/components/button/icon-button.d.ts +2 -3
  25. package/dist/components/button/icon-button.d.ts.map +1 -1
  26. package/dist/components/card/card.d.ts +5 -12
  27. package/dist/components/card/card.d.ts.map +1 -1
  28. package/dist/components/card/card.js +13 -9
  29. package/dist/components/chips/chip.d.ts +5 -11
  30. package/dist/components/chips/chip.d.ts.map +1 -1
  31. package/dist/components/chips/chip.js +36 -28
  32. package/dist/components/chips/chip.module.css +22 -36
  33. package/dist/components/chips/chip_module.css +3 -6
  34. package/dist/components/dropdown/dropdown.d.ts +28 -14
  35. package/dist/components/dropdown/dropdown.d.ts.map +1 -1
  36. package/dist/components/dropdown/dropdown.js +34 -20
  37. package/dist/components/forms/calendar.d.ts +1 -1
  38. package/dist/components/forms/calendar.d.ts.map +1 -1
  39. package/dist/components/forms/calendar.js +38 -29
  40. package/dist/components/forms/checkbox.astro +13 -8
  41. package/dist/components/forms/checkbox.d.ts +6 -2
  42. package/dist/components/forms/checkbox.d.ts.map +1 -1
  43. package/dist/components/forms/checkbox.js +11 -7
  44. package/dist/components/forms/checkbox.module.css +20 -20
  45. package/dist/components/forms/checkbox_module.css +13 -10
  46. package/dist/components/forms/input.module.css +10 -11
  47. package/dist/components/forms/input_module.css +3 -5
  48. package/dist/components/forms/radio-group.d.ts +6 -5
  49. package/dist/components/forms/radio-group.d.ts.map +1 -1
  50. package/dist/components/forms/radio-group.js +9 -4
  51. package/dist/components/forms/radio-group.module.css +13 -22
  52. package/dist/components/forms/radio-group_module.css +6 -24
  53. package/dist/components/forms/select.d.ts +4 -5
  54. package/dist/components/forms/select.d.ts.map +1 -1
  55. package/dist/components/forms/select.js +27 -29
  56. package/dist/components/forms/select.module.css +22 -22
  57. package/dist/components/forms/select.module.js +15 -15
  58. package/dist/components/forms/select_module.css +15 -15
  59. package/dist/components/notifications/@types/toast.d.ts +9 -7
  60. package/dist/components/notifications/@types/toast.d.ts.map +1 -1
  61. package/dist/components/notifications/toast.d.ts +12 -16
  62. package/dist/components/notifications/toast.d.ts.map +1 -1
  63. package/dist/components/notifications/toast.js +73 -57
  64. package/dist/components/notifications/toast.module.css +151 -177
  65. package/dist/components/notifications/toast.module.js +8 -12
  66. package/dist/components/notifications/toast_module.css +114 -159
  67. package/dist/components/pager/first-button.d.ts +2 -2
  68. package/dist/components/pager/first-button.d.ts.map +1 -1
  69. package/dist/components/pager/first-button.js +23 -16
  70. package/dist/components/pager/last-button.d.ts +2 -2
  71. package/dist/components/pager/last-button.d.ts.map +1 -1
  72. package/dist/components/pager/last-button.js +23 -16
  73. package/dist/components/pager/next-button.d.ts +2 -2
  74. package/dist/components/pager/next-button.d.ts.map +1 -1
  75. package/dist/components/pager/next-button.js +27 -20
  76. package/dist/components/pager/number-button.d.ts +2 -2
  77. package/dist/components/pager/number-button.d.ts.map +1 -1
  78. package/dist/components/pager/number-button.js +28 -23
  79. package/dist/components/pager/pagination.d.ts +8 -13
  80. package/dist/components/pager/pagination.d.ts.map +1 -1
  81. package/dist/components/pager/previous-button.d.ts +2 -2
  82. package/dist/components/pager/previous-button.d.ts.map +1 -1
  83. package/dist/components/pager/previous-button.js +25 -18
  84. package/dist/components/scroll-area/scroll-area.d.ts +2 -2
  85. package/dist/components/scroll-area/scroll-area.d.ts.map +1 -1
  86. package/dist/components/scroll-area/scroll-area.js +4 -2
  87. package/dist/components/tabs/tabs.d.ts +13 -13
  88. package/dist/components/tabs/tabs.d.ts.map +1 -1
  89. package/dist/components/tabs/tabs.js +8 -8
  90. package/dist/components/tabs/tabs.module.css +8 -17
  91. package/dist/components/tabs/tabs_module.css +1 -1
  92. package/dist/components/tooltip/tooltip.d.ts +6 -8
  93. package/dist/components/tooltip/tooltip.d.ts.map +1 -1
  94. package/dist/components/tooltip/tooltip.js +49 -20
  95. package/dist/components/tooltip/tooltip.module.css +43 -10
  96. package/dist/components/tooltip/tooltip.module.js +7 -1
  97. package/dist/components/tooltip/tooltip_module.css +36 -4
  98. package/dist/hooks/use-focus-trap/index.d.ts +2 -0
  99. package/dist/hooks/use-focus-trap/index.d.ts.map +1 -0
  100. package/dist/hooks/use-focus-trap/index.js +1 -0
  101. package/dist/hooks/use-focus-trap/scope-tab.d.ts +11 -0
  102. package/dist/hooks/use-focus-trap/scope-tab.d.ts.map +1 -0
  103. package/dist/hooks/use-focus-trap/scope-tab.js +19 -0
  104. package/dist/hooks/use-focus-trap/tabbable.d.ts +14 -0
  105. package/dist/hooks/use-focus-trap/tabbable.d.ts.map +1 -0
  106. package/dist/hooks/use-focus-trap/tabbable.js +36 -0
  107. package/dist/hooks/use-focus-trap/use-focus-trap.d.ts +11 -0
  108. package/dist/hooks/use-focus-trap/use-focus-trap.d.ts.map +1 -0
  109. package/dist/hooks/use-focus-trap/use-focus-trap.js +45 -0
  110. package/dist/icons/chevron-up-icon.d.ts +7 -0
  111. package/dist/icons/chevron-up-icon.d.ts.map +1 -0
  112. package/dist/icons/chevron-up-icon.js +27 -0
  113. package/dist/lib/ripple.d.ts +25 -0
  114. package/dist/lib/ripple.d.ts.map +1 -0
  115. package/dist/lib/ripple.js +53 -0
  116. package/dist/styles/components-vanilla.css +1 -1
  117. package/dist/widgets/datepicker/datepicker.d.ts +1 -1
  118. package/dist/widgets/datepicker/datepicker.d.ts.map +1 -1
  119. package/dist/widgets/datepicker/datepicker.js +118 -116
  120. package/dist/widgets/datepicker/datepicker.module.css +6 -5
  121. package/dist/widgets/datepicker/datepicker_module.css +4 -4
  122. package/dist/widgets/drawer/drawer-wrapper.d.ts.map +1 -1
  123. package/dist/widgets/drawer/drawer-wrapper.js +1 -1
  124. package/dist/widgets/modal/modal-wrapper.d.ts.map +1 -1
  125. package/dist/widgets/modal/modal-wrapper.js +1 -1
  126. package/package.json +2 -6
  127. package/src/components/accordion/accordion.module.css +6 -5
  128. package/src/components/accordion/accordion.stories.tsx +10 -13
  129. package/src/components/accordion/accordion.tsx +13 -13
  130. package/src/components/avatar/avatar.tsx +2 -2
  131. package/src/components/badge/badge.tsx +20 -29
  132. package/src/components/button/button-group.tsx +60 -44
  133. package/src/components/button/button.module.css +32 -54
  134. package/src/components/button/button.tsx +35 -47
  135. package/src/components/button/combo-button.module.css +16 -7
  136. package/src/components/button/combo-button.tsx +17 -9
  137. package/src/components/button/icon-button.tsx +3 -5
  138. package/src/components/card/card.tsx +20 -32
  139. package/src/components/chips/chip.module.css +22 -36
  140. package/src/components/chips/chip.stories.tsx +2 -2
  141. package/src/components/chips/chip.tsx +59 -57
  142. package/src/components/dropdown/dropdown.stories.tsx +2 -4
  143. package/src/components/dropdown/dropdown.tsx +86 -40
  144. package/src/components/forms/calendar.tsx +43 -33
  145. package/src/components/forms/checkbox-group.tsx +1 -1
  146. package/src/components/forms/checkbox.astro +13 -8
  147. package/src/components/forms/checkbox.module.css +20 -20
  148. package/src/components/forms/checkbox.tsx +11 -6
  149. package/src/components/forms/input.module.css +10 -11
  150. package/src/components/forms/radio-group.module.css +13 -22
  151. package/src/components/forms/radio-group.tsx +13 -11
  152. package/src/components/forms/select.module.css +22 -22
  153. package/src/components/forms/select.tsx +36 -33
  154. package/src/components/notifications/@types/toast.ts +9 -7
  155. package/src/components/notifications/toast.module.css +151 -177
  156. package/src/components/notifications/toast.stories.tsx +21 -23
  157. package/src/components/notifications/toast.tsx +90 -86
  158. package/src/components/pager/first-button.tsx +24 -26
  159. package/src/components/pager/last-button.tsx +24 -25
  160. package/src/components/pager/next-button.tsx +24 -23
  161. package/src/components/pager/number-button.tsx +37 -36
  162. package/src/components/pager/pagination.tsx +4 -11
  163. package/src/components/pager/previous-button.tsx +24 -24
  164. package/src/components/scroll-area/scroll-area.tsx +3 -3
  165. package/src/components/tabs/tabs.module.css +8 -17
  166. package/src/components/tabs/tabs.stories.tsx +5 -5
  167. package/src/components/tabs/tabs.tsx +17 -16
  168. package/src/components/tooltip/tooltip.module.css +43 -10
  169. package/src/components/tooltip/tooltip.stories.tsx +4 -4
  170. package/src/components/tooltip/tooltip.tsx +56 -28
  171. package/src/hooks/use-focus-trap/index.ts +1 -0
  172. package/src/hooks/use-focus-trap/scope-tab.ts +48 -0
  173. package/src/hooks/use-focus-trap/tabbable.ts +72 -0
  174. package/src/hooks/use-focus-trap/use-focus-trap.ts +83 -0
  175. package/src/icons/chevron-up-icon.tsx +37 -0
  176. package/src/lib/ripple.ts +95 -0
  177. package/src/widgets/datepicker/datepicker.module.css +6 -5
  178. package/src/widgets/datepicker/datepicker.tsx +137 -135
  179. package/src/widgets/drawer/drawer-wrapper.tsx +1 -1
  180. package/src/widgets/modal/modal-wrapper.tsx +1 -1
@@ -7,13 +7,13 @@ infonomic-components;
7
7
 
8
8
  @layer infonomic-components {
9
9
 
10
- .content,
11
- :global(.infonomic-select-content) {
10
+ .positioner,
11
+ :global(.infonomic-select-positioner) {
12
12
  z-index: 50;
13
13
  }
14
14
 
15
- .viewport,
16
- :global(.infonomic-select-viewport) {
15
+ .popup,
16
+ :global(.infonomic-select-popup) {
17
17
  z-index: 50;
18
18
  margin-top: 2px;
19
19
  border: 1px solid var(--surface-panel-border);
@@ -23,33 +23,33 @@ infonomic-components;
23
23
  padding: 6px;
24
24
  }
25
25
 
26
- .viewport-xs {
26
+ .popup-xs {
27
27
  padding: 4px;
28
28
  }
29
29
 
30
- .viewport-sm {
30
+ .popup-sm {
31
31
  padding: 4px;
32
32
  }
33
33
 
34
- .viewport-md {
34
+ .popup-md {
35
35
  padding: 6px;
36
36
  }
37
37
 
38
- .viewport-lg {
38
+ .popup-lg {
39
39
  padding: 6px;
40
40
  }
41
41
 
42
- .viewport-xl {
42
+ .popup-xl {
43
43
  padding: 8px;
44
44
  }
45
45
 
46
- .group,
47
- :global(.infonomic-select-group) {
46
+ .list,
47
+ :global(.infonomic-select-list) {
48
48
  z-index: 50;
49
49
  }
50
50
 
51
- .scroll-button,
52
- :global(.infonomic-select-scroll-button) {
51
+ .scroll-arrow,
52
+ :global(.infonomic-select-scroll-arrow) {
53
53
  display: flex;
54
54
  align-items: center;
55
55
  justify-content: center;
@@ -101,7 +101,7 @@ infonomic-components;
101
101
  }
102
102
 
103
103
  /* size variants — treat current values as 'md' */
104
- .viewport-xs .select-item {
104
+ .popup-xs .select-item {
105
105
  font-size: 0.75rem;
106
106
  height: 24px;
107
107
  padding-right: 28px;
@@ -109,11 +109,11 @@ infonomic-components;
109
109
  border-radius: 4px;
110
110
  }
111
111
 
112
- .viewport-xs .select-item-indicator {
112
+ .popup-xs .select-item-indicator {
113
113
  width: 20px;
114
114
  }
115
115
 
116
- .viewport-sm .select-item {
116
+ .popup-sm .select-item {
117
117
  font-size: 0.875rem;
118
118
  height: 28px;
119
119
  padding-right: 30px;
@@ -121,13 +121,13 @@ infonomic-components;
121
121
  border-radius: 5px;
122
122
  }
123
123
 
124
- .viewport-sm .select-item-indicator {
124
+ .popup-sm .select-item-indicator {
125
125
  width: 22px;
126
126
  }
127
127
 
128
- /* .viewport-md — inherits base .select-item values */
128
+ /* .popup-md — inherits base .select-item values */
129
129
 
130
- .viewport-lg .select-item {
130
+ .popup-lg .select-item {
131
131
  font-size: 1.125rem;
132
132
  height: 34px;
133
133
  padding-right: 32px;
@@ -135,11 +135,11 @@ infonomic-components;
135
135
  border-radius: 6px;
136
136
  }
137
137
 
138
- .viewport-lg .select-item-indicator {
138
+ .popup-lg .select-item-indicator {
139
139
  width: 24px;
140
140
  }
141
141
 
142
- .viewport-xl .select-item {
142
+ .popup-xl .select-item {
143
143
  font-size: 1.25rem;
144
144
  height: 40px;
145
145
  padding-right: 36px;
@@ -147,7 +147,7 @@ infonomic-components;
147
147
  border-radius: 8px;
148
148
  }
149
149
 
150
- .viewport-xl .select-item-indicator {
150
+ .popup-xl .select-item-indicator {
151
151
  width: 28px;
152
152
  }
153
153
  }
@@ -1,20 +1,20 @@
1
1
  import "./select_module.css";
2
2
  const select_module = {
3
- content: "content-Dr272c",
4
- viewport: "viewport-avysx0",
5
- "viewport-xs": "viewport-xs-ddEB1m",
6
- viewportXs: "viewport-xs-ddEB1m",
7
- "viewport-sm": "viewport-sm-fUHdZh",
8
- viewportSm: "viewport-sm-fUHdZh",
9
- "viewport-md": "viewport-md-GHDx8O",
10
- viewportMd: "viewport-md-GHDx8O",
11
- "viewport-lg": "viewport-lg-joLSnL",
12
- viewportLg: "viewport-lg-joLSnL",
13
- "viewport-xl": "viewport-xl-RoyZD9",
14
- viewportXl: "viewport-xl-RoyZD9",
15
- group: "group-MyzEdB",
16
- "scroll-button": "scroll-button-JaxK2W",
17
- scrollButton: "scroll-button-JaxK2W",
3
+ positioner: "positioner-iHUR0P",
4
+ popup: "popup-vKPzXR",
5
+ "popup-xs": "popup-xs-MqixM9",
6
+ popupXs: "popup-xs-MqixM9",
7
+ "popup-sm": "popup-sm-SgOWFs",
8
+ popupSm: "popup-sm-SgOWFs",
9
+ "popup-md": "popup-md-TQK5CQ",
10
+ popupMd: "popup-md-TQK5CQ",
11
+ "popup-lg": "popup-lg-Y2cTTg",
12
+ popupLg: "popup-lg-Y2cTTg",
13
+ "popup-xl": "popup-xl-FuZi4o",
14
+ popupXl: "popup-xl-FuZi4o",
15
+ list: "list-fhD9vn",
16
+ "scroll-arrow": "scroll-arrow-KHl0WA",
17
+ scrollArrow: "scroll-arrow-KHl0WA",
18
18
  "select-item": "select-item-HiANA0",
19
19
  selectItem: "select-item-HiANA0",
20
20
  "select-item-indicator": "select-item-indicator-nXFGV7",
@@ -1,11 +1,11 @@
1
1
  @layer infonomic-base, infonomic-functional, infonomic-utilities, infonomic-theme, infonomic-typography;
2
2
 
3
3
  @layer infonomic-components {
4
- :is(.content-Dr272c, .infonomic-select-content) {
4
+ :is(.positioner-iHUR0P, .infonomic-select-positioner) {
5
5
  z-index: 50;
6
6
  }
7
7
 
8
- :is(.viewport-avysx0, .infonomic-select-viewport) {
8
+ :is(.popup-vKPzXR, .infonomic-select-popup) {
9
9
  z-index: 50;
10
10
  border: 1px solid var(--surface-panel-border);
11
11
  box-shadow: var(--shadow-md);
@@ -15,23 +15,23 @@
15
15
  padding: 6px;
16
16
  }
17
17
 
18
- .viewport-xs-ddEB1m, .viewport-sm-fUHdZh {
18
+ .popup-xs-MqixM9, .popup-sm-SgOWFs {
19
19
  padding: 4px;
20
20
  }
21
21
 
22
- .viewport-md-GHDx8O, .viewport-lg-joLSnL {
22
+ .popup-md-TQK5CQ, .popup-lg-Y2cTTg {
23
23
  padding: 6px;
24
24
  }
25
25
 
26
- .viewport-xl-RoyZD9 {
26
+ .popup-xl-FuZi4o {
27
27
  padding: 8px;
28
28
  }
29
29
 
30
- :is(.group-MyzEdB, .infonomic-select-group) {
30
+ :is(.list-fhD9vn, .infonomic-select-list) {
31
31
  z-index: 50;
32
32
  }
33
33
 
34
- :is(.scroll-button-JaxK2W, .infonomic-select-scroll-button) {
34
+ :is(.scroll-arrow-KHl0WA, .infonomic-select-scroll-arrow) {
35
35
  color: var(--surface-item-text);
36
36
  border: 1px solid var(--surface-panel-border);
37
37
  box-shadow: var(--shadow-md);
@@ -90,7 +90,7 @@
90
90
  left: 0;
91
91
  }
92
92
 
93
- .viewport-xs-ddEB1m .select-item-HiANA0 {
93
+ .popup-xs-MqixM9 .select-item-HiANA0 {
94
94
  border-radius: 4px;
95
95
  height: 24px;
96
96
  padding-left: 20px;
@@ -98,11 +98,11 @@
98
98
  font-size: .75rem;
99
99
  }
100
100
 
101
- .viewport-xs-ddEB1m .select-item-indicator-nXFGV7 {
101
+ .popup-xs-MqixM9 .select-item-indicator-nXFGV7 {
102
102
  width: 20px;
103
103
  }
104
104
 
105
- .viewport-sm-fUHdZh .select-item-HiANA0 {
105
+ .popup-sm-SgOWFs .select-item-HiANA0 {
106
106
  border-radius: 5px;
107
107
  height: 28px;
108
108
  padding-left: 22px;
@@ -110,11 +110,11 @@
110
110
  font-size: .875rem;
111
111
  }
112
112
 
113
- .viewport-sm-fUHdZh .select-item-indicator-nXFGV7 {
113
+ .popup-sm-SgOWFs .select-item-indicator-nXFGV7 {
114
114
  width: 22px;
115
115
  }
116
116
 
117
- .viewport-lg-joLSnL .select-item-HiANA0 {
117
+ .popup-lg-Y2cTTg .select-item-HiANA0 {
118
118
  border-radius: 6px;
119
119
  height: 34px;
120
120
  padding-left: 24px;
@@ -122,11 +122,11 @@
122
122
  font-size: 1.125rem;
123
123
  }
124
124
 
125
- .viewport-lg-joLSnL .select-item-indicator-nXFGV7 {
125
+ .popup-lg-Y2cTTg .select-item-indicator-nXFGV7 {
126
126
  width: 24px;
127
127
  }
128
128
 
129
- .viewport-xl-RoyZD9 .select-item-HiANA0 {
129
+ .popup-xl-FuZi4o .select-item-HiANA0 {
130
130
  border-radius: 8px;
131
131
  height: 40px;
132
132
  padding-left: 28px;
@@ -134,7 +134,7 @@
134
134
  font-size: 1.25rem;
135
135
  }
136
136
 
137
- .viewport-xl-RoyZD9 .select-item-indicator-nXFGV7 {
137
+ .popup-xl-FuZi4o .select-item-indicator-nXFGV7 {
138
138
  width: 28px;
139
139
  }
140
140
  }
@@ -19,14 +19,14 @@ import type { Icons as i, Position as p, Intent as t } from '../../@types/shared
19
19
  */
20
20
  export type Intent = 'primary' | t;
21
21
  /**
22
- * Screen corner position for the toast container.
22
+ * Screen corner position for the toast viewport.
23
23
  *
24
24
  * - `top-left` — top-left corner of the viewport
25
25
  * - `top-right` — top-right corner of the viewport (default)
26
26
  * - `bottom-left` — bottom-left corner of the viewport
27
27
  * - `bottom-right` — bottom-right corner of the viewport
28
28
  *
29
- * @default 'top-right'
29
+ * @default 'bottom-right'
30
30
  */
31
31
  export type Position = 'top-right' | p;
32
32
  /**
@@ -35,10 +35,12 @@ export type Position = 'top-right' | p;
35
35
  */
36
36
  export type IconType = 'success' | i;
37
37
  /**
38
- * Callback fired when the toast's open/visible state changes.
39
- * Use this to sync dismissal with external state.
40
- *
41
- * @param open - `true` when the toast becomes visible, `false` when dismissed
38
+ * Custom data passed to each toast via the toast manager's `add()` method.
42
39
  */
43
- export type OnOpenChange = (open: boolean) => void;
40
+ export interface ToastData {
41
+ intent?: Intent;
42
+ iconType?: IconType;
43
+ icon?: boolean;
44
+ close?: boolean;
45
+ }
44
46
  //# sourceMappingURL=toast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../../src/components/notifications/@types/toast.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,wBAAwB,CAAA;AAEpF;;GAEG;AAIH;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,CAAC,CAAA;AAElC;;;;;;;;;GASG;AACH,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAA;AAEtC;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAA;AAEpC;;;;;GAKG;AACH,MAAM,MAAM,YAAY,GAAG,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAA"}
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../../src/components/notifications/@types/toast.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,IAAI,CAAC,EAAE,QAAQ,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC,EAAE,MAAM,wBAAwB,CAAA;AAEpF;;GAEG;AAIH;;;;;;;;;;;;;;GAcG;AACH,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,CAAC,CAAA;AAElC;;;;;;;;;GASG;AACH,MAAM,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAA;AAEtC;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,CAAC,CAAA;AAEpC;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB"}
@@ -1,21 +1,17 @@
1
1
  import React from 'react';
2
- import { Toast as ToastPrimitive } from 'radix-ui';
3
- import type { IconType, Intent, OnOpenChange, Position } from './@types/toast.js';
4
- export interface ToastProps extends React.InputHTMLAttributes<HTMLLIElement> {
5
- intent?: Intent;
2
+ import type { Position, ToastData } from './@types/toast.js';
3
+ export declare const useToastManager: () => import("@base-ui/react").UseToastManagerReturnValue<ToastData>;
4
+ export declare const createToastManager: () => import("@base-ui/react").ToastManager<ToastData>;
5
+ export interface ToastProviderProps {
6
+ children: React.ReactNode;
7
+ timeout?: number;
8
+ limit?: number;
9
+ toastManager?: ReturnType<typeof createToastManager>;
10
+ }
11
+ export declare function ToastProvider({ children, timeout, limit, toastManager, }: ToastProviderProps): React.JSX.Element;
12
+ export interface ToastViewportProps {
6
13
  position?: Position;
7
- title: string;
8
- message: string;
9
- icon?: boolean;
10
- iconType?: IconType;
11
- close?: boolean;
12
- open: boolean;
13
- onOpenChange: OnOpenChange;
14
14
  className?: string;
15
15
  }
16
- export declare const ToastProvider: React.FC<ToastPrimitive.ToastProviderProps>;
17
- export declare const ToastViewport: React.ForwardRefExoticComponent<ToastPrimitive.ToastViewportProps & React.RefAttributes<HTMLOListElement>>;
18
- export declare const Toast: ({ ref, intent, position, title, message, icon, iconType, close, open, onOpenChange, className, }: ToastProps & {
19
- ref?: React.RefObject<HTMLLIElement>;
20
- }) => React.JSX.Element;
16
+ export declare function ToastViewport({ position, className }: ToastViewportProps): React.JSX.Element;
21
17
  //# sourceMappingURL=toast.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/components/notifications/toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,EAAE,KAAK,IAAI,cAAc,EAAE,MAAM,UAAU,CAAA;AASlD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AASjF,MAAM,WAAW,UAAW,SAAQ,KAAK,CAAC,mBAAmB,CAAC,aAAa,CAAC;IAC1E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,EAAE,OAAO,CAAA;IACb,YAAY,EAAE,YAAY,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,eAAO,MAAM,aAAa,6CAA0B,CAAA;AACpD,eAAO,MAAM,aAAa,4GAA0B,CAAA;AAIpD,eAAO,MAAM,KAAK,GAAkB,kGAYjC,UAAU,GAAG;IACd,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;CACrC,sBAqEA,CAAA"}
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/components/notifications/toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAYzB,OAAO,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAU5D,eAAO,MAAM,eAAe,sEAA4C,CAAA;AACxE,eAAO,MAAM,kBAAkB,wDAA+C,CAAA;AAE9E,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,YAAY,CAAC,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAA;CACrD;AAED,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAc,EACd,KAAS,EACT,YAAY,GACb,EAAE,kBAAkB,qBAMpB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,wBAAgB,aAAa,CAAC,EAAE,QAAyB,EAAE,SAAS,EAAE,EAAE,kBAAkB,qBAazF"}
@@ -1,9 +1,8 @@
1
1
  "use client";
2
2
  import { jsx, jsxs } from "react/jsx-runtime";
3
3
  import react from "react";
4
- import { useFocusTrap, useMergedRef } from "@mantine/hooks";
4
+ import { Toast } from "@base-ui/react/toast";
5
5
  import classnames from "classnames";
6
- import { Toast as external_radix_ui_Toast } from "radix-ui";
7
6
  import { CloseIcon } from "../../icons/close-icon.js";
8
7
  import { DangerIcon } from "../../icons/danger-icon.js";
9
8
  import { InfoIcon } from "../../icons/info-icon.js";
@@ -17,66 +16,83 @@ const toastIcons = {
17
16
  warning: WarningIcon,
18
17
  danger: DangerIcon
19
18
  };
20
- const ToastProvider = external_radix_ui_Toast.Provider;
21
- const ToastViewport = external_radix_ui_Toast.Viewport;
22
- const toast_Toast = function({ ref, intent = 'success', position = 'bottom-right', title, message, icon = true, iconType = 'success', close = true, open, onOpenChange, className }) {
19
+ const useToastManager = Toast.useToastManager;
20
+ const createToastManager = Toast.createToastManager;
21
+ function ToastProvider({ children, timeout = 5000, limit = 3, toastManager }) {
22
+ return /*#__PURE__*/ jsx(Toast.Provider, {
23
+ timeout: timeout,
24
+ limit: limit,
25
+ toastManager: toastManager,
26
+ children: children
27
+ });
28
+ }
29
+ function ToastViewport({ position = 'bottom-right', className }) {
30
+ const { toasts } = Toast.useToastManager();
31
+ return /*#__PURE__*/ jsx(Toast.Portal, {
32
+ children: /*#__PURE__*/ jsx(Toast.Viewport, {
33
+ className: classnames('infonomic-toast-viewport', toast_module.viewport, toast_module[position], className),
34
+ children: toasts.map((toast)=>/*#__PURE__*/ jsx(ToastItem, {
35
+ toast: toast
36
+ }, toast.id))
37
+ })
38
+ });
39
+ }
40
+ function ToastItem({ toast }) {
41
+ const { intent = 'success', iconType = 'success', icon = true, close = true } = toast.data ?? {};
23
42
  const eventDateRef = react.useRef(new Date());
24
- react.useRef(0);
25
- const focusTrapRef = useFocusTrap();
26
- const mergedRef = useMergedRef(ref, focusTrapRef);
27
43
  const Icon = toastIcons[iconType];
28
- const handleOnClose = ()=>{
29
- if (null != onOpenChange) onOpenChange(false);
30
- };
31
- return /*#__PURE__*/ jsxs(external_radix_ui_Toast.Root, {
32
- ref: mergedRef,
33
- className: classnames('infonomic-toast', toast_module.root, toast_module[position]),
34
- open: open,
35
- onOpenChange: onOpenChange,
36
- children: [
37
- /*#__PURE__*/ jsxs("div", {
38
- className: classnames('infonomic-toast-header', toast_module.header),
39
- children: [
40
- /*#__PURE__*/ jsx("time", {
41
- dateTime: eventDateRef.current.toISOString(),
42
- className: "text-sm",
43
- children: new Intl.DateTimeFormat('default', {
44
- hour12: true,
45
- hour: 'numeric',
46
- minute: 'numeric'
47
- }).format(eventDateRef.current)
48
- }),
49
- true === close && /*#__PURE__*/ jsx(external_radix_ui_Toast.Close, {
50
- "aria-label": "Close",
51
- asChild: true,
52
- children: /*#__PURE__*/ jsx(Button, {
53
- intent: intent,
54
- tabIndex: 0,
55
- variant: "filled",
56
- "aria-label": "Close",
57
- className: classnames('infonomic-toast-close', toast_module.close),
58
- type: "button",
59
- onClick: handleOnClose,
44
+ const swipeDirection = react.useMemo(()=>[
45
+ 'down',
46
+ 'right'
47
+ ], []);
48
+ return /*#__PURE__*/ jsx(Toast.Root, {
49
+ toast: toast,
50
+ swipeDirection: swipeDirection,
51
+ className: classnames('infonomic-toast', toast_module.root),
52
+ children: /*#__PURE__*/ jsxs(Toast.Content, {
53
+ className: classnames('infonomic-toast-content', toast_module.content),
54
+ children: [
55
+ /*#__PURE__*/ jsxs("div", {
56
+ className: classnames('infonomic-toast-header', toast_module.header),
57
+ children: [
58
+ /*#__PURE__*/ jsx("time", {
59
+ dateTime: eventDateRef.current.toISOString(),
60
+ className: "text-sm",
61
+ children: new Intl.DateTimeFormat('default', {
62
+ hour12: true,
63
+ hour: 'numeric',
64
+ minute: 'numeric'
65
+ }).format(eventDateRef.current)
66
+ }),
67
+ close && /*#__PURE__*/ jsx(Toast.Close, {
68
+ render: /*#__PURE__*/ jsx(Button, {
69
+ intent: intent,
70
+ tabIndex: 0,
71
+ variant: "filled",
72
+ "aria-label": "Close",
73
+ className: classnames('infonomic-toast-close', toast_module.close),
74
+ type: "button"
75
+ }),
60
76
  children: /*#__PURE__*/ jsx(CloseIcon, {
61
77
  height: "12px",
62
78
  width: "12px"
63
79
  })
64
80
  })
65
- })
66
- ]
67
- }),
68
- /*#__PURE__*/ jsxs(external_radix_ui_Toast.Title, {
69
- className: classnames('infonomic-toast-title', toast_module.title),
70
- children: [
71
- null != icon && /*#__PURE__*/ jsx(Icon, {}),
72
- title
73
- ]
74
- }),
75
- /*#__PURE__*/ jsx(external_radix_ui_Toast.Description, {
76
- className: classnames("infonomic-toast-description", toast_module.description),
77
- children: message
78
- })
79
- ]
81
+ ]
82
+ }),
83
+ /*#__PURE__*/ jsxs(Toast.Title, {
84
+ className: classnames('infonomic-toast-title', toast_module.title),
85
+ children: [
86
+ icon && Icon && /*#__PURE__*/ jsx(Icon, {}),
87
+ toast.title
88
+ ]
89
+ }),
90
+ /*#__PURE__*/ jsx(Toast.Description, {
91
+ className: classnames("infonomic-toast-description", toast_module.description),
92
+ children: toast.description
93
+ })
94
+ ]
95
+ })
80
96
  });
81
- };
82
- export { ToastProvider, ToastViewport, toast_Toast as Toast };
97
+ }
98
+ export { ToastProvider, ToastViewport, createToastManager, useToastManager };