@weavy/uikit-react 12.1.0 → 14.0.0

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 (280) hide show
  1. package/changelog.md +60 -0
  2. package/dist/cjs/index.js +28 -6
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/types/client/WeavyClient.d.ts +8 -1
  5. package/dist/cjs/types/components/Attachment.d.ts +2 -1
  6. package/dist/cjs/types/components/Chat.d.ts +1 -1
  7. package/dist/cjs/types/components/Messages.d.ts +3 -1
  8. package/dist/cjs/types/components/PdfViewer.d.ts +3 -1
  9. package/dist/cjs/types/components/Preview.d.ts +8 -10
  10. package/dist/cjs/types/contexts/PreviewContext.d.ts +2 -1
  11. package/dist/cjs/types/contexts/WeavyContext.d.ts +2 -3
  12. package/dist/cjs/types/hooks/useConversations.d.ts +1 -1
  13. package/dist/cjs/types/hooks/useMutateMessage.d.ts +1 -1
  14. package/dist/cjs/types/hooks/useMutateRead.d.ts +1 -0
  15. package/dist/cjs/types/types/Chat.d.ts +2 -1
  16. package/dist/cjs/types/types/Message.d.ts +2 -0
  17. package/dist/cjs/types/types/types.d.ts +63 -9
  18. package/dist/cjs/types/ui/Spinner.d.ts +10 -0
  19. package/dist/cjs/types/utils/fileUtilities.d.ts +1 -4
  20. package/dist/css/weavy-chat.css +1803 -1041
  21. package/dist/css/weavy-messenger.css +2141 -1360
  22. package/dist/css/weavy.css +1943 -1162
  23. package/dist/esm/index.js +28 -6
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/types/client/WeavyClient.d.ts +8 -1
  26. package/dist/esm/types/components/Attachment.d.ts +2 -1
  27. package/dist/esm/types/components/Chat.d.ts +1 -1
  28. package/dist/esm/types/components/Messages.d.ts +3 -1
  29. package/dist/esm/types/components/PdfViewer.d.ts +3 -1
  30. package/dist/esm/types/components/Preview.d.ts +8 -10
  31. package/dist/esm/types/contexts/PreviewContext.d.ts +2 -1
  32. package/dist/esm/types/contexts/WeavyContext.d.ts +2 -3
  33. package/dist/esm/types/hooks/useConversations.d.ts +1 -1
  34. package/dist/esm/types/hooks/useMutateMessage.d.ts +1 -1
  35. package/dist/esm/types/hooks/useMutateRead.d.ts +1 -0
  36. package/dist/esm/types/types/Chat.d.ts +2 -1
  37. package/dist/esm/types/types/Message.d.ts +2 -0
  38. package/dist/esm/types/types/types.d.ts +63 -9
  39. package/dist/esm/types/ui/Spinner.d.ts +10 -0
  40. package/dist/esm/types/utils/fileUtilities.d.ts +1 -4
  41. package/dist/index.d.ts +15 -7
  42. package/package.json +2 -2
  43. package/rollup.config.js +3 -1
  44. package/src/client/WeavyClient.ts +105 -29
  45. package/src/components/Attachment.tsx +8 -7
  46. package/src/components/Chat.tsx +8 -7
  47. package/src/components/Conversation.tsx +29 -23
  48. package/src/components/ConversationBadge.tsx +7 -5
  49. package/src/components/ConversationForm.tsx +1 -1
  50. package/src/components/ConversationList.tsx +59 -11
  51. package/src/components/ConversationListItem.tsx +71 -54
  52. package/src/components/FileBrowser.tsx +53 -50
  53. package/src/components/MeetingCard.tsx +35 -13
  54. package/src/components/Meetings.tsx +1 -1
  55. package/src/components/Message.tsx +41 -41
  56. package/src/components/Messages.tsx +62 -61
  57. package/src/components/Messenger.tsx +7 -2
  58. package/src/components/NewConversation.tsx +1 -1
  59. package/src/components/PdfViewer.tsx +93 -88
  60. package/src/components/Preview.tsx +115 -54
  61. package/src/components/Reactions.tsx +11 -5
  62. package/src/components/SearchUsers.tsx +21 -11
  63. package/src/components/SeenBy.tsx +13 -7
  64. package/src/components/Typing.tsx +11 -12
  65. package/src/contexts/PreviewContext.tsx +90 -16
  66. package/src/contexts/UserContext.tsx +1 -1
  67. package/src/contexts/WeavyContext.tsx +10 -7
  68. package/src/hooks/useBadge.ts +2 -6
  69. package/src/hooks/useChat.ts +3 -14
  70. package/src/hooks/useConversation.ts +1 -7
  71. package/src/hooks/useConversations.ts +15 -11
  72. package/src/hooks/useFileUploader.ts +6 -8
  73. package/src/hooks/useMembers.ts +1 -7
  74. package/src/hooks/useMessages.ts +1 -7
  75. package/src/hooks/useMutateChat.ts +6 -11
  76. package/src/hooks/useMutateConversation.ts +7 -10
  77. package/src/hooks/useMutateConversationName.ts +10 -12
  78. package/src/hooks/useMutateDeleteReaction.ts +3 -8
  79. package/src/hooks/useMutateExternalBlobs.ts +6 -11
  80. package/src/hooks/useMutateMeeting.ts +6 -11
  81. package/src/hooks/useMutateMembers.ts +8 -13
  82. package/src/hooks/useMutateMessage.ts +9 -18
  83. package/src/hooks/useMutatePinned.ts +3 -8
  84. package/src/hooks/useMutateReaction.ts +6 -12
  85. package/src/hooks/useMutateRead.ts +5 -12
  86. package/src/hooks/useMutateRemoveMembers.ts +7 -12
  87. package/src/hooks/useMutateTyping.ts +6 -11
  88. package/src/hooks/usePresence.ts +2 -3
  89. package/src/hooks/useReactions.ts +11 -12
  90. package/src/hooks/useSearchUsers.ts +1 -6
  91. package/src/hooks/useUser.ts +3 -14
  92. package/src/scss/theme/_alert.scss +61 -63
  93. package/src/scss/theme/_appbar.scss +105 -28
  94. package/src/scss/theme/_avatar.scss +23 -28
  95. package/src/scss/theme/_badge.scss +26 -18
  96. package/src/scss/theme/_buttons.scss +107 -52
  97. package/src/scss/theme/_card.scss +102 -4
  98. package/src/scss/theme/_checkbox.scss +16 -20
  99. package/src/scss/theme/_code-vscode-dark.scss +184 -0
  100. package/src/scss/theme/_code-vscode-light.scss +179 -0
  101. package/src/scss/theme/_code.scss +9 -114
  102. package/src/scss/theme/_comment-editor-cm.scss +97 -0
  103. package/src/scss/theme/_comment-editor.scss +129 -0
  104. package/src/scss/theme/_comments.scss +66 -0
  105. package/src/scss/theme/_content.scss +33 -5
  106. package/src/scss/theme/_conversations.scss +19 -78
  107. package/src/scss/theme/_dropdown.scss +102 -15
  108. package/src/scss/theme/_embed.scss +135 -0
  109. package/src/scss/theme/_facepile.scss +11 -0
  110. package/src/scss/theme/_filebrowser.scss +1 -1
  111. package/src/scss/theme/_files.scss +77 -48
  112. package/src/scss/theme/_grid.scss +8 -0
  113. package/src/scss/theme/_icons.scss +155 -19
  114. package/src/scss/theme/_image-grid.scss +7 -10
  115. package/src/scss/theme/_input.scss +160 -0
  116. package/src/scss/theme/_item.scss +169 -0
  117. package/src/scss/theme/_list.scss +57 -0
  118. package/src/scss/theme/_meeting.scss +11 -0
  119. package/src/scss/theme/_message-editor-cm.scss +95 -0
  120. package/src/scss/theme/_message-editor.scss +66 -20
  121. package/src/scss/theme/_messages.scss +51 -105
  122. package/src/scss/theme/_meta.scss +12 -0
  123. package/src/scss/theme/_overlays.scss +31 -76
  124. package/src/scss/theme/_pager.scss +5 -1
  125. package/src/scss/theme/_pane.scss +13 -2
  126. package/src/scss/theme/_panels.scss +34 -25
  127. package/src/scss/theme/_picker-list.scss +5 -3
  128. package/src/scss/theme/_placeholder.scss +19 -0
  129. package/src/scss/theme/_poll.scss +49 -0
  130. package/src/scss/theme/_post-editor-cm.scss +100 -0
  131. package/src/scss/theme/_post-editor.scss +127 -0
  132. package/src/scss/theme/_post.scss +83 -0
  133. package/src/scss/theme/_preview-code.scss +14 -0
  134. package/src/scss/theme/_preview-embed.scss +11 -5
  135. package/src/scss/theme/_preview-image.scss +8 -26
  136. package/src/scss/theme/_preview-media.scss +1 -0
  137. package/src/scss/theme/_preview-pdf.scss +10 -15
  138. package/src/scss/theme/_preview-text.scss +1 -1
  139. package/src/scss/theme/_preview.scss +59 -76
  140. package/src/scss/theme/_reactions.scss +48 -17
  141. package/src/scss/theme/_sheet.scss +59 -0
  142. package/src/scss/theme/_sidebar.scss +86 -0
  143. package/src/scss/theme/_spinner.scss +11 -7
  144. package/src/scss/theme/_tab.scss +72 -0
  145. package/src/scss/theme/_tables.scss +70 -23
  146. package/src/scss/theme/_toasts.scss +56 -26
  147. package/src/scss/theme/_type.scss +41 -0
  148. package/src/scss/theme/{mixins → base}/_backdrop.scss +0 -0
  149. package/src/scss/theme/{bootstrap/mixins → base}/_breakpoints.scss +9 -0
  150. package/src/scss/theme/base/_colors.scss +315 -0
  151. package/src/scss/theme/base/_md.scss +19 -0
  152. package/src/scss/theme/base/_palette.scss +130 -0
  153. package/src/scss/theme/{mixins → base}/_position.scss +5 -5
  154. package/src/scss/theme/base/_reboot.scss +51 -0
  155. package/src/scss/theme/base/_scroll.scss +180 -0
  156. package/src/scss/theme/base/_svg.scss +49 -0
  157. package/src/scss/theme/base/_text.scss +23 -0
  158. package/src/scss/theme/base/_vars.scss +203 -0
  159. package/src/scss/theme/{fonts → base/fonts}/_fontmapping-roboto.scss +0 -0
  160. package/src/scss/theme/{fonts → base/fonts}/_fontmapping-segoe-ui.scss +0 -0
  161. package/src/scss/theme/base/fonts/_index.scss +2 -0
  162. package/src/scss/weavy-chat.scss +11 -4
  163. package/src/scss/weavy-messenger.scss +38 -21
  164. package/src/types/Chat.ts +2 -1
  165. package/src/types/Message.ts +3 -1
  166. package/src/types/types.ts +72 -10
  167. package/src/ui/Icon.tsx +1 -1
  168. package/src/ui/Spinner.tsx +19 -0
  169. package/src/utils/fileUtilities.ts +11 -125
  170. package/src/utils/infiniteScroll.js +11 -2
  171. package/src/utils/postal-parent.js +398 -0
  172. package/src/utils/promise.js +187 -0
  173. package/src/utils/scrollbarDetection.js +68 -9
  174. package/src/utils/utils.js +547 -0
  175. package/src/scss/theme/_attachments.scss +0 -74
  176. package/src/scss/theme/_cm-editor.scss +0 -42
  177. package/src/scss/theme/_colors.scss +0 -520
  178. package/src/scss/theme/_config.scss +0 -6
  179. package/src/scss/theme/_inputs.scss +0 -28
  180. package/src/scss/theme/_nav.scss +0 -52
  181. package/src/scss/theme/_palette.scss +0 -165
  182. package/src/scss/theme/_preview-icon.scss +0 -41
  183. package/src/scss/theme/_reboot.scss +0 -41
  184. package/src/scss/theme/_root.scss +0 -2
  185. package/src/scss/theme/_scroll.scss +0 -55
  186. package/src/scss/theme/_search.scss +0 -68
  187. package/src/scss/theme/_turbo.scss +0 -17
  188. package/src/scss/theme/_variables.scss +0 -139
  189. package/src/scss/theme/bootstrap/_accordion.scss +0 -146
  190. package/src/scss/theme/bootstrap/_alert.scss +0 -71
  191. package/src/scss/theme/bootstrap/_badge.scss +0 -38
  192. package/src/scss/theme/bootstrap/_breadcrumb.scss +0 -40
  193. package/src/scss/theme/bootstrap/_button-group.scss +0 -142
  194. package/src/scss/theme/bootstrap/_buttons.scss +0 -186
  195. package/src/scss/theme/bootstrap/_card.scss +0 -234
  196. package/src/scss/theme/bootstrap/_carousel.scss +0 -229
  197. package/src/scss/theme/bootstrap/_close.scss +0 -40
  198. package/src/scss/theme/bootstrap/_containers.scss +0 -41
  199. package/src/scss/theme/bootstrap/_dropdown.scss +0 -248
  200. package/src/scss/theme/bootstrap/_forms.scss +0 -9
  201. package/src/scss/theme/bootstrap/_functions.scss +0 -302
  202. package/src/scss/theme/bootstrap/_grid.scss +0 -33
  203. package/src/scss/theme/bootstrap/_helpers.scss +0 -10
  204. package/src/scss/theme/bootstrap/_images.scss +0 -42
  205. package/src/scss/theme/bootstrap/_list-group.scss +0 -191
  206. package/src/scss/theme/bootstrap/_maps.scss +0 -54
  207. package/src/scss/theme/bootstrap/_mixins.scss +0 -43
  208. package/src/scss/theme/bootstrap/_modal.scss +0 -237
  209. package/src/scss/theme/bootstrap/_nav.scss +0 -172
  210. package/src/scss/theme/bootstrap/_navbar.scss +0 -276
  211. package/src/scss/theme/bootstrap/_offcanvas.scss +0 -143
  212. package/src/scss/theme/bootstrap/_pagination.scss +0 -109
  213. package/src/scss/theme/bootstrap/_placeholders.scss +0 -51
  214. package/src/scss/theme/bootstrap/_popover.scss +0 -196
  215. package/src/scss/theme/bootstrap/_progress.scss +0 -59
  216. package/src/scss/theme/bootstrap/_reboot.scss +0 -610
  217. package/src/scss/theme/bootstrap/_root.scss +0 -73
  218. package/src/scss/theme/bootstrap/_spinners.scss +0 -85
  219. package/src/scss/theme/bootstrap/_tables.scss +0 -164
  220. package/src/scss/theme/bootstrap/_toasts.scss +0 -70
  221. package/src/scss/theme/bootstrap/_tooltip.scss +0 -120
  222. package/src/scss/theme/bootstrap/_transitions.scss +0 -27
  223. package/src/scss/theme/bootstrap/_type.scss +0 -106
  224. package/src/scss/theme/bootstrap/_utilities.scss +0 -647
  225. package/src/scss/theme/bootstrap/_variables.scss +0 -1633
  226. package/src/scss/theme/bootstrap/forms/_floating-labels.scss +0 -74
  227. package/src/scss/theme/bootstrap/forms/_form-check.scss +0 -175
  228. package/src/scss/theme/bootstrap/forms/_form-control.scss +0 -194
  229. package/src/scss/theme/bootstrap/forms/_form-range.scss +0 -91
  230. package/src/scss/theme/bootstrap/forms/_form-select.scss +0 -71
  231. package/src/scss/theme/bootstrap/forms/_form-text.scss +0 -11
  232. package/src/scss/theme/bootstrap/forms/_input-group.scss +0 -129
  233. package/src/scss/theme/bootstrap/forms/_labels.scss +0 -36
  234. package/src/scss/theme/bootstrap/forms/_validation.scss +0 -12
  235. package/src/scss/theme/bootstrap/helpers/_clearfix.scss +0 -3
  236. package/src/scss/theme/bootstrap/helpers/_color-bg.scss +0 -10
  237. package/src/scss/theme/bootstrap/helpers/_colored-links.scss +0 -12
  238. package/src/scss/theme/bootstrap/helpers/_position.scss +0 -36
  239. package/src/scss/theme/bootstrap/helpers/_ratio.scss +0 -26
  240. package/src/scss/theme/bootstrap/helpers/_stacks.scss +0 -15
  241. package/src/scss/theme/bootstrap/helpers/_stretched-link.scss +0 -15
  242. package/src/scss/theme/bootstrap/helpers/_text-truncation.scss +0 -7
  243. package/src/scss/theme/bootstrap/helpers/_visually-hidden.scss +0 -8
  244. package/src/scss/theme/bootstrap/helpers/_vr.scss +0 -8
  245. package/src/scss/theme/bootstrap/mixins/_alert.scss +0 -15
  246. package/src/scss/theme/bootstrap/mixins/_backdrop.scss +0 -14
  247. package/src/scss/theme/bootstrap/mixins/_banner.scss +0 -9
  248. package/src/scss/theme/bootstrap/mixins/_border-radius.scss +0 -78
  249. package/src/scss/theme/bootstrap/mixins/_box-shadow.scss +0 -18
  250. package/src/scss/theme/bootstrap/mixins/_buttons.scss +0 -70
  251. package/src/scss/theme/bootstrap/mixins/_caret.scss +0 -64
  252. package/src/scss/theme/bootstrap/mixins/_clearfix.scss +0 -9
  253. package/src/scss/theme/bootstrap/mixins/_color-scheme.scss +0 -7
  254. package/src/scss/theme/bootstrap/mixins/_container.scss +0 -11
  255. package/src/scss/theme/bootstrap/mixins/_deprecate.scss +0 -10
  256. package/src/scss/theme/bootstrap/mixins/_forms.scss +0 -152
  257. package/src/scss/theme/bootstrap/mixins/_gradients.scss +0 -47
  258. package/src/scss/theme/bootstrap/mixins/_grid.scss +0 -151
  259. package/src/scss/theme/bootstrap/mixins/_image.scss +0 -16
  260. package/src/scss/theme/bootstrap/mixins/_list-group.scss +0 -24
  261. package/src/scss/theme/bootstrap/mixins/_lists.scss +0 -7
  262. package/src/scss/theme/bootstrap/mixins/_pagination.scss +0 -10
  263. package/src/scss/theme/bootstrap/mixins/_reset-text.scss +0 -17
  264. package/src/scss/theme/bootstrap/mixins/_resize.scss +0 -6
  265. package/src/scss/theme/bootstrap/mixins/_table-variants.scss +0 -24
  266. package/src/scss/theme/bootstrap/mixins/_text-truncate.scss +0 -8
  267. package/src/scss/theme/bootstrap/mixins/_transition.scss +0 -26
  268. package/src/scss/theme/bootstrap/mixins/_utilities.scss +0 -97
  269. package/src/scss/theme/bootstrap/mixins/_visually-hidden.scss +0 -29
  270. package/src/scss/theme/bootstrap/utilities/_api.scss +0 -47
  271. package/src/scss/theme/bootstrap/vendor/_rfs.scss +0 -354
  272. package/src/scss/theme/bs/_badge.scss +0 -20
  273. package/src/scss/theme/bs/_buttons.scss +0 -185
  274. package/src/scss/theme/bs/_dropdown.scss +0 -86
  275. package/src/scss/theme/bs/_forms.scss +0 -161
  276. package/src/scss/theme/bs/_list-group.scss +0 -73
  277. package/src/scss/theme/bs/_tables.scss +0 -46
  278. package/src/scss/theme/fonts/_index.scss +0 -2
  279. package/src/scss/theme/mixins/_palette.scss +0 -165
  280. package/src/scss/theme/mixins/_scrollbar.scss +0 -110
