@tumaet/prompt-ui-components 0.0.11 → 0.0.13

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.
@@ -4,7 +4,7 @@ import { Button } from '../components/ui/button';
4
4
  import { Card, CardContent, CardFooter, CardHeader, CardTitle } from '../components/ui/card';
5
5
  import { AlertTriangle, ArrowLeft, LogOut } from 'lucide-react';
6
6
  import { useNavigate } from 'react-router-dom';
7
- export default function UnauthorizedPage({ onLogout, backUrl, customMessage, }) {
7
+ export function UnauthorizedPage({ onLogout, backUrl, customMessage, }) {
8
8
  const navigate = useNavigate();
9
9
  return (_jsx("div", { className: 'fixed inset-0 bg-background/80 backdrop-blur-sm z-50 flex items-center justify-center p-4', children: _jsxs(Card, { className: 'max-w-md w-full shadow-lg', children: [_jsx(CardHeader, { children: _jsx(CardTitle, { className: 'text-2xl font-bold text-center text-primary', children: "Access Denied" }) }), _jsx(CardContent, { className: 'space-y-4', children: _jsxs(Alert, { variant: 'destructive', className: 'border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive', children: [_jsx(AlertTriangle, { className: 'h-4 w-4' }), _jsx(AlertTitle, { children: "Unauthorized" }), _jsx(AlertDescription, { children: customMessage ? customMessage : 'You do not have permission to access this page.' })] }) }), _jsxs(CardFooter, { className: 'flex justify-center space-x-4', children: [backUrl && (_jsxs(Button, { variant: 'outline', onClick: () => {
10
10
  navigate(backUrl);
@@ -1 +1 @@
1
- {"version":3,"file":"UnauthorizedPage.js","sourceRoot":"","sources":["../../src/components/UnauthorizedPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAC3F,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAQ9C,MAAM,CAAC,OAAO,UAAU,gBAAgB,CAAC,EACvC,QAAQ,EACR,OAAO,EACP,aAAa,GACS;IACtB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAE9B,OAAO,CACL,cAAK,SAAS,EAAC,2FAA2F,YACxG,MAAC,IAAI,IAAC,SAAS,EAAC,2BAA2B,aACzC,KAAC,UAAU,cACT,KAAC,SAAS,IAAC,SAAS,EAAC,6CAA6C,8BAEtD,GACD,EACb,KAAC,WAAW,IAAC,SAAS,EAAC,WAAW,YAChC,MAAC,KAAK,IACJ,OAAO,EAAC,aAAa,EACrB,SAAS,EAAC,yFAAyF,aAEnG,KAAC,aAAa,IAAC,SAAS,EAAC,SAAS,GAAG,EACrC,KAAC,UAAU,+BAA0B,EACrC,KAAC,gBAAgB,cACd,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iDAAiD,GACjE,IACb,GACI,EACd,MAAC,UAAU,IAAC,SAAS,EAAC,+BAA+B,aAClD,OAAO,IAAI,CACV,MAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,GAAG,EAAE;gCACZ,QAAQ,CAAC,OAAO,CAAC,CAAA;4BACnB,CAAC,EACD,SAAS,EAAC,kBAAkB,aAE5B,KAAC,SAAS,IAAC,SAAS,EAAC,cAAc,GAAG,eAE/B,CACV,EACA,QAAQ,IAAI,CACX,MAAC,MAAM,IAAC,OAAO,EAAC,aAAa,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAC,kBAAkB,aACnF,KAAC,MAAM,IAAC,SAAS,EAAC,cAAc,GAAG,cAE5B,CACV,IACU,IACR,GACH,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"UnauthorizedPage.js","sourceRoot":"","sources":["../../src/components/UnauthorizedPage.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAA;AAC3E,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAC/C,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAA;AAC3F,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAQ9C,MAAM,UAAU,gBAAgB,CAAC,EAC/B,QAAQ,EACR,OAAO,EACP,aAAa,GACS;IACtB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAA;IAE9B,OAAO,CACL,cAAK,SAAS,EAAC,2FAA2F,YACxG,MAAC,IAAI,IAAC,SAAS,EAAC,2BAA2B,aACzC,KAAC,UAAU,cACT,KAAC,SAAS,IAAC,SAAS,EAAC,6CAA6C,8BAEtD,GACD,EACb,KAAC,WAAW,IAAC,SAAS,EAAC,WAAW,YAChC,MAAC,KAAK,IACJ,OAAO,EAAC,aAAa,EACrB,SAAS,EAAC,yFAAyF,aAEnG,KAAC,aAAa,IAAC,SAAS,EAAC,SAAS,GAAG,EACrC,KAAC,UAAU,+BAA0B,EACrC,KAAC,gBAAgB,cACd,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iDAAiD,GACjE,IACb,GACI,EACd,MAAC,UAAU,IAAC,SAAS,EAAC,+BAA+B,aAClD,OAAO,IAAI,CACV,MAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,OAAO,EAAE,GAAG,EAAE;gCACZ,QAAQ,CAAC,OAAO,CAAC,CAAA;4BACnB,CAAC,EACD,SAAS,EAAC,kBAAkB,aAE5B,KAAC,SAAS,IAAC,SAAS,EAAC,cAAc,GAAG,eAE/B,CACV,EACA,QAAQ,IAAI,CACX,MAAC,MAAM,IAAC,OAAO,EAAC,aAAa,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAC,kBAAkB,aACnF,KAAC,MAAM,IAAC,SAAS,EAAC,cAAc,GAAG,cAE5B,CACV,IACU,IACR,GACH,CACP,CAAA;AACH,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { AlertCircle } from 'lucide-react';
3
+ export const DialogErrorDisplay = ({ customMessage, error, }) => {
4
+ return (_jsxs("div", { className: 'flex flex-col items-center justify-center h-48', children: [_jsx(AlertCircle, { className: 'h-10 w-10 text-destructive' }), _jsxs("p", { className: 'mt-4 text-lg font-medium text-destructive', children: ["Error: ", error.message] }), _jsx("p", { className: 'mt-2 text-sm text-muted-foreground', children: customMessage ?? 'Please try again or contact the administrators if the problem persists.' })] }));
5
+ };
6
+ //# sourceMappingURL=DialogErrorDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogErrorDisplay.js","sourceRoot":"","sources":["../../../src/components/dialog/DialogErrorDisplay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAO1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,EACjC,aAAa,EACb,KAAK,GACmB,EAAe,EAAE;IACzC,OAAO,CACL,eAAK,SAAS,EAAC,gDAAgD,aAC7D,KAAC,WAAW,IAAC,SAAS,EAAC,4BAA4B,GAAG,EACtD,aAAG,SAAS,EAAC,2CAA2C,wBAAS,KAAK,CAAC,OAAO,IAAK,EACnF,YAAG,SAAS,EAAC,oCAAoC,YAC9C,aAAa,IAAI,yEAAyE,GACzF,IACA,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Loader2 } from 'lucide-react';
3
+ export const DialogLoadingDisplay = ({ customMessage }) => {
4
+ return (_jsxs("div", { className: 'flex flex-col items-center justify-center h-48', children: [_jsx(Loader2, { className: 'h-10 w-10 text-primary animate-spin' }), _jsx("p", { className: 'mt-4 text-lg font-medium text-muted-foreground', children: customMessage ?? 'Loading...' })] }));
5
+ };
6
+ //# sourceMappingURL=DialogLoadingDisplay.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DialogLoadingDisplay.js","sourceRoot":"","sources":["../../../src/components/dialog/DialogLoadingDisplay.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAMtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,EAAE,aAAa,EAA6B,EAAe,EAAE;IAChG,OAAO,CACL,eAAK,SAAS,EAAC,gDAAgD,aAC7D,KAAC,OAAO,IAAC,SAAS,EAAC,qCAAqC,GAAG,EAC3D,YAAG,SAAS,EAAC,gDAAgD,YAC1D,aAAa,IAAI,YAAY,GAC5B,IACA,CACP,CAAA;AACH,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ export * from './DialogErrorDisplay';
2
+ export * from './DialogLoadingDisplay';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/dialog/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAA;AACpC,cAAc,wBAAwB,CAAA"}
@@ -1,4 +1,6 @@
1
1
  export * from './ui';
2
+ export * from './dialog';
3
+ export * from './table';
2
4
  export * from './minimal-tiptap';
3
5
  export * from './DatePicker';
4
6
  export * from './DateRangePicker';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAA;AACpB,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/components/index.ts"],"names":[],"mappings":"AAAA,cAAc,MAAM,CAAA;AACpB,cAAc,UAAU,CAAA;AACxB,cAAc,SAAS,CAAA;AACvB,cAAc,kBAAkB,CAAA;AAChC,cAAc,cAAc,CAAA;AAC5B,cAAc,mBAAmB,CAAA;AACjC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,eAAe,CAAA;AAC7B,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA"}
@@ -1,2 +1,3 @@
1
1
  export * from './minimal-tiptap';
2
+ export * from './mailing-tiptap';
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/minimal-tiptap/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/minimal-tiptap/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA"}
@@ -0,0 +1,444 @@
1
+ :root {
2
+ --mt-overlay: rgba(251, 251, 251, 0.75);
3
+ --mt-transparent-foreground: rgba(0, 0, 0, 0.4);
4
+ --mt-bg-secondary: rgba(251, 251, 251, 0.8);
5
+ --mt-code-background: #082b781f;
6
+ --mt-code-color: #d4d4d4;
7
+ --mt-secondary: #9d9d9f;
8
+ --mt-pre-background: #ececec;
9
+ --mt-pre-border: #e0e0e0;
10
+ --mt-pre-color: #2f2f31;
11
+ --mt-hr: #dcdcdc;
12
+ --mt-drag-handle-hover: #5c5c5e;
13
+
14
+ --mt-accent-bold-blue: #05c;
15
+ --mt-accent-bold-teal: #206a83;
16
+ --mt-accent-bold-green: #216e4e;
17
+ --mt-accent-bold-orange: #a54800;
18
+ --mt-accent-bold-red: #ae2e24;
19
+ --mt-accent-bold-purple: #5e4db2;
20
+
21
+ --mt-accent-gray: #758195;
22
+ --mt-accent-blue: #1d7afc;
23
+ --mt-accent-teal: #2898bd;
24
+ --mt-accent-green: #22a06b;
25
+ --mt-accent-orange: #fea362;
26
+ --mt-accent-red: #c9372c;
27
+ --mt-accent-purple: #8270db;
28
+
29
+ --mt-accent-blue-subtler: #cce0ff;
30
+ --mt-accent-teal-subtler: #c6edfb;
31
+ --mt-accent-green-subtler: #baf3db;
32
+ --mt-accent-yellow-subtler: #f8e6a0;
33
+ --mt-accent-red-subtler: #ffd5d2;
34
+ --mt-accent-purple-subtler: #dfd8fd;
35
+
36
+ --hljs-string: #aa430f;
37
+ --hljs-title: #b08836;
38
+ --hljs-comment: #999999;
39
+ --hljs-keyword: #0c5eb1;
40
+ --hljs-attr: #3a92bc;
41
+ --hljs-literal: #c82b0f;
42
+ --hljs-name: #259792;
43
+ --hljs-selector-tag: #c8500f;
44
+ --hljs-number: #3da067;
45
+ }
46
+
47
+ .dark {
48
+ --mt-overlay: rgba(31, 32, 35, 0.75);
49
+ --mt-transparent-foreground: rgba(255, 255, 255, 0.4);
50
+ --mt-bg-secondary: rgba(31, 32, 35, 0.8);
51
+ --mt-code-background: #ffffff13;
52
+ --mt-code-color: #2c2e33;
53
+ --mt-secondary: #595a5c;
54
+ --mt-pre-background: #080808;
55
+ --mt-pre-border: #23252a;
56
+ --mt-pre-color: #e3e4e6;
57
+ --mt-hr: #26282d;
58
+ --mt-drag-handle-hover: #969799;
59
+
60
+ --mt-accent-bold-blue: #85b8ff;
61
+ --mt-accent-bold-teal: #9dd9ee;
62
+ --mt-accent-bold-green: #7ee2b8;
63
+ --mt-accent-bold-orange: #fec195;
64
+ --mt-accent-bold-red: #fd9891;
65
+ --mt-accent-bold-purple: #b8acf6;
66
+
67
+ --mt-accent-gray: #738496;
68
+ --mt-accent-blue: #388bff;
69
+ --mt-accent-teal: #42b2d7;
70
+ --mt-accent-green: #2abb7f;
71
+ --mt-accent-orange: #a54800;
72
+ --mt-accent-red: #e2483d;
73
+ --mt-accent-purple: #8f7ee7;
74
+
75
+ --mt-accent-blue-subtler: #09326c;
76
+ --mt-accent-teal-subtler: #164555;
77
+ --mt-accent-green-subtler: #164b35;
78
+ --mt-accent-yellow-subtler: #533f04;
79
+ --mt-accent-red-subtler: #5d1f1a;
80
+ --mt-accent-purple-subtler: #352c63;
81
+
82
+ --hljs-string: #da936b;
83
+ --hljs-title: #f1d59d;
84
+ --hljs-comment: #aaaaaa;
85
+ --hljs-keyword: #6699cc;
86
+ --hljs-attr: #90cae8;
87
+ --hljs-literal: #f2777a;
88
+ --hljs-name: #5fc0a0;
89
+ --hljs-selector-tag: #e8c785;
90
+ --hljs-number: #b6e7b6;
91
+ }
92
+
93
+ .minimal-tiptap-editor .ProseMirror {
94
+ @apply flex max-w-full cursor-text flex-col;
95
+ @apply z-0 outline-0;
96
+ }
97
+
98
+ .minimal-tiptap-editor .ProseMirror > div.editor {
99
+ @apply block flex-1 whitespace-pre-wrap;
100
+ }
101
+
102
+ .minimal-tiptap-editor .ProseMirror .block-node:not(:last-child),
103
+ .minimal-tiptap-editor .ProseMirror .list-node:not(:last-child),
104
+ .minimal-tiptap-editor .ProseMirror .text-node:not(:last-child) {
105
+ @apply mb-2.5;
106
+ }
107
+
108
+ .minimal-tiptap-editor .ProseMirror ol,
109
+ .minimal-tiptap-editor .ProseMirror ul {
110
+ @apply pl-6;
111
+ }
112
+
113
+ .minimal-tiptap-editor .ProseMirror blockquote,
114
+ .minimal-tiptap-editor .ProseMirror dl,
115
+ .minimal-tiptap-editor .ProseMirror ol,
116
+ .minimal-tiptap-editor .ProseMirror p,
117
+ .minimal-tiptap-editor .ProseMirror pre,
118
+ .minimal-tiptap-editor .ProseMirror ul {
119
+ @apply m-0;
120
+ }
121
+
122
+ .minimal-tiptap-editor .ProseMirror li {
123
+ @apply leading-7;
124
+ }
125
+
126
+ .minimal-tiptap-editor .ProseMirror p {
127
+ @apply break-words;
128
+ }
129
+
130
+ .minimal-tiptap-editor .ProseMirror li .text-node:has(+ .list-node),
131
+ .minimal-tiptap-editor .ProseMirror li > .list-node,
132
+ .minimal-tiptap-editor .ProseMirror li > .text-node,
133
+ .minimal-tiptap-editor .ProseMirror li p {
134
+ @apply mb-0;
135
+ }
136
+
137
+ .minimal-tiptap-editor .ProseMirror blockquote {
138
+ @apply relative pl-3.5;
139
+ }
140
+
141
+ .minimal-tiptap-editor .ProseMirror blockquote::before,
142
+ .minimal-tiptap-editor .ProseMirror blockquote.is-empty::before {
143
+ @apply absolute bottom-0 left-0 top-0 h-full w-1 rounded-sm bg-accent-foreground/15 content-[''];
144
+ }
145
+
146
+ .minimal-tiptap-editor .ProseMirror hr {
147
+ @apply my-3 h-0.5 w-full border-none bg-[var(--mt-hr)];
148
+ }
149
+
150
+ .minimal-tiptap-editor .ProseMirror-focused hr.ProseMirror-selectednode {
151
+ @apply rounded-full outline outline-2 outline-offset-1 outline-muted-foreground;
152
+ }
153
+
154
+ .minimal-tiptap-editor .ProseMirror .ProseMirror-gapcursor {
155
+ @apply pointer-events-none absolute hidden;
156
+ }
157
+
158
+ .minimal-tiptap-editor .ProseMirror .ProseMirror-hideselection {
159
+ @apply caret-transparent;
160
+ }
161
+
162
+ .minimal-tiptap-editor .ProseMirror.resize-cursor {
163
+ @apply cursor-col-resize;
164
+ }
165
+
166
+ .minimal-tiptap-editor .ProseMirror .selection {
167
+ @apply inline-block;
168
+ }
169
+
170
+ .minimal-tiptap-editor .ProseMirror s span {
171
+ @apply line-through;
172
+ }
173
+
174
+ .minimal-tiptap-editor .ProseMirror .selection,
175
+ .minimal-tiptap-editor .ProseMirror *::selection,
176
+ ::selection {
177
+ @apply bg-primary/25;
178
+ }
179
+
180
+ /* Override native selection when custom selection is present */
181
+ .minimal-tiptap-editor .ProseMirror .selection::selection {
182
+ background: transparent;
183
+ }
184
+
185
+
186
+ /* Typography */
187
+ .minimal-tiptap-editor .ProseMirror .heading-node {
188
+ @apply relative font-semibold;
189
+ }
190
+
191
+ .minimal-tiptap-editor .ProseMirror .heading-node:first-child {
192
+ @apply mt-0;
193
+ }
194
+
195
+ .minimal-tiptap-editor .ProseMirror h1 {
196
+ @apply mb-4 mt-[46px] text-[1.375rem] leading-7 tracking-[-0.004375rem];
197
+ }
198
+
199
+ .minimal-tiptap-editor .ProseMirror h2 {
200
+ @apply mb-3.5 mt-8 text-[1.1875rem] leading-7 tracking-[0.003125rem];
201
+ }
202
+
203
+ .minimal-tiptap-editor .ProseMirror h3 {
204
+ @apply mb-3 mt-6 text-[1.0625rem] leading-6 tracking-[0.00625rem];
205
+ }
206
+
207
+ .minimal-tiptap-editor .ProseMirror h4 {
208
+ @apply mb-2 mt-4 text-[0.9375rem] leading-6;
209
+ }
210
+
211
+ .minimal-tiptap-editor .ProseMirror h5 {
212
+ @apply mb-2 mt-4 text-sm;
213
+ }
214
+
215
+ .minimal-tiptap-editor .ProseMirror h5 {
216
+ @apply mb-2 mt-4 text-sm;
217
+ }
218
+
219
+ .minimal-tiptap-editor .ProseMirror a.link {
220
+ @apply cursor-pointer text-blue-700;
221
+ }
222
+
223
+ .minimal-tiptap-editor .ProseMirror a.link:hover {
224
+ @apply underline;
225
+ }
226
+
227
+
228
+ /** Lists */
229
+ .minimal-tiptap-editor .ProseMirror ol {
230
+ @apply list-decimal;
231
+ }
232
+
233
+ .minimal-tiptap-editor .ProseMirror ol ol {
234
+ list-style: lower-alpha;
235
+ }
236
+
237
+ .minimal-tiptap-editor .ProseMirror ol ol ol {
238
+ list-style: lower-roman;
239
+ }
240
+
241
+ .minimal-tiptap-editor .ProseMirror ul {
242
+ list-style: disc;
243
+ }
244
+
245
+ .minimal-tiptap-editor .ProseMirror ul ul {
246
+ list-style: circle;
247
+ }
248
+
249
+ .minimal-tiptap-editor .ProseMirror ul ul ul {
250
+ list-style: square;
251
+ }
252
+
253
+
254
+ /** Placeholders */
255
+ .minimal-tiptap-editor .ProseMirror > p.is-editor-empty::before {
256
+ content: attr(data-placeholder);
257
+ @apply pointer-events-none float-left h-0 text-[var(--mt-secondary)];
258
+ }
259
+
260
+
261
+ /** Code */
262
+ .minimal-tiptap-editor .ProseMirror code.inline {
263
+ @apply rounded border border-[var(--mt-code-color)] bg-[var(--mt-code-background)] px-1 py-0.5 text-sm;
264
+ }
265
+
266
+ .minimal-tiptap-editor .ProseMirror pre {
267
+ @apply relative overflow-auto rounded border font-mono text-sm;
268
+ @apply border-[var(--mt-pre-border)] bg-[var(--mt-pre-background)] text-[var(--mt-pre-color)];
269
+ @apply hyphens-none whitespace-pre text-left;
270
+ }
271
+
272
+ .minimal-tiptap-editor .ProseMirror code {
273
+ @apply break-words leading-[1.7em];
274
+ }
275
+
276
+ .minimal-tiptap-editor .ProseMirror pre code {
277
+ @apply block overflow-x-auto p-3.5;
278
+ }
279
+
280
+ .minimal-tiptap-editor .ProseMirror pre {
281
+ .hljs-keyword,
282
+ .hljs-operator,
283
+ .hljs-function,
284
+ .hljs-built_in,
285
+ .hljs-builtin-name {
286
+ color: var(--hljs-keyword);
287
+ }
288
+
289
+ .hljs-attr,
290
+ .hljs-symbol,
291
+ .hljs-property,
292
+ .hljs-attribute,
293
+ .hljs-variable,
294
+ .hljs-template-variable,
295
+ .hljs-params {
296
+ color: var(--hljs-attr);
297
+ }
298
+
299
+ .hljs-name,
300
+ .hljs-regexp,
301
+ .hljs-link,
302
+ .hljs-type,
303
+ .hljs-addition {
304
+ color: var(--hljs-name);
305
+ }
306
+
307
+ .hljs-string,
308
+ .hljs-bullet {
309
+ color: var(--hljs-string);
310
+ }
311
+
312
+ .hljs-title,
313
+ .hljs-subst,
314
+ .hljs-section {
315
+ color: var(--hljs-title);
316
+ }
317
+
318
+ .hljs-literal,
319
+ .hljs-type,
320
+ .hljs-deletion {
321
+ color: var(--hljs-literal);
322
+ }
323
+
324
+ .hljs-selector-tag,
325
+ .hljs-selector-id,
326
+ .hljs-selector-class {
327
+ color: var(--hljs-selector-tag);
328
+ }
329
+
330
+ .hljs-number {
331
+ color: var(--hljs-number);
332
+ }
333
+
334
+ .hljs-comment,
335
+ .hljs-meta,
336
+ .hljs-quote {
337
+ color: var(--hljs-comment);
338
+ }
339
+
340
+ .hljs-emphasis {
341
+ @apply italic;
342
+ }
343
+
344
+ .hljs-strong {
345
+ @apply font-bold;
346
+ }
347
+ }
348
+
349
+
350
+ /** Zoom */
351
+ [data-rmiz-ghost] {
352
+ position: absolute;
353
+ pointer-events: none;
354
+ }
355
+ [data-rmiz-btn-zoom],
356
+ [data-rmiz-btn-unzoom] {
357
+ background-color: rgba(0, 0, 0, 0.7);
358
+ border-radius: 50%;
359
+ border: none;
360
+ box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
361
+ color: #fff;
362
+ height: 40px;
363
+ margin: 0;
364
+ outline-offset: 2px;
365
+ padding: 9px;
366
+ touch-action: manipulation;
367
+ width: 40px;
368
+ -webkit-appearance: none;
369
+ -moz-appearance: none;
370
+ appearance: none;
371
+ }
372
+ [data-rmiz-btn-zoom]:not(:focus):not(:active) {
373
+ position: absolute;
374
+ clip: rect(0 0 0 0);
375
+ clip-path: inset(50%);
376
+ height: 1px;
377
+ overflow: hidden;
378
+ pointer-events: none;
379
+ white-space: nowrap;
380
+ width: 1px;
381
+ }
382
+ [data-rmiz-btn-zoom] {
383
+ position: absolute;
384
+ inset: 10px 10px auto auto;
385
+ cursor: zoom-in;
386
+ }
387
+ [data-rmiz-btn-unzoom] {
388
+ position: absolute;
389
+ inset: 20px 20px auto auto;
390
+ cursor: zoom-out;
391
+ z-index: 1;
392
+ }
393
+ [data-rmiz-content='found'] img,
394
+ [data-rmiz-content='found'] svg,
395
+ [data-rmiz-content='found'] [role='img'],
396
+ [data-rmiz-content='found'] [data-zoom] {
397
+ cursor: inherit;
398
+ }
399
+ [data-rmiz-modal]::backdrop {
400
+ display: none;
401
+ }
402
+ [data-rmiz-modal][open] {
403
+ position: fixed;
404
+ width: 100vw;
405
+ width: 100dvw;
406
+ height: 100vh;
407
+ height: 100dvh;
408
+ max-width: none;
409
+ max-height: none;
410
+ margin: 0;
411
+ padding: 0;
412
+ border: 0;
413
+ background: transparent;
414
+ overflow: hidden;
415
+ }
416
+ [data-rmiz-modal-overlay] {
417
+ position: absolute;
418
+ inset: 0;
419
+ transition: background-color 0.3s;
420
+ }
421
+ [data-rmiz-modal-overlay='hidden'] {
422
+ background-color: rgba(255, 255, 255, 0);
423
+ }
424
+ [data-rmiz-modal-overlay='visible'] {
425
+ background-color: rgba(255, 255, 255, 1);
426
+ }
427
+ [data-rmiz-modal-content] {
428
+ position: relative;
429
+ width: 100%;
430
+ height: 100%;
431
+ }
432
+ [data-rmiz-modal-img] {
433
+ position: absolute;
434
+ cursor: zoom-out;
435
+ image-rendering: high-quality;
436
+ transform-origin: top left;
437
+ transition: transform 0.3s;
438
+ }
439
+ @media (prefers-reduced-motion: reduce) {
440
+ [data-rmiz-modal-overlay],
441
+ [data-rmiz-modal-img] {
442
+ transition-duration: 0.01ms !important;
443
+ }
444
+ }
@@ -0,0 +1,3 @@
1
+ export * from './SortableHeader';
2
+ export * from './GroupActionDialog';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/table/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA"}
@@ -3,5 +3,5 @@ interface UnauthorizedPageProps {
3
3
  backUrl?: string;
4
4
  customMessage?: string;
5
5
  }
6
- export default function UnauthorizedPage({ onLogout, backUrl, customMessage, }: UnauthorizedPageProps): JSX.Element;
6
+ export declare function UnauthorizedPage({ onLogout, backUrl, customMessage, }: UnauthorizedPageProps): JSX.Element;
7
7
  export {};
@@ -0,0 +1,6 @@
1
+ interface DialogErrorDisplayProps {
2
+ customMessage?: string;
3
+ error: Error;
4
+ }
5
+ export declare const DialogErrorDisplay: ({ customMessage, error, }: DialogErrorDisplayProps) => JSX.Element;
6
+ export {};
@@ -0,0 +1,5 @@
1
+ interface DialogLoadingDisplayProps {
2
+ customMessage?: string;
3
+ }
4
+ export declare const DialogLoadingDisplay: ({ customMessage }: DialogLoadingDisplayProps) => JSX.Element;
5
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './DialogErrorDisplay';
2
+ export * from './DialogLoadingDisplay';
@@ -1,4 +1,6 @@
1
1
  export * from './ui';
2
+ export * from './dialog';
3
+ export * from './table';
2
4
  export * from './minimal-tiptap';
3
5
  export * from './DatePicker';
4
6
  export * from './DateRangePicker';
@@ -1 +1,2 @@
1
1
  export * from './minimal-tiptap';
2
+ export * from './mailing-tiptap';
@@ -0,0 +1,2 @@
1
+ export * from './SortableHeader';
2
+ export * from './GroupActionDialog';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tumaet/prompt-ui-components",
3
- "version": "0.0.11",
3
+ "version": "0.0.13",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/ls1intum/prompt-lib.git"
@@ -13,17 +13,20 @@
13
13
  ".": "./dist/index.js",
14
14
  "./index.css": "./dist/index.css",
15
15
  "./tailwind-config": "./tailwind/tailwind.config.js",
16
- "./postcss-config": "./tailwind/postcss.config.js"
16
+ "./postcss-config": "./tailwind/postcss.config.js",
17
+ "./minimal-tiptap/index.css": "./dist/components/minimal-tiptap/styles/index.css"
17
18
  },
18
19
  "files": [
19
20
  "dist",
20
21
  "tailwind",
21
- "src/index.css"
22
+ "src/index.css",
23
+ "src/components/minimal-tiptap/styles/index.css"
22
24
  ],
23
25
  "scripts": {
24
26
  "build:esm": "tsc --project tsconfig.json && tsc-alias",
25
27
  "build:css": "postcss src/index.css -o dist/index.css",
26
- "build": "yarn build:esm && yarn build:css",
28
+ "build:copy-css": "mkdir -p dist/components/minimal-tiptap/styles && cp src/components/minimal-tiptap/styles/index.css dist/components/minimal-tiptap/styles/index.css",
29
+ "build": "yarn build:esm && yarn build:css && yarn build:copy-css",
27
30
  "lint": "eslint \"**/*.{js,jsx,ts,tsx}\""
28
31
  },
29
32
  "packageManager": "yarn@4.1.0",
@@ -0,0 +1,444 @@
1
+ :root {
2
+ --mt-overlay: rgba(251, 251, 251, 0.75);
3
+ --mt-transparent-foreground: rgba(0, 0, 0, 0.4);
4
+ --mt-bg-secondary: rgba(251, 251, 251, 0.8);
5
+ --mt-code-background: #082b781f;
6
+ --mt-code-color: #d4d4d4;
7
+ --mt-secondary: #9d9d9f;
8
+ --mt-pre-background: #ececec;
9
+ --mt-pre-border: #e0e0e0;
10
+ --mt-pre-color: #2f2f31;
11
+ --mt-hr: #dcdcdc;
12
+ --mt-drag-handle-hover: #5c5c5e;
13
+
14
+ --mt-accent-bold-blue: #05c;
15
+ --mt-accent-bold-teal: #206a83;
16
+ --mt-accent-bold-green: #216e4e;
17
+ --mt-accent-bold-orange: #a54800;
18
+ --mt-accent-bold-red: #ae2e24;
19
+ --mt-accent-bold-purple: #5e4db2;
20
+
21
+ --mt-accent-gray: #758195;
22
+ --mt-accent-blue: #1d7afc;
23
+ --mt-accent-teal: #2898bd;
24
+ --mt-accent-green: #22a06b;
25
+ --mt-accent-orange: #fea362;
26
+ --mt-accent-red: #c9372c;
27
+ --mt-accent-purple: #8270db;
28
+
29
+ --mt-accent-blue-subtler: #cce0ff;
30
+ --mt-accent-teal-subtler: #c6edfb;
31
+ --mt-accent-green-subtler: #baf3db;
32
+ --mt-accent-yellow-subtler: #f8e6a0;
33
+ --mt-accent-red-subtler: #ffd5d2;
34
+ --mt-accent-purple-subtler: #dfd8fd;
35
+
36
+ --hljs-string: #aa430f;
37
+ --hljs-title: #b08836;
38
+ --hljs-comment: #999999;
39
+ --hljs-keyword: #0c5eb1;
40
+ --hljs-attr: #3a92bc;
41
+ --hljs-literal: #c82b0f;
42
+ --hljs-name: #259792;
43
+ --hljs-selector-tag: #c8500f;
44
+ --hljs-number: #3da067;
45
+ }
46
+
47
+ .dark {
48
+ --mt-overlay: rgba(31, 32, 35, 0.75);
49
+ --mt-transparent-foreground: rgba(255, 255, 255, 0.4);
50
+ --mt-bg-secondary: rgba(31, 32, 35, 0.8);
51
+ --mt-code-background: #ffffff13;
52
+ --mt-code-color: #2c2e33;
53
+ --mt-secondary: #595a5c;
54
+ --mt-pre-background: #080808;
55
+ --mt-pre-border: #23252a;
56
+ --mt-pre-color: #e3e4e6;
57
+ --mt-hr: #26282d;
58
+ --mt-drag-handle-hover: #969799;
59
+
60
+ --mt-accent-bold-blue: #85b8ff;
61
+ --mt-accent-bold-teal: #9dd9ee;
62
+ --mt-accent-bold-green: #7ee2b8;
63
+ --mt-accent-bold-orange: #fec195;
64
+ --mt-accent-bold-red: #fd9891;
65
+ --mt-accent-bold-purple: #b8acf6;
66
+
67
+ --mt-accent-gray: #738496;
68
+ --mt-accent-blue: #388bff;
69
+ --mt-accent-teal: #42b2d7;
70
+ --mt-accent-green: #2abb7f;
71
+ --mt-accent-orange: #a54800;
72
+ --mt-accent-red: #e2483d;
73
+ --mt-accent-purple: #8f7ee7;
74
+
75
+ --mt-accent-blue-subtler: #09326c;
76
+ --mt-accent-teal-subtler: #164555;
77
+ --mt-accent-green-subtler: #164b35;
78
+ --mt-accent-yellow-subtler: #533f04;
79
+ --mt-accent-red-subtler: #5d1f1a;
80
+ --mt-accent-purple-subtler: #352c63;
81
+
82
+ --hljs-string: #da936b;
83
+ --hljs-title: #f1d59d;
84
+ --hljs-comment: #aaaaaa;
85
+ --hljs-keyword: #6699cc;
86
+ --hljs-attr: #90cae8;
87
+ --hljs-literal: #f2777a;
88
+ --hljs-name: #5fc0a0;
89
+ --hljs-selector-tag: #e8c785;
90
+ --hljs-number: #b6e7b6;
91
+ }
92
+
93
+ .minimal-tiptap-editor .ProseMirror {
94
+ @apply flex max-w-full cursor-text flex-col;
95
+ @apply z-0 outline-0;
96
+ }
97
+
98
+ .minimal-tiptap-editor .ProseMirror > div.editor {
99
+ @apply block flex-1 whitespace-pre-wrap;
100
+ }
101
+
102
+ .minimal-tiptap-editor .ProseMirror .block-node:not(:last-child),
103
+ .minimal-tiptap-editor .ProseMirror .list-node:not(:last-child),
104
+ .minimal-tiptap-editor .ProseMirror .text-node:not(:last-child) {
105
+ @apply mb-2.5;
106
+ }
107
+
108
+ .minimal-tiptap-editor .ProseMirror ol,
109
+ .minimal-tiptap-editor .ProseMirror ul {
110
+ @apply pl-6;
111
+ }
112
+
113
+ .minimal-tiptap-editor .ProseMirror blockquote,
114
+ .minimal-tiptap-editor .ProseMirror dl,
115
+ .minimal-tiptap-editor .ProseMirror ol,
116
+ .minimal-tiptap-editor .ProseMirror p,
117
+ .minimal-tiptap-editor .ProseMirror pre,
118
+ .minimal-tiptap-editor .ProseMirror ul {
119
+ @apply m-0;
120
+ }
121
+
122
+ .minimal-tiptap-editor .ProseMirror li {
123
+ @apply leading-7;
124
+ }
125
+
126
+ .minimal-tiptap-editor .ProseMirror p {
127
+ @apply break-words;
128
+ }
129
+
130
+ .minimal-tiptap-editor .ProseMirror li .text-node:has(+ .list-node),
131
+ .minimal-tiptap-editor .ProseMirror li > .list-node,
132
+ .minimal-tiptap-editor .ProseMirror li > .text-node,
133
+ .minimal-tiptap-editor .ProseMirror li p {
134
+ @apply mb-0;
135
+ }
136
+
137
+ .minimal-tiptap-editor .ProseMirror blockquote {
138
+ @apply relative pl-3.5;
139
+ }
140
+
141
+ .minimal-tiptap-editor .ProseMirror blockquote::before,
142
+ .minimal-tiptap-editor .ProseMirror blockquote.is-empty::before {
143
+ @apply absolute bottom-0 left-0 top-0 h-full w-1 rounded-sm bg-accent-foreground/15 content-[''];
144
+ }
145
+
146
+ .minimal-tiptap-editor .ProseMirror hr {
147
+ @apply my-3 h-0.5 w-full border-none bg-[var(--mt-hr)];
148
+ }
149
+
150
+ .minimal-tiptap-editor .ProseMirror-focused hr.ProseMirror-selectednode {
151
+ @apply rounded-full outline outline-2 outline-offset-1 outline-muted-foreground;
152
+ }
153
+
154
+ .minimal-tiptap-editor .ProseMirror .ProseMirror-gapcursor {
155
+ @apply pointer-events-none absolute hidden;
156
+ }
157
+
158
+ .minimal-tiptap-editor .ProseMirror .ProseMirror-hideselection {
159
+ @apply caret-transparent;
160
+ }
161
+
162
+ .minimal-tiptap-editor .ProseMirror.resize-cursor {
163
+ @apply cursor-col-resize;
164
+ }
165
+
166
+ .minimal-tiptap-editor .ProseMirror .selection {
167
+ @apply inline-block;
168
+ }
169
+
170
+ .minimal-tiptap-editor .ProseMirror s span {
171
+ @apply line-through;
172
+ }
173
+
174
+ .minimal-tiptap-editor .ProseMirror .selection,
175
+ .minimal-tiptap-editor .ProseMirror *::selection,
176
+ ::selection {
177
+ @apply bg-primary/25;
178
+ }
179
+
180
+ /* Override native selection when custom selection is present */
181
+ .minimal-tiptap-editor .ProseMirror .selection::selection {
182
+ background: transparent;
183
+ }
184
+
185
+
186
+ /* Typography */
187
+ .minimal-tiptap-editor .ProseMirror .heading-node {
188
+ @apply relative font-semibold;
189
+ }
190
+
191
+ .minimal-tiptap-editor .ProseMirror .heading-node:first-child {
192
+ @apply mt-0;
193
+ }
194
+
195
+ .minimal-tiptap-editor .ProseMirror h1 {
196
+ @apply mb-4 mt-[46px] text-[1.375rem] leading-7 tracking-[-0.004375rem];
197
+ }
198
+
199
+ .minimal-tiptap-editor .ProseMirror h2 {
200
+ @apply mb-3.5 mt-8 text-[1.1875rem] leading-7 tracking-[0.003125rem];
201
+ }
202
+
203
+ .minimal-tiptap-editor .ProseMirror h3 {
204
+ @apply mb-3 mt-6 text-[1.0625rem] leading-6 tracking-[0.00625rem];
205
+ }
206
+
207
+ .minimal-tiptap-editor .ProseMirror h4 {
208
+ @apply mb-2 mt-4 text-[0.9375rem] leading-6;
209
+ }
210
+
211
+ .minimal-tiptap-editor .ProseMirror h5 {
212
+ @apply mb-2 mt-4 text-sm;
213
+ }
214
+
215
+ .minimal-tiptap-editor .ProseMirror h5 {
216
+ @apply mb-2 mt-4 text-sm;
217
+ }
218
+
219
+ .minimal-tiptap-editor .ProseMirror a.link {
220
+ @apply cursor-pointer text-blue-700;
221
+ }
222
+
223
+ .minimal-tiptap-editor .ProseMirror a.link:hover {
224
+ @apply underline;
225
+ }
226
+
227
+
228
+ /** Lists */
229
+ .minimal-tiptap-editor .ProseMirror ol {
230
+ @apply list-decimal;
231
+ }
232
+
233
+ .minimal-tiptap-editor .ProseMirror ol ol {
234
+ list-style: lower-alpha;
235
+ }
236
+
237
+ .minimal-tiptap-editor .ProseMirror ol ol ol {
238
+ list-style: lower-roman;
239
+ }
240
+
241
+ .minimal-tiptap-editor .ProseMirror ul {
242
+ list-style: disc;
243
+ }
244
+
245
+ .minimal-tiptap-editor .ProseMirror ul ul {
246
+ list-style: circle;
247
+ }
248
+
249
+ .minimal-tiptap-editor .ProseMirror ul ul ul {
250
+ list-style: square;
251
+ }
252
+
253
+
254
+ /** Placeholders */
255
+ .minimal-tiptap-editor .ProseMirror > p.is-editor-empty::before {
256
+ content: attr(data-placeholder);
257
+ @apply pointer-events-none float-left h-0 text-[var(--mt-secondary)];
258
+ }
259
+
260
+
261
+ /** Code */
262
+ .minimal-tiptap-editor .ProseMirror code.inline {
263
+ @apply rounded border border-[var(--mt-code-color)] bg-[var(--mt-code-background)] px-1 py-0.5 text-sm;
264
+ }
265
+
266
+ .minimal-tiptap-editor .ProseMirror pre {
267
+ @apply relative overflow-auto rounded border font-mono text-sm;
268
+ @apply border-[var(--mt-pre-border)] bg-[var(--mt-pre-background)] text-[var(--mt-pre-color)];
269
+ @apply hyphens-none whitespace-pre text-left;
270
+ }
271
+
272
+ .minimal-tiptap-editor .ProseMirror code {
273
+ @apply break-words leading-[1.7em];
274
+ }
275
+
276
+ .minimal-tiptap-editor .ProseMirror pre code {
277
+ @apply block overflow-x-auto p-3.5;
278
+ }
279
+
280
+ .minimal-tiptap-editor .ProseMirror pre {
281
+ .hljs-keyword,
282
+ .hljs-operator,
283
+ .hljs-function,
284
+ .hljs-built_in,
285
+ .hljs-builtin-name {
286
+ color: var(--hljs-keyword);
287
+ }
288
+
289
+ .hljs-attr,
290
+ .hljs-symbol,
291
+ .hljs-property,
292
+ .hljs-attribute,
293
+ .hljs-variable,
294
+ .hljs-template-variable,
295
+ .hljs-params {
296
+ color: var(--hljs-attr);
297
+ }
298
+
299
+ .hljs-name,
300
+ .hljs-regexp,
301
+ .hljs-link,
302
+ .hljs-type,
303
+ .hljs-addition {
304
+ color: var(--hljs-name);
305
+ }
306
+
307
+ .hljs-string,
308
+ .hljs-bullet {
309
+ color: var(--hljs-string);
310
+ }
311
+
312
+ .hljs-title,
313
+ .hljs-subst,
314
+ .hljs-section {
315
+ color: var(--hljs-title);
316
+ }
317
+
318
+ .hljs-literal,
319
+ .hljs-type,
320
+ .hljs-deletion {
321
+ color: var(--hljs-literal);
322
+ }
323
+
324
+ .hljs-selector-tag,
325
+ .hljs-selector-id,
326
+ .hljs-selector-class {
327
+ color: var(--hljs-selector-tag);
328
+ }
329
+
330
+ .hljs-number {
331
+ color: var(--hljs-number);
332
+ }
333
+
334
+ .hljs-comment,
335
+ .hljs-meta,
336
+ .hljs-quote {
337
+ color: var(--hljs-comment);
338
+ }
339
+
340
+ .hljs-emphasis {
341
+ @apply italic;
342
+ }
343
+
344
+ .hljs-strong {
345
+ @apply font-bold;
346
+ }
347
+ }
348
+
349
+
350
+ /** Zoom */
351
+ [data-rmiz-ghost] {
352
+ position: absolute;
353
+ pointer-events: none;
354
+ }
355
+ [data-rmiz-btn-zoom],
356
+ [data-rmiz-btn-unzoom] {
357
+ background-color: rgba(0, 0, 0, 0.7);
358
+ border-radius: 50%;
359
+ border: none;
360
+ box-shadow: 0 0 1px rgba(255, 255, 255, 0.5);
361
+ color: #fff;
362
+ height: 40px;
363
+ margin: 0;
364
+ outline-offset: 2px;
365
+ padding: 9px;
366
+ touch-action: manipulation;
367
+ width: 40px;
368
+ -webkit-appearance: none;
369
+ -moz-appearance: none;
370
+ appearance: none;
371
+ }
372
+ [data-rmiz-btn-zoom]:not(:focus):not(:active) {
373
+ position: absolute;
374
+ clip: rect(0 0 0 0);
375
+ clip-path: inset(50%);
376
+ height: 1px;
377
+ overflow: hidden;
378
+ pointer-events: none;
379
+ white-space: nowrap;
380
+ width: 1px;
381
+ }
382
+ [data-rmiz-btn-zoom] {
383
+ position: absolute;
384
+ inset: 10px 10px auto auto;
385
+ cursor: zoom-in;
386
+ }
387
+ [data-rmiz-btn-unzoom] {
388
+ position: absolute;
389
+ inset: 20px 20px auto auto;
390
+ cursor: zoom-out;
391
+ z-index: 1;
392
+ }
393
+ [data-rmiz-content='found'] img,
394
+ [data-rmiz-content='found'] svg,
395
+ [data-rmiz-content='found'] [role='img'],
396
+ [data-rmiz-content='found'] [data-zoom] {
397
+ cursor: inherit;
398
+ }
399
+ [data-rmiz-modal]::backdrop {
400
+ display: none;
401
+ }
402
+ [data-rmiz-modal][open] {
403
+ position: fixed;
404
+ width: 100vw;
405
+ width: 100dvw;
406
+ height: 100vh;
407
+ height: 100dvh;
408
+ max-width: none;
409
+ max-height: none;
410
+ margin: 0;
411
+ padding: 0;
412
+ border: 0;
413
+ background: transparent;
414
+ overflow: hidden;
415
+ }
416
+ [data-rmiz-modal-overlay] {
417
+ position: absolute;
418
+ inset: 0;
419
+ transition: background-color 0.3s;
420
+ }
421
+ [data-rmiz-modal-overlay='hidden'] {
422
+ background-color: rgba(255, 255, 255, 0);
423
+ }
424
+ [data-rmiz-modal-overlay='visible'] {
425
+ background-color: rgba(255, 255, 255, 1);
426
+ }
427
+ [data-rmiz-modal-content] {
428
+ position: relative;
429
+ width: 100%;
430
+ height: 100%;
431
+ }
432
+ [data-rmiz-modal-img] {
433
+ position: absolute;
434
+ cursor: zoom-out;
435
+ image-rendering: high-quality;
436
+ transform-origin: top left;
437
+ transition: transform 0.3s;
438
+ }
439
+ @media (prefers-reduced-motion: reduce) {
440
+ [data-rmiz-modal-overlay],
441
+ [data-rmiz-modal-img] {
442
+ transition-duration: 0.01ms !important;
443
+ }
444
+ }