@carbon/ibm-products-web-components 0.29.0 → 0.30.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 (139) hide show
  1. package/custom-elements.json +637 -24
  2. package/es/components/about-modal/about-modal.scss.js +1 -1
  3. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts +6 -1
  4. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.js +15 -2
  5. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.js.map +1 -1
  6. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.scss.js +1 -1
  7. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.test.js +8 -1
  8. package/es/components/coachmark/coachmark-beacon/coachmark-beacon.test.js.map +1 -1
  9. package/es/components/coachmark/coachmark-body.d.ts +382 -0
  10. package/es/components/coachmark/coachmark-body.js +40 -0
  11. package/es/components/coachmark/coachmark-body.js.map +1 -0
  12. package/es/components/coachmark/coachmark-body.scss.js +13 -0
  13. package/es/components/coachmark/coachmark-body.scss.js.map +1 -0
  14. package/es/components/coachmark/coachmark-context.d.ts +11 -0
  15. package/es/components/coachmark/coachmark-context.js +39 -0
  16. package/es/components/coachmark/coachmark-context.js.map +1 -0
  17. package/es/components/coachmark/coachmark-header.d.ts +392 -0
  18. package/es/components/coachmark/coachmark-header.js +92 -0
  19. package/es/components/coachmark/coachmark-header.js.map +1 -0
  20. package/es/components/coachmark/coachmark-header.scss.js +13 -0
  21. package/es/components/coachmark/coachmark-header.scss.js.map +1 -0
  22. package/es/components/coachmark/coachmark.d.ts +416 -0
  23. package/es/components/coachmark/coachmark.js +165 -0
  24. package/es/components/coachmark/coachmark.js.map +1 -0
  25. package/es/components/coachmark/coachmark.scss.js +13 -0
  26. package/es/components/coachmark/coachmark.scss.js.map +1 -0
  27. package/es/components/coachmark/coachmark.test.d.ts +1 -0
  28. package/es/components/coachmark/coachmark.test.js +168 -0
  29. package/es/components/coachmark/coachmark.test.js.map +1 -0
  30. package/es/components/coachmark/index.d.ts +11 -0
  31. package/es/components/coachmark/index.js +11 -0
  32. package/es/components/coachmark/index.js.map +1 -0
  33. package/es/components/guide-banner/guide-banner-element.d.ts +378 -0
  34. package/es/components/guide-banner/guide-banner-element.js +38 -0
  35. package/es/components/guide-banner/guide-banner-element.js.map +1 -0
  36. package/es/components/guide-banner/guide-banner.d.ts +398 -0
  37. package/es/components/guide-banner/guide-banner.js +151 -0
  38. package/es/components/guide-banner/guide-banner.js.map +1 -0
  39. package/es/components/guide-banner/guide-banner.scss.js +13 -0
  40. package/es/components/guide-banner/guide-banner.scss.js.map +1 -0
  41. package/es/components/guide-banner/guide-banner.test.d.ts +1 -0
  42. package/es/components/guide-banner/guide-banner.test.js +121 -0
  43. package/es/components/guide-banner/guide-banner.test.js.map +1 -0
  44. package/es/components/guide-banner/index.d.ts +10 -0
  45. package/es/components/guide-banner/index.js +10 -0
  46. package/es/components/guide-banner/index.js.map +1 -0
  47. package/es/components/notification-panel/notification-footer.scss.js +1 -1
  48. package/es/components/notification-panel/notification-panel.scss.js +1 -1
  49. package/es/components/notification-panel/notification.scss.js +1 -1
  50. package/es/components/page-header/_story-assets/set-of-breadcrumbs.scss.js +1 -1
  51. package/es/components/page-header/_story-assets/set-of-tags/set-of-tags.scss.js +1 -1
  52. package/es/components/side-panel/side-panel.scss.js +1 -1
  53. package/es/components/tearsheet/tearsheet.scss.js +1 -1
  54. package/es/index.d.ts +5 -1
  55. package/es/index.js +4 -0
  56. package/es/index.js.map +1 -1
  57. package/es/packages/ibm-products-web-components/package.json.js +1 -1
  58. package/es/utilities/makeDraggable/makeDraggable.d.ts +38 -0
  59. package/es/utilities/makeDraggable/makeDraggable.js +136 -0
  60. package/es/utilities/makeDraggable/makeDraggable.js.map +1 -0
  61. package/es-custom/components/about-modal/about-modal.scss.js +1 -1
  62. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts +6 -1
  63. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.js +15 -2
  64. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.js.map +1 -1
  65. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.scss.js +1 -1
  66. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.test.js +8 -1
  67. package/es-custom/components/coachmark/coachmark-beacon/coachmark-beacon.test.js.map +1 -1
  68. package/es-custom/components/coachmark/coachmark-body.d.ts +382 -0
  69. package/es-custom/components/coachmark/coachmark-body.js +40 -0
  70. package/es-custom/components/coachmark/coachmark-body.js.map +1 -0
  71. package/es-custom/components/coachmark/coachmark-body.scss.js +13 -0
  72. package/es-custom/components/coachmark/coachmark-body.scss.js.map +1 -0
  73. package/es-custom/components/coachmark/coachmark-context.d.ts +11 -0
  74. package/es-custom/components/coachmark/coachmark-context.js +39 -0
  75. package/es-custom/components/coachmark/coachmark-context.js.map +1 -0
  76. package/es-custom/components/coachmark/coachmark-header.d.ts +392 -0
  77. package/es-custom/components/coachmark/coachmark-header.js +92 -0
  78. package/es-custom/components/coachmark/coachmark-header.js.map +1 -0
  79. package/es-custom/components/coachmark/coachmark-header.scss.js +13 -0
  80. package/es-custom/components/coachmark/coachmark-header.scss.js.map +1 -0
  81. package/es-custom/components/coachmark/coachmark.d.ts +416 -0
  82. package/es-custom/components/coachmark/coachmark.js +165 -0
  83. package/es-custom/components/coachmark/coachmark.js.map +1 -0
  84. package/es-custom/components/coachmark/coachmark.scss.js +13 -0
  85. package/es-custom/components/coachmark/coachmark.scss.js.map +1 -0
  86. package/es-custom/components/coachmark/coachmark.test.d.ts +1 -0
  87. package/es-custom/components/coachmark/coachmark.test.js +168 -0
  88. package/es-custom/components/coachmark/coachmark.test.js.map +1 -0
  89. package/es-custom/components/coachmark/index.d.ts +11 -0
  90. package/es-custom/components/coachmark/index.js +11 -0
  91. package/es-custom/components/coachmark/index.js.map +1 -0
  92. package/es-custom/components/guide-banner/guide-banner-element.d.ts +378 -0
  93. package/es-custom/components/guide-banner/guide-banner-element.js +38 -0
  94. package/es-custom/components/guide-banner/guide-banner-element.js.map +1 -0
  95. package/es-custom/components/guide-banner/guide-banner.d.ts +398 -0
  96. package/es-custom/components/guide-banner/guide-banner.js +151 -0
  97. package/es-custom/components/guide-banner/guide-banner.js.map +1 -0
  98. package/es-custom/components/guide-banner/guide-banner.scss.js +13 -0
  99. package/es-custom/components/guide-banner/guide-banner.scss.js.map +1 -0
  100. package/es-custom/components/guide-banner/guide-banner.test.d.ts +1 -0
  101. package/es-custom/components/guide-banner/guide-banner.test.js +121 -0
  102. package/es-custom/components/guide-banner/guide-banner.test.js.map +1 -0
  103. package/es-custom/components/guide-banner/index.d.ts +10 -0
  104. package/es-custom/components/guide-banner/index.js +10 -0
  105. package/es-custom/components/guide-banner/index.js.map +1 -0
  106. package/es-custom/components/notification-panel/notification-footer.scss.js +1 -1
  107. package/es-custom/components/notification-panel/notification-panel.scss.js +1 -1
  108. package/es-custom/components/notification-panel/notification.scss.js +1 -1
  109. package/es-custom/components/page-header/_story-assets/set-of-breadcrumbs.scss.js +1 -1
  110. package/es-custom/components/page-header/_story-assets/set-of-tags/set-of-tags.scss.js +1 -1
  111. package/es-custom/components/side-panel/side-panel.scss.js +1 -1
  112. package/es-custom/components/tearsheet/tearsheet.scss.js +1 -1
  113. package/es-custom/index.d.ts +5 -1
  114. package/es-custom/index.js +4 -0
  115. package/es-custom/index.js.map +1 -1
  116. package/es-custom/packages/ibm-products-web-components/package.json.js +1 -1
  117. package/es-custom/utilities/makeDraggable/makeDraggable.d.ts +38 -0
  118. package/es-custom/utilities/makeDraggable/makeDraggable.js +136 -0
  119. package/es-custom/utilities/makeDraggable/makeDraggable.js.map +1 -0
  120. package/lib/components/coachmark/coachmark-beacon/coachmark-beacon.d.ts +6 -1
  121. package/lib/components/coachmark/coachmark-body.d.ts +382 -0
  122. package/lib/components/coachmark/coachmark-context.d.ts +11 -0
  123. package/lib/components/coachmark/coachmark-header.d.ts +392 -0
  124. package/lib/components/coachmark/coachmark.d.ts +416 -0
  125. package/lib/components/coachmark/coachmark.test.d.ts +1 -0
  126. package/lib/components/coachmark/index.d.ts +11 -0
  127. package/lib/components/guide-banner/guide-banner-element.d.ts +378 -0
  128. package/lib/components/guide-banner/guide-banner.d.ts +398 -0
  129. package/lib/components/guide-banner/guide-banner.test.d.ts +1 -0
  130. package/lib/components/guide-banner/index.d.ts +10 -0
  131. package/lib/index.d.ts +5 -1
  132. package/lib/utilities/makeDraggable/makeDraggable.d.ts +38 -0
  133. package/package.json +8 -8
  134. package/scss/components/coachmark/coachmark-beacon/coachmark-beacon.scss +1 -0
  135. package/scss/components/coachmark/coachmark-body.scss +19 -0
  136. package/scss/components/coachmark/coachmark-header.scss +32 -0
  137. package/scss/components/coachmark/coachmark.scss +30 -0
  138. package/scss/components/guide-banner/guide-banner.scss +30 -0
  139. package/telemetry.yml +14 -3
