carbon-components-svelte 0.107.0 → 0.108.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 (283) hide show
  1. package/css/_breadcrumb.scss +46 -0
  2. package/css/_combobox-readonly.scss +37 -0
  3. package/css/_copy-button-portal.scss +20 -0
  4. package/css/_datepicker.scss +68 -0
  5. package/css/_dropdown-readonly.scss +37 -0
  6. package/css/_multiselect-readonly.scss +57 -0
  7. package/css/_overflow-menu.scss +25 -0
  8. package/css/_radiobutton-readonly.scss +35 -0
  9. package/css/_select-readonly.scss +42 -0
  10. package/css/_slider.scss +155 -0
  11. package/css/_text-area-readonly.scss +23 -0
  12. package/css/_time-picker.scss +60 -0
  13. package/css/_toggle-readonly.scss +58 -0
  14. package/css/_tooltip.scss +0 -5
  15. package/css/_treeview.scss +10 -0
  16. package/css/_ui-shell-classic.scss +6 -0
  17. package/css/_ui-shell.scss +6 -0
  18. package/css/all.css +1 -1
  19. package/css/all.scss +12 -0
  20. package/css/css.d.ts +6 -0
  21. package/css/g10.css +1 -1
  22. package/css/g10.scss +12 -0
  23. package/css/g100.css +1 -1
  24. package/css/g100.scss +12 -0
  25. package/css/g80.css +1 -1
  26. package/css/g80.scss +12 -0
  27. package/css/g90.css +1 -1
  28. package/css/g90.scss +12 -0
  29. package/css/white.css +1 -1
  30. package/css/white.scss +12 -0
  31. package/package.json +5 -2
  32. package/src/Accordion/AccordionItem.svelte +17 -4
  33. package/src/Accordion/AccordionItem.svelte.d.ts +8 -2
  34. package/src/Breadcrumb/Breadcrumb.svelte +12 -1
  35. package/src/Breadcrumb/Breadcrumb.svelte.d.ts +12 -0
  36. package/src/Breadcrumb/BreadcrumbItem.svelte +20 -5
  37. package/src/Breadcrumb/BreadcrumbItem.svelte.d.ts +26 -1
  38. package/src/Breadcrumb/BreadcrumbSkeleton.svelte +8 -0
  39. package/src/Breadcrumb/BreadcrumbSkeleton.svelte.d.ts +6 -0
  40. package/src/Breakpoint/Breakpoint.svelte +2 -0
  41. package/src/Button/Button.svelte +19 -15
  42. package/src/Button/Button.svelte.d.ts +1 -1
  43. package/src/Checkbox/Checkbox.svelte +41 -19
  44. package/src/Checkbox/Checkbox.svelte.d.ts +3 -3
  45. package/src/Checkbox/CheckboxGroup.svelte +33 -34
  46. package/src/Checkbox/CheckboxGroup.svelte.d.ts +7 -1
  47. package/src/CodeSnippet/CodeSnippet.svelte +76 -36
  48. package/src/CodeSnippet/CodeSnippet.svelte.d.ts +24 -8
  49. package/src/ComboBox/ComboBox.svelte +170 -201
  50. package/src/ComboBox/ComboBox.svelte.d.ts +9 -3
  51. package/src/ComposedModal/ComposedModal.svelte +31 -82
  52. package/src/ComposedModal/ComposedModal.svelte.d.ts +2 -2
  53. package/src/ComposedModal/ModalFooter.svelte +1 -1
  54. package/src/ContainedList/ContainedList.svelte +0 -1
  55. package/src/ContainedList/ContainedListItem.svelte +1 -1
  56. package/src/ContentSwitcher/ContentSwitcher.svelte +86 -32
  57. package/src/ContentSwitcher/ContentSwitcher.svelte.d.ts +14 -1
  58. package/src/ContentSwitcher/Switch.svelte +26 -7
  59. package/src/ContentSwitcher/Switch.svelte.d.ts +5 -2
  60. package/src/ContextMenu/ContextMenu.svelte +70 -51
  61. package/src/ContextMenu/ContextMenu.svelte.d.ts +11 -3
  62. package/src/ContextMenu/ContextMenuGroup.svelte +4 -1
  63. package/src/ContextMenu/ContextMenuOption.svelte +58 -38
  64. package/src/ContextMenu/ContextMenuOption.svelte.d.ts +3 -3
  65. package/src/ContextMenu/ContextMenuRadioGroup.svelte +4 -1
  66. package/src/ContextMenu/ContextMenuRadioGroup.svelte.d.ts +1 -1
  67. package/src/CopyButton/CopyButton.svelte +60 -33
  68. package/src/CopyButton/CopyButton.svelte.d.ts +20 -7
  69. package/src/DataTable/DataTable.svelte +107 -93
  70. package/src/DataTable/DataTable.svelte.d.ts +9 -13
  71. package/src/DataTable/Table.svelte +1 -0
  72. package/src/DataTable/Toolbar.svelte +6 -1
  73. package/src/DataTable/Toolbar.svelte.d.ts +6 -0
  74. package/src/DataTable/ToolbarBatchActions.svelte +3 -22
  75. package/src/DataTable/ToolbarContent.svelte +9 -2
  76. package/src/DataTable/ToolbarMenu.svelte +16 -3
  77. package/src/DataTable/ToolbarSearch.svelte +31 -13
  78. package/src/DataTable/ToolbarSearch.svelte.d.ts +13 -2
  79. package/src/DatePicker/DatePicker.svelte +139 -27
  80. package/src/DatePicker/DatePicker.svelte.d.ts +14 -0
  81. package/src/DatePicker/DatePickerInput.svelte +35 -19
  82. package/src/DatePicker/DatePickerInput.svelte.d.ts +8 -1
  83. package/src/DatePicker/DatePickerSkeleton.svelte +6 -6
  84. package/src/DatePicker/DatePickerSkeleton.svelte.d.ts +3 -3
  85. package/src/DatePicker/createCalendar.js +31 -27
  86. package/src/DatePicker/datePickerTopLayer.d.ts +25 -0
  87. package/src/DatePicker/datePickerTopLayer.js +88 -0
  88. package/src/Dropdown/Dropdown.svelte +202 -221
  89. package/src/Dropdown/Dropdown.svelte.d.ts +8 -2
  90. package/src/FileUploader/FileUploader.svelte +46 -32
  91. package/src/FileUploader/FileUploader.svelte.d.ts +6 -0
  92. package/src/FileUploader/FileUploaderButton.svelte +35 -7
  93. package/src/FileUploader/FileUploaderButton.svelte.d.ts +11 -2
  94. package/src/FileUploader/FileUploaderDropContainer.svelte +17 -13
  95. package/src/FileUploader/FileUploaderDropContainer.svelte.d.ts +1 -1
  96. package/src/FileUploader/FileUploaderItem.svelte +2 -2
  97. package/src/FluidForm/FluidForm.svelte +13 -1
  98. package/src/FluidForm/FluidForm.svelte.d.ts +10 -0
  99. package/src/Form/Form.svelte +4 -3
  100. package/src/Form/Form.svelte.d.ts +1 -1
  101. package/src/ImageLoader/ImageLoader.svelte +3 -0
  102. package/src/InlineLoading/InlineLoading.svelte +1 -0
  103. package/src/Link/Link.svelte +13 -2
  104. package/src/Link/Link.svelte.d.ts +5 -1
  105. package/src/Link/OutboundLink.svelte +14 -0
  106. package/src/Link/OutboundLink.svelte.d.ts +12 -0
  107. package/src/ListBox/ListBox.svelte +5 -5
  108. package/src/ListBox/ListBoxField.svelte +8 -1
  109. package/src/ListBox/ListBoxField.svelte.d.ts +7 -1
  110. package/src/ListBox/ListBoxMenu.svelte +23 -11
  111. package/src/ListBox/ListBoxMenu.svelte.d.ts +8 -1
  112. package/src/ListBox/ListBoxSelection.svelte +27 -14
  113. package/src/ListBox/ListBoxSelection.svelte.d.ts +7 -1
  114. package/src/LocalStorage/LocalStorage.svelte +35 -32
  115. package/src/LocalStorage/LocalStorage.svelte.d.ts +12 -4
  116. package/src/Modal/Modal.svelte +36 -82
  117. package/src/Modal/Modal.svelte.d.ts +2 -2
  118. package/src/Modal/modalStore.js +17 -5
  119. package/src/MultiSelect/MultiSelect.svelte +243 -191
  120. package/src/MultiSelect/MultiSelect.svelte.d.ts +17 -4
  121. package/src/Notification/InlineNotification.svelte +12 -24
  122. package/src/Notification/InlineNotification.svelte.d.ts +2 -8
  123. package/src/Notification/NotificationActionButton.svelte +3 -1
  124. package/src/Notification/NotificationButton.svelte +9 -9
  125. package/src/Notification/NotificationIcon.svelte +8 -11
  126. package/src/Notification/NotificationIcon.svelte.d.ts +0 -6
  127. package/src/Notification/NotificationQueue.svelte +20 -3
  128. package/src/Notification/NotificationQueue.svelte.d.ts +9 -2
  129. package/src/Notification/ToastNotification.svelte +12 -30
  130. package/src/Notification/ToastNotification.svelte.d.ts +2 -8
  131. package/src/NumberInput/NumberInput.svelte +49 -106
  132. package/src/NumberInput/NumberInput.svelte.d.ts +1 -1
  133. package/src/OverflowMenu/OverflowMenu.svelte +80 -43
  134. package/src/OverflowMenu/OverflowMenu.svelte.d.ts +24 -3
  135. package/src/OverflowMenu/OverflowMenuItem.svelte +47 -19
  136. package/src/OverflowMenu/OverflowMenuItem.svelte.d.ts +3 -3
  137. package/src/Pagination/Pagination.svelte +14 -13
  138. package/src/Pagination/Pagination.svelte.d.ts +2 -5
  139. package/src/PaginationNav/PaginationNav.svelte +10 -10
  140. package/src/PaginationNav/PaginationNav.svelte.d.ts +1 -1
  141. package/src/PaginationNav/PaginationOverflow.svelte +8 -5
  142. package/src/Popover/Popover.svelte +8 -5
  143. package/src/Popover/Popover.svelte.d.ts +1 -1
  144. package/src/Portal/FloatingPortal.svelte +14 -13
  145. package/src/Portal/FloatingPortal.svelte.d.ts +4 -3
  146. package/src/Portal/Portal.svelte +12 -8
  147. package/src/ProgressBar/ProgressBar.svelte +4 -3
  148. package/src/ProgressIndicator/ProgressIndicator.svelte +19 -7
  149. package/src/ProgressIndicator/ProgressIndicator.svelte.d.ts +2 -1
  150. package/src/ProgressIndicator/ProgressIndicatorSkeleton.svelte +5 -1
  151. package/src/ProgressIndicator/ProgressIndicatorSkeleton.svelte.d.ts +6 -0
  152. package/src/ProgressIndicator/ProgressStep.svelte +25 -19
  153. package/src/ProgressIndicator/ProgressStep.svelte.d.ts +24 -2
  154. package/src/RadioButton/RadioButton.svelte +33 -10
  155. package/src/RadioButton/RadioButton.svelte.d.ts +2 -2
  156. package/src/RadioButtonGroup/RadioButtonGroup.svelte +31 -13
  157. package/src/RadioButtonGroup/RadioButtonGroup.svelte.d.ts +8 -0
  158. package/src/RecursiveList/RecursiveList.svelte +10 -3
  159. package/src/RecursiveList/RecursiveList.svelte.d.ts +12 -0
  160. package/src/RecursiveList/RecursiveListItem.svelte +21 -1
  161. package/src/RecursiveList/RecursiveListItem.svelte.d.ts +13 -0
  162. package/src/Search/Search.svelte +13 -5
  163. package/src/Search/Search.svelte.d.ts +2 -2
  164. package/src/Select/Select.svelte +66 -22
  165. package/src/Select/Select.svelte.d.ts +7 -1
  166. package/src/Select/SelectItem.svelte +1 -1
  167. package/src/SessionStorage/SessionStorage.svelte +35 -32
  168. package/src/SessionStorage/SessionStorage.svelte.d.ts +12 -4
  169. package/src/Slider/RangeSlider.svelte +520 -0
  170. package/src/Slider/RangeSlider.svelte.d.ts +204 -0
  171. package/src/Slider/RangeSliderSkeleton.svelte +33 -0
  172. package/src/Slider/RangeSliderSkeleton.svelte.d.ts +27 -0
  173. package/src/Slider/Slider.svelte +55 -50
  174. package/src/Slider/Slider.svelte.d.ts +2 -2
  175. package/src/Slider/index.js +2 -0
  176. package/src/StructuredList/StructuredList.svelte +8 -4
  177. package/src/StructuredList/StructuredListInput.svelte +17 -5
  178. package/src/StructuredList/StructuredListInput.svelte.d.ts +2 -2
  179. package/src/StructuredList/StructuredListRow.svelte +30 -0
  180. package/src/StructuredList/StructuredListSkeleton.svelte +12 -7
  181. package/src/StructuredList/StructuredListSkeleton.svelte.d.ts +6 -0
  182. package/src/Tabs/Tab.svelte +12 -11
  183. package/src/Tabs/Tab.svelte.d.ts +1 -1
  184. package/src/Tabs/Tabs.svelte +33 -63
  185. package/src/Tabs/Tabs.svelte.d.ts +1 -1
  186. package/src/Tag/SelectableTag.svelte +6 -4
  187. package/src/Tag/SelectableTag.svelte.d.ts +1 -1
  188. package/src/Tag/Tag.svelte +1 -1
  189. package/src/TextArea/TextArea.svelte +6 -1
  190. package/src/TextArea/TextArea.svelte.d.ts +1 -1
  191. package/src/TextInput/PasswordInput.svelte +8 -3
  192. package/src/TextInput/PasswordInput.svelte.d.ts +1 -1
  193. package/src/TextInput/TextInput.svelte +9 -5
  194. package/src/TextInput/TextInput.svelte.d.ts +1 -1
  195. package/src/Theme/Theme.svelte +10 -6
  196. package/src/Theme/Theme.svelte.d.ts +1 -1
  197. package/src/Tile/ClickableTile.svelte +29 -5
  198. package/src/Tile/ClickableTile.svelte.d.ts +10 -1
  199. package/src/Tile/ExpandableTile.svelte +16 -4
  200. package/src/Tile/ExpandableTile.svelte.d.ts +4 -4
  201. package/src/Tile/RadioTile.svelte +17 -14
  202. package/src/Tile/RadioTile.svelte.d.ts +1 -1
  203. package/src/Tile/SelectableTile.svelte +27 -12
  204. package/src/Tile/SelectableTile.svelte.d.ts +2 -2
  205. package/src/Tile/SelectableTileGroup.svelte +16 -2
  206. package/src/Tile/SelectableTileGroup.svelte.d.ts +7 -0
  207. package/src/Tile/TileGroup.svelte +2 -1
  208. package/src/TimePicker/TimePicker.svelte +84 -24
  209. package/src/TimePicker/TimePicker.svelte.d.ts +25 -1
  210. package/src/TimePicker/TimePickerSelect.svelte +32 -3
  211. package/src/TimePicker/TimePickerSelect.svelte.d.ts +11 -1
  212. package/src/Toggle/Toggle.svelte +27 -9
  213. package/src/Toggle/Toggle.svelte.d.ts +8 -2
  214. package/src/Tooltip/Tooltip.svelte +19 -9
  215. package/src/Tooltip/Tooltip.svelte.d.ts +3 -3
  216. package/src/Tooltip/TooltipFooter.svelte +3 -3
  217. package/src/TooltipDefinition/TooltipDefinition.svelte +16 -6
  218. package/src/TooltipDefinition/TooltipDefinition.svelte.d.ts +1 -1
  219. package/src/TooltipIcon/TooltipIcon.svelte +12 -8
  220. package/src/TooltipIcon/TooltipIcon.svelte.d.ts +1 -1
  221. package/src/TreeView/TreeView.svelte +153 -36
  222. package/src/TreeView/TreeViewNode.svelte +33 -30
  223. package/src/TreeView/TreeViewNode.svelte.d.ts +7 -0
  224. package/src/TreeView/TreeViewNodeList.svelte +83 -44
  225. package/src/UIShell/HamburgerMenu.svelte +1 -1
  226. package/src/UIShell/Header.svelte +19 -5
  227. package/src/UIShell/Header.svelte.d.ts +2 -2
  228. package/src/UIShell/HeaderAction.svelte +14 -10
  229. package/src/UIShell/HeaderAction.svelte.d.ts +3 -3
  230. package/src/UIShell/HeaderActionLink.svelte +5 -2
  231. package/src/UIShell/HeaderActionLink.svelte.d.ts +1 -1
  232. package/src/UIShell/HeaderGlobalAction.svelte +4 -2
  233. package/src/UIShell/HeaderNav.svelte +2 -9
  234. package/src/UIShell/HeaderNavItem.svelte +20 -19
  235. package/src/UIShell/HeaderNavItem.svelte.d.ts +1 -1
  236. package/src/UIShell/HeaderNavMenu.svelte +30 -24
  237. package/src/UIShell/HeaderNavMenu.svelte.d.ts +2 -2
  238. package/src/UIShell/HeaderPanelLink.svelte +4 -1
  239. package/src/UIShell/HeaderPanelLink.svelte.d.ts +1 -1
  240. package/src/UIShell/HeaderSearch.svelte +47 -26
  241. package/src/UIShell/HeaderSearch.svelte.d.ts +5 -3
  242. package/src/UIShell/SideNav.svelte +22 -9
  243. package/src/UIShell/SideNav.svelte.d.ts +1 -1
  244. package/src/UIShell/SideNavLink.svelte +5 -2
  245. package/src/UIShell/SideNavLink.svelte.d.ts +1 -1
  246. package/src/UIShell/SideNavMenu.svelte +9 -3
  247. package/src/UIShell/SideNavMenu.svelte.d.ts +2 -2
  248. package/src/UIShell/SideNavMenuItem.svelte +4 -1
  249. package/src/UIShell/SideNavMenuItem.svelte.d.ts +1 -1
  250. package/src/index.d.ts +2 -0
  251. package/src/index.js +2 -0
  252. package/src/utils/bodyScrollLock.d.ts +8 -0
  253. package/src/utils/bodyScrollLock.js +19 -0
  254. package/src/utils/clampIndex.d.ts +9 -0
  255. package/src/utils/clampIndex.js +18 -0
  256. package/src/utils/copyFeedback.d.ts +17 -0
  257. package/src/utils/copyFeedback.js +113 -0
  258. package/src/utils/debounce.d.ts +12 -0
  259. package/src/utils/debounce.js +45 -0
  260. package/src/utils/filterTreeNodes.d.ts +5 -33
  261. package/src/utils/filterTreeNodes.js +14 -31
  262. package/src/utils/focus.d.ts +10 -0
  263. package/src/utils/focus.js +54 -0
  264. package/src/utils/isOutsideClick.d.ts +13 -0
  265. package/src/utils/isOutsideClick.js +20 -0
  266. package/src/utils/keyBy.d.ts +8 -0
  267. package/src/utils/keyBy.js +22 -0
  268. package/src/utils/moveIndex.d.ts +16 -0
  269. package/src/utils/moveIndex.js +44 -0
  270. package/src/utils/numericFormat.d.ts +29 -0
  271. package/src/utils/numericFormat.js +115 -0
  272. package/src/utils/storage.d.ts +32 -0
  273. package/src/utils/storage.js +87 -0
  274. package/src/utils/syncDomOrder.d.ts +6 -0
  275. package/src/utils/syncDomOrder.js +28 -0
  276. package/src/utils/timeoutDismiss.d.ts +7 -0
  277. package/src/utils/timeoutDismiss.js +39 -0
  278. package/src/utils/toHierarchy.d.ts +0 -5
  279. package/src/utils/toHierarchy.js +7 -8
  280. package/src/utils/trapFocus.d.ts +5 -0
  281. package/src/utils/trapFocus.js +58 -0
  282. package/src/utils/virtualize.d.ts +82 -13
  283. package/src/utils/virtualize.js +158 -13
