studiokit-scaffolding-js 7.0.12-next.2.3 → 7.0.12-next.2.5

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 (286) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +137 -137
  3. package/lib/components/ActionList.js +3 -7
  4. package/lib/components/AlertDialog.js +1 -1
  5. package/lib/components/AlertWithIcon.js +1 -1
  6. package/lib/components/ConnectedModal.js +3 -3
  7. package/lib/components/Dropdowns/GroupsDropdown.js +1 -1
  8. package/lib/components/Dropdowns/ManagedNavDropdown.js +4 -4
  9. package/lib/components/Dropdowns/UserDropdown.js +2 -4
  10. package/lib/components/Dropdowns/index.js +1 -1
  11. package/lib/components/EntityOwnerList.js +1 -1
  12. package/lib/components/Error.js +1 -1
  13. package/lib/components/ErrorBoundary.js +1 -1
  14. package/lib/components/ErrorMessage.js +1 -1
  15. package/lib/components/Forms/DateField.js +1 -1
  16. package/lib/components/Forms/TimeField.js +1 -1
  17. package/lib/components/Forms/index.js +1 -1
  18. package/lib/components/Groups/CreateEditCopySaveButtons.js +3 -7
  19. package/lib/components/Groups/ExternalGroups/Attach.js +2 -4
  20. package/lib/components/Groups/ExternalGroups/Table.js +1 -1
  21. package/lib/components/Groups/GroupCreateOrEditCommonProps.js +1 -1
  22. package/lib/components/Groups/RosterSyncInfo.js +4 -10
  23. package/lib/components/HOC/AccessibleAppComponent.js +6 -6
  24. package/lib/components/HOC/ActivityRequiredComponent.js +50 -50
  25. package/lib/components/HOC/AsyncComponent.js +1 -1
  26. package/lib/components/HOC/AuthenticatedComponent.js +1 -1
  27. package/lib/components/HOC/CollectionComponent.js +11 -11
  28. package/lib/components/HOC/CollectionFirstItemComponent.js +4 -4
  29. package/lib/components/HOC/CollectionItemComponent.js +11 -11
  30. package/lib/components/HOC/ConnectedModalComponent.js +15 -15
  31. package/lib/components/HOC/DataDependentComponent.js +1 -1
  32. package/lib/components/HOC/EntityComponent.js +12 -12
  33. package/lib/components/HOC/FullscreenModalComponent.js +24 -24
  34. package/lib/components/HOC/GroupActivityRequiredComponent.js +19 -19
  35. package/lib/components/HOC/GuidComponent.js +5 -5
  36. package/lib/components/HOC/ModelContextDependencyVerifyComponent.js +7 -7
  37. package/lib/components/HOC/ModelErrorRedirectComponent.js +12 -12
  38. package/lib/components/HOC/SearchPersistorComponent.js +45 -45
  39. package/lib/components/HOC/UnauthenticatedComponent.js +1 -1
  40. package/lib/components/HOC/UserComponent.js +1 -1
  41. package/lib/components/Icons/IconAlphaList.js +1 -1
  42. package/lib/components/Icons/IconExternalUser.js +1 -1
  43. package/lib/components/Icons/IconImpersonation.js +1 -1
  44. package/lib/components/Icons/IconStopImpersonating.js +1 -1
  45. package/lib/components/Icons/IconTable.js +1 -1
  46. package/lib/components/Icons/IconTableDeleteCol.js +1 -1
  47. package/lib/components/Icons/IconTableDeleteRow.js +1 -1
  48. package/lib/components/Icons/IconTableInsertCol.js +1 -1
  49. package/lib/components/Icons/IconTableInsertRow.js +1 -1
  50. package/lib/components/Impersonation/Button.js +1 -1
  51. package/lib/components/Impersonation/Link.js +1 -1
  52. package/lib/components/Impersonation/UserDetail.css +22 -22
  53. package/lib/components/Impersonation/UserDetail.js +3 -3
  54. package/lib/components/Loading.js +1 -1
  55. package/lib/components/LockDownBrowser/Check.js +1 -1
  56. package/lib/components/LockDownBrowser/ExitButton.js +1 -1
  57. package/lib/components/LockDownBrowser/Launch.js +1 -1
  58. package/lib/components/Lti/Confirm.js +1 -1
  59. package/lib/components/Lti/CreateNonLtiGroupAlertDialog.js +1 -1
  60. package/lib/components/Lti/Launch.js +1 -1
  61. package/lib/components/Lti/LaunchGroup.js +1 -1
  62. package/lib/components/ManageTable.js +1 -1
  63. package/lib/components/ManageTableNoDataComponent.js +1 -1
  64. package/lib/components/NewVersionAlert.js +1 -1
  65. package/lib/components/NotFound.js +1 -1
  66. package/lib/components/Notifications.d.ts +1 -1
  67. package/lib/components/Notifications.js +3 -3
  68. package/lib/components/PaginationNextButton.js +1 -1
  69. package/lib/components/PaginationPreviousButton.js +1 -1
  70. package/lib/components/Quill/CustomToolbar.js +1 -1
  71. package/lib/components/Quill/Formats/Image.js +5 -5
  72. package/lib/components/Quill/Formats/List.js +3 -3
  73. package/lib/components/Quill/Formats/Video.js +3 -3
  74. package/lib/components/Quill/ImageDropModule.js +18 -18
  75. package/lib/components/Quill/ImageWarning.js +1 -1
  76. package/lib/components/Quill/ImageWithAltTextModal.js +1 -1
  77. package/lib/components/Quill/Specs/CustomImageSpec.js +7 -7
  78. package/lib/components/Quill/Specs/CustomVideoSpec.js +9 -9
  79. package/lib/components/Quill/TableModule/Blots/BaseTableBlot.js +8 -8
  80. package/lib/components/Quill/TableModule/Blots/TableBlot.js +1 -1
  81. package/lib/components/Quill/TableModule/Blots/TableBodyBlot.js +1 -1
  82. package/lib/components/Quill/TableModule/Blots/TableCellBlot.js +1 -1
  83. package/lib/components/Quill/TableModule/Blots/TableContainer.js +1 -1
  84. package/lib/components/Quill/TableModule/Blots/TableRowBlot.js +1 -1
  85. package/lib/components/Quill/TableModule/constants.js +1 -1
  86. package/lib/components/Quill/TableModule/index.css +171 -171
  87. package/lib/components/Quill/TableModule/index.js +1 -1
  88. package/lib/components/Quill/TableModule/utils.js +1 -1
  89. package/lib/components/Quill/accessibilityFix.js +14 -14
  90. package/lib/components/Quill/index.js +1 -1
  91. package/lib/components/RefreshIndicator/Bordered.js +1 -1
  92. package/lib/components/RefreshIndicator/Inline.js +1 -1
  93. package/lib/components/RefreshIndicator/index.js +1 -1
  94. package/lib/components/SearchControls.js +1 -1
  95. package/lib/components/SentryRoute.js +1 -1
  96. package/lib/components/Tables/RoleFilter.js +1 -1
  97. package/lib/components/Tables/TextFilter.js +1 -1
  98. package/lib/components/UserRoles/Add.js +1 -1
  99. package/lib/components/UserRoles/Context.js +4 -4
  100. package/lib/components/UserRoles/RoleCell.js +1 -1
  101. package/lib/components/UserRoles/Select.js +1 -1
  102. package/lib/components/UserRoles/Table.js +1 -1
  103. package/lib/components/UserRoles/index.js +3 -3
  104. package/lib/config/eslint/index.js +1 -1
  105. package/lib/config/eslint/lib/order.js +1 -1
  106. package/lib/config/eslint/lib/prettier.js +1 -1
  107. package/lib/config/eslint/lib/typescript.js +1 -1
  108. package/lib/config/eslint/react.js +1 -1
  109. package/lib/constants/baseActivity.js +1 -1
  110. package/lib/constants/baseRole.js +1 -1
  111. package/lib/constants/configuration.js +1 -1
  112. package/lib/constants/externalProviderType.js +1 -1
  113. package/lib/constants/fetchErrorData.js +1 -1
  114. package/lib/constants/index.js +1 -1
  115. package/lib/constants/lockDownBrowser.js +1 -1
  116. package/lib/constants/mockData.js +3 -3
  117. package/lib/constants/modelStatus.js +1 -1
  118. package/lib/constants/notificationType.js +1 -1
  119. package/lib/constants/operatingSystem.js +1 -1
  120. package/lib/constants/shard.js +1 -1
  121. package/lib/constants/table.js +1 -1
  122. package/lib/constants/tier.js +1 -1
  123. package/lib/constants/userRole.js +1 -1
  124. package/lib/css/base/_base.css +98 -98
  125. package/lib/css/base/_typography.css +130 -130
  126. package/lib/css/components/_alert.css +86 -86
  127. package/lib/css/components/_bootstrap-grid.css +28 -28
  128. package/lib/css/components/_buttons.css +397 -397
  129. package/lib/css/components/_forms.css +101 -101
  130. package/lib/css/components/_menu.css +56 -56
  131. package/lib/css/components/_modals.css +46 -46
  132. package/lib/css/components/_quill.css +315 -315
  133. package/lib/css/components/_tables.css +497 -497
  134. package/lib/css/components/_tags.css +12 -12
  135. package/lib/css/index-with-variables.css +15 -15
  136. package/lib/css/index.css +14 -14
  137. package/lib/css/utils/_border.css +463 -463
  138. package/lib/css/utils/_color.css +317 -317
  139. package/lib/css/utils/_display.css +305 -305
  140. package/lib/css/utils/_general.css +48 -48
  141. package/lib/css/utils/_icon.css +16 -16
  142. package/lib/css/utils/_text.css +25 -25
  143. package/lib/css/utils/_width.css +60 -60
  144. package/lib/css/variables.css +84 -84
  145. package/lib/endpointMappings.js +1 -1
  146. package/lib/hooks/useCollection.js +1 -1
  147. package/lib/hooks/useCollectionConfiguration.js +7 -7
  148. package/lib/hooks/useCollectionItem.js +1 -1
  149. package/lib/hooks/useGuid.js +3 -3
  150. package/lib/hooks/usePrevious.d.ts +14 -1
  151. package/lib/hooks/usePrevious.js +25 -4
  152. package/lib/index.js +1 -1
  153. package/lib/redux/actionCreator.js +1 -1
  154. package/lib/redux/actions/AuthAction.js +7 -7
  155. package/lib/redux/actions/ModalAction.js +1 -1
  156. package/lib/redux/actions/ModelAction.js +17 -17
  157. package/lib/redux/actions/NotificationAction.js +1 -1
  158. package/lib/redux/actions/SearchAction.js +1 -1
  159. package/lib/redux/actions/index.js +1 -1
  160. package/lib/redux/configureReducers.js +7 -7
  161. package/lib/redux/configureStore.js +1 -1
  162. package/lib/redux/helpers.js +1 -1
  163. package/lib/redux/reducers/authReducer.js +3 -3
  164. package/lib/redux/reducers/index.js +1 -1
  165. package/lib/redux/reducers/modalsReducer.js +1 -1
  166. package/lib/redux/reducers/modelsReducer.js +48 -48
  167. package/lib/redux/reducers/notificationsReducer.js +1 -1
  168. package/lib/redux/reducers/searchReducer.js +9 -9
  169. package/lib/redux/sagas/appInsightsSaga.js +1 -1
  170. package/lib/redux/sagas/authSaga.js +1 -1
  171. package/lib/redux/sagas/caliperSaga.js +16 -16
  172. package/lib/redux/sagas/clockOffsetSaga.js +9 -9
  173. package/lib/redux/sagas/configurationSaga.js +1 -1
  174. package/lib/redux/sagas/downtimeApiErrorSaga.js +1 -1
  175. package/lib/redux/sagas/errorSaga.js +1 -1
  176. package/lib/redux/sagas/googleAnalyticsSaga.js +1 -1
  177. package/lib/redux/sagas/identityProviderSaga.js +1 -1
  178. package/lib/redux/sagas/initialDataLoadSaga.js +1 -1
  179. package/lib/redux/sagas/lockDownBrowserErrorSaga.js +1 -1
  180. package/lib/redux/sagas/modelFetchSaga.js +49 -49
  181. package/lib/redux/sagas/noStoreSaga.js +1 -1
  182. package/lib/redux/sagas/postLoginDataSaga.js +6 -6
  183. package/lib/redux/sagas/postLoginRedirectSaga.js +4 -4
  184. package/lib/redux/sagas/rootSaga.js +1 -1
  185. package/lib/redux/sagas/sentrySaga.js +1 -1
  186. package/lib/redux/sagas/userIdSaga.js +1 -1
  187. package/lib/services/codeProviderService.js +1 -1
  188. package/lib/services/dateService.js +3 -3
  189. package/lib/services/documentService.js +4 -4
  190. package/lib/services/fetchService.js +25 -25
  191. package/lib/services/persistenceService.js +1 -1
  192. package/lib/services/ticketProviderService.js +1 -1
  193. package/lib/services/tokenPersistenceService.js +1 -1
  194. package/lib/services/windowService.js +1 -1
  195. package/lib/startup.js +18 -18
  196. package/lib/types/AppConfiguration.js +1 -1
  197. package/lib/types/Artifact.js +1 -1
  198. package/lib/types/BaseReduxState.js +1 -1
  199. package/lib/types/Client.js +1 -1
  200. package/lib/types/Collection.js +1 -1
  201. package/lib/types/Configuration.js +1 -1
  202. package/lib/types/DeepLinkingResponseRequest.js +1 -1
  203. package/lib/types/DeletableModel.js +1 -1
  204. package/lib/types/Event.js +1 -1
  205. package/lib/types/ExternalGroup.js +1 -1
  206. package/lib/types/ExternalProvider.js +1 -1
  207. package/lib/types/ExternalTerm.js +1 -1
  208. package/lib/types/Group.js +1 -1
  209. package/lib/types/IdentityProvider.js +1 -1
  210. package/lib/types/LtiLaunch.js +1 -1
  211. package/lib/types/NameOnlyEntity.js +1 -1
  212. package/lib/types/Notification.js +1 -1
  213. package/lib/types/OptionalRecord.js +1 -1
  214. package/lib/types/OwnerSchedule.js +1 -1
  215. package/lib/types/PropertyOfType.js +1 -1
  216. package/lib/types/Quill.js +1 -1
  217. package/lib/types/RoleDescription.js +1 -1
  218. package/lib/types/Search.js +1 -1
  219. package/lib/types/SimpleLocation.js +1 -1
  220. package/lib/types/UniTime.js +1 -1
  221. package/lib/types/User.js +1 -1
  222. package/lib/types/UserRole.js +1 -1
  223. package/lib/types/auth/AuthState.js +1 -1
  224. package/lib/types/auth/CasV1LoginRequestBody.js +1 -1
  225. package/lib/types/auth/ClientCredentials.js +1 -1
  226. package/lib/types/auth/CodeProviderService.js +1 -1
  227. package/lib/types/auth/LocalLoginRequestBody.js +1 -1
  228. package/lib/types/auth/TicketProviderService.js +1 -1
  229. package/lib/types/auth/TokenPersistenceService.js +1 -1
  230. package/lib/types/auth/index.js +1 -1
  231. package/lib/types/externals.d.js +1 -1
  232. package/lib/types/index.js +1 -1
  233. package/lib/types/net/EndpointConfig.js +1 -1
  234. package/lib/types/net/EndpointMapping.js +1 -1
  235. package/lib/types/net/EndpointMappings.js +1 -1
  236. package/lib/types/net/ErrorHandler.js +1 -1
  237. package/lib/types/net/FetchConfig.js +1 -1
  238. package/lib/types/net/FetchErrorData.js +1 -1
  239. package/lib/types/net/FetchResult.js +1 -1
  240. package/lib/types/net/HTTPMethod.js +1 -1
  241. package/lib/types/net/HTTPStatusCode.js +1 -1
  242. package/lib/types/net/Metadata.js +1 -1
  243. package/lib/types/net/Model.js +1 -1
  244. package/lib/types/net/ModelCollection.js +1 -1
  245. package/lib/types/net/ModelsState.js +1 -1
  246. package/lib/types/net/OAuthToken.js +1 -1
  247. package/lib/types/net/OAuthTokenOrNull.js +1 -1
  248. package/lib/types/net/TokenAccessFunction.js +1 -1
  249. package/lib/types/net/index.js +1 -1
  250. package/lib/utils/baseActivity.js +87 -87
  251. package/lib/utils/baseRole.js +1 -1
  252. package/lib/utils/collection.js +20 -20
  253. package/lib/utils/cookies.js +1 -1
  254. package/lib/utils/date.js +111 -111
  255. package/lib/utils/dom.js +42 -42
  256. package/lib/utils/domainIdentifier.js +1 -1
  257. package/lib/utils/entityUserRole.js +1 -1
  258. package/lib/utils/error.js +1 -1
  259. package/lib/utils/events.js +4 -4
  260. package/lib/utils/externalGroup.js +1 -1
  261. package/lib/utils/externalProviders.js +1 -1
  262. package/lib/utils/externalTerms.js +1 -1
  263. package/lib/utils/fetch.js +18 -11
  264. package/lib/utils/group.js +1 -1
  265. package/lib/utils/groupDates.js +1 -1
  266. package/lib/utils/groupRoles.js +1 -1
  267. package/lib/utils/lockDownBrowser.js +1 -1
  268. package/lib/utils/logger.js +1 -1
  269. package/lib/utils/lti.js +1 -1
  270. package/lib/utils/model.js +5 -5
  271. package/lib/utils/number.js +11 -11
  272. package/lib/utils/promise.js +1 -1
  273. package/lib/utils/quill.js +16 -16
  274. package/lib/utils/route.js +1 -1
  275. package/lib/utils/search.js +1 -1
  276. package/lib/utils/shard.js +1 -1
  277. package/lib/utils/sort.js +1 -1
  278. package/lib/utils/string.js +1 -1
  279. package/lib/utils/table.js +4 -4
  280. package/lib/utils/timezone.js +1 -1
  281. package/lib/utils/url.d.ts +2 -2
  282. package/lib/utils/url.js +18 -18
  283. package/lib/utils/user.js +1 -1
  284. package/lib/utils/userAgent.js +1 -1
  285. package/lib/utils/userRole.js +16 -16
  286. package/package.json +225 -228