package/es/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @license
3
3
  *
4
- * Copyright IBM Corp. 2024, 2024
4
+ * Copyright IBM Corp. 2024, 2025
5
5
  *
6
6
  * This source code is licensed under the Apache-2.0 license found in the
7
7
  * LICENSE file in the root directory of this source tree.
@@ -19,3 +19,7 @@ export { default as CDSPageHeaderContent } from './components/page-header/page-h
19
19
  export { default as CDSPageHeaderContentText } from './components/page-header/page-header-content-text';
20
20
  export { default as CDSPageHeaderHeroImage } from './components/page-header/page-header-hero-image';
21
21
  export { default as CDSPageHeaderTabs } from './components/page-header/page-header-tabs';
22
+ export { default as CDSGuideBanner } from './components/guide-banner/guide-banner';
23
+ export { default as CDSGuideBannerElement } from './components/guide-banner/guide-banner-element';
24
+ export { default as CDSCoachmark } from './components/coachmark/coachmark';
25
+ export { default as CDSCoachmarkBeacon } from './components/coachmark/coachmark-beacon/coachmark-beacon';
package/es/index.js CHANGED
@@ -18,4 +18,8 @@ export { default as CDSPageHeaderContent } from './components/page-header/page-h
18
18
  export { default as CDSPageHeaderContentText } from './components/page-header/page-header-content-text.js';
