@carbon/web-components 2.61.0 → 2.62.0-rc.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 (241) hide show
  1. package/custom-elements.json +455 -13
  2. package/es/components/action-set/action-set.d.ts +107 -0
  3. package/es/components/action-set/action-set.d.ts.map +1 -0
  4. package/es/components/action-set/action-set.js +269 -0
  5. package/es/components/action-set/action-set.js.map +1 -0
  6. package/es/components/action-set/action-set.scss.js +14 -0
  7. package/es/components/action-set/action-set.scss.js.map +1 -0
  8. package/es/components/action-set/index.d.ts +9 -0
  9. package/es/components/action-set/index.d.ts.map +1 -0
  10. package/es/components/action-set/index.js +8 -0
  11. package/es/components/button/button.d.ts.map +1 -1
  12. package/es/components/button/button.js +7 -2
  13. package/es/components/button/button.js.map +1 -1
  14. package/es/components/data-table/data-table.scss.js +1 -1
  15. package/es/components/date-picker/next/components/date-picker.scss.js +1 -1
  16. package/es/components/file-uploader/file-uploader.scss.js +1 -1
  17. package/es/components/fluid-date-picker/fluid-date-picker.scss.js +1 -1
  18. package/es/components/resizer/defs.d.ts +73 -0
  19. package/es/components/resizer/defs.d.ts.map +1 -0
  20. package/es/components/resizer/defs.js +97 -0
  21. package/es/components/resizer/defs.js.map +1 -0
  22. package/es/components/resizer/index.d.ts +11 -0
  23. package/es/components/resizer/index.d.ts.map +1 -0
  24. package/es/components/resizer/index.js +11 -0
  25. package/es/components/resizer/resizer-grid.d.ts +22 -0
  26. package/es/components/resizer/resizer-grid.d.ts.map +1 -0
  27. package/es/components/resizer/resizer-grid.js +44 -0
  28. package/es/components/resizer/resizer-grid.js.map +1 -0
  29. package/es/components/resizer/resizer-grid.scss.js +14 -0
  30. package/es/components/resizer/resizer-grid.scss.js.map +1 -0
  31. package/es/components/resizer/resizer-handle-pivot.d.ts +31 -0
  32. package/es/components/resizer/resizer-handle-pivot.d.ts.map +1 -0
  33. package/es/components/resizer/resizer-handle-pivot.js +93 -0
  34. package/es/components/resizer/resizer-handle-pivot.js.map +1 -0
  35. package/es/components/resizer/resizer-handle-pivot.scss.js +14 -0
  36. package/es/components/resizer/resizer-handle-pivot.scss.js.map +1 -0
  37. package/es/components/resizer/resizer-handle.d.ts +64 -0
  38. package/es/components/resizer/resizer-handle.d.ts.map +1 -0
  39. package/es/components/resizer/resizer-handle.js +350 -0
  40. package/es/components/resizer/resizer-handle.js.map +1 -0
  41. package/es/components/resizer/resizer-handle.scss.js +14 -0
  42. package/es/components/resizer/resizer-handle.scss.js.map +1 -0
  43. package/es/components/resizer/resizer-panel.d.ts +22 -0
  44. package/es/components/resizer/resizer-panel.d.ts.map +1 -0
  45. package/es/components/resizer/resizer-panel.js +37 -0
  46. package/es/components/resizer/resizer-panel.js.map +1 -0
  47. package/es/components/resizer/resizer-panel.scss.js +14 -0
  48. package/es/components/resizer/resizer-panel.scss.js.map +1 -0
  49. package/es/components/side-panel/_story-assets/index.d.ts +9 -0
  50. package/es/components/side-panel/_story-assets/index.d.ts.map +1 -0
  51. package/es/components/side-panel/_story-assets/index.js +246 -0
  52. package/es/components/side-panel/_story-assets/index.js.map +1 -0
  53. package/es/components/side-panel/defs.d.ts +7 -1
  54. package/es/components/side-panel/defs.d.ts.map +1 -1
  55. package/es/components/side-panel/defs.js +7 -1
  56. package/es/components/side-panel/defs.js.map +1 -1
  57. package/es/components/side-panel/index.d.ts +3 -1
  58. package/es/components/side-panel/index.d.ts.map +1 -1
  59. package/es/components/side-panel/index.js +12 -0
  60. package/es/components/side-panel/index.js.map +1 -0
  61. package/es/components/side-panel/side-panel.d.ts +60 -22
  62. package/es/components/side-panel/side-panel.d.ts.map +1 -1
  63. package/es/components/side-panel/side-panel.js +268 -126
  64. package/es/components/side-panel/side-panel.js.map +1 -1
  65. package/es/components/side-panel/side-panel.scss.js +14 -0
  66. package/es/components/side-panel/side-panel.scss.js.map +1 -0
  67. package/es/components/side-panel/story-styles.scss.js +14 -0
  68. package/es/components/side-panel/story-styles.scss.js.map +1 -0
  69. package/es/components/slider/slider.d.ts +14 -0
  70. package/es/components/slider/slider.d.ts.map +1 -1
  71. package/es/components/slider/slider.js +40 -5
  72. package/es/components/slider/slider.js.map +1 -1
  73. package/es/components/slider/slider.scss.js +1 -1
  74. package/es/components/tabs/tab.d.ts.map +1 -1
  75. package/es/components/tabs/tab.js +4 -1
  76. package/es/components/tabs/tab.js.map +1 -1
  77. package/es/components/tabs/tabs.scss.js +1 -1
  78. package/es/components/tabs/tabs.scss.js.map +1 -1
  79. package/es/components/textarea/textarea.scss.js +1 -1
  80. package/es/components/textarea/textarea.scss.js.map +1 -1
  81. package/es/components/truncated-text/index.d.ts +8 -0
  82. package/es/components/truncated-text/index.d.ts.map +1 -0
  83. package/es/components/truncated-text/index.js +8 -0
  84. package/es/components/truncated-text/truncated-text.d.ts +77 -0
  85. package/es/components/truncated-text/truncated-text.d.ts.map +1 -0
  86. package/es/components/truncated-text/truncated-text.js +216 -0
  87. package/es/components/truncated-text/truncated-text.js.map +1 -0
  88. package/es/components/truncated-text/truncated-text.scss.js +14 -0
  89. package/es/components/truncated-text/truncated-text.scss.js.map +1 -0
  90. package/es/globals/internal/icon-loader-utils.d.ts +2 -2
  91. package/es/globals/internal/icon-loader-utils.d.ts.map +1 -1
  92. package/es/globals/internal/icon-loader-utils.js +1 -1
  93. package/es/globals/internal/icon-loader-utils.js.map +1 -1
  94. package/es/index.d.ts.map +1 -1
  95. package/es-custom/components/action-set/action-set.d.ts +107 -0
  96. package/es-custom/components/action-set/action-set.d.ts.map +1 -0
  97. package/es-custom/components/action-set/action-set.js +269 -0
  98. package/es-custom/components/action-set/action-set.js.map +1 -0
  99. package/es-custom/components/action-set/action-set.scss.js +14 -0
  100. package/es-custom/components/action-set/action-set.scss.js.map +1 -0
  101. package/es-custom/components/action-set/index.d.ts +9 -0
  102. package/es-custom/components/action-set/index.d.ts.map +1 -0
  103. package/es-custom/components/action-set/index.js +8 -0
  104. package/es-custom/components/button/button.d.ts.map +1 -1
  105. package/es-custom/components/button/button.js +7 -2
  106. package/es-custom/components/button/button.js.map +1 -1
  107. package/es-custom/components/data-table/data-table.scss.js +1 -1
  108. package/es-custom/components/date-picker/next/components/date-picker.scss.js +1 -1
  109. package/es-custom/components/file-uploader/file-uploader.scss.js +1 -1
  110. package/es-custom/components/fluid-date-picker/fluid-date-picker.scss.js +1 -1
  111. package/es-custom/components/resizer/defs.d.ts +73 -0
  112. package/es-custom/components/resizer/defs.d.ts.map +1 -0
  113. package/es-custom/components/resizer/defs.js +97 -0
  114. package/es-custom/components/resizer/defs.js.map +1 -0
  115. package/es-custom/components/resizer/index.d.ts +11 -0
  116. package/es-custom/components/resizer/index.d.ts.map +1 -0
  117. package/es-custom/components/resizer/index.js +11 -0
  118. package/es-custom/components/resizer/resizer-grid.d.ts +22 -0
  119. package/es-custom/components/resizer/resizer-grid.d.ts.map +1 -0
  120. package/es-custom/components/resizer/resizer-grid.js +44 -0
  121. package/es-custom/components/resizer/resizer-grid.js.map +1 -0
  122. package/es-custom/components/resizer/resizer-grid.scss.js +14 -0
  123. package/es-custom/components/resizer/resizer-grid.scss.js.map +1 -0
  124. package/es-custom/components/resizer/resizer-handle-pivot.d.ts +31 -0
  125. package/es-custom/components/resizer/resizer-handle-pivot.d.ts.map +1 -0
  126. package/es-custom/components/resizer/resizer-handle-pivot.js +93 -0
  127. package/es-custom/components/resizer/resizer-handle-pivot.js.map +1 -0
  128. package/es-custom/components/resizer/resizer-handle-pivot.scss.js +14 -0
  129. package/es-custom/components/resizer/resizer-handle-pivot.scss.js.map +1 -0
  130. package/es-custom/components/resizer/resizer-handle.d.ts +64 -0
  131. package/es-custom/components/resizer/resizer-handle.d.ts.map +1 -0
  132. package/es-custom/components/resizer/resizer-handle.js +350 -0
  133. package/es-custom/components/resizer/resizer-handle.js.map +1 -0
  134. package/es-custom/components/resizer/resizer-handle.scss.js +14 -0
  135. package/es-custom/components/resizer/resizer-handle.scss.js.map +1 -0
  136. package/es-custom/components/resizer/resizer-panel.d.ts +22 -0
  137. package/es-custom/components/resizer/resizer-panel.d.ts.map +1 -0
  138. package/es-custom/components/resizer/resizer-panel.js +37 -0
  139. package/es-custom/components/resizer/resizer-panel.js.map +1 -0
  140. package/es-custom/components/resizer/resizer-panel.scss.js +14 -0
  141. package/es-custom/components/resizer/resizer-panel.scss.js.map +1 -0
  142. package/es-custom/components/side-panel/_story-assets/index.d.ts +9 -0
  143. package/es-custom/components/side-panel/_story-assets/index.d.ts.map +1 -0
  144. package/es-custom/components/side-panel/_story-assets/index.js +246 -0
  145. package/es-custom/components/side-panel/_story-assets/index.js.map +1 -0
  146. package/es-custom/components/side-panel/defs.d.ts +7 -1
  147. package/es-custom/components/side-panel/defs.d.ts.map +1 -1
  148. package/es-custom/components/side-panel/defs.js +7 -1
  149. package/es-custom/components/side-panel/defs.js.map +1 -1
  150. package/es-custom/components/side-panel/index.d.ts +3 -1
  151. package/es-custom/components/side-panel/index.d.ts.map +1 -1
  152. package/es-custom/components/side-panel/index.js +12 -0
  153. package/es-custom/components/side-panel/index.js.map +1 -0
  154. package/es-custom/components/side-panel/side-panel.d.ts +60 -22
  155. package/es-custom/components/side-panel/side-panel.d.ts.map +1 -1
  156. package/es-custom/components/side-panel/side-panel.js +268 -126
  157. package/es-custom/components/side-panel/side-panel.js.map +1 -1
  158. package/es-custom/components/side-panel/side-panel.scss.js +14 -0
  159. package/es-custom/components/side-panel/side-panel.scss.js.map +1 -0
  160. package/es-custom/components/side-panel/story-styles.scss.js +14 -0
  161. package/es-custom/components/side-panel/story-styles.scss.js.map +1 -0
  162. package/es-custom/components/slider/slider.d.ts +14 -0
  163. package/es-custom/components/slider/slider.d.ts.map +1 -1
  164. package/es-custom/components/slider/slider.js +40 -5
  165. package/es-custom/components/slider/slider.js.map +1 -1
  166. package/es-custom/components/slider/slider.scss.js +1 -1
  167. package/es-custom/components/tabs/tab.d.ts.map +1 -1
  168. package/es-custom/components/tabs/tab.js +4 -1
  169. package/es-custom/components/tabs/tab.js.map +1 -1
  170. package/es-custom/components/tabs/tabs.scss.js +1 -1
  171. package/es-custom/components/tabs/tabs.scss.js.map +1 -1
  172. package/es-custom/components/textarea/textarea.scss.js +1 -1
  173. package/es-custom/components/textarea/textarea.scss.js.map +1 -1
  174. package/es-custom/components/truncated-text/index.d.ts +8 -0
  175. package/es-custom/components/truncated-text/index.d.ts.map +1 -0
  176. package/es-custom/components/truncated-text/index.js +8 -0
  177. package/es-custom/components/truncated-text/truncated-text.d.ts +77 -0
  178. package/es-custom/components/truncated-text/truncated-text.d.ts.map +1 -0
  179. package/es-custom/components/truncated-text/truncated-text.js +216 -0
  180. package/es-custom/components/truncated-text/truncated-text.js.map +1 -0
  181. package/es-custom/components/truncated-text/truncated-text.scss.js +14 -0
  182. package/es-custom/components/truncated-text/truncated-text.scss.js.map +1 -0
  183. package/es-custom/globals/internal/icon-loader-utils.d.ts +2 -2
  184. package/es-custom/globals/internal/icon-loader-utils.d.ts.map +1 -1
  185. package/es-custom/globals/internal/icon-loader-utils.js +1 -1
  186. package/es-custom/globals/internal/icon-loader-utils.js.map +1 -1
  187. package/es-custom/index.d.ts.map +1 -1
  188. package/lib/components/action-set/action-set.d.ts +107 -0
  189. package/lib/components/action-set/action-set.d.ts.map +1 -0
  190. package/lib/components/action-set/index.d.ts +9 -0
  191. package/lib/components/action-set/index.d.ts.map +1 -0
  192. package/lib/components/button/button.d.ts.map +1 -1
  193. package/lib/components/resizer/defs.d.ts +73 -0
  194. package/lib/components/resizer/defs.d.ts.map +1 -0
  195. package/lib/components/resizer/defs.js +112 -0
  196. package/lib/components/resizer/defs.js.map +1 -0
  197. package/lib/components/resizer/index.d.ts +11 -0
  198. package/lib/components/resizer/index.d.ts.map +1 -0
  199. package/lib/components/resizer/resizer-grid.d.ts +22 -0
  200. package/lib/components/resizer/resizer-grid.d.ts.map +1 -0
  201. package/lib/components/resizer/resizer-handle-pivot.d.ts +31 -0
  202. package/lib/components/resizer/resizer-handle-pivot.d.ts.map +1 -0
  203. package/lib/components/resizer/resizer-handle.d.ts +64 -0
  204. package/lib/components/resizer/resizer-handle.d.ts.map +1 -0
  205. package/lib/components/resizer/resizer-panel.d.ts +22 -0
  206. package/lib/components/resizer/resizer-panel.d.ts.map +1 -0
  207. package/lib/components/side-panel/_story-assets/index.d.ts +9 -0
  208. package/lib/components/side-panel/_story-assets/index.d.ts.map +1 -0
  209. package/lib/components/side-panel/defs.d.ts +7 -1
  210. package/lib/components/side-panel/defs.d.ts.map +1 -1
  211. package/lib/components/side-panel/defs.js +7 -1
  212. package/lib/components/side-panel/defs.js.map +1 -1
  213. package/lib/components/side-panel/index.d.ts +3 -1
  214. package/lib/components/side-panel/index.d.ts.map +1 -1
  215. package/lib/components/side-panel/side-panel.d.ts +60 -22
  216. package/lib/components/side-panel/side-panel.d.ts.map +1 -1
  217. package/lib/components/slider/slider.d.ts +14 -0
  218. package/lib/components/slider/slider.d.ts.map +1 -1
  219. package/lib/components/tabs/tab.d.ts.map +1 -1
  220. package/lib/components/truncated-text/index.d.ts +8 -0
  221. package/lib/components/truncated-text/index.d.ts.map +1 -0
  222. package/lib/components/truncated-text/truncated-text.d.ts +77 -0
  223. package/lib/components/truncated-text/truncated-text.d.ts.map +1 -0
  224. package/lib/globals/internal/icon-loader-utils.d.ts +2 -2
  225. package/lib/globals/internal/icon-loader-utils.d.ts.map +1 -1
  226. package/lib/index.d.ts.map +1 -1
  227. package/package.json +7 -7
  228. package/scss/components/action-set/action-set.scss +93 -0
  229. package/scss/components/data-table/_table-core.scss +73 -20
  230. package/scss/components/data-table/_table-selection.scss +31 -14
  231. package/scss/components/resizer/resizer-grid.scss +34 -0
  232. package/scss/components/resizer/resizer-handle-pivot.scss +39 -0
  233. package/scss/components/resizer/resizer-handle.scss +127 -0
  234. package/scss/components/resizer/resizer-panel.scss +10 -0
  235. package/scss/components/side-panel/side-panel.scss +363 -0
  236. package/scss/components/side-panel/story-styles.scss +51 -0
  237. package/scss/components/tabs/tabs.scss +4 -0
  238. package/scss/components/textarea/textarea.scss +6 -0
  239. package/scss/components/truncated-text/truncated-text-story.scss +14 -0
  240. package/scss/components/truncated-text/truncated-text.scss +122 -0
  241. package/telemetry.yml +26 -0
