globuswebcomponents 1.5.1 → 1.5.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"names":["gbBtnCss","GbButton","constructor","hostRef","this","destructive","iconLeading","iconTrailing","leadingIconSvg","trailingIconSvg","componentWillLoad","iconLeadingSwap","loadIcon","iconTrailingSwap","buttonSlot","el","querySelector","classList","add","getButtonTextClasses","iconName","type","iconPath","getAssetPath","response","fetch","svg","text","getButtonClasses","button","size","hierarchy","disabled","state","default","icon","only","renderLeadingIcon","h","class","innerHTML","renderTrailingIcon","render","key","gbCommentsItemCss","GbCommentsItem","name","comments","timeStamp","connector"],"sources":["src/components/gb-btn/gb-btn.css?tag=gb-btn","src/components/gb-btn/gb-btn.tsx","src/components/gb-comments-item/gb-comments-item.css?tag=gb-comments-item&encapsulation=shadow","src/components/gb-comments-item/gb-comments-item.tsx"],"sourcesContent":["@import './../../global/global.css';\r\n\r\n/* *{box-sizing: border-box; margin: 0; padding: 0;} */\r\n:host {\r\n --button-color: var(--primary-color);\r\n --icon-color: var(--primary-color);\r\n}\r\n\r\nbutton {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border: none;\r\n cursor: pointer;\r\n border-radius: var(--rounded-sm);\r\n width: 100%;\r\n}\r\n\r\nbutton.only{\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\nbutton .icon {\r\n display: inline-flex;\r\n width: auto;\r\n height: auto;\r\n}\r\n\r\nbutton .icon svg path[fill] {\r\n fill: var(--icon-color);\r\n}\r\n\r\nbutton .icon svg path[stroke] {\r\n stroke: var(--icon-color);\r\n}\r\n\r\nbutton .icon svg circle {\r\n stroke: var(--icon-color);\r\n}\r\n\r\n/* Button Sizes Styles */\r\nbutton.xl2{\r\n padding: var(--spacing-none) var(--spacing-6);\r\n height: 3.5rem;\r\n gap: var(--spacing-3);\r\n}\r\n\r\nbutton.xl{\r\n padding: var(--spacing-none) var(--spacing-5);\r\n height: 3rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.lg{\r\n padding: 0.625rem 1.125rem;\r\n height: 2.75rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.md{\r\n padding: var(--spacing-none) var(--spacing-4);\r\n height: 2.5rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.sm{\r\n padding: var(--spacing-none) var(--spacing-3);\r\n height: 2.25rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.only.xl2{\r\n width: 3.5rem;\r\n height: 3.5rem;\r\n}\r\n\r\nbutton.only.xl{\r\n width: 3rem;\r\n height: 3rem;\r\n}\r\n\r\nbutton.only.lg{\r\n width: 2.75rem;\r\n height: 2.75rem;\r\n}\r\n\r\nbutton.only.md{\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n}\r\n\r\nbutton.only.sm{\r\n width: 2.25rem;\r\n height: 2.25rem;\r\n}\r\n\r\nbutton.xl2 .icon svg{\r\n width: var(--spacing-6);\r\n height: var(--spacing-6);\r\n}\r\n\r\nbutton.xl .icon svg,\r\nbutton.lg .icon svg,\r\nbutton.md .icon svg,\r\nbutton.sm .icon svg{\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n}\r\n\r\n/* Hierarchy Styles */\r\nbutton.primary {\r\n background-color: var(--color-background-brandRed, #E21B2E);\r\n --icon-color: var(--color-icon-inverse, #FFFFFF);\r\n color: var(--color-text-inverse, #FFFFFF);\r\n}\r\n\r\nbutton.secondary_gray {\r\n background-color: transparent;\r\n border: 1px solid var(--color-border, #9AA4B2);\r\n --icon-color: var(--color-icon, #4B5565);\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\nbutton.secondary_color {\r\n background-color: transparent;\r\n border: 1px solid var(--color-border-brandRed, #E21B2E);\r\n --icon-color: var(--color-icon-brandRed, #E21B2E);\r\n color: var(--color-text-brandRed, #E21B2E);\r\n}\r\n\r\nbutton.tertiary_gray {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon, #4B5565);\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\nbutton.tertiary_color {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon-brandRed, #E21B2E);\r\n color: var(--color-text-brandRed, #E21B2E);\r\n}\r\n\r\nbutton.link_gray {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon, #4B5565);\r\n color: var(--color-text, #4B5565);\r\n height: fit-content;\r\n}\r\n\r\nbutton.link_color {\r\n background-color: transparent;\r\n --icon-color: var(--color-link, #075DB2);\r\n color: var(--color-link, #075DB2);\r\n padding: var(--spacing-none);\r\n height: fit-content;\r\n}\r\n\r\n/* Button Destructive Styles */\r\nbutton.primary.destructive{\r\n background-color: var(--color-background-danger, #B51726);\r\n color: var(--color-text-inverse, #FFFFFF);\r\n --icon-color: var(--color-icon-danger-inverse, #FFFFFF);\r\n}\r\n\r\nbutton.secondary_gray.destructive, button.secondary_color.destructive{\r\n border: 1px solid var(--color-border-danger, #B51726);\r\n color: var(--color-text-danger, #B51726);\r\n --icon-color: var(--color-icon-danger, #B51726);\r\n}\r\n\r\nbutton.tertiary_gray.destructive,\r\nbutton.tertiary_color.destructive{\r\n color: var(--color-text-danger, #B51726);\r\n --icon-color: var(--color-icon-danger, #B51726);\r\n}\r\n\r\nbutton.link_gray.destructive, \r\nbutton.link_color.destructive{\r\n color: var(--color-text-danger, #B51726);\r\n --icon-color: var(--color-icon-danger, #B51726);\r\n}\r\n\r\n/* Button States Styles */\r\nbutton.primary:hover{\r\n background-color: var(--color-background-brandRed-hover, #CC1A2A);\r\n}\r\n\r\nbutton.primary:active{\r\n background-color: var(--color-background-brandRed-pressed, #B51726);\r\n}\r\n\r\nbutton.secondary_gray:hover{\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\nbutton.secondary_gray:active{\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n}\r\n\r\nbutton.secondary_color:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.secondary_color:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.tertiary_gray:hover{\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\nbutton.tertiary_gray:active{\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n}\r\n\r\nbutton.tertiary_color:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.tertiary_color:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.link_gray:hover,\r\nbutton.link_color:hover{\r\n text-decoration: underline;\r\n}\r\n\r\nbutton.link_gray:active{\r\n text-decoration: none;\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\nbutton.link_gray:active{\r\n text-decoration: none;\r\n color: var(--color-link-pressed, #064E94);\r\n}\r\n\r\nbutton.primary.destructive:hover{\r\n background-color: var(--color-background-danger-bold, #8C121D);\r\n}\r\n\r\nbutton.primary.destructive:active{\r\n background-color: var(--color-background-brandRed-hover, #CC1A2A); /* ask Mr Gideon about this */\r\n}\r\n\r\nbutton.secondary_gray.destructive:hover, \r\nbutton.secondary_color.destructive:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.secondary_gray.destructive:active, \r\nbutton.secondary_color.destructive:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.tertiary_gray.destructive:hover, \r\nbutton.tertiary_color.destructive:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.tertiary_gray.destructive:active, \r\nbutton.tertiary_color.destructive:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.link_gray.destructive:active{\r\n color: var(--color-text-danger-bold, #8C121D);\r\n}\r\n\r\nbutton.link_color.destructive:active{\r\n color: var(--color-text-warning-bold, #93370D);\r\n}\r\n\r\n/* Button Disabled Styles */\r\nbutton.disabled{\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\nbutton.primary.disabled {\r\n background-color: var(--color-background-disabled, #F6F8FA);\r\n --icon-color: var(--color-icon-disabled, #CDD5DF);\r\n color: var(--color-text-disabled, #CDD5DF);\r\n}\r\n\r\nbutton.secondary_gray.disabled,\r\nbutton.secondary_color.disabled{\r\n --icon-color: var(--color-icon-disabled, #CDD5DF);\r\n color: var(--color-text-disabled, #CDD5DF);\r\n border-color: var(--color-border-disabled, #E3E8EF);\r\n}\r\n\r\nbutton.tertiary_gray.disabled,\r\nbutton.tertiary_color.disabled,\r\nbutton.link_gray.disabled,\r\nbutton.link_color.disabled{\r\n --icon-color: var(--color-icon-disabled, #CDD5DF);\r\n color: var(--color-text-disabled, #CDD5DF);\r\n}\r\n\r\n.btn_text{\r\n white-space: nowrap;\r\n}\r\n\r\n.btn_text::first-letter{\r\n text-transform: uppercase;\r\n}","import { Component, Element, getAssetPath, h, Prop, State } from \"@stencil/core\";\r\nimport { GeneralHierarchies, GeneralSizes } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-btn',\r\n styleUrl: 'gb-btn.css',\r\n})\r\nexport class GbButton {\r\n @Prop() size: GeneralSizes;\r\n @Prop() hierarchy: GeneralHierarchies;\r\n @Prop() icon: 'default' | 'only';\r\n @Prop() destructive: boolean = false;\r\n @Prop() state: 'default' | 'disabled';\r\n @Prop() iconLeading: boolean = false;\r\n @Prop() iconLeadingSwap: string;\r\n @Prop() iconTrailing: boolean = false;\r\n @Prop() iconTrailingSwap: string;\r\n @Element() el: HTMLElement;\r\n @State() leadingIconSvg: string = '';\r\n @State() trailingIconSvg: string = '';\r\n\r\n componentWillLoad() {\r\n if (this.iconLeading && this.iconLeadingSwap) {\r\n this.loadIcon(this.iconLeadingSwap, 'leading');\r\n }\r\n if (this.iconTrailing && this.iconTrailingSwap) {\r\n this.loadIcon(this.iconTrailingSwap, 'trailing');\r\n }\r\n\r\n const buttonSlot = this.el.querySelector('p');\r\n\r\n if (buttonSlot) {\r\n buttonSlot.classList.add(this.getButtonTextClasses());\r\n buttonSlot.classList.add('nowrap');\r\n }\r\n }\r\n\r\n async loadIcon(iconName: string, type: 'leading' | 'trailing') {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n if (type === 'leading') {\r\n this.leadingIconSvg = svg;\r\n } else {\r\n this.trailingIconSvg = svg;\r\n }\r\n }\r\n\r\n // Helper to apply color styles based on the button state\r\n getButtonClasses() {\r\n return {\r\n button: true,\r\n [this.size]: true,\r\n [this.hierarchy]: true,\r\n destructive: this.destructive,\r\n disabled: this.state === 'disabled',\r\n default: this.icon === 'default',\r\n only: this.icon === 'only',\r\n // leftandrighticon: this.iconLeading && this.iconTrailing\r\n };\r\n }\r\n\r\n getButtonTextClasses() {\r\n switch (this.size) {\r\n case 'xl2':\r\n return 'text-lg-semi-bold';\r\n case 'xl':\r\n return 'text-md-semi-bold';\r\n case 'lg':\r\n return 'text-md-semi-bold';\r\n case 'md':\r\n return 'text-sm-semi-bold';\r\n case 'sm':\r\n return 'text-sm-semi-bold';\r\n }\r\n }\r\n\r\n renderLeadingIcon() {\r\n return <div class={`icon left-icon ${this.size}`} innerHTML={this.leadingIconSvg}></div>;\r\n }\r\n\r\n renderTrailingIcon() {\r\n return <div class=\"icon right-icon\" innerHTML={this.trailingIconSvg}></div>;\r\n }\r\n\r\n render() {\r\n return (\r\n <button class={this.getButtonClasses()}>\r\n {this.iconLeading && this.icon === 'default' && this.renderLeadingIcon()}\r\n {this.icon === 'default' && (\r\n <div class={`btn_text`}>\r\n <slot></slot>\r\n </div>\r\n )}\r\n {this.iconTrailing && this.renderTrailingIcon()}\r\n {this.icon === 'only' && this.renderLeadingIcon()}\r\n </button>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.comment-item {\r\n display: flex;\r\n gap: 12px;\r\n align-items: flex-start;\r\n color: red;\r\n position: relative; \r\n align-items: flex-start;\r\n padding-left: var(--spacing-12);\r\n margin-bottom: -1rem;\r\n}\r\n\r\n.comment-item:not(:last-child)::before {\r\n content: '';\r\n position: absolute;\r\n left: 10px;\r\n top: 16px;\r\n width: 2px;\r\n height: 100%;\r\n background-color: #064E94;\r\n}\r\n\r\n.comment-bullet {\r\n width: 12px;\r\n height: 12px;\r\n border-radius: var(--rounded-full);\r\n background: var(--color-icon-information, #064E94);\r\n margin: 5px;\r\n}\r\n\r\n.line{\r\n background-color: #064E94;\r\n width: 0.5px;\r\n height: 4.5rem;\r\n padding: 1px;\r\n border: none;\r\n margin-top: -5px;\r\n left: 10px;\r\n top: 16px;\r\n}\r\n\r\n.left{\r\n display: flex;\r\n align-items: center;\r\n flex-direction: column;\r\n\r\n}\r\n\r\n.comment-wrapper{\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: var(--spacing-none);\r\n align-self: stretch;\r\n}\r\n\r\n\r\n.comment-content {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: var(--spacing-1);\r\n padding-bottom: var(--spacing-6);\r\n}\r\n\r\n.comments-container {\r\n padding: 16px;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n gap: var(--spacing-4);\r\n border-radius: 12px;\r\n border: 1px solid var(--color-border-infromation-subtle, #9AC7F4);\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\r\n /* transition: 1s ease-in-out; */\r\n}\r\n\r\n.comment-content {\r\n flex: 1;\r\n}\r\n\r\n.reviewer-info {\r\n color: var(--color-text-information, #064E94);\r\n}\r\n\r\n.comment-text {\r\n color: var(--color-text-information, #064E94);\r\n}\r\n\r\n.timestamp {\r\n color: var(--color-text-information, #064E94);\r\n margin-bottom: 10px;\r\n}\r\n\r\n","import { Component, Prop, h } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: 'gb-comments-item',\r\n styleUrl: 'gb-comments-item.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbCommentsItem {\r\n @Prop() name: string = '';\r\n // @Prop() rolee: string = '';\r\n @Prop() comments: string = '';\r\n @Prop() timeStamp: string = '';\r\n @Prop() connector: boolean = false;\r\n\r\n render() {\r\n return (\r\n <div class=\"comment-item\">\r\n <div class=\"left\">\r\n <div class=\"comment-bullet\"></div>\r\n {this.connector && <hr class=\"line\" />}\r\n </div>\r\n <div class=\"comment-content\">\r\n <div class=\"reviewer-info\">\r\n <p class=\"text-sm-semi-bold\">\r\n {/* {this.name} ({this.rolee}) */}\r\n </p>\r\n </div>\r\n <div class=\"comment-text\">\r\n <p class=\"text-sm-regular\">{this.comments}</p>\r\n </div>\r\n <div class=\"timestamp\">\r\n <p class=\"text-xs-regular\">{this.timeStamp}</p>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}"],"mappings":"+CAAA,MAAMA,EAAW,4+2E,MCOJC,EAAQ,MAJrB,WAAAC,CAAAC,G,UAQUC,KAAWC,YAAY,MAEvBD,KAAWE,YAAY,MAEvBF,KAAYG,aAAY,MAGvBH,KAAcI,eAAW,GACzBJ,KAAeK,gBAAW,EAgFpC,CA9EC,iBAAAC,GACE,GAAIN,KAAKE,aAAeF,KAAKO,gBAAiB,CAC5CP,KAAKQ,SAASR,KAAKO,gBAAiB,U,CAEtC,GAAIP,KAAKG,cAAgBH,KAAKS,iBAAkB,CAC9CT,KAAKQ,SAASR,KAAKS,iBAAkB,W,CAGvC,MAAMC,EAAaV,KAAKW,GAAGC,cAAc,KAEzC,GAAIF,EAAY,CACdA,EAAWG,UAAUC,IAAId,KAAKe,wBAC9BL,EAAWG,UAAUC,IAAI,S,EAI7B,cAAMN,CAASQ,EAAkBC,GAC/B,MAAMC,EAAWC,EAAa,GAAGH,KACjC,MAAMI,QAAiBC,MAAMH,GAC7B,MAAMI,QAAYF,EAASG,OAC3B,GAAIN,IAAS,UAAW,CACtBjB,KAAKI,eAAiBkB,C,KACjB,CACLtB,KAAKK,gBAAkBiB,C,EAK3B,gBAAAE,GACE,MAAO,CACLC,OAAQ,KACR,CAACzB,KAAK0B,MAAO,KACb,CAAC1B,KAAK2B,WAAY,KAClB1B,YAAaD,KAAKC,YAClB2B,SAAU5B,KAAK6B,QAAU,WACzBC,QAAS9B,KAAK+B,OAAS,UACvBC,KAAMhC,KAAK+B,OAAS,O,CAKxB,oBAAAhB,GACE,OAAQf,KAAK0B,MACX,IAAK,MACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oB,CAIb,iBAAAO,GACE,OAAOC,EAAK,OAAAC,MAAO,kBAAkBnC,KAAK0B,OAAQU,UAAWpC,KAAKI,gB,CAGpE,kBAAAiC,GACE,OAAOH,EAAA,OAAKC,MAAM,kBAAkBC,UAAWpC,KAAKK,iB,CAGtD,MAAAiC,GACE,OACEJ,EAAQ,UAAAK,IAAA,2CAAAJ,MAAOnC,KAAKwB,oBACjBxB,KAAKE,aAAeF,KAAK+B,OAAS,WAAa/B,KAAKiC,oBACpDjC,KAAK+B,OAAS,WACbG,EAAA,OAAAK,IAAA,2CAAKJ,MAAO,YACVD,EAAA,QAAAK,IAAA,8CAGHvC,KAAKG,cAAgBH,KAAKqC,qBAC1BrC,KAAK+B,OAAS,QAAU/B,KAAKiC,oB,qCC/FtC,MAAMO,EAAoB,izrE,MCQbC,EAAc,MAN3B,WAAA3C,CAAAC,G,UAOYC,KAAI0C,KAAW,GAEf1C,KAAQ2C,SAAW,GACnB3C,KAAS4C,UAAW,GACpB5C,KAAS6C,UAAY,KAyBhC,CAvBG,MAAAP,GACI,OACEJ,EAAA,OAAAK,IAAA,2CAAKJ,MAAM,gBACTD,EAAK,OAAAK,IAAA,2CAAAJ,MAAM,QACTD,EAAK,OAAAK,IAAA,2CAAAJ,MAAM,mBACVnC,KAAK6C,WAAaX,EAAA,MAAAK,IAAA,2CAAIJ,MAAM,UAE/BD,EAAK,OAAAK,IAAA,2CAAAJ,MAAM,mBACTD,EAAK,OAAAK,IAAA,2CAAAJ,MAAM,iBACTD,EAAA,KAAAK,IAAA,2CAAGJ,MAAM,uBAIXD,EAAK,OAAAK,IAAA,2CAAAJ,MAAM,gBACTD,EAAG,KAAAK,IAAA,2CAAAJ,MAAM,mBAAmBnC,KAAK2C,WAEnCT,EAAK,OAAAK,IAAA,2CAAAJ,MAAM,aACTD,EAAA,KAAAK,IAAA,2CAAGJ,MAAM,mBAAmBnC,KAAK4C,a","ignoreList":[]}
@@ -1,6 +1,5 @@
1
1
  export declare class GbCommentsItem {
2
2
  name: string;
3
- rolee: string;
4
3
  comments: string;
5
4
  timeStamp: string;
6
5
  connector: boolean;
@@ -183,7 +183,6 @@ export namespace Components {
183
183
  "comments": string;
184
184
  "connector": boolean;
185
185
  "name": string;
186
- "rolee": string;
187
186
  "timeStamp": string;
188
187
  }
189
188
  interface GbComplexPrimarySideBarItem {
@@ -1989,7 +1988,6 @@ declare namespace LocalJSX {
1989
1988
  "comments"?: string;
1990
1989
  "connector"?: boolean;
1991
1990
  "name"?: string;
1992
- "rolee"?: string;
1993
1991
  "timeStamp"?: string;
1994
1992
  }
1995
1993
  interface GbComplexPrimarySideBarItem {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "globuswebcomponents",
3
- "version": "1.5.1",
3
+ "version": "1.5.2",
4
4
  "description": "Stencil Component Starter",
5
5
  "main": "dist/index.cjs.js",
6
6
  "module": "dist/index.js",
@@ -1 +0,0 @@
1
- {"version":3,"names":["gbBtnCss","GbButton","constructor","hostRef","this","destructive","iconLeading","iconTrailing","leadingIconSvg","trailingIconSvg","componentWillLoad","iconLeadingSwap","loadIcon","iconTrailingSwap","buttonSlot","el","querySelector","classList","add","getButtonTextClasses","iconName","type","iconPath","getAssetPath","response","fetch","svg","text","getButtonClasses","button","size","hierarchy","disabled","state","default","icon","only","renderLeadingIcon","h","class","innerHTML","renderTrailingIcon","render","key","gbCommentsItemCss","GbCommentsItem","name","rolee","comments","timeStamp","connector"],"sources":["src/components/gb-btn/gb-btn.css?tag=gb-btn","src/components/gb-btn/gb-btn.tsx","src/components/gb-comments-item/gb-comments-item.css?tag=gb-comments-item&encapsulation=shadow","src/components/gb-comments-item/gb-comments-item.tsx"],"sourcesContent":["@import './../../global/global.css';\r\n\r\n/* *{box-sizing: border-box; margin: 0; padding: 0;} */\r\n:host {\r\n --button-color: var(--primary-color);\r\n --icon-color: var(--primary-color);\r\n}\r\n\r\nbutton {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border: none;\r\n cursor: pointer;\r\n border-radius: var(--rounded-sm);\r\n width: 100%;\r\n}\r\n\r\nbutton.only{\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\nbutton .icon {\r\n display: inline-flex;\r\n width: auto;\r\n height: auto;\r\n}\r\n\r\nbutton .icon svg path[fill] {\r\n fill: var(--icon-color);\r\n}\r\n\r\nbutton .icon svg path[stroke] {\r\n stroke: var(--icon-color);\r\n}\r\n\r\nbutton .icon svg circle {\r\n stroke: var(--icon-color);\r\n}\r\n\r\n/* Button Sizes Styles */\r\nbutton.xl2{\r\n padding: var(--spacing-none) var(--spacing-6);\r\n height: 3.5rem;\r\n gap: var(--spacing-3);\r\n}\r\n\r\nbutton.xl{\r\n padding: var(--spacing-none) var(--spacing-5);\r\n height: 3rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.lg{\r\n padding: 0.625rem 1.125rem;\r\n height: 2.75rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.md{\r\n padding: var(--spacing-none) var(--spacing-4);\r\n height: 2.5rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.sm{\r\n padding: var(--spacing-none) var(--spacing-3);\r\n height: 2.25rem;\r\n gap: var(--spacing-2);\r\n}\r\n\r\nbutton.only.xl2{\r\n width: 3.5rem;\r\n height: 3.5rem;\r\n}\r\n\r\nbutton.only.xl{\r\n width: 3rem;\r\n height: 3rem;\r\n}\r\n\r\nbutton.only.lg{\r\n width: 2.75rem;\r\n height: 2.75rem;\r\n}\r\n\r\nbutton.only.md{\r\n width: 2.5rem;\r\n height: 2.5rem;\r\n}\r\n\r\nbutton.only.sm{\r\n width: 2.25rem;\r\n height: 2.25rem;\r\n}\r\n\r\nbutton.xl2 .icon svg{\r\n width: var(--spacing-6);\r\n height: var(--spacing-6);\r\n}\r\n\r\nbutton.xl .icon svg,\r\nbutton.lg .icon svg,\r\nbutton.md .icon svg,\r\nbutton.sm .icon svg{\r\n width: var(--spacing-5);\r\n height: var(--spacing-5);\r\n}\r\n\r\n/* Hierarchy Styles */\r\nbutton.primary {\r\n background-color: var(--color-background-brandRed, #E21B2E);\r\n --icon-color: var(--color-icon-inverse, #FFFFFF);\r\n color: var(--color-text-inverse, #FFFFFF);\r\n}\r\n\r\nbutton.secondary_gray {\r\n background-color: transparent;\r\n border: 1px solid var(--color-border, #9AA4B2);\r\n --icon-color: var(--color-icon, #4B5565);\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\nbutton.secondary_color {\r\n background-color: transparent;\r\n border: 1px solid var(--color-border-brandRed, #E21B2E);\r\n --icon-color: var(--color-icon-brandRed, #E21B2E);\r\n color: var(--color-text-brandRed, #E21B2E);\r\n}\r\n\r\nbutton.tertiary_gray {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon, #4B5565);\r\n color: var(--color-text, #4B5565);\r\n}\r\n\r\nbutton.tertiary_color {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon-brandRed, #E21B2E);\r\n color: var(--color-text-brandRed, #E21B2E);\r\n}\r\n\r\nbutton.link_gray {\r\n background-color: transparent;\r\n --icon-color: var(--color-icon, #4B5565);\r\n color: var(--color-text, #4B5565);\r\n height: fit-content;\r\n}\r\n\r\nbutton.link_color {\r\n background-color: transparent;\r\n --icon-color: var(--color-link, #075DB2);\r\n color: var(--color-link, #075DB2);\r\n padding: var(--spacing-none);\r\n height: fit-content;\r\n}\r\n\r\n/* Button Destructive Styles */\r\nbutton.primary.destructive{\r\n background-color: var(--color-background-danger, #B51726);\r\n color: var(--color-text-inverse, #FFFFFF);\r\n --icon-color: var(--color-icon-danger-inverse, #FFFFFF);\r\n}\r\n\r\nbutton.secondary_gray.destructive, button.secondary_color.destructive{\r\n border: 1px solid var(--color-border-danger, #B51726);\r\n color: var(--color-text-danger, #B51726);\r\n --icon-color: var(--color-icon-danger, #B51726);\r\n}\r\n\r\nbutton.tertiary_gray.destructive,\r\nbutton.tertiary_color.destructive{\r\n color: var(--color-text-danger, #B51726);\r\n --icon-color: var(--color-icon-danger, #B51726);\r\n}\r\n\r\nbutton.link_gray.destructive, \r\nbutton.link_color.destructive{\r\n color: var(--color-text-danger, #B51726);\r\n --icon-color: var(--color-icon-danger, #B51726);\r\n}\r\n\r\n/* Button States Styles */\r\nbutton.primary:hover{\r\n background-color: var(--color-background-brandRed-hover, #CC1A2A);\r\n}\r\n\r\nbutton.primary:active{\r\n background-color: var(--color-background-brandRed-pressed, #B51726);\r\n}\r\n\r\nbutton.secondary_gray:hover{\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\nbutton.secondary_gray:active{\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n}\r\n\r\nbutton.secondary_color:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.secondary_color:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.tertiary_gray:hover{\r\n background-color: var(--color-background-gray-subtler, #EEF2F6);\r\n}\r\n\r\nbutton.tertiary_gray:active{\r\n background-color: var(--color-background-gray-subtle, #E3E8EF);\r\n}\r\n\r\nbutton.tertiary_color:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.tertiary_color:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.link_gray:hover,\r\nbutton.link_color:hover{\r\n text-decoration: underline;\r\n}\r\n\r\nbutton.link_gray:active{\r\n text-decoration: none;\r\n color: var(--color-text-bold, #202939);\r\n}\r\n\r\nbutton.link_gray:active{\r\n text-decoration: none;\r\n color: var(--color-link-pressed, #064E94);\r\n}\r\n\r\nbutton.primary.destructive:hover{\r\n background-color: var(--color-background-danger-bold, #8C121D);\r\n}\r\n\r\nbutton.primary.destructive:active{\r\n background-color: var(--color-background-brandRed-hover, #CC1A2A); /* ask Mr Gideon about this */\r\n}\r\n\r\nbutton.secondary_gray.destructive:hover, \r\nbutton.secondary_color.destructive:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.secondary_gray.destructive:active, \r\nbutton.secondary_color.destructive:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.tertiary_gray.destructive:hover, \r\nbutton.tertiary_color.destructive:hover{\r\n background-color: var(--color-background-danger-subtlest, #FEF1F2);\r\n}\r\n\r\nbutton.tertiary_gray.destructive:active, \r\nbutton.tertiary_color.destructive:active{\r\n background-color: var(--color-background-danger-subtler, #FDE3E5);\r\n}\r\n\r\nbutton.link_gray.destructive:active{\r\n color: var(--color-text-danger-bold, #8C121D);\r\n}\r\n\r\nbutton.link_color.destructive:active{\r\n color: var(--color-text-warning-bold, #93370D);\r\n}\r\n\r\n/* Button Disabled Styles */\r\nbutton.disabled{\r\n cursor: not-allowed;\r\n pointer-events: none;\r\n}\r\n\r\nbutton.primary.disabled {\r\n background-color: var(--color-background-disabled, #F6F8FA);\r\n --icon-color: var(--color-icon-disabled, #CDD5DF);\r\n color: var(--color-text-disabled, #CDD5DF);\r\n}\r\n\r\nbutton.secondary_gray.disabled,\r\nbutton.secondary_color.disabled{\r\n --icon-color: var(--color-icon-disabled, #CDD5DF);\r\n color: var(--color-text-disabled, #CDD5DF);\r\n border-color: var(--color-border-disabled, #E3E8EF);\r\n}\r\n\r\nbutton.tertiary_gray.disabled,\r\nbutton.tertiary_color.disabled,\r\nbutton.link_gray.disabled,\r\nbutton.link_color.disabled{\r\n --icon-color: var(--color-icon-disabled, #CDD5DF);\r\n color: var(--color-text-disabled, #CDD5DF);\r\n}\r\n\r\n.btn_text{\r\n white-space: nowrap;\r\n}\r\n\r\n.btn_text::first-letter{\r\n text-transform: uppercase;\r\n}","import { Component, Element, getAssetPath, h, Prop, State } from \"@stencil/core\";\r\nimport { GeneralHierarchies, GeneralSizes } from \"../../models/reusableModels\";\r\n\r\n@Component({\r\n tag: 'gb-btn',\r\n styleUrl: 'gb-btn.css',\r\n})\r\nexport class GbButton {\r\n @Prop() size: GeneralSizes;\r\n @Prop() hierarchy: GeneralHierarchies;\r\n @Prop() icon: 'default' | 'only';\r\n @Prop() destructive: boolean = false;\r\n @Prop() state: 'default' | 'disabled';\r\n @Prop() iconLeading: boolean = false;\r\n @Prop() iconLeadingSwap: string;\r\n @Prop() iconTrailing: boolean = false;\r\n @Prop() iconTrailingSwap: string;\r\n @Element() el: HTMLElement;\r\n @State() leadingIconSvg: string = '';\r\n @State() trailingIconSvg: string = '';\r\n\r\n componentWillLoad() {\r\n if (this.iconLeading && this.iconLeadingSwap) {\r\n this.loadIcon(this.iconLeadingSwap, 'leading');\r\n }\r\n if (this.iconTrailing && this.iconTrailingSwap) {\r\n this.loadIcon(this.iconTrailingSwap, 'trailing');\r\n }\r\n\r\n const buttonSlot = this.el.querySelector('p');\r\n\r\n if (buttonSlot) {\r\n buttonSlot.classList.add(this.getButtonTextClasses());\r\n buttonSlot.classList.add('nowrap');\r\n }\r\n }\r\n\r\n async loadIcon(iconName: string, type: 'leading' | 'trailing') {\r\n const iconPath = getAssetPath(`${iconName}`);\r\n const response = await fetch(iconPath);\r\n const svg = await response.text();\r\n if (type === 'leading') {\r\n this.leadingIconSvg = svg;\r\n } else {\r\n this.trailingIconSvg = svg;\r\n }\r\n }\r\n\r\n // Helper to apply color styles based on the button state\r\n getButtonClasses() {\r\n return {\r\n button: true,\r\n [this.size]: true,\r\n [this.hierarchy]: true,\r\n destructive: this.destructive,\r\n disabled: this.state === 'disabled',\r\n default: this.icon === 'default',\r\n only: this.icon === 'only',\r\n // leftandrighticon: this.iconLeading && this.iconTrailing\r\n };\r\n }\r\n\r\n getButtonTextClasses() {\r\n switch (this.size) {\r\n case 'xl2':\r\n return 'text-lg-semi-bold';\r\n case 'xl':\r\n return 'text-md-semi-bold';\r\n case 'lg':\r\n return 'text-md-semi-bold';\r\n case 'md':\r\n return 'text-sm-semi-bold';\r\n case 'sm':\r\n return 'text-sm-semi-bold';\r\n }\r\n }\r\n\r\n renderLeadingIcon() {\r\n return <div class={`icon left-icon ${this.size}`} innerHTML={this.leadingIconSvg}></div>;\r\n }\r\n\r\n renderTrailingIcon() {\r\n return <div class=\"icon right-icon\" innerHTML={this.trailingIconSvg}></div>;\r\n }\r\n\r\n render() {\r\n return (\r\n <button class={this.getButtonClasses()}>\r\n {this.iconLeading && this.icon === 'default' && this.renderLeadingIcon()}\r\n {this.icon === 'default' && (\r\n <div class={`btn_text`}>\r\n <slot></slot>\r\n </div>\r\n )}\r\n {this.iconTrailing && this.renderTrailingIcon()}\r\n {this.icon === 'only' && this.renderLeadingIcon()}\r\n </button>\r\n );\r\n }\r\n}","@import './../../global/global.css';\r\n\r\n.comment-item {\r\n display: flex;\r\n gap: 12px;\r\n align-items: flex-start;\r\n color: red;\r\n position: relative; \r\n align-items: flex-start;\r\n padding-left: var(--spacing-12);\r\n margin-bottom: -1rem;\r\n}\r\n\r\n.comment-item:not(:last-child)::before {\r\n content: '';\r\n position: absolute;\r\n left: 10px;\r\n top: 16px;\r\n width: 2px;\r\n height: 100%;\r\n background-color: #064E94;\r\n}\r\n\r\n.comment-bullet {\r\n width: 12px;\r\n height: 12px;\r\n border-radius: var(--rounded-full);\r\n background: var(--color-icon-information, #064E94);\r\n margin: 5px;\r\n}\r\n\r\n.line{\r\n background-color: #064E94;\r\n width: 0.5px;\r\n height: 4.5rem;\r\n padding: 1px;\r\n border: none;\r\n margin-top: -5px;\r\n left: 10px;\r\n top: 16px;\r\n}\r\n\r\n.left{\r\n display: flex;\r\n align-items: center;\r\n flex-direction: column;\r\n\r\n}\r\n\r\n.comment-wrapper{\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: var(--spacing-none);\r\n align-self: stretch;\r\n}\r\n\r\n\r\n.comment-content {\r\n display: flex;\r\n flex-direction: column;\r\n align-items: flex-start;\r\n gap: var(--spacing-1);\r\n padding-bottom: var(--spacing-6);\r\n}\r\n\r\n.comments-container {\r\n padding: 16px;\r\n flex-direction: column;\r\n justify-content: center;\r\n align-items: flex-start;\r\n gap: var(--spacing-4);\r\n border-radius: 12px;\r\n border: 1px solid var(--color-border-infromation-subtle, #9AC7F4);\r\n background: var(--color-background-information-subtlest, #E4F0FC);\r\n box-shadow: 0px 1px 2px 0px rgba(16, 24, 40, 0.05);\r\n /* transition: 1s ease-in-out; */\r\n}\r\n\r\n.comment-content {\r\n flex: 1;\r\n}\r\n\r\n.reviewer-info {\r\n color: var(--color-text-information, #064E94);\r\n}\r\n\r\n.comment-text {\r\n color: var(--color-text-information, #064E94);\r\n}\r\n\r\n.timestamp {\r\n color: var(--color-text-information, #064E94);\r\n margin-bottom: 10px;\r\n}\r\n\r\n","import { Component, Prop, h } from \"@stencil/core\";\r\n\r\n@Component({\r\n tag: 'gb-comments-item',\r\n styleUrl: 'gb-comments-item.css',\r\n shadow: true\r\n})\r\n\r\nexport class GbCommentsItem {\r\n @Prop() name: string = '';\r\n @Prop() rolee: string = '';\r\n @Prop() comments: string = '';\r\n @Prop() timeStamp: string = '';\r\n @Prop() connector: boolean = false;\r\n\r\n render() {\r\n return (\r\n <div class=\"comment-item\">\r\n <div class=\"left\">\r\n <div class=\"comment-bullet\"></div>\r\n {this.connector && <hr class=\"line\" />}\r\n </div>\r\n <div class=\"comment-content\">\r\n <div class=\"reviewer-info\">\r\n <p class=\"text-sm-semi-bold\">\r\n {this.name} ({this.rolee})\r\n </p>\r\n </div>\r\n <div class=\"comment-text\">\r\n <p class=\"text-sm-regular\">{this.comments}</p>\r\n </div>\r\n <div class=\"timestamp\">\r\n <p class=\"text-xs-regular\">{this.timeStamp}</p>\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n }\r\n}"],"mappings":"+CAAA,MAAMA,EAAW,4+2E,MCOJC,EAAQ,MAJrB,WAAAC,CAAAC,G,UAQUC,KAAWC,YAAY,MAEvBD,KAAWE,YAAY,MAEvBF,KAAYG,aAAY,MAGvBH,KAAcI,eAAW,GACzBJ,KAAeK,gBAAW,EAgFpC,CA9EC,iBAAAC,GACE,GAAIN,KAAKE,aAAeF,KAAKO,gBAAiB,CAC5CP,KAAKQ,SAASR,KAAKO,gBAAiB,U,CAEtC,GAAIP,KAAKG,cAAgBH,KAAKS,iBAAkB,CAC9CT,KAAKQ,SAASR,KAAKS,iBAAkB,W,CAGvC,MAAMC,EAAaV,KAAKW,GAAGC,cAAc,KAEzC,GAAIF,EAAY,CACdA,EAAWG,UAAUC,IAAId,KAAKe,wBAC9BL,EAAWG,UAAUC,IAAI,S,EAI7B,cAAMN,CAASQ,EAAkBC,GAC/B,MAAMC,EAAWC,EAAa,GAAGH,KACjC,MAAMI,QAAiBC,MAAMH,GAC7B,MAAMI,QAAYF,EAASG,OAC3B,GAAIN,IAAS,UAAW,CACtBjB,KAAKI,eAAiBkB,C,KACjB,CACLtB,KAAKK,gBAAkBiB,C,EAK3B,gBAAAE,GACE,MAAO,CACLC,OAAQ,KACR,CAACzB,KAAK0B,MAAO,KACb,CAAC1B,KAAK2B,WAAY,KAClB1B,YAAaD,KAAKC,YAClB2B,SAAU5B,KAAK6B,QAAU,WACzBC,QAAS9B,KAAK+B,OAAS,UACvBC,KAAMhC,KAAK+B,OAAS,O,CAKxB,oBAAAhB,GACE,OAAQf,KAAK0B,MACX,IAAK,MACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oBACT,IAAK,KACH,MAAO,oB,CAIb,iBAAAO,GACE,OAAOC,EAAK,OAAAC,MAAO,kBAAkBnC,KAAK0B,OAAQU,UAAWpC,KAAKI,gB,CAGpE,kBAAAiC,GACE,OAAOH,EAAA,OAAKC,MAAM,kBAAkBC,UAAWpC,KAAKK,iB,CAGtD,MAAAiC,GACE,OACEJ,EAAQ,UAAAK,IAAA,2CAAAJ,MAAOnC,KAAKwB,oBACjBxB,KAAKE,aAAeF,KAAK+B,OAAS,WAAa/B,KAAKiC,oBACpDjC,KAAK+B,OAAS,WACbG,EAAA,OAAAK,IAAA,2CAAKJ,MAAO,YACVD,EAAA,QAAAK,IAAA,8CAGHvC,KAAKG,cAAgBH,KAAKqC,qBAC1BrC,KAAK+B,OAAS,QAAU/B,KAAKiC,oB,qCC/FtC,MAAMO,EAAoB,izrE,MCQbC,EAAc,MAN3B,WAAA3C,CAAAC,G,UAOYC,KAAI0C,KAAW,GACf1C,KAAK2C,MAAW,GAChB3C,KAAQ4C,SAAW,GACnB5C,KAAS6C,UAAW,GACpB7C,KAAS8C,UAAY,KAyBhC,CAvBG,MAAAR,GACI,OACEJ,EAAA,OAAAK,IAAA,2CAAKJ,MAAM,gBACTD,EAAK,OAAAK,IAAA,2CAAAJ,MAAM,QACTD,EAAK,OAAAK,IAAA,2CAAAJ,MAAM,mBACVnC,KAAK8C,WAAaZ,EAAA,MAAAK,IAAA,2CAAIJ,MAAM,UAE/BD,EAAK,OAAAK,IAAA,2CAAAJ,MAAM,mBACTD,EAAK,OAAAK,IAAA,2CAAAJ,MAAM,iBACTD,EAAG,KAAAK,IAAA,2CAAAJ,MAAM,qBACNnC,KAAK0C,KAAI,KAAI1C,KAAK2C,MAAK,MAG5BT,EAAK,OAAAK,IAAA,2CAAAJ,MAAM,gBACTD,EAAG,KAAAK,IAAA,2CAAAJ,MAAM,mBAAmBnC,KAAK4C,WAEnCV,EAAK,OAAAK,IAAA,2CAAAJ,MAAM,aACTD,EAAA,KAAAK,IAAA,2CAAGJ,MAAM,mBAAmBnC,KAAK6C,a","ignoreList":[]}