@cgi-learning-hub/ui 1.14.0-dev.1783514870 → 1.14.0-dev.1785319387

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ui.css CHANGED
@@ -1,4 +1,4 @@
1
- :root {
1
+ @charset "UTF-8";:root {
2
2
  --toastify-color-light: var(--theme-palette-common-white);
3
3
  --toastify-color-dark: var(--theme-palette-common-black);
4
4
  --toastify-color-info: var(--theme-palette-info-main);
@@ -11,4 +11,210 @@
11
11
  --toastify-text-color-light: var(--theme-palette-text-primary);
12
12
  --toastify-text-color-dark: var(--theme-palette-common-white);
13
13
  }
14
- /*$vite$:1*/
14
+
15
+ .tiptap-button-group {
16
+ display: flex;
17
+ width: fit-content;
18
+ align-items: stretch;
19
+ /* nested tiptap-button-group gets a gap */
20
+ }
21
+ .tiptap-button-group:has(> [data-slot=tiptap-button-group]) {
22
+ gap: 0.125rem;
23
+ }
24
+ .tiptap-button-group {
25
+ /* focus-visible children stack correctly */
26
+ }
27
+ .tiptap-button-group > *:focus-visible {
28
+ position: relative;
29
+ z-index: 10;
30
+ }
31
+ .tiptap-button-group {
32
+ /* select trigger without explicit width becomes fit-content */
33
+ }
34
+ .tiptap-button-group > [data-slot=select-trigger]:not([class*=w-]) {
35
+ width: fit-content;
36
+ }
37
+ .tiptap-button-group {
38
+ /* input children fill remaining space */
39
+ }
40
+ .tiptap-button-group > input {
41
+ flex: 1;
42
+ }
43
+
44
+ /* ─── Horizontal ────────────────────────────────────────── */
45
+ .tiptap-button-group-horizontal {
46
+ /* all [data-slot] children: remove right radius */
47
+ }
48
+ .tiptap-button-group-horizontal > [data-slot] {
49
+ border-top-right-radius: 0;
50
+ border-bottom-right-radius: 0;
51
+ }
52
+ .tiptap-button-group-horizontal {
53
+ /* last [data-slot] child: restore right radius */
54
+ }
55
+ .tiptap-button-group-horizontal > [data-slot]:not(:has(~ [data-slot])) {
56
+ border-top-right-radius: var(--tt-radius-lg) !important;
57
+ border-bottom-right-radius: var(--tt-radius-lg) !important;
58
+ }
59
+ .tiptap-button-group-horizontal {
60
+ /* non-first [data-slot] children: remove left radius + left border */
61
+ }
62
+ .tiptap-button-group-horizontal > [data-slot] ~ [data-slot] {
63
+ border-top-left-radius: 0;
64
+ border-bottom-left-radius: 0;
65
+ border-left-width: 0;
66
+ }
67
+ .tiptap-button-group-horizontal {
68
+ /* select trigger last of type when followed by hidden select */
69
+ }
70
+ .tiptap-button-group-horizontal:has(select[aria-hidden=true]:last-child) > [data-slot=select-trigger]:last-of-type {
71
+ border-top-right-radius: var(--tt-radius-lg);
72
+ border-bottom-right-radius: var(--tt-radius-lg);
73
+ }
74
+
75
+ /* ─── Vertical ──────────────────────────────────────────── */
76
+ .tiptap-button-group-vertical {
77
+ flex-direction: column;
78
+ /* all [data-slot] children: remove bottom radius */
79
+ }
80
+ .tiptap-button-group-vertical > [data-slot] {
81
+ border-bottom-left-radius: 0;
82
+ border-bottom-right-radius: 0;
83
+ }
84
+ .tiptap-button-group-vertical {
85
+ /* last [data-slot] child: restore bottom radius */
86
+ }
87
+ .tiptap-button-group-vertical > [data-slot]:not(:has(~ [data-slot])) {
88
+ border-bottom-left-radius: var(--tt-radius-lg) !important;
89
+ border-bottom-right-radius: var(--tt-radius-lg) !important;
90
+ }
91
+ .tiptap-button-group-vertical {
92
+ /* non-first [data-slot] children: remove top radius + top border */
93
+ }
94
+ .tiptap-button-group-vertical > [data-slot] ~ [data-slot] {
95
+ border-top-left-radius: 0;
96
+ border-top-right-radius: 0;
97
+ border-top-width: 0;
98
+ }
99
+
100
+ /* ─── Separator ──────────────────────────────────────────── */
101
+ .tiptap-button-group-separator {
102
+ position: relative;
103
+ align-self: stretch;
104
+ }
105
+
106
+ .tiptap-button-group-separator[data-orientation=horizontal] {
107
+ margin-left: 1px;
108
+ margin-right: 1px;
109
+ }
110
+
111
+ .tiptap-button-group-separator[data-orientation=horizontal] {
112
+ width: auto;
113
+ }
114
+
115
+ .tiptap-button-group-separator[data-orientation=vertical] {
116
+ margin-top: 1px;
117
+ margin-bottom: 1px;
118
+ }
119
+
120
+ .tiptap-button-group-separator[data-orientation=vertical] {
121
+ height: auto;
122
+ }.tiptap-link-input {
123
+ font-size: 0.875rem;
124
+ border: none;
125
+ /* Clamp the input */
126
+ min-width: 12rem;
127
+ padding-right: 0;
128
+ text-overflow: ellipsis;
129
+ white-space: nowrap;
130
+ }
131
+ .tiptap-link-input:focus {
132
+ text-overflow: clip;
133
+ overflow: visible;
134
+ }:root {
135
+ --tt-toolbar-height: 2.75rem;
136
+ --tt-safe-area-bottom: env(safe-area-inset-bottom, 0px);
137
+ --tt-toolbar-bg-color: var(--theme-palette-common-white);
138
+ --tt-toolbar-border-color: var(--theme-palette-divider);
139
+ }
140
+
141
+ .dark {
142
+ --tt-toolbar-bg-color: var(--theme-palette-common-black);
143
+ --tt-toolbar-border-color: var(--theme-palette-divider);
144
+ }
145
+
146
+ .tiptap-toolbar {
147
+ display: flex;
148
+ align-items: center;
149
+ gap: 0.25rem;
150
+ }
151
+ .tiptap-toolbar-group {
152
+ display: flex;
153
+ align-items: center;
154
+ gap: 0.125rem;
155
+ }
156
+ .tiptap-toolbar-group:empty {
157
+ display: none;
158
+ }
159
+ .tiptap-toolbar-group:empty + .tiptap-separator, .tiptap-separator + .tiptap-toolbar-group:empty {
160
+ display: none;
161
+ }
162
+ .tiptap-toolbar[data-variant=fixed] {
163
+ position: sticky;
164
+ top: 0;
165
+ z-index: 50;
166
+ width: 100%;
167
+ min-height: var(--tt-toolbar-height);
168
+ background: var(--tt-toolbar-bg-color);
169
+ border-bottom: 1px solid var(--tt-toolbar-border-color);
170
+ padding: 0 0.5rem;
171
+ overflow-x: auto;
172
+ overscroll-behavior-x: contain;
173
+ -webkit-overflow-scrolling: touch;
174
+ scrollbar-width: none;
175
+ -ms-overflow-style: none;
176
+ }
177
+ .tiptap-toolbar[data-variant=fixed]::-webkit-scrollbar {
178
+ display: none;
179
+ }
180
+ @media (max-width: 480px) {
181
+ .tiptap-toolbar[data-variant=fixed] {
182
+ position: absolute;
183
+ top: auto;
184
+ height: calc(var(--tt-toolbar-height) + var(--tt-safe-area-bottom));
185
+ border-top: 1px solid var(--tt-toolbar-border-color);
186
+ border-bottom: none;
187
+ padding: 0 0.5rem var(--tt-safe-area-bottom);
188
+ flex-wrap: nowrap;
189
+ justify-content: flex-start;
190
+ }
191
+ .tiptap-toolbar[data-variant=fixed] .tiptap-toolbar-group {
192
+ flex: 0 0 auto;
193
+ }
194
+ }
195
+ .tiptap-toolbar[data-variant=floating] {
196
+ --tt-toolbar-padding: 0.125rem;
197
+ --tt-toolbar-border-width: 1px;
198
+ padding: 0.188rem;
199
+ border-radius: calc(var(--tt-toolbar-padding) + var(--tt-radius-lg) + var(--tt-toolbar-border-width));
200
+ border: var(--tt-toolbar-border-width) solid var(--tt-toolbar-border-color);
201
+ background-color: var(--tt-toolbar-bg-color);
202
+ box-shadow: var(--tt-shadow-elevated-md);
203
+ outline: none;
204
+ overflow: hidden;
205
+ }
206
+ .tiptap-toolbar[data-variant=floating][data-plain=true] {
207
+ padding: 0;
208
+ border-radius: 0;
209
+ border: none;
210
+ box-shadow: none;
211
+ background-color: transparent;
212
+ }
213
+ @media screen and (max-width: 480px) {
214
+ .tiptap-toolbar[data-variant=floating] {
215
+ width: 100%;
216
+ border-radius: 0;
217
+ border: none;
218
+ box-shadow: none;
219
+ }
220
+ }/*$vite$:1*/
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cgi-learning-hub/ui",
3
- "version": "1.14.0-dev.1783514870",
3
+ "version": "1.14.0-dev.1785319387",
4
4
  "description": "React component library for Hub's design system, built on Material UI with custom and extended components.",
5
5
  "keywords": [
6
6
  "cgi-learning-hub",
@@ -21,6 +21,11 @@
21
21
  "import": "./dist/index.es.js",
22
22
  "require": "./dist/index.cjs.js"
23
23
  },
24
+ "./tiptap": {
25
+ "types": "./dist/tiptap/index.d.ts",
26
+ "import": "./dist/tiptap/index.es.js",
27
+ "require": "./dist/tiptap/index.cjs.js"
28
+ },
24
29
  "./index.css": "./dist/ui.css"
25
30
  },