@@ -0,0 +1,350 @@
1
+ /**
2
+ * Copyright IBM Corp. 2026
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 "../../globals/settings.js";
9
+ import { carbonElement } from "../../globals/decorators/carbon-element.js";
10
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/decorate.js";
11
+ import { ARIA, DOUBLE_TAP, EVENTS, KEYBOARD, SELECTORS, SLOTS, calculateFlexRatio, createCustomEvent, determineAxis, formatSplitRatio, getOrientationFromAxis, isWithinDistance, safeClosest, safeQuerySelectorAll, triggerHapticFeedback } from "./defs.js";
12
+ import resizer_handle_default$1 from "./resizer-handle.scss.js";
13
+ import { LitElement, html } from "lit";
14
+ import { property, state } from "lit/decorators.js";
15
+ //#region src/components/resizer/resizer-handle.ts
16
+ /**
17
+ * Copyright IBM Corp. 2026, 2026
18
+ *
19
+ * This source code is licensed under the Apache-2.0 license found in the
20
+ * LICENSE file in the root directory of this source tree.
21
+ */
22
+ /**
23
+ * Resizer handle component for resizing panels.
24
+ * @element cds-custom-resizer-handle
25
+ * @fires resize-start - Fired when dragging starts
26
+ * @fires resize-drag - Fired during dragging (detail: { axis, delta, position })
27
+ * @fires resize-end - Fired when dragging ends (detail: { axis, delta, position })
28
+ * @fires resize-reset - Fired on double-tap / double-click
29
+ */
30
+ let CDSResizerHandle = class CDSResizerHandle extends LitElement {
31
+ constructor(..._args) {
32
+ super(..._args);
33
+ this.axis = "y";
34
+ this._isDragging = false;
35
+ this._startSize = 0;
36
+ this._endSize = 0;
37
+ this._lastTapTime = 0;
38
+ this._lastTapPosition = {
39
+ x: 0,
40
+ y: 0
41
+ };
42
+ this.startDrag = (e) => {
43
+ this._handlePointerDown(e);
44
+ };
45
+ this.resetSizes = (e) => {
46
+ e.preventDefault();
47
+ this.dispatchEvent(createCustomEvent(EVENTS.RESIZE_RESET));
48
+ if (this._grid) {
49
+ this._grid.style.removeProperty("--start-element-size");
50
+ this._grid.style.removeProperty("--end-element-size");
51
+ const handleTransitionEnd = () => {
52
+ this._updateAriaAttributes();
53
+ this._grid?.removeEventListener("transitionend", handleTransitionEnd);
54
+ };
55
+ this._grid.addEventListener("transitionend", handleTransitionEnd, { once: true });
56
+ }
57
+ };
58
+ this._handlePointerDown = (e) => {
59
+ if (this._detectDoubleTap(e)) return;
60
+ e.preventDefault();
61
+ this._isDragging = true;
62
+ this.setSyntheticActiveState(true);
63
+ const startPosition = {
64
+ x: e.clientX,
65
+ y: e.clientY
66
+ };
67
+ const startValue = this.axis === "x" ? e.clientX : e.clientY;
68
+ this.dispatchEvent(createCustomEvent(EVENTS.RESIZE_START, {
69
+ axis: this.axis,
70
+ startPosition
71
+ }));
72
+ if (this._grid && this._startNode && this._endNode) {
73
+ const rectStart = this._startNode.getBoundingClientRect();
74
+ const rectEnd = this._endNode.getBoundingClientRect();
75
+ this._startSize = this.axis === "x" ? rectStart.width : rectStart.height;
76
+ this._endSize = this.axis === "x" ? rectEnd.width : rectEnd.height;
77
+ }
78
+ this._boundMove = this._createMoveHandler(startValue);
79
+ this._boundStop = this._createStopHandler(startValue);
80
+ window.addEventListener("pointermove", this._boundMove);
81
+ window.addEventListener("pointerup", this._boundStop);
82
+ };
83
+ this._handleKeyDown = (e) => {
84
+ if (![
85
+ "ArrowUp",
86
+ "ArrowDown",
87
+ "ArrowLeft",
88
+ "ArrowRight",
89
+ "Home",
90
+ "End",
91
+ "PageUp",
92
+ "PageDown"
93
+ ].includes(e.key)) return;
94
+ e.preventDefault();
95
+ e.stopPropagation();
96
+ const step = e.shiftKey ? KEYBOARD.LARGE_STEP_PX : KEYBOARD.DEFAULT_STEP_PX;
97
+ const isHorizontal = this.axis === "x";
98
+ let delta = 0;
99
+ if (e.key === "ArrowUp" && !isHorizontal) delta = -step;
100
+ else if (e.key === "ArrowDown" && !isHorizontal) delta = step;
101
+ else if (e.key === "ArrowLeft" && isHorizontal) delta = -step;
102
+ else if (e.key === "ArrowRight" && isHorizontal) delta = step;
103
+ else if (e.key === "Home" && this._grid && this._startNode) {
104
+ const rect = this._startNode.getBoundingClientRect();
105
+ delta = isHorizontal ? -rect.width : -rect.height;
106
+ } else if (e.key === "End" && this._grid && this._endNode) {
107
+ const rect = this._endNode.getBoundingClientRect();
108
+ delta = isHorizontal ? rect.width : rect.height;
109
+ }
110
+ if (delta !== 0) this._handleKeyboardResize(delta);
111
+ };
112
+ }
113
+ static {
114
+ this.styles = resizer_handle_default$1;
115
+ }
116
+ setSyntheticHoverState(isHovered) {
117
+ this.toggleAttribute("data-synthetic-hover", isHovered);
118
+ this.requestUpdate();
119
+ }
120
+ setSyntheticActiveState(isActive) {
121
+ this.toggleAttribute("data-synthetic-active", isActive);
122
+ this.requestUpdate();
123
+ }
124
+ get pivot() {
125
+ return this._pivot;
126
+ }
127
+ connectedCallback() {
128
+ super.connectedCallback();
129
+ this._initializeComponent();
130
+ this._setupEventListeners();
131
+ }
132
+ firstUpdated() {
133
+ if (this._grid && this._startNode && this._endNode) requestAnimationFrame(() => {
134
+ this._updateAriaAttributes();
135
+ });
136
+ }
137
+ disconnectedCallback() {
138
+ this._cleanup();
139
+ super.disconnectedCallback();
140
+ }
141
+ _initializeComponent() {
142
+ this._grid = safeClosest(this, SELECTORS.GRID) || void 0;
143
+ const slot = this.getAttribute("slot");
144
+ const cursor = getComputedStyle(this).cursor;
145
+ this.axis = determineAxis(slot, cursor);
146
+ if (this._grid) {
147
+ const panels = safeQuerySelectorAll(this._grid, SELECTORS.PANEL);
148
+ if (this.axis === "x") {
149
+ this._startNode = panels.find((p) => p.slot === SLOTS.LEFT);
150
+ this._endNode = panels.find((p) => p.slot === SLOTS.RIGHT);
151
+ } else {
152
+ this._startNode = panels.find((p) => p.slot === SLOTS.TOP);
153
+ this._endNode = panels.find((p) => p.slot === SLOTS.BOTTOM);
154
+ }
155
+ }
156
+ this._setupAccessibility();
157
+ }
158
+ _setupAccessibility() {
159
+ this.setAttribute("role", ARIA.ROLE_SEPARATOR);
160
+ this.setAttribute("tabindex", "0");
161
+ this.setAttribute("aria-orientation", getOrientationFromAxis(this.axis));
162
+ this.setAttribute("aria-live", ARIA.LIVE_ASSERTIVE);
163
+ if (this._grid && this._startNode && this._endNode) {
164
+ this.setAttribute("aria-valuenow", ARIA.VALUE_DEFAULT);
165
+ this.setAttribute("aria-valuemin", ARIA.VALUE_MIN);
166
+ this.setAttribute("aria-valuemax", ARIA.VALUE_MAX);
167
+ this.setAttribute("aria-valuetext", formatSplitRatio(50));
168
+ }
169
+ }
170
+ _setupEventListeners() {
171
+ this._boundStartDrag = this._handlePointerDown.bind(this);
172
+ this._boundHandleKeyDown = this._handleKeyDown.bind(this);
173
+ this.addEventListener("pointerdown", this._boundStartDrag);
174
+ this.addEventListener("keydown", this._boundHandleKeyDown);
175
+ }
176
+ _cleanup() {
177
+ if (this._boundStartDrag) {
178
+ this.removeEventListener("pointerdown", this._boundStartDrag);
179
+ this._boundStartDrag = void 0;
180
+ }
181
+ if (this._boundHandleKeyDown) {
182
+ this.removeEventListener("keydown", this._boundHandleKeyDown);
183
+ this._boundHandleKeyDown = void 0;
184
+ }
185
+ if (this._boundMove) {
186
+ window.removeEventListener("pointermove", this._boundMove);
187
+ this._boundMove = void 0;
188
+ }
189
+ if (this._boundStop) {
190
+ window.removeEventListener("pointerup", this._boundStop);
191
+ this._boundStop = void 0;
192
+ }
193
+ this.removeAttribute("data-synthetic-hover");
194
+ this.removeAttribute("data-synthetic-active");
195
+ this._isDragging = false;
196
+ }
197
+ get _pivot() {
198
+ const panel = safeClosest(this, SELECTORS.PANEL);
199
+ if (!panel) return void 0;
200
+ const slot = panel.getAttribute("slot");
201
+ if (slot === SLOTS.LEFT) return "end";
202
+ if (slot === SLOTS.RIGHT) return "start";
203
+ }
204
+ _updateAriaAttributes() {
205
+ if (!this._grid || !this._startNode || !this._endNode) return;
206
+ const rectStart = this._startNode.getBoundingClientRect();
207
+ const rectEnd = this._endNode.getBoundingClientRect();
208
+ const isHorizontal = this.axis === "x";
209
+ const startSize = isHorizontal ? rectStart.width : rectStart.height;
210
+ const totalSize = startSize + (isHorizontal ? rectEnd.width : rectEnd.height);
211
+ if (totalSize > 0) {
212
+ const percentage = Math.round(startSize / totalSize * 100);
213
+ this.setAttribute("aria-valuenow", percentage.toString());
214
+ this.setAttribute("aria-valuemin", ARIA.VALUE_MIN);
215
+ this.setAttribute("aria-valuemax", ARIA.VALUE_MAX);
216
+ this.setAttribute("aria-valuetext", formatSplitRatio(percentage));
217
+ }
218
+ }
219
+ _detectDoubleTap(e) {
220
+ const now = Date.now();
221
+ const dt = now - this._lastTapTime;
222
+ const currentPos = {
223
+ x: e.clientX,
224
+ y: e.clientY
225
+ };
226
+ if (dt < DOUBLE_TAP.MAX_TIME_MS && isWithinDistance(currentPos, this._lastTapPosition, DOUBLE_TAP.MAX_DISTANCE_PX)) {
227
+ triggerHapticFeedback(DOUBLE_TAP.VIBRATION_MS);
228
+ this.resetSizes(e);
229
+ this._lastTapTime = 0;
230
+ return true;
231
+ }
232
+ this._lastTapTime = now;
233
+ this._lastTapPosition = currentPos;
234
+ return false;
235
+ }
236
+ _createMoveHandler(startValue) {
237
+ return (e) => {
238
+ if (!this._isDragging) return;
239
+ const delta = (this.axis === "x" ? e.clientX : e.clientY) - startValue;
240
+ const position = {
241
+ x: e.clientX,
242
+ y: e.clientY
243
+ };
244
+ this.dispatchEvent(createCustomEvent(EVENTS.RESIZE_DRAG, {
245
+ axis: this.axis,
246
+ delta,
247
+ position
248
+ }));
249
+ if (this._grid && this._startNode && this._endNode) this._updateGridSizes(delta);
250
+ };
251
+ }
252
+ _createStopHandler(startValue) {
253
+ return (e) => {
254
+ const delta = (this.axis === "x" ? e.clientX : e.clientY) - startValue;
255
+ const position = {
256
+ x: e.clientX,
257
+ y: e.clientY
258
+ };
259
+ this.dispatchEvent(createCustomEvent(EVENTS.RESIZE_END, {
260
+ axis: this.axis,
261
+ delta,
262
+ position
263
+ }));
264
+ if (this._boundMove) {
265
+ window.removeEventListener("pointermove", this._boundMove);
266
+ this._boundMove = void 0;
267
+ }
268
+ if (this._boundStop) {
269
+ window.removeEventListener("pointerup", this._boundStop);
270
+ this._boundStop = void 0;
271
+ }
272
+ if (this._grid) this._grid.style.removeProperty("transition");
273
+ this._isDragging = false;
274
+ this.setSyntheticActiveState(false);
275
+ };
276
+ }
277
+ _updateGridSizes(delta) {
278
+ if (!this._grid) return;
279
+ this._grid.style.transition = "none";
280
+ const start = this._startSize + delta;
281
+ const end = this._endSize - delta;
282
+ const total = start + end || 1;
283
+ this._grid.style.setProperty("--start-element-size", `${calculateFlexRatio(start, total)}fr`);
284
+ this._grid.style.setProperty("--end-element-size", `${calculateFlexRatio(end, total)}fr`);
285
+ this._updateAriaAttributes();
286
+ }
287
+ _handleKeyboardResize(delta) {
288
+ const position = {
289
+ x: 0,
290
+ y: 0
291
+ };
292
+ this.dispatchEvent(createCustomEvent(EVENTS.RESIZE_START, {
293
+ axis: this.axis,
294
+ startPosition: position
295
+ }));
296
+ if (this._grid && this._startNode && this._endNode) {
297
+ const rectStart = this._startNode.getBoundingClientRect();
298
+ const rectEnd = this._endNode.getBoundingClientRect();
299
+ const isHorizontal = this.axis === "x";
300
+ this._startSize = isHorizontal ? rectStart.width : rectStart.height;
301
+ this._endSize = isHorizontal ? rectEnd.width : rectEnd.height;
302
+ const start = this._startSize + delta;
303
+ const end = this._endSize - delta;
304
+ const total = start + end || 1;
305
+ this._grid.style.setProperty("--start-element-size", `${calculateFlexRatio(start, total)}fr`);
306
+ this._grid.style.setProperty("--end-element-size", `${calculateFlexRatio(end, total)}fr`);
307
+ this._updateAriaAttributes();
308
+ }
309
+ this.dispatchEvent(createCustomEvent(EVENTS.RESIZE_DRAG, {
310
+ axis: this.axis,
311
+ delta,
312
+ position
313
+ }));
314
+ this.dispatchEvent(createCustomEvent(EVENTS.RESIZE_END, {
315
+ axis: this.axis,
316
+ delta,
317
+ position
318
+ }));
319
+ }
320
+ render() {
321
+ return html`
322
+ <div class="handle-content">
323
+ <span class="sr-only">
324
+ Use arrow keys to resize, hold Shift for larger steps. Double-click to
325
+ reset.
326
+ </span>
327
+ <div>
328
+ ${this._pivot === "start" ? html`<slot name="${SLOTS.PIVOT}"></slot>` : ""}
329
+ </div>
330
+ <div class="icon-container" part="icon-container">
331
+ <slot name="${SLOTS.ICON}"></slot>
332
+ </div>
333
+ <div>
334
+ ${this._pivot === "end" ? html`<slot name="${SLOTS.PIVOT}"></slot>` : ""}
335
+ </div>
336
+ </div>
337
+ `;
338
+ }
339
+ };
340
+ __decorate([property({
341
+ type: String,
342
+ reflect: true
343
+ })], CDSResizerHandle.prototype, "axis", void 0);
344
+ __decorate([state()], CDSResizerHandle.prototype, "_isDragging", void 0);
345
+ CDSResizerHandle = __decorate([carbonElement(`cds-custom-resizer-handle`)], CDSResizerHandle);
346
+ var resizer_handle_default = CDSResizerHandle;
347
+ //#endregion
348
+ export { resizer_handle_default as default };
349
+
350
+ //# sourceMappingURL=resizer-handle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resizer-handle.js","names":["styles","customElement"],"sources":["../../../src/components/resizer/resizer-handle.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2026, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport styles from './resizer-handle.scss?lit';\nimport type { ResizerAxis, Position } from './defs';\nimport {\n DOUBLE_TAP,\n KEYBOARD,\n ARIA,\n SELECTORS,\n SLOTS,\n EVENTS,\n determineAxis,\n calculateFlexRatio,\n formatSplitRatio,\n isWithinDistance,\n triggerHapticFeedback,\n createCustomEvent,\n getOrientationFromAxis,\n safeClosest,\n safeQuerySelectorAll,\n} from './defs';\n\n/**\n * Resizer handle component for resizing panels.\n * @element cds-custom-resizer-handle\n * @fires resize-start - Fired when dragging starts\n * @fires resize-drag - Fired during dragging (detail: { axis, delta, position })\n * @fires resize-end - Fired when dragging ends (detail: { axis, delta, position })\n * @fires resize-reset - Fired on double-tap / double-click\n */\n@customElement(`${prefix}-resizer-handle`)\nclass CDSResizerHandle extends LitElement {\n static styles = styles;\n\n /** Resize axis — determined automatically from slot, or set explicitly. */\n @property({ type: String, reflect: true })\n axis: ResizerAxis = 'y';\n\n @state()\n private _isDragging = false;\n\n private _startNode?: HTMLElement;\n private _endNode?: HTMLElement;\n private _grid?: HTMLElement;\n private _startSize = 0;\n private _endSize = 0;\n private _lastTapTime = 0;\n private _lastTapPosition: Position = { x: 0, y: 0 };\n\n private _boundStartDrag?: (e: PointerEvent) => void;\n private _boundHandleKeyDown?: (e: KeyboardEvent) => void;\n private _boundMove?: (e: PointerEvent) => void;\n private _boundStop?: (e: PointerEvent) => void;\n\n // ─── Public API (used by resizer-handle-pivot) ──────────────────────────────\n\n setSyntheticHoverState(isHovered: boolean): void {\n this.toggleAttribute('data-synthetic-hover', isHovered);\n this.requestUpdate();\n }\n\n setSyntheticActiveState(isActive: boolean): void {\n this.toggleAttribute('data-synthetic-active', isActive);\n this.requestUpdate();\n }\n\n /** Start dragging (called by pivot component). */\n startDrag = (e: PointerEvent): void => {\n this._handlePointerDown(e);\n };\n\n /** Reset panel sizes to default (called by pivot component or double-click). */\n resetSizes = (e: MouseEvent): void => {\n e.preventDefault();\n this.dispatchEvent(createCustomEvent(EVENTS.RESIZE_RESET));\n\n if (this._grid) {\n this._grid.style.removeProperty('--start-element-size');\n this._grid.style.removeProperty('--end-element-size');\n const handleTransitionEnd = () => {\n this._updateAriaAttributes();\n this._grid?.removeEventListener('transitionend', handleTransitionEnd);\n };\n this._grid.addEventListener('transitionend', handleTransitionEnd, {\n once: true,\n });\n }\n };\n\n get pivot(): 'start' | 'end' | undefined {\n return this._pivot;\n }\n\n // ─── Lifecycle ──────────────────────────────────────────────────────────────\n\n connectedCallback() {\n super.connectedCallback();\n this._initializeComponent();\n this._setupEventListeners();\n }\n\n firstUpdated(): void {\n if (this._grid && this._startNode && this._endNode) {\n requestAnimationFrame(() => {\n this._updateAriaAttributes();\n });\n }\n }\n\n disconnectedCallback() {\n this._cleanup();\n super.disconnectedCallback();\n }\n\n // ─── Internals ──────────────────────────────────────────────────────────────\n\n private _initializeComponent(): void {\n this._grid = safeClosest(this, SELECTORS.GRID) || undefined;\n\n const slot = this.getAttribute('slot');\n const cursor = getComputedStyle(this).cursor;\n this.axis = determineAxis(slot, cursor);\n\n if (this._grid) {\n const panels = safeQuerySelectorAll<HTMLElement>(\n this._grid,\n SELECTORS.PANEL\n );\n if (this.axis === 'x') {\n this._startNode = panels.find((p) => p.slot === SLOTS.LEFT);\n this._endNode = panels.find((p) => p.slot === SLOTS.RIGHT);\n } else {\n this._startNode = panels.find((p) => p.slot === SLOTS.TOP);\n this._endNode = panels.find((p) => p.slot === SLOTS.BOTTOM);\n }\n }\n\n this._setupAccessibility();\n }\n\n private _setupAccessibility(): void {\n this.setAttribute('role', ARIA.ROLE_SEPARATOR);\n this.setAttribute('tabindex', '0');\n this.setAttribute('aria-orientation', getOrientationFromAxis(this.axis));\n this.setAttribute('aria-live', ARIA.LIVE_ASSERTIVE);\n if (this._grid && this._startNode && this._endNode) {\n this.setAttribute('aria-valuenow', ARIA.VALUE_DEFAULT);\n this.setAttribute('aria-valuemin', ARIA.VALUE_MIN);\n this.setAttribute('aria-valuemax', ARIA.VALUE_MAX);\n this.setAttribute('aria-valuetext', formatSplitRatio(50));\n }\n }\n\n private _setupEventListeners(): void {\n this._boundStartDrag = this._handlePointerDown.bind(this);\n this._boundHandleKeyDown = this._handleKeyDown.bind(this);\n this.addEventListener('pointerdown', this._boundStartDrag);\n this.addEventListener('keydown', this._boundHandleKeyDown);\n }\n\n private _cleanup(): void {\n if (this._boundStartDrag) {\n this.removeEventListener('pointerdown', this._boundStartDrag);\n this._boundStartDrag = undefined;\n }\n if (this._boundHandleKeyDown) {\n this.removeEventListener('keydown', this._boundHandleKeyDown);\n this._boundHandleKeyDown = undefined;\n }\n if (this._boundMove) {\n window.removeEventListener('pointermove', this._boundMove);\n this._boundMove = undefined;\n }\n if (this._boundStop) {\n window.removeEventListener('pointerup', this._boundStop);\n this._boundStop = undefined;\n }\n this.removeAttribute('data-synthetic-hover');\n this.removeAttribute('data-synthetic-active');\n this._isDragging = false;\n }\n\n private get _pivot(): 'start' | 'end' | undefined {\n const panel = safeClosest(this, SELECTORS.PANEL);\n if (!panel) return undefined;\n const slot = panel.getAttribute('slot');\n if (slot === SLOTS.LEFT) return 'end';\n if (slot === SLOTS.RIGHT) return 'start';\n return undefined;\n }\n\n private _updateAriaAttributes(): void {\n if (!this._grid || !this._startNode || !this._endNode) return;\n const rectStart = this._startNode.getBoundingClientRect();\n const rectEnd = this._endNode.getBoundingClientRect();\n const isHorizontal = this.axis === 'x';\n const startSize = isHorizontal ? rectStart.width : rectStart.height;\n const endSize = isHorizontal ? rectEnd.width : rectEnd.height;\n const totalSize = startSize + endSize;\n if (totalSize > 0) {\n const percentage = Math.round((startSize / totalSize) * 100);\n this.setAttribute('aria-valuenow', percentage.toString());\n this.setAttribute('aria-valuemin', ARIA.VALUE_MIN);\n this.setAttribute('aria-valuemax', ARIA.VALUE_MAX);\n this.setAttribute('aria-valuetext', formatSplitRatio(percentage));\n }\n }\n\n private _detectDoubleTap(e: PointerEvent): boolean {\n const now = Date.now();\n const dt = now - this._lastTapTime;\n const currentPos: Position = { x: e.clientX, y: e.clientY };\n if (\n dt < DOUBLE_TAP.MAX_TIME_MS &&\n isWithinDistance(\n currentPos,\n this._lastTapPosition,\n DOUBLE_TAP.MAX_DISTANCE_PX\n )\n ) {\n triggerHapticFeedback(DOUBLE_TAP.VIBRATION_MS);\n this.resetSizes(e as MouseEvent);\n this._lastTapTime = 0;\n return true;\n }\n this._lastTapTime = now;\n this._lastTapPosition = currentPos;\n return false;\n }\n\n private _handlePointerDown = (e: PointerEvent): void => {\n if (this._detectDoubleTap(e)) return;\n e.preventDefault();\n this._isDragging = true;\n this.setSyntheticActiveState(true);\n\n const startPosition: Position = { x: e.clientX, y: e.clientY };\n const startValue = this.axis === 'x' ? e.clientX : e.clientY;\n\n this.dispatchEvent(\n createCustomEvent(EVENTS.RESIZE_START, { axis: this.axis, startPosition })\n );\n\n if (this._grid && this._startNode && this._endNode) {\n const rectStart = this._startNode.getBoundingClientRect();\n const rectEnd = this._endNode.getBoundingClientRect();\n this._startSize = this.axis === 'x' ? rectStart.width : rectStart.height;\n this._endSize = this.axis === 'x' ? rectEnd.width : rectEnd.height;\n }\n\n this._boundMove = this._createMoveHandler(startValue);\n this._boundStop = this._createStopHandler(startValue);\n window.addEventListener('pointermove', this._boundMove);\n window.addEventListener('pointerup', this._boundStop);\n };\n\n private _createMoveHandler(startValue: number): (e: PointerEvent) => void {\n return (e: PointerEvent) => {\n if (!this._isDragging) return;\n const currentValue = this.axis === 'x' ? e.clientX : e.clientY;\n const delta = currentValue - startValue;\n const position: Position = { x: e.clientX, y: e.clientY };\n this.dispatchEvent(\n createCustomEvent(EVENTS.RESIZE_DRAG, {\n axis: this.axis,\n delta,\n position,\n })\n );\n if (this._grid && this._startNode && this._endNode) {\n this._updateGridSizes(delta);\n }\n };\n }\n\n private _createStopHandler(startValue: number): (e: PointerEvent) => void {\n return (e: PointerEvent) => {\n const currentValue = this.axis === 'x' ? e.clientX : e.clientY;\n const delta = currentValue - startValue;\n const position: Position = { x: e.clientX, y: e.clientY };\n this.dispatchEvent(\n createCustomEvent(EVENTS.RESIZE_END, {\n axis: this.axis,\n delta,\n position,\n })\n );\n if (this._boundMove) {\n window.removeEventListener('pointermove', this._boundMove);\n this._boundMove = undefined;\n }\n if (this._boundStop) {\n window.removeEventListener('pointerup', this._boundStop);\n this._boundStop = undefined;\n }\n if (this._grid) this._grid.style.removeProperty('transition');\n this._isDragging = false;\n this.setSyntheticActiveState(false);\n };\n }\n\n private _updateGridSizes(delta: number): void {\n if (!this._grid) return;\n this._grid.style.transition = 'none';\n const start = this._startSize + delta;\n const end = this._endSize - delta;\n const total = start + end || 1;\n this._grid.style.setProperty(\n '--start-element-size',\n `${calculateFlexRatio(start, total)}fr`\n );\n this._grid.style.setProperty(\n '--end-element-size',\n `${calculateFlexRatio(end, total)}fr`\n );\n this._updateAriaAttributes();\n }\n\n private _handleKeyDown = (e: KeyboardEvent): void => {\n const navKeys = [\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n 'Home',\n 'End',\n 'PageUp',\n 'PageDown',\n ];\n if (!navKeys.includes(e.key)) return;\n e.preventDefault();\n e.stopPropagation();\n\n const step = e.shiftKey ? KEYBOARD.LARGE_STEP_PX : KEYBOARD.DEFAULT_STEP_PX;\n const isHorizontal = this.axis === 'x';\n let delta = 0;\n\n if (e.key === 'ArrowUp' && !isHorizontal) delta = -step;\n else if (e.key === 'ArrowDown' && !isHorizontal) delta = step;\n else if (e.key === 'ArrowLeft' && isHorizontal) delta = -step;\n else if (e.key === 'ArrowRight' && isHorizontal) delta = step;\n else if (e.key === 'Home' && this._grid && this._startNode) {\n const rect = this._startNode.getBoundingClientRect();\n delta = isHorizontal ? -rect.width : -rect.height;\n } else if (e.key === 'End' && this._grid && this._endNode) {\n const rect = this._endNode.getBoundingClientRect();\n delta = isHorizontal ? rect.width : rect.height;\n }\n\n if (delta !== 0) this._handleKeyboardResize(delta);\n };\n\n private _handleKeyboardResize(delta: number): void {\n const position: Position = { x: 0, y: 0 };\n this.dispatchEvent(\n createCustomEvent(EVENTS.RESIZE_START, {\n axis: this.axis,\n startPosition: position,\n })\n );\n if (this._grid && this._startNode && this._endNode) {\n const rectStart = this._startNode.getBoundingClientRect();\n const rectEnd = this._endNode.getBoundingClientRect();\n const isHorizontal = this.axis === 'x';\n this._startSize = isHorizontal ? rectStart.width : rectStart.height;\n this._endSize = isHorizontal ? rectEnd.width : rectEnd.height;\n const start = this._startSize + delta;\n const end = this._endSize - delta;\n const total = start + end || 1;\n this._grid.style.setProperty(\n '--start-element-size',\n `${calculateFlexRatio(start, total)}fr`\n );\n this._grid.style.setProperty(\n '--end-element-size',\n `${calculateFlexRatio(end, total)}fr`\n );\n this._updateAriaAttributes();\n }\n this.dispatchEvent(\n createCustomEvent(EVENTS.RESIZE_DRAG, {\n axis: this.axis,\n delta,\n position,\n })\n );\n this.dispatchEvent(\n createCustomEvent(EVENTS.RESIZE_END, { axis: this.axis, delta, position })\n );\n }\n\n render() {\n return html`\n <div class=\"handle-content\">\n <span class=\"sr-only\">\n Use arrow keys to resize, hold Shift for larger steps. Double-click to\n reset.\n </span>\n <div>\n ${this._pivot === 'start'\n ? html`<slot name=\"${SLOTS.PIVOT}\"></slot>`\n : ''}\n </div>\n <div class=\"icon-container\" part=\"icon-container\">\n <slot name=\"${SLOTS.ICON}\"></slot>\n </div>\n <div>\n ${this._pivot === 'end'\n ? html`<slot name=\"${SLOTS.PIVOT}\"></slot>`\n : ''}\n </div>\n </div>\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cds-custom-resizer-handle': CDSResizerHandle;\n }\n}\n\nexport default CDSResizerHandle;\n"],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright IBM Corp. 2026
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 { css } from "lit";
9
+ //#region src/components/resizer/resizer-handle.scss?lit
10
+ var resizer_handle_default = css([".handle-content{display:flex;block-size:100%;inline-size:100%}.icon-container{display:flex;flex-grow:1;align-items:center;justify-content:center;block-size:100%}:host{display:grid;background:var(--cds-border-subtle);cursor:ns-resize;min-block-size:max(1px,var(--resizer-thickness));min-inline-size:max(1px,var(--resizer-thickness));touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}:host .icon-container{position:relative}:host .icon-container:before{position:absolute;background-color:var(--resizer-grab-color);block-size:calc(max(1px, var(--resizer-thickness)) + max(0px, var(--resizer-grab-thickness)));content:\"\";inline-size:100%;inset-inline-start:0}@media (prefers-reduced-motion:no-preference){:host(:hover),:host([data-synthetic-hover]){background-color:var(--cds-border-interactive);transition:background-color var(--cds-duration-moderate-01)}}:host(:focus){background-color:var(--cds-border-interactive);outline:none}:host(:active),:host([data-synthetic-active]){background-color:var(--cds-border-interactive)}:host(:focus:not(:focus-visible)){box-shadow:none;outline:none}:host([orientation=horizontal]),:host([slot=handle-horizontal]){cursor:ew-resize}:host([orientation=horizontal]) .icon-container,:host([slot=handle-horizontal]) .icon-container{position:relative}:host([orientation=horizontal]) .icon-container:before,:host([slot=handle-horizontal]) .icon-container:before{position:absolute;background-color:var(--resizer-grab-color);block-size:100%;content:\"\";inline-size:calc(max(1px, var(--resizer-thickness)) + max(0px, var(--resizer-grab-thickness)));inset-block-start:0;inset-inline-start:auto}:host([orientation=vertical]),:host([slot=handle-vertical]){cursor:ns-resize;min-inline-size:0}:host([orientation=vertical]) .icon-container,:host([slot=handle-vertical]) .icon-container{position:relative}:host([orientation=vertical]) .icon-container:before,:host([slot=handle-vertical]) .icon-container:before{position:absolute;background-color:var(--resizer-grab-color);block-size:calc(max(1px, var(--resizer-thickness)) + max(0px, var(--resizer-grab-thickness)));content:\"\";inline-size:100%;inset-inline-start:0}.sr-only{position:absolute;overflow:hidden;padding:0;border:0;margin:-1px;block-size:1px;clip:rect(0,0,0,0);inline-size:1px;white-space:nowrap}"]);
11
+ //#endregion
12
+ export { resizer_handle_default as default };
13
+
14
+ //# sourceMappingURL=resizer-handle.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resizer-handle.scss.js","names":[],"sources":["../../../src/components/resizer/resizer-handle.scss?lit"],"sourcesContent":["/**\n * Copyright IBM Corp. 2026, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n.handle-content {\n display: flex;\n block-size: 100%;\n inline-size: 100%;\n}\n\n.icon-container {\n display: flex;\n flex-grow: 1;\n align-items: center;\n justify-content: center;\n block-size: 100%;\n}\n\n:host {\n display: grid;\n background: var(--cds-border-subtle);\n cursor: ns-resize;\n min-block-size: max(1px, var(--resizer-thickness));\n min-inline-size: max(1px, var(--resizer-thickness));\n touch-action: none;\n -webkit-user-select: none;\n -ms-user-select: none;\n user-select: none;\n\n .icon-container {\n position: relative;\n\n &::before {\n position: absolute;\n background-color: var(--resizer-grab-color);\n block-size: calc(\n max(1px, var(--resizer-thickness)) +\n max(0px, var(--resizer-grab-thickness))\n );\n content: '';\n inline-size: 100%;\n inset-inline-start: 0;\n }\n }\n}\n\n:host(:hover),\n:host([data-synthetic-hover]) {\n @media (prefers-reduced-motion: no-preference) {\n background-color: var(--cds-border-interactive);\n transition: background-color var(--cds-duration-moderate-01);\n }\n}\n\n:host(:focus) {\n background-color: var(--cds-border-interactive);\n outline: none;\n}\n\n:host(:active),\n:host([data-synthetic-active]) {\n background-color: var(--cds-border-interactive);\n}\n\n:host(:focus:not(:focus-visible)) {\n box-shadow: none;\n outline: none;\n}\n\n:host([slot='handle-horizontal']),\n:host([orientation='horizontal']) {\n cursor: ew-resize;\n\n .icon-container {\n position: relative;\n\n &::before {\n position: absolute;\n background-color: var(--resizer-grab-color);\n block-size: 100%;\n content: '';\n inline-size: calc(\n max(1px, var(--resizer-thickness)) +\n max(0px, var(--resizer-grab-thickness))\n );\n inset-block-start: 0;\n inset-inline-start: auto;\n }\n }\n}\n\n:host([slot='handle-vertical']),\n:host([orientation='vertical']) {\n cursor: ns-resize;\n min-inline-size: 0;\n\n .icon-container {\n position: relative;\n\n &::before {\n position: absolute;\n background-color: var(--resizer-grab-color);\n block-size: calc(\n max(1px, var(--resizer-thickness)) +\n max(0px, var(--resizer-grab-thickness))\n );\n content: '';\n inline-size: 100%;\n inset-inline-start: 0;\n }\n }\n}\n\n.sr-only {\n position: absolute;\n overflow: hidden;\n padding: 0;\n border: 0;\n margin: -1px;\n block-size: 1px;\n clip: rect(0, 0, 0, 0);\n inline-size: 1px;\n white-space: nowrap;\n}\n"],"mappings":""}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Copyright IBM Corp. 2026, 2026
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
+ import { LitElement } from 'lit';
8
+ /**
9
+ * Resizer panel component for resizable content areas.
10
+ * @element cds-custom-resizer-panel
11
+ */
12
+ declare class CDSResizerPanel extends LitElement {
13
+ static styles: any;
14
+ render(): import("lit-html").TemplateResult<1>;
15
+ }
16
+ declare global {
17
+ interface HTMLElementTagNameMap {
18
+ 'cds-custom-resizer-panel': CDSResizerPanel;
19
+ }
20
+ }
21
+ export default CDSResizerPanel;
22
+ //# sourceMappingURL=resizer-panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resizer-panel.d.ts","sourceRoot":"","sources":["../../../src/components/resizer/resizer-panel.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAQ,MAAM,KAAK,CAAC;AAKvC;;;GAGG;AACH,cACM,eAAgB,SAAQ,UAAU;IACtC,MAAM,CAAC,MAAM,MAAU;IAEvB,MAAM;CAGP;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,eAAe,CAAC;KACtC;CACF;AAED,eAAe,eAAe,CAAC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Copyright IBM Corp. 2026
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 "../../globals/settings.js";
9
+ import { carbonElement } from "../../globals/decorators/carbon-element.js";
10
+ import __decorate from "../../_virtual/_@oxc-project_runtime@0.139.0/helpers/esm/decorate.js";
11
+ import resizer_panel_default$1 from "./resizer-panel.scss.js";
12
+ import { LitElement, html } from "lit";
13
+ //#region src/components/resizer/resizer-panel.ts
14
+ /**
15
+ * Copyright IBM Corp. 2026, 2026
16
+ *
17
+ * This source code is licensed under the Apache-2.0 license found in the
18
+ * LICENSE file in the root directory of this source tree.
19
+ */
20
+ /**
21
+ * Resizer panel component for resizable content areas.
22
+ * @element cds-custom-resizer-panel
23
+ */
24
+ let CDSResizerPanel = class CDSResizerPanel extends LitElement {
25
+ static {
26
+ this.styles = resizer_panel_default$1;
27
+ }
28
+ render() {
29
+ return html`<slot></slot>`;
30
+ }
31
+ };
32
+ CDSResizerPanel = __decorate([carbonElement(`cds-custom-resizer-panel`)], CDSResizerPanel);
33
+ var resizer_panel_default = CDSResizerPanel;
34
+ //#endregion
35
+ export { resizer_panel_default as default };
36
+
37
+ //# sourceMappingURL=resizer-panel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resizer-panel.js","names":["styles","customElement"],"sources":["../../../src/components/resizer/resizer-panel.ts"],"sourcesContent":["/**\n * Copyright IBM Corp. 2026, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { LitElement, html } from 'lit';\nimport { carbonElement as customElement } from '../../globals/decorators/carbon-element';\nimport { prefix } from '../../globals/settings';\nimport styles from './resizer-panel.scss?lit';\n\n/**\n * Resizer panel component for resizable content areas.\n * @element cds-custom-resizer-panel\n */\n@customElement(`${prefix}-resizer-panel`)\nclass CDSResizerPanel extends LitElement {\n static styles = styles;\n\n render() {\n return html`<slot></slot>`;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'cds-custom-resizer-panel': CDSResizerPanel;\n }\n}\n\nexport default CDSResizerPanel;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAgBA,IAAA,kBAAA,MACM,wBAAwB,WAAW;;gBACvBA;;CAEhB,SAAS;EACP,OAAO,IAAI;CACb;AACF;8BAPCC,cAAc,mBAAyB,CAAA,GAAA,eAAA;AAexC,IAAA,wBAAe"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Copyright IBM Corp. 2026
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 { css } from "lit";
9
+ //#region src/components/resizer/resizer-panel.scss?lit
10
+ var resizer_panel_default = css([":host{overflow:hidden}"]);
11
+ //#endregion
12
+ export { resizer_panel_default as default };
13
+
14
+ //# sourceMappingURL=resizer-panel.scss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resizer-panel.scss.js","names":[],"sources":["../../../src/components/resizer/resizer-panel.scss?lit"],"sourcesContent":["/**\n * Copyright IBM Corp. 2026, 2026\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n:host {\n overflow: hidden;\n}\n"],"mappings":""}
@@ -0,0 +1,9 @@
1
+ import '../../breadcrumb/index';
2
+ import '../../notification/index';
3
+ export declare const getContent: (index: any) => import("lit-html").TemplateResult<1> | null;
4
+ export declare const getSubTitle: (index: any) => import("lit-html").TemplateResult<1> | null;
5
+ export declare const getActionToolbarItems: (index: any) => import("lit-html").TemplateResult<1> | null;
6
+ export declare const getActionItems: (index: any) => import("lit-html").TemplateResult<1> | null;
7
+ export declare const getSlug: (index: any) => import("lit-html").TemplateResult<1> | null;
8
+ export declare const getCustomHeaderComponents: (index: any) => import("lit-html").TemplateResult<1> | null;
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/side-panel/_story-assets/index.ts"],"names":[],"mappings":"AAYA,OAAO,wBAAwB,CAAC;AAChC,OAAO,0BAA0B,CAAC;AAIlC,eAAO,MAAM,UAAU,GAAI,UAAK,gDAuD/B,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,UAAK,gDAYhC,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAAI,UAAK,gDA2B1C,CAAC;AAGF,eAAO,MAAM,cAAc,GAAI,UAAK,gDAsEnC,CAAC;AAEF,eAAO,MAAM,OAAO,GAAI,UAAK,gDAsB5B,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,UAAK,gDAoD9C,CAAC"}