bromcom-ui-next 0.1.16 → 0.1.18
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/bromcom-ui/bromcom-ui.esm.js +1 -1
- package/dist/bromcom-ui/bromcom-ui.esm.js.map +1 -1
- package/dist/bromcom-ui/{p-404e19f9.entry.js → p-145dce31.entry.js} +2 -2
- package/dist/bromcom-ui/{p-dd488642.entry.js → p-1e5da10e.entry.js} +2 -2
- package/dist/bromcom-ui/p-490fc076.entry.js +2 -0
- package/dist/bromcom-ui/p-490fc076.entry.js.map +1 -0
- package/dist/bromcom-ui/{p-5f537c45.entry.js → p-5880a7d8.entry.js} +2 -2
- package/dist/bromcom-ui/p-8360b225.entry.js +2 -0
- package/dist/bromcom-ui/{p-bdb54407.entry.js.map → p-8360b225.entry.js.map} +1 -1
- package/dist/bromcom-ui/{p-aae240d5.entry.js → p-9ba07f12.entry.js} +2 -2
- package/dist/bromcom-ui/p-9f3f29a7.entry.js +2 -0
- package/dist/bromcom-ui/{p-b8292fb2.entry.js.map → p-9f3f29a7.entry.js.map} +1 -1
- package/dist/bromcom-ui/{p-adda3b4e.entry.js → p-a02e437c.entry.js} +2 -2
- package/dist/bromcom-ui/{p-0721540b.entry.js → p-b582c170.entry.js} +2 -2
- package/dist/bromcom-ui/{p-bad19289.entry.js → p-b867a105.entry.js} +2 -2
- package/dist/bromcom-ui/{p-7e97d4e2.entry.js → p-bbe4aac2.entry.js} +2 -2
- package/dist/bromcom-ui/{p-76631abc.entry.js → p-bc962a70.entry.js} +2 -2
- package/dist/bromcom-ui/{p-49a74afe.entry.js → p-d975579d.entry.js} +2 -2
- package/dist/bromcom-ui/{p-77abe8d1.entry.js → p-e2f468ab.entry.js} +2 -2
- package/dist/cjs/{bcm-button_7.cjs.entry.js → bcm-button_8.cjs.entry.js} +209 -10
- package/dist/cjs/bcm-button_8.cjs.entry.js.map +1 -0
- package/dist/cjs/bcm-pop-confirm.cjs.entry.js +1 -1
- package/dist/cjs/bcm-popover.cjs.entry.js +1 -1
- package/dist/cjs/bcm-radio-group.cjs.entry.js +2 -2
- package/dist/cjs/bcm-radio.cjs.entry.js +1 -1
- package/dist/cjs/bcm-segmented-picker-option.cjs.entry.js +2 -2
- package/dist/cjs/bcm-segmented-picker.cjs.entry.js +2 -2
- package/dist/cjs/bcm-switch.cjs.entry.js +2 -2
- package/dist/cjs/bcm-tabs-content.cjs.entry.js +2 -2
- package/dist/cjs/bcm-tabs-content.cjs.entry.js.map +1 -1
- package/dist/cjs/bcm-tabs-list.cjs.entry.js +1 -1
- package/dist/cjs/bcm-tabs-trigger.cjs.entry.js +1 -1
- package/dist/cjs/bcm-tabs.cjs.entry.js +1 -1
- package/dist/cjs/bcm-textarea.cjs.entry.js +3 -3
- package/dist/cjs/bcm-tooltip.cjs.entry.js +2 -2
- package/dist/cjs/bcm-tooltip.cjs.entry.js.map +1 -1
- package/dist/cjs/bromcom-ui.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +1 -0
- package/dist/collection/components/button/button.css +1 -1
- package/dist/collection/components/drawer/drawer.component.js +451 -0
- package/dist/collection/components/drawer/drawer.component.js.map +1 -0
- package/dist/collection/components/drawer/drawer.css +1 -0
- package/dist/collection/components/drawer/types.js +2 -0
- package/dist/collection/components/drawer/types.js.map +1 -0
- package/dist/collection/components/dropdown/dropdown.component.js +1 -1
- package/dist/collection/components/dropdown-item/dropdown-item.component.js +2 -2
- package/dist/collection/components/input/input.component.js +2 -2
- package/dist/collection/components/linked/linked.css +1 -1
- package/dist/collection/components/pop-confirm/pop-confirm.component.js +1 -1
- package/dist/collection/components/popover/popover.component.js +1 -1
- package/dist/collection/components/radio/radio.component.js +1 -1
- package/dist/collection/components/radio-group/radio-group.component.js +2 -2
- package/dist/collection/components/segmented-picker/segmented-picker-option.component.js +2 -2
- package/dist/collection/components/segmented-picker/segmented-picker.component.js +2 -2
- package/dist/collection/components/shortcut/shortcut.js +1 -1
- package/dist/collection/components/switch/switch.component.js +2 -2
- package/dist/collection/components/tabs/tabs-content.component.js +1 -1
- package/dist/collection/components/tabs/tabs-content.css +1 -1
- package/dist/collection/components/tabs/tabs-list.component.js +1 -1
- package/dist/collection/components/tabs/tabs-trigger.component.js +1 -1
- package/dist/collection/components/tabs/tabs.component.js +1 -1
- package/dist/collection/components/text/text.component.js +1 -1
- package/dist/collection/components/textarea/textarea.component.js +3 -3
- package/dist/collection/components/tooltip/tooltip.component.js +1 -1
- package/dist/collection/components/tooltip/tooltip.css +1 -1
- package/dist/components/bcm-button.js +1 -1
- package/dist/components/bcm-drawer.d.ts +11 -0
- package/dist/components/bcm-drawer.js +234 -0
- package/dist/components/bcm-drawer.js.map +1 -0
- package/dist/components/bcm-dropdown-item.js +2 -2
- package/dist/components/bcm-dropdown.js +3 -3
- package/dist/components/bcm-input.js +2 -2
- package/dist/components/bcm-linked.js +1 -1
- package/dist/components/bcm-pop-confirm.js +2 -2
- package/dist/components/bcm-popover.js +1 -1
- package/dist/components/bcm-radio-group.js +2 -2
- package/dist/components/bcm-radio.js +1 -1
- package/dist/components/bcm-segmented-picker-option.js +2 -2
- package/dist/components/bcm-segmented-picker.js +2 -2
- package/dist/components/bcm-shortcut.js +1 -1
- package/dist/components/bcm-switch.js +2 -2
- package/dist/components/bcm-tabs-content.js +2 -2
- package/dist/components/bcm-tabs-content.js.map +1 -1
- package/dist/components/bcm-tabs-list.js +1 -1
- package/dist/components/bcm-tabs-trigger.js +1 -1
- package/dist/components/bcm-tabs.js +1 -1
- package/dist/components/bcm-text.js +1 -1
- package/dist/components/bcm-textarea.js +3 -3
- package/dist/components/bcm-tooltip.js +2 -2
- package/dist/components/bcm-tooltip.js.map +1 -1
- package/dist/components/{p-08b79a47.js → p-39872cdf.js} +2 -2
- package/dist/components/{p-08b79a47.js.map → p-39872cdf.js.map} +1 -1
- package/dist/components/{p-c7b74f83.js → p-d56f8a26.js} +2 -2
- package/dist/components/{p-c7b74f83.js.map → p-d56f8a26.js.map} +1 -1
- package/dist/esm/{bcm-button_7.entry.js → bcm-button_8.entry.js} +209 -11
- package/dist/esm/bcm-button_8.entry.js.map +1 -0
- package/dist/esm/bcm-pop-confirm.entry.js +1 -1
- package/dist/esm/bcm-popover.entry.js +1 -1
- package/dist/esm/bcm-radio-group.entry.js +2 -2
- package/dist/esm/bcm-radio.entry.js +1 -1
- package/dist/esm/bcm-segmented-picker-option.entry.js +2 -2
- package/dist/esm/bcm-segmented-picker.entry.js +2 -2
- package/dist/esm/bcm-switch.entry.js +2 -2
- package/dist/esm/bcm-tabs-content.entry.js +2 -2
- package/dist/esm/bcm-tabs-content.entry.js.map +1 -1
- package/dist/esm/bcm-tabs-list.entry.js +1 -1
- package/dist/esm/bcm-tabs-trigger.entry.js +1 -1
- package/dist/esm/bcm-tabs.entry.js +1 -1
- package/dist/esm/bcm-textarea.entry.js +3 -3
- package/dist/esm/bcm-tooltip.entry.js +2 -2
- package/dist/esm/bcm-tooltip.entry.js.map +1 -1
- package/dist/esm/bromcom-ui.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/drawer/drawer.component.d.ts +23 -0
- package/dist/types/components/drawer/types.d.ts +2 -0
- package/dist/types/components.d.ts +51 -0
- package/package.json +1 -1
- package/dist/bromcom-ui/p-9899c092.entry.js +0 -2
- package/dist/bromcom-ui/p-9899c092.entry.js.map +0 -1
- package/dist/bromcom-ui/p-b8292fb2.entry.js +0 -2
- package/dist/bromcom-ui/p-bdb54407.entry.js +0 -2
- package/dist/cjs/bcm-button_7.cjs.entry.js.map +0 -1
- package/dist/esm/bcm-button_7.entry.js.map +0 -1
- /package/dist/bromcom-ui/{p-404e19f9.entry.js.map → p-145dce31.entry.js.map} +0 -0
- /package/dist/bromcom-ui/{p-dd488642.entry.js.map → p-1e5da10e.entry.js.map} +0 -0
- /package/dist/bromcom-ui/{p-5f537c45.entry.js.map → p-5880a7d8.entry.js.map} +0 -0
- /package/dist/bromcom-ui/{p-aae240d5.entry.js.map → p-9ba07f12.entry.js.map} +0 -0
- /package/dist/bromcom-ui/{p-adda3b4e.entry.js.map → p-a02e437c.entry.js.map} +0 -0
- /package/dist/bromcom-ui/{p-0721540b.entry.js.map → p-b582c170.entry.js.map} +0 -0
- /package/dist/bromcom-ui/{p-bad19289.entry.js.map → p-b867a105.entry.js.map} +0 -0
- /package/dist/bromcom-ui/{p-7e97d4e2.entry.js.map → p-bbe4aac2.entry.js.map} +0 -0
- /package/dist/bromcom-ui/{p-76631abc.entry.js.map → p-bc962a70.entry.js.map} +0 -0
- /package/dist/bromcom-ui/{p-49a74afe.entry.js.map → p-d975579d.entry.js.map} +0 -0
- /package/dist/bromcom-ui/{p-77abe8d1.entry.js.map → p-e2f468ab.entry.js.map} +0 -0
|
@@ -176,7 +176,7 @@ const Popover = class {
|
|
|
176
176
|
isOpen: this.open,
|
|
177
177
|
size: this.size,
|
|
178
178
|
});
|
|
179
|
-
return (h("div", { key: '
|
|
179
|
+
return (h("div", { key: '3fe47e7ebc4fb9f9fad0fda8dedf11f2ea8e904f', class: "relative" }, h("slot", { key: '8dd0e99a839b2c9c0ad6df67356bf616dae407f1', onSlotchange: () => this.handleSlotChange() }), h("div", { key: 'b4339c24996ec4666ffb731f7908513ade8cb5d8', part: "popover", class: box(), role: "dialog", "aria-hidden": !this.open ? 'true' : 'false', ref: el => (this.popoverElement = el) }, h("div", { key: 'f94ca6625dac67dd16f625398c007a274e677ac7', class: arrow(), ref: el => (this.arrowElement = el), part: "arrow" }), h("div", { key: 'd64bf52940bef06b04ec2c13f3116652a7b6b8d6', class: header(), part: "header" }, h("slot", { key: 'be1ee83453f9b159297e6e7e73d5451f21fbb873', name: "header" }, this.headerText)), h("div", { key: '9838c02e51fac40992a34fdfcaecb8d48fba48c8', class: content(), part: "content" }, h("slot", { key: '0f01f42280a5058d4a4aacca035111e8990c194a', name: "content" }, this.message)))));
|
|
180
180
|
}
|
|
181
181
|
get el() { return getElement(this); }
|
|
182
182
|
};
|
|
@@ -138,14 +138,14 @@ const BcmRadioGroup = class {
|
|
|
138
138
|
size: this.size,
|
|
139
139
|
direction: this.direction,
|
|
140
140
|
});
|
|
141
|
-
return (h("div", { key: '
|
|
141
|
+
return (h("div", { key: '482530d13c741ccd1d4a6a2255f984a3957cb3f1', class: host() }, this.label && (h("label", { key: '15b52d29e3ee83bfc6ccd483d4296195f2eb562b', class: classNames('input-label font-medium', {
|
|
142
142
|
'text-color-label': !this.disabled,
|
|
143
143
|
'text-color-disabled': this.disabled,
|
|
144
144
|
}, {
|
|
145
145
|
'text-size-3': this.size === 'small',
|
|
146
146
|
'text-size-4': this.size === 'medium',
|
|
147
147
|
'text-size-5': this.size === 'large',
|
|
148
|
-
}) }, h("slot", { key: '
|
|
148
|
+
}) }, h("slot", { key: 'f241a0ec8a9f8b5175e54c27238a81abe6e5c043', name: "label" }, this.label), this.required && h("span", { key: 'c091f0d477cb5b8a5ba88ad2aff77f212c780058' }, "*"))), h("div", { key: 'f91e7e3bfd60aa6907ff3b2869d21a6962664062', class: container() }, h("slot", { key: 'ec597411044a4b6a537f7e5bf7391499dacd86e7', onSlotchange: this.handleSlotChange })), this.captionText && (h("div", { key: '6b35ceb2bbdd2c6bbf1c6d3643902ae022dba111', class: classNames('input-caption-text font-regular mt-1', {
|
|
149
149
|
'text-[--bcm-ui-color-text-caption]': !this.disabled,
|
|
150
150
|
'text-[--bcm-ui-color-text-error]': !this.disabled && this.error,
|
|
151
151
|
'text-[--bcm-ui-color-text-disabled]': this.disabled,
|
|
@@ -158,7 +158,7 @@ const BcmRadio = class {
|
|
|
158
158
|
readonly: this.readonly,
|
|
159
159
|
labelPosition: this.labelPosition,
|
|
160
160
|
});
|
|
161
|
-
return (h("label", { key: '
|
|
161
|
+
return (h("label", { key: '4b53e856e66a8f35fddca847ea0dad4f749d9ad1', class: container(), style: this.getRadioStyle() }, h("input", { key: '04506f00b7b0773c43f6d3cf65967d83f11dc1ed', "aria-label": this.label, role: "radio", "aria-checked": this.checked.toString(), type: "radio", name: this.name, value: this.value, disabled: this.disabled, readOnly: this.readonly, checked: this.checked, class: "appearance-none sr-only", onClick: () => this.handleClick(), onFocus: e => this.bcmFocus.emit(e), onBlur: e => this.bcmBlur.emit(e) }), h("div", { key: '9da73fa48763a71a9eafc6ed9bca5812317b8268', class: dotContainer() }, h("div", { key: '2126018bf6f5eef062be02cec1f081daf939c9df', class: dot() })), h("span", { key: '86f5e2485c72b27892054ffa0082307f025ad31a', class: labelClass() }, h("slot", { key: 'de05d13a1e3d88b7a6f7f7e9355d7b36d740709f' }, this.label))));
|
|
162
162
|
}
|
|
163
163
|
get host() { return getElement(this); }
|
|
164
164
|
};
|
|
@@ -90,11 +90,11 @@ const BcmSegmentedPickerOption = class {
|
|
|
90
90
|
render() {
|
|
91
91
|
const size = this.size || this.getSizeFromParent();
|
|
92
92
|
const disabled = this.isDisabled();
|
|
93
|
-
return (h(Host, { key: '
|
|
93
|
+
return (h(Host, { key: '0e1d1fa066ff7f75cefa08efc39d5403bcaa8939' }, h("button", { key: '6d7f2ccc063979c6f7ebc39780ce599bdf0544d9', class: this.optionClass({
|
|
94
94
|
size,
|
|
95
95
|
selected: this.selected,
|
|
96
96
|
disabled,
|
|
97
|
-
}), onClick: this.handleClick, disabled: disabled, type: "button" }, h("slot", { key: '
|
|
97
|
+
}), onClick: this.handleClick, disabled: disabled, type: "button" }, h("slot", { key: '4b0c5a40f76ef045964b32a3fa7c1a8f26aa5b66' }, this.label))));
|
|
98
98
|
}
|
|
99
99
|
get host() { return getElement(this); }
|
|
100
100
|
};
|
|
@@ -124,11 +124,11 @@ const BcmSegmentedPicker = class {
|
|
|
124
124
|
}, 10);
|
|
125
125
|
}
|
|
126
126
|
render() {
|
|
127
|
-
return (h(Host, { key: '
|
|
127
|
+
return (h(Host, { key: '00a61b095c03ee5a5714a2bf1efa358056cc48bd' }, h("div", { key: '75ea4056395d589e486c9ef45c33eecbc1eca8c8', class: this.segmentedClass({
|
|
128
128
|
size: this.size,
|
|
129
129
|
fullWidth: this.fullWidth,
|
|
130
130
|
disabled: this.disabled,
|
|
131
|
-
}) }, h("div", { key: '
|
|
131
|
+
}) }, h("div", { key: '9a3c63b6730b64ebacd59d2b548cc94a181c1e9e', class: "segmented-indicator absolute bg-[--bcm-ui-color-background-base-default] z-0 rounded", style: this.indicatorStyles }), h("div", { key: 'ac1d2c0765dc1ff246a5fc81815d1e1e10630d8d', class: "segmented-options flex relative z-10 w-full" }, h("slot", { key: 'b5e21f3e8ee7d55736f034fe3e92662510a65973' })))));
|
|
132
132
|
}
|
|
133
133
|
get host() { return getElement(this); }
|
|
134
134
|
static get watchers() { return {
|
|
@@ -168,12 +168,12 @@ const BcmSwitch = class {
|
|
|
168
168
|
});
|
|
169
169
|
const ariaAttributes = Object.assign({ 'role': 'switch', 'aria-checked': this.checked.toString(), 'aria-disabled': this.disabled.toString(), 'aria-readonly': this.readonly.toString() }, (this.required && { 'aria-required': 'true' }));
|
|
170
170
|
const tabIndexAttr = !this.readonly && !this.disabled ? { tabindex: '0' } : {};
|
|
171
|
-
return (h("div", { key: '
|
|
171
|
+
return (h("div", { key: 'd18db7b849420ad3c416efa4e7d4eddef524afa0', class: base() }, h("label", { key: 'c7d35ad070759d134a4d4aa3b07144407b3f412a', class: switchWrapper(), style: this.switchStyle() }, h("input", { key: '0690f7e509de7093f513bca1819c30370f720f40', id: this.switchId, type: "checkbox", class: "hidden peer", checked: this.checked, name: this.name, value: this.value, disabled: this.disabled, readOnly: this.readonly, required: this.required, onChange: () => this.toggleSwitch() }), this.label && h("span", { key: 'fbb5d10e306c5d6b97dcfc9fc3ed2f075a2e2869', class: label() }, h("slot", { key: 'b9cd0cb2b0a95420fcd146b326865f9b030fea3d' }, this.label)), h("label", Object.assign({ key: 'f04c6cf35a56b203d96776b26e4a167b6b81e748', htmlFor: this.switchId, class: dotContainer() }, tabIndexAttr, ariaAttributes, { onKeyDown: event => {
|
|
172
172
|
if ((event.key === 'Enter' || event.key === ' ') && !this.readonly && !this.disabled) {
|
|
173
173
|
event.preventDefault();
|
|
174
174
|
this.toggleSwitch();
|
|
175
175
|
}
|
|
176
|
-
} }), h("div", { key: '
|
|
176
|
+
} }), h("div", { key: '5ec215b19c3772cdf2f2bd9213ea5583786b07f7', class: dot() }))), this.error && this.caption && h("span", { key: '0ed49573afdfa297ec8930b0408c8e8ec3bdc384', class: caption() }, this.caption), h("slot", { key: 'ead6fd77bd9bd97b14e69367fd90e1c474b5d4c3', name: "caption" })));
|
|
177
177
|
}
|
|
178
178
|
get el() { return getElement(this); }
|
|
179
179
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { r as registerInstance, h, H as Host } from './index-18b75a47.js';
|
|
2
2
|
|
|
3
|
-
const tabsContentCss = ".block{display:block}:host{display:block;padding:10px 0;width:100%}.
|
|
3
|
+
const tabsContentCss = ".block{display:block}:host{display:block;padding:10px 0;width:100%}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}";
|
|
4
4
|
const BcmTabsContentStyle0 = tabsContentCss;
|
|
5
5
|
|
|
6
6
|
const BcmTabsContent = class {
|
|
@@ -8,7 +8,7 @@ const BcmTabsContent = class {
|
|
|
8
8
|
registerInstance(this, hostRef);
|
|
9
9
|
}
|
|
10
10
|
render() {
|
|
11
|
-
return (h(Host, { key: '
|
|
11
|
+
return (h(Host, { key: 'e12d04d682726a70c9a7cd4ce091cb64b067ce32', role: "tabpanel" }, h("slot", { key: 'c947677586826f8702472107a43d92235aca84ef' })));
|
|
12
12
|
}
|
|
13
13
|
};
|
|
14
14
|
BcmTabsContent.style = BcmTabsContentStyle0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"bcm-tabs-content.entry.js","mappings":";;AAAA,MAAM,cAAc,GAAG,
|
|
1
|
+
{"file":"bcm-tabs-content.entry.js","mappings":";;AAAA,MAAM,cAAc,GAAG,kRAAkR,CAAC;AAC1S,6BAAe,cAAc;;MCUhB,cAAc;;;;IAOvB,MAAM;QACF,QACI,EAAC,IAAI,qDAAC,IAAI,EAAC,UAAU,IACjB,8DAAa,CACV,EACT;KACL;;;;;;","names":[],"sources":["src/components/tabs/tabs-content.css?tag=bcm-tabs-content&encapsulation=shadow","src/components/tabs/tabs-content.component.tsx"],"sourcesContent":[":host {\n display: block;\n padding: 10px 0;\n width: 100%;\n}\n","import { Component, Prop, h, Host, ComponentInterface } from '@stencil/core';\n\n/**\n * @description Tab content panel component that displays when its corresponding tab is selected\n * @slot - Default slot for the tab panel content\n */\n@Component({\n tag: 'bcm-tabs-content',\n styleUrl: 'tabs-content.css',\n shadow: true,\n})\nexport class BcmTabsContent implements ComponentInterface {\n /**\n * Unique identifier that matches a tab trigger's value\n * Used to associate this content with its corresponding tab\n */\n @Prop({ reflect: true }) value: string;\n\n render() {\n return (\n <Host role=\"tabpanel\">\n <slot></slot>\n </Host>\n );\n }\n}"],"version":3}
|
|
@@ -29,7 +29,7 @@ const BcmTabsList = class {
|
|
|
29
29
|
}
|
|
30
30
|
render() {
|
|
31
31
|
const { container, inkbar, tabList } = this.class();
|
|
32
|
-
return (h("div", { key: '
|
|
32
|
+
return (h("div", { key: '4dbd9f1b18b6529d8b772a27a6f6ab0cbf789b48', class: container(), slot: "tabs-list" }, h("div", { key: 'f7bc6bb41afb0d76f66cb7a7af70875cf5359da8', class: inkbar() }), h("div", { key: '95aa03b5f1955517c9f3fce41ce3b525bfb56ac0', class: tabList(), role: "tablist" }, h("slot", { key: 'a3d0a910a2f7a07dd2f1e25b0d14d2c0d830e5fb' }))));
|
|
33
33
|
}
|
|
34
34
|
};
|
|
35
35
|
BcmTabsList.style = BcmTabsListStyle0;
|
|
@@ -77,7 +77,7 @@ const BcmTabsTrigger = class {
|
|
|
77
77
|
active: this.active,
|
|
78
78
|
disabled: this.disabled,
|
|
79
79
|
});
|
|
80
|
-
return (h(Host, { key: '
|
|
80
|
+
return (h(Host, { key: 'e9d6b6e77d982ea2cbba1e7f928f9515d10be52d', role: "tab", "aria-selected": this.active.toString(), "aria-disabled": this.disabled }, h("button", { key: 'faf87a5db1212dd5ebbccba186e83d26934a8b41', class: tab(), disabled: this.disabled, part: "tab", onClick: () => this.handleClick() }, h("slot", { key: 'a3426148118f555159c9bd355dbfb52c035e082a' })), h("div", { key: '32bbc55e43775f2369b01879f93183b29a1659b3', class: borderLine() })));
|
|
81
81
|
}
|
|
82
82
|
get el() { return getElement(this); }
|
|
83
83
|
};
|
|
@@ -193,7 +193,7 @@ const BcmTabs = class {
|
|
|
193
193
|
}
|
|
194
194
|
}
|
|
195
195
|
render() {
|
|
196
|
-
return (h(Host, { key: '
|
|
196
|
+
return (h(Host, { key: '0afd825b3df8017a0a5bc88a341430fec848d7ad' }, h("div", { key: 'e0ee72418f290849a68e4286ee91b3abceb668f3', class: this.tabClass() }, h("slot", { key: 'e9e032f474872ef1fe32a23b3feb0e75303f9c12', name: "tabs-list" }), h("slot", { key: 'cc22e3ac81914ecd88016a7033c135c52a99deed' }))));
|
|
197
197
|
}
|
|
198
198
|
get el() { return getElement(this); }
|
|
199
199
|
static get watchers() { return {
|
|
@@ -271,14 +271,14 @@ const BcmTextarea = class {
|
|
|
271
271
|
disabled: this.disabled,
|
|
272
272
|
focused: this.isFocused,
|
|
273
273
|
});
|
|
274
|
-
return (h("div", { key: '
|
|
274
|
+
return (h("div", { key: 'c5ee75be5fde297e23772b7c40d5c1232f3b89da', class: "bcm-ui-element" }, this.label && (h("label", { key: '49b338bdfdc5475c8219fb752200cf897a57f79d', class: classNames('textarea-label font-medium', {
|
|
275
275
|
'text-color-label': !this.disabled,
|
|
276
276
|
'text-color-disabled': this.disabled,
|
|
277
277
|
}, {
|
|
278
278
|
'text-size-3': this.size === 'small',
|
|
279
279
|
'text-size-4': this.size === 'medium',
|
|
280
280
|
'text-size-5': this.size === 'large',
|
|
281
|
-
}), htmlFor: textareaId }, h("slot", { key: '
|
|
281
|
+
}), htmlFor: textareaId }, h("slot", { key: '01a450616f08255ad6c593cfdee6bfe8c806a139', name: "label" }, this.label), this.required && h("span", { key: 'e2da2bfd03978deae44f3b1fc80171bd17092a94' }, "*"))), h("div", { key: '24508ff98ece95297f3c90f415b9c1231771de96', class: base() }, h("textarea", { key: 'abd2eb66e02a271626246f7634d3bad6ca569bf5', ref: el => (this.textareaRef = el), id: textareaId, class: textareaClass(), name: this.name, rows: this.rows, cols: this.cols, disabled: this.disabled, readonly: this.readonly, required: this.required, placeholder: this.placeholder, minLength: this.minLength, maxLength: this.maxLength, "aria-invalid": this.status === 'error', "aria-required": this.required, "aria-labelledby": this.labelledby, "aria-describedby": this.describedby, value: this.value, onInput: event => {
|
|
282
282
|
const target = event.target;
|
|
283
283
|
this.value = target.value;
|
|
284
284
|
this.bcmInput.emit(event);
|
|
@@ -286,7 +286,7 @@ const BcmTextarea = class {
|
|
|
286
286
|
if (this.autoGrow) {
|
|
287
287
|
this.adjustHeight();
|
|
288
288
|
}
|
|
289
|
-
}, onChange: this.onChange, onFocus: this.onFocus, onBlur: this.onBlur, onKeyDown: this.onKeyDown, onKeyUp: this.onKeyUp }), this.showCounter && (h("div", { key: '
|
|
289
|
+
}, onChange: this.onChange, onFocus: this.onFocus, onBlur: this.onBlur, onKeyDown: this.onKeyDown, onKeyUp: this.onKeyUp }), this.showCounter && (h("div", { key: '2678f8f9ad6d2fdb42691b9609d6a73c696b90ec', class: counterText() }, this.value.length, this.maxLength ? `/${this.maxLength}` : ''))), (this.captionText || this.internalErrorMessage || this.validationMessage) && (h("div", { key: '03c87e206c3c683d503bf8bc0fb33f0e3657857f', class: classNames('textarea-caption-text font-regular mt-1', {
|
|
290
290
|
'text-[--bcm-ui-color-text-caption]': !this.disabled && this.internalStatus === 'default',
|
|
291
291
|
'text-[--bcm-ui-color-text-error]': !this.disabled && (this.internalStatus === 'error' || !this.isValid),
|
|
292
292
|
'text-[--bcm-ui-color-text-success]': !this.disabled && this.internalStatus === 'success',
|
|
@@ -2,7 +2,7 @@ import { r as registerInstance, h, g as getElement } from './index-18b75a47.js';
|
|
|
2
2
|
import { a as autoUpdate, c as computePosition, o as offset, f as flip, s as shift, b as arrow } from './floating-ui.dom.esm-b7749b71.js';
|
|
3
3
|
import { c as ce } from './index-f3b17e60.js';
|
|
4
4
|
|
|
5
|
-
const tooltipCss = ":host{--tooltip-bg:var(--bcm-ui-color-background-default-dark-default)}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.
|
|
5
|
+
const tooltipCss = ":host{--tooltip-bg:var(--bcm-ui-color-background-default-dark-default)}.bcm-ui-element{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif}.absolute{position:absolute}.relative{position:relative}.z-\\[-1\\]{z-index:-1}.z-\\[9999\\]{z-index:9999}.block{display:block}.hidden{display:none}.h-4{height:1rem}.w-4{width:1rem}.min-w-max{min-width:max-content}.rotate-45{--tw-rotate:45deg}.rotate-45,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rounded-md{border-radius:var(--bcm-ui-border-radius-md,6px)}.bg-\\[--tooltip-bg\\]{background-color:var(--tooltip-bg)}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.text-size-3{font-size:var(--bcm-ui-font-size-3,12px);line-height:var(--bcm-ui-line-height-3,16px)}.text-size-4{font-size:var(--bcm-ui-font-size-4,14px);line-height:var(--bcm-ui-line-height-4,20px)}.text-size-5{font-size:var(--bcm-ui-font-size-5,16px);line-height:var(--bcm-ui-line-height-5,24px)}.font-medium{font-weight:500}.text-color-base{color:var(--bcm-ui-color-text-base)}.shadow{--tw-shadow:var(--bcm-ui-box-shadow-default);--tw-shadow-colored:var(--bcm-ui-box-shadow-default)}.shadow,.shadow-3{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-3{--tw-shadow:var(--bcm-ui-box-shadow-3);--tw-shadow-colored:var(--bcm-ui-box-shadow-3)}";
|
|
6
6
|
const BcmTooltipStyle0 = tooltipCss;
|
|
7
7
|
|
|
8
8
|
const Tooltip = class {
|
|
@@ -172,7 +172,7 @@ const Tooltip = class {
|
|
|
172
172
|
size: this.size,
|
|
173
173
|
isOpen: this.open,
|
|
174
174
|
});
|
|
175
|
-
return (h("div", { key: '
|
|
175
|
+
return (h("div", { key: '04196e7e3ed7405ff4c3e4870d6cbec968e07f4d', class: "relative" }, h("slot", { key: '0a1043e46fa3e88cf667432d44a57a5268a1d61b', onSlotchange: () => this.handleSlotChange() }), h("div", { key: 'fb5474a83b621875831bdbb9a066519fdaae88f0', role: "tooltip", class: tooltip(), ref: (el) => (this.tooltipElement = el), part: "tooltip" }, h("div", { key: '17b8cc92d03e75f4dba6759c74febba8953bc711', class: arrow(), ref: (el) => (this.arrowElement = el), part: "arrow" }), h("slot", { key: '60a42381139cc4b1f630441795a2b9b59c6660b6', name: "tooltip" }, this.message))));
|
|
176
176
|
}
|
|
177
177
|
get el() { return getElement(this); }
|
|
178
178
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"file":"bcm-tooltip.entry.js","mappings":";;;;AAAA,MAAM,UAAU,GAAG,yiDAAyiD,CAAC;AAC7jD,yBAAe,UAAU;;MCmCZ,OAAO;IALpB;;;;;;;QAcI,YAAO,GAAsB,OAAO,CAAC;;;;;QAOrC,cAAS,GAAwC,KAAK,CAAC;;;;;;QAQvD,SAAI,GAAiC,QAAQ,CAAC;;;;;;QAe9C,cAAS,GAAW,GAAG,CAAC;QAEf,SAAI,GAAG,KAAK,CAAC;QA4Bd,kBAAa,GAAG;YACpB,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,0BAA0B,EAAE,CAAC;SACrC,CAAC;QAEM,gBAAW,GAAG;YAClB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;gBAC3B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,0BAA0B,EAAE,CAAC;aACrC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACtB,CAAC;QAEM,gBAAW,GAAG;YAClB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;gBAC3B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,0BAA0B,EAAE,CAAC;aACrC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;SACtB,CAAC;QAsBM,qBAAgB,GAAG;YACvB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACzC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,CAAC,CAAgB,CAAC;YAEhD,IAAI,IAAI,CAAC,aAAa,EAAE;gBACpB,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;gBACpE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEvE,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;oBAC1B,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;oBACjE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,eAAe,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;oBACvE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;iBAClE;gBAED,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,EAAE;oBAC1B,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBACpE,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;oBACpE,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC;iBAClE;gBAED,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;oBAChD,IAAI,CAAC,iBAAiB,GAAG,UAAU,CAC/B,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,EACnB,MAAM,IAAI,CAAC,cAAc,EAAE,EAC3B,EAAE,cAAc,EAAE,KAAK,EAAE,CAC5B,CAAC;iBACL;aACJ;SACJ,CAAC;QAEM,uBAAkB,GAAG,CAAC,KAAY;YACtC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAc,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE;gBACtD,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;gBAClB,IAAI,CAAC,0BAA0B,EAAE,CAAC;aACrC;SACJ,CAAC;QAEM,mBAAc,GAAG;YACrB,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,YAAY;gBAAE,OAAO;YAE9E,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,eAAe,CAC7D,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,cAAc,EACnB;gBACI,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,UAAU,EAAE;oBACR,MAAM,CAAC,EAAE,CAAC;oBACV,IAAI,CAAC,EAAE,kBAAkB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;oBAChE,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;oBACrB,KAAK,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;iBACxC;aACJ,CACJ,CAAC;YAEF,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE;gBACrC,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,GAAG,EAAE,GAAG,CAAC,IAAI;aAChB,CAAC,CAAC;YAEH,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,GAAG,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;YACxE,MAAM,aAAa,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAwC,CAAC;YACrF,MAAM,UAAU,GAAG;gBACf,GAAG,EAAE,QAAQ;gBACb,KAAK,EAAE,MAAM;gBACb,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,OAAO;aAChB,CAAC,aAAa,CAAC,CAAC;YAEjB,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE;gBACnC,IAAI,EAAE,MAAM,IAAI,IAAI,GAAG,GAAG,MAAM,IAAI,GAAG,EAAE;gBACzC,GAAG,EAAE,MAAM,IAAI,IAAI,GAAG,GAAG,MAAM,IAAI,GAAG,EAAE;gBACxC,CAAC,UAAU,GAAG,MAAM;aACvB,CAAC,CAAC;SACN,CAAC;QAEM,iBAAY,GAAGA,EAAE,CAAC;YACtB,KAAK,EAAE;gBACH,OAAO,EACH,oIAAoI;gBACxI,KAAK,EAAE,+DAA+D;aACzE;YACD,QAAQ,EAAE;gBACN,IAAI,EAAE;oBACF,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;oBACjC,MAAM,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;oBAClC,KAAK,EAAE,EAAE,OAAO,EAAE,aAAa,EAAE;iBACpC;gBACD,MAAM,EAAE;oBACJ,IAAI,EAAE,EAAE,OAAO,EAAE,OAAO,EAAE;oBAC1B,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE;iBAC/B;aACJ;YACD,eAAe,EAAE;gBACb,IAAI,EAAE,QAAQ;gBACd,MAAM,EAAE,KAAK;aAChB;SACJ,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;KAiB1B;IAjLG,oBAAoB;;QAChB,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAC/D,IAAI,IAAI,CAAC,aAAa,EAAE;YACpB,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;YACpE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACvE,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,YAAY,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;SAC1E;QACD,MAAA,IAAI,CAAC,iBAAiB,oDAAI,CAAC;QAC3B,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;KACnC;IAEO,0BAA0B;QAC9B,IAAI,IAAI,CAAC,IAAI,EAAE;YACX,QAAQ,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAC/D;aAAM;YACH,QAAQ,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;SAClE;KACJ;;;;;;IA6BD,MAAM,WAAW;QACb,IAAI,CAAC,WAAW,EAAE,CAAC;KACtB;;;;;;IAQD,MAAM,YAAY;QACd,IAAI,CAAC,WAAW,EAAE,CAAC;KACtB;IAuGD,MAAM;QACF,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,CAAC;YACzC,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,IAAI;SACpB,CAAC,CAAC;QACH,QACI,4DAAK,KAAK,EAAC,UAAU,IACjB,6DAAM,YAAY,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,GAAS,EAC1D,4DAAK,IAAI,EAAC,SAAS,EAAC,KAAK,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC,EAAE,IAAI,EAAC,SAAS,IACzF,4DAAK,KAAK,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC,EAAE,IAAI,EAAC,OAAO,GAAO,EAC/E,6DAAM,IAAI,EAAC,SAAS,IAAE,IAAI,CAAC,OAAO,CAAQ,CACxC,CACJ,EACR;KACL;;;;;;;","names":["tv"],"sources":["src/components/tooltip/tooltip.css?tag=bcm-tooltip&encapsulation=shadow","src/components/tooltip/tooltip.component.tsx"],"sourcesContent":[":host {\n --tooltip-bg: var(--bcm-ui-color-background-default-dark-default);\n}\n","import { arrow, autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom';\nimport { Component, ComponentInterface, h, Element, Prop, State, Method } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @component BcmTooltip\n * @description A lightweight tooltip component that displays brief contextual information when hovering or clicking on a target element.\n * Supports different sizes, trigger types (click or hover), placements (top, right, bottom, left), and can be controlled via slots or props.\n *\n * @example Basic Hover Tooltip\n * <bcm-tooltip trigger=\"hover\" size=\"medium\" placement=\"top\" message=\"This is a tooltip.\">\n * <bcm-button>Hover Me</bcm-button>\n * </bcm-tooltip>\n *\n * @example Click Tooltip with Programmatic Control\n * <bcm-tooltip id=\"my-tooltip\" trigger=\"click\" message=\"Controlled tooltip.\">\n * <bcm-button>Click Me</bcm-button>\n * </bcm-tooltip>\n * <script>\n * const tooltip = document.querySelector('#my-tooltip');\n * tooltip.openTooltip(); // Opens the tooltip\n * tooltip.closeTooltip(); // Closes the tooltip\n * </script>\n *\n * @slot - Default slot for the target element that triggers the tooltip\n * @slot tooltip - Slot for custom tooltip content\n *\n * @csspart tooltip - The root tooltip container element, stylable for the entire tooltip\n * @csspart arrow - The arrow element of the tooltip, stylable for the positioning arrow\n */\n\n@Component({\n tag: 'bcm-tooltip',\n styleUrl: 'tooltip.css',\n shadow: true,\n})\nexport class Tooltip implements ComponentInterface {\n @Element() el: HTMLElement;\n\n /**\n * @prop {('click' | 'hover')} trigger - Defines the interaction type to show/hide the tooltip.\n * 'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave.\n * Default: 'hover'\n */\n @Prop()\n trigger: 'click' | 'hover' = 'hover';\n\n /**\n * @prop {('top' | 'right' | 'bottom' | 'left')} placement - Defines the position of the tooltip relative to the target element.\n * Default: 'top'\n */\n @Prop()\n placement: 'top' | 'right' | 'bottom' | 'left' = 'top';\n\n /**\n * @prop {('small' | 'medium' | 'large')} size - Defines the size of the tooltip.\n * Controls the text size and padding of the tooltip content.\n * Default: 'medium'\n */\n @Prop()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * @prop {string} message - Custom text for the tooltip content.\n * Used as fallback content if the 'tooltip' slot is not provided.\n */\n @Prop()\n message: string;\n\n /**\n * @prop {number} showDelay - Delay in milliseconds before showing or hiding the tooltip.\n * Helps prevent flickering on quick mouse movements.\n * Default: 150\n */\n @Prop()\n showDelay: number = 150;\n\n @State() open = false;\n\n private tooltipElement: HTMLElement;\n private arrowElement: HTMLElement;\n private targetElement: HTMLElement;\n private hoverTimeout: any;\n private cleanupAutoUpdate: () => void;\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleOutsideClick);\n if (this.targetElement) {\n this.targetElement.removeEventListener('click', this.toggleTooltip);\n this.targetElement.removeEventListener('mouseenter', this.showTooltip);\n this.targetElement.removeEventListener('mouseleave', this.hideTooltip);\n }\n this.cleanupAutoUpdate?.();\n this.cleanupAutoUpdate = null;\n clearTimeout(this.hoverTimeout);\n }\n\n private updateOutsideClickListener() {\n if (this.open) {\n document.addEventListener('click', this.handleOutsideClick);\n } else {\n document.removeEventListener('click', this.handleOutsideClick);\n }\n }\n\n private toggleTooltip = () => {\n this.open = !this.open;\n this.updateOutsideClickListener();\n };\n\n private showTooltip = () => {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = setTimeout(() => {\n this.open = true;\n this.updateOutsideClickListener();\n }, this.showDelay);\n };\n\n private hideTooltip = () => {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = setTimeout(() => {\n this.open = false;\n this.updateOutsideClickListener();\n }, this.showDelay);\n };\n\n /**\n * @method {Promise<void>} openTooltip - Programmatically opens the tooltip.\n * Triggers the showTooltip logic with the specified delay.\n * @returns {Promise<void>} A promise that resolves when the tooltip is opened.\n */\n @Method()\n async openTooltip() {\n this.showTooltip();\n }\n\n /**\n * @method {Promise<void>} closeTooltip - Programmatically closes the tooltip.\n * Triggers the hideTooltip logic with the specified delay.\n * @returns {Promise<void>} A promise that resolves when the tooltip is closed.\n */\n @Method()\n async closeTooltip() {\n this.hideTooltip();\n }\n\n private handleSlotChange = () => {\n const slot = this.el.shadowRoot.querySelector('slot');\n const elements = slot.assignedElements();\n this.targetElement = elements[0] as HTMLElement;\n\n if (this.targetElement) {\n this.targetElement.removeEventListener('click', this.toggleTooltip);\n this.targetElement.removeEventListener('mouseenter', this.showTooltip);\n this.targetElement.removeEventListener('mouseleave', this.hideTooltip);\n\n if (this.trigger === 'click') {\n this.targetElement.addEventListener('click', this.toggleTooltip);\n this.targetElement.setAttribute('aria-expanded', this.open.toString());\n this.targetElement.setAttribute('aria-describedby', 'tooltip');\n }\n\n if (this.trigger === 'hover') {\n this.targetElement.addEventListener('mouseenter', this.showTooltip);\n this.targetElement.addEventListener('mouseleave', this.hideTooltip);\n this.targetElement.setAttribute('aria-describedby', 'tooltip');\n }\n\n if (this.tooltipElement && !this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate = autoUpdate(\n this.targetElement,\n this.tooltipElement,\n () => this.updatePosition(),\n { animationFrame: false }\n );\n }\n }\n };\n\n private handleOutsideClick = (event: Event) => {\n if (!this.el.contains(event.target as Node) && this.open) {\n this.open = false;\n this.updateOutsideClickListener();\n }\n };\n\n private updatePosition = async () => {\n if (!this.targetElement || !this.tooltipElement || !this.arrowElement) return;\n\n const { x, y, placement, middlewareData } = await computePosition(\n this.targetElement,\n this.tooltipElement,\n {\n placement: this.placement,\n middleware: [\n offset(12),\n flip({ fallbackPlacements: ['top', 'left', 'bottom', 'right'] }),\n shift({ padding: 8 }),\n arrow({ element: this.arrowElement }),\n ],\n }\n );\n\n Object.assign(this.tooltipElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n\n const { x: arrowX, y: arrowY } = middlewareData.arrow || { x: 0, y: 0 };\n const basePlacement = placement.split('-')[0] as 'top' | 'right' | 'bottom' | 'left';\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[basePlacement];\n\n Object.assign(this.arrowElement.style, {\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n [staticSide]: '-4px',\n });\n };\n\n private tooltipClass = tv({\n slots: {\n tooltip:\n 'bcm-ui-element bcm-tooltip absolute bg-[--tooltip-bg] rounded-md shadow-3 py-1 px-3 min-w-max z-[9999] text-color-base font-medium',\n arrow: 'absolute w-4 h-4 bg-[--tooltip-bg] transform rotate-45 z-[-1]',\n },\n variants: {\n size: {\n small: { tooltip: 'text-size-3' },\n medium: { tooltip: 'text-size-4' },\n large: { tooltip: 'text-size-5' },\n },\n isOpen: {\n true: { tooltip: 'block' },\n false: { tooltip: 'hidden' },\n },\n },\n defaultVariants: {\n size: 'medium',\n isOpen: false,\n },\n }, { twMerge: false });\n\n render() {\n const { tooltip, arrow } = this.tooltipClass({\n size: this.size,\n isOpen: this.open,\n });\n return (\n <div class=\"relative\">\n <slot onSlotchange={() => this.handleSlotChange()}></slot>\n <div role=\"tooltip\" class={tooltip()} ref={(el) => (this.tooltipElement = el)} part=\"tooltip\">\n <div class={arrow()} ref={(el) => (this.arrowElement = el)} part=\"arrow\"></div>\n <slot name=\"tooltip\">{this.message}</slot>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
|
1
|
+
{"file":"bcm-tooltip.entry.js","mappings":"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","names":["tv"],"sources":["src/components/tooltip/tooltip.css?tag=bcm-tooltip&encapsulation=shadow","src/components/tooltip/tooltip.component.tsx"],"sourcesContent":[":host {\n --tooltip-bg: var(--bcm-ui-color-background-default-dark-default);\n}\n","import { arrow, autoUpdate, computePosition, flip, offset, shift } from '@floating-ui/dom';\nimport { Component, ComponentInterface, h, Element, Prop, State, Method } from '@stencil/core';\nimport { tv } from 'tailwind-variants';\n\n/**\n * @component BcmTooltip\n * @description A lightweight tooltip component that displays brief contextual information when hovering or clicking on a target element.\n * Supports different sizes, trigger types (click or hover), placements (top, right, bottom, left), and can be controlled via slots or props.\n *\n * @example Basic Hover Tooltip\n * <bcm-tooltip trigger=\"hover\" size=\"medium\" placement=\"top\" message=\"This is a tooltip.\">\n * <bcm-button>Hover Me</bcm-button>\n * </bcm-tooltip>\n *\n * @example Click Tooltip with Programmatic Control\n * <bcm-tooltip id=\"my-tooltip\" trigger=\"click\" message=\"Controlled tooltip.\">\n * <bcm-button>Click Me</bcm-button>\n * </bcm-tooltip>\n * <script>\n * const tooltip = document.querySelector('#my-tooltip');\n * tooltip.openTooltip(); // Opens the tooltip\n * tooltip.closeTooltip(); // Closes the tooltip\n * </script>\n *\n * @slot - Default slot for the target element that triggers the tooltip\n * @slot tooltip - Slot for custom tooltip content\n *\n * @csspart tooltip - The root tooltip container element, stylable for the entire tooltip\n * @csspart arrow - The arrow element of the tooltip, stylable for the positioning arrow\n */\n\n@Component({\n tag: 'bcm-tooltip',\n styleUrl: 'tooltip.css',\n shadow: true,\n})\nexport class Tooltip implements ComponentInterface {\n @Element() el: HTMLElement;\n\n /**\n * @prop {('click' | 'hover')} trigger - Defines the interaction type to show/hide the tooltip.\n * 'click' toggles on click, 'hover' shows on mouse enter and hides on mouse leave.\n * Default: 'hover'\n */\n @Prop()\n trigger: 'click' | 'hover' = 'hover';\n\n /**\n * @prop {('top' | 'right' | 'bottom' | 'left')} placement - Defines the position of the tooltip relative to the target element.\n * Default: 'top'\n */\n @Prop()\n placement: 'top' | 'right' | 'bottom' | 'left' = 'top';\n\n /**\n * @prop {('small' | 'medium' | 'large')} size - Defines the size of the tooltip.\n * Controls the text size and padding of the tooltip content.\n * Default: 'medium'\n */\n @Prop()\n size: 'small' | 'medium' | 'large' = 'medium';\n\n /**\n * @prop {string} message - Custom text for the tooltip content.\n * Used as fallback content if the 'tooltip' slot is not provided.\n */\n @Prop()\n message: string;\n\n /**\n * @prop {number} showDelay - Delay in milliseconds before showing or hiding the tooltip.\n * Helps prevent flickering on quick mouse movements.\n * Default: 150\n */\n @Prop()\n showDelay: number = 150;\n\n @State() open = false;\n\n private tooltipElement: HTMLElement;\n private arrowElement: HTMLElement;\n private targetElement: HTMLElement;\n private hoverTimeout: any;\n private cleanupAutoUpdate: () => void;\n\n disconnectedCallback() {\n document.removeEventListener('click', this.handleOutsideClick);\n if (this.targetElement) {\n this.targetElement.removeEventListener('click', this.toggleTooltip);\n this.targetElement.removeEventListener('mouseenter', this.showTooltip);\n this.targetElement.removeEventListener('mouseleave', this.hideTooltip);\n }\n this.cleanupAutoUpdate?.();\n this.cleanupAutoUpdate = null;\n clearTimeout(this.hoverTimeout);\n }\n\n private updateOutsideClickListener() {\n if (this.open) {\n document.addEventListener('click', this.handleOutsideClick);\n } else {\n document.removeEventListener('click', this.handleOutsideClick);\n }\n }\n\n private toggleTooltip = () => {\n this.open = !this.open;\n this.updateOutsideClickListener();\n };\n\n private showTooltip = () => {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = setTimeout(() => {\n this.open = true;\n this.updateOutsideClickListener();\n }, this.showDelay);\n };\n\n private hideTooltip = () => {\n clearTimeout(this.hoverTimeout);\n this.hoverTimeout = setTimeout(() => {\n this.open = false;\n this.updateOutsideClickListener();\n }, this.showDelay);\n };\n\n /**\n * @method {Promise<void>} openTooltip - Programmatically opens the tooltip.\n * Triggers the showTooltip logic with the specified delay.\n * @returns {Promise<void>} A promise that resolves when the tooltip is opened.\n */\n @Method()\n async openTooltip() {\n this.showTooltip();\n }\n\n /**\n * @method {Promise<void>} closeTooltip - Programmatically closes the tooltip.\n * Triggers the hideTooltip logic with the specified delay.\n * @returns {Promise<void>} A promise that resolves when the tooltip is closed.\n */\n @Method()\n async closeTooltip() {\n this.hideTooltip();\n }\n\n private handleSlotChange = () => {\n const slot = this.el.shadowRoot.querySelector('slot');\n const elements = slot.assignedElements();\n this.targetElement = elements[0] as HTMLElement;\n\n if (this.targetElement) {\n this.targetElement.removeEventListener('click', this.toggleTooltip);\n this.targetElement.removeEventListener('mouseenter', this.showTooltip);\n this.targetElement.removeEventListener('mouseleave', this.hideTooltip);\n\n if (this.trigger === 'click') {\n this.targetElement.addEventListener('click', this.toggleTooltip);\n this.targetElement.setAttribute('aria-expanded', this.open.toString());\n this.targetElement.setAttribute('aria-describedby', 'tooltip');\n }\n\n if (this.trigger === 'hover') {\n this.targetElement.addEventListener('mouseenter', this.showTooltip);\n this.targetElement.addEventListener('mouseleave', this.hideTooltip);\n this.targetElement.setAttribute('aria-describedby', 'tooltip');\n }\n\n if (this.tooltipElement && !this.cleanupAutoUpdate) {\n this.cleanupAutoUpdate = autoUpdate(\n this.targetElement,\n this.tooltipElement,\n () => this.updatePosition(),\n { animationFrame: false }\n );\n }\n }\n };\n\n private handleOutsideClick = (event: Event) => {\n if (!this.el.contains(event.target as Node) && this.open) {\n this.open = false;\n this.updateOutsideClickListener();\n }\n };\n\n private updatePosition = async () => {\n if (!this.targetElement || !this.tooltipElement || !this.arrowElement) return;\n\n const { x, y, placement, middlewareData } = await computePosition(\n this.targetElement,\n this.tooltipElement,\n {\n placement: this.placement,\n middleware: [\n offset(12),\n flip({ fallbackPlacements: ['top', 'left', 'bottom', 'right'] }),\n shift({ padding: 8 }),\n arrow({ element: this.arrowElement }),\n ],\n }\n );\n\n Object.assign(this.tooltipElement.style, {\n left: `${x}px`,\n top: `${y}px`,\n });\n\n const { x: arrowX, y: arrowY } = middlewareData.arrow || { x: 0, y: 0 };\n const basePlacement = placement.split('-')[0] as 'top' | 'right' | 'bottom' | 'left';\n const staticSide = {\n top: 'bottom',\n right: 'left',\n bottom: 'top',\n left: 'right',\n }[basePlacement];\n\n Object.assign(this.arrowElement.style, {\n left: arrowX != null ? `${arrowX}px` : '',\n top: arrowY != null ? `${arrowY}px` : '',\n [staticSide]: '-4px',\n });\n };\n\n private tooltipClass = tv({\n slots: {\n tooltip:\n 'bcm-ui-element bcm-tooltip absolute bg-[--tooltip-bg] rounded-md shadow-3 py-1 px-3 min-w-max z-[9999] text-color-base font-medium',\n arrow: 'absolute w-4 h-4 bg-[--tooltip-bg] transform rotate-45 z-[-1]',\n },\n variants: {\n size: {\n small: { tooltip: 'text-size-3' },\n medium: { tooltip: 'text-size-4' },\n large: { tooltip: 'text-size-5' },\n },\n isOpen: {\n true: { tooltip: 'block' },\n false: { tooltip: 'hidden' },\n },\n },\n defaultVariants: {\n size: 'medium',\n isOpen: false,\n },\n }, { twMerge: false });\n\n render() {\n const { tooltip, arrow } = this.tooltipClass({\n size: this.size,\n isOpen: this.open,\n });\n return (\n <div class=\"relative\">\n <slot onSlotchange={() => this.handleSlotChange()}></slot>\n <div role=\"tooltip\" class={tooltip()} ref={(el) => (this.tooltipElement = el)} part=\"tooltip\">\n <div class={arrow()} ref={(el) => (this.arrowElement = el)} part=\"arrow\"></div>\n <slot name=\"tooltip\">{this.message}</slot>\n </div>\n </div>\n );\n }\n}\n"],"version":3}
|
package/dist/esm/bromcom-ui.js
CHANGED
|
@@ -16,7 +16,7 @@ var patchBrowser = () => {
|
|
|
16
16
|
|
|
17
17
|
patchBrowser().then(async (options) => {
|
|
18
18
|
await globalScripts();
|
|
19
|
-
return bootstrapLazy([["bcm-avatar",[[1,"bcm-avatar",{"image":[1],"alt":[1],"shape":[1],"size":[1],"color":[1],"icon":[1],"status":[1],"blink":[4],"name":[1],"isFallback":[32]}]]],["bcm-pop-confirm",[[1,"bcm-pop-confirm",{"arrowColor":[1,"arrow-color"],"cancelText":[1,"cancel-text"],"confirmText":[1,"confirm-text"],"description":[1],"headerText":[1,"header-text"],"placement":[1],"size":[1],"status":[1],"statusIcon":[4,"status-icon"],"targetId":[1,"target-id"],"isOpen":[32],"currentPlacement":[32],"show":[64],"hide":[64]}]]],["bcm-accordion",[[1,"bcm-accordion",{"expanded":[1540],"headerTitle":[1,"header-title"],"group":[516],"hintText":[1,"hint-text"],"hasFooterContent":[32],"toggle":[64],"expand":[64],"collapse":[64]}]]],["bcm-accordion-group",[[1,"bcm-accordion-group",{"multi":[4],"accordionItems":[32],"expandAll":[64],"collapseAll":[64],"getExpandedItems":[64]},[[2,"bcmAccordionChange","handleAccordionChange"]]]]],["bcm-alert",[[1,"bcm-alert",{"status":[1],"size":[1],"kind":[1],"dismissible":[4],"showStatusIcon":[4,"show-status-icon"]}]]],["bcm-basic-badge",[[1,"bcm-basic-badge",{"size":[1],"variant":[1],"color":[1],"soft":[4],"text":[1]}]]],["bcm-button-group",[[1,"bcm-button-group",{"kind":[1],"size":[1],"status":[1],"fullWidth":[516,"full-width"],"loading":[4],"disabled":[4],"orientation":[513]}]]],["bcm-checkbox",[[1,"bcm-checkbox",{"_id":[513,"id"],"label":[1],"name":[1],"indeterminate":[1028],"size":[1],"checked":[1028],"error":[4],"disabled":[4],"labelPosition":[1,"label-position"],"internalChecked":[32]},null,{"checked":["syncCheckedProp"],"indeterminate":["updateIndeterminateState"],"internalChecked":["updateIndeterminateState"]}]]],["bcm-chip",[[1,"bcm-chip",{"size":[1],"kind":[1],"status":[1],"dismissible":[4],"disabled":[4],"color":[1]}]]],["bcm-divider",[[1,"bcm-divider",{"direction":[1],"variant":[1],"size":[1]}]]],["bcm-popover",[[1,"bcm-popover",{"size":[1],"placement":[1],"trigger":[1],"hoverDelay":[2,"hover-delay"],"open":[1028],"headerText":[1,"header-text"],"message":[1],"openPopup":[64],"closePopup":[64]}]]],["bcm-radio",[[1,"bcm-radio",{"label":[1],"name":[1],"value":[1],"checked":[516],"size":[1],"disabled":[4],"readonly":[4],"labelPosition":[1,"label-position"],"error":[4]}]]],["bcm-radio-group",[[1,"bcm-radio-group",{"name":[1],"value":[1],"disabled":[4],"required":[4],"error":[4],"label":[1],"size":[1],"direction":[1],"captionText":[1,"caption-text"],"setClear":[64],"resetCaption":[64]},[[2,"bcmRadioChange","handleRadioChange"]],{"value":["handleValueChange"]}]]],["bcm-segmented-picker",[[1,"bcm-segmented-picker",{"size":[1],"value":[1537],"disabled":[4],"fullWidth":[516,"full-width"],"options":[32],"indicatorStyles":[32]},[[0,"bcmOptionClick","handleOptionClick"]],{"value":["valueChanged"]}]]],["bcm-segmented-picker-option",[[1,"bcm-segmented-picker-option",{"value":[1],"label":[1],"size":[1],"selected":[1028],"disabled":[4],"getWidth":[64]}]]],["bcm-switch",[[1,"bcm-switch",{"checked":[1540],"disabled":[4],"name":[1],"value":[1],"label":[1],"labelPosition":[1,"label-position"],"error":[4],"caption":[1],"size":[1],"readonly":[4],"required":[4]}]]],["bcm-tabs",[[1,"bcm-tabs",{"defaultValue":[513,"default-value"],"size":[513],"activeTab":[32],"previousTab":[32],"disableTab":[64],"enableTab":[64],"disableAllTabs":[64],"enableAllTabs":[64],"getActiveTab":[64],"setActiveTab":[64]},[[9,"resize","handleResize"],[2,"bcmTabSelected","handleTabSelected"]],{"size":["handleSizeChange"]}]]],["bcm-tabs-content",[[1,"bcm-tabs-content",{"value":[513]}]]],["bcm-tabs-list",[[1,"bcm-tabs-list"]]],["bcm-tabs-trigger",[[1,"bcm-tabs-trigger",{"value":[513],"active":[516],"size":[513],"disabled":[516]}]]],["bcm-textarea",[[1,"bcm-textarea",{"value":[1537],"rows":[2],"cols":[2],"minRows":[2,"min-rows"],"maxRows":[2,"max-rows"],"resize":[1],"autoGrow":[4,"auto-grow"],"placeholder":[1],"name":[1],"_id":[513,"id"],"size":[1],"status":[1],"fullWidth":[516,"full-width"],"disabled":[4],"readonly":[4],"required":[4],"minLength":[2,"min-length"],"maxLength":[2,"max-length"],"showCounter":[4,"show-counter"],"label":[1],"errorMessage":[1,"error-message"],"captionText":[1,"caption-text"],"labelledby":[1],"describedby":[1],"validator":[16],"isFocused":[32],"validationMessage":[32],"isValid":[32],"internalStatus":[32],"internalErrorMessage":[32],"setFocus":[64],"setBlur":[64],"select":[64]},null,{"value":["handleValueChange"],"status":["watchStatus"],"errorMessage":["watchErrorMessage"]}]]],["bcm-tooltip",[[1,"bcm-tooltip",{"trigger":[1],"placement":[1],"size":[1],"message":[1],"showDelay":[2,"show-delay"],"open":[32],"openTooltip":[64],"closeTooltip":[64]}]]],["bcm-badge",[[1,"bcm-badge",{"size":[1],"variant":[1],"color":[1],"soft":[4],"blink":[4],"status":[1],"position":[1],"offset":[1],"text":[1]}]]],["bcm-
|
|
19
|
+
return bootstrapLazy([["bcm-avatar",[[1,"bcm-avatar",{"image":[1],"alt":[1],"shape":[1],"size":[1],"color":[1],"icon":[1],"status":[1],"blink":[4],"name":[1],"isFallback":[32]}]]],["bcm-pop-confirm",[[1,"bcm-pop-confirm",{"arrowColor":[1,"arrow-color"],"cancelText":[1,"cancel-text"],"confirmText":[1,"confirm-text"],"description":[1],"headerText":[1,"header-text"],"placement":[1],"size":[1],"status":[1],"statusIcon":[4,"status-icon"],"targetId":[1,"target-id"],"isOpen":[32],"currentPlacement":[32],"show":[64],"hide":[64]}]]],["bcm-accordion",[[1,"bcm-accordion",{"expanded":[1540],"headerTitle":[1,"header-title"],"group":[516],"hintText":[1,"hint-text"],"hasFooterContent":[32],"toggle":[64],"expand":[64],"collapse":[64]}]]],["bcm-accordion-group",[[1,"bcm-accordion-group",{"multi":[4],"accordionItems":[32],"expandAll":[64],"collapseAll":[64],"getExpandedItems":[64]},[[2,"bcmAccordionChange","handleAccordionChange"]]]]],["bcm-alert",[[1,"bcm-alert",{"status":[1],"size":[1],"kind":[1],"dismissible":[4],"showStatusIcon":[4,"show-status-icon"]}]]],["bcm-basic-badge",[[1,"bcm-basic-badge",{"size":[1],"variant":[1],"color":[1],"soft":[4],"text":[1]}]]],["bcm-button-group",[[1,"bcm-button-group",{"kind":[1],"size":[1],"status":[1],"fullWidth":[516,"full-width"],"loading":[4],"disabled":[4],"orientation":[513]}]]],["bcm-checkbox",[[1,"bcm-checkbox",{"_id":[513,"id"],"label":[1],"name":[1],"indeterminate":[1028],"size":[1],"checked":[1028],"error":[4],"disabled":[4],"labelPosition":[1,"label-position"],"internalChecked":[32]},null,{"checked":["syncCheckedProp"],"indeterminate":["updateIndeterminateState"],"internalChecked":["updateIndeterminateState"]}]]],["bcm-chip",[[1,"bcm-chip",{"size":[1],"kind":[1],"status":[1],"dismissible":[4],"disabled":[4],"color":[1]}]]],["bcm-divider",[[1,"bcm-divider",{"direction":[1],"variant":[1],"size":[1]}]]],["bcm-popover",[[1,"bcm-popover",{"size":[1],"placement":[1],"trigger":[1],"hoverDelay":[2,"hover-delay"],"open":[1028],"headerText":[1,"header-text"],"message":[1],"openPopup":[64],"closePopup":[64]}]]],["bcm-radio",[[1,"bcm-radio",{"label":[1],"name":[1],"value":[1],"checked":[516],"size":[1],"disabled":[4],"readonly":[4],"labelPosition":[1,"label-position"],"error":[4]}]]],["bcm-radio-group",[[1,"bcm-radio-group",{"name":[1],"value":[1],"disabled":[4],"required":[4],"error":[4],"label":[1],"size":[1],"direction":[1],"captionText":[1,"caption-text"],"setClear":[64],"resetCaption":[64]},[[2,"bcmRadioChange","handleRadioChange"]],{"value":["handleValueChange"]}]]],["bcm-segmented-picker",[[1,"bcm-segmented-picker",{"size":[1],"value":[1537],"disabled":[4],"fullWidth":[516,"full-width"],"options":[32],"indicatorStyles":[32]},[[0,"bcmOptionClick","handleOptionClick"]],{"value":["valueChanged"]}]]],["bcm-segmented-picker-option",[[1,"bcm-segmented-picker-option",{"value":[1],"label":[1],"size":[1],"selected":[1028],"disabled":[4],"getWidth":[64]}]]],["bcm-switch",[[1,"bcm-switch",{"checked":[1540],"disabled":[4],"name":[1],"value":[1],"label":[1],"labelPosition":[1,"label-position"],"error":[4],"caption":[1],"size":[1],"readonly":[4],"required":[4]}]]],["bcm-tabs",[[1,"bcm-tabs",{"defaultValue":[513,"default-value"],"size":[513],"activeTab":[32],"previousTab":[32],"disableTab":[64],"enableTab":[64],"disableAllTabs":[64],"enableAllTabs":[64],"getActiveTab":[64],"setActiveTab":[64]},[[9,"resize","handleResize"],[2,"bcmTabSelected","handleTabSelected"]],{"size":["handleSizeChange"]}]]],["bcm-tabs-content",[[1,"bcm-tabs-content",{"value":[513]}]]],["bcm-tabs-list",[[1,"bcm-tabs-list"]]],["bcm-tabs-trigger",[[1,"bcm-tabs-trigger",{"value":[513],"active":[516],"size":[513],"disabled":[516]}]]],["bcm-textarea",[[1,"bcm-textarea",{"value":[1537],"rows":[2],"cols":[2],"minRows":[2,"min-rows"],"maxRows":[2,"max-rows"],"resize":[1],"autoGrow":[4,"auto-grow"],"placeholder":[1],"name":[1],"_id":[513,"id"],"size":[1],"status":[1],"fullWidth":[516,"full-width"],"disabled":[4],"readonly":[4],"required":[4],"minLength":[2,"min-length"],"maxLength":[2,"max-length"],"showCounter":[4,"show-counter"],"label":[1],"errorMessage":[1,"error-message"],"captionText":[1,"caption-text"],"labelledby":[1],"describedby":[1],"validator":[16],"isFocused":[32],"validationMessage":[32],"isValid":[32],"internalStatus":[32],"internalErrorMessage":[32],"setFocus":[64],"setBlur":[64],"select":[64]},null,{"value":["handleValueChange"],"status":["watchStatus"],"errorMessage":["watchErrorMessage"]}]]],["bcm-tooltip",[[1,"bcm-tooltip",{"trigger":[1],"placement":[1],"size":[1],"message":[1],"showDelay":[2,"show-delay"],"open":[32],"openTooltip":[64],"closeTooltip":[64]}]]],["bcm-badge",[[1,"bcm-badge",{"size":[1],"variant":[1],"color":[1],"soft":[4],"blink":[4],"status":[1],"position":[1],"offset":[1],"text":[1]}]]],["bcm-button_8",[[1,"bcm-dropdown",{"text":[1],"isReady":[32],"dropdownItems":[32]},[[2,"bcmDropDownItemChange","handleDropdownItemChange"]]],[1,"bcm-drawer",{"open":[1540],"size":[1],"position":[1],"fullWidth":[4,"full-width"],"headerText":[1,"header-text"],"noHeader":[4,"no-header"],"show":[64],"hide":[64]},[[8,"keydown","handleKeyDown"]],{"open":["handleOpenChange"]}],[1,"bcm-dropdown-item",{"text":[1],"icon":[1],"rightIcons":[16],"selected":[516],"error":[516],"disabled":[516]}],[1,"bcm-input",{"value":[1537],"placeholder":[1],"name":[1],"_id":[513,"id"],"size":[1],"status":[1],"fullWidth":[516,"full-width"],"type":[1],"disabled":[4],"readonly":[4],"required":[4],"autocomplete":[1],"minLength":[2,"min-length"],"maxLength":[2,"max-length"],"min":[2],"max":[2],"step":[2],"pattern":[1],"label":[1],"errorMessage":[1,"error-message"],"captionText":[1,"caption-text"],"labelledby":[1],"describedby":[1],"prefixIcon":[1,"prefix-icon"],"suffixIcon":[1,"suffix-icon"],"useNativeValidation":[4,"use-native-validation"],"validator":[16],"isFocused":[32],"validationMessage":[32],"isValid":[32],"internalStatus":[32],"internalErrorMessage":[32],"isPasswordVisible":[32],"setFocus":[64],"setBlur":[64],"select":[64],"setLocale":[64]},null,{"value":["handleValueChange"],"status":["watchStatus"],"errorMessage":["watchErrorMessage"]}],[1,"bcm-shortcut",{"hotkey":[1],"size":[1]}],[1,"bcm-text",{"text":[1],"variant":[1],"size":[1],"overflow":[4]}],[4,"bcm-linked",{"targetId":[513,"target-id"],"targetElement":[16],"trigger":[1],"placement":[1],"showDelay":[2,"show-delay"],"hideDelay":[2,"hide-delay"],"offset":[2],"arrow":[4],"disabled":[4],"zIndex":[2,"z-index"],"appendToBody":[4,"append-to-body"],"destroyOnHide":[4,"destroy-on-hide"],"isVisible":[32],"isReady":[32],"show":[64],"hide":[64],"toggle":[64],"updatePositioning":[64]},null,{"targetId":["setupTarget"],"targetElement":["setupTarget"],"isVisible":["onVisibilityChange"]}],[1,"bcm-button",{"kind":[1],"size":[1],"status":[1],"variant":[1],"position":[513],"icon":[1],"iconPosition":[1,"icon-position"],"iconOnly":[4,"icon-only"],"fullWidth":[516,"full-width"],"type":[1],"loading":[4],"disabled":[4],"text":[1],"active":[4],"form":[1],"value":[1],"name":[1],"label":[1],"expanded":[1],"controls":[1]}]]]], options);
|
|
20
20
|
});
|
|
21
21
|
|
|
22
22
|
//# sourceMappingURL=bromcom-ui.js.map
|
package/dist/esm/loader.js
CHANGED
|
@@ -5,7 +5,7 @@ import { g as globalScripts } from './app-globals-f7994f55.js';
|
|
|
5
5
|
const defineCustomElements = async (win, options) => {
|
|
6
6
|
if (typeof window === 'undefined') return undefined;
|
|
7
7
|
await globalScripts();
|
|
8
|
-
return bootstrapLazy([["bcm-avatar",[[1,"bcm-avatar",{"image":[1],"alt":[1],"shape":[1],"size":[1],"color":[1],"icon":[1],"status":[1],"blink":[4],"name":[1],"isFallback":[32]}]]],["bcm-pop-confirm",[[1,"bcm-pop-confirm",{"arrowColor":[1,"arrow-color"],"cancelText":[1,"cancel-text"],"confirmText":[1,"confirm-text"],"description":[1],"headerText":[1,"header-text"],"placement":[1],"size":[1],"status":[1],"statusIcon":[4,"status-icon"],"targetId":[1,"target-id"],"isOpen":[32],"currentPlacement":[32],"show":[64],"hide":[64]}]]],["bcm-accordion",[[1,"bcm-accordion",{"expanded":[1540],"headerTitle":[1,"header-title"],"group":[516],"hintText":[1,"hint-text"],"hasFooterContent":[32],"toggle":[64],"expand":[64],"collapse":[64]}]]],["bcm-accordion-group",[[1,"bcm-accordion-group",{"multi":[4],"accordionItems":[32],"expandAll":[64],"collapseAll":[64],"getExpandedItems":[64]},[[2,"bcmAccordionChange","handleAccordionChange"]]]]],["bcm-alert",[[1,"bcm-alert",{"status":[1],"size":[1],"kind":[1],"dismissible":[4],"showStatusIcon":[4,"show-status-icon"]}]]],["bcm-basic-badge",[[1,"bcm-basic-badge",{"size":[1],"variant":[1],"color":[1],"soft":[4],"text":[1]}]]],["bcm-button-group",[[1,"bcm-button-group",{"kind":[1],"size":[1],"status":[1],"fullWidth":[516,"full-width"],"loading":[4],"disabled":[4],"orientation":[513]}]]],["bcm-checkbox",[[1,"bcm-checkbox",{"_id":[513,"id"],"label":[1],"name":[1],"indeterminate":[1028],"size":[1],"checked":[1028],"error":[4],"disabled":[4],"labelPosition":[1,"label-position"],"internalChecked":[32]},null,{"checked":["syncCheckedProp"],"indeterminate":["updateIndeterminateState"],"internalChecked":["updateIndeterminateState"]}]]],["bcm-chip",[[1,"bcm-chip",{"size":[1],"kind":[1],"status":[1],"dismissible":[4],"disabled":[4],"color":[1]}]]],["bcm-divider",[[1,"bcm-divider",{"direction":[1],"variant":[1],"size":[1]}]]],["bcm-popover",[[1,"bcm-popover",{"size":[1],"placement":[1],"trigger":[1],"hoverDelay":[2,"hover-delay"],"open":[1028],"headerText":[1,"header-text"],"message":[1],"openPopup":[64],"closePopup":[64]}]]],["bcm-radio",[[1,"bcm-radio",{"label":[1],"name":[1],"value":[1],"checked":[516],"size":[1],"disabled":[4],"readonly":[4],"labelPosition":[1,"label-position"],"error":[4]}]]],["bcm-radio-group",[[1,"bcm-radio-group",{"name":[1],"value":[1],"disabled":[4],"required":[4],"error":[4],"label":[1],"size":[1],"direction":[1],"captionText":[1,"caption-text"],"setClear":[64],"resetCaption":[64]},[[2,"bcmRadioChange","handleRadioChange"]],{"value":["handleValueChange"]}]]],["bcm-segmented-picker",[[1,"bcm-segmented-picker",{"size":[1],"value":[1537],"disabled":[4],"fullWidth":[516,"full-width"],"options":[32],"indicatorStyles":[32]},[[0,"bcmOptionClick","handleOptionClick"]],{"value":["valueChanged"]}]]],["bcm-segmented-picker-option",[[1,"bcm-segmented-picker-option",{"value":[1],"label":[1],"size":[1],"selected":[1028],"disabled":[4],"getWidth":[64]}]]],["bcm-switch",[[1,"bcm-switch",{"checked":[1540],"disabled":[4],"name":[1],"value":[1],"label":[1],"labelPosition":[1,"label-position"],"error":[4],"caption":[1],"size":[1],"readonly":[4],"required":[4]}]]],["bcm-tabs",[[1,"bcm-tabs",{"defaultValue":[513,"default-value"],"size":[513],"activeTab":[32],"previousTab":[32],"disableTab":[64],"enableTab":[64],"disableAllTabs":[64],"enableAllTabs":[64],"getActiveTab":[64],"setActiveTab":[64]},[[9,"resize","handleResize"],[2,"bcmTabSelected","handleTabSelected"]],{"size":["handleSizeChange"]}]]],["bcm-tabs-content",[[1,"bcm-tabs-content",{"value":[513]}]]],["bcm-tabs-list",[[1,"bcm-tabs-list"]]],["bcm-tabs-trigger",[[1,"bcm-tabs-trigger",{"value":[513],"active":[516],"size":[513],"disabled":[516]}]]],["bcm-textarea",[[1,"bcm-textarea",{"value":[1537],"rows":[2],"cols":[2],"minRows":[2,"min-rows"],"maxRows":[2,"max-rows"],"resize":[1],"autoGrow":[4,"auto-grow"],"placeholder":[1],"name":[1],"_id":[513,"id"],"size":[1],"status":[1],"fullWidth":[516,"full-width"],"disabled":[4],"readonly":[4],"required":[4],"minLength":[2,"min-length"],"maxLength":[2,"max-length"],"showCounter":[4,"show-counter"],"label":[1],"errorMessage":[1,"error-message"],"captionText":[1,"caption-text"],"labelledby":[1],"describedby":[1],"validator":[16],"isFocused":[32],"validationMessage":[32],"isValid":[32],"internalStatus":[32],"internalErrorMessage":[32],"setFocus":[64],"setBlur":[64],"select":[64]},null,{"value":["handleValueChange"],"status":["watchStatus"],"errorMessage":["watchErrorMessage"]}]]],["bcm-tooltip",[[1,"bcm-tooltip",{"trigger":[1],"placement":[1],"size":[1],"message":[1],"showDelay":[2,"show-delay"],"open":[32],"openTooltip":[64],"closeTooltip":[64]}]]],["bcm-badge",[[1,"bcm-badge",{"size":[1],"variant":[1],"color":[1],"soft":[4],"blink":[4],"status":[1],"position":[1],"offset":[1],"text":[1]}]]],["bcm-
|
|
8
|
+
return bootstrapLazy([["bcm-avatar",[[1,"bcm-avatar",{"image":[1],"alt":[1],"shape":[1],"size":[1],"color":[1],"icon":[1],"status":[1],"blink":[4],"name":[1],"isFallback":[32]}]]],["bcm-pop-confirm",[[1,"bcm-pop-confirm",{"arrowColor":[1,"arrow-color"],"cancelText":[1,"cancel-text"],"confirmText":[1,"confirm-text"],"description":[1],"headerText":[1,"header-text"],"placement":[1],"size":[1],"status":[1],"statusIcon":[4,"status-icon"],"targetId":[1,"target-id"],"isOpen":[32],"currentPlacement":[32],"show":[64],"hide":[64]}]]],["bcm-accordion",[[1,"bcm-accordion",{"expanded":[1540],"headerTitle":[1,"header-title"],"group":[516],"hintText":[1,"hint-text"],"hasFooterContent":[32],"toggle":[64],"expand":[64],"collapse":[64]}]]],["bcm-accordion-group",[[1,"bcm-accordion-group",{"multi":[4],"accordionItems":[32],"expandAll":[64],"collapseAll":[64],"getExpandedItems":[64]},[[2,"bcmAccordionChange","handleAccordionChange"]]]]],["bcm-alert",[[1,"bcm-alert",{"status":[1],"size":[1],"kind":[1],"dismissible":[4],"showStatusIcon":[4,"show-status-icon"]}]]],["bcm-basic-badge",[[1,"bcm-basic-badge",{"size":[1],"variant":[1],"color":[1],"soft":[4],"text":[1]}]]],["bcm-button-group",[[1,"bcm-button-group",{"kind":[1],"size":[1],"status":[1],"fullWidth":[516,"full-width"],"loading":[4],"disabled":[4],"orientation":[513]}]]],["bcm-checkbox",[[1,"bcm-checkbox",{"_id":[513,"id"],"label":[1],"name":[1],"indeterminate":[1028],"size":[1],"checked":[1028],"error":[4],"disabled":[4],"labelPosition":[1,"label-position"],"internalChecked":[32]},null,{"checked":["syncCheckedProp"],"indeterminate":["updateIndeterminateState"],"internalChecked":["updateIndeterminateState"]}]]],["bcm-chip",[[1,"bcm-chip",{"size":[1],"kind":[1],"status":[1],"dismissible":[4],"disabled":[4],"color":[1]}]]],["bcm-divider",[[1,"bcm-divider",{"direction":[1],"variant":[1],"size":[1]}]]],["bcm-popover",[[1,"bcm-popover",{"size":[1],"placement":[1],"trigger":[1],"hoverDelay":[2,"hover-delay"],"open":[1028],"headerText":[1,"header-text"],"message":[1],"openPopup":[64],"closePopup":[64]}]]],["bcm-radio",[[1,"bcm-radio",{"label":[1],"name":[1],"value":[1],"checked":[516],"size":[1],"disabled":[4],"readonly":[4],"labelPosition":[1,"label-position"],"error":[4]}]]],["bcm-radio-group",[[1,"bcm-radio-group",{"name":[1],"value":[1],"disabled":[4],"required":[4],"error":[4],"label":[1],"size":[1],"direction":[1],"captionText":[1,"caption-text"],"setClear":[64],"resetCaption":[64]},[[2,"bcmRadioChange","handleRadioChange"]],{"value":["handleValueChange"]}]]],["bcm-segmented-picker",[[1,"bcm-segmented-picker",{"size":[1],"value":[1537],"disabled":[4],"fullWidth":[516,"full-width"],"options":[32],"indicatorStyles":[32]},[[0,"bcmOptionClick","handleOptionClick"]],{"value":["valueChanged"]}]]],["bcm-segmented-picker-option",[[1,"bcm-segmented-picker-option",{"value":[1],"label":[1],"size":[1],"selected":[1028],"disabled":[4],"getWidth":[64]}]]],["bcm-switch",[[1,"bcm-switch",{"checked":[1540],"disabled":[4],"name":[1],"value":[1],"label":[1],"labelPosition":[1,"label-position"],"error":[4],"caption":[1],"size":[1],"readonly":[4],"required":[4]}]]],["bcm-tabs",[[1,"bcm-tabs",{"defaultValue":[513,"default-value"],"size":[513],"activeTab":[32],"previousTab":[32],"disableTab":[64],"enableTab":[64],"disableAllTabs":[64],"enableAllTabs":[64],"getActiveTab":[64],"setActiveTab":[64]},[[9,"resize","handleResize"],[2,"bcmTabSelected","handleTabSelected"]],{"size":["handleSizeChange"]}]]],["bcm-tabs-content",[[1,"bcm-tabs-content",{"value":[513]}]]],["bcm-tabs-list",[[1,"bcm-tabs-list"]]],["bcm-tabs-trigger",[[1,"bcm-tabs-trigger",{"value":[513],"active":[516],"size":[513],"disabled":[516]}]]],["bcm-textarea",[[1,"bcm-textarea",{"value":[1537],"rows":[2],"cols":[2],"minRows":[2,"min-rows"],"maxRows":[2,"max-rows"],"resize":[1],"autoGrow":[4,"auto-grow"],"placeholder":[1],"name":[1],"_id":[513,"id"],"size":[1],"status":[1],"fullWidth":[516,"full-width"],"disabled":[4],"readonly":[4],"required":[4],"minLength":[2,"min-length"],"maxLength":[2,"max-length"],"showCounter":[4,"show-counter"],"label":[1],"errorMessage":[1,"error-message"],"captionText":[1,"caption-text"],"labelledby":[1],"describedby":[1],"validator":[16],"isFocused":[32],"validationMessage":[32],"isValid":[32],"internalStatus":[32],"internalErrorMessage":[32],"setFocus":[64],"setBlur":[64],"select":[64]},null,{"value":["handleValueChange"],"status":["watchStatus"],"errorMessage":["watchErrorMessage"]}]]],["bcm-tooltip",[[1,"bcm-tooltip",{"trigger":[1],"placement":[1],"size":[1],"message":[1],"showDelay":[2,"show-delay"],"open":[32],"openTooltip":[64],"closeTooltip":[64]}]]],["bcm-badge",[[1,"bcm-badge",{"size":[1],"variant":[1],"color":[1],"soft":[4],"blink":[4],"status":[1],"position":[1],"offset":[1],"text":[1]}]]],["bcm-button_8",[[1,"bcm-dropdown",{"text":[1],"isReady":[32],"dropdownItems":[32]},[[2,"bcmDropDownItemChange","handleDropdownItemChange"]]],[1,"bcm-drawer",{"open":[1540],"size":[1],"position":[1],"fullWidth":[4,"full-width"],"headerText":[1,"header-text"],"noHeader":[4,"no-header"],"show":[64],"hide":[64]},[[8,"keydown","handleKeyDown"]],{"open":["handleOpenChange"]}],[1,"bcm-dropdown-item",{"text":[1],"icon":[1],"rightIcons":[16],"selected":[516],"error":[516],"disabled":[516]}],[1,"bcm-input",{"value":[1537],"placeholder":[1],"name":[1],"_id":[513,"id"],"size":[1],"status":[1],"fullWidth":[516,"full-width"],"type":[1],"disabled":[4],"readonly":[4],"required":[4],"autocomplete":[1],"minLength":[2,"min-length"],"maxLength":[2,"max-length"],"min":[2],"max":[2],"step":[2],"pattern":[1],"label":[1],"errorMessage":[1,"error-message"],"captionText":[1,"caption-text"],"labelledby":[1],"describedby":[1],"prefixIcon":[1,"prefix-icon"],"suffixIcon":[1,"suffix-icon"],"useNativeValidation":[4,"use-native-validation"],"validator":[16],"isFocused":[32],"validationMessage":[32],"isValid":[32],"internalStatus":[32],"internalErrorMessage":[32],"isPasswordVisible":[32],"setFocus":[64],"setBlur":[64],"select":[64],"setLocale":[64]},null,{"value":["handleValueChange"],"status":["watchStatus"],"errorMessage":["watchErrorMessage"]}],[1,"bcm-shortcut",{"hotkey":[1],"size":[1]}],[1,"bcm-text",{"text":[1],"variant":[1],"size":[1],"overflow":[4]}],[4,"bcm-linked",{"targetId":[513,"target-id"],"targetElement":[16],"trigger":[1],"placement":[1],"showDelay":[2,"show-delay"],"hideDelay":[2,"hide-delay"],"offset":[2],"arrow":[4],"disabled":[4],"zIndex":[2,"z-index"],"appendToBody":[4,"append-to-body"],"destroyOnHide":[4,"destroy-on-hide"],"isVisible":[32],"isReady":[32],"show":[64],"hide":[64],"toggle":[64],"updatePositioning":[64]},null,{"targetId":["setupTarget"],"targetElement":["setupTarget"],"isVisible":["onVisibilityChange"]}],[1,"bcm-button",{"kind":[1],"size":[1],"status":[1],"variant":[1],"position":[513],"icon":[1],"iconPosition":[1,"icon-position"],"iconOnly":[4,"icon-only"],"fullWidth":[516,"full-width"],"type":[1],"loading":[4],"disabled":[4],"text":[1],"active":[4],"form":[1],"value":[1],"name":[1],"label":[1],"expanded":[1],"controls":[1]}]]]], options);
|
|
9
9
|
};
|
|
10
10
|
|
|
11
11
|
export { defineCustomElements };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import { DrawerPosition, DrawerSize } from './types';
|
|
3
|
+
export declare class BcmDrawer {
|
|
4
|
+
host: HTMLElement;
|
|
5
|
+
open: boolean;
|
|
6
|
+
size: DrawerSize;
|
|
7
|
+
position: DrawerPosition;
|
|
8
|
+
fullWidth: boolean;
|
|
9
|
+
headerText?: string;
|
|
10
|
+
noHeader: boolean;
|
|
11
|
+
bcmOpen: EventEmitter<void>;
|
|
12
|
+
bcmClose: EventEmitter<void>;
|
|
13
|
+
bcmBeforeOpen: EventEmitter<void>;
|
|
14
|
+
bcmBeforeClose: EventEmitter<void>;
|
|
15
|
+
private drawerClass;
|
|
16
|
+
handleOpenChange(isOpen: boolean): void;
|
|
17
|
+
handleKeyDown(event: KeyboardEvent): void;
|
|
18
|
+
show(): Promise<void>;
|
|
19
|
+
hide(): Promise<void>;
|
|
20
|
+
disconnectedCallback(): void;
|
|
21
|
+
private getWrapperStyle;
|
|
22
|
+
render(): any;
|
|
23
|
+
}
|
|
@@ -11,6 +11,7 @@ import { AlertKind, AlertSize, AlertStatus } from "./components/alert/types";
|
|
|
11
11
|
import { AvatarShape, AvatarSize, AvatarStatus } from "./components/avatar/types";
|
|
12
12
|
import { ButtonKind, ButtonPosition, ButtonSize, ButtonStatus, ButtonType, ButtonVariant, IconPosition } from "./components/button/types";
|
|
13
13
|
import { ChipKind, ChipSize, ChipStatus } from "./components/chip/types";
|
|
14
|
+
import { DrawerPosition, DrawerSize } from "./components/drawer/types";
|
|
14
15
|
import { InputSize, InputStatus, InputType } from "./components/input/types";
|
|
15
16
|
import { Event } from "./stencil-public-runtime";
|
|
16
17
|
import { TriggerType } from "./components/linked/linked.component";
|
|
@@ -24,6 +25,7 @@ export { AlertKind, AlertSize, AlertStatus } from "./components/alert/types";
|
|
|
24
25
|
export { AvatarShape, AvatarSize, AvatarStatus } from "./components/avatar/types";
|
|
25
26
|
export { ButtonKind, ButtonPosition, ButtonSize, ButtonStatus, ButtonType, ButtonVariant, IconPosition } from "./components/button/types";
|
|
26
27
|
export { ChipKind, ChipSize, ChipStatus } from "./components/chip/types";
|
|
28
|
+
export { DrawerPosition, DrawerSize } from "./components/drawer/types";
|
|
27
29
|
export { InputSize, InputStatus, InputType } from "./components/input/types";
|
|
28
30
|
export { Event } from "./stencil-public-runtime";
|
|
29
31
|
export { TriggerType } from "./components/linked/linked.component";
|
|
@@ -593,6 +595,16 @@ export namespace Components {
|
|
|
593
595
|
*/
|
|
594
596
|
"variant": 'solid' | 'dashed' | 'dotted';
|
|
595
597
|
}
|
|
598
|
+
interface BcmDrawer {
|
|
599
|
+
"fullWidth": boolean;
|
|
600
|
+
"headerText"?: string;
|
|
601
|
+
"hide": () => Promise<void>;
|
|
602
|
+
"noHeader": boolean;
|
|
603
|
+
"open": boolean;
|
|
604
|
+
"position": DrawerPosition;
|
|
605
|
+
"show": () => Promise<void>;
|
|
606
|
+
"size": DrawerSize;
|
|
607
|
+
}
|
|
596
608
|
interface BcmDropdown {
|
|
597
609
|
"text"?: string;
|
|
598
610
|
}
|
|
@@ -1419,6 +1431,10 @@ export interface BcmChipCustomEvent<T> extends CustomEvent<T> {
|
|
|
1419
1431
|
detail: T;
|
|
1420
1432
|
target: HTMLBcmChipElement;
|
|
1421
1433
|
}
|
|
1434
|
+
export interface BcmDrawerCustomEvent<T> extends CustomEvent<T> {
|
|
1435
|
+
detail: T;
|
|
1436
|
+
target: HTMLBcmDrawerElement;
|
|
1437
|
+
}
|
|
1422
1438
|
export interface BcmDropdownCustomEvent<T> extends CustomEvent<T> {
|
|
1423
1439
|
detail: T;
|
|
1424
1440
|
target: HTMLBcmDropdownElement;
|
|
@@ -1768,6 +1784,26 @@ declare global {
|
|
|
1768
1784
|
prototype: HTMLBcmDividerElement;
|
|
1769
1785
|
new (): HTMLBcmDividerElement;
|
|
1770
1786
|
};
|
|
1787
|
+
interface HTMLBcmDrawerElementEventMap {
|
|
1788
|
+
"bcmOpen": void;
|
|
1789
|
+
"bcmClose": void;
|
|
1790
|
+
"bcmBeforeOpen": void;
|
|
1791
|
+
"bcmBeforeClose": void;
|
|
1792
|
+
}
|
|
1793
|
+
interface HTMLBcmDrawerElement extends Components.BcmDrawer, HTMLStencilElement {
|
|
1794
|
+
addEventListener<K extends keyof HTMLBcmDrawerElementEventMap>(type: K, listener: (this: HTMLBcmDrawerElement, ev: BcmDrawerCustomEvent<HTMLBcmDrawerElementEventMap[K]>) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1795
|
+
addEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1796
|
+
addEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void;
|
|
1797
|
+
addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
|
|
1798
|
+
removeEventListener<K extends keyof HTMLBcmDrawerElementEventMap>(type: K, listener: (this: HTMLBcmDrawerElement, ev: BcmDrawerCustomEvent<HTMLBcmDrawerElementEventMap[K]>) => any, options?: boolean | EventListenerOptions): void;
|
|
1799
|
+
removeEventListener<K extends keyof DocumentEventMap>(type: K, listener: (this: Document, ev: DocumentEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1800
|
+
removeEventListener<K extends keyof HTMLElementEventMap>(type: K, listener: (this: HTMLElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void;
|
|
1801
|
+
removeEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | EventListenerOptions): void;
|
|
1802
|
+
}
|
|
1803
|
+
var HTMLBcmDrawerElement: {
|
|
1804
|
+
prototype: HTMLBcmDrawerElement;
|
|
1805
|
+
new (): HTMLBcmDrawerElement;
|
|
1806
|
+
};
|
|
1771
1807
|
interface HTMLBcmDropdownElementEventMap {
|
|
1772
1808
|
"bcmDropdownChange": any;
|
|
1773
1809
|
}
|
|
@@ -2201,6 +2237,7 @@ declare global {
|
|
|
2201
2237
|
"bcm-checkbox": HTMLBcmCheckboxElement;
|
|
2202
2238
|
"bcm-chip": HTMLBcmChipElement;
|
|
2203
2239
|
"bcm-divider": HTMLBcmDividerElement;
|
|
2240
|
+
"bcm-drawer": HTMLBcmDrawerElement;
|
|
2204
2241
|
"bcm-dropdown": HTMLBcmDropdownElement;
|
|
2205
2242
|
"bcm-dropdown-item": HTMLBcmDropdownItemElement;
|
|
2206
2243
|
"bcm-input": HTMLBcmInputElement;
|
|
@@ -2772,6 +2809,18 @@ declare namespace LocalJSX {
|
|
|
2772
2809
|
*/
|
|
2773
2810
|
"variant"?: 'solid' | 'dashed' | 'dotted';
|
|
2774
2811
|
}
|
|
2812
|
+
interface BcmDrawer {
|
|
2813
|
+
"fullWidth"?: boolean;
|
|
2814
|
+
"headerText"?: string;
|
|
2815
|
+
"noHeader"?: boolean;
|
|
2816
|
+
"onBcmBeforeClose"?: (event: BcmDrawerCustomEvent<void>) => void;
|
|
2817
|
+
"onBcmBeforeOpen"?: (event: BcmDrawerCustomEvent<void>) => void;
|
|
2818
|
+
"onBcmClose"?: (event: BcmDrawerCustomEvent<void>) => void;
|
|
2819
|
+
"onBcmOpen"?: (event: BcmDrawerCustomEvent<void>) => void;
|
|
2820
|
+
"open"?: boolean;
|
|
2821
|
+
"position"?: DrawerPosition;
|
|
2822
|
+
"size"?: DrawerSize;
|
|
2823
|
+
}
|
|
2775
2824
|
interface BcmDropdown {
|
|
2776
2825
|
"onBcmDropdownChange"?: (event: BcmDropdownCustomEvent<any>) => void;
|
|
2777
2826
|
"text"?: string;
|
|
@@ -3574,6 +3623,7 @@ declare namespace LocalJSX {
|
|
|
3574
3623
|
"bcm-checkbox": BcmCheckbox;
|
|
3575
3624
|
"bcm-chip": BcmChip;
|
|
3576
3625
|
"bcm-divider": BcmDivider;
|
|
3626
|
+
"bcm-drawer": BcmDrawer;
|
|
3577
3627
|
"bcm-dropdown": BcmDropdown;
|
|
3578
3628
|
"bcm-dropdown-item": BcmDropdownItem;
|
|
3579
3629
|
"bcm-input": BcmInput;
|
|
@@ -3768,6 +3818,7 @@ declare module "@stencil/core" {
|
|
|
3768
3818
|
* The component uses CSS variables for theming and Tailwind for styling.
|
|
3769
3819
|
*/
|
|
3770
3820
|
"bcm-divider": LocalJSX.BcmDivider & JSXBase.HTMLAttributes<HTMLBcmDividerElement>;
|
|
3821
|
+
"bcm-drawer": LocalJSX.BcmDrawer & JSXBase.HTMLAttributes<HTMLBcmDrawerElement>;
|
|
3771
3822
|
"bcm-dropdown": LocalJSX.BcmDropdown & JSXBase.HTMLAttributes<HTMLBcmDropdownElement>;
|
|
3772
3823
|
"bcm-dropdown-item": LocalJSX.BcmDropdownItem & JSXBase.HTMLAttributes<HTMLBcmDropdownItemElement>;
|
|
3773
3824
|
"bcm-input": LocalJSX.BcmInput & JSXBase.HTMLAttributes<HTMLBcmInputElement>;
|
package/package.json
CHANGED