@@ -1,129 +0,0 @@
1
- //
2
- // Base styles
3
- //
4
-
5
- .input-group {
6
- position: relative;
7
- display: flex;
8
- flex-wrap: wrap; // For form validation feedback
9
- align-items: stretch;
10
- width: 100%;
11
-
12
- > .form-control,
13
- > .form-select,
14
- > .form-floating {
15
- position: relative; // For focus state's z-index
16
- flex: 1 1 auto;
17
- width: 1%;
18
- min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size
19
- }
20
-
21
- // Bring the "active" form control to the top of surrounding elements
22
- > .form-control:focus,
23
- > .form-select:focus,
24
- > .form-floating:focus-within {
25
- z-index: 3;
26
- }
27
-
28
- // Ensure buttons are always above inputs for more visually pleasing borders.
29
- // This isn't needed for `.input-group-text` since it shares the same border-color
30
- // as our inputs.
31
- .btn {
32
- position: relative;
33
- z-index: 2;
34
-
35
- &:focus {
36
- z-index: 3;
37
- }
38
- }
39
- }
40
-
41
-
42
- // Textual addons
43
- //
44
- // Serves as a catch-all element for any text or radio/checkbox input you wish
45
- // to prepend or append to an input.
46
-
47
- .input-group-text {
48
- display: flex;
49
- align-items: center;
50
- padding: $input-group-addon-padding-y $input-group-addon-padding-x;
51
- @include font-size($input-font-size); // Match inputs
52
- font-weight: $input-group-addon-font-weight;
53
- line-height: $input-line-height;
54
- color: $input-group-addon-color;
55
- text-align: center;
56
- white-space: nowrap;
57
- background-color: $input-group-addon-bg;
58
- border: $input-border-width solid $input-group-addon-border-color;
59
- @include border-radius($input-border-radius);
60
- }
61
-
62
-
63
- // Sizing
64
- //
65
- // Remix the default form control sizing classes into new ones for easier
66
- // manipulation.
67
-
68
- .input-group-lg > .form-control,
69
- .input-group-lg > .form-select,
70
- .input-group-lg > .input-group-text,
71
- .input-group-lg > .btn {
72
- padding: $input-padding-y-lg $input-padding-x-lg;
73
- @include font-size($input-font-size-lg);
74
- @include border-radius($input-border-radius-lg);
75
- }
76
-
77
- .input-group-sm > .form-control,
78
- .input-group-sm > .form-select,
79
- .input-group-sm > .input-group-text,
80
- .input-group-sm > .btn {
81
- padding: $input-padding-y-sm $input-padding-x-sm;
82
- @include font-size($input-font-size-sm);
83
- @include border-radius($input-border-radius-sm);
84
- }
85
-
86
- .input-group-lg > .form-select,
87
- .input-group-sm > .form-select {
88
- padding-right: $form-select-padding-x + $form-select-indicator-padding;
89
- }
90
-
91
-
92
- // Rounded corners
93
- //
94
- // These rulesets must come after the sizing ones to properly override sm and lg
95
- // border-radius values when extending. They're more specific than we'd like
96
- // with the `.input-group >` part, but without it, we cannot override the sizing.
97
-
98
- // stylelint-disable-next-line no-duplicate-selectors
99
- .input-group {
100
- &:not(.has-validation) {
101
- > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
102
- > .dropdown-toggle:nth-last-child(n + 3),
103
- > .form-floating:not(:last-child) > .form-control,
104
- > .form-floating:not(:last-child) > .form-select {
105
- @include border-end-radius(0);
106
- }
107
- }
108
-
109
- &.has-validation {
110
- > :nth-last-child(n + 3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
111
- > .dropdown-toggle:nth-last-child(n + 4),
112
- > .form-floating:nth-last-child(n + 3) > .form-control,
113
- > .form-floating:nth-last-child(n + 3) > .form-select {
114
- @include border-end-radius(0);
115
- }
116
- }
117
-
118
- $validation-messages: "";
119
- @each $state in map-keys($form-validation-states) {
120
- $validation-messages: $validation-messages + ":not(." + unquote($state) + "-tooltip)" + ":not(." + unquote($state) + "-feedback)";
121
- }
122
-
123
- > :not(:first-child):not(.dropdown-menu):not(.form-floating)#{$validation-messages},
124
- > .form-floating:not(:first-child) > .form-control,
125
- > .form-floating:not(:first-child) > .form-select {
126
- margin-left: -$input-border-width;
127
- @include border-start-radius(0);
128
- }
129
- }
@@ -1,36 +0,0 @@
1
- //
2
- // Labels
3
- //
4
-
5
- .form-label {
6
- margin-bottom: $form-label-margin-bottom;
7
- @include font-size($form-label-font-size);
8
- font-style: $form-label-font-style;
9
- font-weight: $form-label-font-weight;
10
- color: $form-label-color;
11
- }
12
-
13
- // For use with horizontal and inline forms, when you need the label (or legend)
14
- // text to align with the form controls.
15
- .col-form-label {
16
- padding-top: add($input-padding-y, $input-border-width);
17
- padding-bottom: add($input-padding-y, $input-border-width);
18
- margin-bottom: 0; // Override the `<legend>` default
19
- @include font-size(inherit); // Override the `<legend>` default
20
- font-style: $form-label-font-style;
21
- font-weight: $form-label-font-weight;
22
- line-height: $input-line-height;
23
- color: $form-label-color;
24
- }
25
-
26
- .col-form-label-lg {
27
- padding-top: add($input-padding-y-lg, $input-border-width);
28
- padding-bottom: add($input-padding-y-lg, $input-border-width);
29
- @include font-size($input-font-size-lg);
30
- }
31
-
32
- .col-form-label-sm {
33
- padding-top: add($input-padding-y-sm, $input-border-width);
34
- padding-bottom: add($input-padding-y-sm, $input-border-width);
35
- @include font-size($input-font-size-sm);
36
- }
@@ -1,12 +0,0 @@
1
- // Form validation
2
- //
3
- // Provide feedback to users when form field values are valid or invalid. Works
4
- // primarily for client-side validation via scoped `:invalid` and `:valid`
5
- // pseudo-classes but also includes `.is-invalid` and `.is-valid` classes for
6
- // server-side validation.
7
-
8
- // scss-docs-start form-validation-states-loop
9
- @each $state, $data in $form-validation-states {
10
- @include form-validation-state($state, $data...);
11
- }
12
- // scss-docs-end form-validation-states-loop
@@ -1,3 +0,0 @@
1
- .clearfix {
2
- @include clearfix();
3
- }
@@ -1,10 +0,0 @@
1
- // stylelint-disable function-name-case
2
-
3
- // All-caps `RGBA()` function used because of this Sass bug: https://github.com/sass/node-sass/issues/2251
4
- @each $color, $value in $theme-colors {
5
- $color-rgb: to-rgb($value);
6
- .text-bg-#{$color} {
7
- color: color-contrast($value) if($enable-important-utilities, !important, null);
8
- background-color: RGBA($color-rgb, var(--#{$prefix}bg-opacity, 1)) if($enable-important-utilities, !important, null);
9
- }
10
- }
@@ -1,12 +0,0 @@
1
- @each $color, $value in $theme-colors {
2
- .link-#{$color} {
3
- color: $value !important; // stylelint-disable-line declaration-no-important
4
-
5
- @if $link-shade-percentage != 0 {
6
- &:hover,
7
- &:focus {
8
- color: if(color-contrast($value) == $color-contrast-light, shade-color($value, $link-shade-percentage), tint-color($value, $link-shade-percentage)) !important; // stylelint-disable-line declaration-no-important
9
- }
10
- }
11
- }
12
- }
@@ -1,36 +0,0 @@
1
- // Shorthand
2
-
3
- .fixed-top {
4
- position: fixed;
5
- top: 0;
6
- right: 0;
7
- left: 0;
8
- z-index: $zindex-fixed;
9
- }
10
-
11
- .fixed-bottom {
12
- position: fixed;
13
- right: 0;
14
- bottom: 0;
15
- left: 0;
16
- z-index: $zindex-fixed;
17
- }
18
-
19
- // Responsive sticky top and bottom
20
- @each $breakpoint in map-keys($grid-breakpoints) {
21
- @include media-breakpoint-up($breakpoint) {
22
- $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
23
-
24
- .sticky#{$infix}-top {
25
- position: sticky;
26
- top: 0;
27
- z-index: $zindex-sticky;
28
- }
29
-
30
- .sticky#{$infix}-bottom {
31
- position: sticky;
32
- bottom: 0;
33
- z-index: $zindex-sticky;
34
- }
35
- }
36
- }
@@ -1,26 +0,0 @@
1
- // Credit: Nicolas Gallagher and SUIT CSS.
2
-
3
- .ratio {
4
- position: relative;
5
- width: 100%;
6
-
7
- &::before {
8
- display: block;
9
- padding-top: var(--#{$prefix}aspect-ratio);
10
- content: "";
11
- }
12
-
13
- > * {
14
- position: absolute;
15
- top: 0;
16
- left: 0;
17
- width: 100%;
18
- height: 100%;
19
- }
20
- }
21
-
22
- @each $key, $ratio in $aspect-ratios {
23
- .ratio-#{$key} {
24
- --#{$prefix}aspect-ratio: #{$ratio};
25
- }
26
- }
@@ -1,15 +0,0 @@
1
- // scss-docs-start stacks
2
- .hstack {
3
- display: flex;
4
- flex-direction: row;
5
- align-items: center;
6
- align-self: stretch;
7
- }
8
-
9
- .vstack {
10
- display: flex;
11
- flex: 1 1 auto;
12
- flex-direction: column;
13
- align-self: stretch;
14
- }
15
- // scss-docs-end stacks
@@ -1,15 +0,0 @@
1
- //
2
- // Stretched link
3
- //
4
-
5
- .stretched-link {
6
- &::#{$stretched-link-pseudo-element} {
7
- position: absolute;
8
- top: 0;
9
- right: 0;
10
- bottom: 0;
11
- left: 0;
12
- z-index: $stretched-link-z-index;
13
- content: "";
14
- }
15
- }
@@ -1,7 +0,0 @@
1
- //
2
- // Text truncation
3
- //
4
-
5
- .text-truncate {
6
- @include text-truncate();
7
- }
@@ -1,8 +0,0 @@
1
- //
2
- // Visually hidden
3
- //
4
-
5
- .visually-hidden,
6
- .visually-hidden-focusable:not(:focus):not(:focus-within) {
7
- @include visually-hidden();
8
- }
@@ -1,8 +0,0 @@
1
- .vr {
2
- display: inline-block;
3
- align-self: stretch;
4
- width: 1px;
5
- min-height: 1em;
6
- background-color: currentcolor;
7
- opacity: $hr-opacity;
8
- }
@@ -1,15 +0,0 @@
1
- // scss-docs-start alert-variant-mixin
2
- @mixin alert-variant($background, $border, $color) {
3
- --#{$prefix}alert-color: #{$color};
4
- --#{$prefix}alert-bg: #{$background};
5
- --#{$prefix}alert-border-color: #{$border};
6
-
7
- @if $enable-gradients {
8
- background-image: var(--#{$prefix}gradient);
9
- }
10
-
11
- .alert-link {
12
- color: shade-color($color, 20%);
13
- }
14
- }
15
- // scss-docs-end alert-variant-mixin
@@ -1,14 +0,0 @@
1
- // Shared between modals and offcanvases
2
- @mixin overlay-backdrop($zindex, $backdrop-bg, $backdrop-opacity) {
3
- position: fixed;
4
- top: 0;
5
- left: 0;
6
- z-index: $zindex;
7
- width: 100vw;
8
- height: 100vh;
9
- background-color: $backdrop-bg;
10
-
11
- // Fade for backdrop
12
- &.fade { opacity: 0; }
13
- &.show { opacity: $backdrop-opacity; }
14
- }
@@ -1,9 +0,0 @@
1
- @mixin bsBanner($file, $suffix:"") {
2
- /*!
3
- * Bootstrap #{$file} v5.2.0 (https://getbootstrap.com/)
4
- * Copyright 2011-2022 The Bootstrap Authors
5
- * Copyright 2011-2022 Twitter, Inc.
6
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
7
- */
8
- }
9
-
@@ -1,78 +0,0 @@
1
- // stylelint-disable property-disallowed-list
2
- // Single side border-radius
3
-
4
- // Helper function to replace negative values with 0
5
- @function valid-radius($radius) {
6
- $return: ();
7
- @each $value in $radius {
8
- @if type-of($value) == number {
9
- $return: append($return, max($value, 0));
10
- } @else {
11
- $return: append($return, $value);
12
- }
13
- }
14
- @return $return;
15
- }
16
-
17
- // scss-docs-start border-radius-mixins
18
- @mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {
19
- @if $enable-rounded {
20
- border-radius: valid-radius($radius);
21
- }
22
- @else if $fallback-border-radius != false {
23
- border-radius: $fallback-border-radius;
24
- }
25
- }
26
-
27
- @mixin border-top-radius($radius: $border-radius) {
28
- @if $enable-rounded {
29
- border-top-left-radius: valid-radius($radius);
30
- border-top-right-radius: valid-radius($radius);
31
- }
32
- }
33
-
34
- @mixin border-end-radius($radius: $border-radius) {
35
- @if $enable-rounded {
36
- border-top-right-radius: valid-radius($radius);
37
- border-bottom-right-radius: valid-radius($radius);
38
- }
39
- }
40
-
41
- @mixin border-bottom-radius($radius: $border-radius) {
42
- @if $enable-rounded {
43
- border-bottom-right-radius: valid-radius($radius);
44
- border-bottom-left-radius: valid-radius($radius);
45
- }
46
- }
47
-
48
- @mixin border-start-radius($radius: $border-radius) {
49
- @if $enable-rounded {
50
- border-top-left-radius: valid-radius($radius);
51
- border-bottom-left-radius: valid-radius($radius);
52
- }
53
- }
54
-
55
- @mixin border-top-start-radius($radius: $border-radius) {
56
- @if $enable-rounded {
57
- border-top-left-radius: valid-radius($radius);
58
- }
59
- }
60
-
61
- @mixin border-top-end-radius($radius: $border-radius) {
62
- @if $enable-rounded {
63
- border-top-right-radius: valid-radius($radius);
64
- }
65
- }
66
-
67
- @mixin border-bottom-end-radius($radius: $border-radius) {
68
- @if $enable-rounded {
69
- border-bottom-right-radius: valid-radius($radius);
70
- }
71
- }
72
-
73
- @mixin border-bottom-start-radius($radius: $border-radius) {
74
- @if $enable-rounded {
75
- border-bottom-left-radius: valid-radius($radius);
76
- }
77
- }
78
- // scss-docs-end border-radius-mixins
@@ -1,18 +0,0 @@
1
- @mixin box-shadow($shadow...) {
2
- @if $enable-shadows {
3
- $result: ();
4
-
5
- @each $value in $shadow {
6
- @if $value != null {
7
- $result: append($result, $value, "comma");
8
- }
9
- @if $value == none and length($shadow) > 1 {
10
- @warn "The keyword 'none' must be used as a single argument.";
11
- }
12
- }
13
-
14
- @if (length($result) > 0) {
15
- box-shadow: $result;
16
- }
17
- }
18
- }
@@ -1,70 +0,0 @@
1
- // Button variants
2
- //
3
- // Easily pump out default styles, as well as :hover, :focus, :active,
4
- // and disabled options for all buttons
5
-
6
- // scss-docs-start btn-variant-mixin
7
- @mixin button-variant(
8
- $background,
9
- $border,
10
- $color: color-contrast($background),
11
- $hover-background: if($color == $color-contrast-light, shade-color($background, $btn-hover-bg-shade-amount), tint-color($background, $btn-hover-bg-tint-amount)),
12
- $hover-border: if($color == $color-contrast-light, shade-color($border, $btn-hover-border-shade-amount), tint-color($border, $btn-hover-border-tint-amount)),
13
- $hover-color: color-contrast($hover-background),
14
- $active-background: if($color == $color-contrast-light, shade-color($background, $btn-active-bg-shade-amount), tint-color($background, $btn-active-bg-tint-amount)),
15
- $active-border: if($color == $color-contrast-light, shade-color($border, $btn-active-border-shade-amount), tint-color($border, $btn-active-border-tint-amount)),
16
- $active-color: color-contrast($active-background),
17
- $disabled-background: $background,
18
- $disabled-border: $border,
19
- $disabled-color: color-contrast($disabled-background)
20
- ) {
21
- --#{$prefix}btn-color: #{$color};
22
- --#{$prefix}btn-bg: #{$background};
23
- --#{$prefix}btn-border-color: #{$border};
24
- --#{$prefix}btn-hover-color: #{$hover-color};
25
- --#{$prefix}btn-hover-bg: #{$hover-background};
26
- --#{$prefix}btn-hover-border-color: #{$hover-border};
27
- --#{$prefix}btn-focus-shadow-rgb: #{to-rgb(mix($color, $border, 15%))};
28
- --#{$prefix}btn-active-color: #{$active-color};
29
- --#{$prefix}btn-active-bg: #{$active-background};
30
- --#{$prefix}btn-active-border-color: #{$active-border};
31
- --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
32
- --#{$prefix}btn-disabled-color: #{$disabled-color};
33
- --#{$prefix}btn-disabled-bg: #{$disabled-background};
34
- --#{$prefix}btn-disabled-border-color: #{$disabled-border};
35
- }
36
- // scss-docs-end btn-variant-mixin
37
-
38
- // scss-docs-start btn-outline-variant-mixin
39
- @mixin button-outline-variant(
40
- $color,
41
- $color-hover: color-contrast($color),
42
- $active-background: $color,
43
- $active-border: $color,
44
- $active-color: color-contrast($active-background)
45
- ) {
46
- --#{$prefix}btn-color: #{$color};
47
- --#{$prefix}btn-border-color: #{$color};
48
- --#{$prefix}btn-hover-color: #{$color-hover};
49
- --#{$prefix}btn-hover-bg: #{$active-background};
50
- --#{$prefix}btn-hover-border-color: #{$active-border};
51
- --#{$prefix}btn-focus-shadow-rgb: #{to-rgb($color)};
52
- --#{$prefix}btn-active-color: #{$active-color};
53
- --#{$prefix}btn-active-bg: #{$active-background};
54
- --#{$prefix}btn-active-border-color: #{$active-border};
55
- --#{$prefix}btn-active-shadow: #{$btn-active-box-shadow};
56
- --#{$prefix}btn-disabled-color: #{$color};
57
- --#{$prefix}btn-disabled-bg: transparent;
58
- --#{$prefix}btn-disabled-border-color: #{$color};
59
- --#{$prefix}gradient: none;
60
- }
61
- // scss-docs-end btn-outline-variant-mixin
62
-
63
- // scss-docs-start btn-size-mixin
64
- @mixin button-size($padding-y, $padding-x, $font-size, $border-radius) {
65
- --#{$prefix}btn-padding-y: #{$padding-y};
66
- --#{$prefix}btn-padding-x: #{$padding-x};
67
- @include rfs($font-size, --#{$prefix}btn-font-size);
68
- --#{$prefix}btn-border-radius: #{$border-radius};
69
- }
70
- // scss-docs-end btn-size-mixin
@@ -1,64 +0,0 @@
1
- // scss-docs-start caret-mixins
2
- @mixin caret-down {
3
- border-top: $caret-width solid;
4
- border-right: $caret-width solid transparent;
5
- border-bottom: 0;
6
- border-left: $caret-width solid transparent;
7
- }
8
-
9
- @mixin caret-up {
10
- border-top: 0;
11
- border-right: $caret-width solid transparent;
12
- border-bottom: $caret-width solid;
13
- border-left: $caret-width solid transparent;
14
- }
15
-
16
- @mixin caret-end {
17
- border-top: $caret-width solid transparent;
18
- border-right: 0;
19
- border-bottom: $caret-width solid transparent;
20
- border-left: $caret-width solid;
21
- }
22
-
23
- @mixin caret-start {
24
- border-top: $caret-width solid transparent;
25
- border-right: $caret-width solid;
26
- border-bottom: $caret-width solid transparent;
27
- }
28
-
29
- @mixin caret($direction: down) {
30
- @if $enable-caret {
31
- &::after {
32
- display: inline-block;
33
- margin-left: $caret-spacing;
34
- vertical-align: $caret-vertical-align;
35
- content: "";
36
- @if $direction == down {
37
- @include caret-down();
38
- } @else if $direction == up {
39
- @include caret-up();
40
- } @else if $direction == end {
41
- @include caret-end();
42
- }
43
- }
44
-
45
- @if $direction == start {
46
- &::after {
47
- display: none;
48
- }
49
-
50
- &::before {
51
- display: inline-block;
52
- margin-right: $caret-spacing;
53
- vertical-align: $caret-vertical-align;
54
- content: "";
55
- @include caret-start();
56
- }
57
- }
58
-
59
- &:empty::after {
60
- margin-left: 0;
61
- }
62
- }
63
- }
64
- // scss-docs-end caret-mixins
@@ -1,9 +0,0 @@
1
- // scss-docs-start clearfix
2
- @mixin clearfix() {
3
- &::after {
4
- display: block;
5
- clear: both;
6
- content: "";
7
- }
8
- }
9
- // scss-docs-end clearfix
@@ -1,7 +0,0 @@
1
- // scss-docs-start mixin-color-scheme
2
- @mixin color-scheme($name) {
3
- @media (prefers-color-scheme: #{$name}) {
4
- @content;
5
- }
6
- }
7
- // scss-docs-end mixin-color-scheme
@@ -1,11 +0,0 @@
1
- // Container mixins
2
-
3
- @mixin make-container($gutter: $container-padding-x) {
4
- --#{$prefix}gutter-x: #{$gutter};
5
- --#{$prefix}gutter-y: 0;
6
- width: 100%;
7
- padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
8
- padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
9
- margin-right: auto;
10
- margin-left: auto;
11
- }
@@ -1,10 +0,0 @@
1
- // Deprecate mixin
2
- //
3
- // This mixin can be used to deprecate mixins or functions.
4
- // `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to
5
- // some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap)
6
- @mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) {
7
- @if ($enable-deprecation-messages != false and $ignore-warning != true) {
8
- @warn "#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}.";
9
- }
10
- }