@@ -1,315 +1,315 @@
1
- @custom-selector :--quill-typography h1, h2, h3, h4, h5, h6, p, ol, ul, pre, blockquote;
2
- @custom-selector :--quill-plaintext p, ol, ul;
3
-
4
- :root {
5
- --quill-min-height: 10rem;
6
- --quill-max-height: 60vh;
7
- --quill-toolbars-height: 111px;
8
- }
9
-
10
- .quill {
11
- margin-bottom: 15px;
12
- border-bottom-color: var(--color-medium-dark-grey);
13
- }
14
-
15
- /* Loader */
16
-
17
- .quill-loader {
18
- min-height: calc(var(--quill-min-height) + var(--quill-toolbars-height));
19
- max-height: calc(var(--quill-max-height) + var(--quill-toolbars-height));
20
- position: relative;
21
- border: 1px solid var(--color-light-grey);
22
- }
23
-
24
- .quill-loader-inner {
25
- position: absolute;
26
- top: calc(50% - 20px - 1.25rem);
27
- left: calc(50% - 20px);
28
- }
29
-
30
- /* Editor */
31
-
32
- .ql-editor {
33
- background-color: var(--color-white);
34
- min-height: var(--quill-min-height);
35
- max-height: var(--quill-max-height);
36
- overflow: auto;
37
-
38
- & :--quill-typography {
39
- margin-bottom: 0.5rem;
40
- }
41
-
42
- & :--quill-plaintext {
43
- font-size: 1rem;
44
- }
45
- }
46
-
47
- /* Expandable toolbar */
48
-
49
- .more-options {
50
- float: right !important;
51
- padding: 0 0 0 2px !important;
52
- height: 30px !important;
53
-
54
- &.expanded {
55
- background: var(--color-light-grey) !important;
56
- }
57
- }
58
-
59
- .more-options-toolbar {
60
- border-top: 0 solid var(--color-light-grey);
61
- margin: 0;
62
- padding: 0;
63
- height: 0;
64
- transition: border-top linear 0.05s, margin linear 0.3s, padding linear 0.3s, height linear 0.3s, visibility linear 0.5s;
65
-
66
- & .ql-formats {
67
- opacity: 0;
68
- transition: opacity linear 0.3s;
69
- }
70
-
71
- &.expanded {
72
- border-top: 1px solid var(--color-light-grey);
73
- margin: 0.6rem -0.6rem 0;
74
- padding: 0.6rem 0.6rem 0;
75
- height: 36px;
76
-
77
- & .ql-formats {
78
- opacity: 1;
79
- }
80
- }
81
- }
82
-
83
- /* Toolbar */
84
-
85
- .ql-toolbar.ql-snow {
86
- padding: 0.6rem;
87
-
88
- &.disabled-invisible {
89
- padding: 0;
90
- height: 0;
91
- border-bottom: none;
92
- }
93
-
94
- &.read-only {
95
- background-color: var(--color-off-white);
96
- padding-top: 1rem;
97
- }
98
-
99
- &.Inline {
100
- background-color: var(--color-white);
101
- border-style: none;
102
- padding-left: 2px;
103
- padding-top: 1.2rem;
104
- border-top-right-radius: 0.5rem;
105
- border-bottom-right-radius: 0.5rem;
106
-
107
- &.read-only {
108
- background-color: var(--color-off-white);
109
- }
110
- }
111
- }
112
-
113
- .ql-container.ql-snow {
114
- border-top: none;
115
- overflow: visible;
116
- }
117
-
118
- .ql-toolbar.ql-snow .ql-formats {
119
- margin-right: 10px;
120
-
121
- &:last-child {
122
- margin-right: 0;
123
- }
124
- }
125
-
126
- /* Align */
127
-
128
- .ql-align svg {
129
- float: left;
130
- }
131
-
132
- /* Alpha Ordered List */
133
-
134
- .ql-editor ol[data-value="alpha"] > li {
135
- &::before {
136
- content: counter(list-0, lower-alpha) '. ';
137
- }
138
-
139
- &.ql-indent-1::before {
140
- content: counter(list-1, lower-roman) '. ';
141
- }
142
-
143
- &.ql-indent-2::before {
144
- content: counter(list-2, decimal) '. ';
145
- }
146
-
147
- &.ql-indent-3::before {
148
- content: counter(list-3, lower-alpha) '. ';
149
- }
150
-
151
- &.ql-indent-4::before {
152
- content: counter(list-4, lower-roman) '. ';
153
- }
154
-
155
- &.ql-indent-5::before {
156
- content: counter(list-5, decimal) '. ';
157
- }
158
-
159
- &.ql-indent-6::before {
160
- content: counter(list-6, lower-alpha) '. ';
161
- }
162
-
163
- &.ql-indent-7::before {
164
- content: counter(list-7, lower-roman) '. ';
165
- }
166
-
167
- &.ql-indent-8::before {
168
- content: counter(list-8, decimal) '. ';
169
- }
170
- }
171
-
172
- /* Images */
173
-
174
- .ql-snow .ql-editor img {
175
- max-width: 100%;
176
- object-fit: contain;
177
- }
178
-
179
- /* Disabled and Read Only */
180
-
181
- .ql-disabled {
182
- & .ql-editor {
183
- background-color: var(--color-off-white);
184
- }
185
- }
186
-
187
- .blurred-editor {
188
- overflow-y: auto;
189
-
190
- & .ql-editor {
191
- min-height: auto;
192
- max-height: none;
193
- padding: 0;
194
- background-color: var(--color-white);
195
- }
196
-
197
- & .ql-toolbar {
198
- display: none;
199
- }
200
-
201
- & .ql-container.ql-snow {
202
- border: none;
203
- }
204
- }
205
-
206
- /* stylelint-disable no-descending-specificity */
207
- .ql-snow.ql-toolbar,
208
- .ql-snow .ql-toolbar {
209
- /* Hover/Focus/Active overrides */
210
- & button:hover,
211
- & button:focus,
212
- & button.ql-active,
213
- & .ql-picker-label:hover,
214
- & .ql-picker-label:focus,
215
- & .ql-picker-label.ql-active,
216
- & .ql-picker-item:hover,
217
- & .ql-picker-item:focus,
218
- & .ql-picker-item.ql-selected {
219
- color: var(--color-primary) !important;
220
-
221
- & .ql-fill,
222
- & .ql-stroke.ql-fill {
223
- fill: var(--color-primary) !important;
224
- }
225
-
226
- & .ql-stroke {
227
- stroke: var(--color-primary) !important;
228
- }
229
- }
230
-
231
- /* Focus overrides */
232
- & button:focus,
233
- & button.ql-active,
234
- & .ql-picker-label:focus,
235
- & .ql-picker-label.ql-active,
236
- & .ql-picker-item:focus,
237
- & .ql-picker-item.ql-selected {
238
- outline: 2px solid var(--color-primary) !important;
239
- }
240
-
241
- /* Disabled overrides */
242
- & .ql-formula:disabled,
243
- & button:disabled,
244
- & button:hover:disabled,
245
- & button:focus:disabled,
246
- & button.ql-active:disabled {
247
- color: #777 !important;
248
- cursor: default;
249
-
250
- & svg {
251
- cursor: default;
252
- }
253
-
254
- & .ql-fill,
255
- & .ql-stroke.ql-fill {
256
- fill: #777 !important;
257
- cursor: default;
258
- }
259
-
260
- & .ql-stroke {
261
- stroke: #777 !important;
262
- }
263
- }
264
- }
265
-
266
- /* Inline - display with no background */
267
-
268
- .quill.inline {
269
- margin-bottom: 0;
270
-
271
- & .ql-container {
272
- background-color: transparent;
273
- }
274
-
275
- & .ql-editor {
276
- background-color: transparent;
277
- padding: 0.5rem 0;
278
- }
279
-
280
- & p:last-of-type {
281
- margin-bottom: 0;
282
- }
283
- }
284
-
285
- /* Hide line break in otherwise empty paragraph immediately preceded by a list */
286
- .quill.blurred-editor {
287
- & ol ~ p br:only-child,
288
- & ul ~ p br:only-child {
289
- display: none;
290
- }
291
- }
292
-
293
- .quill:focus-within {
294
- border-color: #80bdff;
295
- box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 25%);
296
- transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
297
- position: relative;
298
- z-index: 1;
299
-
300
- & .ql-container.ql-snow {
301
- border-color: #80bdff;
302
- transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
303
- }
304
- }
305
-
306
- .error {
307
- & .quill:focus-within {
308
- border-color: var(--color-red);
309
- box-shadow: 0 0 0 0.2rem rgb(220 53 69 / 25%);
310
-
311
- & .ql-container.ql-snow {
312
- border-color: var(--color-red);
313
- }
314
- }
315
- }
1
+ @custom-selector :--quill-typography h1, h2, h3, h4, h5, h6, p, ol, ul, pre, blockquote;
2
+ @custom-selector :--quill-plaintext p, ol, ul;
3
+
4
+ :root {
5
+ --quill-min-height: 10rem;
6
+ --quill-max-height: 60vh;
7
+ --quill-toolbars-height: 111px;
8
+ }
9
+
10
+ .quill {
11
+ margin-bottom: 15px;
12
+ border-bottom-color: var(--color-medium-dark-grey);
13
+ }
14
+
15
+ /* Loader */
16
+
17
+ .quill-loader {
18
+ min-height: calc(var(--quill-min-height) + var(--quill-toolbars-height));
19
+ max-height: calc(var(--quill-max-height) + var(--quill-toolbars-height));
20
+ position: relative;
21
+ border: 1px solid var(--color-light-grey);
22
+ }
23
+
24
+ .quill-loader-inner {
25
+ position: absolute;
26
+ top: calc(50% - 20px - 1.25rem);
27
+ left: calc(50% - 20px);
28
+ }
29
+
30
+ /* Editor */
31
+
32
+ .ql-editor {
33
+ background-color: var(--color-white);
34
+ min-height: var(--quill-min-height);
35
+ max-height: var(--quill-max-height);
36
+ overflow: auto;
37
+
38
+ & :--quill-typography {
39
+ margin-bottom: 0.5rem;
40
+ }
41
+
42
+ & :--quill-plaintext {
43
+ font-size: 1rem;
44
+ }
45
+ }
46
+
47
+ /* Expandable toolbar */
48
+
49
+ .more-options {
50
+ float: right !important;
51
+ padding: 0 0 0 2px !important;
52
+ height: 30px !important;
53
+
54
+ &.expanded {
55
+ background: var(--color-light-grey) !important;
56
+ }
57
+ }
58
+
59
+ .more-options-toolbar {
60
+ border-top: 0 solid var(--color-light-grey);
61
+ margin: 0;
62
+ padding: 0;
63
+ height: 0;
64
+ transition: border-top linear 0.05s, margin linear 0.3s, padding linear 0.3s, height linear 0.3s, visibility linear 0.5s;
65
+
66
+ & .ql-formats {
67
+ opacity: 0;
68
+ transition: opacity linear 0.3s;
69
+ }
70
+
71
+ &.expanded {
72
+ border-top: 1px solid var(--color-light-grey);
73
+ margin: 0.6rem -0.6rem 0;
74
+ padding: 0.6rem 0.6rem 0;
75
+ height: 36px;
76
+
77
+ & .ql-formats {
78
+ opacity: 1;
79
+ }
80
+ }
81
+ }
82
+
83
+ /* Toolbar */
84
+
85
+ .ql-toolbar.ql-snow {
86
+ padding: 0.6rem;
87
+
88
+ &.disabled-invisible {
89
+ padding: 0;
90
+ height: 0;
91
+ border-bottom: none;
92
+ }
93
+
94
+ &.read-only {
95
+ background-color: var(--color-off-white);
96
+ padding-top: 1rem;
97
+ }
98
+
99
+ &.Inline {
100
+ background-color: var(--color-white);
101
+ border-style: none;
102
+ padding-left: 2px;
103
+ padding-top: 1.2rem;
104
+ border-top-right-radius: 0.5rem;
105
+ border-bottom-right-radius: 0.5rem;
106
+
107
+ &.read-only {
108
+ background-color: var(--color-off-white);
109
+ }
110
+ }
111
+ }
112
+
113
+ .ql-container.ql-snow {
114
+ border-top: none;
115
+ overflow: visible;
116
+ }
117
+
118
+ .ql-toolbar.ql-snow .ql-formats {
119
+ margin-right: 10px;
120
+
121
+ &:last-child {
122
+ margin-right: 0;
123
+ }
124
+ }
125
+
126
+ /* Align */
127
+
128
+ .ql-align svg {
129
+ float: left;
130
+ }
131
+
132
+ /* Alpha Ordered List */
133
+
134
+ .ql-editor ol[data-value="alpha"] > li {
135
+ &::before {
136
+ content: counter(list-0, lower-alpha) '. ';
137
+ }
138
+
139
+ &.ql-indent-1::before {
140
+ content: counter(list-1, lower-roman) '. ';
141
+ }
142
+
143
+ &.ql-indent-2::before {
144
+ content: counter(list-2, decimal) '. ';
145
+ }
146
+
147
+ &.ql-indent-3::before {
148
+ content: counter(list-3, lower-alpha) '. ';
149
+ }
150
+
151
+ &.ql-indent-4::before {
152
+ content: counter(list-4, lower-roman) '. ';
153
+ }
154
+
155
+ &.ql-indent-5::before {
156
+ content: counter(list-5, decimal) '. ';
157
+ }
158
+
159
+ &.ql-indent-6::before {
160
+ content: counter(list-6, lower-alpha) '. ';
161
+ }
162
+
163
+ &.ql-indent-7::before {
164
+ content: counter(list-7, lower-roman) '. ';
165
+ }
166
+
167
+ &.ql-indent-8::before {
168
+ content: counter(list-8, decimal) '. ';
169
+ }
170
+ }
171
+
172
+ /* Images */
173
+
174
+ .ql-snow .ql-editor img {
175
+ max-width: 100%;
176
+ object-fit: contain;
177
+ }
178
+
179
+ /* Disabled and Read Only */
180
+
181
+ .ql-disabled {
182
+ & .ql-editor {
183
+ background-color: var(--color-off-white);
184
+ }
185
+ }
186
+
187
+ .blurred-editor {
188
+ overflow-y: auto;
189
+
190
+ & .ql-editor {
191
+ min-height: auto;
192
+ max-height: none;
193
+ padding: 0;
194
+ background-color: var(--color-white);
195
+ }
196
+
197
+ & .ql-toolbar {
198
+ display: none;
199
+ }
200
+
201
+ & .ql-container.ql-snow {
202
+ border: none;
203
+ }
204
+ }
205
+
206
+ /* stylelint-disable no-descending-specificity */
207
+ .ql-snow.ql-toolbar,
208
+ .ql-snow .ql-toolbar {
209
+ /* Hover/Focus/Active overrides */
210
+ & button:hover,
211
+ & button:focus,
212
+ & button.ql-active,
213
+ & .ql-picker-label:hover,
214
+ & .ql-picker-label:focus,
215
+ & .ql-picker-label.ql-active,
216
+ & .ql-picker-item:hover,
217
+ & .ql-picker-item:focus,
218
+ & .ql-picker-item.ql-selected {
219
+ color: var(--color-primary) !important;
220
+
221
+ & .ql-fill,
222
+ & .ql-stroke.ql-fill {
223
+ fill: var(--color-primary) !important;
224
+ }
225
+
226
+ & .ql-stroke {
227
+ stroke: var(--color-primary) !important;
228
+ }
229
+ }
230
+
231
+ /* Focus overrides */
232
+ & button:focus,
233
+ & button.ql-active,
234
+ & .ql-picker-label:focus,
235
+ & .ql-picker-label.ql-active,
236
+ & .ql-picker-item:focus,
237
+ & .ql-picker-item.ql-selected {
238
+ outline: 2px solid var(--color-primary) !important;
239
+ }
240
+
241
+ /* Disabled overrides */
242
+ & .ql-formula:disabled,
243
+ & button:disabled,
244
+ & button:hover:disabled,
245
+ & button:focus:disabled,
246
+ & button.ql-active:disabled {
247
+ color: #777 !important;
248
+ cursor: default;
249
+
250
+ & svg {
251
+ cursor: default;
252
+ }
253
+
254
+ & .ql-fill,
255
+ & .ql-stroke.ql-fill {
256
+ fill: #777 !important;
257
+ cursor: default;
258
+ }
259
+
260
+ & .ql-stroke {
261
+ stroke: #777 !important;
262
+ }
263
+ }
264
+ }
265
+
266
+ /* Inline - display with no background */
267
+
268
+ .quill.inline {
269
+ margin-bottom: 0;
270
+
271
+ & .ql-container {
272
+ background-color: transparent;
273
+ }
274
+
275
+ & .ql-editor {
276
+ background-color: transparent;
277
+ padding: 0.5rem 0;
278
+ }
279
+
280
+ & p:last-of-type {
281
+ margin-bottom: 0;
282
+ }
283
+ }
284
+
285
+ /* Hide line break in otherwise empty paragraph immediately preceded by a list */
286
+ .quill.blurred-editor {
287
+ & ol ~ p br:only-child,
288
+ & ul ~ p br:only-child {
289
+ display: none;
290
+ }
291
+ }
292
+
293
+ .quill:focus-within {
294
+ border-color: #80bdff;
295
+ box-shadow: 0 0 0 0.2rem rgb(0 123 255 / 25%);
296
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
297
+ position: relative;
298
+ z-index: 1;
299
+
300
+ & .ql-container.ql-snow {
301
+ border-color: #80bdff;
302
+ transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
303
+ }
304
+ }
305
+
306
+ .error {
307
+ & .quill:focus-within {
308
+ border-color: var(--color-red);
309
+ box-shadow: 0 0 0 0.2rem rgb(220 53 69 / 25%);
310
+
311
+ & .ql-container.ql-snow {
312
+ border-color: var(--color-red);
313
+ }
314
+ }
315
+ }