globuswebcomponents 2.5.0 → 2.5.1
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/gb-avatar_25.cjs.entry.js +6 -11
- package/dist/cjs/gb-avatar_25.cjs.entry.js.map +1 -1
- package/dist/cjs/globuscomponents.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/components/gb-button/gb-button.js +5 -13
- package/dist/collection/components/gb-button/gb-button.js.map +1 -1
- package/dist/collection/components/gb-button/gb-button.tsx +3 -9
- package/dist/collection/components/gb-sidebar/gb-sidebar.js +1 -1
- package/dist/collection/components/gb-sidebar/gb-sidebar.js.map +1 -1
- package/dist/components/gb-action-panel.js +1 -1
- package/dist/components/gb-button.js +1 -1
- package/dist/components/gb-checkbox-group-item.js +1 -1
- package/dist/components/gb-checkbox-group.js +2 -2
- package/dist/components/gb-comment.js +1 -1
- package/dist/components/gb-detail-cell.js +1 -1
- package/dist/components/gb-empty-state.js +1 -1
- package/dist/components/gb-file-upload-item-base.js +1 -1
- package/dist/components/gb-file-upload.js +2 -2
- package/dist/components/gb-filter-button.js +1 -1
- package/dist/components/gb-header.js +3 -3
- package/dist/components/gb-input-dropdown.js +1 -1
- package/dist/components/gb-input-field.js +1 -1
- package/dist/components/gb-notification-pane.js +1 -1
- package/dist/components/gb-pagination.js +4 -4
- package/dist/components/gb-password-button.js +1 -1
- package/dist/components/gb-sidebar.js +1 -1
- package/dist/components/gb-sidebar.js.map +1 -1
- package/dist/components/gb-table-header.js +4 -4
- package/dist/components/gb-toast.js +1 -1
- package/dist/components/{p-BkQch75o.js → p-BOnuGa0m.js} +9 -16
- package/dist/components/p-BOnuGa0m.js.map +1 -0
- package/dist/components/{p-CiwkubRW.js → p-BdEUHRwK.js} +3 -3
- package/dist/components/{p-CiwkubRW.js.map → p-BdEUHRwK.js.map} +1 -1
- package/dist/components/{p-BKCA-Nft.js → p-C4Wqp2ub.js} +3 -3
- package/dist/components/{p-BKCA-Nft.js.map → p-C4Wqp2ub.js.map} +1 -1
- package/dist/components/{p-Clr_W4sc.js → p-CZ3smMnl.js} +5 -5
- package/dist/components/{p-Clr_W4sc.js.map → p-CZ3smMnl.js.map} +1 -1
- package/dist/components/{p-DJX_3tWY.js → p-CvJHKkAK.js} +3 -3
- package/dist/components/{p-DJX_3tWY.js.map → p-CvJHKkAK.js.map} +1 -1
- package/dist/components/{p-BjY6hrNn.js → p-Du5S3uEN.js} +3 -3
- package/dist/components/{p-BjY6hrNn.js.map → p-Du5S3uEN.js.map} +1 -1
- package/dist/components/{p-CU4DhT_Y.js → p-r5HizPK6.js} +4 -4
- package/dist/components/{p-CU4DhT_Y.js.map → p-r5HizPK6.js.map} +1 -1
- package/dist/docs.json +1 -1
- package/dist/esm/gb-avatar_25.entry.js +6 -11
- package/dist/esm/gb-avatar_25.entry.js.map +1 -1
- package/dist/esm/globuscomponents.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/globuscomponents/gb-button.tsx +3 -9
- package/dist/globuscomponents/globuscomponents.esm.js +1 -1
- package/dist/globuscomponents/{p-c3debf40.entry.js → p-a4b2d7f5.entry.js} +2 -2
- package/dist/globuscomponents/p-a4b2d7f5.entry.js.map +1 -0
- package/dist/types/components/gb-button/gb-button.d.ts +0 -2
- package/package.json +1 -1
- package/dist/components/p-BkQch75o.js.map +0 -1
- package/dist/globuscomponents/p-c3debf40.entry.js.map +0 -1
|
@@ -15,10 +15,8 @@ export declare class GbButton {
|
|
|
15
15
|
internalButtonState: string;
|
|
16
16
|
internalIconLeadingState: string;
|
|
17
17
|
internalIconTrailingState: string;
|
|
18
|
-
internalSize: string;
|
|
19
18
|
componentWillLoad(): void;
|
|
20
19
|
updateButtonState(newValue: string): void;
|
|
21
|
-
updateSize(newValue: GeneralSizes): void;
|
|
22
20
|
componentWillRender(): void;
|
|
23
21
|
loadIcon(iconName: string, type: 'leading' | 'trailing'): Promise<void>;
|
|
24
22
|
getButtonClasses(): {
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"file":"p-BkQch75o.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/gb-button/gb-button.css?tag=gb-button&encapsulation=shadow","src/components/gb-button/gb-button.tsx"],"sourcesContent":["@import './../../global/global.css';\r\n\r\n:host {\r\n --button-color: var(--primary-color);\r\n --icon-color: var(--primary-color);\r\n display: flex;\r\n align-items: center;\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 padding: var(--spacing-none);\r\n height: fit-content;\r\n justify-content: flex-start;\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 justify-content: flex-start;\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_color: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-btn-disabled, #eef2f6);\r\n --icon-color: var(--color-icon-disabled, #9aa4b2);\r\n color: var(--color-text-disabled, #9aa4b2);\r\n}\r\n\r\nbutton.secondary_gray.disabled,\r\nbutton.secondary_color.disabled{\r\n --icon-color: var(--color-icon-disabled, #9aa4b2);\r\n color: var(--color-text-disabled, #9aa4b2);\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, #9aa4b2);\r\n color: var(--color-text-disabled, #9aa4b2);\r\n}\r\n\r\n.btn_text{\r\n white-space: nowrap;\r\n display: flex;\r\n align-items: center;\r\n}\r\n\r\n.btn_text::first-letter{\r\n text-transform: uppercase;\r\n}","import { Component, Element, getAssetPath, h, Prop, State, Watch } from '@stencil/core';\r\nimport { GeneralHierarchies, GeneralSizes, StateType } from '../../models/reusableModels';\r\n\r\n@Component({\r\n tag: 'gb-button',\r\n styleUrl: 'gb-button.css',\r\n shadow: true,\r\n assetsDirs: [''],\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: StateType;\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 @State() internalButtonState: string = '';\r\n @State() internalIconLeadingState: string = '';\r\n @State() internalIconTrailingState: string = '';\r\n @State() internalSize: 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 // if (!this.iconLeading && !this.iconTrailing) {\r\n // buttonSlot.classList.add('center');\r\n // }\r\n }\r\n\r\n @Watch('state')\r\n updateButtonState(newValue: string) {\r\n this.internalButtonState = newValue;\r\n }\r\n\r\n @Watch('size')\r\n updateSize(newValue: GeneralSizes) {\r\n this.internalSize = newValue;\r\n }\r\n\r\n componentWillRender() {\r\n this.internalButtonState = this.state;\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.internalSize]: true,\r\n [this.hierarchy]: true,\r\n destructive: this.destructive,\r\n disabled: this.internalButtonState === 'disabled',\r\n default: this.icon === 'default',\r\n only: this.icon === 'only',\r\n oneicon: this.iconLeading || this.iconTrailing,\r\n };\r\n }\r\n\r\n getButtonTextClasses() {\r\n switch (this.internalSize) {\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.internalSize}`} 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 disabled={this.internalButtonState === 'disabled'} class={this.getButtonClasses()}>\r\n {this.iconLeading && this.icon === 'default' && this.renderLeadingIcon()}\r\n {this.icon === 'default' && <slot></slot>}\r\n {this.iconTrailing && this.renderTrailingIcon()}\r\n {this.icon === 'only' && this.renderLeadingIcon()}\r\n </button>\r\n );\r\n }\r\n}\r\n"],"version":3}
|