@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
@@ -240,8 +240,24 @@ const Counter = class {
240
240
  componentWillLoad() {
241
241
  this.onValueChange(this.value);
242
242
  }
243
+ /** Vérifie et applique le `text-indent` si `prepend` est présent */
244
+ updateIndentation() {
245
+ const hasPrepend = !!this.el.querySelector('[slot="prepend"]');
246
+ const formControl = this.el.querySelector('.form-control');
247
+ const formLabel = this.el.querySelector('.form-label');
248
+ if (formControl) {
249
+ formControl.style.textIndent = hasPrepend ? '' : '';
250
+ }
251
+ if (formLabel) {
252
+ formLabel.style.textIndent = hasPrepend ? '' : '';
253
+ }
254
+ }
243
255
  componentDidLoad() {
244
256
  const buttons = this.el.querySelectorAll('road-button');
257
+ this.updateIndentation(); // Appliquer les styles au montage
258
+ // Observer les mutations (au cas où des éléments sont ajoutés dynamiquement)
259
+ const observer = new MutationObserver(() => this.updateIndentation());
260
+ observer.observe(this.el, { childList: true, subtree: true });
245
261
  // Ajouter les événements pour chaque road-button
246
262
  buttons.forEach((btn) => {
247
263
  btn.addEventListener('touchstart', () => {
@@ -270,7 +286,7 @@ const Counter = class {
270
286
  }
271
287
  render() {
272
288
  const dataCi = this.isDustbinVisible ? "road-dustbin" : "";
273
- return (h("road-input-group", { key: '8c5c49f3a335f5becc5b1c67823b3bede8847d7b', class: this.size && `counter-${this.size}` }, h("road-button", { key: 'b31f4ea302a78333283578875bfe488891da73e9', slot: "prepend", size: this.size, onClick: this.decrease, class: this.leftIconClasses, "data-cy": "road-decrease" }, 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" })), 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" }), h("road-button", { key: '4a27e374ce3cee4d1c47a5f921af4b2e2d6fbc53', slot: "append", size: this.size, onClick: this.increase, class: this.rightIconClasses, "data-cy": "road-increase" }, h("road-icon", { key: '3a53a84956795e8576a3e4ba240a17f074d96575', name: "navigation-add-more", size: this.size, role: "button" }))));
289
+ return (h("road-input-group", { key: '0f8b1b0a35803e52ba57c371654f65069ee24eb1', class: this.size && `counter-${this.size}` }, h("road-button", { key: '769528d0e5b027e1b28cb9ef04b3c8f8c26f34d5', slot: "prepend", size: this.size, onClick: this.decrease, class: this.leftIconClasses, "data-cy": "road-decrease" }, 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" })), 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" }), h("road-button", { key: 'e17851794c015e99c34c8d04bccce046b57bad05', slot: "append", size: this.size, onClick: this.increase, class: this.rightIconClasses, "data-cy": "road-increase" }, h("road-icon", { key: 'e0b4898bdb9bab9f48acf38a4a6a2b31520c955d', name: "navigation-add-more", size: this.size, role: "button" }))));
274
290
  }
275
291
  get el() { return getElement(this); }
276
292
  static get watchers() { return {
@@ -280,7 +296,7 @@ const Counter = class {
280
296
  let counterIds = 0;
281
297
  Counter.style = RoadCounterStyle0;
282
298
 
283
- 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}";
299
+ 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}";
284
300
  const RoadDrawerStyle0 = drawerCss;
285
301
 
286
302
  const Drawer = class {
@@ -403,7 +419,7 @@ const Drawer = class {
403
419
  });
404
420
  }
405
421
  render() {
406
- var _a, _b, _c;
422
+ var _a, _b, _c, _d;
407
423
  const drawerIsOpenClass = this.isOpen ? 'drawer-open' : '';
408
424
  const removePaddingClass = this.removePadding ? 'remove-padding' : '';
409
425
  const inverseHeaderClass = this.hasInverseHeader ? 'drawer-header-inverse' : '';
@@ -414,7 +430,9 @@ const Drawer = class {
414
430
  const backIconElement = this.hasBackIcon ? (h("button", { type: "button", class: "drawer-action", "aria-label": ariaLabelBack, onClick: this.onClickBack }, h("road-icon", { icon: navigationChevron, rotate: "180" }), this.backText)) : null;
415
431
  const closeIconElement = this.hasCloseIcon ? (h("button", { type: "button", class: "drawer-close", onClick: this.onClick, "aria-label": ariaLabelClose }, h("road-icon", { icon: navigationClose, "aria-hidden": "true" }))) : null;
416
432
  const drawerWidthValue = this.position === 'bottom' ? '100%' : `${this.drawerWidth}px`;
417
- return (h(Host, { key: '803e9ce30d1511c6714bcf3eae6cf482ab910483', class: `${drawerIsOpenClass} drawer-${this.position}`, tabindex: "0", role: "dialog", "aria-label": ariaLabel }, h("div", { key: 'e57c395fee5c6f507623221567aa8944225e077f', class: "drawer-overlay", onClick: this.onClick, tabindex: "-1" }), h("div", { key: '13d65e0346da78e8d305e8ec367e1a425a64df42', class: "drawer-dialog", style: { maxWidth: drawerWidthValue }, role: "document", tabindex: "0" }, h("div", { key: '3a9b0175243b9a330155a26155e19f288822a2ea', class: "drawer-content" }, h("header", { key: '22f1f8fece85ce1e1d998b876fd83c7854c59ac1', class: `drawer-header ${inverseHeaderClass} ${drawerDelimiterClass}` }, backIconElement, this.drawerTitle ? (h("h2", { class: "drawer-title" }, this.drawerTitle)) : (h("div", { class: "drawer-title" }, h("slot", { name: "title" }))), closeIconElement), h("div", { key: '8d4c6ce1183733fbb7b22e96e2c8cd81c687cf3a', class: `drawer-body ${removePaddingClass}` }, h("slot", { key: 'd8185e9a322bd64833b6ce2ce57807ce27a75dbd' })), h("footer", { key: '8c3345df320d569fe9b8472faba3f4204750c903', class: `drawer-footer ${removePaddingClass}` }, h("slot", { key: '716055f5fc9792510ed43f77cbd81f9b2a039002', name: "footer" }))))));
433
+ const footerSlotElement = (_d = this.el.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelector('slot[name="footer"]');
434
+ const hasFooterContent = footerSlotElement instanceof HTMLSlotElement && footerSlotElement.assignedNodes().length > 0;
435
+ return (h(Host, { key: 'ba990bd447f7c8eb35e7cad402f7f4154a84a8d9', class: `${drawerIsOpenClass} drawer-${this.position}`, tabindex: "0", role: "dialog", "aria-label": ariaLabel }, h("div", { key: 'f32e6d1a0924f48e0610df3d800ce5d6eba9a296', class: "drawer-overlay", onClick: this.onClick, tabindex: "-1" }), h("div", { key: '41f2848256ecaf5563a33ce230a25a8c6b8e564a', class: "drawer-dialog", style: { maxWidth: drawerWidthValue }, role: "document", tabindex: "0" }, h("div", { key: '342dae28d3322659f296027cda7efcc40efc96a4', class: "drawer-content" }, h("header", { key: '018d2bd85e27456281fd94658bf264a45516c350', class: `drawer-header ${inverseHeaderClass} ${drawerDelimiterClass}` }, backIconElement, this.drawerTitle ? (h("h2", { class: "drawer-title" }, this.drawerTitle)) : (h("div", { class: "drawer-title" }, h("slot", { name: "title" }))), closeIconElement), h("div", { key: '93f188c1c870bef15804884d67d30d37ece4fe94', class: `drawer-body ${removePaddingClass}` }, h("slot", { key: '6eea3bb0fcfba515561ec38d1a7602c06584e285' })), h("footer", { key: 'a068ef915c86f1bb446a29b38e8cb30e77599d3f', class: `drawer-footer ${removePaddingClass}`, style: { display: hasFooterContent ? 'block' : 'none' } }, h("slot", { key: '4983c11aedb830637585a978868680e30f7d8dc6', name: "footer" }))))));
418
436
  }
419
437
  get el() { return getElement(this); }
420
438
  static get watchers() { return {
@@ -18044,12 +18062,20 @@ const InputGroup = class {
18044
18062
  const hasPrepend = !!this.el.querySelector('[slot="prepend"]');
18045
18063
  const formControl = this.el.querySelector('.form-control');
18046
18064
  const formLabel = this.el.querySelector('.form-label');
18065
+ const formSelect = this.el.querySelector('.form-select');
18066
+ const formSelectLabel = this.el.querySelector('.form-select-label');
18047
18067
  if (formControl) {
18048
18068
  formControl.style.textIndent = hasPrepend ? '2rem' : '';
18049
18069
  }
18070
+ if (formSelect) {
18071
+ formSelect.style.textIndent = hasPrepend ? '2rem' : '';
18072
+ }
18050
18073
  if (formLabel) {
18051
18074
  formLabel.style.textIndent = hasPrepend ? '2.7rem' : '';
18052
18075
  }
18076
+ if (formSelectLabel) {
18077
+ formSelectLabel.style.textIndent = hasPrepend ? '2.7rem' : '';
18078
+ }
18053
18079
  }
18054
18080
  componentDidLoad() {
18055
18081
  this.updateDisabledState(this.disabled);
@@ -18064,7 +18090,7 @@ const InputGroup = class {
18064
18090
  ? `size-${this.el.querySelector('road-input').sizes}`
18065
18091
  : '';
18066
18092
  const disabledClass = this.disabled ? 'is-disabled' : '';
18067
- return (h("div", { key: 'd820b7eee7e4199722474ddb8a7e6dea5f3c1232', class: `input-group ${errorClass} ${disabledClass} ${sizeClass}` }, h("div", { key: 'ca3a4babe8c43a9d105bce56ff4d34bab501d916', class: "input-group-prepend" }, h("slot", { key: '85f0e1dacfa39a5e075edc6af93ad6b8233d55e3', name: "prepend" })), h("slot", { key: 'd1b3bc429d1388db53b32fabf24f9a8d3c24f1cd' }), h("div", { key: '557aff92ba2225803c997de830d60027e635be1a', class: "input-group-append" }, h("slot", { key: 'c4e7a0ba1ff5a766ba3d0683c6cfefd8e31afef9', name: "append" }))));
18093
+ return (h("div", { key: '99a512f367c7dfb57297073d05d3e341df818ab3', class: `input-group ${errorClass} ${disabledClass} ${sizeClass}` }, h("div", { key: '9e89c27036e321223513c99d3f399694008a4b99', class: "input-group-prepend" }, h("slot", { key: 'f448db90587308448b33aeeff57e26f9943c836c', name: "prepend" })), h("slot", { key: '67214bd2d0fed61ae080aa10306b98bb376f8f7d' }), h("div", { key: '152a4f643d38c0b443a39d3cc8fa781c9b99f87b', class: "input-group-append" }, h("slot", { key: '549c3c8f388cf6f26c1080da788a9aadf53ac61b', name: "append" }))));
18068
18094
  }
18069
18095
  get el() { return getElement(this); }
18070
18096
  static get watchers() { return {