@roadtrip/components 3.41.1 → 3.42.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.
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/road-alert.cjs.entry.js +1 -1
- package/dist/cjs/road-alert.cjs.entry.js.map +1 -1
- package/dist/cjs/road-badge_14.cjs.entry.js +1613 -13
- package/dist/cjs/road-badge_14.cjs.entry.js.map +1 -1
- package/dist/cjs/road-card.cjs.entry.js +46 -16
- package/dist/cjs/road-card.cjs.entry.js.map +1 -1
- package/dist/cjs/roadtrip.cjs.js +1 -1
- package/dist/collection/components/alert/alert.css +1 -1
- package/dist/collection/components/button/button.css +75 -5
- package/dist/collection/components/button/button.js +26 -1
- package/dist/collection/components/button/button.js.map +1 -1
- package/dist/collection/components/button/button.stories.js +67 -0
- package/dist/collection/components/card/card.css +58 -11
- package/dist/collection/components/card/card.js +90 -20
- package/dist/collection/components/card/card.js.map +1 -1
- package/dist/collection/components/card/card.stories.js +330 -75
- package/dist/collection/components/drawer/drawer.css +0 -3
- package/dist/collection/components/drawer/drawer.js +31 -10
- package/dist/collection/components/drawer/drawer.js.map +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/road-alert.entry.js +1 -1
- package/dist/esm/road-alert.entry.js.map +1 -1
- package/dist/esm/road-badge_14.entry.js +1613 -13
- package/dist/esm/road-badge_14.entry.js.map +1 -1
- package/dist/esm/road-card.entry.js +46 -16
- package/dist/esm/road-card.entry.js.map +1 -1
- package/dist/esm/roadtrip.js +1 -1
- package/dist/html.html-data.json +12 -0
- package/dist/roadtrip/p-24ea87a9.entry.js +18 -0
- package/dist/roadtrip/p-24ea87a9.entry.js.map +1 -0
- package/dist/roadtrip/p-294a4a83.entry.js +2 -0
- package/dist/roadtrip/p-294a4a83.entry.js.map +1 -0
- package/dist/roadtrip/p-d89d49b2.entry.js +2 -0
- package/dist/roadtrip/p-d89d49b2.entry.js.map +1 -0
- package/dist/roadtrip/roadtrip.css +1 -1
- package/dist/roadtrip/roadtrip.esm.js +1 -1
- package/dist/roadtrip/roadtrip.esm.js.map +1 -1
- package/dist/types/components/button/button.d.ts +4 -0
- package/dist/types/components/card/card.d.ts +15 -5
- package/dist/types/components/drawer/drawer.d.ts +9 -4
- package/dist/types/components.d.ts +28 -4
- package/hydrate/index.js +1764 -130
- package/hydrate/index.mjs +1764 -130
- package/package.json +5 -4
- package/dist/roadtrip/p-07db2ee1.entry.js +0 -10
- package/dist/roadtrip/p-07db2ee1.entry.js.map +0 -1
- package/dist/roadtrip/p-36f8563a.entry.js +0 -2
- package/dist/roadtrip/p-36f8563a.entry.js.map +0 -1
- package/dist/roadtrip/p-4182495e.entry.js +0 -2
- package/dist/roadtrip/p-4182495e.entry.js.map +0 -1
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as i,H as r,a as o}from"./p-d7aae05d.js";const a=":host{position:relative;box-sizing:border-box;display:block;margin-bottom:var(--margin-bottom, 1rem);background:var(--road-surface);border:1px solid var(--road-outline-weak);border-radius:var(--road-spacing-02)}:host(.card-elevation-none){box-shadow:none}:host(.card-elevation-lowest){box-shadow:var(--road-elevation-lowest)}:host(.card-elevation-average){box-shadow:var(--road-elevation-average)}.card-native{box-sizing:border-box;display:block;width:100%;height:100%;padding:var(--road-spacing-06);margin:0;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;color:inherit;text-align:center;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;letter-spacing:inherit;white-space:inherit;background:var(--road-surface);border:0;border-radius:0.25rem;outline:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}.card-native:focus{border:1px solid var(--road-primary)}a,button{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}::slotted(road-icon){text-align:center}";const n=a;const s=class{constructor(i){t(this,i);this.roadcardclick=e(this,"roadcardclick",7);this.roadCardClick=e(this,"roadCardClick",7);this.elevation="none";this.button=false;this.type="button";this.onClick=()=>{var t,e;if(this.value!==undefined){this.roadcardclick.emit({value:this.value,label:(t=this.el.querySelector("road-label"))===null||t===void 0?void 0:t.textContent});this.roadCardClick.emit({value:this.value,label:(e=this.el.querySelector("road-label"))===null||e===void 0?void 0:e.textContent})}}}isClickable(){return this.href!==undefined||this.button}renderCard(){const t=this.isClickable();if(!t){return[i("slot",null)]}const{href:e}=this;const r=t?e===undefined?"button":"a":"div";const o=r==="button"?{type:this.type}:{download:this.download,href:this.href,rel:this.rel,target:this.target};return i(r,Object.assign({},o,{class:"card-native",part:"native",onClick:this.onClick}),i("slot",null))}render(){const{elevation:t}=this;const e=this.elevation?`card-elevation-${t}`:``;return i(r,{key:"f5bd5b9245b805dbd174a96b76b349af87e4e938",class:`${e}`},this.renderCard())}get el(){return o(this)}};s.style=n;export{s as road_card};
|
|
2
|
-
//# sourceMappingURL=p-36f8563a.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["cardCss","RoadCardStyle0","Card","constructor","hostRef","this","elevation","button","type","onClick","value","undefined","roadcardclick","emit","label","_a","el","querySelector","textContent","roadCardClick","_b","isClickable","href","renderCard","clickable","h","TagType","attrs","download","rel","target","Object","assign","class","part","render","elevationClass","Host","key"],"sources":["src/components/card/card.css?tag=road-card&encapsulation=shadow","src/components/card/card.tsx"],"sourcesContent":["/*\n * Card\n *\n * Index\n * - Card\n * - Native\n * - Icon\n */\n\n/* CARD\n -------------------- */\n\n:host {\n position: relative;\n box-sizing: border-box;\n display: block;\n margin-bottom: var(--margin-bottom, 1rem);\n background: var(--road-surface);\n border: 1px solid var(--road-outline-weak);\n border-radius: var(--road-spacing-02);\n}\n\n:host(.card-elevation-none) {\n box-shadow: none;\n}\n\n:host(.card-elevation-lowest) {\n box-shadow: var(--road-elevation-lowest);\n}\n\n:host(.card-elevation-average) {\n box-shadow: var(--road-elevation-average);\n}\n\n/* NATIVE\n -------------------- */\n\n.card-native {\n box-sizing: border-box;\n display: block;\n width: 100%;\n height: 100%;\n padding: var(--road-spacing-06);\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n font-style: inherit;\n font-weight: inherit;\n color: inherit;\n text-align: center;\n text-decoration: inherit;\n text-indent: inherit;\n text-overflow: inherit;\n text-transform: inherit;\n letter-spacing: inherit;\n white-space: inherit;\n background: var(--road-surface);\n border: 0;\n border-radius: 0.25rem;\n outline: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n.card-native:focus{\n border: 1px solid var(--road-primary);\n}\n\n/* @media (min-width: 768px) {\n\n .card-native {\n padding: var(--road-spacing-06);\n }\n} */\n\na,\nbutton {\n cursor: pointer;\n -webkit-user-select: none;\n user-select: none;\n -webkit-user-drag: none;\n}\n\n/* ICON\n -------------------- */\n\n::slotted(road-icon) {\n text-align: center;\n}\n","import { Component, h, Prop, Event, EventEmitter, Element, Host } from '@stencil/core';\n\n/**\n * @slot - Content of the card.\n *\n * @part native - The native HTML button, anchor, or div element that wraps all child elements.\n */\n\n@Component({\n tag: 'road-card',\n styleUrl: 'card.css',\n shadow: true,\n})\nexport class Card {\n\n @Element() el!: HTMLRoadCardElement;\n\n /**\n * The elevation.\n */\n @Prop() elevation?: 'none' | 'lowest' | 'average' = 'none';\n\n /**\n * If `true`, a button tag will be rendered and the card will be tappable.\n */\n @Prop() button: boolean = false;\n\n /**\n * value of the card\n */\n @Prop() value?: string;\n\n /**\n * The type of the button. Only used when an `onclick` or `button` property is present.\n */\n @Prop() type: 'submit' | 'reset' | 'button' = 'button';\n\n /**\n * This attribute instructs browsers to download a URL instead of navigating to\n * it, so the user will be prompted to save it as a local file. If the attribute\n * has a value, it is used as the pre-filled file name in the Save prompt\n * (the user can still change the file name if they want).\n */\n @Prop() download?: string;\n\n /**\n * Contains a URL or a URL fragment that the hyperlink points to.\n * If this property is set, an anchor tag will be rendered.\n */\n @Prop() href?: string;\n\n /**\n * Specifies the relationship of the target object to the link object.\n * The value is a space-separated list of [link types](https://developer.mozilla.org/en-US/docs/Web/HTML/Link_types).\n */\n @Prop() rel?: string;\n\n /**\n * Specifies where to display the linked URL.\n * Only applies when an `href` is provided.\n * Special keywords: `\"_blank\"`, `\"_self\"`, `\"_parent\"`, `\"_top\"`.\n */\n @Prop() target?: string;\n\n /**\n * Emitted when the card is clicked and send the `value` of the card\n */\n @Event() roadcardclick!: EventEmitter<{\n value: string | undefined | null;\n label: string | undefined | null;\n }>;\n /** @internal */\n @Event() roadCardClick!: EventEmitter<{\n value: string | undefined | null;\n label: string | undefined | null;\n }>;\n\n private isClickable(): boolean {\n return (this.href !== undefined || this.button);\n }\n\n private onClick = () => {\n if(this.value !== undefined) {\n this.roadcardclick.emit({\n value: this.value,\n label: this.el.querySelector('road-label')?.textContent,\n });\n this.roadCardClick.emit({\n value: this.value,\n label: this.el.querySelector('road-label')?.textContent,\n });\n }\n };\n\n private renderCard() {\n const clickable = this.isClickable();\n\n if (!clickable) {\n \n \n return [\n <slot/>\n ];\n \n }\n const { href } = this;\n const TagType = clickable ? (href === undefined ? 'button' : 'a') : 'div' as any;\n const attrs = (TagType === 'button')\n ? { type: this.type }\n : {\n download: this.download,\n href: this.href,\n rel: this.rel,\n target: this.target,\n };\n\n return (\n \n <TagType\n {...attrs}\n class=\"card-native\"\n part=\"native\"\n onClick={this.onClick}\n >\n <slot/>\n </TagType>\n );\n }\n\n render() {\n const { elevation } = this;\n const elevationClass = this.elevation ? `card-elevation-${elevation}` : ``;\n return (\n <Host class={`${elevationClass}`}>\n {this.renderCard()}\n </Host>\n );\n }\n\n}\n"],"mappings":"gEAAA,MAAMA,EAAU,iiCAChB,MAAAC,EAAeD,E,MCYFE,EAAI,MALjB,WAAAC,CAAAC,G,oGAYYC,KAAAC,UAA4C,OAK9CD,KAAAE,OAAkB,MAUlBF,KAAAG,KAAsC,SA8CtCH,KAAAI,QAAU,K,QAChB,GAAGJ,KAAKK,QAAUC,UAAW,CAC3BN,KAAKO,cAAcC,KAAK,CACtBH,MAAOL,KAAKK,MACZI,OAAOC,EAAAV,KAAKW,GAAGC,cAAc,iBAAa,MAAAF,SAAA,SAAAA,EAAEG,cAE9Cb,KAAKc,cAAcN,KAAK,CACtBH,MAAOL,KAAKK,MACZI,OAAOM,EAAAf,KAAKW,GAAGC,cAAc,iBAAa,MAAAG,SAAA,SAAAA,EAAEF,a,GAZ1C,WAAAG,GACN,OAAQhB,KAAKiB,OAASX,WAAaN,KAAKE,M,CAgBlC,UAAAgB,GACN,MAAMC,EAAYnB,KAAKgB,cAEvB,IAAKG,EAAW,CAGd,MAAO,CACLC,EAAA,a,CAIJ,MAAMH,KAAEA,GAASjB,KACjB,MAAMqB,EAAUF,EAAaF,IAASX,UAAY,SAAW,IAAO,MACpE,MAAMgB,EAASD,IAAY,SACvB,CAAElB,KAAMH,KAAKG,MACb,CACAoB,SAAUvB,KAAKuB,SACfN,KAAMjB,KAAKiB,KACXO,IAAKxB,KAAKwB,IACVC,OAAQzB,KAAKyB,QAGjB,OAEEL,EAACC,EAAOK,OAAAC,OAAA,GACFL,EAAK,CACTM,MAAM,cACNC,KAAK,SACLzB,QAASJ,KAAKI,UAEdgB,EAAA,a,CAKN,MAAAU,GACE,MAAM7B,UAAEA,GAAcD,KACtB,MAAM+B,EAAiB/B,KAAKC,UAAY,kBAAkBA,IAAc,GACxE,OACEmB,EAACY,EAAI,CAAAC,IAAA,2CAACL,MAAO,GAAGG,KACf/B,KAAKkB,a","ignoreList":[]}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{r as a,c as r,h as e,H as o,a as t}from"./p-d7aae05d.js";import{a as n}from"./p-55a946f4.js";const s=":host{position:relative;display:flex;align-items:flex-start;padding:0.5rem 1rem 0.5rem 0.5rem;font-family:var(--road-font, sans-serif);font-size:var(--road-body-medium);line-height:1.25;color:var(--road-on-surface);border:1px solid transparent;border-radius:0.25rem}.alert-icon{flex-shrink:0;width:2rem;height:2rem;margin-right:0.5rem}.alert-title{margin:0.375rem 0 var(--road-spacing-03);display:block;font-weight:700}.alert-container{position:relative;display:flex;align-items:start;justify-content:space-between;width:100%;flex-direction:column}.alert-container-horizontal{position:relative;display:flex;align-items:start;justify-content:space-between;width:100%;flex-direction:row}.alert-link{display:block;margin:0;margin:var(--road-spacing-03) 0 0;color:var(--road-on-surface);text-decoration:underline}.alert-description{margin:0}.btn-container{display:flex;flex-direction:column;align-items:flex-start;align-self:stretch;justify-content:center;margin-top:var(--road-spacing-03)}.btn-container.justify-end{padding-top:var(--road-spacing-07);justify-content:end}.alert-button{margin-left:var(--road-spacing-07)}.alert-close{display:flex;position:absolute;top:0;right:0;align-items:center;justify-content:center;padding:0;font-weight:700;color:inherit;cursor:pointer;background:transparent;border:0;appearance:none;-webkit-tap-highlight-color:rgba(0, 0, 0, 0)}:host(.alert-info){color:var(--road-on-info-surface);background:var(--road-info-surface);border-color:var(--road-info-outline)}:host(.alert-info) ::slotted(road-icon){fill:var(--road-info-default)}:host(.alert-info) ::slotted(road-button){display:block;margin:0.375rem 0 0;color:var(--road-on-info-surface-inverse);background:var(--road-info-surface-inverse);fill:var(--road-on-info-surface-inverse)}:host(.alert-info) .alert-link{color:var(--road-on-info-surface)}:host(.alert-success){color:var(--road-on-success-surface);background:var(--road-success-surface);border-color:var(--road-success-outline)}:host(.alert-success) ::slotted(road-icon){fill:var(--road-success-icon)}:host(.alert-success) ::slotted(road-button){display:block;margin:0.375rem 0 0;color:var(--road-on-success-surface-inverse);background:var(--road-success-surface-inverse);fill:var(--road-on-success-surface-inverse)}:host(.alert-success) .alert-link{color:var(--road-on-success-surface)}:host(.alert-warning){color:var(--road-on-warning-surface);background:var(--road-warning-surface);border-color:var(--road-warning-outline)}:host(.alert-warning) ::slotted(road-icon){fill:var(--road-warning-icon)}:host(.alert-warning) ::slotted(road-button){display:block;margin:0.375rem 0 0;color:var(--road-on-warning-surface-inverse);background:var(--road-warning-surface-inverse);fill:var(--road-on-warning-surface-inverse)}:host(.alert-warning) .alert-link{color:var(--road-on-warning-surface)}:host(.alert-danger){color:var(--road-on-danger-surface);background:var(--road-danger-surface);border-color:var(--road-danger-outline)}:host(.alert-danger) ::slotted(road-icon){fill:var(--road-danger-icon)}:host(.alert-danger) ::slotted(road-button){display:block;margin:0.375rem 0 0;color:var(--road-on-danger-surface-inverse);background:var(--road-danger-surface-inverse);fill:var(--road-on-danger-surface-inverse)}:host(.alert-danger) .alert-link{color:var(--road-on-danger-surface)}";const i=s;const c=class{constructor(e){a(this,e);this.onClose=r(this,"close",7);this.color="info";this.layout="vertical";this.hasCloseIcon=false;this.isOpen=false;this.onClick=a=>{a.stopPropagation();a.preventDefault();this.close()}}async open(){this.isOpen=true}async close(){this.isOpen=false;this.el.addEventListener("transitionend",(()=>{this.onClose.emit()}),{once:true})}onEscape(a){if(a.key==="Escape"||a.key==="Esc"){this.close()}}componentDidLoad(){this.el.querySelectorAll('[data-dismiss="modal"]').forEach((a=>{a.addEventListener("click",(()=>this.close()))}))}render(){const a=this.color!==undefined?`alert-${this.color}`:"";let r="alert-container";if(this.layout==="horizontal"){r="alert-container-horizontal"}const t=this.hasCloseIcon?"btn-container justify-end":"btn-container";const s=this.hasCloseIcon?e("button",{type:"button",class:"alert-close",onClick:this.onClick,"aria-label":"Close"},e("road-icon",{icon:n,"aria-hidden":"true"})):null;return e(o,{key:"358c0b9ba649dc7f2a04f7cf1973fc8136e55d8d",class:a,role:"alert"},e("div",{key:"08a81f21c4f8a773fca419c2ced43fb0fbd9c34f",class:"alert-icon"},e("slot",{key:"677101a86efc495b8001d13170c2b88b35a3b59b",name:"icon"})),e("div",{key:"150ee6c4569c39ae1a76a4b560957fba71e06658",class:r},e("div",{key:"a5989623d9b6a2147e76359ddab2a3d052859695",class:"alert-container-content"},this.label&&e("span",{key:"165687f382f202899d8991a1dea3984a6b13a1bb",class:"alert-title d-block"},this.label),e("p",{key:"ae7a4dcd6b3f6e68dfe7493175ceeca56be2ac99",class:"alert-description"},e("slot",{key:"b6514df3aa0793ed4296856292860e9baf10caec"})),this.link&&e("a",{key:"c8db33f73ca8585369a7edfe91d92af9219d0bd4",href:this.url,class:"alert-link link link-default"},this.link)),e("div",{key:"43f6da1950628cf9304f0e501c5cb2ce67bf203c",class:t},e("slot",{key:"c5b94ccd205912f8a23ddd0397483c370444e5ec",name:"button"})),s))}get el(){return t(this)}};c.style=i;export{c as road_alert};
|
|
2
|
-
//# sourceMappingURL=p-4182495e.entry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["alertCss","RoadAlertStyle0","Alert","constructor","hostRef","this","color","layout","hasCloseIcon","isOpen","onClick","ev","stopPropagation","preventDefault","close","open","el","addEventListener","onClose","emit","once","onEscape","event","key","componentDidLoad","querySelectorAll","forEach","item","render","colorClass","undefined","layoutClass","btnContainerClass","closeIconElement","h","type","class","icon","navigationClose","Host","role","name","label","link","href","url"],"sources":["src/components/alert/alert.css?tag=road-alert&encapsulation=shadow","src/components/alert/alert.tsx"],"sourcesContent":["/*\n * Alert\n *\n * Index\n * - Alert\n * - Icon\n * - Description\n * - Feedback\n */\n\n\n/* ALERT\n -------------------- */\n\n:host {\n position: relative;\n display: flex;\n align-items: flex-start;\n padding: 0.5rem 1rem 0.5rem 0.5rem;\n font-family: var(--road-font, sans-serif);\n font-size: var(--road-body-medium);\n line-height: 1.25;\n color: var(--road-on-surface);\n border: 1px solid transparent;\n border-radius: 0.25rem;\n}\n\n/* ICON\n -------------------- */\n\n.alert-icon {\n flex-shrink: 0;\n width: 2rem;\n height: 2rem;\n margin-right: 0.5rem;\n}\n\n/* ALERT TITLE\n -------------------- */\n\n.alert-title {\n margin: 0.375rem 0 var(--road-spacing-03);\n display: block;\n font-weight: 700;\n}\n\n/* ALERT CONTAINER\n -------------------- */\n\n.alert-container {\n position: relative;\n display: flex;\n align-items: start;\n justify-content: space-between;\n width: 100%;\n flex-direction: column;\n}\n\n.alert-container-horizontal {\n position: relative;\n display: flex;\n align-items: start;\n justify-content: space-between;\n width: 100%;\n flex-direction: row;\n}\n\n/* ALERT LINK\n -------------------- */\n\n.alert-link {\n display: block;\n margin: 0;\n margin: var(--road-spacing-03) 0 0;\n color: var(--road-on-surface);\n text-decoration: underline;\n}\n\n/* DESCRIPTION\n -------------------- */\n\n.alert-description {\n margin: 0;\n}\n\n/* BUTTON CONTAINER\n -------------------- */\n\n.btn-container {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n align-self: stretch;\n justify-content: center;\n margin-top: var(--road-spacing-03);\n}\n\n.btn-container.justify-end {\n padding-top: var(--road-spacing-07);\n justify-content: end;\n}\n\n/* ALERT BUTTON\n -------------------- */\n\n.alert-button {\n margin-left: var(--road-spacing-07);\n}\n\n/* ALERT CLOSE\n -------------------- */\n\n.alert-close {\n display: flex;\n position: absolute;\n top: 0;\n right: 0;\n align-items: center;\n justify-content: center;\n padding: 0;\n font-weight: 700;\n color: inherit;\n cursor: pointer;\n background: transparent;\n border: 0;\n appearance: none;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\n/* FEEDBACK\n -------------------- */\n\n/**\n * Info\n */\n\n:host(.alert-info) {\n color: var(--road-on-info-surface);\n background: var(--road-info-surface);\n border-color: var(--road-info-outline);\n}\n\n:host(.alert-info) ::slotted(road-icon) {\n fill: var(--road-info-default);\n}\n\n:host(.alert-info) ::slotted(road-button) {\n display: block;\n margin: 0.375rem 0 0;\n color: var(--road-on-info-surface-inverse);\n background: var(--road-info-surface-inverse);\n fill: var(--road-on-info-surface-inverse);\n}\n\n:host(.alert-info) .alert-link {\n color: var(--road-on-info-surface);\n}\n\n\n/**\n * Success\n */\n\n:host(.alert-success) {\n color: var(--road-on-success-surface);\n background: var(--road-success-surface);\n border-color: var(--road-success-outline);\n}\n\n:host(.alert-success) ::slotted(road-icon) {\n fill: var(--road-success-icon);\n}\n\n:host(.alert-success) ::slotted(road-button) {\n display: block;\n margin: 0.375rem 0 0;\n color: var(--road-on-success-surface-inverse);\n background: var(--road-success-surface-inverse);\n fill: var(--road-on-success-surface-inverse);\n}\n\n:host(.alert-success) .alert-link {\n color: var(--road-on-success-surface);\n}\n\n/**\n * Warning\n */\n\n:host(.alert-warning) {\n color: var(--road-on-warning-surface);\n background: var(--road-warning-surface);\n border-color: var(--road-warning-outline);\n}\n\n:host(.alert-warning) ::slotted(road-icon) {\n fill: var(--road-warning-icon);\n}\n\n:host(.alert-warning) ::slotted(road-button) {\n display: block;\n margin: 0.375rem 0 0;\n color: var(--road-on-warning-surface-inverse);\n background: var(--road-warning-surface-inverse);\n fill: var(--road-on-warning-surface-inverse);\n}\n\n:host(.alert-warning) .alert-link {\n color: var(--road-on-warning-surface);\n}\n\n/**\n * Danger\n */\n\n:host(.alert-danger) {\n color: var(--road-on-danger-surface);\n background: var(--road-danger-surface);\n border-color: var(--road-danger-outline);\n}\n\n:host(.alert-danger) ::slotted(road-icon) {\n fill: var(--road-danger-icon);\n}\n\n:host(.alert-danger) ::slotted(road-button) {\n display: block;\n margin: 0.375rem 0 0;\n color: var(--road-on-danger-surface-inverse);\n background: var(--road-danger-surface-inverse);\n fill: var(--road-on-danger-surface-inverse);\n}\n\n:host(.alert-danger) .alert-link {\n color: var(--road-on-danger-surface);\n}\n","import { Component, Host, Prop, h, Listen, Event, Method, EventEmitter, Element } from '@stencil/core';\nimport { navigationClose } from '../../../icons';\nimport { FeedbackColors } from '../../interface';\n\n/**\n * @slot icon - Icon of the alert, it should be a road-icon element.\n * @slot - Message of the alert.\n */\n\n@Component({\n tag: 'road-alert',\n styleUrl: 'alert.css',\n shadow: true,\n})\nexport class Alert {\n\n /**\n * Current reference of the modal\n */\n @Element() el!: HTMLRoadAlertElement;\n\n /**\n * Set the color of alert. e.g. info, success, warning, danger\n */\n @Prop() color: FeedbackColors = 'info';\n\n /**\n * position of the button \n */\n @Prop() layout?: 'horizontal' | 'vertical' |'default' = 'vertical';\n\n /**\n * Title display in the alert\n */\n @Prop() label?: string;\n\n /**\n * Button display in the alert\n * `<road-button size=\"sm\">Label</road-button>`\n */\n @Prop() button?: string;\n\n /**\n * Text Link display in the alert\n */\n @Prop() link?: string;\n\n /**\n * url display in the link\n */\n @Prop() url?: string;\n\n /**\n * Show / hide close icon\n */\n @Prop() hasCloseIcon: boolean = false;\n\n /**\n * Set isOpen propertie to true to show the modal\n */\n @Prop({ mutable: true }) isOpen: boolean = false;\n\n /**\n * Indicate when closing the modal\n */\n @Event({ eventName: 'close' }) onClose!: EventEmitter<void>;\n\n /**\n * Open the modal\n */\n @Method()\n async open() {\n this.isOpen = true;\n }\n\n /**\n * Close the modal\n */\n @Method()\n async close() {\n this.isOpen = false;\n this.el.addEventListener('transitionend', () => {\n this.onClose.emit();\n }, { once: true});\n }\n\n /**\n * Close the dialog when clicking on the cross or layer\n */\n private onClick = (ev: UIEvent) => {\n ev.stopPropagation();\n ev.preventDefault();\n\n this.close();\n };\n\n /**\n * Close the dialog when press Escape key\n */\n @Listen('keyup', { target: 'document' })\n onEscape(event: KeyboardEvent) {\n if (event.key === 'Escape' || event.key === \"Esc\") {\n this.close();\n }\n }\n\n /**\n * Call close function when clicking an element with data-dismiss=\"modal\" attribute\n */\n componentDidLoad() {\n this.el.querySelectorAll('[data-dismiss=\"modal\"]').forEach(item => {\n item.addEventListener('click', () => this.close());\n });\n }\n\nrender() {\n\n const colorClass = this.color !== undefined ? `alert-${this.color}` : '';\n let layoutClass = 'alert-container'; // valeur par défaut\n if (this.layout === 'horizontal') {\n layoutClass = 'alert-container-horizontal';\n }\n const btnContainerClass = this.hasCloseIcon ? 'btn-container justify-end' : 'btn-container';\n const closeIconElement = this.hasCloseIcon ? (\n <button\n type=\"button\"\n class=\"alert-close\"\n onClick={this.onClick}\n aria-label=\"Close\"\n >\n <road-icon icon={navigationClose} aria-hidden=\"true\"></road-icon>\n </button>\n ) : null;\n\n return (\n <Host class={colorClass} role=\"alert\">\n <div class=\"alert-icon\">\n <slot name=\"icon\"/>\n </div>\n <div class={layoutClass}>\n <div class=\"alert-container-content\">\n {this.label && <span class=\"alert-title d-block\">{this.label}</span>}\n <p class=\"alert-description\">\n <slot/>\n </p>\n {this.link && <a href={this.url} class=\"alert-link link link-default\">{this.link}</a>}\n </div>\n <div class={btnContainerClass}>\n <slot name=\"button\"/>\n </div>\n {closeIconElement}\n </div>\n </Host>\n );\n}\n\n}"],"mappings":"oGAAA,MAAMA,EAAW,mvGACjB,MAAAC,EAAeD,E,MCaFE,EAAK,MALlB,WAAAC,CAAAC,G,yCAeUC,KAAAC,MAAwB,OAKtBD,KAAAE,OAAgD,WA0BlDF,KAAAG,aAAwB,MAKPH,KAAAI,OAAkB,MA6BnCJ,KAAAK,QAAWC,IACjBA,EAAGC,kBACHD,EAAGE,iBAEHR,KAAKS,OAAO,C,CAtBd,UAAMC,GACJV,KAAKI,OAAS,I,CAOhB,WAAMK,GACJT,KAAKI,OAAS,MACdJ,KAAKW,GAAGC,iBAAiB,iBAAiB,KACxCZ,KAAKa,QAAQC,MAAM,GAClB,CAAEC,KAAM,M,CAiBb,QAAAC,CAASC,GACP,GAAIA,EAAMC,MAAQ,UAAYD,EAAMC,MAAQ,MAAO,CACjDlB,KAAKS,O,EAOT,gBAAAU,GACEnB,KAAKW,GAAGS,iBAAiB,0BAA0BC,SAAQC,IACzDA,EAAKV,iBAAiB,SAAS,IAAMZ,KAAKS,SAAQ,G,CAIxD,MAAAc,GAEE,MAAMC,EAAaxB,KAAKC,QAAUwB,UAAY,SAASzB,KAAKC,QAAU,GACtE,IAAIyB,EAAc,kBAChB,GAAI1B,KAAKE,SAAW,aAAc,CAChCwB,EAAc,4B,CAElB,MAAMC,EAAoB3B,KAAKG,aAAe,4BAA8B,gBAC5E,MAAMyB,EAAmB5B,KAAKG,aAC5B0B,EAAA,UACEC,KAAK,SACLC,MAAM,cACN1B,QAASL,KAAKK,QAAO,aACV,SAEXwB,EAAA,aAAWG,KAAMC,EAAe,cAAc,UAE9C,KAEJ,OACEJ,EAACK,EAAI,CAAAhB,IAAA,2CAACa,MAAOP,EAAYW,KAAK,SAC5BN,EAAA,OAAAX,IAAA,2CAAKa,MAAM,cACTF,EAAA,QAAAX,IAAA,2CAAMkB,KAAK,UAEbP,EAAA,OAAAX,IAAA,2CAAKa,MAAOL,GACVG,EAAA,OAAAX,IAAA,2CAAKa,MAAM,2BACR/B,KAAKqC,OAASR,EAAA,QAAAX,IAAA,2CAAMa,MAAM,uBAAuB/B,KAAKqC,OACvDR,EAAA,KAAAX,IAAA,2CAAGa,MAAM,qBACPF,EAAA,QAAAX,IAAA,8CAEDlB,KAAKsC,MAAQT,EAAA,KAAAX,IAAA,2CAAGqB,KAAMvC,KAAKwC,IAAKT,MAAM,gCAAgC/B,KAAKsC,OAE9ET,EAAA,OAAAX,IAAA,2CAAKa,MAAOJ,GACVE,EAAA,QAAAX,IAAA,2CAAMkB,KAAK,YAEZR,G","ignoreList":[]}
|