19
19
  export { default as CDSPageHeaderHeroImage } from './components/page-header/page-header-hero-image.js';
20
20
  export { default as CDSPageHeaderTabs } from './components/page-header/page-header-tabs.js';
21
+ export { default as CDSGuideBanner } from './components/guide-banner/guide-banner.js';
22
+ export { default as CDSGuideBannerElement } from './components/guide-banner/guide-banner-element.js';
23
+ export { default as CDSCoachmark } from './components/coachmark/coachmark.js';
24
+ export { default as CDSCoachmarkBeacon } from './components/coachmark/coachmark-beacon/coachmark-beacon.js';
21
25
  //# sourceMappingURL=index.js.map
package/es/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;"}
@@ -5,7 +5,7 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
 
8
- var version = "0.29.0-rc.0";
8
+ var version = "0.30.0-rc.0";
9
9
  var packageJson = {
10
10
  version: version};
11
11
 
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Copyright IBM Corp. 2025, 2025
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
+ interface DraggableProps {
8
+ /**
9
+ * HTML element to move.
10
+ */
11
+ el: HTMLElement;
12
+ /**
13
+ * HTML element to initiate the drag (e.g., header).
14
+ */
15
+ dragHandle?: HTMLElement;
16
+ /**
17
+ * HTML element to focus on drag for keyboard interaction (e.g., Drag Icon).
18
+ */
19
+ focusableDragHandle?: HTMLElement;
20
+ /**
21
+ * Pixel value that defines the distance to move when dragging with arrow
22
+ * keys.
23
+ */
24
+ dragStep?: number;
25
+ /**
26
+ * Pixel value that defines the distance to move when dragging with
27
+ * shift+arrow keys.
28
+ */
29
+ shiftDragStep?: number;
30
+ }
31
+ /**
32
+ * Makes a given element draggable using a handle element.
33
+ *@param draggable - object which accepts el and optional attributes handle,focusableInHandle,dragStep and shiftDragStep
34
+ */
35
+ export declare const makeDraggable: ({ el, dragHandle, focusableDragHandle, dragStep, shiftDragStep, }: DraggableProps) => {
36
+ cleanup: () => void;
37
+ };
38
+ export {};
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Copyright IBM Corp. 2024
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
+ * Copyright IBM Corp. 2025, 2025
10
+ *
11
+ * This source code is licensed under the Apache-2.0 license found in the
12
+ * LICENSE file in the root directory of this source tree.
13
+ */
14
+ /**
15
+ * Makes a given element draggable using a handle element.
16
+ *@param draggable - object which accepts el and optional attributes handle,focusableInHandle,dragStep and shiftDragStep
17
+ */
18
+ const makeDraggable = ({ el, dragHandle, focusableDragHandle, dragStep, shiftDragStep, }) => {
19
+ if (dragHandle) {
20
+ dragHandle.style.cursor = 'move';
21
+ el.style.cursor = 'default';
22
+ }
23
+ else {
24
+ el.style.cursor = 'move';
25
+ }
26
+ let isDragging = false;
27
+ let currentX = 0;
28
+ let currentY = 0;
29
+ let initialMouseX = 0;
30
+ let initialMouseY = 0;
31
+ const dispatch = (type, detail) => {
32
+ const eventInit = {
33
+ detail,
34
+ bubbles: true,
35
+ };
36
+ el.dispatchEvent(new CustomEvent(type, eventInit));
37
+ };
38
+ const onKeyDown = (e) => {
39
+ if (e.key === 'Enter') {
40
+ isDragging = !isDragging;
41
+ }
42
+ if (isDragging) {
43
+ dispatch('dragstart', { keyboard: true });
44
+ }
45
+ else {
46
+ dispatch('dragend', { keyboard: true });
47
+ }
48
+ if (!isDragging) {
49
+ return;
50
+ }
51
+ const distance = e.shiftKey ? (shiftDragStep !== null && shiftDragStep !== void 0 ? shiftDragStep : 32) : (dragStep !== null && dragStep !== void 0 ? dragStep : 8);
52
+ switch (e.key) {
53
+ case 'Enter':
54
+ case ' ':
55
+ e.preventDefault();
56
+ break;
57
+ case 'ArrowLeft':
58
+ el.style.left = `${el.offsetLeft - distance}px`;
59
+ break;
60
+ case 'ArrowRight':
61
+ el.style.left = `${el.offsetLeft + distance}px`;
62
+ break;
63
+ case 'ArrowUp':
64
+ el.style.top = `${el.offsetTop - distance}px`;
65
+ break;
66
+ case 'ArrowDown':
67
+ el.style.top = `${el.offsetTop + distance}px`;
68
+ break;
69
+ }
70
+ };
71
+ const onMouseDown = (e) => {
72
+ const target = e.target;
73
+ if (!(target instanceof Node)) {
74
+ return;
75
+ }
76
+ const isTargetInHandle = dragHandle
77
+ ? dragHandle.contains(target)
78
+ : el.contains(target);
79
+ if (!isTargetInHandle) {
80
+ return;
81
+ }
82
+ const style = window.getComputedStyle(el);
83
+ const matrix = new DOMMatrix(style.transform);
84
+ currentX = matrix.m41;
85
+ currentY = matrix.m42;
86
+ // Store the mouse position at the start of the drag
87
+ initialMouseX = e.clientX;
88
+ initialMouseY = e.clientY;
89
+ isDragging = true;
90
+ dispatch('dragstart', { mouse: true });
91
+ document.addEventListener('mousemove', onMouseMove);
92
+ document.addEventListener('mouseup', onMouseUp, { once: true });
93
+ };
94
+ const onMouseMove = (e) => {
95
+ if (!isDragging) {
96
+ return;
97
+ }
98
+ // Calculate the change in mouse position from the start
99
+ const dx = e.clientX - initialMouseX;
100
+ const dy = e.clientY - initialMouseY;
101
+ // Add that change to the element's original translation
102
+ el.style.transform = `translate(${currentX + dx}px, ${currentY + dy}px)`;
103
+ };
104
+ const onMouseUp = () => {
105
+ if (!isDragging) {
106
+ return;
107
+ }
108
+ isDragging = false;
109
+ dispatch('dragend', { mouse: true });
110
+ document.removeEventListener('mousemove', onMouseMove);
111
+ };
112
+ if (dragHandle) {
113
+ dragHandle.addEventListener('mousedown', onMouseDown);
114
+ }
115
+ else {
116
+ el.addEventListener('mousedown', onMouseDown);
117
+ }
118
+ focusableDragHandle === null || focusableDragHandle === void 0 ? void 0 : focusableDragHandle.addEventListener('keydown', onKeyDown);
119
+ const draggableCleanup = () => {
120
+ if (dragHandle) {
121
+ dragHandle.removeEventListener('mousedown', onMouseDown);
122
+ }
123
+ else {
124
+ el.removeEventListener('mousedown', onMouseDown);
125
+ }
126
+ focusableDragHandle === null || focusableDragHandle === void 0 ? void 0 : focusableDragHandle.removeEventListener('keydown', onKeyDown);
127
+ document.removeEventListener('mousemove', onMouseMove);
128
+ document.removeEventListener('mouseup', onMouseUp);
129
+ };
130
+ return {
131
+ cleanup: draggableCleanup,
132
+ };
133
+ };
134
+
135
+ export { makeDraggable };
136
+ //# sourceMappingURL=makeDraggable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeDraggable.js","sources":["../../../src/utilities/makeDraggable/makeDraggable.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}