@scripso-homepad/ui 0.4.9 → 0.4.11

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 (48) hide show
  1. package/dist/index.cjs +245 -127
  2. package/dist/index.cjs.map +1 -1
  3. package/dist/index.d.cts +4 -2
  4. package/dist/index.d.ts +4 -2
  5. package/dist/index.js +247 -129
  6. package/dist/index.js.map +1 -1
  7. package/dist/web/index.cjs +451 -48
  8. package/dist/web/index.cjs.map +1 -1
  9. package/dist/web/index.css +161 -0
  10. package/dist/web/index.css.map +1 -1
  11. package/dist/web/index.d.cts +50 -2
  12. package/dist/web/index.d.ts +50 -2
  13. package/dist/web/index.js +444 -49
  14. package/dist/web/index.js.map +1 -1
  15. package/package.json +10 -3
  16. package/src/components/Calendar.tsx +10 -2
  17. package/src/components/DatePicker.tsx +40 -6
  18. package/src/components/Select.tsx +133 -38
  19. package/src/theme/select.ts +1 -1
  20. package/src/utils/calendarDays.ts +15 -6
  21. package/src/web/components/Badge.tsx +1 -1
  22. package/src/web/components/ConfirmModal.tsx +2 -2
  23. package/src/web/components/Drawer.stories.tsx +234 -0
  24. package/src/web/components/Drawer.tsx +169 -0
  25. package/src/web/components/HistoryTimeline.tsx +46 -0
  26. package/src/web/components/Modal.stories.tsx +1 -1
  27. package/src/web/components/Modal.tsx +30 -13
  28. package/src/web/components/Pagination.tsx +2 -2
  29. package/src/web/components/TableActionButton.tsx +4 -4
  30. package/src/web/components/TableActionsMenu.tsx +1 -1
  31. package/src/web/components/TableIconText.tsx +1 -1
  32. package/src/web/components/Toaster.stories.tsx +106 -0
  33. package/src/web/components/Toaster.tsx +92 -0
  34. package/src/web/components/ToasterProvider.tsx +6 -0
  35. package/src/web/components/drawer-scroll.css +41 -0
  36. package/src/web/components/sonner-toast.css +141 -0
  37. package/src/web/components/table/constants.ts +2 -2
  38. package/src/web/icons/TimelineCheckIcon.tsx +24 -0
  39. package/src/web/icons/ToastIcons.tsx +119 -0
  40. package/src/web/index.ts +20 -0
  41. package/src/web/layout/AppHeader.tsx +1 -1
  42. package/src/web/layout/BuildingSelect.tsx +2 -2
  43. package/src/web/layout/DashboardLayout.stories.tsx +1 -1
  44. package/src/web/layout/SidebarNavItem.tsx +1 -1
  45. package/src/web/layout/SidebarUserCard.tsx +3 -3
  46. package/src/web/mutation-toast.ts +33 -0
  47. package/src/web/styles/typography.css +99 -0
  48. package/src/web/toast.ts +1 -0
@@ -75,4 +75,165 @@
75
75
  .table-scroll-has-overflow:not(.table-scroll-at-end) .table-sticky-right-head {
76
76
  background-color: #fff;
77
77
  }