@@ -0,0 +1,46 @@
1
+ @import "carbon-components/scss/globals/scss/vars";
2
+ @import "carbon-components/scss/globals/scss/helper-mixins";
3
+ @import "carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/import-once/import-once";
4
+ @import "carbon-components/scss/globals/scss/typography";
5
+
6
+ /// Small breadcrumb variant (Carbon React `size="sm"` parity)
7
+ /// @access private
8
+ /// @group components
9
+ @mixin breadcrumb-sm {
10
+ .#{$prefix}--breadcrumb--sm {
11
+ @include type-style('label-01');
12
+ }
13
+
14
+ .#{$prefix}--breadcrumb--sm .#{$prefix}--link {
15
+ font: inherit;
16
+ }
17
+
18
+ .#{$prefix}--breadcrumb--sm .#{$prefix}--breadcrumb-item {
19
+ margin-right: $carbon--spacing-02;
20
+ }
21
+
22
+ .#{$prefix}--breadcrumb--sm .#{$prefix}--breadcrumb-item .#{$prefix}--link {
23
+ justify-content: center;
24
+ min-width: $carbon--spacing-04;
25
+ }
26
+
27
+ .#{$prefix}--breadcrumb--sm .#{$prefix}--breadcrumb-item::after {
28
+ margin-left: $carbon--spacing-02;
29
+ }
30
+
31
+ .#{$prefix}--breadcrumb--sm
32
+ .#{$prefix}--breadcrumb-item
33
+ .#{$prefix}--overflow-menu {
34
+ width: $carbon--spacing-05;
35
+ height: $carbon--spacing-05;
36
+ min-height: $carbon--spacing-05;
37
+
38
+ .#{$prefix}--overflow-menu__icon {
39
+ transform: translateY(3px);
40
+ }
41
+ }
42
+ }
43
+
44
+ @include exports('breadcrumb-sm') {
45
+ @include breadcrumb-sm;
46
+ }
@@ -0,0 +1,37 @@
1
+ // This file backports readonly combo-box styles from carbon-components v11+
2
+ // to ensure compatibility with carbon-components v10.58.12.
3
+
4
+ @import "carbon-components/scss/globals/scss/vars";
5
+ @import "carbon-components/scss/globals/scss/helper-mixins";
6
+ @import "carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/import-once/import-once";
7
+
8
+ /// Readonly combobox styles
9
+ /// @access private
10
+ /// @group combobox
11
+ @mixin combobox-readonly {
12
+ //----------------------------------------------
13
+ // Read-only
14
+ // ---------------------------------------------
15
+ .#{$prefix}--list-box.#{$prefix}--combo-box--readonly,
16
+ .#{$prefix}--list-box.#{$prefix}--combo-box--readonly:hover {
17
+ background-color: transparent;
18
+ }
19
+
20
+ .#{$prefix}--combo-box--readonly .#{$prefix}--text-input {
21
+ border-block-end-color: $border-subtle;
22
+ }
23
+
24
+ .#{$prefix}--combo-box--readonly .#{$prefix}--list-box__menu-icon,
25
+ .#{$prefix}--combo-box--readonly .#{$prefix}--list-box__selection {
26
+ cursor: default;
27
+ }
28
+
29
+ .#{$prefix}--combo-box--readonly .#{$prefix}--list-box__menu-icon svg,
30
+ .#{$prefix}--combo-box--readonly .#{$prefix}--list-box__selection svg {
31
+ fill: $icon-disabled;
32
+ }
33
+ }
34
+
35
+ @include exports("combobox-readonly") {
36
+ @include combobox-readonly;
37
+ }
@@ -0,0 +1,20 @@
1
+ // Hide Carbon's `::before` feedback caret when using a portalled tooltip.
2
+ // `_tooltip.scss` loads before `carbon-components/.../styles`, so Carbon's
3
+ // `.bx--copy-btn.bx--copy-btn--animating::before { display: block }` was
4
+ // winning over `.bx--copy-btn--portal-active::before { display: none }`.
5
+
6
+ @import "carbon-components/scss/globals/scss/vars";
7
+ @import "carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/import-once/import-once";
8
+
9
+ @mixin copy-button-portal {
10
+ .#{$prefix}--copy-btn.#{$prefix}--copy-btn--portal-active.#{$prefix}--copy-btn--animating::before,
11
+ .#{$prefix}--copy-btn.#{$prefix}--copy-btn--portal-active .#{$prefix}--copy-btn__feedback,
12
+ .#{$prefix}--copy-btn.#{$prefix}--copy-btn--portal-active.#{$prefix}--copy-btn--animating
13
+ .#{$prefix}--copy-btn__feedback {
14
+ display: none;
15
+ }
16
+ }
17
+
18
+ @include exports("copy-button-portal") {
19
+ @include copy-button-portal;
20
+ }
@@ -0,0 +1,68 @@
1
+ @import "carbon-components/scss/globals/scss/vars";
2
+ @import "carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/import-once/import-once";
3
+
4
+ @mixin date-picker-input-wrapper {
5
+ .#{$prefix}--date-picker-input__wrapper {
6
+ width: fit-content;
7
+ }
8
+ }
9
+
10
+ @include exports('datepicker-input-wrapper') {
11
+ @include date-picker-input-wrapper;
12
+ }
13
+
14
+ // Backports readonly date picker styles from carbon-components v11+ to
15
+ // carbon-components v10.58.12.
16
+
17
+ @mixin date-picker-readonly {
18
+ .#{$prefix}--date-picker__input[readonly] {
19
+ background: transparent;
20
+ border-bottom-color: $disabled-02;
21
+ cursor: text;
22
+ }
23
+
24
+ // Use a wrapper-level class because flatpickr injects a `.flatpickr-wrapper`
25
+ // around the first input in `static` mode, which breaks the `~` sibling
26
+ // combinator from the input to the icon.
27
+ .#{$prefix}--date-picker-input__wrapper--readonly .#{$prefix}--date-picker__icon {
28
+ fill: $disabled-02;
29
+ }
30
+ }
31
+
32
+ @include exports('datepicker-readonly') {
33
+ @include date-picker-readonly;
34
+ }
35
+
36
+ // Carbon's `:disabled ~ .icon` rule fails for the same reason the readonly
37
+ // fix above is needed: flatpickr's `.flatpickr-wrapper` breaks the sibling
38
+ // combinator. Match it via the wrapper class instead.
39
+ @mixin date-picker-disabled {
40
+ .#{$prefix}--date-picker-input__wrapper--disabled .#{$prefix}--date-picker__icon {
41
+ cursor: not-allowed;
42
+ fill: $icon-disabled;
43
+ }
44
+ }
45
+
46
+ @include exports('datepicker-disabled') {
47
+ @include date-picker-disabled;
48
+ }
49
+
50
+ // Flatpickr 4.6+ applies `.flatpickr-disabled` to the prev/next month nav
51
+ // buttons when navigation is bounded by `minDate`/`maxDate`. Carbon only styles
52
+ // the legacy `.disabled` class.
53
+ @mixin date-picker-month-nav-disabled {
54
+ .flatpickr-prev-month.flatpickr-disabled,
55
+ .flatpickr-next-month.flatpickr-disabled {
56
+ cursor: not-allowed;
57
+ pointer-events: none;
58
+ }
59
+
60
+ .flatpickr-prev-month.flatpickr-disabled svg,
61
+ .flatpickr-next-month.flatpickr-disabled svg {
62
+ fill: $icon-disabled;
63
+ }
64
+ }
65
+
66
+ @include exports('datepicker-month-nav-disabled') {
67
+ @include date-picker-month-nav-disabled;
68
+ }
@@ -0,0 +1,37 @@
1
+ // This file backports readonly dropdown styles from carbon-components v11+
2
+ // to ensure compatibility with carbon-components v10.58.12.
3
+
4
+ @import "carbon-components/scss/globals/scss/vars";
5
+ @import "carbon-components/scss/globals/scss/helper-mixins";
6
+ @import "carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/import-once/import-once";
7
+
8
+ /// Readonly dropdown styles
9
+ /// @access private
10
+ /// @group dropdown
11
+ @mixin dropdown-readonly {
12
+ //----------------------------------------------
13
+ // Read-only
14
+ // ---------------------------------------------
15
+ .#{$prefix}--dropdown__wrapper .#{$prefix}--dropdown--readonly,
16
+ .#{$prefix}--dropdown__wrapper .#{$prefix}--dropdown--readonly:hover {
17
+ background-color: transparent;
18
+ border-block-end-color: $border-subtle;
19
+ }
20
+
21
+ .#{$prefix}--dropdown--inline.#{$prefix}--dropdown--readonly {
22
+ border-block-end-color: transparent;
23
+ }
24
+
25
+ .#{$prefix}--dropdown--readonly .#{$prefix}--list-box__field,
26
+ .#{$prefix}--dropdown--readonly .#{$prefix}--list-box__menu-icon {
27
+ cursor: default;
28
+ }
29
+
30
+ .#{$prefix}--dropdown--readonly .#{$prefix}--list-box__menu-icon svg {
31
+ fill: $icon-disabled;
32
+ }
33
+ }
34
+
35
+ @include exports("dropdown-readonly") {
36
+ @include dropdown-readonly;
37
+ }
@@ -0,0 +1,57 @@
1
+ // This file backports readonly multi-select styles from carbon-components v11+
2
+ // to ensure compatibility with carbon-components v10.58.12.
3
+
4
+ @import "carbon-components/scss/globals/scss/vars";
5
+ @import "carbon-components/scss/globals/scss/helper-mixins";
6
+ @import "carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/import-once/import-once";
7
+
8
+ /// Readonly multiselect styles
9
+ /// @access private
10
+ /// @group multiselect
11
+ @mixin multiselect-readonly {
12
+ //----------------------------------------------
13
+ // Read-only
14
+ // ---------------------------------------------
15
+ .#{$prefix}--multi-select.#{$prefix}--multi-select--readonly,
16
+ .#{$prefix}--multi-select.#{$prefix}--multi-select--readonly:hover {
17
+ background-color: transparent;
18
+ border-block-end-color: $border-subtle;
19
+ }
20
+
21
+ .#{$prefix}--multi-select.#{$prefix}--multi-select--readonly
22
+ .#{$prefix}--list-box__menu-icon
23
+ svg {
24
+ fill: $icon-disabled;
25
+ }
26
+
27
+ .#{$prefix}--multi-select.#{$prefix}--multi-select--readonly
28
+ .#{$prefix}--tag--filter,
29
+ .#{$prefix}--multi-select.#{$prefix}--multi-select--readonly
30
+ .#{$prefix}--tag__close-icon:hover {
31
+ background-color: transparent;
32
+ color: $text-primary;
33
+ cursor: default;
34
+ }
35
+
36
+ .#{$prefix}--multi-select.#{$prefix}--multi-select--readonly
37
+ .#{$prefix}--tag--filter {
38
+ box-shadow: 0 0 0 1px $border-subtle;
39
+ }
40
+
41
+ .#{$prefix}--multi-select.#{$prefix}--multi-select--readonly
42
+ .#{$prefix}--tag--filter
43
+ svg {
44
+ fill: $icon-disabled;
45
+ }
46
+
47
+ .#{$prefix}--multi-select.#{$prefix}--multi-select--readonly
48
+ .#{$prefix}--list-box__field,
49
+ .#{$prefix}--multi-select.#{$prefix}--multi-select--readonly
50
+ .#{$prefix}--list-box__menu-icon {
51
+ cursor: default;
52
+ }
53
+ }
54
+
55
+ @include exports("multiselect-readonly") {
56
+ @include multiselect-readonly;
57
+ }
@@ -0,0 +1,25 @@
1
+ @import "carbon-components/scss/globals/scss/vars";
2
+ @import "carbon-components/scss/globals/scss/helper-mixins";
3
+ @import "carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/import-once/import-once";
4
+
5
+ @mixin overflow-menu-disabled {
6
+ .#{$prefix}--overflow-menu:disabled,
7
+ .#{$prefix}--overflow-menu:disabled:hover {
8
+ background-color: transparent;
9
+ cursor: not-allowed;
10
+ }
11
+
12
+ .#{$prefix}--overflow-menu:disabled .#{$prefix}--overflow-menu__icon,
13
+ .#{$prefix}--overflow-menu:disabled:hover .#{$prefix}--overflow-menu__icon {
14
+ fill: $disabled-02;
15
+ }
16
+
17
+ .#{$prefix}--overflow-menu:disabled::after,
18
+ .#{$prefix}--overflow-menu:disabled:hover::after {
19
+ opacity: 0;
20
+ }
21
+ }
22
+
23
+ @include exports('overflow-menu-disabled') {
24
+ @include overflow-menu-disabled;
25
+ }
@@ -0,0 +1,35 @@
1
+ // This file backports readonly radio-button styles from carbon-components v11+
2
+ // to ensure compatibility with carbon-components v10.58.12.
3
+
4
+ @import "carbon-components/scss/globals/scss/vars";
5
+ @import "carbon-components/scss/globals/scss/helper-mixins";
6
+ @import "carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/import-once/import-once";
7
+
8
+ /// Readonly radiobutton styles
9
+ /// @access private
10
+ /// @group radiobutton
11
+ @mixin radiobutton-readonly {
12
+ //----------------------------------------------
13
+ // Read-only
14
+ // ---------------------------------------------
15
+ .#{$prefix}--radio-button-group--readonly
16
+ .#{$prefix}--radio-button
17
+ + .#{$prefix}--radio-button__label
18
+ .#{$prefix}--radio-button__appearance {
19
+ border-color: $icon-disabled;
20
+ }
21
+
22
+ .#{$prefix}--radio-button-group--readonly .#{$prefix}--radio-button__label {
23
+ cursor: default;
24
+ }
25
+
26
+ .#{$prefix}--radio-button-group--readonly
27
+ .#{$prefix}--radio-button__label-text {
28
+ cursor: text;
29
+ user-select: text;
30
+ }
31
+ }
32
+
33
+ @include exports("radiobutton-readonly") {
34
+ @include radiobutton-readonly;
35
+ }
@@ -0,0 +1,42 @@
1
+ // This file backports readonly select styles from carbon-components v11+
2
+ // to ensure compatibility with carbon-components v10.58.12.
3
+
4
+ @import "carbon-components/scss/globals/scss/vars";
5
+ @import "carbon-components/scss/globals/scss/helper-mixins";
6
+ @import "carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/import-once/import-once";
7
+
8
+ /// Readonly select styles
9
+ /// @access private
10
+ /// @group select
11
+ @mixin select-readonly {
12
+ //----------------------------------------------
13
+ // Read-only
14
+ // ---------------------------------------------
15
+ .#{$prefix}--select--readonly .#{$prefix}--select-input {
16
+ background-color: transparent;
17
+ border-block-end-color: $border-subtle;
18
+ cursor: default;
19
+ }
20
+
21
+ .#{$prefix}--select--readonly .#{$prefix}--select-input:hover {
22
+ background-color: transparent;
23
+ }
24
+
25
+ .#{$prefix}--select--readonly .#{$prefix}--select__arrow {
26
+ fill: $icon-disabled;
27
+ }
28
+
29
+ .#{$prefix}--select--readonly.#{$prefix}--select--inline
30
+ .#{$prefix}--select-input:hover {
31
+ background-color: transparent;
32
+ }
33
+
34
+ .#{$prefix}--select--readonly.#{$prefix}--select--light
35
+ .#{$prefix}--select-input:hover {
36
+ background-color: transparent;
37
+ }
38
+ }
39
+
40
+ @include exports("select-readonly") {
41
+ @include select-readonly;
42
+ }
package/css/_slider.scss CHANGED
@@ -80,6 +80,161 @@
80
80
  }
