@roadtrip/components 3.33.3 → 3.33.5

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 (32) hide show
  1. package/dist/cjs/index-bf8a763e.js.map +1 -1
  2. package/dist/cjs/road-badge_14.cjs.entry.js +31 -5
  3. package/dist/cjs/road-badge_14.cjs.entry.js.map +1 -1
  4. package/dist/collection/components/counter/counter.js +17 -1
  5. package/dist/collection/components/counter/counter.js.map +1 -1
  6. package/dist/collection/components/drawer/drawer.css +1 -0
  7. package/dist/collection/components/drawer/drawer.js +4 -2
  8. package/dist/collection/components/drawer/drawer.js.map +1 -1
  9. package/dist/collection/components/icon/svg/flag-luxembourg-color.svg +1 -0
  10. package/dist/collection/components/icon/svg/vehicle-5-doors-hatchback-color.svg +1 -1
  11. package/dist/collection/components/input-group/input-group.js +9 -1
  12. package/dist/collection/components/input-group/input-group.js.map +1 -1
  13. package/dist/esm/index-f1358629.js.map +1 -1
  14. package/dist/esm/road-badge_14.entry.js +31 -5
  15. package/dist/esm/road-badge_14.entry.js.map +1 -1
  16. package/dist/icons/icons.svg +1 -1
  17. package/dist/icons/index.d.ts +1 -0
  18. package/dist/icons/index.js +2 -1
  19. package/dist/roadtrip/{p-a38bdba6.entry.js → p-42c0e1a9.entry.js} +3 -3
  20. package/dist/roadtrip/p-42c0e1a9.entry.js.map +1 -0
  21. package/dist/roadtrip/p-db82e012.js.map +1 -1
  22. package/dist/roadtrip/roadtrip.esm.js +1 -1
  23. package/dist/roadtrip/svg/flag-luxembourg-color.svg +1 -0
  24. package/dist/roadtrip/svg/vehicle-5-doors-hatchback-color.svg +1 -1
  25. package/dist/types/components/counter/counter.d.ts +2 -0
  26. package/hydrate/index.js +31 -5
  27. package/hydrate/index.mjs +31 -5
  28. package/icons/icons.svg +1 -1
  29. package/icons/index.d.ts +1 -0
  30. package/icons/index.js +2 -1
  31. package/package.json +1 -1
  32. package/dist/roadtrip/p-a38bdba6.entry.js.map +0 -1
