@carbon/ibmdotcom-web-components 2.25.0 → 2.26.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 (80) hide show
  1. package/custom-elements.json +34 -0
  2. package/dist/dotcom-shell.js +6 -6
  3. package/dist/dotcom-shell.min.js +4 -4
  4. package/dist/ibmdotcom-web-components-dotcom-shell.js +6 -6
  5. package/dist/ibmdotcom-web-components-dotcom-shell.min.js +4 -4
  6. package/dist/{index-1dfaa907.js → index-a32abdb4.js} +10 -10
  7. package/dist/{index-8e5904a0.js → index-deaa3dbf.js} +7 -7
  8. package/dist/{left-nav-menu-ee66480f.js → left-nav-menu-897b00e7.js} +6 -6
  9. package/dist/{left-nav-menu-08b77355.js → left-nav-menu-b4069e95.js} +4 -4
  10. package/dist/{left-nav-menu-category-heading-907c5870.js → left-nav-menu-category-heading-2ea4ff02.js} +6 -6
  11. package/dist/{left-nav-menu-category-heading-1874e85f.js → left-nav-menu-category-heading-4bac199c.js} +4 -4
  12. package/dist/{left-nav-menu-item-463c0a47.js → left-nav-menu-item-327fea7e.js} +4 -4
  13. package/dist/{left-nav-menu-item-62b3aeb4.js → left-nav-menu-item-f9684776.js} +6 -6
  14. package/dist/{left-nav-menu-section-620f3e39.js → left-nav-menu-section-1ec9a148.js} +6 -6
  15. package/dist/{left-nav-menu-section-36fa5f37.js → left-nav-menu-section-c2bd7681.js} +4 -4
  16. package/dist/{left-nav-overlay-11083652.js → left-nav-overlay-4180d21e.js} +4 -4
  17. package/dist/{left-nav-overlay-4aa89969.js → left-nav-overlay-66939887.js} +6 -6
  18. package/dist/{megamenu-category-group-38ebe02a.js → megamenu-category-group-768fb88e.js} +4 -4
  19. package/dist/{megamenu-category-group-768aa48a.js → megamenu-category-group-90406acb.js} +6 -6
  20. package/dist/{megamenu-category-group-copy-0036630c.js → megamenu-category-group-copy-b7446957.js} +6 -6
  21. package/dist/{megamenu-category-group-copy-0770e2d1.js → megamenu-category-group-copy-b82b6fbd.js} +4 -4
  22. package/dist/{megamenu-category-heading-25325ce1.js → megamenu-category-heading-5c15169c.js} +6 -6
  23. package/dist/{megamenu-category-heading-5fae5a7f.js → megamenu-category-heading-bf714d2d.js} +4 -4
  24. package/dist/{megamenu-category-link-3a79d2ea.js → megamenu-category-link-57607b4d.js} +8 -8
  25. package/dist/{megamenu-category-link-d1712222.js → megamenu-category-link-946fe0f7.js} +6 -6
  26. package/dist/{megamenu-category-link-group-ba6e3528.js → megamenu-category-link-group-0ab9f401.js} +6 -6
  27. package/dist/{megamenu-category-link-group-fe0164c9.js → megamenu-category-link-group-4aeebfe3.js} +4 -4
  28. package/dist/{megamenu-left-navigation-dba059eb.js → megamenu-left-navigation-8ef67743.js} +6 -6
  29. package/dist/{megamenu-left-navigation-29fdbefc.js → megamenu-left-navigation-98bb7a6e.js} +4 -4
  30. package/dist/{megamenu-overlay-899719ba.js → megamenu-overlay-0c76222d.js} +6 -6
  31. package/dist/{megamenu-overlay-6fcf6e91.js → megamenu-overlay-8a978980.js} +4 -4
  32. package/dist/{megamenu-tab-1a79a248.js → megamenu-tab-2ed6f468.js} +4 -4
  33. package/dist/{megamenu-tab-1835d1a2.js → megamenu-tab-37f4b709.js} +6 -6
  34. package/es/components/back-to-top/__stories__/back-to-top.stories.css.js +1 -1
  35. package/es/components/background-media/background-media.css.js +1 -1
  36. package/es/components/callout-quote/callout-quote.css.js +1 -1
  37. package/es/components/callout-with-media/callout-with-media.css.js +1 -1
  38. package/es/components/card-group/card-group.css.js +1 -1
  39. package/es/components/card-in-card/card-in-card.css.js +1 -1
  40. package/es/components/card-section-offset/card-section-offset.css.js +1 -1
  41. package/es/components/card-section-simple/card-section-simple.css.js +1 -1
  42. package/es/components/carousel/carousel.css.js +1 -1
  43. package/es/components/carousel/carousel.d.ts +1 -1
  44. package/es/components/carousel/carousel.js +5 -2
  45. package/es/components/carousel/carousel.js.map +1 -1
  46. package/es/components/content-block/content-block.css.js +1 -1
  47. package/es/components/content-block-cards/content-block-cards.css.js +1 -1
  48. package/es/components/content-block-horizontal/content-block-horizontal.css.js +1 -1
  49. package/es/components/content-block-media/content-block-media.css.js +1 -1
  50. package/es/components/content-block-segmented/content-block-segmented.css.js +1 -1
  51. package/es/components/content-block-simple/content-block-simple.css.js +1 -1
  52. package/es/components/content-item-row/content-item-row-media.css.js +1 -1
  53. package/es/components/content-item-row/content-item-row.css.js +1 -1
  54. package/es/components/cta/cta.css.js +1 -1
  55. package/es/components/feature-card/feature-card.css.js +1 -1
  56. package/es/components/global-banner/global-banner.css.js +1 -1
  57. package/es/components/image/image.css.js +1 -1
  58. package/es/components/leadspace/leadspace-heading.d.ts +2 -1
  59. package/es/components/leadspace/leadspace-heading.js +3 -2
  60. package/es/components/leadspace/leadspace-heading.js.map +1 -1
  61. package/es/components/leadspace/leadspace.css.js +1 -1
  62. package/es/components/leadspace-block/leadspace-block.css.js +1 -1
  63. package/es/components/leadspace-with-search/leadspace-with-search.css.js +1 -1
  64. package/es/components/link-list/link-list.css.js +1 -1
  65. package/es/components/logo-grid/logo-grid.css.js +1 -1
  66. package/es/components/masthead/masthead.css.js +1 -1
  67. package/es/components/quote/defs.d.ts +11 -1
  68. package/es/components/quote/defs.js +6 -1
  69. package/es/components/quote/defs.js.map +1 -1
  70. package/es/components/quote/quote.css.js +1 -1
  71. package/es/components/quote/quote.d.ts +7 -2
  72. package/es/components/quote/quote.js +183 -120
  73. package/es/components/quote/quote.js.map +1 -1
  74. package/es/components/tabs-extended-media/tabs-extended-media.css.js +1 -1
  75. package/es/components-react/leadspace/leadspace-heading.d.ts +1 -0
  76. package/es/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
  77. package/lib/components/quote/defs.js +7 -2
  78. package/lib/components/quote/defs.js.map +1 -1
  79. package/lib/internal/vendor/@carbon/ibmdotcom-utilities/utilities/settings/settings.js +2 -2
  80. package/package.json +5 -5