81
81
  }
82
82
 
83
+ /// Two-handle (range) slider styles (Carbon v11 port for v10 compatibility)
84
+ /// @access private
85
+ /// @group slider
86
+ @mixin slider-two-handle {
87
+ .#{$prefix}--slider-container--two-handles {
88
+ display: flex;
89
+ align-items: center;
90
+ gap: 1rem;
91
+ }
92
+
93
+ .#{$prefix}--slider-container--two-handles .#{$prefix}--slider {
94
+ margin-left: 4px;
95
+ margin-right: 4px;
96
+ }
97
+
98
+ .#{$prefix}--slider-text-input-wrapper--hidden {
99
+ display: none;
100
+ }
101
+
102
+ // Thumb wrapper — positions each handle along the track.
103
+ .#{$prefix}--slider__thumb-wrapper {
104
+ position: absolute;
105
+ z-index: 3;
106
+ height: 24px;
107
+ width: 16px;
108
+ transform: translate(-50%, -50%);
109
+ top: 50%;
110
+ }
111
+
112
+ .#{$prefix}--slider__thumb-wrapper--lower {
113
+ transform: translate(-100%, -50%);
114
+ }
115
+
116
+ .#{$prefix}--slider__thumb-wrapper--upper {
117
+ transform: translate(0, -50%);
118
+ }
119
+
120
+ // Override the round single-handle thumb when in two-handle mode.
121
+ // Chain `.bx--slider__thumb` to win specificity over the v10 base styles,
122
+ // which are imported after this file in `all.scss`.
123
+ .#{$prefix}--slider__thumb.#{$prefix}--slider__thumb--lower,
124
+ .#{$prefix}--slider__thumb.#{$prefix}--slider__thumb--upper {
125
+ position: absolute;
126
+ border-radius: 0;
127
+ background: transparent;
128
+ box-shadow: none;
129
+ top: 0;
130
+ left: 0;
131
+ height: 100%;
132
+ width: 100%;
133
+ // Reset the v10 single-handle `translate(-50%, -50%)` that would otherwise
134
+ // pull the arrow icon up/left off the track at rest.
135
+ transform: none;
136
+ transition: none;
137
+
138
+ &::before {
139
+ position: absolute;
140
+ z-index: -1;
141
+ display: block;
142
+ background: $ui-background;
143
+ height: 2px;
144
+ content: "";
145
+ width: 6px;
146
+ top: calc(50% - 1px);
147
+ }
148
+
149
+ &:hover {
150
+ background: transparent;
151
+ box-shadow: none;
152
+ transform: none;
153
+
154
+ // Only recolor the non-focus icon; the focus-state icon must keep its
155
+ // $interactive-01 fill even when the focused thumb is hovered.
156
+ .#{$prefix}--slider__thumb-icon:not(.#{$prefix}--slider__thumb-icon--focus) {
157
+ fill: $text-02;
158
+ }
159
+ }
160
+
161
+ &:active {
162
+ background: transparent;
163
+ box-shadow: none;
164
+ transform: none;
165
+ }
166
+
167
+ &:focus {
168
+ background: transparent;
169
+ box-shadow: none;
170
+ transform: none;
171
+ outline: none;
172
+
173
+ .#{$prefix}--slider__thumb-icon:not(.#{$prefix}--slider__thumb-icon--focus) {
174
+ display: none;
175
+ }
176
+
177
+ .#{$prefix}--slider__thumb-icon--focus {
178
+ display: block;
179
+ }
180
+ }
181
+ }
182
+
183
+ .#{$prefix}--slider__thumb.#{$prefix}--slider__thumb--lower::before {
184
+ right: 0;
185
+ }
186
+
187
+ .#{$prefix}--slider__thumb.#{$prefix}--slider__thumb--upper::before {
188
+ left: 0;
189
+ }
190
+
191
+ .#{$prefix}--slider__thumb.#{$prefix}--slider__thumb--lower:focus::before,
192
+ .#{$prefix}--slider__thumb.#{$prefix}--slider__thumb--upper:focus::before {
193
+ width: 100%;
194
+ }
195
+
196
+ .#{$prefix}--slider__thumb-icon {
197
+ position: absolute;
198
+ top: 0;
199
+ left: 0;
200
+ height: 100%;
201
+ width: 100%;
202
+ // $ui-05 is the highest-contrast UI color in v10 (dark on light themes,
203
+ // light on dark themes); equivalent to v11's $layer-selected-inverse used
204
+ // by Carbon React for the range-slider arrow handles.
205
+ fill: $ui-05;
206
+ }
207
+
208
+ .#{$prefix}--slider__thumb-icon--focus {
209
+ display: none;
210
+ fill: $interactive-01;
211
+ }
212
+
213
+ // When either handle is focused, recolor the filled track.
214
+ .#{$prefix}--slider__thumb-wrapper:focus-within
215
+ ~ .#{$prefix}--slider__filled-track {
216
+ background-color: $interactive-04;
217
+ }
218
+
219
+ // Disabled state for the two-handle thumb icons.
220
+ .#{$prefix}--slider--disabled .#{$prefix}--slider__thumb.#{$prefix}--slider__thumb--lower,
221
+ .#{$prefix}--slider--disabled .#{$prefix}--slider__thumb.#{$prefix}--slider__thumb--upper {
222
+ background: transparent;
223
+
224
+ &:hover,
225
+ &:active,
226
+ &:focus {
227
+ background: transparent;
228
+ transform: none;
229
+ }
230
+
231
+ .#{$prefix}--slider__thumb-icon {
232
+ fill: $disabled-02;
233
+ }
234
+ }
235
+ }
236
+
83
237
  @include exports('slider-validation') {
84
238
  @include slider-validation;
239
+ @include slider-two-handle;
85
240
  }
