@carbon/ibm-products 1.55.2 → 1.57.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (112) hide show
  1. package/css/index-full-carbon.css +640 -0
  2. package/css/index-full-carbon.css.map +1 -1
  3. package/css/index-full-carbon.min.css +2 -2
  4. package/css/index-full-carbon.min.css.map +1 -1
  5. package/css/index-without-carbon.css +640 -0
  6. package/css/index-without-carbon.css.map +1 -1
  7. package/css/index-without-carbon.min.css +2 -2
  8. package/css/index-without-carbon.min.css.map +1 -1
  9. package/css/index.css +640 -0
  10. package/css/index.css.map +1 -1
  11. package/css/index.min.css +2 -2
  12. package/css/index.min.css.map +1 -1
  13. package/es/components/Carousel/Carousel.js +15 -5
  14. package/es/components/Coachmark/Coachmark.js +243 -0
  15. package/es/components/Coachmark/CoachmarkDragbar.js +137 -0
  16. package/es/components/Coachmark/CoachmarkHeader.js +88 -0
  17. package/es/components/Coachmark/CoachmarkOverlay.js +139 -0
  18. package/es/components/Coachmark/CoachmarkTagline.js +93 -0
  19. package/es/components/Coachmark/index.js +10 -0
  20. package/es/components/Coachmark/utils/constants.js +76 -0
  21. package/es/components/Coachmark/utils/context.js +5 -0
  22. package/es/components/Coachmark/utils/enums.js +40 -0
  23. package/es/components/Coachmark/utils/helpers.js +11 -0
  24. package/es/components/Coachmark/utils/hooks.js +54 -0
  25. package/es/components/CoachmarkBeacon/CoachmarkBeacon.js +90 -0
  26. package/es/components/CoachmarkBeacon/index.js +8 -0
  27. package/es/components/CoachmarkButton/CoachmarkButton.js +72 -0
  28. package/es/components/CoachmarkButton/index.js +8 -0
  29. package/es/components/CoachmarkFixed/CoachmarkFixed.js +201 -0
  30. package/es/components/CoachmarkFixed/index.js +8 -0
  31. package/es/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +86 -0
  32. package/es/components/CoachmarkOverlayElement/index.js +8 -0
  33. package/es/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +175 -0
  34. package/es/components/CoachmarkOverlayElements/index.js +8 -0
  35. package/es/components/CoachmarkStack/CoachmarkStack.js +260 -0
  36. package/es/components/CoachmarkStack/CoachmarkStackHome.js +157 -0
  37. package/es/components/CoachmarkStack/index.js +8 -0
  38. package/es/components/Datagrid/Datagrid/Datagrid.js +12 -7
  39. package/es/components/Datagrid/Datagrid/DatagridContent.js +6 -3
  40. package/es/components/Datagrid/Datagrid/DatagridHeaderRow.js +127 -7
  41. package/es/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +1 -23
  42. package/es/components/Datagrid/Datagrid/addons/stateReducer.js +111 -0
  43. package/es/components/Datagrid/useDatagrid.js +5 -2
  44. package/es/components/Datagrid/utils/getColTitle.js +25 -0
  45. package/es/components/NotificationsPanel/NotificationsPanel.js +3 -2
  46. package/es/components/index.js +7 -0
  47. package/es/global/js/hooks/useResizeObserver.js +19 -3
  48. package/es/global/js/package-settings.js +8 -1
  49. package/lib/components/Carousel/Carousel.js +15 -5
  50. package/lib/components/Coachmark/Coachmark.js +247 -0
  51. package/lib/components/Coachmark/CoachmarkDragbar.js +137 -0
  52. package/lib/components/Coachmark/CoachmarkHeader.js +85 -0
  53. package/lib/components/Coachmark/CoachmarkOverlay.js +139 -0
  54. package/lib/components/Coachmark/CoachmarkTagline.js +90 -0
  55. package/lib/components/Coachmark/index.js +38 -0
  56. package/lib/components/Coachmark/utils/constants.js +82 -0
  57. package/lib/components/Coachmark/utils/context.js +13 -0
  58. package/lib/components/Coachmark/utils/enums.js +49 -0
  59. package/lib/components/Coachmark/utils/helpers.js +17 -0
  60. package/lib/components/Coachmark/utils/hooks.js +60 -0
  61. package/lib/components/CoachmarkBeacon/CoachmarkBeacon.js +87 -0
  62. package/lib/components/CoachmarkBeacon/index.js +12 -0
  63. package/lib/components/CoachmarkButton/CoachmarkButton.js +69 -0
  64. package/lib/components/CoachmarkButton/index.js +12 -0
  65. package/lib/components/CoachmarkFixed/CoachmarkFixed.js +201 -0
  66. package/lib/components/CoachmarkFixed/index.js +12 -0
  67. package/lib/components/CoachmarkOverlayElement/CoachmarkOverlayElement.js +83 -0
  68. package/lib/components/CoachmarkOverlayElement/index.js +12 -0
  69. package/lib/components/CoachmarkOverlayElements/CoachmarkOverlayElements.js +176 -0
  70. package/lib/components/CoachmarkOverlayElements/index.js +12 -0
  71. package/lib/components/CoachmarkStack/CoachmarkStack.js +264 -0
  72. package/lib/components/CoachmarkStack/CoachmarkStackHome.js +160 -0
  73. package/lib/components/CoachmarkStack/index.js +12 -0
  74. package/lib/components/Datagrid/Datagrid/Datagrid.js +12 -7
  75. package/lib/components/Datagrid/Datagrid/DatagridContent.js +6 -3
  76. package/lib/components/Datagrid/Datagrid/DatagridHeaderRow.js +130 -7
  77. package/lib/components/Datagrid/Datagrid/addons/CustomizeColumns/DraggableItemsList.js +4 -26
  78. package/lib/components/Datagrid/Datagrid/addons/stateReducer.js +122 -0
  79. package/lib/components/Datagrid/useDatagrid.js +5 -2
  80. package/lib/components/Datagrid/utils/getColTitle.js +32 -0
  81. package/lib/components/NotificationsPanel/NotificationsPanel.js +3 -2
  82. package/lib/components/index.js +49 -0
  83. package/lib/global/js/hooks/useResizeObserver.js +19 -3
  84. package/lib/global/js/package-settings.js +8 -1
  85. package/package.json +2 -2
  86. package/scss/components/Carousel/_carousel.scss +3 -0
  87. package/scss/components/Coachmark/_index.scss +11 -0
  88. package/scss/components/Coachmark/_storybook-styles.scss +20 -0
  89. package/scss/components/Coachmark/styles/_coachmark-dragbar.scss +74 -0
  90. package/scss/components/Coachmark/styles/_coachmark-header.scss +58 -0
  91. package/scss/components/Coachmark/styles/_coachmark-overlay.scss +327 -0
  92. package/scss/components/Coachmark/styles/_coachmark-tagline.scss +118 -0
  93. package/scss/components/CoachmarkBeacon/_coachmark-beacon.scss +166 -0
  94. package/scss/components/CoachmarkBeacon/_index.scss +8 -0
  95. package/scss/components/CoachmarkBeacon/_storybook-styles.scss +19 -0
  96. package/scss/components/CoachmarkButton/_coachmark-button.scss +34 -0
  97. package/scss/components/CoachmarkButton/_index.scss +8 -0
  98. package/scss/components/CoachmarkButton/_storybook-styles.scss +19 -0
  99. package/scss/components/CoachmarkFixed/_coachmark-fixed.scss +34 -0
  100. package/scss/components/CoachmarkFixed/_index.scss +8 -0
  101. package/scss/components/CoachmarkFixed/_storybook-styles.scss +10 -0
  102. package/scss/components/CoachmarkOverlayElement/_coachmark-overlay-element.scss +50 -0
  103. package/scss/components/CoachmarkOverlayElement/_index.scss +8 -0
  104. package/scss/components/CoachmarkOverlayElement/_storybook-styles.scss +19 -0
  105. package/scss/components/CoachmarkOverlayElements/_coachmark-overlay-elements.scss +40 -0
  106. package/scss/components/CoachmarkOverlayElements/_index.scss +8 -0
  107. package/scss/components/CoachmarkOverlayElements/_storybook-styles.scss +19 -0
  108. package/scss/components/CoachmarkStack/_coachmark-stack.scss +85 -0
  109. package/scss/components/CoachmarkStack/_index.scss +8 -0
  110. package/scss/components/CoachmarkStack/_storybook-styles.scss +10 -0
  111. package/scss/components/Datagrid/styles/_datagrid.scss +65 -0
  112. package/scss/components/_index.scss +7 -1