@@ -11,7 +11,8 @@ let _ = t => t,
11
11
  _t7,
12
12
  _t8,
13
13
  _t9,
14
- _t10;
14
+ _t10,
15
+ _t11;
15
16
  function _superPropGet(t, e, r, o) { var p = _get(_getPrototypeOf(1 & o ? t.prototype : t), e, r); return 2 & o ? function (t) { return p.apply(r, t); } : p; }
16
17
  /**
17
18
  * @license
@@ -26,7 +27,7 @@ import { property } from 'lit/decorators.js';
26
27
  import settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';
27
28
  import styles from "././quote.css.js";
28
29
  import StableSelectorMixin from "../../globals/mixins/stable-selector.js";
29
- import { QUOTE_TYPES } from "./defs.js";
30
+ import { APPEARANCE, QUOTE_TYPES } from "./defs.js";
30
31
  import "../horizontal-rule/horizontal-rule.js";
31
32
  import { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';
32
33
  import LocaleAPI from '@carbon/ibmdotcom-services/es/services/Locale/Locale.js';
@@ -91,6 +92,16 @@ let C4DQuote = _decorate([customElement(`${c4dPrefix}-quote`)], function (_initi
91
92
  })],
92
93
  key: "lc",
93
94
  value: void 0
95
+ }, {
96
+ kind: "field",
97
+ decorators: [property({
98
+ reflect: true,
99
+ attribute: 'appearance'
100
+ })],
101
+ key: "appearance",
102
+ value() {
103
+ return APPEARANCE.DEFAULT;
104
+ }
94
105
  }, {
95
106
  kind: "field",
96
107
  key: "_hasSourceHeading",
@@ -130,6 +141,10 @@ let C4DQuote = _decorate([customElement(`${c4dPrefix}-quote`)], function (_initi
130
141
  * `corner-bracket`: `「 」`;
131
142
  */
132
143
 
144
+ // Options: 'legacy' (default), 'card', 'bubble-quote' (last two are mobile only)
145
+
146
+ // 'legacy' (default)
147
+
133
148
  /**
134
149
  * `true` if there is source heading.
135
150
  */
