@roadtrip/components 3.14.3 → 3.16.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 (72) hide show
  1. package/dist/cjs/index-fb57f684.js.map +1 -1
  2. package/dist/cjs/loader.cjs.js +1 -1
  3. package/dist/cjs/road-badge_14.cjs.entry.js +33 -6
  4. package/dist/cjs/road-badge_14.cjs.entry.js.map +1 -1
  5. package/dist/cjs/road-dropdown.cjs.entry.js +15 -9
  6. package/dist/cjs/road-dropdown.cjs.entry.js.map +1 -1
  7. package/dist/cjs/road-toggle.cjs.entry.js +2 -4
  8. package/dist/cjs/road-toggle.cjs.entry.js.map +1 -1
  9. package/dist/cjs/roadtrip.cjs.js +1 -1
  10. package/dist/collection/components/carousel/carousel.stories.js +5 -5
  11. package/dist/collection/components/dropdown/dropdown.js +29 -19
  12. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  13. package/dist/collection/components/icon/svg/check-list-solid.svg +1 -0
  14. package/dist/collection/components/icon/svg/funding-refused-color.svg +1 -1
  15. package/dist/collection/components/icon/svg/funding-refused-outline.svg +1 -1
  16. package/dist/collection/components/icon/svg/funding-refused-solid.svg +1 -1
  17. package/dist/collection/components/icon/svg/vehicle-car-search-color.svg +1 -0
  18. package/dist/collection/components/icon/svg/world-solid.svg +1 -0
  19. package/dist/collection/components/input/input.js +30 -7
  20. package/dist/collection/components/input/input.js.map +1 -1
  21. package/dist/collection/components/item/item.css +47 -22
  22. package/dist/collection/components/item/item.js +60 -2
  23. package/dist/collection/components/item/item.js.map +1 -1
  24. package/dist/collection/components/item/item.stories.js +32 -15
  25. package/dist/collection/components/toggle/toggle.css +0 -35
  26. package/dist/collection/components/toggle/toggle.js +1 -27
  27. package/dist/collection/components/toggle/toggle.js.map +1 -1
  28. package/dist/collection/components/toggle/toggle.stories.js +0 -8
  29. package/dist/esm/index-891decf5.js.map +1 -1
  30. package/dist/esm/loader.js +1 -1
  31. package/dist/esm/road-badge_14.entry.js +33 -6
  32. package/dist/esm/road-badge_14.entry.js.map +1 -1
  33. package/dist/esm/road-dropdown.entry.js +16 -10
  34. package/dist/esm/road-dropdown.entry.js.map +1 -1
  35. package/dist/esm/road-toggle.entry.js +2 -4
  36. package/dist/esm/road-toggle.entry.js.map +1 -1
  37. package/dist/esm/roadtrip.js +1 -1
  38. package/dist/html.html-data.json +25 -23
  39. package/dist/icons/icons.svg +1 -1
  40. package/dist/icons/index.d.ts +3 -0
  41. package/dist/icons/index.js +6 -3
  42. package/dist/roadtrip/p-73fe2357.js.map +1 -1
  43. package/dist/roadtrip/{p-336f7def.entry.js → p-afe28f05.entry.js} +2 -2
  44. package/dist/roadtrip/p-afe28f05.entry.js.map +1 -0
  45. package/dist/roadtrip/p-c1dca3cc.entry.js +2 -0
  46. package/dist/roadtrip/p-c1dca3cc.entry.js.map +1 -0
  47. package/dist/roadtrip/p-faba450c.entry.js +2 -0
  48. package/dist/roadtrip/p-faba450c.entry.js.map +1 -0
  49. package/dist/roadtrip/roadtrip.css +1 -1
  50. package/dist/roadtrip/roadtrip.esm.js +1 -1
  51. package/dist/roadtrip/roadtrip.esm.js.map +1 -1
  52. package/dist/roadtrip/svg/check-list-solid.svg +1 -0
  53. package/dist/roadtrip/svg/funding-refused-color.svg +1 -1
  54. package/dist/roadtrip/svg/funding-refused-outline.svg +1 -1
  55. package/dist/roadtrip/svg/funding-refused-solid.svg +1 -1
  56. package/dist/roadtrip/svg/vehicle-car-search-color.svg +1 -0
  57. package/dist/roadtrip/svg/world-solid.svg +1 -0
  58. package/dist/types/components/dropdown/dropdown.d.ts +2 -23
  59. package/dist/types/components/input/input.d.ts +3 -2
  60. package/dist/types/components/item/item.d.ts +12 -0
  61. package/dist/types/components/toggle/toggle.d.ts +0 -5
  62. package/dist/types/components.d.ts +27 -41
  63. package/hydrate/index.js +54 -26
  64. package/icons/icons.svg +1 -1
  65. package/icons/index.d.ts +3 -0
  66. package/icons/index.js +6 -3
  67. package/package.json +1 -1
  68. package/dist/roadtrip/p-336f7def.entry.js.map +0 -1
  69. package/dist/roadtrip/p-64aa6fd0.entry.js +0 -2
  70. package/dist/roadtrip/p-64aa6fd0.entry.js.map +0 -1
  71. package/dist/roadtrip/p-9d62ca01.entry.js +0 -2
  72. package/dist/roadtrip/p-9d62ca01.entry.js.map +0 -1
@@ -545,25 +545,10 @@ export namespace Components {
545
545
  "position": string;
546
546
  }
