@sula-tech/webcomponents 0.9.2 → 0.10.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/{sula-avatar_19.cjs.entry.js → sula-avatar_20.cjs.entry.js} +98 -20
- package/dist/cjs/sula-avatar_20.cjs.entry.js.map +1 -0
- package/dist/cjs/webcomponents.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/sula-icon/sula-icon.css +1 -1
- package/dist/collection/components/sula-segmented-control/model/sula-segmented-control.model.js +16 -0
- package/dist/collection/components/sula-segmented-control/model/sula-segmented-control.model.js.map +1 -0
- package/dist/collection/components/sula-segmented-control/sula-segmented-control.css +1 -0
- package/dist/collection/components/sula-segmented-control/sula-segmented-control.js +241 -0
- package/dist/collection/components/sula-segmented-control/sula-segmented-control.js.map +1 -0
- package/dist/collection/components/sula-segmented-control/sula-segmented-control.stories.js +352 -0
- package/dist/collection/components/sula-segmented-control/sula-segmented-control.stories.js.map +1 -0
- package/dist/collection/components/sula-switch/sula-switch.js +4 -4
- package/dist/collection/components/sula-tag/sula-tag.js +3 -3
- package/dist/collection/components/sula-textarea/sula-textarea.js +6 -6
- package/dist/collection/components/sula-textfield/sula-textfield.js +2 -2
- package/dist/collection/components/sula-tiles/sula-tiles.js +1 -1
- package/dist/collection/components/sula-timeline-list/sula-timeline-list.js +1 -1
- package/dist/collection/testing/e2e-setup.js +47 -0
- package/dist/collection/testing/e2e-setup.js.map +1 -0
- package/dist/components/{p-Bgqd8BiV.js → p-BZgImhEG.js} +3 -3
- package/dist/components/{p-Bgqd8BiV.js.map → p-BZgImhEG.js.map} +1 -1
- package/dist/components/{p-Uq6L0wCA.js → p-BuA_ueQn.js} +3 -3
- package/dist/components/{p-Uq6L0wCA.js.map → p-BuA_ueQn.js.map} +1 -1
- package/dist/components/sula-avatar.js +1 -1
- package/dist/components/sula-badge.js +1 -1
- package/dist/components/sula-button.js +1 -1
- package/dist/components/sula-checkbox.js +1 -1
- package/dist/components/sula-chip.js +1 -1
- package/dist/components/sula-dropdown.js +1 -1
- package/dist/components/sula-icon.js +1 -1
- package/dist/components/sula-modal.js +2 -2
- package/dist/components/sula-progress-bar.js +1 -1
- package/dist/components/sula-search-bar.js +1 -1
- package/dist/components/sula-segmented-control.d.ts +11 -0
- package/dist/components/sula-segmented-control.js +113 -0
- package/dist/components/sula-segmented-control.js.map +1 -0
- package/dist/components/sula-switch.js +4 -4
- package/dist/components/sula-tag.js +4 -4
- package/dist/components/sula-textarea.js +6 -6
- package/dist/components/sula-textfield.js +3 -3
- package/dist/components/sula-tiles.js +2 -2
- package/dist/components/sula-timeline-list.js +2 -2
- package/dist/esm/loader.js +1 -1
- package/dist/esm/{sula-avatar_19.entry.js → sula-avatar_20.entry.js} +98 -21
- package/dist/esm/sula-avatar_20.entry.js.map +1 -0
- package/dist/esm/webcomponents.js +1 -1
- package/dist/types/components/sula-segmented-control/model/sula-segmented-control.model.d.ts +19 -0
- package/dist/types/components/sula-segmented-control/sula-segmented-control.d.ts +37 -0
- package/dist/types/components/sula-segmented-control/sula-segmented-control.stories.d.ts +136 -0
- package/dist/types/components.d.ts +84 -0
- package/dist/types/testing/e2e-setup.d.ts +1 -0
- package/dist/webcomponents/{p-9f81911a.entry.js → p-fbc8b4d8.entry.js} +186 -83
- package/dist/webcomponents/p-fbc8b4d8.entry.js.map +1 -0
- package/dist/webcomponents/webcomponents.esm.js +6 -1
- package/package.json +5 -2
- package/dist/cjs/sula-avatar_19.cjs.entry.js.map +0 -1
- package/dist/esm/sula-avatar_19.entry.js.map +0 -1
- package/dist/webcomponents/p-9f81911a.entry.js.map +0 -1
package/dist/collection/components/sula-segmented-control/sula-segmented-control.stories.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sula-segmented-control.stories.js","sourceRoot":"","sources":["../../../src/components/sula-segmented-control/sula-segmented-control.stories.tsx"],"names":[],"mappings":"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","sourcesContent":["import { SulaSegmentedControlColor, SulaSegmentedControlSize, SulaSegmentedControlType } from './model/sula-segmented-control.model';\n\nexport default {\n title: 'Components/sula-segmented-control',\n tags: ['autodocs'],\n argTypes: {\n items: {\n control: 'object',\n description: 'Array de opções para o controle segmentado',\n table: {\n type: { summary: 'SulaSegmentedControlOption[]' },\n defaultValue: { summary: '[]' },\n },\n },\n type: {\n control: { type: 'select' },\n options: Object.values(SulaSegmentedControlType),\n description: 'Tipo do controle segmentado (texto ou ícone)',\n table: {\n type: { summary: 'SulaSegmentedControlType' },\n defaultValue: { summary: 'SulaSegmentedControlType.Text' },\n },\n },\n size: {\n control: { type: 'select' },\n options: Object.values(SulaSegmentedControlSize),\n description: 'Tamanho do controle segmentado',\n table: {\n type: { summary: 'SulaSegmentedControlSize' },\n defaultValue: { summary: 'SulaSegmentedControlSize.Default' },\n },\n },\n color: {\n control: { type: 'select' },\n options: Object.values(SulaSegmentedControlColor),\n description: 'Cor de fundo do controle segmentado',\n table: {\n type: { summary: 'SulaSegmentedControlColor' },\n defaultValue: { summary: 'SulaSegmentedControlColor.White' },\n },\n },\n itemClicked: {\n action: 'itemClicked',\n description: 'Evento emitido quando um item é clicado',\n table: {\n type: { summary: 'CustomEvent<SulaSegmentedControlOption>' },\n },\n },\n itemHovered: {\n action: 'itemHovered',\n description: 'Evento emitido quando um item recebe hover',\n table: {\n type: { summary: 'CustomEvent<SulaSegmentedControlOption>' },\n },\n },\n itemBlur: {\n action: 'itemBlur',\n description: 'Evento emitido quando um item perde o foco',\n table: {\n type: { summary: 'CustomEvent<SulaSegmentedControlOption>' },\n },\n },\n },\n parameters: {\n docs: {\n description: {\n component: `\nO componente **Sula Segmented Control** é utilizado para permitir que os usuários escolham entre\nmúltiplas opções mutuamente exclusivas. É ideal para navegação entre visualizações ou filtros.\n\n### Características principais:\n- Suporte a diferentes tipos (Texto e Ícone)\n- Diferentes tamanhos (Default e Small)\n- Cores de fundo personalizáveis (White e Gray)\n- Suporte a chevron adicional nas opções\n- Eventos de clique, hover e blur\n `,\n },\n },\n },\n};\n\nconst Template = args => {\n const container = document.createElement('div');\n container.style.margin = '20px';\n container.style.display = 'flex';\n container.style.alignItems = 'center';\n container.style.justifyContent = 'center';\n container.style.minHeight = '80px';\n\n if (args.color === SulaSegmentedControlColor.White) {\n container.style.backgroundColor = '#f5f5f5';\n container.style.padding = '20px';\n container.style.borderRadius = '8px';\n }\n\n const el = document.createElement('sula-segmented-control');\n\n el.items = args.items;\n el.setAttribute('type', args.type);\n el.setAttribute('size', args.size);\n el.setAttribute('color', args.color);\n\n el.addEventListener('itemClicked', args.itemClicked);\n el.addEventListener('itemHovered', args.itemHovered);\n el.addEventListener('itemBlur', args.itemBlur);\n\n container.appendChild(el);\n return container;\n};\n\nexport const Playground = Template.bind({});\nPlayground.args = {\n items: [\n { label: 'Opção 1', value: '1', selected: true },\n { label: 'Opção 2', value: '2' },\n { label: 'Opção 3', value: '3' },\n ],\n type: SulaSegmentedControlType.Text,\n size: SulaSegmentedControlSize.Default,\n color: SulaSegmentedControlColor.White,\n};\n\nexport const TextType = Template.bind({});\nTextType.args = {\n items: [\n { label: 'Todos', value: 'all', selected: true },\n { label: 'Ativos', value: 'active' },\n { label: 'Inativos', value: 'inactive' },\n ],\n type: SulaSegmentedControlType.Text,\n size: SulaSegmentedControlSize.Default,\n color: SulaSegmentedControlColor.White,\n};\nTextType.parameters = {\n docs: {\n description: {\n story: 'Controle segmentado com texto.',\n },\n },\n};\n\nexport const IconType = Template.bind({});\nIconType.args = {\n items: [\n { icon: 'ph ph-house', value: 'home', selected: true },\n { icon: 'ph ph-user', value: 'user' },\n { icon: 'ph ph-gear', value: 'settings' },\n ],\n type: SulaSegmentedControlType.Icon,\n size: SulaSegmentedControlSize.Default,\n color: SulaSegmentedControlColor.White,\n};\nIconType.parameters = {\n docs: {\n description: {\n story: 'Controle segmentado com ícones.',\n },\n },\n};\n\nexport const WithChevron = Template.bind({});\nWithChevron.args = {\n items: [\n { label: 'Filtro 1', value: '1', addChevron: true, selected: true },\n { label: 'Filtro 2', value: '2', addChevron: true },\n { label: 'Filtro 3', value: '3', addChevron: true },\n ],\n type: SulaSegmentedControlType.Text,\n size: SulaSegmentedControlSize.Default,\n color: SulaSegmentedControlColor.White,\n};\nWithChevron.parameters = {\n docs: {\n description: {\n story: 'Controle segmentado com chevron nas opções.',\n },\n },\n};\n\nexport const SmallSize = Template.bind({});\nSmallSize.args = {\n items: [\n { label: 'Pequeno 1', value: '1', selected: true },\n { label: 'Pequeno 2', value: '2' },\n { label: 'Pequeno 3', value: '3' },\n ],\n type: SulaSegmentedControlType.Text,\n size: SulaSegmentedControlSize.Small,\n color: SulaSegmentedControlColor.White,\n};\nSmallSize.parameters = {\n docs: {\n description: {\n story: 'Controle segmentado em tamanho pequeno.',\n },\n },\n};\n\nexport const Sizes = () => {\n const container = document.createElement('div');\n container.style.display = 'flex';\n container.style.flexDirection = 'column';\n container.style.gap = '16px';\n container.style.alignItems = 'center';\n container.style.padding = '20px';\n container.style.backgroundColor = '#f5f5f5';\n container.style.borderRadius = '8px';\n\n const defaultControl = document.createElement('sula-segmented-control');\n defaultControl.items = [\n { label: 'Default 1', value: '1', selected: true },\n { label: 'Default 2', value: '2' },\n { label: 'Default 3', value: '3' },\n ];\n defaultControl.setAttribute('size', SulaSegmentedControlSize.Default);\n\n const smallControl = document.createElement('sula-segmented-control');\n smallControl.items = [\n { label: 'Small 1', value: '1', selected: true },\n { label: 'Small 2', value: '2' },\n { label: 'Small 3', value: '3' },\n ];\n smallControl.setAttribute('size', SulaSegmentedControlSize.Small);\n\n container.appendChild(defaultControl);\n container.appendChild(smallControl);\n\n return container;\n};\nSizes.parameters = {\n docs: {\n description: {\n story: 'Comparação entre os diferentes tamanhos disponíveis.',\n },\n },\n};\n\nexport const GrayBackground = Template.bind({});\nGrayBackground.args = {\n items: [\n { label: 'Opção 1', value: '1', selected: true },\n { label: 'Opção 2', value: '2' },\n { label: 'Opção 3', value: '3' },\n ],\n type: SulaSegmentedControlType.Text,\n size: SulaSegmentedControlSize.Default,\n color: SulaSegmentedControlColor.Gray,\n};\nGrayBackground.parameters = {\n docs: {\n description: {\n story: 'Controle segmentado com fundo cinza.',\n },\n },\n};\n\nexport const ColorVariations = () => {\n const container = document.createElement('div');\n container.style.display = 'flex';\n container.style.flexDirection = 'column';\n container.style.gap = '16px';\n container.style.alignItems = 'center';\n container.style.padding = '20px';\n container.style.backgroundColor = '#f5f5f5';\n container.style.borderRadius = '8px';\n\n const whiteControl = document.createElement('sula-segmented-control');\n whiteControl.items = [\n { label: 'White 1', value: '1', selected: true },\n { label: 'White 2', value: '2' },\n { label: 'White 3', value: '3' },\n ];\n whiteControl.setAttribute('color', SulaSegmentedControlColor.White);\n\n const grayControl = document.createElement('sula-segmented-control');\n grayControl.items = [\n { label: 'Gray 1', value: '1', selected: true },\n { label: 'Gray 2', value: '2' },\n { label: 'Gray 3', value: '3' },\n ];\n grayControl.setAttribute('color', SulaSegmentedControlColor.Gray);\n\n container.appendChild(whiteControl);\n container.appendChild(grayControl);\n\n return container;\n};\nColorVariations.parameters = {\n docs: {\n description: {\n story: 'Diferentes cores de fundo disponíveis.',\n },\n },\n};\n\nexport const ManyOptions = Template.bind({});\nManyOptions.args = {\n items: [\n { label: 'Janeiro', value: '1', selected: true },\n { label: 'Fevereiro', value: '2' },\n { label: 'Março', value: '3' },\n { label: 'Abril', value: '4' },\n { label: 'Maio', value: '5' },\n ],\n type: SulaSegmentedControlType.Text,\n size: SulaSegmentedControlSize.Default,\n color: SulaSegmentedControlColor.White,\n};\nManyOptions.parameters = {\n docs: {\n description: {\n story: 'Controle segmentado com múltiplas opções.',\n },\n },\n};\n\nexport const AllVariations = () => {\n const container = document.createElement('div');\n container.style.display = 'grid';\n container.style.gridTemplateColumns = 'repeat(auto-fit, minmax(300px, 1fr))';\n container.style.gap = '24px';\n container.style.padding = '20px';\n container.style.backgroundColor = '#f5f5f5';\n container.style.borderRadius = '8px';\n\n const variations = [\n {\n items: [\n { label: 'Text White', value: '1', selected: true },\n { label: 'Opção 2', value: '2' },\n ],\n type: SulaSegmentedControlType.Text,\n color: SulaSegmentedControlColor.White,\n },\n {\n items: [\n { label: 'Text Gray', value: '1', selected: true },\n { label: 'Opção 2', value: '2' },\n ],\n type: SulaSegmentedControlType.Text,\n color: SulaSegmentedControlColor.Gray,\n },\n {\n items: [\n { icon: 'ph ph-house', value: '1', selected: true },\n { icon: 'ph ph-user', value: '2' },\n ],\n type: SulaSegmentedControlType.Icon,\n color: SulaSegmentedControlColor.White,\n },\n {\n items: [\n { icon: 'ph ph-house', value: '1', selected: true },\n { icon: 'ph ph-user', value: '2' },\n ],\n type: SulaSegmentedControlType.Icon,\n color: SulaSegmentedControlColor.Gray,\n },\n ];\n\n variations.forEach(variation => {\n const control = document.createElement('sula-segmented-control');\n control.items = variation.items;\n control.setAttribute('type', variation.type);\n control.setAttribute('color', variation.color);\n control.setAttribute('size', SulaSegmentedControlSize.Default);\n container.appendChild(control);\n });\n\n return container;\n};\nAllVariations.parameters = {\n docs: {\n description: {\n story: 'Visão geral de todas as combinações de tipo e cor.',\n },\n },\n};\n"]}
|
|
@@ -35,23 +35,23 @@ export class SulaSwitch {
|
|
|
35
35
|
};
|
|
36
36
|
}
|
|
37
37
|
render() {
|
|
38
|
-
return (h(Host, { key: '
|
|
38
|
+
return (h(Host, { key: 'e920dbb868a5bdde5e34ac4d015529aef08a8e3d' }, h("div", { key: '7552191cc1632d04c0c496f382fdbbb166547236', class: {
|
|
39
39
|
'outline-none': true,
|
|
40
40
|
'flex items-center space-x-12': !!this.label && this.type === SulaSwitchType.Default,
|
|
41
41
|
'flex items-center justify-between bg-surface-on-body rounded-md w-[280px] min-h-[85px] px-24 py-16': this.type === SulaSwitchType.List,
|
|
42
42
|
'hover:bg-states-empty-bg-hover active:bg-states-empty-bg-pressed cursor-pointer': this.type === SulaSwitchType.List && !this.disabled,
|
|
43
43
|
'container-focus': this.isFocus && this.type === SulaSwitchType.List,
|
|
44
|
-
}, onFocus: this.handleFocus, onBlur: this.handleBlur, onClick: this.handleClick, tabIndex: 0 }, this.type === SulaSwitchType.List && (h("div", { key: '
|
|
44
|
+
}, onFocus: this.handleFocus, onBlur: this.handleBlur, onClick: this.handleClick, tabIndex: 0 }, this.type === SulaSwitchType.List && (h("div", { key: '322c268b6e010f49cb1b61509398d9f7a1b9b8a1', class: "flex flex-col flex-1 mr-16 overflow-hidden" }, !!this.label && h("label", { key: '0da8b536c781a7d0fdfc1539b115c11171328455', class: "text-text-primary font-bold text-base cursor-pointer break-words" }, this.label), !!this.subTitle && h("span", { key: '8ff30bb13d52d759c6b2a2892ec608d14e9ece86', class: "text-text-secondary text-base break-words" }, this.subTitle))), h("div", { key: 'cec3a0d3f3620af6e25c2ae1e6ac771eb7acaef2', class: {
|
|
45
45
|
'switch-container w-56 h-32 flex items-center rounded-xxl p-2 outline-none': true,
|
|
46
46
|
'switch-on bg-brand-primary justify-end': this.active,
|
|
47
47
|
'switch-off bg-neutral-neutral-3 justify-start': !this.active,
|
|
48
48
|
'cursor-not-allowed bg-states-bg-disabled': this.disabled,
|
|
49
49
|
'switch-focus': this.isFocus && this.type === SulaSwitchType.Default,
|
|
50
|
-
}, tabIndex: 0, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("div", { key: '
|
|
50
|
+
}, tabIndex: 0, onFocus: this.handleFocus, onBlur: this.handleBlur }, h("div", { key: 'ae01eb32010e93fbc3fb652c0fdd653df57b7835', class: {
|
|
51
51
|
'switch-thumb w-[28px] h-[28px] rounded-full flex justify-center items-center': true,
|
|
52
52
|
'bg-negative-negative-1': !this.disabled,
|
|
53
53
|
'bg-states-bg-disabled shadow-md': this.disabled,
|
|
54
|
-
} }, h("div", { key: '
|
|
54
|
+
} }, h("div", { key: 'f965f1fa8af298f87383c8549a82990a9daeafee', class: {
|
|
55
55
|
'switch-indicator rounded-full': true,
|
|
56
56
|
'switch-indicator-on w-12 h-12 bg-brand-primary': this.active,
|
|
57
57
|
'switch-indicator-off w-[10px] h-4 bg-neutral-neutral-4': !this.active,
|
|
@@ -72,14 +72,14 @@ export class SulaTag {
|
|
|
72
72
|
return iconStatusStyles[this.iconStatus];
|
|
73
73
|
}
|
|
74
74
|
render() {
|
|
75
|
-
return (h(Host, { key: '
|
|
75
|
+
return (h(Host, { key: 'ea42eeb4ee80620a790938eb08c6322fa4dee214' }, h("div", { key: '29745dd127c152c8e2e74534f8fa53cc8d305534', class: {
|
|
76
76
|
'flex items-center rounded-xxl w-fit': true,
|
|
77
77
|
[this.getSizeClass()]: true,
|
|
78
78
|
[this.getAppearanceClass()]: true,
|
|
79
|
-
} }, this.icon && (h("div", { key: '
|
|
79
|
+
} }, this.icon && (h("div", { key: '2eb1b3d506d98a12b5513c947237289fcacfe035', class: {
|
|
80
80
|
'flex justify-center items-center mr-8 rounded-full leading-4 px-2 py-1': true,
|
|
81
81
|
[this.getIconStatusClass()]: true,
|
|
82
|
-
} }, h("sula-icon", { key: '
|
|
82
|
+
} }, h("sula-icon", { key: 'b3daed5248632ce22ee43f9d64987939a3682242', icon: this.icon, "custom-class": "text-base text-negative-negative-1 leading-4" }))), h("span", { key: 'd436740cbce0feab73152447b7694818fe87f90e', class: {
|
|
83
83
|
'text-base leading-4': true,
|
|
84
84
|
[this.getTextColorClass()]: true,
|
|
85
85
|
[this.getTextWeightClass()]: true,
|
|
@@ -124,32 +124,32 @@ export class SulaTextarea {
|
|
|
124
124
|
}
|
|
125
125
|
render() {
|
|
126
126
|
const containerHeight = this.rows * 24 + 48;
|
|
127
|
-
return (h(Host, { key: '
|
|
127
|
+
return (h(Host, { key: '0586b5e31d5bda244cc4c1f993f883eb785f39b3', ref: node => (this.node = node) }, h("div", { key: '28d230964948161540ba96b948a4d7a63ecd8748' }, h("div", { key: '478bf00ea0f45407ecc36708bcfe4fb95fe49619', id: "textarea-container", class: {
|
|
128
128
|
'relative border rounded-sm px-16 py-12 outline-none caret-brand-primary': true,
|
|
129
129
|
'textarea-focus': this.textareaIsFocused && !this.disabled && this.status === SulaTextareaStatus.Default,
|
|
130
130
|
'textarea-error': this.status === SulaTextareaStatus.Error && !this.disabled,
|
|
131
131
|
'bg-states-bg-disabled border-line-general cursor-not-allowed': this.disabled,
|
|
132
132
|
'bg-surface-body border-line-input cursor-text': !this.disabled,
|
|
133
|
-
}, style: { height: `${containerHeight}px` }, tabIndex: 0, onFocus: this.handleFocus, onClick: this.handleTextareaClick }, h("label", { key: '
|
|
133
|
+
}, style: { height: `${containerHeight}px` }, tabIndex: 0, onFocus: this.handleFocus, onClick: this.handleTextareaClick }, h("label", { key: 'c0450390c2d40f2a3e0e4b486fc9580c369bf912', class: {
|
|
134
134
|
'text-base top-16 left-12 absolute transition-all duration-200 ease-in-out pointer-events-none z-10 w-[85%]': true,
|
|
135
135
|
'text-text-primary': !this.disabled && (this.isActive || this.status === SulaTextareaStatus.Default),
|
|
136
136
|
'text-text-disabled': this.disabled,
|
|
137
137
|
'bg-surface-body': !this.disabled && this.isActive,
|
|
138
|
-
}, ref: node => (this.labelElement = node) }, this.label), h("label", { key: '
|
|
138
|
+
}, ref: node => (this.labelElement = node) }, this.label), h("label", { key: '2d73abbc98c3cb70d0234f9629b392cb1cd8f83e', class: {
|
|
139
139
|
'absolute font-bold transition-all duration-200 ease-in-out pointer-events-none z-10 active-label hidden from-down': true,
|
|
140
140
|
'text-sm top-12 left-16': this.isActive,
|
|
141
141
|
'text-text-primary': !this.disabled && (this.isActive || this.status === SulaTextareaStatus.Default),
|
|
142
142
|
'text-text-disabled': this.disabled,
|
|
143
143
|
'bg-surface-body': !this.disabled && this.isActive,
|
|
144
|
-
}, ref: node => (this.activeLabelElement = node) }, this.label), h("textarea", { key: '
|
|
144
|
+
}, ref: node => (this.activeLabelElement = node) }, this.label), h("textarea", { key: 'ce8af45adb97d797dbc07a557235c47378a10bb2', ref: node => (this.textareaElement = node), placeholder: this.isActive ? this.placeholder : '', rows: this.rows, maxLength: this.maxLength, disabled: this.disabled, class: {
|
|
145
145
|
'w-full h-full outline-none text-base bg-transparent border-none resize-none': true,
|
|
146
146
|
'text-text-primary': !this.disabled,
|
|
147
147
|
'text-text-disabled cursor-not-allowed overflow-hidden': this.disabled,
|
|
148
|
-
}, style: { paddingTop: this.isActive ? `${this.labelPadding}px` : '0' }, onInput: this.handleTextareaChanges, onFocus: this.handleTextareaFocus, onBlur: this.handleBlur, value: this.textValue })), (this.helpText || this.maxLength) && (h("div", { key: '
|
|
148
|
+
}, style: { paddingTop: this.isActive ? `${this.labelPadding}px` : '0' }, onInput: this.handleTextareaChanges, onFocus: this.handleTextareaFocus, onBlur: this.handleBlur, value: this.textValue })), (this.helpText || this.maxLength) && (h("div", { key: '676e2be41409e297c350dd95a715014f0589594c', class: "flex justify-between items-center px-16 mt-4 text-sm" }, this.helpText && (h("div", { key: '69a22552f623c03a458137f3bfa4f92a2fb0a62d', id: "textarea-help-text", class: {
|
|
149
149
|
'text-text-primary': this.status === SulaTextareaStatus.Default && !this.disabled,
|
|
150
150
|
'text-feedback-error': this.status === SulaTextareaStatus.Error && !this.disabled,
|
|
151
151
|
'text-text-disabled': this.disabled,
|
|
152
|
-
} }, this.helpText)), this.maxLength && (h("div", { key: '
|
|
152
|
+
} }, this.helpText)), this.maxLength && (h("div", { key: '29ab1273eef5520bb5436aaa0baa767cd24644c4', id: "max-length-container", class: {
|
|
153
153
|
'text-text-primary': this.status === SulaTextareaStatus.Default && !this.disabled,
|
|
154
154
|
'text-feedback-error': this.status === SulaTextareaStatus.Error && !this.disabled,
|
|
155
155
|
'text-text-disabled': this.disabled,
|
|
@@ -129,14 +129,14 @@ export class SulaTextfield {
|
|
|
129
129
|
return this.icon;
|
|
130
130
|
}
|
|
131
131
|
render() {
|
|
132
|
-
return (h(Host, { key: '
|
|
132
|
+
return (h(Host, { key: '2287b38b1441da7fcab2caa4dd495bc593a4e268', ref: node => (this.node = node) }, h("div", { key: '1e9538652f7a57c1f8a99760028a45726d4cf1b8' }, h("div", { key: '48b038746bbe3ba11ea374c7cc5e28cae65d5d30', id: "button-container", class: {
|
|
133
133
|
'flex items-center border rounded-sm px-16 outline-none h-[72px] caret-brand-primary': true,
|
|
134
134
|
'flex-row justify-between': !!this.icon || this.type === SulaTextfieldType.Password,
|
|
135
135
|
'button-focus': this.inputIsFocused && !this.disabled && this.status === SulaTextfieldStatus.Default,
|
|
136
136
|
'button-error': this.status === SulaTextfieldStatus.Error && !this.disabled,
|
|
137
137
|
'bg-states-bg-disabled border-line-general cursor-not-allowed': this.disabled,
|
|
138
138
|
'bg-surface-body border-line-input cursor-pointer': !this.disabled,
|
|
139
|
-
}, tabIndex: 0, onFocus: this.handleFocus, onClick: this.handleInputClick }, !this.disabled && (h("div", { key: '
|
|
139
|
+
}, tabIndex: 0, onFocus: this.handleFocus, onClick: this.handleInputClick }, !this.disabled && (h("div", { key: '9c4a9e1e7017593db75a77585c1392125b1a98b9', class: { 'hidden flex-col w-full': true, 'pr-12': !!this.icon }, ref: node => (this.inputContainer = node) }, h("label", { key: 'd07846ebd85fff94f477f59b512304e00102bb58', class: "font-bold text-sm text-text-primary from-down" }, this.label), h("input", { key: '92955b96950cae398681755cec9fcbf0a8327695', type: this.type, ref: node => (this.inputElement = node), placeholder: this.placeholder, class: "outline-none text-base text-text-primary bg-transparent", onInput: this.handleInputChanges, onFocus: this.handleInputFocus, value: this.textValue }))), h("div", { key: 'cadc6f4d64f3e85dee539b9bf270a839709c1bfa', id: "textfield-label", class: { 'text-base flex items-center': true, 'text-text-primary': !this.disabled, 'text-text-disabled': this.disabled }, ref: node => (this.labelElement = node) }, this.label), (!!this.icon || this.type === SulaTextfieldType.Password) && (h("div", { key: '5f0fee95a1d89743084c86f9b9bdec69b3976da5', class: "flex items-center justify-center", onClick: this.handleIconClick }, h("sula-icon", { key: 'a41969ee7b207c6fdcaf43c0345e927a19b58d1c', icon: this.getInputIcon(), customClass: `text-2xl ${this.disabled ? 'text-icon-disabled' : 'text-icon-primary'}` })))), (this.helpText || this.maxLength) && !this.disabled && (h("div", { key: '14e36d4ee992aeb3ab3341f030fc05231c803e3d', class: "flex justify-between items-center px-16 mt-4 text-sm" }, this.helpText && (h("div", { key: 'e4286e8635c5b6f8fc3032359567cbdba2479748', id: "textfield-help-text", class: { 'text-text-primary': this.status === SulaTextfieldStatus.Default, 'text-feedback-error': this.status === SulaTextfieldStatus.Error } }, this.helpText)), this.maxLength && (h("div", { key: 'd2813e234f057e952f85ded243510a4a12a43654', id: "max-length-container", class: { 'text-text-primary': this.status === SulaTextfieldStatus.Default, 'text-feedback-error': this.status === SulaTextfieldStatus.Error } }, this.textValue ? this.textValue.length : 0, "/", this.maxLength)))))));
|
|
140
140
|
}
|
|
141
141
|
static get is() { return "sula-textfield"; }
|
|
142
142
|
static get encapsulation() { return "shadow"; }
|
|
@@ -121,7 +121,7 @@ export class SulaTiles {
|
|
|
121
121
|
return (h("div", { class: this.getTextContainerClasses() }, h("span", { class: this.getTextClasses(true), title: this.ellipsis ? this.text : undefined }, this.text), this.hasSubText && (h("span", { class: this.getTextClasses(false), title: this.ellipsis ? this.subText : undefined }, this.subText))));
|
|
122
122
|
}
|
|
123
123
|
render() {
|
|
124
|
-
return (h(Host, { key: '
|
|
124
|
+
return (h(Host, { key: 'bd93893ff89e978258ceb3621a260b305de320f5' }, h("div", { key: '661f7050d9a816aa3437e2d1c0de179cfb9d605d', class: this.getContainerClasses(), tabIndex: this.getTabIndex(this.isSquare), onClick: this.handleClick }, this.renderIcon(), this.renderText())));
|
|
125
125
|
}
|
|
126
126
|
static get is() { return "sula-tiles"; }
|
|
127
127
|
static get encapsulation() { return "shadow"; }
|
|
@@ -37,7 +37,7 @@ export class SulaTimelineList {
|
|
|
37
37
|
return iconByStatus[status];
|
|
38
38
|
}
|
|
39
39
|
render() {
|
|
40
|
-
return (h(Host, { key: '
|
|
40
|
+
return (h(Host, { key: 'be18bb7bcb5cff8b45b1dc33fe9f4a14b6e21d5e' }, h("div", { key: '1a2bd5e50d78223c0ef3824beef028b0d6b8fa27', class: "flex flex-col bg-surface-on-body px-24 py-32 w-fit rounded-md" }, this.sulaTimelineList.map((item, index) => {
|
|
41
41
|
const isLastItem = index === this.sulaTimelineList.length - 1;
|
|
42
42
|
return (h("div", { class: {
|
|
43
43
|
'relative timeline-item': true,
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
const pages = [];
|
|
2
|
+
const globalAny = global;
|
|
3
|
+
const originalNewTestPage = globalAny.__NEW_TEST_PAGE__;
|
|
4
|
+
if (typeof originalNewTestPage === 'function') {
|
|
5
|
+
globalAny.__NEW_TEST_PAGE__ = async (...args) => {
|
|
6
|
+
const page = await originalNewTestPage(...args);
|
|
7
|
+
pages.push(page);
|
|
8
|
+
return page;
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
afterEach(async () => {
|
|
12
|
+
const pagesToClose = [];
|
|
13
|
+
const keepAlivePages = [];
|
|
14
|
+
for (const page of pages) {
|
|
15
|
+
if (page.__keepAlive) {
|
|
16
|
+
keepAlivePages.push(page);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
pagesToClose.push(page);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
pages.length = 0;
|
|
23
|
+
pages.push(...keepAlivePages);
|
|
24
|
+
const closePromises = pagesToClose
|
|
25
|
+
.filter(page => page && typeof page.close === 'function')
|
|
26
|
+
.map(page => page.close().catch(() => {
|
|
27
|
+
// Ignore errors when the page is already closed.
|
|
28
|
+
}));
|
|
29
|
+
if (closePromises.length > 0) {
|
|
30
|
+
await Promise.all(closePromises);
|
|
31
|
+
}
|
|
32
|
+
// Clear stale element/event handles on keep-alive pages after each test.
|
|
33
|
+
for (const page of keepAlivePages) {
|
|
34
|
+
const pageAny = page;
|
|
35
|
+
if (Array.isArray(pageAny._e2eElements)) {
|
|
36
|
+
pageAny._e2eElements.length = 0;
|
|
37
|
+
}
|
|
38
|
+
if (pageAny._e2eEvents instanceof Map) {
|
|
39
|
+
pageAny._e2eEvents.clear();
|
|
40
|
+
}
|
|
41
|
+
if (typeof pageAny._e2eEventIds === 'number') {
|
|
42
|
+
pageAny._e2eEventIds = 0;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
export {};
|
|
47
|
+
//# sourceMappingURL=e2e-setup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"e2e-setup.js","sourceRoot":"","sources":["../../src/testing/e2e-setup.ts"],"names":[],"mappings":"AAEA,MAAM,KAAK,GAAc,EAAE,CAAC;AAC5B,MAAM,SAAS,GAAG,MAA0F,CAAC;AAC7G,MAAM,mBAAmB,GAAG,SAAS,CAAC,iBAAiB,CAAC;AAExD,IAAI,OAAO,mBAAmB,KAAK,UAAU,EAAE,CAAC;IAC9C,SAAS,CAAC,iBAAiB,GAAG,KAAK,EAAE,GAAG,IAAe,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,MAAM,mBAAmB,CAAC,GAAG,IAAI,CAAC,CAAC;QAChD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,CAAC,KAAK,IAAI,EAAE;IACnB,MAAM,YAAY,GAAc,EAAE,CAAC;IACnC,MAAM,cAAc,GAAc,EAAE,CAAC;IAErC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAK,IAAY,CAAC,WAAW,EAAE,CAAC;YAC9B,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACjB,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;IAE9B,MAAM,aAAa,GAAG,YAAY;SAC/B,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,UAAU,CAAC;SACxD,GAAG,CAAC,IAAI,CAAC,EAAE,CACV,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;QACtB,iDAAiD;IACnD,CAAC,CAAC,CACH,CAAC;IAEJ,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7B,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IACnC,CAAC;IAED,yEAAyE;IACzE,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAW,CAAC;QAC5B,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YACxC,OAAO,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,OAAO,CAAC,UAAU,YAAY,GAAG,EAAE,CAAC;YACtC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC7B,CAAC;QACD,IAAI,OAAO,OAAO,CAAC,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC7C,OAAO,CAAC,YAAY,GAAG,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC,CAAC,CAAC","sourcesContent":["import type { E2EPage } from '@stencil/core/testing';\n\nconst pages: E2EPage[] = [];\nconst globalAny = global as typeof global & { __NEW_TEST_PAGE__?: (...args: unknown[]) => Promise<E2EPage> };\nconst originalNewTestPage = globalAny.__NEW_TEST_PAGE__;\n\nif (typeof originalNewTestPage === 'function') {\n globalAny.__NEW_TEST_PAGE__ = async (...args: unknown[]) => {\n const page = await originalNewTestPage(...args);\n pages.push(page);\n return page;\n };\n}\n\nafterEach(async () => {\n const pagesToClose: E2EPage[] = [];\n const keepAlivePages: E2EPage[] = [];\n\n for (const page of pages) {\n if ((page as any).__keepAlive) {\n keepAlivePages.push(page);\n } else {\n pagesToClose.push(page);\n }\n }\n\n pages.length = 0;\n pages.push(...keepAlivePages);\n\n const closePromises = pagesToClose\n .filter(page => page && typeof page.close === 'function')\n .map(page =>\n page.close().catch(() => {\n // Ignore errors when the page is already closed.\n }),\n );\n\n if (closePromises.length > 0) {\n await Promise.all(closePromises);\n }\n\n // Clear stale element/event handles on keep-alive pages after each test.\n for (const page of keepAlivePages) {\n const pageAny = page as any;\n if (Array.isArray(pageAny._e2eElements)) {\n pageAny._e2eElements.length = 0;\n }\n if (pageAny._e2eEvents instanceof Map) {\n pageAny._e2eEvents.clear();\n }\n if (typeof pageAny._e2eEventIds === 'number') {\n pageAny._e2eEventIds = 0;\n }\n }\n});\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { p as proxyCustomElement, H, c as createEvent, h, a as Host } from './index.js';
|
|
2
2
|
import { d as defineCustomElement$1, a as SulaLoaderSize } from './p-BUnU7bjf.js';
|
|
3
|
-
import { d as defineCustomElement$2 } from './p-
|
|
3
|
+
import { d as defineCustomElement$2 } from './p-BuA_ueQn.js';
|
|
4
4
|
|
|
5
5
|
var SulaButtonAppearance;
|
|
6
6
|
(function (SulaButtonAppearance) {
|
|
@@ -226,6 +226,6 @@ function defineCustomElement() {
|
|
|
226
226
|
defineCustomElement();
|
|
227
227
|
|
|
228
228
|
export { SulaButton as S, SulaButtonAppearance as a, defineCustomElement as d };
|
|
229
|
-
//# sourceMappingURL=p-
|
|
229
|
+
//# sourceMappingURL=p-BZgImhEG.js.map
|
|
230
230
|
|
|
231
|
-
//# sourceMappingURL=p-
|
|
231
|
+
//# sourceMappingURL=p-BZgImhEG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"p-Bgqd8BiV.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sula-button/model/sula-button.model.ts","src/components/sula-button/sula-button.scss?tag=sula-button&encapsulation=shadow","src/components/sula-button/sula-button.tsx"],"sourcesContent":["export enum SulaButtonAppearance {\n Default = 'default',\n Secondary = 'secondary',\n Text = 'text',\n}\n\nexport enum SulaButtonSize {\n Large = 'large',\n Default = 'default',\n Cta = 'cta',\n}\n\nexport enum SulaButtonStatus {\n Primary = 'primary',\n Danger = 'danger',\n Negative = 'negative',\n}\n\nexport enum SulaButtonType {\n Icon = 'icon',\n Text = 'text',\n}\n",":host {\n display: block;\n}\n\nbutton {\n &:focus {\n outline: 2px solid var(--color-feedback-informational) !important;\n outline-offset: 2px !important;\n }\n}\n","import { Component, Event, EventEmitter, Host, Prop, h } from '@stencil/core';\nimport { SulaButtonAppearance, SulaButtonSize, SulaButtonStatus, SulaButtonType } from './model/sula-button.model';\nimport { SulaLoaderSize } from '../sula-loader/model/sula-loader.model';\n\n@Component({\n tag: 'sula-button',\n styleUrl: 'sula-button.scss',\n shadow: true,\n})\nexport class SulaButton {\n /**\n * Button text when is text type\n */\n @Prop({ mutable: true }) text: string;\n\n /**\n * Button icon when is Icon type\n */\n @Prop({ mutable: true }) icon: string;\n\n /**\n * Button left icon\n */\n @Prop({ mutable: true }) leftIcon: string;\n\n /**\n * Button right icon\n */\n @Prop({ mutable: true }) rightIcon: string;\n\n /**\n * Button appearance\n */\n @Prop({ mutable: true }) appearance: SulaButtonAppearance = SulaButtonAppearance.Default;\n\n /**\n * Button type\n */\n @Prop({ mutable: true }) type: SulaButtonType = SulaButtonType.Text;\n\n /**\n * Button size\n */\n @Prop({ mutable: true }) size: SulaButtonSize = SulaButtonSize.Default;\n\n /**\n * Button status\n */\n @Prop({ mutable: true }) status: SulaButtonStatus = SulaButtonStatus.Primary;\n\n /**\n * Is button loading\n */\n @Prop({ mutable: true }) loading: boolean = false;\n\n /**\n * Is button disabled\n */\n @Prop({ mutable: true }) buttonDisabled: boolean = false;\n\n /**\n * If true, button will take the full width of its container\n */\n @Prop({ mutable: true, attribute: 'full-width' }) fullWidth: boolean = false;\n\n /**\n * Event emitted when button is clicked.\n * @note If button is disabled event won't be emitted\n */\n @Event()\n buttonClicked: EventEmitter<void>;\n\n private getAppearanceClass() {\n if (this.loading) return;\n const appearanceStyles = {\n [SulaButtonAppearance.Default]: this.getDefaultButtonStyles(),\n [SulaButtonAppearance.Secondary]: `border ${this.getSecondaryButtonStyles()}`,\n [SulaButtonAppearance.Text]: `flex items-center space-x-8 ${this.getTextButtonStyles()}`,\n };\n\n return appearanceStyles[this.appearance];\n }\n\n private getButtonDisabledClass() {\n return this.appearance === SulaButtonAppearance.Text ? 'text-text-disabled' : 'bg-states-bg-disabled text-text-disabled border-none';\n }\n\n private getDefaultButtonStyles() {\n if (this.buttonDisabled) {\n return this.getButtonDisabledClass();\n }\n\n const statusStyles = {\n [SulaButtonStatus.Primary]: 'bg-brand-primary text-white hover:bg-states-primary-hover active:bg-states-primary-pressed',\n [SulaButtonStatus.Danger]: 'bg-feedback-error text-white hover:bg-states-danger-hover active:bg-opacity-85 active:bg-states-danger-pressed',\n [SulaButtonStatus.Negative]: 'bg-negative-negative-1 text-negative-negative-2 hover:bg-states-negative-hover active:bg-states-negative-pressed',\n };\n\n return statusStyles[this.status];\n }\n\n private getSecondaryButtonStyles() {\n if (this.buttonDisabled) {\n return this.getButtonDisabledClass();\n }\n\n const statusStyles = {\n [SulaButtonStatus.Primary]: 'border-brand-primary text-brand-primary hover:bg-states-empty-bg-hover bg-white active:bg-states-empty-bg-pressed',\n [SulaButtonStatus.Danger]: 'border-feedback-error text-feedback-error hover:bg-states-empty-bg-hover bg-white active:bg-states-empty-bg-pressed',\n [SulaButtonStatus.Negative]: 'border-negative-negative-1 text-negative-negative-1 bg-transparent hover:bg-states-empty-bg-hover active:bg-states-empty-bg-pressed',\n };\n\n return statusStyles[this.status];\n }\n\n private getTextButtonStyles() {\n if (this.buttonDisabled) {\n return this.getButtonDisabledClass();\n }\n\n const statusStyles = {\n [SulaButtonStatus.Primary]: 'text-brand-primary',\n [SulaButtonStatus.Danger]: 'text-feedback-error',\n [SulaButtonStatus.Negative]: 'text-negative-negative-1',\n };\n\n return statusStyles[this.status];\n }\n\n private getTextTypeSizeClass() {\n const sizeClasses = {\n [SulaButtonSize.Default]: 'py-4 h-[40px]',\n [SulaButtonSize.Large]: 'py-4 h-[56px]',\n };\n\n return sizeClasses[this.size];\n }\n\n private getButtonSizeByTypeClass() {\n if (this.loading) {\n if (this.type === SulaButtonType.Icon) {\n return {\n 'w-[40px] h-[40px] p-8': this.size === SulaButtonSize.Default,\n 'w-[56px] h-[56px] p-16': this.size === SulaButtonSize.Large,\n };\n }\n\n return {\n 'w-[56px] h-[44px]': this.size === SulaButtonSize.Default,\n 'w-[64px] h-[56px]': this.size === SulaButtonSize.Large,\n };\n }\n if (this.type === SulaButtonType.Text) {\n return this.appearance === SulaButtonAppearance.Text\n ? { [this.getTextTypeSizeClass()]: true }\n : {\n ['px-16 py-4 min-w-[120px] h-[40px]']: this.size === SulaButtonSize.Default,\n ['px-16 py-4 min-w-[120px] h-[56px]']: this.size === SulaButtonSize.Large,\n };\n }\n\n return {\n 'flex justify-center items-center': true,\n ['p-8 h-[40px] min-w-[40px]']: this.size === SulaButtonSize.Default,\n ['p-16 py-4 min-w-[56px] h-[56px]']: this.size === SulaButtonSize.Large,\n };\n }\n\n private getArrowIconContainerClass() {\n return {\n 'flex items-center justify-center w-24 h-24 rounded-xxl': true,\n 'group-hover:bg-states-empty-bg-hover': !this.buttonDisabled && this.type === SulaButtonType.Text,\n 'text-icon-primary': !this.buttonDisabled,\n 'text-icon-disabled': this.buttonDisabled,\n };\n }\n\n private getBaseButtonClass() {\n return {\n [this.getAppearanceClass()]: true,\n ...this.getButtonSizeByTypeClass(),\n 'rounded-xxl': this.appearance !== SulaButtonAppearance.Text,\n 'rounded-xs focus:bg-states-empty-bg-hover': this.appearance === SulaButtonAppearance.Text,\n 'font-bold text-base group': true,\n 'disabled': this.buttonDisabled,\n 'bg-states-empty-bg-pressed flex justify-center items-center': this.loading,\n 'w-full': this.fullWidth,\n };\n }\n\n private renderIconContent() {\n if (this.type === SulaButtonType.Icon) {\n return <sula-icon id=\"button-icon\" icon={this.icon} customClass=\"text-2xl\" class=\"flex leading-6\"></sula-icon>;\n }\n return null;\n }\n\n private renderTextContent() {\n if (this.text && this.type === SulaButtonType.Text) {\n return <div id=\"button-text\">{this.text}</div>;\n }\n return null;\n }\n\n private renderArrowIcon() {\n if (this.appearance === SulaButtonAppearance.Text) {\n return (\n <div class={this.getArrowIconContainerClass()}>\n <sula-icon icon=\"ph-bold ph-caret-right\" customClass=\"text-lg\"></sula-icon>\n </div>\n );\n }\n return null;\n }\n\n getLoadingSize() {\n if (this.type === SulaButtonType.Icon || this.size === SulaButtonSize.Default) {\n return SulaLoaderSize.Small;\n }\n\n return SulaLoaderSize.Medium;\n }\n\n handleClick = () => {\n if (!this.buttonDisabled && !this.loading) {\n this.buttonClicked.emit();\n }\n };\n\n render() {\n return (\n <Host>\n <button id=\"button-container\" class={this.getBaseButtonClass()} disabled={this.buttonDisabled || this.loading} onClick={this.handleClick}>\n {this.loading && (\n <div>\n <sula-loader size={this.getLoadingSize()}></sula-loader>\n </div>\n )}\n {!this.loading && (\n <div class=\"flex w-full justify-center items-center\">\n {this.leftIcon && <sula-icon icon={this.leftIcon} customClass=\"text-lg mr-8\"></sula-icon>}\n {this.renderIconContent()}\n {this.renderTextContent()}\n {this.renderArrowIcon()}\n {this.rightIcon && <sula-icon icon={this.rightIcon} customClass=\"text-lg ml-8\"></sula-icon>}\n </div>\n )}\n </button>\n </Host>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"p-BZgImhEG.js","mappings":"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","names":["__stencil_proxyCustomElement","HTMLElement"],"sources":["src/components/sula-button/model/sula-button.model.ts","src/components/sula-button/sula-button.scss?tag=sula-button&encapsulation=shadow","src/components/sula-button/sula-button.tsx"],"sourcesContent":["export enum SulaButtonAppearance {\n Default = 'default',\n Secondary = 'secondary',\n Text = 'text',\n}\n\nexport enum SulaButtonSize {\n Large = 'large',\n Default = 'default',\n Cta = 'cta',\n}\n\nexport enum SulaButtonStatus {\n Primary = 'primary',\n Danger = 'danger',\n Negative = 'negative',\n}\n\nexport enum SulaButtonType {\n Icon = 'icon',\n Text = 'text',\n}\n",":host {\n display: block;\n}\n\nbutton {\n &:focus {\n outline: 2px solid var(--color-feedback-informational) !important;\n outline-offset: 2px !important;\n }\n}\n","import { Component, Event, EventEmitter, Host, Prop, h } from '@stencil/core';\nimport { SulaButtonAppearance, SulaButtonSize, SulaButtonStatus, SulaButtonType } from './model/sula-button.model';\nimport { SulaLoaderSize } from '../sula-loader/model/sula-loader.model';\n\n@Component({\n tag: 'sula-button',\n styleUrl: 'sula-button.scss',\n shadow: true,\n})\nexport class SulaButton {\n /**\n * Button text when is text type\n */\n @Prop({ mutable: true }) text: string;\n\n /**\n * Button icon when is Icon type\n */\n @Prop({ mutable: true }) icon: string;\n\n /**\n * Button left icon\n */\n @Prop({ mutable: true }) leftIcon: string;\n\n /**\n * Button right icon\n */\n @Prop({ mutable: true }) rightIcon: string;\n\n /**\n * Button appearance\n */\n @Prop({ mutable: true }) appearance: SulaButtonAppearance = SulaButtonAppearance.Default;\n\n /**\n * Button type\n */\n @Prop({ mutable: true }) type: SulaButtonType = SulaButtonType.Text;\n\n /**\n * Button size\n */\n @Prop({ mutable: true }) size: SulaButtonSize = SulaButtonSize.Default;\n\n /**\n * Button status\n */\n @Prop({ mutable: true }) status: SulaButtonStatus = SulaButtonStatus.Primary;\n\n /**\n * Is button loading\n */\n @Prop({ mutable: true }) loading: boolean = false;\n\n /**\n * Is button disabled\n */\n @Prop({ mutable: true }) buttonDisabled: boolean = false;\n\n /**\n * If true, button will take the full width of its container\n */\n @Prop({ mutable: true, attribute: 'full-width' }) fullWidth: boolean = false;\n\n /**\n * Event emitted when button is clicked.\n * @note If button is disabled event won't be emitted\n */\n @Event()\n buttonClicked: EventEmitter<void>;\n\n private getAppearanceClass() {\n if (this.loading) return;\n const appearanceStyles = {\n [SulaButtonAppearance.Default]: this.getDefaultButtonStyles(),\n [SulaButtonAppearance.Secondary]: `border ${this.getSecondaryButtonStyles()}`,\n [SulaButtonAppearance.Text]: `flex items-center space-x-8 ${this.getTextButtonStyles()}`,\n };\n\n return appearanceStyles[this.appearance];\n }\n\n private getButtonDisabledClass() {\n return this.appearance === SulaButtonAppearance.Text ? 'text-text-disabled' : 'bg-states-bg-disabled text-text-disabled border-none';\n }\n\n private getDefaultButtonStyles() {\n if (this.buttonDisabled) {\n return this.getButtonDisabledClass();\n }\n\n const statusStyles = {\n [SulaButtonStatus.Primary]: 'bg-brand-primary text-white hover:bg-states-primary-hover active:bg-states-primary-pressed',\n [SulaButtonStatus.Danger]: 'bg-feedback-error text-white hover:bg-states-danger-hover active:bg-opacity-85 active:bg-states-danger-pressed',\n [SulaButtonStatus.Negative]: 'bg-negative-negative-1 text-negative-negative-2 hover:bg-states-negative-hover active:bg-states-negative-pressed',\n };\n\n return statusStyles[this.status];\n }\n\n private getSecondaryButtonStyles() {\n if (this.buttonDisabled) {\n return this.getButtonDisabledClass();\n }\n\n const statusStyles = {\n [SulaButtonStatus.Primary]: 'border-brand-primary text-brand-primary hover:bg-states-empty-bg-hover bg-white active:bg-states-empty-bg-pressed',\n [SulaButtonStatus.Danger]: 'border-feedback-error text-feedback-error hover:bg-states-empty-bg-hover bg-white active:bg-states-empty-bg-pressed',\n [SulaButtonStatus.Negative]: 'border-negative-negative-1 text-negative-negative-1 bg-transparent hover:bg-states-empty-bg-hover active:bg-states-empty-bg-pressed',\n };\n\n return statusStyles[this.status];\n }\n\n private getTextButtonStyles() {\n if (this.buttonDisabled) {\n return this.getButtonDisabledClass();\n }\n\n const statusStyles = {\n [SulaButtonStatus.Primary]: 'text-brand-primary',\n [SulaButtonStatus.Danger]: 'text-feedback-error',\n [SulaButtonStatus.Negative]: 'text-negative-negative-1',\n };\n\n return statusStyles[this.status];\n }\n\n private getTextTypeSizeClass() {\n const sizeClasses = {\n [SulaButtonSize.Default]: 'py-4 h-[40px]',\n [SulaButtonSize.Large]: 'py-4 h-[56px]',\n };\n\n return sizeClasses[this.size];\n }\n\n private getButtonSizeByTypeClass() {\n if (this.loading) {\n if (this.type === SulaButtonType.Icon) {\n return {\n 'w-[40px] h-[40px] p-8': this.size === SulaButtonSize.Default,\n 'w-[56px] h-[56px] p-16': this.size === SulaButtonSize.Large,\n };\n }\n\n return {\n 'w-[56px] h-[44px]': this.size === SulaButtonSize.Default,\n 'w-[64px] h-[56px]': this.size === SulaButtonSize.Large,\n };\n }\n if (this.type === SulaButtonType.Text) {\n return this.appearance === SulaButtonAppearance.Text\n ? { [this.getTextTypeSizeClass()]: true }\n : {\n ['px-16 py-4 min-w-[120px] h-[40px]']: this.size === SulaButtonSize.Default,\n ['px-16 py-4 min-w-[120px] h-[56px]']: this.size === SulaButtonSize.Large,\n };\n }\n\n return {\n 'flex justify-center items-center': true,\n ['p-8 h-[40px] min-w-[40px]']: this.size === SulaButtonSize.Default,\n ['p-16 py-4 min-w-[56px] h-[56px]']: this.size === SulaButtonSize.Large,\n };\n }\n\n private getArrowIconContainerClass() {\n return {\n 'flex items-center justify-center w-24 h-24 rounded-xxl': true,\n 'group-hover:bg-states-empty-bg-hover': !this.buttonDisabled && this.type === SulaButtonType.Text,\n 'text-icon-primary': !this.buttonDisabled,\n 'text-icon-disabled': this.buttonDisabled,\n };\n }\n\n private getBaseButtonClass() {\n return {\n [this.getAppearanceClass()]: true,\n ...this.getButtonSizeByTypeClass(),\n 'rounded-xxl': this.appearance !== SulaButtonAppearance.Text,\n 'rounded-xs focus:bg-states-empty-bg-hover': this.appearance === SulaButtonAppearance.Text,\n 'font-bold text-base group': true,\n 'disabled': this.buttonDisabled,\n 'bg-states-empty-bg-pressed flex justify-center items-center': this.loading,\n 'w-full': this.fullWidth,\n };\n }\n\n private renderIconContent() {\n if (this.type === SulaButtonType.Icon) {\n return <sula-icon id=\"button-icon\" icon={this.icon} customClass=\"text-2xl\" class=\"flex leading-6\"></sula-icon>;\n }\n return null;\n }\n\n private renderTextContent() {\n if (this.text && this.type === SulaButtonType.Text) {\n return <div id=\"button-text\">{this.text}</div>;\n }\n return null;\n }\n\n private renderArrowIcon() {\n if (this.appearance === SulaButtonAppearance.Text) {\n return (\n <div class={this.getArrowIconContainerClass()}>\n <sula-icon icon=\"ph-bold ph-caret-right\" customClass=\"text-lg\"></sula-icon>\n </div>\n );\n }\n return null;\n }\n\n getLoadingSize() {\n if (this.type === SulaButtonType.Icon || this.size === SulaButtonSize.Default) {\n return SulaLoaderSize.Small;\n }\n\n return SulaLoaderSize.Medium;\n }\n\n handleClick = () => {\n if (!this.buttonDisabled && !this.loading) {\n this.buttonClicked.emit();\n }\n };\n\n render() {\n return (\n <Host>\n <button id=\"button-container\" class={this.getBaseButtonClass()} disabled={this.buttonDisabled || this.loading} onClick={this.handleClick}>\n {this.loading && (\n <div>\n <sula-loader size={this.getLoadingSize()}></sula-loader>\n </div>\n )}\n {!this.loading && (\n <div class=\"flex w-full justify-center items-center\">\n {this.leftIcon && <sula-icon icon={this.leftIcon} customClass=\"text-lg mr-8\"></sula-icon>}\n {this.renderIconContent()}\n {this.renderTextContent()}\n {this.renderArrowIcon()}\n {this.rightIcon && <sula-icon icon={this.rightIcon} customClass=\"text-lg ml-8\"></sula-icon>}\n </div>\n )}\n </button>\n </Host>\n );\n }\n}\n"],"version":3}
|