@@ -173,131 +188,179 @@ let C4DQuote = _decorate([customElement(`${c4dPrefix}-quote`)], function (_initi
173
188
  }
174
189
  }, {
175
190
  kind: "method",
176
- key: "_renderQuote",
177
- value: function _renderQuote() {
191
+ key: "_getQuoteMarks",
192
+ value: function _getQuoteMarks() {
178
193
  switch (this.markType) {
179
194
  case QUOTE_TYPES.SINGLE_CURVED:
180
- return html(_t || (_t = _`
181
- <span class="${0}--quote__mark" part="mark mark--opening"
182
- >‘</span
183
- >
184
- <blockquote class="${0}--quote__copy" part="copy">
185
- <slot></slot
186
- ><span
187
- class="${0}--quote__mark-closing"
188
- part="mark mark--closing"
189
- >’</span
190
- >
191
- </blockquote>
192
- `), prefix, prefix, prefix);
195
+ return {
196
+ open: '‘',
197
+ close: '’'
198
+ };
193
199
  case QUOTE_TYPES.DOUBLE_ANGLE:
194
- return html(_t2 || (_t2 = _`
195
- <span class="${0}--quote__mark" part="mark mark--opening"
196
- >«</span
197
- >
198
- <blockquote class="${0}--quote__copy" part="copy">
199
- <slot></slot
200
- ><span
201
- class="${0}--quote__mark-closing"
202
- part="mark mark--closing"
203
- >»</span
204
- >
205
- </blockquote>
206
- `), prefix, prefix, prefix);
200
+ return {
201
+ open: '«',
202
+ close: '»'
203
+ };
207
204
  case QUOTE_TYPES.SINGLE_ANGLE:
208
- return html(_t3 || (_t3 = _`
209
- <span class="${0}--quote__mark" part="mark mark--opening"
210
- >‹</span
211
- >
212
- <blockquote class="${0}--quote__copy" part="copy">
213
- <slot></slot
214
- ><span
215
- class="${0}--quote__mark-closing"
216
- part="mark mark--closing"
217
- >›</span
218
- >
219
- </blockquote>
220
- `), prefix, prefix, prefix);
205
+ return {
206
+ open: '‹',
207
+ close: '›'
208
+ };
221
209
  case QUOTE_TYPES.LOW_HIGH_REVERSED_DOUBLE_CURVED:
222
- return html(_t4 || (_t4 = _`
223
- <span class="${0}--quote__mark" part="mark mark--opening"
224
- >„</span
225
- >
226
- <blockquote class="${0}--quote__copy" part="copy">
227
- <slot></slot
228
- ><span
229
- class="${0}--quote__mark-closing"
230
- part="mark mark--closing"
231
- >“</span
232
- >
233
- </blockquote>
234
- `), prefix, prefix, prefix);
210
+ return {
211
+ open: '„',
212
+ close: '“'
213
+ };
235
214
  case QUOTE_TYPES.CORNER_BRACKET:
236
- return html(_t5 || (_t5 = _`
237
- <span
238
- class="${0}--quote__mark ${0}--quote__mark-corner-bracket"
239
- part="mark mark--opening"
240
- >「</span
241
- >
242
- <blockquote class="${0}--quote__copy" part="copy">
243
- <slot></slot
244
- ><span
245
- class="${0}--quote__mark-closing"
246
- part="mark mark--closing"
247
- >」</span
215
+ return {
216
+ open: '「',
217
+ close: '」'
218
+ };
219
+ case QUOTE_TYPES.DEFAULT:
220
+ default:
221
+ return {
222
+ open: this.lc !== 'ar' ? '“' : '”',
223
+ close: this.lc !== 'ar' ? '”' : '“'
224
+ };
225
+ }
226
+ }
227
+ }, {
228
+ kind: "method",
229
+ key: "_renderQuote",
230
+ value: function _renderQuote() {
231
+ // If the appearance is legacy (or not provided), use the original rendering logic
232
+ if (this.appearance === 'legacy') {
233
+ switch (this.markType) {
234
+ case QUOTE_TYPES.SINGLE_CURVED:
235
+ return html(_t || (_t = _`
236
+ <span class="${0}--quote__mark" part="mark mark--opening"
237
+ >‘</span
248
238
  >
249
- </blockquote>
250
- `), prefix, prefix, prefix, prefix);
251
- case QUOTE_TYPES.BUBBLE_QUOTE:
252
- return html(_t6 || (_t6 = _`
253
- <span class="${0}--quote__mark" part="mark mark--opening">
254
- ${0}
255
- </span>
256
- <blockquote
257
- class="${0}--quote__copy ${0}-bubble-quote"
258
- part="copy">
259
- <slot></slot>
260
- <svg
261
- width="47"
262
- height="37"
263
- viewBox="0 0 47 37"
264
- fill="none"
265
- xmlns="http://www.w3.org/2000/svg"
266
- class="bubble-pointer"
267
- part="bubble-pointer-svg">
268
- <path
269
- d="M4 31.84V4.5C4 2.29086 2.20914 0.5 0 0.5V0H46.6569V0.5C45.596 0.5 44.5786 0.919855 43.8284 1.67L10.8284 34.67C8.30857 37.1899 4 35.4036 4 31.84Z"
270
- fill="#F4F4F4"
271
- class="bubble-pointer-fill"
272
- part="bubble-pointer-fill-svg" />
273
- <path
274
- d="M0 0.5C2.20914 0.5 4 2.29086 4 4.5V31.84C4 35.4036 8.30857 37.1899 10.8284 34.67L43.8284 1.67C44.5786 0.919855 45.596 0.5 46.6569 0.5"
275
- stroke="#8D8D8D"
276
- class="bubble-pointer-stroke"
277
- part="bubble-pointer-stroke-svg" />
278
- </svg>
279
- <span
280
- class="${0}--quote__mark-closing"
281
- part="mark mark--closing"
282
- >${0}</span
239
+ <blockquote class="${0}--quote__copy" part="copy">
240
+ <slot></slot>
241
+ <span
242
+ class="${0}--quote__mark-closing"
243
+ part="mark mark--closing"
244
+ >’</span
245
+ >
246
+ </blockquote>
247
+ `), prefix, prefix, prefix);
248
+ case QUOTE_TYPES.DOUBLE_ANGLE:
249
+ return html(_t2 || (_t2 = _`
250
+ <span class="${0}--quote__mark" part="mark mark--opening"
251
+ >«</span
283
252
  >
284
- </blockquote>
285
- `), prefix, this.lc !== 'ar' ? '“' : '”', prefix, prefix, prefix, this.lc !== 'ar' ? '”' : '“');
286
- default:
287
- return html(_t7 || (_t7 = _`
288
- <span class="${0}--quote__mark" part="mark mark--opening"
289
- >${0}</span
290
- >
291
- <blockquote class="${0}--quote__copy" part="copy">
292
- <slot></slot
293
- ><span
294
- class="${0}--quote__mark-closing"
295
- part="mark mark--closing"
296
- >${0}</span
253
+ <blockquote class="${0}--quote__copy" part="copy">
254
+ <slot></slot>
255
+ <span
256
+ class="${0}--quote__mark-closing"
257
+ part="mark mark--closing"
258
+ >»</span
259
+ >
260
+ </blockquote>
261
+ `), prefix, prefix, prefix);
262
+ case QUOTE_TYPES.SINGLE_ANGLE:
263
+ return html(_t3 || (_t3 = _`
264
+ <span class="${0}--quote__mark" part="mark mark--opening"
265
+ >‹</span
266
+ >
267
+ <blockquote class="${0}--quote__copy" part="copy">
268
+ <slot></slot>
269
+ <span
270
+ class="${0}--quote__mark-closing"
271
+ part="mark mark--closing"
272
+ >›</span
273
+ >
274
+ </blockquote>
275
+ `), prefix, prefix, prefix);
276
+ case QUOTE_TYPES.LOW_HIGH_REVERSED_DOUBLE_CURVED:
277
+ return html(_t4 || (_t4 = _`
278
+ <span class="${0}--quote__mark" part="mark mark--opening"
279
+ >„</span
297
280
  >
298
- </blockquote>
299
- `), prefix, this.lc !== 'ar' ? '“' : '”', prefix, prefix, this.lc !== 'ar' ? '”' : '“');
281
+ <blockquote class="${0}--quote__copy" part="copy">
282
+ <slot></slot>
283
+ <span
284
+ class="${0}--quote__mark-closing"
285
+ part="mark mark--closing"
286
+ >“</span
287
+ >
288
+ </blockquote>
289
+ `), prefix, prefix, prefix);
290
+ case QUOTE_TYPES.CORNER_BRACKET:
291
+ return html(_t5 || (_t5 = _`
292
+ <span
293
+ class="${0}--quote__mark ${0}--quote__mark-corner-bracket"
294
+ part="mark mark--opening">
295
+
296
+ </span>
297
+ <blockquote class="${0}--quote__copy" part="copy">
298
+ <slot></slot>
299
+ <span
300
+ class="${0}--quote__mark-closing"
301
+ part="mark mark--closing"
302
+ >」</span
303
+ >
304
+ </blockquote>
305
+ `), prefix, prefix, prefix, prefix);
306
+ default:
307
+ return html(_t6 || (_t6 = _`
308
+ <span class="${0}--quote__mark" part="mark mark--opening">
309
+ ${0}
310
+ </span>
311
+ <blockquote class="${0}--quote__copy" part="copy">
312
+ <slot></slot>
313
+ <span
314
+ class="${0}--quote__mark-closing"
315
+ part="mark mark--closing">
316
+ ${0}
317
+ </span>
318
+ </blockquote>
319
+ `), prefix, this.lc !== 'ar' ? '“' : '”', prefix, prefix, this.lc !== 'ar' ? '”' : '“');
320
+ }
321
+ }
322
+ // For the appearances "card" and "bubble-quote"
323
+ else if (this.appearance === 'card' || this.appearance === 'bubble-quote') {
324
+ const marks = this._getQuoteMarks();
325
+ return html(_t7 || (_t7 = _`
326
+ <span class="${0}--quote__mark" part="mark mark--opening">
327
+ ${0}
328
+ </span>
329
+ <blockquote
330
+ class="${0}--quote__copy ${0}"
331
+ part="copy">
332
+ <slot></slot>
333
+ ${0}
334
+ <span
335
+ class="${0}--quote__mark-closing"
336
+ part="mark mark--closing">
337
+ ${0}
338
+ </span>
339
+ </blockquote>
340
+ `), prefix, marks.open, prefix, this.appearance === 'bubble-quote' || this.appearance === 'card' ? `${prefix}-bubble-quote` : '', this.appearance === 'bubble-quote' ? html(_t8 || (_t8 = _`
341
+ <svg
342
+ width="47"
343
+ height="37"
344
+ viewBox="0 0 47 37"
345
+ fill="none"
346
+ xmlns="http://www.w3.org/2000/svg"
347
+ class="bubble-pointer"
348
+ part="bubble-pointer-svg">
349
+ <path
350
+ d="M4 31.84V4.5C4 2.29086 2.20914 0.5 0 0.5V0H46.6569V0.5C45.596 0.5 44.5786 0.919855 43.8284 1.67L10.8284 34.67C8.30857 37.1899 4 35.4036 4 31.84Z"
351
+ fill="#F4F4F4"
352
+ class="bubble-pointer-fill"
353
+ part="bubble-pointer-fill-svg" />
354
+ <path
355
+ d="M0 0.5C2.20914 0.5 4 2.29086 4 4.5V31.84C4 35.4036 8.30857 37.1899 10.8284 34.67L43.8284 1.67C44.5786 0.919855 45.596 0.5 46.6569 0.5"
356
+ stroke="#8D8D8D"
357
+ class="bubble-pointer-stroke"
358
+ part="bubble-pointer-stroke-svg" />
359
+ </svg>
360
+ `)) : '', prefix, marks.close);
300
361
  }
362
+ // Ensure all code paths return a value
363
+ return null;
301
364
  }
302
365
  }, {
303
366
  kind: "method",
@@ -308,7 +371,7 @@ let C4DQuote = _decorate([customElement(`${c4dPrefix}-quote`)], function (_initi
308
371
  _hasSourceCopy: hasSourceCopy,
309
372
  _handleSlotChange: handleSlotChange
310
373
  } = this;
311
- return html(_t8 || (_t8 = _`
374
+ return html(_t9 || (_t9 = _`
312
375
  <div
313
376
  ?hidden="${0}"
314
377
  class="${0}--quote__source"
@@ -329,7 +392,7 @@ let C4DQuote = _decorate([customElement(`${c4dPrefix}-quote`)], function (_initi
329
392
  _hasFooter: hasFooter,
330
393
  _handleSlotChange: handleSlotChange
331
394
  } = this;
332
- return html(_t9 || (_t9 = _`
395
+ return html(_t10 || (_t10 = _`
333
396
  <div
334
397
  ?hidden="${0}"
335
398
  class="${0}--quote__footer"
@@ -343,7 +406,7 @@ let C4DQuote = _decorate([customElement(`${c4dPrefix}-quote`)], function (_initi
343
406
  kind: "method",
344
407
  key: "render",
345
408
  value: function render() {
346
- return html(_t10 || (_t10 = _`
409
+ return html(_t11 || (_t11 = _`
347
410
  <div class="${0}--quote__container" part="container">
348
411
  <div class="${0}--quote__wrapper" part="wrapper">
349
412
  ${0}${0}${0}
@@ -1 +1 @@
1
- {"version":3,"file":"quote.js","names":["LitElement","html","property","settings","styles","StableSelectorMixin","QUOTE_TYPES","carbonElement","customElement","LocaleAPI","prefix","stablePrefix","c4dPrefix","slotExistencePropertyNames","footer","C4DQuote","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","decorators","reflect","attribute","key","value","DEFAULT","connectedCallback","_superPropGet","getLang","then","lc","_handleSlotChange","target","name","hasContent","assignedNodes","some","node","nodeType","Node","TEXT_NODE","textContent","trim","requestUpdate","_renderQuote","markType","SINGLE_CURVED","_t","_","DOUBLE_ANGLE","_t2","SINGLE_ANGLE","_t3","LOW_HIGH_REVERSED_DOUBLE_CURVED","_t4","CORNER_BRACKET","_t5","BUBBLE_QUOTE","_t6","_t7","_renderSource","_hasSourceHeading","hasSourceHeading","_hasSourceCopy","hasSourceCopy","handleSlotChange","_t8","_renderFooter","_hasFooter","hasFooter","_t9","render","_t10","static"],"sources":["components/quote/quote.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2025\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 */\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport styles from './quote.scss';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport { QUOTE_TYPES } from './defs';\nimport '../horizontal-rule/horizontal-rule';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\nimport LocaleAPI from '@carbon/ibmdotcom-services/es/services/Locale/Locale.js';\n\nexport { QUOTE_TYPES };\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\nconst slotExistencePropertyNames = {\n 'source-heading': '_hasSourceHeading',\n 'source-copy': '_hasSourceCopy',\n 'source-bottom-copy': '_hasSourceBottomCopy',\n footer: '_hasFooter',\n};\n\n/**\n * Quote.\n *\n * @element c4d-quote\n * @slot copy - The copy content.\n * @slot footer - The footer (CTA) content.\n * @slot source-heading - The heading content of the quote source.\n * @slot source-copy - The copy content of the quote source.\n * @slot source-bottom-copy - The copy content of the quote source placed at the bottom.\n * @csspart mark - Quote mark. Usage `c4d-quote::part(mark)`\n * @csspart mark--opening - Opening quote mark. Usage `c4d-quote::part(mark--opening)`\n * @csspart mark--closing - Closing quote mark. Usage `c4d-quote::part(mark--closing)`\n * @csspart copy - Quote body copy. Usage `c4d-quote::part(copy)`\n * @csspart source - Quote source slot. Usage `c4d-quote::part(source)`\n * @csspart footer - Quote footer. Usage `c4d-quote::part(footer)`\n * @csspart container - Quote container. Usage `c4d-quote::part(container)`\n * @csspart wrapper - Quote wrapper. Usage `c4d-quote::part(wrapper)`\n * @csspart hr - Horizontal rule. Usage `c4d-quote::part(wrapper)`\n * @csspart bubble-pointer-svg - The bubble quote variation pointer. Usage `c4d-quote::part(bubble-pointer-svg)`\n * @csspart bubble-pointer-fill-svg - The fill color of the pointer. Usage `c4d-quote::part(bubble-pointer-fill-svg)`\n * @csspart bubble-pointer-stroke-svg - The stroke color of the pointer. Usage `c4d-quote::part(bubble-pointer-stroke-svg)`\n */\n@customElement(`${c4dPrefix}-quote`)\nclass C4DQuote extends StableSelectorMixin(LitElement) {\n /**\n * Defines rendered quote mark style\n * styles:\n * `double-curved`: `“ ”`;\n * `single-curved`: `‘ ’`;\n * `single-angle`: `‹ ›`;\n * `double-angle`: `« »`;\n * `low-high-reversed-double-curved`: `„ “`;\n * `corner-bracket`: `「 」`;\n */\n @property({ reflect: true, attribute: 'mark-type' })\n markType = QUOTE_TYPES.DEFAULT;\n\n @property({ reflect: true, attribute: 'lang' })\n lc;\n\n /**\n * `true` if there is source heading.\n */\n protected _hasSourceHeading = false;\n\n /**\n * `true` if there is source copy.\n */\n protected _hasSourceCopy = false;\n\n /**\n * `true` if there is source bottom copy.\n */\n protected _hasSourceBottomCopy = false;\n\n /**\n * `true` if there is cta.\n */\n protected _hasFooter = false;\n\n /**\n * Handles `slotchange` event.\n */\n\n connectedCallback() {\n super.connectedCallback();\n LocaleAPI.getLang().then(({ lc }) => {\n this.lc = lc;\n });\n }\n\n protected _handleSlotChange({ target }: Event) {\n const { name } = target as HTMLSlotElement;\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .some(\n (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim()\n );\n this[slotExistencePropertyNames[name]] = hasContent;\n this.requestUpdate();\n }\n\n protected _renderQuote() {\n switch (this.markType) {\n case QUOTE_TYPES.SINGLE_CURVED:\n return html`\n <span class=\"${prefix}--quote__mark\" part=\"mark mark--opening\"\n >‘</span\n >\n <blockquote class=\"${prefix}--quote__copy\" part=\"copy\">\n <slot></slot\n ><span\n class=\"${prefix}--quote__mark-closing\"\n part=\"mark mark--closing\"\n >’</span\n >\n </blockquote>\n `;\n case QUOTE_TYPES.DOUBLE_ANGLE:\n return html`\n <span class=\"${prefix}--quote__mark\" part=\"mark mark--opening\"\n >«</span\n >\n <blockquote class=\"${prefix}--quote__copy\" part=\"copy\">\n <slot></slot\n ><span\n class=\"${prefix}--quote__mark-closing\"\n part=\"mark mark--closing\"\n >»</span\n >\n </blockquote>\n `;\n case QUOTE_TYPES.SINGLE_ANGLE:\n return html`\n <span class=\"${prefix}--quote__mark\" part=\"mark mark--opening\"\n >‹</span\n >\n <blockquote class=\"${prefix}--quote__copy\" part=\"copy\">\n <slot></slot\n ><span\n class=\"${prefix}--quote__mark-closing\"\n part=\"mark mark--closing\"\n >›</span\n >\n </blockquote>\n `;\n case QUOTE_TYPES.LOW_HIGH_REVERSED_DOUBLE_CURVED:\n return html`\n <span class=\"${prefix}--quote__mark\" part=\"mark mark--opening\"\n >„</span\n >\n <blockquote class=\"${prefix}--quote__copy\" part=\"copy\">\n <slot></slot\n ><span\n class=\"${prefix}--quote__mark-closing\"\n part=\"mark mark--closing\"\n >“</span\n >\n </blockquote>\n `;\n case QUOTE_TYPES.CORNER_BRACKET:\n return html`\n <span\n class=\"${prefix}--quote__mark ${prefix}--quote__mark-corner-bracket\"\n part=\"mark mark--opening\"\n >「</span\n >\n <blockquote class=\"${prefix}--quote__copy\" part=\"copy\">\n <slot></slot\n ><span\n class=\"${prefix}--quote__mark-closing\"\n part=\"mark mark--closing\"\n >」</span\n >\n </blockquote>\n `;\n case QUOTE_TYPES.BUBBLE_QUOTE:\n return html`\n <span class=\"${prefix}--quote__mark\" part=\"mark mark--opening\">\n ${this.lc !== 'ar' ? '“' : '”'}\n </span>\n <blockquote\n class=\"${prefix}--quote__copy ${prefix}-bubble-quote\"\n part=\"copy\">\n <slot></slot>\n <svg\n width=\"47\"\n height=\"37\"\n viewBox=\"0 0 47 37\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"bubble-pointer\"\n part=\"bubble-pointer-svg\">\n <path\n d=\"M4 31.84V4.5C4 2.29086 2.20914 0.5 0 0.5V0H46.6569V0.5C45.596 0.5 44.5786 0.919855 43.8284 1.67L10.8284 34.67C8.30857 37.1899 4 35.4036 4 31.84Z\"\n fill=\"#F4F4F4\"\n class=\"bubble-pointer-fill\"\n part=\"bubble-pointer-fill-svg\" />\n <path\n d=\"M0 0.5C2.20914 0.5 4 2.29086 4 4.5V31.84C4 35.4036 8.30857 37.1899 10.8284 34.67L43.8284 1.67C44.5786 0.919855 45.596 0.5 46.6569 0.5\"\n stroke=\"#8D8D8D\"\n class=\"bubble-pointer-stroke\"\n part=\"bubble-pointer-stroke-svg\" />\n </svg>\n <span\n class=\"${prefix}--quote__mark-closing\"\n part=\"mark mark--closing\"\n >${this.lc !== 'ar' ? '”' : '“'}</span\n >\n </blockquote>\n `;\n default:\n return html`\n <span class=\"${prefix}--quote__mark\" part=\"mark mark--opening\"\n >${this.lc !== 'ar' ? '“' : '”'}</span\n >\n <blockquote class=\"${prefix}--quote__copy\" part=\"copy\">\n <slot></slot\n ><span\n class=\"${prefix}--quote__mark-closing\"\n part=\"mark mark--closing\"\n >${this.lc !== 'ar' ? '”' : '“'}</span\n >\n </blockquote>\n `;\n }\n }\n\n protected _renderSource() {\n const {\n _hasSourceHeading: hasSourceHeading,\n _hasSourceCopy: hasSourceCopy,\n _handleSlotChange: handleSlotChange,\n } = this;\n return html`\n <div\n ?hidden=\"${!hasSourceHeading || !hasSourceCopy}\"\n class=\"${prefix}--quote__source\"\n part=\"source\">\n <slot @slotchange=\"${handleSlotChange}\" name=\"source-heading\"></slot>\n <slot @slotchange=\"${handleSlotChange}\" name=\"source-copy\"></slot>\n <slot\n @slotchange=\"${handleSlotChange}\"\n name=\"source-bottom-copy\"></slot>\n </div>\n `;\n }\n\n protected _renderFooter() {\n const { _hasFooter: hasFooter, _handleSlotChange: handleSlotChange } = this;\n return html`\n <div\n ?hidden=\"${!hasFooter}\"\n class=\"${prefix}--quote__footer\"\n part=\"footer\">\n <c4d-hr part=\"hr\"></c4d-hr>\n <slot name=\"footer\" @slotchange=\"${handleSlotChange}\"></slot>\n </div>\n `;\n }\n\n render() {\n return html`\n <div class=\"${prefix}--quote__container\" part=\"container\">\n <div class=\"${prefix}--quote__wrapper\" part=\"wrapper\">\n ${this._renderQuote()}${this._renderSource()}${this._renderFooter()}\n </div>\n </div>\n `;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--quote`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default C4DQuote;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"quote.js","names":["LitElement","html","property","settings","styles","StableSelectorMixin","APPEARANCE","QUOTE_TYPES","carbonElement","customElement","LocaleAPI","prefix","stablePrefix","c4dPrefix","slotExistencePropertyNames","footer","C4DQuote","_decorate","_initialize","_StableSelectorMixin","constructor","args","F","d","kind","decorators","reflect","attribute","key","value","DEFAULT","connectedCallback","_superPropGet","getLang","then","lc","_handleSlotChange","target","name","hasContent","assignedNodes","some","node","nodeType","Node","TEXT_NODE","textContent","trim","requestUpdate","_getQuoteMarks","markType","SINGLE_CURVED","open","close","DOUBLE_ANGLE","SINGLE_ANGLE","LOW_HIGH_REVERSED_DOUBLE_CURVED","CORNER_BRACKET","_renderQuote","appearance","_t","_","_t2","_t3","_t4","_t5","_t6","marks","_t7","_t8","_renderSource","_hasSourceHeading","hasSourceHeading","_hasSourceCopy","hasSourceCopy","handleSlotChange","_t9","_renderFooter","_hasFooter","hasFooter","_t10","render","_t11","static"],"sources":["components/quote/quote.ts"],"sourcesContent":["/**\n * @license\n *\n * Copyright IBM Corp. 2020, 2025\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 */\nimport { LitElement, html } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport settings from '@carbon/ibmdotcom-utilities/es/utilities/settings/settings.js';\nimport styles from './quote.scss';\nimport StableSelectorMixin from '../../globals/mixins/stable-selector';\nimport { APPEARANCE, QUOTE_TYPES } from './defs';\nimport '../horizontal-rule/horizontal-rule';\nimport { carbonElement as customElement } from '@carbon/web-components/es/globals/decorators/carbon-element.js';\nimport LocaleAPI from '@carbon/ibmdotcom-services/es/services/Locale/Locale.js';\n\nexport { QUOTE_TYPES };\n\nconst { prefix, stablePrefix: c4dPrefix } = settings;\n\nconst slotExistencePropertyNames = {\n 'source-heading': '_hasSourceHeading',\n 'source-copy': '_hasSourceCopy',\n 'source-bottom-copy': '_hasSourceBottomCopy',\n footer: '_hasFooter',\n};\n\n/**\n * Quote.\n *\n * @element c4d-quote\n * @slot copy - The copy content.\n * @slot footer - The footer (CTA) content.\n * @slot source-heading - The heading content of the quote source.\n * @slot source-copy - The copy content of the quote source.\n * @slot source-bottom-copy - The copy content of the quote source placed at the bottom.\n * @csspart mark - Quote mark. Usage `c4d-quote::part(mark)`\n * @csspart mark--opening - Opening quote mark. Usage `c4d-quote::part(mark--opening)`\n * @csspart mark--closing - Closing quote mark. Usage `c4d-quote::part(mark--closing)`\n * @csspart copy - Quote body copy. Usage `c4d-quote::part(copy)`\n * @csspart source - Quote source slot. Usage `c4d-quote::part(source)`\n * @csspart footer - Quote footer. Usage `c4d-quote::part(footer)`\n * @csspart container - Quote container. Usage `c4d-quote::part(container)`\n * @csspart wrapper - Quote wrapper. Usage `c4d-quote::part(wrapper)`\n * @csspart hr - Horizontal rule. Usage `c4d-quote::part(wrapper)`\n * @csspart bubble-pointer-svg - The bubble quote variation pointer. Usage `c4d-quote::part(bubble-pointer-svg)`\n * @csspart bubble-pointer-fill-svg - The fill color of the pointer. Usage `c4d-quote::part(bubble-pointer-fill-svg)`\n * @csspart bubble-pointer-stroke-svg - The stroke color of the pointer. Usage `c4d-quote::part(bubble-pointer-stroke-svg)`\n */\n@customElement(`${c4dPrefix}-quote`)\nclass C4DQuote extends StableSelectorMixin(LitElement) {\n /**\n * Defines rendered quote mark style\n * styles:\n * `double-curved`: `“ ”`;\n * `single-curved`: `‘ ’`;\n * `single-angle`: `‹ ›`;\n * `double-angle`: `« »`;\n * `low-high-reversed-double-curved`: `„ “`;\n * `corner-bracket`: `「 」`;\n */\n @property({ reflect: true, attribute: 'mark-type' })\n markType = QUOTE_TYPES.DEFAULT;\n\n @property({ reflect: true, attribute: 'lang' })\n lc;\n\n // Options: 'legacy' (default), 'card', 'bubble-quote' (last two are mobile only)\n @property({ reflect: true, attribute: 'appearance' })\n appearance = APPEARANCE.DEFAULT; // 'legacy' (default)\n\n /**\n * `true` if there is source heading.\n */\n protected _hasSourceHeading = false;\n\n /**\n * `true` if there is source copy.\n */\n protected _hasSourceCopy = false;\n\n /**\n * `true` if there is source bottom copy.\n */\n protected _hasSourceBottomCopy = false;\n\n /**\n * `true` if there is cta.\n */\n protected _hasFooter = false;\n\n /**\n * Handles `slotchange` event.\n */\n\n connectedCallback() {\n super.connectedCallback();\n LocaleAPI.getLang().then(({ lc }) => {\n this.lc = lc;\n });\n }\n\n protected _handleSlotChange({ target }: Event) {\n const { name } = target as HTMLSlotElement;\n const hasContent = (target as HTMLSlotElement)\n .assignedNodes()\n .some(\n (node) => node.nodeType !== Node.TEXT_NODE || node!.textContent!.trim()\n );\n this[slotExistencePropertyNames[name]] = hasContent;\n this.requestUpdate();\n }\n\n protected _getQuoteMarks(): { open: string; close: string } {\n switch (this.markType) {\n case QUOTE_TYPES.SINGLE_CURVED:\n return { open: '‘', close: '’' };\n case QUOTE_TYPES.DOUBLE_ANGLE:\n return { open: '«', close: '»' };\n case QUOTE_TYPES.SINGLE_ANGLE:\n return { open: '‹', close: '›' };\n case QUOTE_TYPES.LOW_HIGH_REVERSED_DOUBLE_CURVED:\n return { open: '„', close: '“' };\n case QUOTE_TYPES.CORNER_BRACKET:\n return { open: '「', close: '」' };\n case QUOTE_TYPES.DEFAULT:\n default:\n return {\n open: this.lc !== 'ar' ? '“' : '”',\n close: this.lc !== 'ar' ? '”' : '“',\n };\n }\n }\n\n protected _renderQuote() {\n // If the appearance is legacy (or not provided), use the original rendering logic\n if (this.appearance === 'legacy') {\n switch (this.markType) {\n case QUOTE_TYPES.SINGLE_CURVED:\n return html`\n <span class=\"${prefix}--quote__mark\" part=\"mark mark--opening\"\n >‘</span\n >\n <blockquote class=\"${prefix}--quote__copy\" part=\"copy\">\n <slot></slot>\n <span\n class=\"${prefix}--quote__mark-closing\"\n part=\"mark mark--closing\"\n >’</span\n >\n </blockquote>\n `;\n case QUOTE_TYPES.DOUBLE_ANGLE:\n return html`\n <span class=\"${prefix}--quote__mark\" part=\"mark mark--opening\"\n >«</span\n >\n <blockquote class=\"${prefix}--quote__copy\" part=\"copy\">\n <slot></slot>\n <span\n class=\"${prefix}--quote__mark-closing\"\n part=\"mark mark--closing\"\n >»</span\n >\n </blockquote>\n `;\n case QUOTE_TYPES.SINGLE_ANGLE:\n return html`\n <span class=\"${prefix}--quote__mark\" part=\"mark mark--opening\"\n >‹</span\n >\n <blockquote class=\"${prefix}--quote__copy\" part=\"copy\">\n <slot></slot>\n <span\n class=\"${prefix}--quote__mark-closing\"\n part=\"mark mark--closing\"\n >›</span\n >\n </blockquote>\n `;\n case QUOTE_TYPES.LOW_HIGH_REVERSED_DOUBLE_CURVED:\n return html`\n <span class=\"${prefix}--quote__mark\" part=\"mark mark--opening\"\n >„</span\n >\n <blockquote class=\"${prefix}--quote__copy\" part=\"copy\">\n <slot></slot>\n <span\n class=\"${prefix}--quote__mark-closing\"\n part=\"mark mark--closing\"\n >“</span\n >\n </blockquote>\n `;\n case QUOTE_TYPES.CORNER_BRACKET:\n return html`\n <span\n class=\"${prefix}--quote__mark ${prefix}--quote__mark-corner-bracket\"\n part=\"mark mark--opening\">\n 「\n </span>\n <blockquote class=\"${prefix}--quote__copy\" part=\"copy\">\n <slot></slot>\n <span\n class=\"${prefix}--quote__mark-closing\"\n part=\"mark mark--closing\"\n >」</span\n >\n </blockquote>\n `;\n default:\n return html`\n <span class=\"${prefix}--quote__mark\" part=\"mark mark--opening\">\n ${this.lc !== 'ar' ? '“' : '”'}\n </span>\n <blockquote class=\"${prefix}--quote__copy\" part=\"copy\">\n <slot></slot>\n <span\n class=\"${prefix}--quote__mark-closing\"\n part=\"mark mark--closing\">\n ${this.lc !== 'ar' ? '”' : '“'}\n </span>\n </blockquote>\n `;\n }\n }\n // For the appearances \"card\" and \"bubble-quote\"\n else if (this.appearance === 'card' || this.appearance === 'bubble-quote') {\n const marks = this._getQuoteMarks();\n return html`\n <span class=\"${prefix}--quote__mark\" part=\"mark mark--opening\">\n ${marks.open}\n </span>\n <blockquote\n class=\"${prefix}--quote__copy ${this.appearance === 'bubble-quote' ||\n this.appearance === 'card'\n ? `${prefix}-bubble-quote`\n : ''}\"\n part=\"copy\">\n <slot></slot>\n ${this.appearance === 'bubble-quote'\n ? html`\n <svg\n width=\"47\"\n height=\"37\"\n viewBox=\"0 0 47 37\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"bubble-pointer\"\n part=\"bubble-pointer-svg\">\n <path\n d=\"M4 31.84V4.5C4 2.29086 2.20914 0.5 0 0.5V0H46.6569V0.5C45.596 0.5 44.5786 0.919855 43.8284 1.67L10.8284 34.67C8.30857 37.1899 4 35.4036 4 31.84Z\"\n fill=\"#F4F4F4\"\n class=\"bubble-pointer-fill\"\n part=\"bubble-pointer-fill-svg\" />\n <path\n d=\"M0 0.5C2.20914 0.5 4 2.29086 4 4.5V31.84C4 35.4036 8.30857 37.1899 10.8284 34.67L43.8284 1.67C44.5786 0.919855 45.596 0.5 46.6569 0.5\"\n stroke=\"#8D8D8D\"\n class=\"bubble-pointer-stroke\"\n part=\"bubble-pointer-stroke-svg\" />\n </svg>\n `\n : ''}\n <span\n class=\"${prefix}--quote__mark-closing\"\n part=\"mark mark--closing\">\n ${marks.close}\n </span>\n </blockquote>\n `;\n }\n // Ensure all code paths return a value\n return null;\n }\n\n protected _renderSource() {\n const {\n _hasSourceHeading: hasSourceHeading,\n _hasSourceCopy: hasSourceCopy,\n _handleSlotChange: handleSlotChange,\n } = this;\n return html`\n <div\n ?hidden=\"${!hasSourceHeading || !hasSourceCopy}\"\n class=\"${prefix}--quote__source\"\n part=\"source\">\n <slot @slotchange=\"${handleSlotChange}\" name=\"source-heading\"></slot>\n <slot @slotchange=\"${handleSlotChange}\" name=\"source-copy\"></slot>\n <slot\n @slotchange=\"${handleSlotChange}\"\n name=\"source-bottom-copy\"></slot>\n </div>\n `;\n }\n\n protected _renderFooter() {\n const { _hasFooter: hasFooter, _handleSlotChange: handleSlotChange } = this;\n return html`\n <div\n ?hidden=\"${!hasFooter}\"\n class=\"${prefix}--quote__footer\"\n part=\"footer\">\n <c4d-hr part=\"hr\"></c4d-hr>\n <slot name=\"footer\" @slotchange=\"${handleSlotChange}\"></slot>\n </div>\n `;\n }\n\n render() {\n return html`\n <div class=\"${prefix}--quote__container\" part=\"container\">\n <div class=\"${prefix}--quote__wrapper\" part=\"wrapper\">\n ${this._renderQuote()}${this._renderSource()}${this._renderFooter()}\n </div>\n </div>\n `;\n }\n\n static get stableSelector() {\n return `${c4dPrefix}--quote`;\n }\n\n static styles = styles; // `styles` here is a `CSSResult` generated by custom WebPack loader\n}\n\n/* @__GENERATE_REACT_CUSTOM_ELEMENT_TYPE__ */\nexport default C4DQuote;\n"],"mappings":"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","ignoreList":[]}