@@ -0,0 +1,166 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ /**
9
+ * The CoachmarkBeacon specifically is theme-agnostic, and so we have to
10
+ * use color tokens to keep the colors static instead of theme tokens
11
+ * that will change depending on the selected theme.
12
+ *
13
+ * Because of this, we are triggering a *large* amount of linting errors.
14
+ * So, we're adding 4 "disable" rules for the file instead of 50
15
+ * individual rules.
16
+ */
17
+
18
+ /* stylelint-disable carbon/layout-token-use */
19
+ /* stylelint-disable carbon/motion-duration-use */
20
+ /* stylelint-disable carbon/theme-token-use */
21
+
22
+ // Standard imports.
23
+ @import '../../global/styles/project-settings';
24
+ @import '../../global/styles/mixins';
25
+
26
+ @mixin coachmark-beacon {
27
+ // The block part of our conventional BEM class names (blockClass__E--M).
28
+ $block-class: #{$pkg-prefix}--coachmark-beacon;
29
+ $beaconAnimationTime: 2s;
30
+ .#{$block-class} {
31
+ position: relative;
32
+
33
+ &-default {
34
+ .#{$block-class}__target {
35
+ // the blue dot
36
+ &::after {
37
+ position: absolute;
38
+ top: calc($spacing-01 + $spacing-03);
39
+ left: calc($spacing-01 + $spacing-03);
40
+ width: $spacing-04;
41
+ height: $spacing-04;
42
+ border-radius: 50%;
43
+ background-color: $blue-50;
44
+ content: '';
45
+ }
46
+ }
47
+ }
48
+
49
+ &-ring {
50
+ .#{$block-class}__center {
51
+ -webkit-mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='80px' height='80px' viewBox='008080'><pathfill='white' stroke='none' d='M0,0m37-2a404001010Zm128a1212011-10Z'/></svg>");
52
+ mask-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='80px' height='80px' viewBox='008080'><pathfill='white' stroke='none' d='M0,0m37-2a404001010Zm128a1212011-10Z'/></svg>");
53
+
54
+ circle {
55
+ /* stylelint-disable-next-line carbon/motion-easing-use */
56
+ animation: ring-ripple $beaconAnimationTime infinite;
57
+ @media (prefers-reduced-motion) {
58
+ animation: none;
59
+ }
60
+ }
61
+ }
62
+ }
63
+
64
+ .#{$block-class}__target {
65
+ // the hit area
66
+ position: absolute;
67
+ top: calc(-1 * $spacing-05);
68
+ left: calc(-1 * $spacing-05);
69
+ width: $spacing-07;
70
+ height: $spacing-07;
71
+ padding: 0;
72
+ border: none;
73
+ border-radius: 50%;
74
+ background-color: transparent;
75
+ cursor: pointer;
76
+
77
+ &[aria-expanded='true'] {
78
+ circle {
79
+ animation: none;
80
+ }
81
+ }
82
+ }
83
+
84
+ &__center {
85
+ position: absolute;
86
+ z-index: 6900;
87
+ top: calc(($spacing-06 - $spacing-01) * -1);
88
+ left: calc(($spacing-06 - $spacing-01) * -1);
89
+ width: $spacing-11;
90
+ height: $spacing-11;
91
+ pointer-events: none;
92
+
93
+ circle {
94
+ /* stylelint-disable-next-line carbon/motion-easing-use */
95
+ animation: ripple $beaconAnimationTime infinite;
96
+ fill: $support-04;
97
+ fill-opacity: 0;
98
+ -webkit-mask-image: none;
99
+ mask-image: none;
100
+ stroke: $support-04;
101
+ stroke-opacity: 0;
102
+ stroke-width: 1px;
103
+ transition-timing-function: carbon--motion(exit, productive);
104
+ @media (prefers-reduced-motion) {
105
+ animation: none;
106
+ }
107
+ }
108
+ }
109
+ }
110
+
111
+ @keyframes ripple {
112
+ 0% {
113
+ fill-opacity: 0;
114
+ r: 1px;
115
+ stroke-opacity: 0;
116
+ transition-timing-function: carbon--motion(entrance, productive);
117
+ }
118
+
119
+ 31% {
120
+ fill-opacity: 0.2;
121
+ stroke-opacity: 1;
122
+ }
123
+
124
+ 62% {
125
+ fill-opacity: 0;
126
+ r: 32px;
127
+ stroke-opacity: 0;
128
+ }
129
+
130
+ 100% {
131
+ fill-opacity: 0;
132
+ r: 32px;
133
+ stroke-opacity: 0;
134
+ }
135
+ }
136
+
137
+ @keyframes ring-ripple {
138
+ 0% {
139
+ fill-opacity: 0;
140
+ r: 12px;
141
+ stroke-opacity: 0;
142
+ transition-timing-function: carbon--motion(entrance, productive);
143
+ }
144
+
145
+ 31% {
146
+ fill-opacity: 0.2;
147
+ stroke-opacity: 1;
148
+ }
149
+
150
+ 62% {
151
+ fill-opacity: 0;
152
+ r: 32px;
153
+ stroke-opacity: 0;
154
+ }
155
+
156
+ 100% {
157
+ fill-opacity: 0;
158
+ r: 32px;
159
+ stroke-opacity: 0;
160
+ }
161
+ }
162
+ }
163
+
164
+ @include exports('coachmark-beacon') {
165
+ @include coachmark-beacon;
166
+ }
@@ -0,0 +1,8 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @import './coachmark-beacon';
@@ -0,0 +1,19 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @import '../../global/styles/project-settings';
9
+
10
+ .CoachmarkBaseExampleUsage {
11
+ position: relative;
12
+ display: inline-block;
13
+ max-height: 100%;
14
+ box-sizing: border-box;
15
+ /* stylelint-disable-next-line carbon/layout-token-use */
16
+ padding: 1rem;
17
+ margin-left: 50%;
18
+ transform: translateX(-50%);
19
+ }
@@ -0,0 +1,34 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ // Standard imports.
9
+ @import '../../global/styles/project-settings';
10
+ @import '../../global/styles/mixins';
11
+
12
+ // Other Carbon settings.
13
+ // TODO: @import 'carbon-components/scss/globals/grid/grid'; if needed
14
+
15
+ // CoachmarkButton uses the following Carbon components:
16
+ // TODO: @import(s) of Carbon component styles used by CoachmarkButton
17
+
18
+ // CoachmarkButton uses the following Carbon for IBM Products components:
19
+ // TODO: @import(s) of IBM Products component styles used by CoachmarkButton
20
+
21
+ // Define all component styles in a mixin which is then exported using
22
+ // the Carbon import-once mechanism.
23
+ @mixin coachmark-button {
24
+ // The block part of our conventional BEM class names (blockClass__E--M).
25
+ $block-class: #{$pkg-prefix}--coachmark-button;
26
+
27
+ .#{$block-class} {
28
+ // TODO: Styles.
29
+ }
30
+ }
31
+
32
+ @include exports('coachmark-button') {
33
+ @include coachmark-button;
34
+ }
@@ -0,0 +1,8 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @import './coachmark-button';
@@ -0,0 +1,19 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @import '../../global/styles/project-settings';
9
+
10
+ .CoachmarkBaseExampleUsage {
11
+ position: relative;
12
+ display: inline-block;
13
+ max-height: 100%;
14
+ box-sizing: border-box;
15
+ /* stylelint-disable-next-line carbon/layout-token-use */
16
+ padding: 1rem;
17
+ margin-left: 50%;
18
+ transform: translateX(-50%);
19
+ }
@@ -0,0 +1,34 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ // Standard imports.
9
+ @import '../../global/styles/project-settings';
10
+ @import '../../global/styles/mixins';
11
+
12
+ // Other Carbon settings.
13
+ // TODO: @import 'carbon-components/scss/globals/grid/grid'; if needed
14
+
15
+ // CoachmarkFixed uses the following Carbon components:
16
+ // TODO: @import(s) of Carbon component styles used by CoachmarkFixed
17
+
18
+ // CoachmarkFixed uses the following Carbon for IBM Products components:
19
+ // TODO: @import(s) of IBM Products component styles used by CoachmarkFixed
20
+
21
+ // Define all component styles in a mixin which is then exported using
22
+ // the Carbon import-once mechanism.
23
+ @mixin coachmark-fixed {
24
+ // The block part of our conventional BEM class names (blockClass__E--M).
25
+ $block-class: #{$pkg-prefix}--coachmark-fixed;
26
+
27
+ .#{$block-class} {
28
+ // TODO: Styles.
29
+ }
30
+ }
31
+
32
+ @include exports('coachmark-fixed') {
33
+ @include coachmark-fixed;
34
+ }
@@ -0,0 +1,8 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @import './coachmark-fixed';
@@ -0,0 +1,10 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @import '../../global/styles/project-settings';
9
+
10
+ // TODO: add any additional styles used by CoachmarkFixed.stories.js
@@ -0,0 +1,50 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ // Standard imports.
9
+ @import '../../global/styles/project-settings';
10
+ @import '../../global/styles/mixins';
11
+
12
+ // Define all component styles in a mixin which is then exported using
13
+ // the Carbon import-once mechanism.
14
+ @mixin coachmark-overlay-element {
15
+ // The block part of our conventional BEM class names (blockClass__E--M).
16
+ $block-class: #{$pkg-prefix}--coachmark-overlay-element;
17
+ $carousel-item-class: #{$pkg-prefix}--carousel__item;
18
+
19
+ .#{$block-class} {
20
+ &__content {
21
+ padding-bottom: $spacing-05;
22
+ }
23
+
24
+ &__title {
25
+ @include carbon--type-style('productive-heading-02');
26
+
27
+ margin: 0 0 $spacing-03;
28
+ }
29
+
30
+ &__body {
31
+ @include carbon--type-style('body-long-01');
32
+ }
33
+
34
+ &__button {
35
+ margin-bottom: 0;
36
+ }
37
+ }
38
+
39
+ .#{$carousel-item-class} {
40
+ .#{$block-class} {
41
+ &__button {
42
+ margin-bottom: $spacing-05;
43
+ }
44
+ }
45
+ }
46
+ }
47
+
48
+ @include exports('coachmark-overlay-element') {
49
+ @include coachmark-overlay-element;
50
+ }
@@ -0,0 +1,8 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @import './coachmark-overlay-element';
@@ -0,0 +1,19 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @import '../../global/styles/project-settings';
9
+
10
+ .CoachmarkBaseExampleUsage {
11
+ position: relative;
12
+ display: inline-block;
13
+ max-height: 100%;
14
+ box-sizing: border-box;
15
+ /* stylelint-disable-next-line carbon/layout-token-use */
16
+ padding: 1rem;
17
+ margin-left: 50%;
18
+ transform: translateX(-50%);
19
+ }
@@ -0,0 +1,40 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ // Standard imports.
9
+ @import '../../global/styles/project-settings';
10
+ @import '../../global/styles/mixins';
11
+
12
+ // Define all component styles in a mixin which is then exported using
13
+ // the Carbon import-once mechanism.
14
+ @mixin coachmark-overlay-elements {
15
+ // The block part of our conventional BEM class names (blockClass__E--M).
16
+ $block-class: #{$pkg-prefix}--coachmark-overlay-elements;
17
+
18
+ .#{$block-class} {
19
+ &__element-stepped-media {
20
+ height: rem(128px);
21
+ margin-bottom: $spacing-05;
22
+ }
23
+
24
+ &__footer {
25
+ display: flex;
26
+ align-items: center;
27
+ justify-content: flex-end;
28
+ }
29
+
30
+ &--controls-progress {
31
+ margin-right: auto;
32
+ justify-self: flex-start;
33
+ @include carbon--type-style('helper-text-01');
34
+ }
35
+ }
36
+ }
37
+
38
+ @include exports('coachmark-overlay-elements') {
39
+ @include coachmark-overlay-elements;
40
+ }
@@ -0,0 +1,8 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @import './coachmark-overlay-elements';
@@ -0,0 +1,19 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @import '../../global/styles/project-settings';
9
+
10
+ .CoachmarkBaseExampleUsage {
11
+ position: relative;
12
+ display: inline-block;
13
+ max-height: 100%;
14
+ box-sizing: border-box;
15
+ /* stylelint-disable-next-line carbon/layout-token-use */
16
+ padding: 1rem;
17
+ margin-left: 50%;
18
+ transform: translateX(-50%);
19
+ }
@@ -0,0 +1,85 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ /* stylelint-disable carbon/theme-token-use */
9
+
10
+ // Standard imports.
11
+ @import '../../global/styles/project-settings';
12
+ @import '../../global/styles/mixins';
13
+
14
+ @mixin coachmark-stack {
15
+ // The block part of our conventional BEM class names (blockClass__E--M).
16
+
17
+ $block-class: #{$pkg-prefix}--coachmark-stack;
18
+ $elements-block-class: #{$pkg-prefix}--coachmark-stack-element;
19
+ $overlay-class: #{$prefix}--coachmark-overlay;
20
+ $stack-home-class: #{$pkg-prefix}--coachmark-stacked-home;
21
+
22
+ .#{$elements-block-class} {
23
+ $block: &;
24
+
25
+ position: fixed;
26
+ z-index: 5901;
27
+ right: $spacing-05;
28
+ bottom: -100%;
29
+ //opacity: 0;
30
+ transform: translateY(100%);
31
+
32
+ &--is-mounted {
33
+ bottom: 0;
34
+ /* stylelint-disable-next-line carbon/motion-easing-use, carbon/motion-duration-use */
35
+ transition: 240ms carbon--motion(exit, productive);
36
+ @media (prefers-reduced-motion) {
37
+ transition: none;
38
+ }
39
+ }
40
+
41
+ &--is-visible {
42
+ opacity: 1;
43
+ transform: translateY(0);
44
+ }
45
+
46
+ // Stack the level-one item behind the level-two item.
47
+ &--is-stacked {
48
+ bottom: 0;
49
+ overflow: hidden;
50
+ pointer-events: none;
51
+ transform: perspective(carbon--mini-units(18))
52
+ translate3d(0, calc($spacing-09 * -1), calc($spacing-05 * -1));
53
+ transform-origin: top center;
54
+
55
+ &__light {
56
+ background-color: $gray-90;
57
+ }
58
+
59
+ &__dark {
60
+ background-color: $active-tertiary;
61
+ }
62
+ }
63
+ }
64
+
65
+ // ALL SUBSEQUENT ITEMS ARE THE "CHILD" STACK ITEMS
66
+ .#{$elements-block-class} ~ .#{$elements-block-class} {
67
+ z-index: 5902;
68
+ }
69
+
70
+ // SPECIFIC TO THE HOME ELEMENT
71
+ .#{$stack-home-class} {
72
+ &__nav-links {
73
+ margin-top: $spacing-04;
74
+ margin-left: calc(-1 * $spacing-05);
75
+ }
76
+
77
+ &__icon-idea {
78
+ margin-bottom: $spacing-03;
79
+ }
80
+ }
81
+ }
82
+
83
+ @include exports('coachmark-stack') {
84
+ @include coachmark-stack;
85
+ }
@@ -0,0 +1,8 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @import './coachmark-stack';
@@ -0,0 +1,10 @@
1
+ //
2
+ // Copyright IBM Corp. 2023, 2023
3
+ //
4
+ // This source code is licensed under the Apache-2.0 license found in the
5
+ // LICENSE file in the root directory of this source tree.
6
+ //
7
+
8
+ @import '../../global/styles/project-settings';
9
+
10
+ // TODO: add any additional styles used by CoachmarkStack.stories.js
@@ -612,3 +612,68 @@
612
612
  .#{$block-class} .#{$pkg-prefix}--datagrid__head-wrap {