547
547
  interface RoadDropdown {
548
- /**
549
- * The opening direction.
550
- */
551
548
  "direction"?: 'top' | 'bottom';
552
- /**
553
- * If you want to remove background of the dropdown button
554
- */
555
549
  "isLight": boolean;
556
- /**
557
- * If you want a medium dropdown
558
- */
559
550
  "isMedium": boolean;
560
- /**
561
- * Set to `true` to open the dropdown menu and to `false` to close it.
562
- */
563
551
  "isOpen": boolean;
564
- /**
565
- * The button position.
566
- */
567
552
  "position"?: 'left' | 'right';
568
553
  }
569
554
  interface RoadDuration {
@@ -849,6 +834,10 @@ export namespace Components {
849
834
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
850
835
  */
851
836
  "href": string | undefined;
837
+ /**
838
+ * How the bottom border should be displayed on the item.
839
+ */
840
+ "layout"?: 'horizontal' | 'vertical';
852
841
  /**
853
842
  * How the bottom border should be displayed on the item.
854
843
  */
@@ -861,6 +850,14 @@ export namespace Components {
861
850
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
862
851
  */
863
852
  "target": string | undefined;
853
+ /**
854
+ * Description for the item
855
+ */
856
+ "text"?: string;
857
+ /**
858
+ * Title for the item
859
+ */
860
+ "titleItem"?: string;
864
861
  /**
865
862
  * The type of the button. Only used when an `onclick` or `button` property is present.
866
863
  */
@@ -1611,10 +1608,6 @@ export namespace Components {
1611
1608
  * If `true`, the toggle is checked.
1612
1609
  */
1613
1610
  "checked": boolean;
1614
- /**
1615
- * Set the color of alert. e.g. info, success, warning, danger
1616
- */
1617
- "color"?: 'success' | FeedbackColors;
1618
1611
  /**
1619
1612
  * If `true`, the user cannot interact with the toggle.
1620
1613
  */
@@ -2248,8 +2241,8 @@ declare global {
2248
2241
  "roadChange": {
2249
2242
  value: string | undefined | null;
2250
2243
  };
2251
- "roadblur": void;
2252
- "roadBlur": void;
2244
+ "roadblur": string | null;
2245
+ "roadBlur": string | null;
2253
2246
  "roadfocus": void;
2254
2247
  "roadFocus": void;
2255
2248
  }
@@ -3516,25 +3509,10 @@ declare namespace LocalJSX {
3516
3509
  "position"?: string;
3517
3510
  }
3518
3511
  interface RoadDropdown {
3519
- /**
3520
- * The opening direction.
3521
- */
3522
3512
  "direction"?: 'top' | 'bottom';
3523
- /**
3524
- * If you want to remove background of the dropdown button
3525
- */
3526
3513
  "isLight"?: boolean;
3527
- /**
3528
- * If you want a medium dropdown
3529
- */
3530
3514
  "isMedium"?: boolean;
3531
- /**
3532
- * Set to `true` to open the dropdown menu and to `false` to close it.
3533
- */
3534
3515
  "isOpen"?: boolean;
3535
- /**
3536
- * The button position.
3537
- */
3538
3516
  "position"?: 'left' | 'right';
3539
3517
  }
3540
3518
  interface RoadDuration {
@@ -3762,7 +3740,7 @@ declare namespace LocalJSX {
3762
3740
  /**
3763
3741
  * Emitted when the input loses focus.
3764
3742
  */
3765
- "onRoadblur"?: (event: RoadInputCustomEvent<void>) => void;
3743
+ "onRoadblur"?: (event: RoadInputCustomEvent<string | null>) => void;
3766
3744
  /**
3767
3745
  * Emitted when the value has changed.
3768
3746
  */
@@ -3849,6 +3827,10 @@ declare namespace LocalJSX {
3849
3827
  * Contains a URL or a URL fragment that the hyperlink points to. If this property is set, an anchor tag will be rendered.
3850
3828
  */
3851
3829
  "href"?: string | undefined;
3830
+ /**
3831
+ * How the bottom border should be displayed on the item.
3832
+ */
3833
+ "layout"?: 'horizontal' | 'vertical';
3852
3834
  /**
3853
3835
  * How the bottom border should be displayed on the item.
3854
3836
  */
@@ -3861,6 +3843,14 @@ declare namespace LocalJSX {
3861
3843
  * Specifies where to display the linked URL. Only applies when an `href` is provided. Special keywords: `"_blank"`, `"_self"`, `"_parent"`, `"_top"`.
3862
3844
  */
3863
3845
  "target"?: string | undefined;
3846
+ /**
3847
+ * Description for the item
3848
+ */
3849
+ "text"?: string;
3850
+ /**
3851
+ * Title for the item
3852
+ */
3853
+ "titleItem"?: string;
3864
3854
  /**
3865
3855
  * The type of the button. Only used when an `onclick` or `button` property is present.
3866
3856
  */
@@ -4691,10 +4681,6 @@ declare namespace LocalJSX {
4691
4681
  * If `true`, the toggle is checked.
4692
4682
  */
4693
4683
  "checked"?: boolean;
4694
- /**
4695
- * Set the color of alert. e.g. info, success, warning, danger
4696
- */
4697
- "color"?: 'success' | FeedbackColors;
4698
4684
  /**
4699
4685
  * If `true`, the user cannot interact with the toggle.
4700
4686
  */
package/hydrate/index.js CHANGED
@@ -13823,17 +13823,9 @@ class Drawer {
13823
13823
 
13824
13824
  const dropdownCss = "/*!@:host*/.sc-road-dropdown-h{--margin-top:0.5rem;display:block}/*!@.dropdown*/.dropdown.sc-road-dropdown{position:relative;font-family:var(--road-font)}/*!@.dropdown summary*/.dropdown.sc-road-dropdown summary.sc-road-dropdown{display:block;outline:none}/*!@.dropdown summary::-webkit-details-marker*/.dropdown.sc-road-dropdown summary.sc-road-dropdown::-webkit-details-marker{display:none}/*!@.dropdown-button*/.dropdown-button.sc-road-dropdown{position:relative;display:flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;cursor:pointer;border-radius:0.25rem}/*!@.dropdown-medium-button*/.dropdown-medium-button.sc-road-dropdown{width:2.5rem;height:2.5rem}/*!@.dropdown-button:hover*/.dropdown-button.sc-road-dropdown:hover{background:var(--road-grey-200)}/*!@.position-right*/.position-right.sc-road-dropdown{display:flex;justify-content:flex-end}/*!@.bg-white*/.bg-white.sc-road-dropdown{background:var(--road-grey-000)}/*!@.dropdown-button-icon*/.dropdown-button-icon.sc-road-dropdown{width:2.5rem;height:2.5rem}/*!@.dropdown-medium-button .dropdown-button-icon*/.dropdown-medium-button.sc-road-dropdown .dropdown-button-icon.sc-road-dropdown{width:1.75rem;height:1.75rem}/*!@.dropdown[open] .dropdown-menu*/.dropdown[open].sc-road-dropdown .dropdown-menu.sc-road-dropdown{transform:scaleY(1)}/*!@.dropdown[open] .dropdown-menu.direction-top*/.dropdown[open].sc-road-dropdown .dropdown-menu.direction-top.sc-road-dropdown{position:absolute;bottom:0;left:0;transform:translate3d(0, -56px, 0);will-change:transform}/*!@.dropdown-menu*/.dropdown-menu.sc-road-dropdown{position:absolute;z-index:1;display:flex;flex-direction:column;width:100%;min-width:16.875rem;padding:0.5rem 0;color:var(--road-on-surface);background:var(--road-surface);border:1px solid;border-color:var(--road-outline-weak);border-radius:0.25rem;box-shadow:var(--road-elevation-low);transition:transform 0.2s ease-in-out;transform:scaleY(0);transform-origin:0 0}/*!@.dropdown-left*/.dropdown-left.sc-road-dropdown{left:0}/*!@.dropdown-right*/.dropdown-right.sc-road-dropdown{right:0}/*!@.dropdown-item*/.dropdown-item.sc-road-dropdown{min-height:40px;padding:0 1rem;font-size:var(--road-body-medium);line-height:1.5;color:var(--road-on-surface);text-align:left;text-decoration:none;cursor:pointer;background:var(--road-surface);border:none;outline:none}/*!@.dropdown-item-border*/.dropdown-item-border.sc-road-dropdown{border-color:var(--road-outline-weak);border-bottom:1px solid}/*!@.dropdown-item:hover,\n.dropdown-item.focus-visible*/.dropdown-item.sc-road-dropdown:hover,.dropdown-item.focus-visible.sc-road-dropdown{background:var(--road-surface-inverse)}";
13825
13825
 
13826
- /**
13827
- * @slot - Element how will open the dropdown when clicked
13828
- * @slot list - List of item values (you can add border with lines=`full` but not on the last item)
13829
- )
13830
- */
13831
13826
  class Dropdown$1 {
13832
13827
  constructor(hostRef) {
13833
13828
  registerInstance(this, hostRef);
13834
- /**
13835
- * Toggle the display when clicking element in slot
13836
- */
13837
13829
  this.onClick = () => {
13838
13830
  this.isOpen = !this.isOpen;
13839
13831
  };
@@ -13843,14 +13835,23 @@ class Dropdown$1 {
13843
13835
  this.position = undefined;
13844
13836
  this.direction = 'bottom';
13845
13837
  }
13838
+ handleDocumentClick(ev) {
13839
+ // Check if the clicked element is the dropdown button
13840
+ if (ev.target.closest('road-dropdown') === this.el) {
13841
+ return; // Do nothing if clicked element is the dropdown button
13842
+ }
13843
+ // Close dropdown if click is outside the dropdown
13844
+ this.isOpen = false;
13845
+ }
13846
13846
  render() {
13847
- const isLightButtonDropDown = this.isLight == true ? `dropdown-button` : 'dropdown-button bg-white';
13848
- const isMediumButtonDropDown = this.isMedium == true ? `dropdown-medium-button dropdown-button` : 'dropdown-button bg-white';
13849
- const positionClass = this.position !== undefined ? `position-${this.position}` : '';
13850
- const dropdownClass = this.position !== undefined ? `dropdown-${this.position}` : '';
13851
- const directionClass = this.direction !== undefined ? `direction-${this.direction}` : '';
13852
- return (hAsync("details", { class: "dropdown", open: this.isOpen }, hAsync("summary", { "aria-expanded": `${this.isOpen}`, tabindex: "0", role: "button", onClick: this.onClick }, hAsync("div", { class: `d-flex ${positionClass}` }, hAsync("div", { class: `${isLightButtonDropDown} ${isMediumButtonDropDown}` }, hAsync("road-icon", { name: "navigation-more", class: "dropdown-button-icon" })))), hAsync("div", { class: `dropdown-menu ${directionClass} ${dropdownClass}` }, hAsync("slot", { name: "list" }))));
13847
+ const isLightButtonDropDown = this.isLight ? 'dropdown-button' : 'dropdown-button bg-white';
13848
+ const isMediumButtonDropDown = this.isMedium ? 'dropdown-medium-button dropdown-button' : 'dropdown-button bg-white';
13849
+ const positionClass = this.position ? `position-${this.position}` : '';
13850
+ const dropdownClass = this.position ? `dropdown-${this.position}` : '';
13851
+ const directionClass = this.direction ? `direction-${this.direction}` : '';
13852
+ return (hAsync("details", { class: "dropdown", open: this.isOpen }, hAsync("summary", { "aria-expanded": this.isOpen.toString(), tabindex: "0", role: "button", onClick: this.onClick }, hAsync("div", { class: `d-flex ${positionClass}` }, hAsync("div", { class: `${isLightButtonDropDown} ${isMediumButtonDropDown}` }, hAsync("road-icon", { name: "navigation-more", class: "dropdown-button-icon" })))), hAsync("div", { class: `dropdown-menu ${directionClass} ${dropdownClass}` }, hAsync("slot", { name: "list" }))));
13853
13853
  }
13854
+ get el() { return getElement(this); }
13854
13855
  static get style() { return dropdownCss; }
13855
13856
  static get cmpMeta() { return {
13856
13857
  "$flags$": 9,
@@ -13862,7 +13863,7 @@ class Dropdown$1 {
13862
13863
  "position": [513],
13863
13864
  "direction": [513]
13864
13865
  },
13865
- "$listeners$": undefined,
13866
+ "$listeners$": [[4, "click", "handleDocumentClick"]],
13866
13867
  "$lazyBundleId$": "-",
13867
13868
  "$attrsToReflect$": [["position", "position"], ["direction", "direction"]]
13868
13869
  }; }
@@ -14436,8 +14437,18 @@ class Input {
14436
14437
  this.roadInput.emit(ev);
14437
14438
  };
14438
14439
  this.onBlur = () => {
14439
- this.roadblur.emit();
14440
- this.roadBlur.emit();
14440
+ let value = this.getValue();
14441
+ // Vérifier si les contraintes min et max sont définies
14442
+ if (this.min !== undefined && value !== '' && parseFloat(value) < parseFloat(this.min)) {
14443
+ value = this.min; // Ajuster la valeur à la valeur minimale
14444
+ }
14445
+ if (this.max !== undefined && value !== '' && parseFloat(value) > parseFloat(this.max)) {
14446
+ value = this.max; // Ajuster la valeur à la valeur maximale
14447
+ }
14448
+ this.value = value; // Mettre à jour la valeur avec la valeur ajustée
14449
+ // Émettre l'événement roadblur avec la valeur ajustée
14450
+ this.roadblur.emit(this.value);
14451
+ this.roadBlur.emit(this.value);
14441
14452
  };
14442
14453
  this.onFocus = () => {
14443
14454
  this.roadfocus.emit();
@@ -14487,13 +14498,26 @@ class Input {
14487
14498
  ? this.value.toString()
14488
14499
  : (this.value || '').toString();
14489
14500
  }
14501
+ enforceMinMax(el) {
14502
+ if (el.value !== "") {
14503
+ const value = parseInt(el.value);
14504
+ const minValue = parseInt(el.min);
14505
+ const maxValue = parseInt(el.max);
14506
+ if (value < minValue) {
14507
+ el.value = el.min;
14508
+ }
14509
+ if (value > maxValue) {
14510
+ el.value = el.max;
14511
+ }
14512
+ }
14513
+ }
14490
14514
  render() {
14491
14515
  const value = this.getValue();
14492
14516
  const labelId = this.inputId + '-label';
14493
14517
  const hasValueClass = this.value !== '' ? 'has-value' : '';
14494
14518
  const lessLabelClass = this.label !== '' ? '' : 'less-label';
14495
14519
  const isInvalidClass = this.error !== undefined && this.error !== '' ? 'is-invalid' : '';
14496
- return (hAsync(Host, { "aria-disabled": this.disabled ? 'true' : null, class: this.sizes && `input-${this.sizes}` }, hAsync("input", { class: `form-control ${hasValueClass} ${isInvalidClass} ${lessLabelClass}`, id: this.inputId, "aria-disabled": this.disabled ? 'true' : null, "aria-labelledby": labelId, disabled: this.disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, enterKeyHint: this.enterkeyhint, autoFocus: this.autofocus, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, "data-cy": 'road-input' }), hAsync("label", { class: "form-label", id: labelId, htmlFor: this.inputId }, this.label), this.error && this.error !== '' && hAsync("p", { class: "invalid-feedback" }, this.error), this.helper && this.helper !== '' && hAsync("p", { class: "helper" }, this.helper), this.type && this.type == 'password' &&
14520
+ return (hAsync(Host, { "aria-disabled": this.disabled ? 'true' : null, class: this.sizes && `input-${this.sizes}`, value: value }, hAsync("input", { class: `form-control ${hasValueClass} ${isInvalidClass} ${lessLabelClass}`, id: this.inputId, "aria-disabled": this.disabled ? 'true' : null, "aria-labelledby": labelId, disabled: this.disabled, autoCapitalize: this.autocapitalize, autoComplete: this.autocomplete, autoCorrect: this.autocorrect, enterKeyHint: this.enterkeyhint, autoFocus: this.autofocus, inputMode: this.inputmode, min: this.min, max: this.max, minLength: this.minlength, maxLength: this.maxlength, name: this.name, pattern: this.pattern, placeholder: this.placeholder, readOnly: this.readonly, required: this.required, spellcheck: this.spellcheck, step: this.step, size: this.size, type: this.type, value: value, onInput: this.onInput, onBlur: this.onBlur, onFocus: this.onFocus, onKeyUp: (event) => this.enforceMinMax(event.target), "data-cy": 'road-input' }), hAsync("label", { class: "form-label", id: labelId, htmlFor: this.inputId }, this.label), this.error && this.error !== '' && hAsync("p", { class: "invalid-feedback" }, this.error), this.helper && this.helper !== '' && hAsync("p", { class: "helper" }, this.helper), this.type && this.type == 'password' &&
14497
14521
  hAsync("slot", { name: "checklistPassword" })));
14498
14522
  }
14499
14523
  static get watchers() { return {
@@ -14575,7 +14599,7 @@ class InputGroup {
14575
14599
  }; }
14576
14600
  }
14577
14601
 
14578
- const itemCss = "/*!@:host*/.sc-road-item-h{--border-radius:0.25rem;--background-color:transparent;--detail-color:var(--road-icon);--inner-padding:1rem 0.5rem 1rem 0;--min-height:3.5rem;--padding-left:1rem;position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;overflow:hidden;text-decoration:none;outline:none}/*!@.item-native*/.item-native.sc-road-item{position:relative;z-index:1;box-sizing:border-box;display:flex;align-items:inherit;justify-content:inherit;width:100%;min-height:var(--min-height);padding:0 0 0 var(--padding-left);margin:0;overflow:inherit;font-family:inherit;font-size:inherit;color:var(--road-on-surface);background-color:var(--background-color);border-color:var(--road-grey-70);border-style:solid;border-width:var(--border-width, 0);border-radius:var(--border-radius);outline:none;transition:background 0.15s ease-in-out;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}/*!@.item-active*/.item-active.sc-road-item{background-color:var(--road-grey-90)}/*!@button.item-native:not(:disabled):not(.item-active):hover,\nbutton.item-native:not(:disabled):not(.item-active):focus*/button.item-native.sc-road-item:not(:disabled):not(.item-active):hover,button.item-native.sc-road-item:not(:disabled):not(.item-active):focus{background-color:var(--road-grey-90)}/*!@.item-native::-moz-focus-inner*/.item-native.sc-road-item::-moz-focus-inner{border:0}/*!@button,\na*/button.sc-road-item,a.sc-road-item{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}/*!@.item-inner*/.item-inner.sc-road-item{position:relative;box-sizing:border-box;display:flex;flex:1;flex-direction:inherit;align-items:center;align-self:stretch;width:100%;min-height:inherit;padding:var(--inner-padding);overflow:inherit;text-align:inherit;text-decoration:none;border-color:var(--road-grey-70);border-style:solid;border-width:var(--inner-border-width, 0);outline:0}/*!@.input-wrapper*/.input-wrapper.sc-road-item{box-sizing:border-box;display:flex;flex:1;flex-direction:inherit;align-items:inherit;align-self:stretch;overflow:inherit;text-overflow:ellipsis}/*!@.item-detail-icon*/.item-detail-icon.sc-road-item{color:var(--detail-color)}/*!@::slotted(road-icon)*/.sc-road-item-s>road-icon{flex-shrink:0;margin-right:0.5rem}/*!@::slotted(road-img)*/.sc-road-item-s>road-img{flex-shrink:0;width:3rem;height:3rem;object-fit:cover;min-height:inherit;margin-right:1rem}/*!@::slotted(road-button)*/.sc-road-item-s>road-button{--padding-start:0.5rem;--padding-end:0.5rem;--margin-bottom:0}/*!@:host(.item-lines-none)*/.item-lines-none.sc-road-item-h{--border-width:0 !important;--inner-border-width:0 !important}/*!@:host(.item-lines-full)*/.item-lines-full.sc-road-item-h{--border-width:0 0 1px 0 !important;--inner-border-width:0 !important}/*!@:host(.item-lines-inset)*/.item-lines-inset.sc-road-item-h{--inner-border-width:0 0 1px 0 !important}";
14602
+ const itemCss = "/*!@:host*/.sc-road-item-h{--border-radius:var(--road-spacing-02);--background-color:var(--road-surface);--detail-color:var(--road-icon);position:relative;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;overflow:hidden;font-size:var(--road-font-size-14);text-decoration:none;outline:none}/*!@.layout-vertical*/.layout-vertical.sc-road-item{display:flex;flex-direction:column;max-width:224px}/*!@.layout-vertical .item-inner*/.layout-vertical.sc-road-item .item-inner.sc-road-item{align-items:flex-start}/*!@.item-native*/.item-native.sc-road-item{position:relative;z-index:1;box-sizing:border-box;display:flex;align-items:inherit;justify-content:inherit;padding:var(--road-spacing-05);margin:0;overflow:inherit;font-family:inherit;font-size:inherit;color:var(--road-on-surface);text-align:left;background-color:var(--background-color);border:1px solid var(--road-outline-weak);border-radius:var(--border-radius);outline:none;transition:background 0.15s ease-in-out;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}/*!@.item-active*/.item-active.sc-road-item{border:2px solid var(--road-outline-variant)}/*!@button.item-native:not(:disabled):not(.item-active):hover,\nbutton.item-native:not(:disabled):not(.item-active):focus*/button.item-native.sc-road-item:not(:disabled):not(.item-active):hover,button.item-native.sc-road-item:not(:disabled):not(.item-active):focus{border:2px solid var(--road-outline-variant)}/*!@.item-native::-moz-focus-inner*/.item-native.sc-road-item::-moz-focus-inner{border:0}/*!@button,\na*/button.sc-road-item,a.sc-road-item{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}/*!@.item-inner*/.item-inner.sc-road-item{position:relative;box-sizing:border-box;display:flex;flex:1;flex-direction:inherit;align-items:center;align-self:stretch;width:100%;min-height:inherit;padding:var(--inner-padding);overflow:inherit;text-align:inherit;text-decoration:none;border-color:var(--road-grey-70);border-style:solid;border-width:var(--inner-border-width, 0);outline:0}/*!@.input-wrapper*/.input-wrapper.sc-road-item{box-sizing:border-box;display:flex;flex:1;flex-direction:inherit;align-items:inherit;align-self:stretch;overflow:inherit;text-overflow:ellipsis}/*!@.input-wrapper-info-title*/.input-wrapper-info-title.sc-road-item{font-size:var(--road-font-size-16);font-weight:700}/*!@.input-wrapper-info-text*/.input-wrapper-info-text.sc-road-item{margin:0;font-size:var(--road-font-size-16);font-weight:400;color:var(--road-on-surface-weak)}/*!@.item-detail-icon*/.item-detail-icon.sc-road-item{color:var(--detail-color)}/*!@::slotted(road-icon)*/.sc-road-item-s>road-icon{flex-shrink:0;margin-right:0.5rem}/*!@::slotted(road-img)*/.sc-road-item-s>road-img{flex-shrink:0;margin-right:0.5rem}/*!@.layout-vertical ::slotted(road-img)*/.layout-vertical .sc-road-item-s>road-img{margin-bottom:0.5rem}/*!@::slotted(road-label) p*/.sc-road-item-s>road-label p{color:var(--road-on-surface-weak)}/*!@::slotted(road-button)*/.sc-road-item-s>road-button{--padding-start:0.5rem;--padding-end:0.5rem;--margin-bottom:0}/*!@:host(.item-lines-none)*/.item-lines-none.sc-road-item-h{--border-width:0 !important;--inner-border-width:0 !important}/*!@:host(.item-lines-full)*/.item-lines-full.sc-road-item-h{--border-width:0 0 1px 0 !important;--inner-border-width:0 !important}/*!@:host(.item-lines-inset)*/.item-lines-inset.sc-road-item-h{--inner-border-width:0 0 1px 0 !important}";
14579
14603
 
14580
14604
  /**
14581
14605
  * @slot start - Placed to the left of all other content.
@@ -14588,6 +14612,8 @@ class Item {
14588
14612
  constructor(hostRef) {
14589
14613
  registerInstance(this, hostRef);
14590
14614
  this.multipleInputs = false;
14615
+ this.titleItem = '';
14616
+ this.text = '';
14591
14617
  this.button = false;
14592
14618
  this.detail = undefined;
14593
14619
  this.active = undefined;
@@ -14597,6 +14623,7 @@ class Item {
14597
14623
  this.href = undefined;
14598
14624
  this.rel = undefined;
14599
14625
  this.lines = undefined;
14626
+ this.layout = 'horizontal';
14600
14627
  this.target = undefined;
14601
14628
  this.type = 'button';
14602
14629
  }
@@ -14606,7 +14633,7 @@ class Item {
14606
14633
  return (this.href !== undefined || this.button);
14607
14634
  }
14608
14635
  render() {
14609
- const { detail, detailIcon, download, lines, disabled, href, rel, target } = this;
14636
+ const { detail, detailIcon, download, layout, lines, disabled, href, rel, target } = this;
14610
14637
  const clickable = this.isClickable();
14611
14638
  const TagType = clickable ? (href === undefined ? 'button' : 'a') : 'div';
14612
14639
  const attrs = (TagType === 'button')
@@ -14623,7 +14650,8 @@ class Item {
14623
14650
  } }, hAsync(TagType, Object.assign({}, attrs, { class: {
14624
14651
  'item-native': true,
14625
14652
  'item-active': this.active,
14626
- }, part: "native", disabled: disabled }), hAsync("slot", { name: "start" }), hAsync("div", { class: "item-inner" }, hAsync("div", { class: "input-wrapper" }, hAsync("slot", null)), hAsync("slot", { name: "end" }), showDetail && hAsync("road-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon" })))));
14653
+ [`layout-${layout}`]: layout !== undefined,
14654
+ }, part: "native", disabled: disabled }), hAsync("slot", { name: "start" }), hAsync("div", { class: "item-inner" }, hAsync("div", { class: "input-wrapper" }, hAsync("slot", null), hAsync("div", { class: "input-wrapper-info" }, hAsync("road-label", { class: "input-wrapper-info-title" }, this.titleItem), hAsync("p", { class: "input-wrapper-info-text" }, this.text))), hAsync("slot", { name: "end" }), showDetail && hAsync("road-icon", { icon: detailIcon, lazy: false, class: "item-detail-icon" })))));
14627
14655
  }
14628
14656
  get el() { return getElement(this); }
14629
14657
  static get style() { return itemCss; }
@@ -14631,6 +14659,8 @@ class Item {
14631
14659
  "$flags$": 9,
14632
14660
  "$tagName$": "road-item",
14633
14661
  "$members$": {
14662
+ "titleItem": [1, "title-item"],
14663
+ "text": [1],
14634
14664
  "button": [4],
14635
14665
  "detail": [4],
14636
14666
  "active": [4],
@@ -14640,6 +14670,7 @@ class Item {
14640
14670
  "href": [1],
14641
14671
  "rel": [1],
14642
14672
  "lines": [1],
14673
+ "layout": [1],
14643
14674
  "target": [1],
14644
14675
  "type": [1],
14645
14676
  "multipleInputs": [32]
@@ -20109,7 +20140,7 @@ class Tooltip {
20109
20140
  }
20110
20141
  let tooltipIds = 0;
20111
20142
 
20112
- const toggleCss = ".sc-road-toggle-h{--toggle-lever-width:4.5rem;position:relative;display:block;margin-bottom:1rem;font-family:var(--road-font, sans-serif);font-size:var(--road-label-medium);color:var(--road-on-surface)}.form-toggle-input.sc-road-toggle{position:absolute;z-index:-1;opacity:0}.form-toggle-label.sc-road-toggle{display:inline-flex;align-items:center;cursor:pointer;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}.form-toggle-lever.sc-road-toggle{position:relative;box-sizing:border-box;display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;width:var(--toggle-lever-width);height:2rem;padding:0.5rem 0.625rem;margin-right:0.75rem;font-size:0.625rem;font-weight:700;line-height:1.6;content:\"\";background:var(--road-on-surface-extra-weak);border:0.125rem solid transparent;border-radius:1.125rem;transition:background 0.2s ease-in-out}.form-toggle-lever.sc-road-toggle::before{font-size:0.625rem;font-weight:700;color:var(--road-surface);text-transform:uppercase;content:attr(data-off)}.form-toggle-lever.sc-road-toggle::after{position:absolute;top:0.0625rem;left:0.0625rem;display:block;width:1.625rem;height:1.625rem;content:\"\";background:var(--road-on-success-surface-inverse);border-radius:50%;box-shadow:var(--road-elevation-low);transition:transform 0.2s ease-in-out}.form-toggle-input.sc-road-toggle:checked~.form-toggle-label.sc-road-toggle .form-toggle-lever.sc-road-toggle{justify-content:flex-start;background:var(--road-success-surface-inverse)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-label.sc-road-toggle .form-toggle-lever.sc-road-toggle::before{color:var(--road-surface);content:attr(data-on)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-label.sc-road-toggle .form-toggle-lever.sc-road-toggle::after{transform:translateX(calc(var(--toggle-lever-width) - 2rem))}.form-toggle-input.focus-visible.sc-road-toggle~.form-toggle-label.sc-road-toggle .form-toggle-lever.sc-road-toggle{box-shadow:0 0 0 0.125rem var(--road-grey-100-new), 0 0 0 0.1875rem var(--road-primary)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-secondary.sc-road-toggle .form-toggle-lever.sc-road-toggle{background:var(--road-secondary)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-secondary.sc-road-toggle .form-toggle-lever.sc-road-toggle::before{color:var(--road-surface)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-info.sc-road-toggle .form-toggle-lever.sc-road-toggle{background:var(--road-info-surface-inverse)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-info.sc-road-toggle .form-toggle-lever.sc-road-toggle::before{color:var(--road-surface)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-success.sc-road-toggle .form-toggle-lever.sc-road-toggle{background:var(--road-success-surface-inverse)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-success.sc-road-toggle .form-toggle-lever.sc-road-toggle::before{color:var(--road-surface)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-warning.sc-road-toggle .form-toggle-lever.sc-road-toggle{background:var(--road-warning-surface-inverse)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-warning.sc-road-toggle .form-toggle-lever.sc-road-toggle::before{color:var(--road-on-warning-surface-inverse)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-danger.sc-road-toggle .form-toggle-lever.sc-road-toggle{background:var(--road-danger-surface-inverse)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-danger.sc-road-toggle .form-toggle-lever.sc-road-toggle::before{color:var(--road-surface)}.form-toggle-right.sc-road-toggle{margin-right:0;margin-left:0.75rem}.form-toggle-spaced.sc-road-toggle{display:flex;justify-content:space-between}";
20143
+ const toggleCss = ".sc-road-toggle-h{--toggle-lever-width:4.5rem;position:relative;display:block;margin-bottom:1rem;font-family:var(--road-font, sans-serif);font-size:var(--road-label-medium);color:var(--road-on-surface)}.form-toggle-input.sc-road-toggle{position:absolute;z-index:-1;opacity:0}.form-toggle-label.sc-road-toggle{display:inline-flex;align-items:center;cursor:pointer;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}.form-toggle-lever.sc-road-toggle{position:relative;box-sizing:border-box;display:flex;flex-shrink:0;align-items:center;justify-content:flex-end;width:var(--toggle-lever-width);height:2rem;padding:0.5rem 0.625rem;margin-right:0.75rem;font-size:0.625rem;font-weight:700;line-height:1.6;content:\"\";background:var(--road-on-surface-extra-weak);border:0.125rem solid transparent;border-radius:1.125rem;transition:background 0.2s ease-in-out}.form-toggle-lever.sc-road-toggle::before{font-size:0.625rem;font-weight:700;color:var(--road-surface);text-transform:uppercase;content:attr(data-off)}.form-toggle-lever.sc-road-toggle::after{position:absolute;top:0.0625rem;left:0.0625rem;display:block;width:1.625rem;height:1.625rem;content:\"\";background:var(--road-on-success-surface-inverse);border-radius:50%;box-shadow:var(--road-elevation-low);transition:transform 0.2s ease-in-out}.form-toggle-input.sc-road-toggle:checked~.form-toggle-label.sc-road-toggle .form-toggle-lever.sc-road-toggle{justify-content:flex-start;background:var(--road-success-surface-inverse)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-label.sc-road-toggle .form-toggle-lever.sc-road-toggle::before{color:var(--road-surface);content:attr(data-on)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-label.sc-road-toggle .form-toggle-lever.sc-road-toggle::after{transform:translateX(calc(var(--toggle-lever-width) - 2rem))}.form-toggle-input.focus-visible.sc-road-toggle~.form-toggle-label.sc-road-toggle .form-toggle-lever.sc-road-toggle{box-shadow:0 0 0 0.125rem var(--road-grey-100-new), 0 0 0 0.1875rem var(--road-primary)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-secondary.sc-road-toggle .form-toggle-lever.sc-road-toggle{background:var(--road-secondary)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-secondary.sc-road-toggle .form-toggle-lever.sc-road-toggle::before{color:var(--road-surface)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-success.sc-road-toggle .form-toggle-lever.sc-road-toggle{background:var(--road-success-surface-inverse)}.form-toggle-input.sc-road-toggle:checked~.form-toggle-success.sc-road-toggle .form-toggle-lever.sc-road-toggle::before{color:var(--road-surface)}.form-toggle-right.sc-road-toggle{margin-right:0;margin-left:0.75rem}.form-toggle-spaced.sc-road-toggle{display:flex;justify-content:space-between}";
20113
20144
 
20114
20145
  class toggle {
20115
20146
  constructor(hostRef) {
@@ -20136,7 +20167,6 @@ class toggle {
20136
20167
  this.checked = false;
20137
20168
  this.disabled = false;
20138
20169
  this.label = `${this.toggleId}-label`;
20139
- this.color = 'success';
20140
20170
  this.hasLeftLabel = false;
20141
20171
  this.isSpaced = false;
20142
20172
  this.value = 'on';
@@ -20156,10 +20186,9 @@ class toggle {
20156
20186
  render() {
20157
20187
  const labelId = this.toggleId + '-label';
20158
20188
  const textLabel = hAsync("label", { class: "form-toggle-label", id: labelId, htmlFor: this.toggleId }, this.label);
20159
- const colorClass = this.color !== undefined ? 'form-toggle-' + this.color : '';
20160
20189
  const isSpacedClass = this.isSpaced && 'form-toggle-spaced';
20161
20190
  const righttoggleClass = this.hasLeftLabel ? 'form-toggle-right' : '';
20162
- return (hAsync(Host, null, hAsync("input", { class: "form-toggle-input", type: "checkbox", id: this.toggleId, name: this.name, checked: this.checked, disabled: this.disabled, value: this.value, "aria-checked": `${this.checked}`, "aria-disabled": this.disabled ? 'true' : null, "aria-labelledby": labelId, onClick: this.onClick, onFocus: this.onFocus, onBlur: this.onBlur }), hAsync("label", { class: `form-toggle-label ${isSpacedClass} ${colorClass}`, htmlFor: this.toggleId }, this.hasLeftLabel && textLabel, hAsync("div", { class: `form-toggle-lever ${righttoggleClass}`, "data-off": this.off, "data-on": this.on }), this.hasLeftLabel ? '' : textLabel)));
20191
+ return (hAsync(Host, null, hAsync("input", { class: "form-toggle-input", type: "checkbox", id: this.toggleId, name: this.name, checked: this.checked, disabled: this.disabled, value: this.value, "aria-checked": `${this.checked}`, "aria-disabled": this.disabled ? 'true' : null, "aria-labelledby": labelId, onClick: this.onClick, onFocus: this.onFocus, onBlur: this.onBlur }), hAsync("label", { class: `form-toggle-label ${isSpacedClass}`, htmlFor: this.toggleId }, this.hasLeftLabel && textLabel, hAsync("div", { class: `form-toggle-lever ${righttoggleClass}`, "data-off": this.off, "data-on": this.on }), this.hasLeftLabel ? '' : textLabel)));
20163
20192
  }
20164
20193
  static get watchers() { return {
20165
20194
  "checked": ["checkedChanged"]
@@ -20174,7 +20203,6 @@ class toggle {
20174
20203
  "checked": [1028],
20175
20204
  "disabled": [4],
20176
20205
  "label": [1],
20177
- "color": [1],
20178
20206
  "hasLeftLabel": [4, "has-left-label"],
20179
20207
  "isSpaced": [4, "is-spaced"],
20180
20208
  "value": [1],