78
+
79
+ /* src/web/components/drawer-scroll.css */
80
+ .drawer-scroll-area {
81
+ scrollbar-color: var(--color-storm-gray-200, #d5d9dd) transparent;
82
+ scrollbar-width: thin;
83
+ }
84
+ .drawer-scroll-area::-webkit-scrollbar {
85
+ width: 8px;
86
+ -webkit-appearance: none;
87
+ appearance: none;
88
+ }
89
+ .drawer-scroll-area::-webkit-scrollbar-button,
90
+ .drawer-scroll-area::-webkit-scrollbar-button:single-button,
91
+ .drawer-scroll-area::-webkit-scrollbar-button:double-button,
92
+ .drawer-scroll-area::-webkit-scrollbar-button:vertical:decrement,
93
+ .drawer-scroll-area::-webkit-scrollbar-button:vertical:increment,
94
+ .drawer-scroll-area::-webkit-scrollbar-button:vertical:start:decrement,
95
+ .drawer-scroll-area::-webkit-scrollbar-button:vertical:end:increment,
96
+ .drawer-scroll-area::-webkit-scrollbar-button:start:decrement,
97
+ .drawer-scroll-area::-webkit-scrollbar-button:end:increment,
98
+ .drawer-scroll-area::-webkit-scrollbar-button:decrement,
99
+ .drawer-scroll-area::-webkit-scrollbar-button:increment {
100
+ display: none;
101
+ width: 0;
102
+ height: 0;
103
+ }
104
+ .drawer-scroll-area::-webkit-scrollbar-track {
105
+ background: transparent;
106
+ }
107
+ .drawer-scroll-area::-webkit-scrollbar-thumb {
108
+ background-color: var(--color-storm-gray-200, #d5d9dd);
109
+ border-radius: 9999px;
110
+ }
111
+ @media (max-width: 767px) {
112
+ .drawer-scroll-area::-webkit-scrollbar {
113
+ width: 4px;
114
+ }
115
+ }
116
+
117
+ /* src/web/components/sonner-toast.css */
118
+ .homepad-toaster {
119
+ --width: 409px;
120
+ --gap: 12px;
121
+ --border-radius: 20px;
122
+ font-family: var(--font-sans, "Noto Sans Armenian", ui-sans-serif, system-ui, sans-serif);
123
+ }
124
+ .homepad-toaster [data-sonner-toast][data-styled=true] {
125
+ align-items: center;
126
+ gap: 16px;
127
+ width: 409px;
128
+ min-height: 72px;
129
+ height: auto;
130
+ padding: 12px 44px 12px 12px;
131
+ background: #fff;
132
+ border: 1px solid var(--color-storm-gray-50, #eceef0);
133
+ border-radius: 20px;
134
+ box-shadow: 0 0 20px 0 #0000000d;
135
+ color: var(--color-slate-blue, #182e3c);
136
+ overflow: visible;
137
+ }
138
+ .homepad-toaster [data-sonner-toast][data-styled=true][data-front=true] {
139
+ height: auto !important;
140
+ }
141
+ .homepad-toaster [data-sonner-toast][data-styled=true][data-mounted=true][data-expanded=true] {
142
+ height: auto !important;
143
+ }
144
+ .homepad-toaster [data-sonner-toast][data-styled=true] [data-icon] {
145
+ width: auto;
146
+ height: auto;
147
+ margin: 0;
148
+ }
149
+ .homepad-toaster [data-sonner-toast][data-styled=true] [data-content] {
150
+ gap: 2px;
151
+ min-width: 0;
152
+ flex: 1;
153
+ align-self: center;
154
+ overflow: visible;
155
+ }
156
+ .homepad-toaster .homepad-toast__title {
157
+ font-family: var(--font-sans, "Noto Sans Armenian", ui-sans-serif, system-ui, sans-serif);
158
+ font-size: 14px;
159
+ font-weight: 700;
160
+ line-height: 22px;
161
+ letter-spacing: 0;
162
+ color: var(--color-slate-blue, #182e3c);
163
+ }
164
+ .homepad-toaster .homepad-toast__description {
165
+ font-family: var(--font-sans, "Noto Sans Armenian", ui-sans-serif, system-ui, sans-serif);
166
+ font-size: 12px;
167
+ font-weight: 400;
168
+ line-height: 1.4;
169
+ letter-spacing: 0;
170
+ color: var(--color-slate-blue, #182e3c);
171
+ }
172
+ .homepad-toaster .homepad-toast__icon-badge {
173
+ display: flex;
174
+ width: 48px;
175
+ height: 48px;
176
+ flex-shrink: 0;
177
+ align-items: center;
178
+ justify-content: center;
179
+ padding: 12px;
180
+ border-radius: 12px;
181
+ box-sizing: border-box;
182
+ }
183
+ .homepad-toaster .homepad-toast__icon-badge svg {
184
+ width: 24px;
185
+ height: 24px;
186
+ margin: 0;
187
+ flex-shrink: 0;
188
+ }
189
+ .homepad-toaster .homepad-toast__icon-badge--success {
190
+ background: var(--color-emerald-green-0, #f0fbf5);
191
+ }
192
+ .homepad-toaster .homepad-toast__icon-badge--error {
193
+ background: var(--color-ruby-red-0, #fff5f6);
194
+ }
195
+ .homepad-toaster .homepad-toast__icon-badge--warning {
196
+ background: #f2a8001a;
197
+ }
198
+ .homepad-toaster .homepad-toast__icon-badge--info,
199
+ .homepad-toaster .homepad-toast__icon-badge--default {
200
+ background: #0f52c71a;
201
+ }
202
+ .homepad-toaster [data-sonner-toast][data-styled=true] [data-close-button] {
203
+ top: 50%;
204
+ right: 12px;
205
+ left: auto;
206
+ width: 20px;
207
+ height: 20px;
208
+ transform: translateY(-50%);
209
+ border: 0;
210
+ background: transparent;
211
+ box-shadow: none;
212
+ cursor: pointer;
213
+ }
214
+ .homepad-toaster [data-sonner-toast][data-styled=true]:hover [data-close-button]:hover {
215
+ background: transparent;
216
+ border-color: transparent;
217
+ cursor: pointer;
218
+ }
219
+ .homepad-toaster [data-sonner-toast][data-styled=true] [data-close-button] svg {
220
+ width: 20px;
221
+ height: 20px;
222
+ }
223
+ @media (max-width: 767px) {
224
+ .homepad-toaster {
225
+ --width: calc(100vw - 16px);
226
+ }
227
+ .homepad-toaster[data-sonner-toaster] {
228
+ right: var(--mobile-offset-right, 8px);
229
+ left: var(--mobile-offset-left, 8px);
230
+ width: calc(100vw - 16px);
231
+ max-width: calc(100vw - 16px);
232
+ }
233
+ .homepad-toaster [data-sonner-toast][data-styled=true] {
234
+ right: 0;
235
+ left: 0;
236
+ width: 100%;
237
+ }
238
+ }
78
239
  /*# sourceMappingURL=index.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/web/components/table-scroll.css"],"sourcesContent":[".table-scroll-area {\n scrollbar-color: var(--color-storm-gray-50, #eceef0) transparent;\n scrollbar-width: thin;\n}\n\n.table-scroll-area::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.table-scroll-area::-webkit-scrollbar-button,\n.table-scroll-area::-webkit-scrollbar-button:single-button,\n.table-scroll-area::-webkit-scrollbar-button:double-button,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:decrement,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:increment,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:start:decrement,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:end:increment,\n.table-scroll-area::-webkit-scrollbar-button:vertical:decrement,\n.table-scroll-area::-webkit-scrollbar-button:vertical:increment,\n.table-scroll-area::-webkit-scrollbar-button:vertical:start:decrement,\n.table-scroll-area::-webkit-scrollbar-button:vertical:end:increment,\n.table-scroll-area::-webkit-scrollbar-button:start:decrement,\n.table-scroll-area::-webkit-scrollbar-button:end:increment,\n.table-scroll-area::-webkit-scrollbar-button:decrement,\n.table-scroll-area::-webkit-scrollbar-button:increment {\n display: none;\n width: 0;\n height: 0;\n max-width: 0;\n max-height: 0;\n min-width: 0;\n min-height: 0;\n padding: 0;\n margin: 0;\n border: 0;\n background: transparent;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.table-scroll-area::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.table-scroll-area::-webkit-scrollbar-thumb {\n background-color: var(--color-storm-gray-50, #eceef0);\n border-radius: 51px;\n}\n\n.table-scroll-area::-webkit-scrollbar-corner {\n background: transparent;\n}\n\n.table-sticky-right-shadow::before {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n z-index: 0;\n width: 12px;\n transform: translateX(-100%);\n background: linear-gradient(90deg, rgba(21, 26, 30, 0) 0%, rgba(21, 26, 30, 0.08) 100%);\n pointer-events: none;\n opacity: 0;\n transition: opacity 150ms ease;\n}\n\n.table-scroll-has-overflow:not(.table-scroll-at-end) .table-sticky-right-shadow::before {\n opacity: 1;\n}\n\n.table-sticky-right-head {\n background-color: var(--color-storm-gray-0, #fbfcfc);\n}\n\n.table-scroll-has-overflow:not(.table-scroll-at-end) .table-sticky-right-head {\n background-color: #fff;\n}\n"],"mappings":";AAAA,CAAC;AACC,mBAAiB,IAAI,qBAAqB,EAAE,SAAS;AACrD,mBAAiB;AACnB;AAEA,CALC,iBAKiB;AAChB,SAAO;AACP,UAAQ;AACR,sBAAoB;AACpB,cAAY;AACd;AAEA,CAZC,iBAYiB;AAClB,CAbC,iBAaiB,0BAA0B;AAC5C,CAdC,iBAciB,0BAA0B;AAC5C,CAfC,iBAeiB,0BAA0B,WAAW;AACvD,CAhBC,iBAgBiB,0BAA0B,WAAW;AACvD,CAjBC,iBAiBiB,0BAA0B,WAAW,MAAM;AAC7D,CAlBC,iBAkBiB,0BAA0B,WAAW,IAAI;AAC3D,CAnBC,iBAmBiB,0BAA0B,SAAS;AACrD,CApBC,iBAoBiB,0BAA0B,SAAS;AACrD,CArBC,iBAqBiB,0BAA0B,SAAS,MAAM;AAC3D,CAtBC,iBAsBiB,0BAA0B,SAAS,IAAI;AACzD,CAvBC,iBAuBiB,0BAA0B,MAAM;AAClD,CAxBC,iBAwBiB,0BAA0B,IAAI;AAChD,CAzBC,iBAyBiB,0BAA0B;AAC5C,CA1BC,iBA0BiB,0BAA0B;AAC1C,WAAS;AACT,SAAO;AACP,UAAQ;AACR,aAAW;AACX,cAAY;AACZ,aAAW;AACX,cAAY;AACZ,WAAS;AACT,UAAQ;AACR,UAAQ;AACR,cAAY;AACZ,sBAAoB;AACpB,cAAY;AACd;AAEA,CA1CC,iBA0CiB;AAChB,cAAY;AACd;AAEA,CA9CC,iBA8CiB;AAChB,oBAAkB,IAAI,qBAAqB,EAAE;AAC7C,iBAAe;AACjB;AAEA,CAnDC,iBAmDiB;AAChB,cAAY;AACd;AAEA,CAAC,yBAAyB;AACxB,WAAS;AACT,YAAU;AACV,OAAK;AACL,UAAQ;AACR,QAAM;AACN,WAAS;AACT,SAAO;AACP,aAAW,WAAW;AACtB;AAAA,IAAY;AAAA,MAAgB,KAAhB;AAAA,MAAuB,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,EAA3C;AAAA,MAA+C,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM;AAClF,kBAAgB;AAChB,WAAS;AACT,cAAY,QAAQ,MAAM;AAC5B;AAEA,CAAC,yBAAyB,KAAK,CAAC,qBAAqB,CAfpD,yBAe8E;AAC7E,WAAS;AACX;AAEA,CAAC;AACC,oBAAkB,IAAI,oBAAoB,EAAE;AAC9C;AAEA,CARC,yBAQyB,KAAK,CARC,qBAQqB,CAJpD;AAKC,oBAAkB;AACpB;","names":[]}
1
+ {"version":3,"sources":["../../src/web/components/table-scroll.css","../../src/web/components/drawer-scroll.css","../../src/web/components/sonner-toast.css"],"sourcesContent":[".table-scroll-area {\n scrollbar-color: var(--color-storm-gray-50, #eceef0) transparent;\n scrollbar-width: thin;\n}\n\n.table-scroll-area::-webkit-scrollbar {\n width: 8px;\n height: 8px;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.table-scroll-area::-webkit-scrollbar-button,\n.table-scroll-area::-webkit-scrollbar-button:single-button,\n.table-scroll-area::-webkit-scrollbar-button:double-button,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:decrement,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:increment,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:start:decrement,\n.table-scroll-area::-webkit-scrollbar-button:horizontal:end:increment,\n.table-scroll-area::-webkit-scrollbar-button:vertical:decrement,\n.table-scroll-area::-webkit-scrollbar-button:vertical:increment,\n.table-scroll-area::-webkit-scrollbar-button:vertical:start:decrement,\n.table-scroll-area::-webkit-scrollbar-button:vertical:end:increment,\n.table-scroll-area::-webkit-scrollbar-button:start:decrement,\n.table-scroll-area::-webkit-scrollbar-button:end:increment,\n.table-scroll-area::-webkit-scrollbar-button:decrement,\n.table-scroll-area::-webkit-scrollbar-button:increment {\n display: none;\n width: 0;\n height: 0;\n max-width: 0;\n max-height: 0;\n min-width: 0;\n min-height: 0;\n padding: 0;\n margin: 0;\n border: 0;\n background: transparent;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.table-scroll-area::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.table-scroll-area::-webkit-scrollbar-thumb {\n background-color: var(--color-storm-gray-50, #eceef0);\n border-radius: 51px;\n}\n\n.table-scroll-area::-webkit-scrollbar-corner {\n background: transparent;\n}\n\n.table-sticky-right-shadow::before {\n content: '';\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n z-index: 0;\n width: 12px;\n transform: translateX(-100%);\n background: linear-gradient(90deg, rgba(21, 26, 30, 0) 0%, rgba(21, 26, 30, 0.08) 100%);\n pointer-events: none;\n opacity: 0;\n transition: opacity 150ms ease;\n}\n\n.table-scroll-has-overflow:not(.table-scroll-at-end) .table-sticky-right-shadow::before {\n opacity: 1;\n}\n\n.table-sticky-right-head {\n background-color: var(--color-storm-gray-0, #fbfcfc);\n}\n\n.table-scroll-has-overflow:not(.table-scroll-at-end) .table-sticky-right-head {\n background-color: #fff;\n}\n",".drawer-scroll-area {\n scrollbar-color: var(--color-storm-gray-200, #d5d9dd) transparent;\n scrollbar-width: thin;\n}\n\n.drawer-scroll-area::-webkit-scrollbar {\n width: 8px;\n -webkit-appearance: none;\n appearance: none;\n}\n\n.drawer-scroll-area::-webkit-scrollbar-button,\n.drawer-scroll-area::-webkit-scrollbar-button:single-button,\n.drawer-scroll-area::-webkit-scrollbar-button:double-button,\n.drawer-scroll-area::-webkit-scrollbar-button:vertical:decrement,\n.drawer-scroll-area::-webkit-scrollbar-button:vertical:increment,\n.drawer-scroll-area::-webkit-scrollbar-button:vertical:start:decrement,\n.drawer-scroll-area::-webkit-scrollbar-button:vertical:end:increment,\n.drawer-scroll-area::-webkit-scrollbar-button:start:decrement,\n.drawer-scroll-area::-webkit-scrollbar-button:end:increment,\n.drawer-scroll-area::-webkit-scrollbar-button:decrement,\n.drawer-scroll-area::-webkit-scrollbar-button:increment {\n display: none;\n width: 0;\n height: 0;\n}\n\n.drawer-scroll-area::-webkit-scrollbar-track {\n background: transparent;\n}\n\n.drawer-scroll-area::-webkit-scrollbar-thumb {\n background-color: var(--color-storm-gray-200, #d5d9dd);\n border-radius: 9999px;\n}\n\n@media (max-width: 767px) {\n .drawer-scroll-area::-webkit-scrollbar {\n width: 4px;\n }\n}\n",".homepad-toaster {\n --width: 409px;\n --gap: 12px;\n --border-radius: 20px;\n font-family: var(--font-sans, 'Noto Sans Armenian', ui-sans-serif, system-ui, sans-serif);\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'] {\n align-items: center;\n gap: 16px;\n width: 409px;\n min-height: 72px;\n height: auto;\n padding: 12px 44px 12px 12px;\n background: #fff;\n border: 1px solid var(--color-storm-gray-50, #eceef0);\n border-radius: 20px;\n box-shadow: 0 0 20px 0 #0000000d;\n color: var(--color-slate-blue, #182e3c);\n overflow: visible;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'][data-front='true'] {\n height: auto !important;\n}\n\n.homepad-toaster\n [data-sonner-toast][data-styled='true'][data-mounted='true'][data-expanded='true'] {\n height: auto !important;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'] [data-icon] {\n width: auto;\n height: auto;\n margin: 0;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'] [data-content] {\n gap: 2px;\n min-width: 0;\n flex: 1;\n align-self: center;\n overflow: visible;\n}\n\n.homepad-toaster .homepad-toast__title {\n font-family: var(--font-sans, 'Noto Sans Armenian', ui-sans-serif, system-ui, sans-serif);\n font-size: 14px;\n font-weight: 700;\n line-height: 22px;\n letter-spacing: 0;\n color: var(--color-slate-blue, #182e3c);\n}\n\n.homepad-toaster .homepad-toast__description {\n font-family: var(--font-sans, 'Noto Sans Armenian', ui-sans-serif, system-ui, sans-serif);\n font-size: 12px;\n font-weight: 400;\n line-height: 1.4;\n letter-spacing: 0;\n color: var(--color-slate-blue, #182e3c);\n}\n\n.homepad-toaster .homepad-toast__icon-badge {\n display: flex;\n width: 48px;\n height: 48px;\n flex-shrink: 0;\n align-items: center;\n justify-content: center;\n padding: 12px;\n border-radius: 12px;\n box-sizing: border-box;\n}\n\n.homepad-toaster .homepad-toast__icon-badge svg {\n width: 24px;\n height: 24px;\n margin: 0;\n flex-shrink: 0;\n}\n\n.homepad-toaster .homepad-toast__icon-badge--success {\n background: var(--color-emerald-green-0, #f0fbf5);\n}\n\n.homepad-toaster .homepad-toast__icon-badge--error {\n background: var(--color-ruby-red-0, #fff5f6);\n}\n\n.homepad-toaster .homepad-toast__icon-badge--warning {\n background: #f2a8001a;\n}\n\n.homepad-toaster .homepad-toast__icon-badge--info,\n.homepad-toaster .homepad-toast__icon-badge--default {\n background: #0f52c71a;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'] [data-close-button] {\n top: 50%;\n right: 12px;\n left: auto;\n width: 20px;\n height: 20px;\n transform: translateY(-50%);\n border: 0;\n background: transparent;\n box-shadow: none;\n cursor: pointer;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true']:hover [data-close-button]:hover {\n background: transparent;\n border-color: transparent;\n cursor: pointer;\n}\n\n.homepad-toaster [data-sonner-toast][data-styled='true'] [data-close-button] svg {\n width: 20px;\n height: 20px;\n}\n\n@media (max-width: 767px) {\n .homepad-toaster {\n --width: calc(100vw - 16px);\n }\n\n .homepad-toaster[data-sonner-toaster] {\n right: var(--mobile-offset-right, 8px);\n left: var(--mobile-offset-left, 8px);\n width: calc(100vw - 16px);\n max-width: calc(100vw - 16px);\n }\n\n .homepad-toaster [data-sonner-toast][data-styled='true'] {\n right: 0;\n left: 0;\n width: 100%;\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,6 +1,8 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, TdHTMLAttributes, HTMLAttributes, ThHTMLAttributes, ButtonHTMLAttributes, RefObject } from 'react';
3
3
  import { StyleProp, ViewStyle } from 'react-native';
4
+ import { ToasterProps } from 'sonner';
5
+ export { toast } from 'sonner';
4
6
  import { ClassValue } from 'clsx';
5
7
 
6
8
  type AdminNavItem = {
@@ -425,11 +427,57 @@ type ModalProps = {
425
427
  cancelDisabled?: boolean;
426
428
  confirmDisabled?: boolean;
427
429
  closeOnBackdrop?: boolean;
430
+ closeOnEscape?: boolean;
428
431
  containerClassName?: string;
429
432
  contentClassName?: string;
430
433
  buttonClassName?: string;
431
434
  };
432
- declare function Modal({ open, title, subtitle, icon, iconContainerClassName, children, cancelText, confirmText, onCancel, onConfirm, footerAlign, footerLayout, cancelDisabled, confirmDisabled, closeOnBackdrop, containerClassName, contentClassName, buttonClassName, }: ModalProps): react.JSX.Element | null;
435
+ declare function Modal({ open, title, subtitle, icon, iconContainerClassName, children, cancelText, confirmText, onCancel, onConfirm, footerAlign, footerLayout, cancelDisabled, confirmDisabled, closeOnBackdrop, closeOnEscape, containerClassName, contentClassName, buttonClassName, }: ModalProps): react.JSX.Element | null;
436
+
437
+ type DrawerProps = {
438
+ open: boolean;
439
+ title: string;
440
+ subtitle?: string;
441
+ children: ReactNode;
442
+ footer?: ReactNode;
443
+ onClose: () => void;
444
+ closeAriaLabel?: string;
445
+ widthClassName?: string;
446
+ className?: string;
447
+ headerClassName?: string;
448
+ contentClassName?: string;
449
+ footerClassName?: string;
450
+ };
451
+ declare function Drawer({ open, title, subtitle, children, footer, onClose, closeAriaLabel, widthClassName, className, headerClassName, contentClassName, footerClassName, }: DrawerProps): react.JSX.Element | null;
452
+
453
+ type HistoryTimelineItem = {
454
+ id: string;
455
+ title: string;
456
+ timestamp: string;
457
+ };
458
+ type HistoryTimelineProps = {
459
+ events: HistoryTimelineItem[];
460
+ };
461
+ declare function HistoryTimeline({ events }: HistoryTimelineProps): react.JSX.Element;
462
+
463
+ type HomepadToasterProps = Omit<ToasterProps, 'richColors'>;
464
+ declare function Toaster({ className, position, theme, closeButton, gap, offset, toastOptions, icons, ...props }: HomepadToasterProps): react.JSX.Element;
465
+
466
+ /** Global toast outlet styled to match the HomePad design system. */
467
+ declare function ToasterProvider(): react.JSX.Element;
468
+
469
+ type MutationToastMessages = {
470
+ success: string;
471
+ error: string;
472
+ };
473
+ type MutationToastResult = {
474
+ success: boolean;
475
+ errorMessage?: string;
476
+ };
477
+ type RunMutationWithToastOptions = {
478
+ getErrorMessage?: (error: unknown) => string;
479
+ };
480
+ declare function runMutationWithToast(action: () => Promise<unknown>, messages: MutationToastMessages, options?: RunMutationWithToastOptions): Promise<MutationToastResult>;
433
481
 
434
482
  type ConfirmModalProps = {
435
483
  open: boolean;
@@ -454,4 +502,4 @@ declare function useOnClickOutside<T extends HTMLElement>(ref: OutsideTarget<T>,
454
502
 
455
503
  declare function cn(...inputs: ClassValue[]): string;
456
504
 
457
- export { type AdminBuildingOption, type AdminHeaderLabels, type AdminLayoutLabels, type AdminNavItem, type AdminSidebarBranding, type AdminSidebarLabels, type AdminSidebarUser, AppHeader, type AppHeaderProps, Badge, type BadgeProps, type BadgeVariant, BellIcon, BuildingIcon, BuildingSelect, type BuildingSelectProps, ConfirmModal, type ConfirmModalProps, DEFAULT_TABLE_BODY_MIN_HEIGHT, DashboardLayout, type DashboardLayoutProps, DataTable, type DataTableClassNames, type DataTableProps, Modal, type ModalFooterAlign, type ModalFooterLayout, type ModalProps, Pagination, type PaginationLabels, type PaginationProps, type PaginationVariant, Sidebar, SidebarMobileHeader, type SidebarMobileHeaderProps, SidebarNavItem, type SidebarNavItemProps, type SidebarProps, SidebarUserCard, type SidebarUserCardProps, StatusBadge, type StatusBadgeProps, type StatusBadgeTone, Table, TableActionButton, type TableActionButtonProps, type TableActionButtonVariant, TableActionsCell, type TableActionsCellProps, TableActionsMenu, type TableActionsMenuItem, type TableActionsMenuItemTone, type TableActionsMenuProps, TableBody, type TableBodyProps, TableCell, type TableCellProps, type TableCellVariant, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, TableIconText, type TableIconTextProps, TableMenuActivateIcon, TableMenuCheckIcon, TableMenuCloseIcon, TableMenuEditIcon, TableMenuInfoIcon, TableMenuRefreshIcon, TableMenuSuspendIcon, TableMenuTrashIcon, TableMoreIcon, type TableProps, TableRow, type TableRowActionsConfig, type TableRowProps, TableRowStatusActions, type TableRowStatusActionsProps, TableScrollArea, type TableScrollAreaProps, type TableSortDirection, TableSortIcon, TableStatusActionsCell, type TableStatusActionsCellProps, cn, getPaginationRange, getTotalPages, getVisiblePageNumbers, tableRowDisabledCellClassName, useMediaQuery, useOnClickOutside };
505
+ export { type AdminBuildingOption, type AdminHeaderLabels, type AdminLayoutLabels, type AdminNavItem, type AdminSidebarBranding, type AdminSidebarLabels, type AdminSidebarUser, AppHeader, type AppHeaderProps, Badge, type BadgeProps, type BadgeVariant, BellIcon, BuildingIcon, BuildingSelect, type BuildingSelectProps, ConfirmModal, type ConfirmModalProps, DEFAULT_TABLE_BODY_MIN_HEIGHT, DashboardLayout, type DashboardLayoutProps, DataTable, type DataTableClassNames, type DataTableProps, Drawer, type DrawerProps, HistoryTimeline, type HistoryTimelineItem, type HistoryTimelineProps, type HomepadToasterProps, Modal, type ModalFooterAlign, type ModalFooterLayout, type ModalProps, type MutationToastMessages, type MutationToastResult, Pagination, type PaginationLabels, type PaginationProps, type PaginationVariant, type RunMutationWithToastOptions, Sidebar, SidebarMobileHeader, type SidebarMobileHeaderProps, SidebarNavItem, type SidebarNavItemProps, type SidebarProps, SidebarUserCard, type SidebarUserCardProps, StatusBadge, type StatusBadgeProps, type StatusBadgeTone, Table, TableActionButton, type TableActionButtonProps, type TableActionButtonVariant, TableActionsCell, type TableActionsCellProps, TableActionsMenu, type TableActionsMenuItem, type TableActionsMenuItemTone, type TableActionsMenuProps, TableBody, type TableBodyProps, TableCell, type TableCellProps, type TableCellVariant, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, TableIconText, type TableIconTextProps, TableMenuActivateIcon, TableMenuCheckIcon, TableMenuCloseIcon, TableMenuEditIcon, TableMenuInfoIcon, TableMenuRefreshIcon, TableMenuSuspendIcon, TableMenuTrashIcon, TableMoreIcon, type TableProps, TableRow, type TableRowActionsConfig, type TableRowProps, TableRowStatusActions, type TableRowStatusActionsProps, TableScrollArea, type TableScrollAreaProps, type TableSortDirection, TableSortIcon, TableStatusActionsCell, type TableStatusActionsCellProps, Toaster, ToasterProvider, cn, getPaginationRange, getTotalPages, getVisiblePageNumbers, runMutationWithToast, tableRowDisabledCellClassName, useMediaQuery, useOnClickOutside };
@@ -1,6 +1,8 @@
1
1
  import * as react from 'react';
2
2
  import { ReactNode, TdHTMLAttributes, HTMLAttributes, ThHTMLAttributes, ButtonHTMLAttributes, RefObject } from 'react';
3
3
  import { StyleProp, ViewStyle } from 'react-native';
4
+ import { ToasterProps } from 'sonner';
5
+ export { toast } from 'sonner';
4
6
  import { ClassValue } from 'clsx';
5
7
 
6
8
  type AdminNavItem = {
@@ -425,11 +427,57 @@ type ModalProps = {
425
427
  cancelDisabled?: boolean;
426
428
  confirmDisabled?: boolean;
427
429
  closeOnBackdrop?: boolean;
430
+ closeOnEscape?: boolean;
428
431
  containerClassName?: string;
429
432
  contentClassName?: string;
430
433
  buttonClassName?: string;
431
434
  };
432
- declare function Modal({ open, title, subtitle, icon, iconContainerClassName, children, cancelText, confirmText, onCancel, onConfirm, footerAlign, footerLayout, cancelDisabled, confirmDisabled, closeOnBackdrop, containerClassName, contentClassName, buttonClassName, }: ModalProps): react.JSX.Element | null;
435
+ declare function Modal({ open, title, subtitle, icon, iconContainerClassName, children, cancelText, confirmText, onCancel, onConfirm, footerAlign, footerLayout, cancelDisabled, confirmDisabled, closeOnBackdrop, closeOnEscape, containerClassName, contentClassName, buttonClassName, }: ModalProps): react.JSX.Element | null;
436
+
437
+ type DrawerProps = {
438
+ open: boolean;
439
+ title: string;
440
+ subtitle?: string;
441
+ children: ReactNode;
442
+ footer?: ReactNode;
443
+ onClose: () => void;
444
+ closeAriaLabel?: string;
445
+ widthClassName?: string;
446
+ className?: string;
447
+ headerClassName?: string;
448
+ contentClassName?: string;
449
+ footerClassName?: string;
450
+ };
451
+ declare function Drawer({ open, title, subtitle, children, footer, onClose, closeAriaLabel, widthClassName, className, headerClassName, contentClassName, footerClassName, }: DrawerProps): react.JSX.Element | null;
452
+
453
+ type HistoryTimelineItem = {
454
+ id: string;
455
+ title: string;
456
+ timestamp: string;
457
+ };
458
+ type HistoryTimelineProps = {
459
+ events: HistoryTimelineItem[];
460
+ };
461
+ declare function HistoryTimeline({ events }: HistoryTimelineProps): react.JSX.Element;
462
+
463
+ type HomepadToasterProps = Omit<ToasterProps, 'richColors'>;
464
+ declare function Toaster({ className, position, theme, closeButton, gap, offset, toastOptions, icons, ...props }: HomepadToasterProps): react.JSX.Element;
465
+
466
+ /** Global toast outlet styled to match the HomePad design system. */
467
+ declare function ToasterProvider(): react.JSX.Element;
468
+
469
+ type MutationToastMessages = {
470
+ success: string;
471
+ error: string;
472
+ };
473
+ type MutationToastResult = {
474
+ success: boolean;
475
+ errorMessage?: string;
476
+ };
477
+ type RunMutationWithToastOptions = {
478
+ getErrorMessage?: (error: unknown) => string;
479
+ };
480
+ declare function runMutationWithToast(action: () => Promise<unknown>, messages: MutationToastMessages, options?: RunMutationWithToastOptions): Promise<MutationToastResult>;
433
481
 
434
482
  type ConfirmModalProps = {
435
483
  open: boolean;
@@ -454,4 +502,4 @@ declare function useOnClickOutside<T extends HTMLElement>(ref: OutsideTarget<T>,
454
502
 
455
503
  declare function cn(...inputs: ClassValue[]): string;
456
504
 
457
- export { type AdminBuildingOption, type AdminHeaderLabels, type AdminLayoutLabels, type AdminNavItem, type AdminSidebarBranding, type AdminSidebarLabels, type AdminSidebarUser, AppHeader, type AppHeaderProps, Badge, type BadgeProps, type BadgeVariant, BellIcon, BuildingIcon, BuildingSelect, type BuildingSelectProps, ConfirmModal, type ConfirmModalProps, DEFAULT_TABLE_BODY_MIN_HEIGHT, DashboardLayout, type DashboardLayoutProps, DataTable, type DataTableClassNames, type DataTableProps, Modal, type ModalFooterAlign, type ModalFooterLayout, type ModalProps, Pagination, type PaginationLabels, type PaginationProps, type PaginationVariant, Sidebar, SidebarMobileHeader, type SidebarMobileHeaderProps, SidebarNavItem, type SidebarNavItemProps, type SidebarProps, SidebarUserCard, type SidebarUserCardProps, StatusBadge, type StatusBadgeProps, type StatusBadgeTone, Table, TableActionButton, type TableActionButtonProps, type TableActionButtonVariant, TableActionsCell, type TableActionsCellProps, TableActionsMenu, type TableActionsMenuItem, type TableActionsMenuItemTone, type TableActionsMenuProps, TableBody, type TableBodyProps, TableCell, type TableCellProps, type TableCellVariant, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, TableIconText, type TableIconTextProps, TableMenuActivateIcon, TableMenuCheckIcon, TableMenuCloseIcon, TableMenuEditIcon, TableMenuInfoIcon, TableMenuRefreshIcon, TableMenuSuspendIcon, TableMenuTrashIcon, TableMoreIcon, type TableProps, TableRow, type TableRowActionsConfig, type TableRowProps, TableRowStatusActions, type TableRowStatusActionsProps, TableScrollArea, type TableScrollAreaProps, type TableSortDirection, TableSortIcon, TableStatusActionsCell, type TableStatusActionsCellProps, cn, getPaginationRange, getTotalPages, getVisiblePageNumbers, tableRowDisabledCellClassName, useMediaQuery, useOnClickOutside };
505
+ export { type AdminBuildingOption, type AdminHeaderLabels, type AdminLayoutLabels, type AdminNavItem, type AdminSidebarBranding, type AdminSidebarLabels, type AdminSidebarUser, AppHeader, type AppHeaderProps, Badge, type BadgeProps, type BadgeVariant, BellIcon, BuildingIcon, BuildingSelect, type BuildingSelectProps, ConfirmModal, type ConfirmModalProps, DEFAULT_TABLE_BODY_MIN_HEIGHT, DashboardLayout, type DashboardLayoutProps, DataTable, type DataTableClassNames, type DataTableProps, Drawer, type DrawerProps, HistoryTimeline, type HistoryTimelineItem, type HistoryTimelineProps, type HomepadToasterProps, Modal, type ModalFooterAlign, type ModalFooterLayout, type ModalProps, type MutationToastMessages, type MutationToastResult, Pagination, type PaginationLabels, type PaginationProps, type PaginationVariant, type RunMutationWithToastOptions, Sidebar, SidebarMobileHeader, type SidebarMobileHeaderProps, SidebarNavItem, type SidebarNavItemProps, type SidebarProps, SidebarUserCard, type SidebarUserCardProps, StatusBadge, type StatusBadgeProps, type StatusBadgeTone, Table, TableActionButton, type TableActionButtonProps, type TableActionButtonVariant, TableActionsCell, type TableActionsCellProps, TableActionsMenu, type TableActionsMenuItem, type TableActionsMenuItemTone, type TableActionsMenuProps, TableBody, type TableBodyProps, TableCell, type TableCellProps, type TableCellVariant, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, TableIconText, type TableIconTextProps, TableMenuActivateIcon, TableMenuCheckIcon, TableMenuCloseIcon, TableMenuEditIcon, TableMenuInfoIcon, TableMenuRefreshIcon, TableMenuSuspendIcon, TableMenuTrashIcon, TableMoreIcon, type TableProps, TableRow, type TableRowActionsConfig, type TableRowProps, TableRowStatusActions, type TableRowStatusActionsProps, TableScrollArea, type TableScrollAreaProps, type TableSortDirection, TableSortIcon, TableStatusActionsCell, type TableStatusActionsCellProps, Toaster, ToasterProvider, cn, getPaginationRange, getTotalPages, getVisiblePageNumbers, runMutationWithToast, tableRowDisabledCellClassName, useMediaQuery, useOnClickOutside };