613
613
  background-color: $ui-03;
614
614
  }
615
+
616
+ .#{$block-class} .#{$block-class}__col-resizer-range {
617
+ position: absolute;
618
+ z-index: 2;
619
+ top: 0;
620
+ right: calc(#{$spacing-03} * -1);
621
+ width: 1rem;
622
+ height: 100%;
623
+ margin: 0;
624
+ -webkit-appearance: none;
625
+ appearance: none;
626
+ background: transparent;
627
+ }
628
+
629
+ .#{$block-class} .#{$block-class}__col-resizer-range:focus {
630
+ outline: 0;
631
+ }
632
+
633
+ .#{$block-class} .#{$block-class}__col-resizer-range:focus::before {
634
+ position: absolute;
635
+ top: 50%;
636
+ left: 50%;
637
+ width: 2px;
638
+ height: 100%;
639
+ background-color: $focus;
640
+ content: '';
641
+ transform: translate(-50%, -50%);
642
+ }
643
+
644
+ .#{$block-class}
645
+ .#{$block-class}__col-resizer-range:focus
646
+ + .#{$block-class}__col-resize-indicator {
647
+ position: absolute;
648
+ z-index: 2;
649
+ right: calc(#{$spacing-03} * -1);
650
+ width: 0.5rem;
651
+ height: 0.5rem;
652
+ border-radius: 100%;
653
+ margin: 0;
654
+ background-color: $focus;
655
+ transform: translate(-50%, 0);
656
+ }
657
+
658
+ .#{$block-class} .#{$block-class}__col-resizer-range:focus::after {
659
+ position: absolute;
660
+ /* stylelint-disable-next-line carbon/layout-token-use */
661
+ top: var(--#{$block-class}--row-height);
662
+ right: $spacing-03;
663
+ width: 1px;
664
+ height: calc(
665
+ var(--#{$block-class}--grid-height) - var(--#{$block-class}--row-height)
666
+ );
667
+ background-color: $active-ui;
668
+ content: '';
669
+ }
670
+
671
+ .#{$block-class} .#{$block-class}__col-resizer-range::-webkit-slider-thumb {
672
+ width: 16px;
673
+ height: 16px;
674
+ border: none;
675
+ border-radius: 50%;
676
+ -webkit-appearance: none;
677
+ appearance: none;
678
+ background: transparent;
679
+ }
@@ -49,11 +49,17 @@
49
49
  @import './EditTearsheetNarrow/index';
50
50
  @import './EditFullPage/index';
51
51
  @import './EditUpdateCards/index';
52
-
53
52
  @import './InlineEditV1/index';
54
53
  @import './InlineEditV2/index';
55
54
  @import './Carousel/index';
56
55
  @import './Guidebanner/index';
57
56
  @import './NonLinearReading/index';
57
+ @import './Coachmark/index';
58
+ @import './CoachmarkFixed/index';
59
+ @import './CoachmarkBeacon/index';
60
+ @import './CoachmarkButton/index';
61
+ @import './CoachmarkOverlayElements/index';
62
+ @import './CoachmarkOverlayElement/index';
63
+ @import './CoachmarkStack/index';
58
64
  @import './InlineTip/index';
59
65
  @import './SteppedAnimatedMedia/index';