26
31
  "main": "dist/index.cjs.js",
@@ -41,6 +46,7 @@
41
46
  "@mui/x-tree-view": "9.4.0",
42
47
  "@uiw/color-convert": "2.10.3",
43
48
  "@uiw/react-color-circle": "2.10.3",
49
+ "clsx": "2.1.1",
44
50
  "dayjs": "1.11.21",
45
51
  "react-dropzone": "15.0.0"
46
52
  },
@@ -48,13 +54,26 @@
48
54
  "@emotion/react": "^11",
49
55
  "@emotion/styled": "^11",
50
56
  "@mui/material": "^9",
57
+ "@tiptap/pm": "^3",
58
+ "@tiptap/react": "^3",
51
59
  "react": "^18 || ^19",
52
60
  "react-dom": "^18 || ^19"
53
61
  },
62
+ "peerDependenciesMeta": {
63
+ "@tiptap/pm": {
64
+ "optional": true
65
+ },
66
+ "@tiptap/react": {
67
+ "optional": true
68
+ }
69
+ },
54
70
  "devDependencies": {
71
+ "@base-ui/react": "^1",
55
72
  "@reduxjs/toolkit": "^2",
56
73
  "@types/react": "^19",
57
- "@types/react-dom": "^19"
74
+ "@types/react-dom": "^19",
75
+ "class-variance-authority": "^0",
76
+ "sass-embedded": "^1.100.0"
58
77
  },
59
78
  "scripts": {
60
79
  "build": "vite build",