@@ -0,0 +1,23 @@
1
+ // This file backports readonly textarea styles from carbon-components v11+
2
+ // to ensure compatibility with carbon-components v10.58.12.
3
+
4
+ @import "carbon-components/scss/globals/scss/vars";
5
+ @import "carbon-components/scss/globals/scss/helper-mixins";
6
+ @import "carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/import-once/import-once";
7
+
8
+ /// Readonly textarea styles
9
+ /// @access private
10
+ /// @group text-area
11
+ @mixin text-area-readonly {
12
+ //----------------------------------------------
13
+ // Read-only
14
+ // ---------------------------------------------
15
+ .#{$prefix}--text-area__wrapper--readonly .#{$prefix}--text-area {
16
+ background: transparent;
17
+ border-block-end-color: $border-subtle;
18
+ }
19
+ }
20
+
21
+ @include exports("text-area-readonly") {
22
+ @include text-area-readonly;
23
+ }
@@ -0,0 +1,60 @@
1
+ @import "carbon-components/scss/globals/scss/vars";
2
+ @import "carbon-components/scss/globals/scss/helper-mixins";
3
+ @import "carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/import-once/import-once";
4
+
5
+ // Widen the time picker input when invalid or warn icon is rendered,
6
+ // matching upstream Carbon React's `.cds--time-picker__input-field-error`.
7
+ // Also reveal the sibling form-requirement for the warn state, since
8
+ // carbon-components v10 only ships display rules for `--invalid`.
9
+ @mixin time-picker-error-width {
10
+ .#{$prefix}--time-picker__input-field.#{$prefix}--text-input--invalid,
11
+ .#{$prefix}--time-picker__input-field.#{$prefix}--text-input--warning {
12
+ inline-size: 6.175rem;
13
+ }
14
+
15
+ .#{$prefix}--time-picker--warn ~ .#{$prefix}--form-requirement {
16
+ display: block;
17
+ overflow: visible;
18
+ max-height: to-rem(200px);
19
+ font-weight: 400;
20
+ }
21
+ }
22
+
23
+ @include exports('time-picker-error-width') {
24
+ @include time-picker-error-width;
25
+ }
26
+
27
+ /// Readonly time picker styles (backported from carbon-components v11+ for v10)
28
+ /// @access private
29
+ /// @group time-picker
30
+ @mixin time-picker-readonly {
31
+ .#{$prefix}--time-picker--readonly .#{$prefix}--time-picker__input-field[readonly] {
32
+ background: transparent;
33
+ border-bottom-color: $disabled-02;
34
+ cursor: text;
35
+ }
36
+
37
+ // The chevron in `TimePickerSelect` is purely decorative when the time
38
+ // picker is read-only. The native `<select>` remains focusable so the value
39
+ // is announced, but the menu is suppressed via mousedown/keydown handlers.
40
+ // Apply the same styling whether readonly is set on the parent `TimePicker`
41
+ // or directly on a `TimePickerSelect` (for standalone use).
42
+ .#{$prefix}--time-picker--readonly .#{$prefix}--select-input,
43
+ .#{$prefix}--time-picker__select.#{$prefix}--select--readonly .#{$prefix}--select-input {
44
+ border-bottom-color: $disabled-02;
45
+ cursor: default;
46
+
47
+ &:hover {
48
+ background-color: transparent;
49
+ }
50
+ }
51
+
52
+ .#{$prefix}--time-picker--readonly .#{$prefix}--select__arrow,
53
+ .#{$prefix}--time-picker__select.#{$prefix}--select--readonly .#{$prefix}--select__arrow {
54
+ fill: $disabled-02;
55
+ }
56
+ }
57
+
58
+ @include exports('time-picker-readonly') {
59
+ @include time-picker-readonly;
60
+ }
@@ -0,0 +1,58 @@
1
+ // This file backports readonly toggle styles from carbon-components v11+
2
+ // to ensure compatibility with carbon-components v10.58.12.
3
+
4
+ @import "carbon-components/scss/globals/scss/vars";
5
+ @import "carbon-components/scss/globals/scss/helper-mixins";
6
+ @import "carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/import-once/import-once";
7
+
8
+ /// Readonly toggle styles
9
+ /// @access private
10
+ /// @group toggle
11
+ @mixin toggle-readonly {
12
+ //----------------------------------------------
13
+ // Read-only
14
+ // ---------------------------------------------
15
+ .#{$prefix}--toggle--readonly .#{$prefix}--toggle-input__label,
16
+ .#{$prefix}--toggle--readonly
17
+ .#{$prefix}--toggle-input__label
18
+ > .#{$prefix}--toggle__switch,
19
+ .#{$prefix}--toggle--readonly
20
+ .#{$prefix}--toggle-input__label
21
+ > .#{$prefix}--toggle__switch::before,
22
+ .#{$prefix}--toggle--readonly
23
+ .#{$prefix}--toggle-input__label
24
+ > .#{$prefix}--toggle__switch::after {
25
+ cursor: default;
26
+ }
27
+
28
+ .#{$prefix}--toggle--readonly
29
+ .#{$prefix}--toggle-input__label
30
+ > .#{$prefix}--toggle__switch::before {
31
+ border: 1px solid $icon-disabled;
32
+ background-color: transparent;
33
+ }
34
+
35
+ .#{$prefix}--toggle--readonly
36
+ .#{$prefix}--toggle-input__label
37
+ > .#{$prefix}--toggle__switch::after {
38
+ background-color: $icon-primary;
39
+ }
40
+
41
+ .#{$prefix}--toggle--readonly
42
+ .#{$prefix}--toggle-input:checked
43
+ + .#{$prefix}--toggle-input__label
44
+ > .#{$prefix}--toggle__switch::before {
45
+ background-color: transparent;
46
+ }
47
+
48
+ .#{$prefix}--toggle--readonly
49
+ .#{$prefix}--toggle-input:checked
50
+ + .#{$prefix}--toggle-input__label
51
+ > .#{$prefix}--toggle__switch::after {
52
+ background-color: $icon-primary;
53
+ }
54
+ }
55
+
56
+ @include exports("toggle-readonly") {
57
+ @include toggle-readonly;
58
+ }
package/css/_tooltip.scss CHANGED
@@ -102,11 +102,6 @@
102
102
  border-left: 0.3125rem solid $inverse-02;
103
103
  }
104
104
 
105
- .#{$prefix}--copy-btn--portal-active::before,
106
- .#{$prefix}--copy-btn--portal-active .#{$prefix}--copy-btn__feedback {
107
- display: none;
108
- }
109
-
110
105
  .#{$prefix}--tooltip-portal__content {
111
106
  display: flex;
112
107
  align-items: center;