@weavy/uikit-react 13.0.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 (243) hide show
  1. package/changelog.md +24 -0
  2. package/dist/cjs/index.js +3 -3
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/types/components/Chat.d.ts +1 -1
  5. package/dist/cjs/types/components/Messages.d.ts +3 -1
  6. package/dist/cjs/types/hooks/useConversations.d.ts +1 -1
  7. package/dist/cjs/types/hooks/useMutateMessage.d.ts +1 -1
  8. package/dist/cjs/types/hooks/useMutateRead.d.ts +1 -0
  9. package/dist/cjs/types/types/Chat.d.ts +1 -0
  10. package/dist/cjs/types/types/Message.d.ts +2 -0
  11. package/dist/cjs/types/types/types.d.ts +47 -4
  12. package/dist/cjs/types/ui/Spinner.d.ts +2 -1
  13. package/dist/css/weavy-chat.css +1540 -954
  14. package/dist/css/weavy-messenger.css +1901 -1298
  15. package/dist/css/weavy.css +1696 -1093
  16. package/dist/esm/index.js +3 -3
  17. package/dist/esm/index.js.map +1 -1
  18. package/dist/esm/types/components/Chat.d.ts +1 -1
  19. package/dist/esm/types/components/Messages.d.ts +3 -1
  20. package/dist/esm/types/hooks/useConversations.d.ts +1 -1
  21. package/dist/esm/types/hooks/useMutateMessage.d.ts +1 -1
  22. package/dist/esm/types/hooks/useMutateRead.d.ts +1 -0
  23. package/dist/esm/types/types/Chat.d.ts +1 -0
  24. package/dist/esm/types/types/Message.d.ts +2 -0
  25. package/dist/esm/types/types/types.d.ts +47 -4
  26. package/dist/esm/types/ui/Spinner.d.ts +2 -1
  27. package/dist/index.d.ts +2 -1
  28. package/package.json +2 -2
  29. package/src/client/WeavyClient.ts +12 -17
  30. package/src/components/Attachment.tsx +5 -5
  31. package/src/components/Chat.tsx +6 -5
  32. package/src/components/Conversation.tsx +26 -20
  33. package/src/components/ConversationBadge.tsx +7 -5
  34. package/src/components/ConversationForm.tsx +1 -1
  35. package/src/components/ConversationList.tsx +59 -11
  36. package/src/components/ConversationListItem.tsx +71 -54
  37. package/src/components/FileBrowser.tsx +53 -50
  38. package/src/components/MeetingCard.tsx +35 -13
  39. package/src/components/Meetings.tsx +1 -1
  40. package/src/components/Message.tsx +41 -41
  41. package/src/components/Messages.tsx +61 -60
  42. package/src/components/Messenger.tsx +7 -2
  43. package/src/components/NewConversation.tsx +1 -1
  44. package/src/components/PdfViewer.tsx +5 -5
  45. package/src/components/Preview.tsx +2 -2
  46. package/src/components/Reactions.tsx +11 -5
  47. package/src/components/SearchUsers.tsx +19 -9
  48. package/src/components/SeenBy.tsx +13 -7
  49. package/src/components/Typing.tsx +11 -12
  50. package/src/contexts/UserContext.tsx +1 -1
  51. package/src/contexts/WeavyContext.tsx +3 -3
  52. package/src/hooks/useConversations.ts +15 -5
  53. package/src/hooks/useMutateMessage.ts +1 -5
  54. package/src/hooks/useMutateRead.ts +5 -3
  55. package/src/hooks/usePresence.ts +2 -3
  56. package/src/hooks/useReactions.ts +11 -12
  57. package/src/scss/theme/_alert.scss +61 -63
  58. package/src/scss/theme/_appbar.scss +105 -30
  59. package/src/scss/theme/_avatar.scss +23 -28
  60. package/src/scss/theme/_badge.scss +26 -18
  61. package/src/scss/theme/_buttons.scss +107 -52
  62. package/src/scss/theme/_card.scss +102 -4
  63. package/src/scss/theme/_checkbox.scss +16 -20
  64. package/src/scss/theme/_code-vscode-dark.scss +3 -3
  65. package/src/scss/theme/_code-vscode-light.scss +3 -3
  66. package/src/scss/theme/_code.scss +0 -2
  67. package/src/scss/theme/_comment-editor-cm.scss +97 -0
  68. package/src/scss/theme/_comment-editor.scss +129 -0
  69. package/src/scss/theme/_comments.scss +66 -0
  70. package/src/scss/theme/_content.scss +33 -5
  71. package/src/scss/theme/_conversations.scss +19 -78
  72. package/src/scss/theme/_dropdown.scss +102 -15
  73. package/src/scss/theme/_embed.scss +135 -0
  74. package/src/scss/theme/_facepile.scss +11 -0
  75. package/src/scss/theme/_filebrowser.scss +1 -1
  76. package/src/scss/theme/_files.scss +76 -47
  77. package/src/scss/theme/_grid.scss +8 -0
  78. package/src/scss/theme/_icons.scss +155 -19
  79. package/src/scss/theme/_image-grid.scss +7 -10
  80. package/src/scss/theme/_input.scss +160 -0
  81. package/src/scss/theme/_item.scss +169 -0
  82. package/src/scss/theme/_list.scss +57 -0
  83. package/src/scss/theme/_meeting.scss +11 -0
  84. package/src/scss/theme/_message-editor-cm.scss +95 -0
  85. package/src/scss/theme/_message-editor.scss +65 -19
  86. package/src/scss/theme/_messages.scss +51 -105
  87. package/src/scss/theme/_meta.scss +12 -0
  88. package/src/scss/theme/_overlays.scss +31 -76
  89. package/src/scss/theme/_pager.scss +5 -1
  90. package/src/scss/theme/_pane.scss +13 -2
  91. package/src/scss/theme/_panels.scss +33 -28
  92. package/src/scss/theme/_picker-list.scss +5 -3
  93. package/src/scss/theme/_placeholder.scss +19 -0
  94. package/src/scss/theme/_poll.scss +49 -0
  95. package/src/scss/theme/_post-editor-cm.scss +100 -0
  96. package/src/scss/theme/_post-editor.scss +127 -0
  97. package/src/scss/theme/_post.scss +83 -0
  98. package/src/scss/theme/_preview-code.scss +11 -2
  99. package/src/scss/theme/_preview-embed.scss +8 -2
  100. package/src/scss/theme/_preview-image.scss +8 -26
  101. package/src/scss/theme/_preview-media.scss +1 -0
  102. package/src/scss/theme/_preview-pdf.scss +10 -15
  103. package/src/scss/theme/_preview.scss +57 -79
  104. package/src/scss/theme/_reactions.scss +48 -17
  105. package/src/scss/theme/_sheet.scss +59 -0
  106. package/src/scss/theme/_sidebar.scss +86 -0
  107. package/src/scss/theme/_spinner.scss +11 -7
  108. package/src/scss/theme/_tab.scss +72 -0
  109. package/src/scss/theme/_tables.scss +70 -23
  110. package/src/scss/theme/_toasts.scss +56 -26
  111. package/src/scss/theme/_type.scss +41 -0
  112. package/src/scss/theme/{mixins → base}/_backdrop.scss +0 -0
  113. package/src/scss/theme/{bootstrap/mixins → base}/_breakpoints.scss +9 -0
  114. package/src/scss/theme/base/_colors.scss +315 -0
  115. package/src/scss/theme/base/_md.scss +19 -0
  116. package/src/scss/theme/base/_palette.scss +130 -0
  117. package/src/scss/theme/{mixins → base}/_position.scss +5 -5
  118. package/src/scss/theme/base/_reboot.scss +51 -0
  119. package/src/scss/theme/base/_scroll.scss +180 -0
  120. package/src/scss/theme/base/_svg.scss +49 -0
  121. package/src/scss/theme/base/_text.scss +23 -0
  122. package/src/scss/theme/base/_vars.scss +203 -0
  123. package/src/scss/theme/{fonts → base/fonts}/_fontmapping-roboto.scss +0 -0
  124. package/src/scss/theme/{fonts → base/fonts}/_fontmapping-segoe-ui.scss +0 -0
  125. package/src/scss/theme/base/fonts/_index.scss +2 -0
  126. package/src/scss/weavy-chat.scss +10 -4
  127. package/src/scss/weavy-messenger.scss +37 -21
  128. package/src/types/Chat.ts +2 -1
  129. package/src/types/Message.ts +3 -1
  130. package/src/types/types.ts +56 -5
  131. package/src/ui/Icon.tsx +1 -1
  132. package/src/ui/Spinner.tsx +3 -2
  133. package/src/utils/infiniteScroll.js +11 -2
  134. package/src/utils/postal-parent.js +398 -0
  135. package/src/utils/promise.js +187 -0
  136. package/src/utils/scrollbarDetection.js +68 -9
  137. package/src/utils/utils.js +547 -0
  138. package/src/scss/theme/_attachments.scss +0 -74
  139. package/src/scss/theme/_cm-editor.scss +0 -42
  140. package/src/scss/theme/_colors.scss +0 -520
  141. package/src/scss/theme/_config.scss +0 -6
  142. package/src/scss/theme/_inputs.scss +0 -28
  143. package/src/scss/theme/_nav.scss +0 -52
  144. package/src/scss/theme/_palette.scss +0 -165
  145. package/src/scss/theme/_preview-icon.scss +0 -41
  146. package/src/scss/theme/_reboot.scss +0 -41
  147. package/src/scss/theme/_root.scss +0 -2
  148. package/src/scss/theme/_scroll.scss +0 -55
  149. package/src/scss/theme/_search.scss +0 -68
  150. package/src/scss/theme/_turbo.scss +0 -17
  151. package/src/scss/theme/_variables.scss +0 -139
  152. package/src/scss/theme/bootstrap/_accordion.scss +0 -146
  153. package/src/scss/theme/bootstrap/_alert.scss +0 -71
  154. package/src/scss/theme/bootstrap/_badge.scss +0 -38
  155. package/src/scss/theme/bootstrap/_breadcrumb.scss +0 -40
  156. package/src/scss/theme/bootstrap/_button-group.scss +0 -142
  157. package/src/scss/theme/bootstrap/_buttons.scss +0 -186
  158. package/src/scss/theme/bootstrap/_card.scss +0 -234
  159. package/src/scss/theme/bootstrap/_carousel.scss +0 -229
  160. package/src/scss/theme/bootstrap/_close.scss +0 -40
  161. package/src/scss/theme/bootstrap/_containers.scss +0 -41
  162. package/src/scss/theme/bootstrap/_dropdown.scss +0 -248
  163. package/src/scss/theme/bootstrap/_forms.scss +0 -9
  164. package/src/scss/theme/bootstrap/_functions.scss +0 -302
  165. package/src/scss/theme/bootstrap/_grid.scss +0 -33
  166. package/src/scss/theme/bootstrap/_helpers.scss +0 -10
  167. package/src/scss/theme/bootstrap/_images.scss +0 -42
  168. package/src/scss/theme/bootstrap/_list-group.scss +0 -191
  169. package/src/scss/theme/bootstrap/_maps.scss +0 -54
  170. package/src/scss/theme/bootstrap/_mixins.scss +0 -43
  171. package/src/scss/theme/bootstrap/_modal.scss +0 -237
  172. package/src/scss/theme/bootstrap/_nav.scss +0 -172
  173. package/src/scss/theme/bootstrap/_navbar.scss +0 -276
  174. package/src/scss/theme/bootstrap/_offcanvas.scss +0 -143
  175. package/src/scss/theme/bootstrap/_pagination.scss +0 -109
  176. package/src/scss/theme/bootstrap/_placeholders.scss +0 -51
  177. package/src/scss/theme/bootstrap/_popover.scss +0 -196
  178. package/src/scss/theme/bootstrap/_progress.scss +0 -59
  179. package/src/scss/theme/bootstrap/_reboot.scss +0 -610
  180. package/src/scss/theme/bootstrap/_root.scss +0 -73
  181. package/src/scss/theme/bootstrap/_spinners.scss +0 -85
  182. package/src/scss/theme/bootstrap/_tables.scss +0 -164
  183. package/src/scss/theme/bootstrap/_toasts.scss +0 -70
  184. package/src/scss/theme/bootstrap/_tooltip.scss +0 -120
  185. package/src/scss/theme/bootstrap/_transitions.scss +0 -27
  186. package/src/scss/theme/bootstrap/_type.scss +0 -106
  187. package/src/scss/theme/bootstrap/_utilities.scss +0 -647
  188. package/src/scss/theme/bootstrap/_variables.scss +0 -1633
  189. package/src/scss/theme/bootstrap/forms/_floating-labels.scss +0 -74
  190. package/src/scss/theme/bootstrap/forms/_form-check.scss +0 -175
  191. package/src/scss/theme/bootstrap/forms/_form-control.scss +0 -194
  192. package/src/scss/theme/bootstrap/forms/_form-range.scss +0 -91
  193. package/src/scss/theme/bootstrap/forms/_form-select.scss +0 -71
  194. package/src/scss/theme/bootstrap/forms/_form-text.scss +0 -11
  195. package/src/scss/theme/bootstrap/forms/_input-group.scss +0 -129
  196. package/src/scss/theme/bootstrap/forms/_labels.scss +0 -36
  197. package/src/scss/theme/bootstrap/forms/_validation.scss +0 -12
  198. package/src/scss/theme/bootstrap/helpers/_clearfix.scss +0 -3
  199. package/src/scss/theme/bootstrap/helpers/_color-bg.scss +0 -10
  200. package/src/scss/theme/bootstrap/helpers/_colored-links.scss +0 -12
  201. package/src/scss/theme/bootstrap/helpers/_position.scss +0 -36
  202. package/src/scss/theme/bootstrap/helpers/_ratio.scss +0 -26
  203. package/src/scss/theme/bootstrap/helpers/_stacks.scss +0 -15
  204. package/src/scss/theme/bootstrap/helpers/_stretched-link.scss +0 -15
  205. package/src/scss/theme/bootstrap/helpers/_text-truncation.scss +0 -7
  206. package/src/scss/theme/bootstrap/helpers/_visually-hidden.scss +0 -8
  207. package/src/scss/theme/bootstrap/helpers/_vr.scss +0 -8
  208. package/src/scss/theme/bootstrap/mixins/_alert.scss +0 -15
  209. package/src/scss/theme/bootstrap/mixins/_backdrop.scss +0 -14
  210. package/src/scss/theme/bootstrap/mixins/_banner.scss +0 -9
  211. package/src/scss/theme/bootstrap/mixins/_border-radius.scss +0 -78
  212. package/src/scss/theme/bootstrap/mixins/_box-shadow.scss +0 -18
  213. package/src/scss/theme/bootstrap/mixins/_buttons.scss +0 -70
  214. package/src/scss/theme/bootstrap/mixins/_caret.scss +0 -64
  215. package/src/scss/theme/bootstrap/mixins/_clearfix.scss +0 -9
  216. package/src/scss/theme/bootstrap/mixins/_color-scheme.scss +0 -7
  217. package/src/scss/theme/bootstrap/mixins/_container.scss +0 -11
  218. package/src/scss/theme/bootstrap/mixins/_deprecate.scss +0 -10
  219. package/src/scss/theme/bootstrap/mixins/_forms.scss +0 -152
  220. package/src/scss/theme/bootstrap/mixins/_gradients.scss +0 -47
  221. package/src/scss/theme/bootstrap/mixins/_grid.scss +0 -151
  222. package/src/scss/theme/bootstrap/mixins/_image.scss +0 -16
  223. package/src/scss/theme/bootstrap/mixins/_list-group.scss +0 -24
  224. package/src/scss/theme/bootstrap/mixins/_lists.scss +0 -7
  225. package/src/scss/theme/bootstrap/mixins/_pagination.scss +0 -10
  226. package/src/scss/theme/bootstrap/mixins/_reset-text.scss +0 -17
  227. package/src/scss/theme/bootstrap/mixins/_resize.scss +0 -6
  228. package/src/scss/theme/bootstrap/mixins/_table-variants.scss +0 -24
  229. package/src/scss/theme/bootstrap/mixins/_text-truncate.scss +0 -8
  230. package/src/scss/theme/bootstrap/mixins/_transition.scss +0 -26
  231. package/src/scss/theme/bootstrap/mixins/_utilities.scss +0 -97
  232. package/src/scss/theme/bootstrap/mixins/_visually-hidden.scss +0 -29
  233. package/src/scss/theme/bootstrap/utilities/_api.scss +0 -47
  234. package/src/scss/theme/bootstrap/vendor/_rfs.scss +0 -354
  235. package/src/scss/theme/bs/_badge.scss +0 -20
  236. package/src/scss/theme/bs/_buttons.scss +0 -185
  237. package/src/scss/theme/bs/_dropdown.scss +0 -86
  238. package/src/scss/theme/bs/_forms.scss +0 -161
  239. package/src/scss/theme/bs/_list-group.scss +0 -73
  240. package/src/scss/theme/bs/_tables.scss +0 -46
  241. package/src/scss/theme/fonts/_index.scss +0 -2
  242. package/src/scss/theme/mixins/_palette.scss +0 -165
  243. 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
- }