@@ -244,8 +244,24 @@ const Counter = class {
244
244
  componentWillLoad() {
245
245
  this.onValueChange(this.value);
246
246
  }
247
+ /** Vérifie et applique le `text-indent` si `prepend` est présent */
248
+ updateIndentation() {
249
+ const hasPrepend = !!this.el.querySelector('[slot="prepend"]');
250
+ const formControl = this.el.querySelector('.form-control');
251
+ const formLabel = this.el.querySelector('.form-label');
252
+ if (formControl) {
253
+ formControl.style.textIndent = hasPrepend ? '' : '';
254
+ }
255
+ if (formLabel) {
256
+ formLabel.style.textIndent = hasPrepend ? '' : '';
257
+ }
258
+ }
247
259
  componentDidLoad() {
248
260
  const buttons = this.el.querySelectorAll('road-button');
261
+ this.updateIndentation(); // Appliquer les styles au montage
262
+ // Observer les mutations (au cas où des éléments sont ajoutés dynamiquement)
263
+ const observer = new MutationObserver(() => this.updateIndentation());
264
+ observer.observe(this.el, { childList: true, subtree: true });
249
265
  // Ajouter les événements pour chaque road-button
250
266
  buttons.forEach((btn) => {
251
267
  btn.addEventListener('touchstart', () => {
@@ -274,7 +290,7 @@ const Counter = class {
274
290
  }
275
291
  render() {
276
292
  const dataCi = this.isDustbinVisible ? "road-dustbin" : "";
277
- return (index.h("road-input-group", { key: '8c5c49f3a335f5becc5b1c67823b3bede8847d7b', class: this.size && `counter-${this.size}` }, index.h("road-button", { key: 'b31f4ea302a78333283578875bfe488891da73e9', slot: "prepend", size: this.size, onClick: this.decrease, class: this.leftIconClasses, "data-cy": "road-decrease" }, index.h("road-icon", { key: '1b18e482d8cc3d2975c9cf3c52a42f3ae4660238', name: this.isDustbinVisible ? "delete-forever" : "navigation-add-less", ref: (el) => this.iconCounterLess = el, size: this.size, "data-cy": dataCi, role: "button" })), index.h("road-input", { key: '01475e769b04aa4080be3e24cf1f16d1651bb5a1', ref: (el) => this.inputElement = el, type: "number", min: this.min.toString(), max: (this.max && this.max.toString()), step: this.step, value: this.value, onRoadChange: this.onRoadChange, onKeyUp: this.checkValue, "data-cy": "road-input-counter", readonly: this.readonly, label: "Quantit\u00E9" }), index.h("road-button", { key: '4a27e374ce3cee4d1c47a5f921af4b2e2d6fbc53', slot: "append", size: this.size, onClick: this.increase, class: this.rightIconClasses, "data-cy": "road-increase" }, index.h("road-icon", { key: '3a53a84956795e8576a3e4ba240a17f074d96575', name: "navigation-add-more", size: this.size, role: "button" }))));
293
+ return (index.h("road-input-group", { key: '0f8b1b0a35803e52ba57c371654f65069ee24eb1', class: this.size && `counter-${this.size}` }, index.h("road-button", { key: '769528d0e5b027e1b28cb9ef04b3c8f8c26f34d5', slot: "prepend", size: this.size, onClick: this.decrease, class: this.leftIconClasses, "data-cy": "road-decrease" }, index.h("road-icon", { key: 'fe666f6455a7dfd2f944df71fdac8fb858dc9d56', name: this.isDustbinVisible ? "delete-forever" : "navigation-add-less", ref: (el) => this.iconCounterLess = el, size: this.size, "data-cy": dataCi, role: "button" })), index.h("road-input", { key: '315b93bf129f7ae04138f584f060b1c9d5eac6c9', ref: (el) => this.inputElement = el, type: "number", min: this.min.toString(), max: (this.max && this.max.toString()), step: this.step, value: this.value, onRoadChange: this.onRoadChange, onKeyUp: this.checkValue, "data-cy": "road-input-counter", readonly: this.readonly, label: "Quantit\u00E9" }), index.h("road-button", { key: 'e17851794c015e99c34c8d04bccce046b57bad05', slot: "append", size: this.size, onClick: this.increase, class: this.rightIconClasses, "data-cy": "road-increase" }, index.h("road-icon", { key: 'e0b4898bdb9bab9f48acf38a4a6a2b31520c955d', name: "navigation-add-more", size: this.size, role: "button" }))));
278
294
  }
279
295
  get el() { return index.getElement(this); }
280
296
  static get watchers() { return {
@@ -284,7 +300,7 @@ const Counter = class {
284
300
  let counterIds = 0;
285
301
  Counter.style = RoadCounterStyle0;
286
302
 
287
- const drawerCss = ":host{--background:var(--road-surface);--color:var(--road-on-surface);--header-icon:var(--road-on-surface);--header-color:var(--road-on-surface);--header-background:var(--road-surface);--header-delimiter:0;--back-chevron-color:var(--road-icon);--max-height:auto;--z-index:10;position:fixed;top:0;left:0;z-index:var(--z-index);display:flex;justify-content:flex-start;width:100%;height:100%;overflow:hidden;font-family:var(--road-font, sans-serif);line-height:1.5;color:var(--color);visibility:hidden !important;opacity:0;transition:opacity 0.15s linear, visibility 0.15s}.drawer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:block;touch-action:none;cursor:pointer;background:var(--road-overlay)}.drawer-dialog{position:relative;width:100%;pointer-events:none;transition:transform 0.3s ease-out;transform:translateX(-100%)}:host(.drawer-right){justify-content:flex-end}:host(.drawer-right) .drawer-dialog{transform:translateX(100%)}:host(.drawer-bottom){align-items:flex-end}:host(.drawer-bottom) .drawer-dialog{width:100%;max-height:var(--max-height);transform:translateY(100%)}:host(.drawer-bottom) .drawer-content{height:auto}.drawer-content{position:relative;display:flex;flex-direction:column;width:100%;height:100vh;pointer-events:auto;background-color:var(--background);background-clip:padding-box;box-shadow:var(--road-elevation-hight)}.drawer-header{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;height:3.5rem;color:var(--header-color);background:var(--header-background);border-color:var(--road-grey-300);border-style:solid;border-width:var(--header-delimiter)}.drawer-header road-icon{flex-shrink:0;color:var(--header-icon)}.drawer-footer{padding:var(--road-spacing-05);background-color:var(--road-surface)}.drawer-footer.remove-padding{padding:0}.drawer-header-inverse{--header-icon:var(--road-on-primary);--header-color:var(--road-on-primary);--header-background:var(--road-primary-variant);margin-bottom:2.5rem}.drawer-action,.drawer-close{display:flex;align-items:center;justify-content:center;height:3.5rem;padding:0.5rem;font-family:inherit;font-size:0.875rem;color:inherit;cursor:pointer;background:transparent;border:0;appearance:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}.drawer-header:not(.drawer-header-inverse) .drawer-action road-icon{color:var(--back-chevron-color)}.drawer-action~.drawer-title,.drawer-close~.drawer-title{padding-left:0}.drawer-action-left,.drawer-close-left{margin-right:auto}.drawer-title{display:flex;flex-grow:1;align-items:center;justify-content:center;height:3.5rem;padding-left:3.5rem;margin:0;font-size:var(--road-body-medium)}.drawer-body{overflow-y:auto;padding:0 var(--road-spacing-05) var(--road-spacing-05)}.drawer-body.remove-padding{padding:0}:host(.drawer-right) .drawer-body,:host(.drawer-left) .drawer-body{height:calc(100vh - 3.5rem)}.drawer-inner{padding:0 1rem 2.5rem}@media (min-width: 768px){.drawer-inner{padding:0 2rem 2.5rem}.drawer-body{padding:0 var(--road-spacing-08) var(--road-spacing-05)}.drawer-body.remove-padding{padding:0}.drawer-footer{padding:var(--road-spacing-05) var(--road-spacing-08)}.drawer-footer.remove-padding{padding:0}}:host(.drawer-open){visibility:visible !important;opacity:1}:host(.drawer-open) .drawer-dialog{transform:none}";
303
+ const drawerCss = ":host{--background:var(--road-surface);--color:var(--road-on-surface);--header-icon:var(--road-on-surface);--header-color:var(--road-on-surface);--header-background:var(--road-surface);--header-delimiter:0;--back-chevron-color:var(--road-icon);--max-height:auto;--z-index:10;position:fixed;top:0;left:0;z-index:var(--z-index);display:flex;justify-content:flex-start;width:100%;height:100%;overflow:hidden;font-family:var(--road-font, sans-serif);line-height:1.5;color:var(--color);visibility:hidden !important;opacity:0;transition:opacity 0.15s linear, visibility 0.15s}.drawer-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:block;touch-action:none;cursor:pointer;background:var(--road-overlay)}.drawer-dialog{position:relative;width:100%;pointer-events:none;transition:transform 0.3s ease-out;transform:translateX(-100%)}:host(.drawer-right){justify-content:flex-end}:host(.drawer-right) .drawer-dialog{transform:translateX(100%)}:host(.drawer-bottom){align-items:flex-end}:host(.drawer-bottom) .drawer-dialog{width:100%;max-height:var(--max-height);transform:translateY(100%)}:host(.drawer-bottom) .drawer-content{height:auto}.drawer-content{position:relative;display:flex;flex-direction:column;width:100%;height:100vh;max-height:100vh;pointer-events:auto;background-color:var(--background);background-clip:padding-box;box-shadow:var(--road-elevation-hight)}.drawer-header{display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;height:3.5rem;color:var(--header-color);background:var(--header-background);border-color:var(--road-grey-300);border-style:solid;border-width:var(--header-delimiter)}.drawer-header road-icon{flex-shrink:0;color:var(--header-icon)}.drawer-footer{padding:var(--road-spacing-05);background-color:var(--road-surface)}.drawer-footer.remove-padding{padding:0}.drawer-header-inverse{--header-icon:var(--road-on-primary);--header-color:var(--road-on-primary);--header-background:var(--road-primary-variant);margin-bottom:2.5rem}.drawer-action,.drawer-close{display:flex;align-items:center;justify-content:center;height:3.5rem;padding:0.5rem;font-family:inherit;font-size:0.875rem;color:inherit;cursor:pointer;background:transparent;border:0;appearance:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}.drawer-header:not(.drawer-header-inverse) .drawer-action road-icon{color:var(--back-chevron-color)}.drawer-action~.drawer-title,.drawer-close~.drawer-title{padding-left:0}.drawer-action-left,.drawer-close-left{margin-right:auto}.drawer-title{display:flex;flex-grow:1;align-items:center;justify-content:center;height:3.5rem;padding-left:3.5rem;margin:0;font-size:var(--road-body-medium)}.drawer-body{overflow-y:auto;padding:0 var(--road-spacing-05) var(--road-spacing-05)}.drawer-body.remove-padding{padding:0}:host(.drawer-right) .drawer-body,:host(.drawer-left) .drawer-body{height:calc(100vh - 3.5rem)}.drawer-inner{padding:0 1rem 2.5rem}@media (min-width: 768px){.drawer-inner{padding:0 2rem 2.5rem}.drawer-body{padding:0 var(--road-spacing-08) var(--road-spacing-05)}.drawer-body.remove-padding{padding:0}.drawer-footer{padding:var(--road-spacing-05) var(--road-spacing-08)}.drawer-footer.remove-padding{padding:0}}:host(.drawer-open){visibility:visible !important;opacity:1}:host(.drawer-open) .drawer-dialog{transform:none}";
288
304
  const RoadDrawerStyle0 = drawerCss;
289
305
 
290
306
  const Drawer = class {
@@ -407,7 +423,7 @@ const Drawer = class {
407
423
  });
408
424
  }
409
425
  render() {
410
- var _a, _b, _c;
426
+ var _a, _b, _c, _d;
411
427
  const drawerIsOpenClass = this.isOpen ? 'drawer-open' : '';
412
428
  const removePaddingClass = this.removePadding ? 'remove-padding' : '';
413
429
  const inverseHeaderClass = this.hasInverseHeader ? 'drawer-header-inverse' : '';
@@ -418,7 +434,9 @@ const Drawer = class {
418
434
  const backIconElement = this.hasBackIcon ? (index.h("button", { type: "button", class: "drawer-action", "aria-label": ariaLabelBack, onClick: this.onClickBack }, index.h("road-icon", { icon: index$1.navigationChevron, rotate: "180" }), this.backText)) : null;
419
435
  const closeIconElement = this.hasCloseIcon ? (index.h("button", { type: "button", class: "drawer-close", onClick: this.onClick, "aria-label": ariaLabelClose }, index.h("road-icon", { icon: index$1.navigationClose, "aria-hidden": "true" }))) : null;
420
436
  const drawerWidthValue = this.position === 'bottom' ? '100%' : `${this.drawerWidth}px`;
421
- return (index.h(index.Host, { key: '803e9ce30d1511c6714bcf3eae6cf482ab910483', class: `${drawerIsOpenClass} drawer-${this.position}`, tabindex: "0", role: "dialog", "aria-label": ariaLabel }, index.h("div", { key: 'e57c395fee5c6f507623221567aa8944225e077f', class: "drawer-overlay", onClick: this.onClick, tabindex: "-1" }), index.h("div", { key: '13d65e0346da78e8d305e8ec367e1a425a64df42', class: "drawer-dialog", style: { maxWidth: drawerWidthValue }, role: "document", tabindex: "0" }, index.h("div", { key: '3a9b0175243b9a330155a26155e19f288822a2ea', class: "drawer-content" }, index.h("header", { key: '22f1f8fece85ce1e1d998b876fd83c7854c59ac1', class: `drawer-header ${inverseHeaderClass} ${drawerDelimiterClass}` }, backIconElement, this.drawerTitle ? (index.h("h2", { class: "drawer-title" }, this.drawerTitle)) : (index.h("div", { class: "drawer-title" }, index.h("slot", { name: "title" }))), closeIconElement), index.h("div", { key: '8d4c6ce1183733fbb7b22e96e2c8cd81c687cf3a', class: `drawer-body ${removePaddingClass}` }, index.h("slot", { key: 'd8185e9a322bd64833b6ce2ce57807ce27a75dbd' })), index.h("footer", { key: '8c3345df320d569fe9b8472faba3f4204750c903', class: `drawer-footer ${removePaddingClass}` }, index.h("slot", { key: '716055f5fc9792510ed43f77cbd81f9b2a039002', name: "footer" }))))));
437
+ const footerSlotElement = (_d = this.el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('slot[name="footer"]');
438
+ const hasFooterContent = footerSlotElement instanceof HTMLSlotElement && footerSlotElement.assignedNodes().length > 0;
439
+ return (index.h(index.Host, { key: 'ba990bd447f7c8eb35e7cad402f7f4154a84a8d9', class: `${drawerIsOpenClass} drawer-${this.position}`, tabindex: "0", role: "dialog", "aria-label": ariaLabel }, index.h("div", { key: 'f32e6d1a0924f48e0610df3d800ce5d6eba9a296', class: "drawer-overlay", onClick: this.onClick, tabindex: "-1" }), index.h("div", { key: '41f2848256ecaf5563a33ce230a25a8c6b8e564a', class: "drawer-dialog", style: { maxWidth: drawerWidthValue }, role: "document", tabindex: "0" }, index.h("div", { key: '342dae28d3322659f296027cda7efcc40efc96a4', class: "drawer-content" }, index.h("header", { key: '018d2bd85e27456281fd94658bf264a45516c350', class: `drawer-header ${inverseHeaderClass} ${drawerDelimiterClass}` }, backIconElement, this.drawerTitle ? (index.h("h2", { class: "drawer-title" }, this.drawerTitle)) : (index.h("div", { class: "drawer-title" }, index.h("slot", { name: "title" }))), closeIconElement), index.h("div", { key: '93f188c1c870bef15804884d67d30d37ece4fe94', class: `drawer-body ${removePaddingClass}` }, index.h("slot", { key: '6eea3bb0fcfba515561ec38d1a7602c06584e285' })), index.h("footer", { key: 'a068ef915c86f1bb446a29b38e8cb30e77599d3f', class: `drawer-footer ${removePaddingClass}`, style: { display: hasFooterContent ? 'block' : 'none' } }, index.h("slot", { key: '4983c11aedb830637585a978868680e30f7d8dc6', name: "footer" }))))));
422
440
  }
423
441
  get el() { return index.getElement(this); }
424
442
  static get watchers() { return {
@@ -18048,12 +18066,20 @@ const InputGroup = class {
18048
18066
  const hasPrepend = !!this.el.querySelector('[slot="prepend"]');
18049
18067
  const formControl = this.el.querySelector('.form-control');
18050
18068
  const formLabel = this.el.querySelector('.form-label');
18069
+ const formSelect = this.el.querySelector('.form-select');
18070
+ const formSelectLabel = this.el.querySelector('.form-select-label');
18051
18071
  if (formControl) {
18052
18072
  formControl.style.textIndent = hasPrepend ? '2rem' : '';
18053
18073
  }
18074
+ if (formSelect) {
18075
+ formSelect.style.textIndent = hasPrepend ? '2rem' : '';
18076
+ }
18054
18077
  if (formLabel) {
18055
18078
  formLabel.style.textIndent = hasPrepend ? '2.7rem' : '';
18056
18079
  }
18080
+ if (formSelectLabel) {
18081
+ formSelectLabel.style.textIndent = hasPrepend ? '2.7rem' : '';
18082
+ }
18057
18083
  }
18058
18084
  componentDidLoad() {
18059
18085
  this.updateDisabledState(this.disabled);
@@ -18068,7 +18094,7 @@ const InputGroup = class {
18068
18094
  ? `size-${this.el.querySelector('road-input').sizes}`
18069
18095
  : '';
18070
18096
  const disabledClass = this.disabled ? 'is-disabled' : '';
18071
- return (index.h("div", { key: 'd820b7eee7e4199722474ddb8a7e6dea5f3c1232', class: `input-group ${errorClass} ${disabledClass} ${sizeClass}` }, index.h("div", { key: 'ca3a4babe8c43a9d105bce56ff4d34bab501d916', class: "input-group-prepend" }, index.h("slot", { key: '85f0e1dacfa39a5e075edc6af93ad6b8233d55e3', name: "prepend" })), index.h("slot", { key: 'd1b3bc429d1388db53b32fabf24f9a8d3c24f1cd' }), index.h("div", { key: '557aff92ba2225803c997de830d60027e635be1a', class: "input-group-append" }, index.h("slot", { key: 'c4e7a0ba1ff5a766ba3d0683c6cfefd8e31afef9', name: "append" }))));
18097
+ return (index.h("div", { key: '99a512f367c7dfb57297073d05d3e341df818ab3', class: `input-group ${errorClass} ${disabledClass} ${sizeClass}` }, index.h("div", { key: '9e89c27036e321223513c99d3f399694008a4b99', class: "input-group-prepend" }, index.h("slot", { key: 'f448db90587308448b33aeeff57e26f9943c836c', name: "prepend" })), index.h("slot", { key: '67214bd2d0fed61ae080aa10306b98bb376f8f7d' }), index.h("div", { key: '152a4f643d38c0b443a39d3cc8fa781c9b99f87b', class: "input-group-append" }, index.h("slot", { key: '549c3c8f388cf6f26c1080da788a9aadf53ac61b', name: "append" }))));
18072
18098
  }
18073
18099
  get el() { return index.getElement(this); }
18074
18100
  static get watchers() { return {