@brandsync/wc 1.1.0 → 1.3.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/custom-elements.json +586 -0
- package/dist/brandsync-wc/brandsync-wc.esm.js +1 -1
- package/dist/brandsync-wc/p-03676f8a.entry.js +1 -0
- package/dist/brandsync-wc/{p-0a2d690f.entry.js → p-04c26826.entry.js} +1 -1
- package/dist/brandsync-wc/{p-a7704457.entry.js → p-0c8050e8.entry.js} +1 -1
- package/dist/brandsync-wc/p-0d5cc77f.entry.js +1 -0
- package/dist/brandsync-wc/{p-3e61d206.entry.js → p-19c98e13.entry.js} +1 -1
- package/dist/brandsync-wc/{p-31b28025.entry.js → p-23758f81.entry.js} +1 -1
- package/dist/brandsync-wc/{p-5321186f.entry.js → p-29c360f3.entry.js} +1 -1
- package/dist/brandsync-wc/{p-696f885c.entry.js → p-35d98580.entry.js} +1 -1
- package/dist/brandsync-wc/p-39204377.entry.js +1 -0
- package/dist/brandsync-wc/p-5a4db480.entry.js +1 -0
- package/dist/brandsync-wc/{p-0cf117f4.entry.js → p-5d118af1.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c76ca89f.entry.js → p-76d391d7.entry.js} +1 -1
- package/dist/brandsync-wc/{p-aa1cc2b6.entry.js → p-7de20530.entry.js} +1 -1
- package/dist/brandsync-wc/{p-32fe390d.entry.js → p-7ea0133f.entry.js} +1 -1
- package/dist/brandsync-wc/{p-778fcc55.entry.js → p-8acb623e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-63906504.entry.js → p-8ec95da5.entry.js} +1 -1
- package/dist/brandsync-wc/{p-0921ca0d.entry.js → p-94266d72.entry.js} +1 -1
- package/dist/brandsync-wc/{p-6ef0a0ed.entry.js → p-96d1ce21.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c7427962.entry.js → p-9ad278f4.entry.js} +1 -1
- package/dist/brandsync-wc/{p-ac12372f.entry.js → p-9f9c1a1d.entry.js} +1 -1
- package/dist/brandsync-wc/{p-579fbe4d.entry.js → p-b2704450.entry.js} +1 -1
- package/dist/brandsync-wc/{p-82953f42.entry.js → p-bcafba87.entry.js} +1 -1
- package/dist/brandsync-wc/p-bd2cc2c6.entry.js +1 -0
- package/dist/brandsync-wc/{p-2e7586dd.entry.js → p-be675b82.entry.js} +1 -1
- package/dist/brandsync-wc/{p-790fadf9.entry.js → p-bf4a5b1b.entry.js} +1 -1
- package/dist/brandsync-wc/{p-1abacfe8.entry.js → p-c4a16564.entry.js} +1 -1
- package/dist/brandsync-wc/{p-393efb5d.entry.js → p-cd703364.entry.js} +1 -1
- package/dist/brandsync-wc/{p-c7b9a5c7.entry.js → p-d589fa72.entry.js} +1 -1
- package/dist/brandsync-wc/{p-6fc78ccf.entry.js → p-d5d15d9f.entry.js} +1 -1
- package/dist/brandsync-wc/{p-bb2ec290.entry.js → p-e58b1dbb.entry.js} +1 -1
- package/dist/brandsync-wc/{p-3e8728dc.entry.js → p-eae7587e.entry.js} +1 -1
- package/dist/brandsync-wc/{p-cff188cb.entry.js → p-f196642a.entry.js} +1 -1
- package/dist/cjs/brandsync-wc.cjs.js +1 -1
- package/dist/cjs/bs-ai-disclaimer.cjs.entry.js +1 -1
- package/dist/cjs/bs-ai-greeting.cjs.entry.js +1 -1
- package/dist/cjs/bs-ai-thinking.cjs.entry.js +1 -1
- package/dist/cjs/bs-attachment-list.cjs.entry.js +1 -1
- package/dist/cjs/bs-breadcrumbs.cjs.entry.js +1 -1
- package/dist/cjs/bs-button-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-feedback.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-header.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-response-action.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-sources-drawer.cjs.entry.js +1 -1
- package/dist/cjs/bs-chatbot-suggestion-button.cjs.entry.js +1 -1
- package/dist/cjs/bs-checkbox-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/bs-inline-tab.cjs.entry.js +1 -1
- package/dist/cjs/bs-input.cjs.entry.js +2 -2
- package/dist/cjs/bs-menu-item.cjs.entry.js +1 -1
- package/dist/cjs/bs-menu.cjs.entry.js +1 -1
- package/dist/cjs/bs-navigation-drawer-item.cjs.entry.js +1 -1
- package/dist/cjs/bs-navigation-drawer.cjs.entry.js +1 -1
- package/dist/cjs/bs-pagination.cjs.entry.js +1 -1
- package/dist/cjs/bs-progress-linear.cjs.entry.js +65 -0
- package/dist/cjs/bs-progress.cjs.entry.js +69 -0
- package/dist/cjs/bs-radio.cjs.entry.js +1 -1
- package/dist/cjs/bs-slider.cjs.entry.js +1 -1
- package/dist/cjs/bs-snackbar.cjs.entry.js +1 -1
- package/dist/cjs/bs-source-link.cjs.entry.js +2 -2
- package/dist/cjs/bs-stepper-step.cjs.entry.js +1 -1
- package/dist/cjs/bs-stepper.cjs.entry.js +1 -1
- package/dist/cjs/bs-switch.cjs.entry.js +1 -1
- package/dist/cjs/bs-tab.cjs.entry.js +1 -1
- package/dist/cjs/bs-tabs.cjs.entry.js +1 -1
- package/dist/cjs/bs-toast.cjs.entry.js +45 -0
- package/dist/cjs/bs-tooltip.cjs.entry.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/collection-manifest.json +3 -0
- package/dist/collection/components/bs-ai-disclaimer/bs-ai-disclaimer.js +1 -1
- package/dist/collection/components/bs-ai-greeting/bs-ai-greeting.js +1 -1
- package/dist/collection/components/bs-ai-thinking/bs-ai-thinking.js +1 -1
- package/dist/collection/components/bs-attachment/bs-attachment.js +1 -1
- package/dist/collection/components/bs-attachment-list/bs-attachment-list.js +1 -1
- package/dist/collection/components/bs-avatar/bs-avatar.js +2 -2
- package/dist/collection/components/bs-badge/bs-badge.js +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb/bs-breadcrumb.js +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumb-overflow/bs-breadcrumb-overflow.js +1 -1
- package/dist/collection/components/bs-breadcrumb/bs-breadcrumbs/bs-breadcrumbs.js +1 -1
- package/dist/collection/components/bs-button/bs-button/bs-button.js +2 -2
- package/dist/collection/components/bs-button/bs-icon-button/bs-icon-button.js +2 -2
- package/dist/collection/components/bs-button-skeleton/bs-button-skeleton.js +1 -1
- package/dist/collection/components/bs-card/bs-card.js +1 -1
- package/dist/collection/components/bs-chatbot-feedback/bs-chatbot-feedback.js +1 -1
- package/dist/collection/components/bs-chatbot-header/bs-chatbot-header.js +1 -1
- package/dist/collection/components/bs-chatbot-response-action/bs-chatbot-response-action.js +1 -1
- package/dist/collection/components/bs-chatbot-sources-drawer/bs-chatbot-sources-drawer.js +1 -1
- package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js +1 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox-skeleton/bs-checkbox-skeleton.js +1 -1
- package/dist/collection/components/bs-checkbox/bs-checkbox.js +1 -1
- package/dist/collection/components/bs-chip/bs-chip-filter/bs-chip-filter.js +1 -1
- package/dist/collection/components/bs-chip/bs-chip-informative/bs-chip-informative.js +2 -2
- package/dist/collection/components/bs-chip/bs-chip-input/bs-chip-input.js +1 -1
- package/dist/collection/components/bs-composer/bs-composer.js +2 -2
- package/dist/collection/components/bs-composer-status-banner/bs-composer-status-banner.js +1 -1
- package/dist/collection/components/bs-data-table/bs-data-table.js +4 -4
- package/dist/collection/components/bs-dialog/bs-dialog.js +1 -1
- package/dist/collection/components/bs-input/bs-input.js +2 -2
- package/dist/collection/components/bs-logo/bs-logo.js +2 -2
- package/dist/collection/components/bs-menu/bs-menu.js +1 -1
- package/dist/collection/components/bs-menu-item/bs-menu-item.js +1 -1
- package/dist/collection/components/bs-pagination/bs-pagination.js +1 -1
- package/dist/collection/components/bs-progress/bs-progress.cmp.test.js +96 -0
- package/dist/collection/components/bs-progress/bs-progress.css +119 -0
- package/dist/collection/components/bs-progress/bs-progress.js +212 -0
- package/dist/collection/components/bs-progress/bs-progress.stories.js +72 -0
- package/dist/collection/components/bs-progress-linear/bs-progress-linear.cmp.test.js +92 -0
- package/dist/collection/components/bs-progress-linear/bs-progress-linear.css +108 -0
- package/dist/collection/components/bs-progress-linear/bs-progress-linear.js +192 -0
- package/dist/collection/components/bs-progress-linear/bs-progress-linear.stories.js +66 -0
- package/dist/collection/components/bs-radio/bs-radio.js +1 -1
- package/dist/collection/components/bs-slider/bs-slider.js +2 -2
- package/dist/collection/components/bs-snackbar/bs-snackbar.js +2 -2
- package/dist/collection/components/bs-source-link/bs-source-link.js +2 -2
- package/dist/collection/components/bs-stepper/bs-stepper/bs-stepper.js +1 -1
- package/dist/collection/components/bs-stepper/bs-stepper-step/bs-stepper-step.js +3 -3
- package/dist/collection/components/bs-switch/bs-switch.js +2 -2
- package/dist/collection/components/bs-tab/bs-inline-tab/bs-inline-tab.js +1 -1
- package/dist/collection/components/bs-tab/bs-tab/bs-tab.js +2 -2
- package/dist/collection/components/bs-tab/bs-tabs/bs-tabs.js +3 -3
- package/dist/collection/components/bs-toast/bs-toast.cmp.test.js +59 -0
- package/dist/collection/components/bs-toast/bs-toast.css +151 -0
- package/dist/collection/components/bs-toast/bs-toast.js +108 -0
- package/dist/collection/components/bs-toast/bs-toast.stories.js +39 -0
- package/dist/collection/components/bs-tooltip/bs-tooltip.js +1 -1
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer/bs-navigation-drawer.js +1 -1
- package/dist/collection/components/ui-shell/bs-navigation-drawer/bs-navigation-drawer-item/bs-navigation-drawer-item.js +1 -1
- package/dist/collection/components/ui-shell/bs-navigation-header/bs-navigation-header/bs-navigation-header.js +1 -1
- package/dist/components/bs-ai-disclaimer.js +1 -1
- package/dist/components/bs-ai-greeting.js +1 -1
- package/dist/components/bs-ai-thinking.js +1 -1
- package/dist/components/bs-attachment-list.js +1 -1
- package/dist/components/bs-breadcrumb-overflow.js +1 -1
- package/dist/components/bs-breadcrumbs.js +1 -1
- package/dist/components/bs-button-skeleton.js +1 -1
- package/dist/components/bs-chatbot-feedback.js +1 -1
- package/dist/components/bs-chatbot-header.js +1 -1
- package/dist/components/bs-chatbot-response-action.js +1 -1
- package/dist/components/bs-chatbot-sources-drawer.js +1 -1
- package/dist/components/bs-chatbot-suggestion-button.js +1 -1
- package/dist/components/bs-checkbox-skeleton.js +1 -1
- package/dist/components/bs-inline-tab.js +1 -1
- package/dist/components/bs-input.js +1 -1
- package/dist/components/bs-menu-item.js +1 -1
- package/dist/components/bs-menu.js +1 -1
- package/dist/components/bs-navigation-drawer-item.js +1 -1
- package/dist/components/bs-navigation-drawer.js +1 -1
- package/dist/components/bs-pagination.js +1 -1
- package/dist/components/bs-progress-linear.d.ts +11 -0
- package/dist/components/bs-progress-linear.js +1 -0
- package/dist/components/bs-progress.d.ts +11 -0
- package/dist/components/bs-progress.js +1 -0
- package/dist/components/bs-radio.js +1 -1
- package/dist/components/bs-slider.js +1 -1
- package/dist/components/bs-snackbar.js +1 -1
- package/dist/components/bs-source-link.js +1 -1
- package/dist/components/bs-stepper-step.js +1 -1
- package/dist/components/bs-stepper.js +1 -1
- package/dist/components/bs-switch.js +1 -1
- package/dist/components/bs-tab.js +1 -1
- package/dist/components/bs-tabs.js +1 -1
- package/dist/components/bs-toast.d.ts +11 -0
- package/dist/components/bs-toast.js +1 -0
- package/dist/components/bs-tooltip.js +1 -1
- package/dist/components/{p-Bb6vh9PN.js → p-BIgPiuc-.js} +1 -1
- package/dist/components/{p-BFVUq5m5.js → p-BUtz3sub.js} +1 -1
- package/dist/components/{p-BPUNjzjH.js → p-Rn1IWs8l.js} +1 -1
- package/dist/esm/brandsync-wc.js +1 -1
- package/dist/esm/bs-ai-disclaimer.entry.js +1 -1
- package/dist/esm/bs-ai-greeting.entry.js +1 -1
- package/dist/esm/bs-ai-thinking.entry.js +1 -1
- package/dist/esm/bs-attachment-list.entry.js +1 -1
- package/dist/esm/bs-breadcrumbs.entry.js +1 -1
- package/dist/esm/bs-button-skeleton.entry.js +1 -1
- package/dist/esm/bs-chatbot-feedback.entry.js +1 -1
- package/dist/esm/bs-chatbot-header.entry.js +1 -1
- package/dist/esm/bs-chatbot-response-action.entry.js +1 -1
- package/dist/esm/bs-chatbot-sources-drawer.entry.js +1 -1
- package/dist/esm/bs-chatbot-suggestion-button.entry.js +1 -1
- package/dist/esm/bs-checkbox-skeleton.entry.js +1 -1
- package/dist/esm/bs-inline-tab.entry.js +1 -1
- package/dist/esm/bs-input.entry.js +2 -2
- package/dist/esm/bs-menu-item.entry.js +1 -1
- package/dist/esm/bs-menu.entry.js +1 -1
- package/dist/esm/bs-navigation-drawer-item.entry.js +1 -1
- package/dist/esm/bs-navigation-drawer.entry.js +1 -1
- package/dist/esm/bs-pagination.entry.js +1 -1
- package/dist/esm/bs-progress-linear.entry.js +63 -0
- package/dist/esm/bs-progress.entry.js +67 -0
- package/dist/esm/bs-radio.entry.js +1 -1
- package/dist/esm/bs-slider.entry.js +1 -1
- package/dist/esm/bs-snackbar.entry.js +1 -1
- package/dist/esm/bs-source-link.entry.js +2 -2
- package/dist/esm/bs-stepper-step.entry.js +1 -1
- package/dist/esm/bs-stepper.entry.js +1 -1
- package/dist/esm/bs-switch.entry.js +1 -1
- package/dist/esm/bs-tab.entry.js +1 -1
- package/dist/esm/bs-tabs.entry.js +1 -1
- package/dist/esm/bs-toast.entry.js +43 -0
- package/dist/esm/bs-tooltip.entry.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/types/components/bs-progress/bs-progress.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-progress/bs-progress.d.ts +46 -0
- package/dist/types/components/bs-progress/bs-progress.stories.d.ts +18 -0
- package/dist/types/components/bs-progress-linear/bs-progress-linear.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-progress-linear/bs-progress-linear.d.ts +50 -0
- package/dist/types/components/bs-progress-linear/bs-progress-linear.stories.d.ts +17 -0
- package/dist/types/components/bs-toast/bs-toast.cmp.test.d.ts +1 -0
- package/dist/types/components/bs-toast/bs-toast.d.ts +27 -0
- package/dist/types/components/bs-toast/bs-toast.stories.d.ts +12 -0
- package/dist/types/components.d.ts +320 -0
- package/package.json +1 -1
- package/dist/brandsync-wc/p-cc9f85d6.entry.js +0 -1
- package/dist/brandsync-wc/p-e230ed08.entry.js +0 -1
|
@@ -25,7 +25,7 @@ export class BsButtonSkeleton {
|
|
|
25
25
|
/** Sizing scale, matching the `bs-button` size it stands in for. */
|
|
26
26
|
size = 'md';
|
|
27
27
|
render() {
|
|
28
|
-
return h("span", { key: '
|
|
28
|
+
return h("span", { key: '4a08242dee8f135807ce7f73433db4ca83d16711', part: "container", class: `bs-button-skeleton bs-button-skeleton--${this.size}`, role: "status", "aria-label": "Loading" });
|
|
29
29
|
}
|
|
30
30
|
static get is() { return "bs-button-skeleton"; }
|
|
31
31
|
static get encapsulation() { return "shadow"; }
|
|
@@ -59,7 +59,7 @@ export class BsCard {
|
|
|
59
59
|
"references": {
|
|
60
60
|
"BsCardSurface": {
|
|
61
61
|
"location": "local",
|
|
62
|
-
"path": "/home/runner/work/Brandsync-
|
|
62
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-card/bs-card.tsx",
|
|
63
63
|
"id": "src/components/bs-card/bs-card.tsx::BsCardSurface"
|
|
64
64
|
}
|
|
65
65
|
}
|
|
@@ -123,7 +123,7 @@ export class BsChatbotFeedback {
|
|
|
123
123
|
}
|
|
124
124
|
render() {
|
|
125
125
|
const stars = [1, 2, 3, 4, 5];
|
|
126
|
-
return (h("div", { key: '
|
|
126
|
+
return (h("div", { key: '70fa15615edf82f3072ce2b70f40acc26581d357', class: "bs-chatbot-feedback", role: "region", "aria-label": this.computedHeading() }, h("button", { key: 'a12a1bc4a979a341f196d1bb5c7b339b71921adb', type: "button", part: "close", class: "bs-chatbot-feedback__close", "aria-label": "Close", onClick: this.onCloseClick }, h(CloseIcon, { key: 'c43b62f1171655ceb70cc9381f48ca70ac713b42' })), h("div", { key: '478edae3eaed5bc24509dee4a5de1330609418b8', class: "bs-chatbot-feedback__top" }, h("div", { key: '5e2e27ec77d323275928d02eda1233ada161767e', class: "bs-chatbot-feedback__text" }, h("p", { key: 'b8a797d6b7ea99698d4a50d77df2c2f39b197fb5', part: "heading", class: "bs-chatbot-feedback__heading" }, this.computedHeading()), h("p", { key: '47245dbc477cad19404a44ea105a628bcfd26986', part: "subtitle", class: "bs-chatbot-feedback__subtitle" }, this.computedSubtitle())), h("div", { key: 'ff977860ca700ec52902c2fdccce2d61d026bb17', class: "bs-chatbot-feedback__stars", role: "radiogroup", "aria-label": "Rating" }, stars.map(value => (h("button", { type: "button", part: "star", class: "bs-chatbot-feedback__star", role: "radio", "aria-checked": (this.rating >= value).toString(), "aria-label": `${value} star${value > 1 ? 's' : ''}`, disabled: this.submitted, onClick: () => this.onStarClick(value) }, h(StarIcon, { filled: this.rating >= value }))))), !this.submitted && (h("div", { key: 'ee1259121b2adb9d697fb44413ae98ba45ffd2fe', class: "bs-chatbot-feedback__field" }, h("label", { key: '6092b767faf76ea377a2b98752b1e544664d6d15', part: "label", class: "bs-chatbot-feedback__label", htmlFor: "bs-chatbot-feedback-comment" }, "Tell us what you think"), h("textarea", { key: '384a13781db62cf3f62b6ad06b4d6b329b320c1f', part: "textarea", id: "bs-chatbot-feedback-comment", class: "bs-chatbot-feedback__textarea", placeholder: "e.g.The response was helpful ....", value: this.comment, onInput: this.onCommentInput }))), this.submitted && this.comment && (h("p", { key: '15fddc08668bc3a74bad663f38e7217e6bc81abc', part: "comment", class: "bs-chatbot-feedback__comment" }, this.comment))), h("div", { key: 'bbedf1924f505e3ddfef44064087a22b7cf6a7fd', class: "bs-chatbot-feedback__actions" }, !this.submitted && (h("button", { key: '47a55de319cded45e550ca405c5e37f4394d51f5', type: "button", part: "submit", class: "bs-chatbot-feedback__submit", disabled: this.rating === 0, onClick: this.onSubmitClick }, h(SendIcon, { key: 'd4bc9834d37ab6988b8f28e2f4fce6e1a138c970' }), "Submit feedback")), h("button", { key: '5d33d5686b28229ebc5154287bee88410fdd7ede', type: "button", part: "new-chat", class: `bs-chatbot-feedback__new-chat ${this.submitted ? 'bs-chatbot-feedback__new-chat--primary' : 'bs-chatbot-feedback__new-chat--outlined'}`, onClick: this.onNewChatClick }, h(EditIcon, { key: '8aae8a6cf36c352384879bbd791c71cea7b6adf6' }), "Start new chat"))));
|
|
127
127
|
}
|
|
128
128
|
static get is() { return "bs-chatbot-feedback"; }
|
|
129
129
|
static get encapsulation() { return "shadow"; }
|
|
@@ -74,7 +74,7 @@ export class BsChatbotHeader {
|
|
|
74
74
|
this.bsClose.emit();
|
|
75
75
|
};
|
|
76
76
|
render() {
|
|
77
|
-
return (h("div", { key: '
|
|
77
|
+
return (h("div", { key: '7e7f71caf75675cce3f178bc4fa9e0a3d53aa812', class: "bs-chatbot-header", role: "banner", "aria-label": this.heading }, h("div", { key: '0ea7c7057d12cfb1ad1824266cbd4d973d3fce38', part: "logo", class: "bs-chatbot-header__logo", role: "img", "aria-label": this.heading, innerHTML: GENIE_LOGO_SVG }), h("div", { key: '6ba043cbd01052d028bcd45ef69d35f3b7e666e4', class: "bs-chatbot-header__actions" }, h("span", { key: '08cb7c189fb35039de90fa230058e8a445661f99', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: 'e2b1ac039f0ae5e50cadd61c423653442f5ad728', type: "button", part: "new-chat", class: "bs-chatbot-header__button", "aria-label": "New chat", onClick: this.onNewChatClick }, h("slot", { key: 'e7e4830b66fcf8d0c2dd85534e040e92f104b3eb', name: "new-chat-icon" }, h(NewChatIcon, { key: '238d9446d2f77c35a3e990e753bbb7cafc96e037' }))), h("bs-tooltip", { key: 'af242e0e02fb8d03aaa4e3e39827b4213bffdfc1', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, "New chat")), h("span", { key: '939bbe2882807f0d3fc45d3e3e0dbf28771d8312', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: '858d8efa957530d463688e7fbfa610ab034a9337', type: "button", part: "history", class: "bs-chatbot-header__button", "aria-label": "History", onClick: this.onHistoryClick }, h("slot", { key: '6f62828c4aec75607922f4351dd32c44c0698bbf', name: "history-icon" }, h(HistoryIcon, { key: '03c85067f778f7a6ddd601e18c71def40d6a64e7' }))), h("bs-tooltip", { key: 'd06e0655156bb6b2ddd1ac825541d4380111c204', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, "History")), h("span", { key: '42e78539d529cea0a19f6f5b1457d1a48bd62f19', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: 'fa0796a28a0a7a6f72ec48e44acd9d257e897529', type: "button", part: "expand", class: "bs-chatbot-header__button", "aria-label": this.expanded ? 'Collapse' : 'Expand', "aria-pressed": this.expanded ? 'true' : 'false', onClick: this.onExpandClick }, h("slot", { key: '369cff5533e420992608351dff1943daff352c25', name: "expand-icon" }, h(ExpandIcon, { key: '2aedcdbfd7a372454b39f4b17e7468f3e2b3cf0c' }))), h("bs-tooltip", { key: '53c2311bd5e8af8a20138eaa6a6dd3a562444a8d', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, this.expanded ? 'Collapse' : 'Expand')), h("span", { key: 'd10e2419f9fcb9fc73cc4fe00a17ef5496d904dc', class: "bs-chatbot-header__tooltip-wrapper" }, h("button", { key: 'c441d3a39bca00357f673ae6814fab78143e1c6b', type: "button", part: "close", class: "bs-chatbot-header__button", "aria-label": "Close", onClick: this.onCloseClick }, h("slot", { key: '3b9f99bb50fc55ddcc57ccaf4a173ae57de4b48c', name: "close-icon" }, h(CloseIcon, { key: 'dbac72f3e57dc18afe79669227cad5f09f69da3f' }))), h("bs-tooltip", { key: 'eab5277e0aabccad8f0d831c679e7b9fad1e5740', class: "bs-chatbot-header__tooltip", placement: "top", "aria-hidden": "true" }, "Close")))));
|
|
78
78
|
}
|
|
79
79
|
static get is() { return "bs-chatbot-header"; }
|
|
80
80
|
static get encapsulation() { return "shadow"; }
|
|
@@ -105,7 +105,7 @@ export class BsChatbotResponseAction {
|
|
|
105
105
|
};
|
|
106
106
|
render() {
|
|
107
107
|
const hasSources = !!this.sourcesCount && this.sourcesCount > 0;
|
|
108
|
-
return (h("div", { key: '
|
|
108
|
+
return (h("div", { key: 'a5a577b57036f3507bd382142d59aa5cfb5d1a10', class: "bs-chatbot-response-action" }, h("button", { key: 'd5d7682b13210606a9d73b04666fb5286241a71b', type: "button", part: "like", class: "bs-chatbot-response-action__button", "aria-label": "Like", onClick: this.onLikeClick }, h("slot", { key: '57d73923eaf8ed0ca1f014378316edf17510c466', name: "like-icon" }, h(ThumbsUpIcon, { key: 'e2ecc2cefe28cf928456958a65dfdbe58498a5ed' }))), h("button", { key: '0be83348e74004b96ed3d70747cf80aff49c55b5', type: "button", part: "dislike", class: "bs-chatbot-response-action__button", "aria-label": "Dislike", onClick: this.onDislikeClick }, h("slot", { key: 'a2534fbac754be7c70e2a701409d0a4e3de6f4f3', name: "dislike-icon" }, h(ThumbsDownIcon, { key: 'fd1d3fb6cba214c58ac3aef3c586c9acda898b42' }))), h("button", { key: 'f22e29329216f08ac7239d70be7e2404e5c6cf74', type: "button", part: "copy", class: "bs-chatbot-response-action__button", "aria-label": "Copy", onClick: this.onCopyClick }, h("slot", { key: '5b09286141378e540dad9f1c46cb8955ba6c45a2', name: "copy-icon" }, h(CopyIcon, { key: '89530dbef867c50eb6a89d44e9c1e9f0d0054710' }))), h("button", { key: '8c3795a99e154af1d9c549b33e308ce023ede273', type: "button", part: "regenerate", class: "bs-chatbot-response-action__button", "aria-label": "Regenerate", onClick: this.onRegenerateClick }, h("slot", { key: '44380d96f15e7e34306c671f73445c599b555c2d', name: "regenerate-icon" }, h(RegenerateIcon, { key: '2889133104c33c9534b65ccac3bef2d5e9e62215' }))), h("div", { key: 'a8ca7cae6645d86de3c8cec97327592dc64f84c5', class: "bs-chatbot-response-action__menu-wrapper" }, h("button", { key: '635e247f931a9b850b517a0278f94dec6af06024', type: "button", part: "menu", class: "bs-chatbot-response-action__button", "aria-label": "More options", "aria-haspopup": "menu", "aria-expanded": this.menuOpen ? 'true' : 'false', onClick: this.onMenuClick }, h("slot", { key: 'f6fd17940a559fad1f3fe345932990c25dbbd175', name: "menu-icon" }, h(MenuIcon, { key: '42a1c62cfa3335cb3ff18f786d623fb24b85e22e' }))), this.menuOpen && (h("div", { key: 'dbae73386c940b6634e0b6965e29cebcb22894d4', class: "bs-chatbot-response-action__menu-popup" }, h("slot", { key: '80510a0aaf42bb82c62733f6a1fb0a170cbaafc1', name: "menu" })))), hasSources && (h("button", { key: 'dd97c3a10903a43af26fbc410b70c2d3537978ac', type: "button", part: "sources", class: "bs-chatbot-response-action__sources", onClick: this.onSourcesClick }, h("slot", { key: '6714d2472df74279948428cc21cf1f52b9be30e7', name: "sources-icon" }, h(SourcesIcon, { key: '0b1f75683249b1adf41e0876285ba60bc4798b00' })), h("span", { key: '6d6bcee3ea127b0d184263bad68df17a56f08d5f', class: "bs-chatbot-response-action__sources-label" }, this.sourcesCount, " ", this.sourcesCount === 1 ? 'source' : 'sources')))));
|
|
109
109
|
}
|
|
110
110
|
static get is() { return "bs-chatbot-response-action"; }
|
|
111
111
|
static get encapsulation() { return "shadow"; }
|
|
@@ -57,7 +57,7 @@ export class BsChatbotSourcesDrawer {
|
|
|
57
57
|
};
|
|
58
58
|
render() {
|
|
59
59
|
const displayCount = this.count ?? this.slottedCount;
|
|
60
|
-
return (h("div", { key: '
|
|
60
|
+
return (h("div", { key: 'ab5e52fcb47131dc7892d8ee7f7ed8a4f08b6d09', class: "bs-chatbot-sources-drawer", role: "region", "aria-label": this.heading }, h("div", { key: '8796c29ea6b2526172db45138a0e0ce2a5c42a9a', class: "bs-chatbot-sources-drawer__header" }, h("div", { key: '68c88eda8a6177381f0876a8793df56ac0184f97', class: "bs-chatbot-sources-drawer__title-group" }, h("h2", { key: 'c45cf3bbc19e1b823dc3fb5a4d8054adaaad9cd8', part: "heading", class: "bs-chatbot-sources-drawer__heading" }, this.heading), displayCount > 0 && (h("span", { key: '233322ff5aeec5cd0c83ba8b19dff4d69d3a815f', part: "count", class: "bs-chatbot-sources-drawer__count" }, displayCount))), h("button", { key: '430d248b87ce7f6ec4dfe215e9f5b59f00cfa6f5', type: "button", part: "collapse", class: "bs-chatbot-sources-drawer__collapse", "aria-label": "Collapse sources", onClick: this.onCollapseClick }, h("slot", { key: '653546edda2ca9c971fa81b49073792392f5401b', name: "collapse-icon" }, h(CaretRightIcon, { key: '8b43f2c17ef1604e38ed28bf418493a06671fa3f' })))), h("div", { key: '200db381a1beff3bc3ac3e3851a398c26049a144', part: "list", class: "bs-chatbot-sources-drawer__list" }, h("slot", { key: 'e8f1c5085c069fc007881ae7be228cc3bec50516', onSlotchange: this.onSlotchange }))));
|
|
61
61
|
}
|
|
62
62
|
static get is() { return "bs-chatbot-sources-drawer"; }
|
|
63
63
|
static get encapsulation() { return "shadow"; }
|
package/dist/collection/components/bs-chatbot-suggestion-button/bs-chatbot-suggestion-button.js
CHANGED
|
@@ -45,7 +45,7 @@ export class BsChatbotSuggestionButton {
|
|
|
45
45
|
this.bsSelect.emit();
|
|
46
46
|
};
|
|
47
47
|
render() {
|
|
48
|
-
return (h("button", { key: '
|
|
48
|
+
return (h("button", { key: '480879357259eb51958f342800e1a367beea634d', type: "button", part: "button", class: "bs-chatbot-suggestion-button", disabled: this.disabled, onClick: this.onClick }, h("slot", { key: '79c5164455cf06cbb2d4334f27a883c31757878b' })));
|
|
49
49
|
}
|
|
50
50
|
static get is() { return "bs-chatbot-suggestion-button"; }
|
|
51
51
|
static get encapsulation() { return "shadow"; }
|
|
@@ -33,7 +33,7 @@ export class BsCheckboxSkeleton {
|
|
|
33
33
|
* (unusual) default `bs-checkbox` itself uses. */
|
|
34
34
|
size = 'lg';
|
|
35
35
|
render() {
|
|
36
|
-
return (h("span", { key: '
|
|
36
|
+
return (h("span", { key: '4f03edea0ccdd12a7956d8ea66489aa5ea2049eb', part: "container", class: "bs-checkbox-skeleton", role: "status", "aria-label": "Loading" }, h("span", { key: '35acfd9f5b5f6094d833a339771d02fb7dadecb4', part: "box", class: `bs-checkbox-skeleton__box bs-checkbox-skeleton__box--${this.size}` }), h("span", { key: '6fe0a18b4d34898a8f516c0fb01710c08b30a208', part: "label", class: "bs-checkbox-skeleton__label" })));
|
|
37
37
|
}
|
|
38
38
|
static get is() { return "bs-checkbox-skeleton"; }
|
|
39
39
|
static get encapsulation() { return "shadow"; }
|
|
@@ -118,7 +118,7 @@ export class BsCheckbox {
|
|
|
118
118
|
"references": {
|
|
119
119
|
"BsCheckboxSize": {
|
|
120
120
|
"location": "local",
|
|
121
|
-
"path": "/home/runner/work/Brandsync-
|
|
121
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-checkbox/bs-checkbox.tsx",
|
|
122
122
|
"id": "src/components/bs-checkbox/bs-checkbox.tsx::BsCheckboxSize"
|
|
123
123
|
}
|
|
124
124
|
}
|
|
@@ -92,7 +92,7 @@ export class BsChipFilter {
|
|
|
92
92
|
"references": {
|
|
93
93
|
"BsChipFilterSize": {
|
|
94
94
|
"location": "local",
|
|
95
|
-
"path": "/home/runner/work/Brandsync-
|
|
95
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-chip/bs-chip-filter/bs-chip-filter.tsx",
|
|
96
96
|
"id": "src/components/bs-chip/bs-chip-filter/bs-chip-filter.tsx::BsChipFilterSize"
|
|
97
97
|
}
|
|
98
98
|
}
|
|
@@ -69,7 +69,7 @@ export class BsChipInformative {
|
|
|
69
69
|
"references": {
|
|
70
70
|
"BsChipInformativeColor": {
|
|
71
71
|
"location": "local",
|
|
72
|
-
"path": "/home/runner/work/Brandsync-
|
|
72
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-chip/bs-chip-informative/bs-chip-informative.tsx",
|
|
73
73
|
"id": "src/components/bs-chip/bs-chip-informative/bs-chip-informative.tsx::BsChipInformativeColor"
|
|
74
74
|
}
|
|
75
75
|
}
|
|
@@ -95,7 +95,7 @@ export class BsChipInformative {
|
|
|
95
95
|
"references": {
|
|
96
96
|
"BsChipInformativeSize": {
|
|
97
97
|
"location": "local",
|
|
98
|
-
"path": "/home/runner/work/Brandsync-
|
|
98
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-chip/bs-chip-informative/bs-chip-informative.tsx",
|
|
99
99
|
"id": "src/components/bs-chip/bs-chip-informative/bs-chip-informative.tsx::BsChipInformativeSize"
|
|
100
100
|
}
|
|
101
101
|
}
|
|
@@ -103,7 +103,7 @@ export class BsChipInput {
|
|
|
103
103
|
"references": {
|
|
104
104
|
"BsChipInputSize": {
|
|
105
105
|
"location": "local",
|
|
106
|
-
"path": "/home/runner/work/Brandsync-
|
|
106
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-chip/bs-chip-input/bs-chip-input.tsx",
|
|
107
107
|
"id": "src/components/bs-chip/bs-chip-input/bs-chip-input.tsx::BsChipInputSize"
|
|
108
108
|
}
|
|
109
109
|
}
|
|
@@ -209,7 +209,7 @@ export class BsComposer {
|
|
|
209
209
|
"references": {
|
|
210
210
|
"BsComposerVariant": {
|
|
211
211
|
"location": "local",
|
|
212
|
-
"path": "/home/runner/work/Brandsync-
|
|
212
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-composer/bs-composer.tsx",
|
|
213
213
|
"id": "src/components/bs-composer/bs-composer.tsx::BsComposerVariant"
|
|
214
214
|
}
|
|
215
215
|
}
|
|
@@ -274,7 +274,7 @@ export class BsComposer {
|
|
|
274
274
|
"references": {
|
|
275
275
|
"BsComposerState": {
|
|
276
276
|
"location": "local",
|
|
277
|
-
"path": "/home/runner/work/Brandsync-
|
|
277
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-composer/bs-composer.tsx",
|
|
278
278
|
"id": "src/components/bs-composer/bs-composer.tsx::BsComposerState"
|
|
279
279
|
}
|
|
280
280
|
}
|
|
@@ -131,7 +131,7 @@ export class BsComposerStatusBanner {
|
|
|
131
131
|
"references": {
|
|
132
132
|
"BsComposerStatusBannerType": {
|
|
133
133
|
"location": "local",
|
|
134
|
-
"path": "/home/runner/work/Brandsync-
|
|
134
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-composer-status-banner/bs-composer-status-banner.tsx",
|
|
135
135
|
"id": "src/components/bs-composer-status-banner/bs-composer-status-banner.tsx::BsComposerStatusBannerType"
|
|
136
136
|
}
|
|
137
137
|
}
|
|
@@ -90,7 +90,7 @@ export class BsDataTable {
|
|
|
90
90
|
"references": {
|
|
91
91
|
"BsDataTableColumn": {
|
|
92
92
|
"location": "local",
|
|
93
|
-
"path": "/home/runner/work/Brandsync-
|
|
93
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-data-table/bs-data-table.tsx",
|
|
94
94
|
"id": "src/components/bs-data-table/bs-data-table.tsx::BsDataTableColumn"
|
|
95
95
|
}
|
|
96
96
|
}
|
|
@@ -114,7 +114,7 @@ export class BsDataTable {
|
|
|
114
114
|
"references": {
|
|
115
115
|
"BsDataTableRow": {
|
|
116
116
|
"location": "local",
|
|
117
|
-
"path": "/home/runner/work/Brandsync-
|
|
117
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-data-table/bs-data-table.tsx",
|
|
118
118
|
"id": "src/components/bs-data-table/bs-data-table.tsx::BsDataTableRow"
|
|
119
119
|
}
|
|
120
120
|
}
|
|
@@ -197,12 +197,12 @@ export class BsDataTable {
|
|
|
197
197
|
"references": {
|
|
198
198
|
"BsDataTableRow": {
|
|
199
199
|
"location": "local",
|
|
200
|
-
"path": "/home/runner/work/Brandsync-
|
|
200
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-data-table/bs-data-table.tsx",
|
|
201
201
|
"id": "src/components/bs-data-table/bs-data-table.tsx::BsDataTableRow"
|
|
202
202
|
},
|
|
203
203
|
"BsDataTableColumn": {
|
|
204
204
|
"location": "local",
|
|
205
|
-
"path": "/home/runner/work/Brandsync-
|
|
205
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-data-table/bs-data-table.tsx",
|
|
206
206
|
"id": "src/components/bs-data-table/bs-data-table.tsx::BsDataTableColumn"
|
|
207
207
|
}
|
|
208
208
|
}
|
|
@@ -198,7 +198,7 @@ export class BsDialog {
|
|
|
198
198
|
"references": {
|
|
199
199
|
"BsDialogSize": {
|
|
200
200
|
"location": "local",
|
|
201
|
-
"path": "/home/runner/work/Brandsync-
|
|
201
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-dialog/bs-dialog.tsx",
|
|
202
202
|
"id": "src/components/bs-dialog/bs-dialog.tsx::BsDialogSize"
|
|
203
203
|
}
|
|
204
204
|
}
|
|
@@ -341,10 +341,10 @@ export class BsInput {
|
|
|
341
341
|
return (h("div", { part: "field", class: `bs-input__field bs-input__field--pin ${errorClass} ${disabledClass}` }, Array.from({ length: this.length }).map((_, i) => (h("input", { id: i === 0 ? 'control' : undefined, ref: el => (this.pinInputs[i] = el), part: "control", class: "bs-input__pin-cell", type: "text", inputMode: "numeric", maxLength: 1, value: this.value[i] ?? '', disabled: this.disabled, "aria-required": this.required ? 'true' : undefined, onInput: this.onPinInput(i), onKeyDown: this.onPinKeydown(i) })))));
|
|
342
342
|
}
|
|
343
343
|
render() {
|
|
344
|
-
return (h("div", { key: '
|
|
344
|
+
return (h("div", { key: '29c5fb5ff9425d70dd8455a191c84812fdc44956', class: `bs-input ${this.error ? 'bs-input--error' : ''}` }, this.label && (
|
|
345
345
|
// "control" is a fixed id, not a generated one -- safe because Shadow DOM scopes ids
|
|
346
346
|
// to this instance's own shadow root, so it can never collide with another bs-input.
|
|
347
|
-
h("label", { key: '
|
|
347
|
+
h("label", { key: '8da819da9b93e2aec33461677e62dc82021d7a02', part: "label", class: "bs-input__label", htmlFor: "control" }, this.label, this.required && (h("span", { key: '0abd96f57861eb8a8c41cf7181e11f3b44e195e5', part: "required", class: "bs-input__required", "aria-hidden": "true" }, "*")))), this.type === 'pin' ? this.renderPinField() : this.type === 'initials' ? this.renderInitialsField() : this.renderField(), this.error ? (h("span", { id: "description-or-error", part: "error", class: "bs-input__error" }, h("svg", { part: "error-icon", class: "bs-input__error-icon", viewBox: "0 0 16 16", fill: "none", "aria-hidden": "true" }, h("circle", { cx: "8", cy: "8", r: "6.5", stroke: "currentColor", "stroke-width": "1.2" }), h("path", { d: "M8 5V8.5", stroke: "currentColor", "stroke-width": "1.2", "stroke-linecap": "round" }), h("circle", { cx: "8", cy: "11", r: "0.75", fill: "currentColor" })), this.error)) : this.description ? (h("span", { id: "description-or-error", part: "description", class: "bs-input__description" }, this.description)) : null));
|
|
348
348
|
}
|
|
349
349
|
static get is() { return "bs-input"; }
|
|
350
350
|
static get encapsulation() { return "shadow"; }
|
|
@@ -105,7 +105,7 @@ export class BsLogo {
|
|
|
105
105
|
"references": {
|
|
106
106
|
"BsLogoVariant": {
|
|
107
107
|
"location": "local",
|
|
108
|
-
"path": "/home/runner/work/Brandsync-
|
|
108
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-logo/bs-logo.tsx",
|
|
109
109
|
"id": "src/components/bs-logo/bs-logo.tsx::BsLogoVariant"
|
|
110
110
|
}
|
|
111
111
|
}
|
|
@@ -131,7 +131,7 @@ export class BsLogo {
|
|
|
131
131
|
"references": {
|
|
132
132
|
"BsLogoBackground": {
|
|
133
133
|
"location": "local",
|
|
134
|
-
"path": "/home/runner/work/Brandsync-
|
|
134
|
+
"path": "/home/runner/work/Brandsync-webcomponents/Brandsync-webcomponents/packages/wc/src/components/bs-logo/bs-logo.tsx",
|
|
135
135
|
"id": "src/components/bs-logo/bs-logo.tsx::BsLogoBackground"
|
|
136
136
|
}
|
|
137
137
|
}
|
|
@@ -22,7 +22,7 @@ import { h } from "@stencil/core";
|
|
|
22
22
|
*/
|
|
23
23
|
export class BsMenu {
|
|
24
24
|
render() {
|
|
25
|
-
return (h("div", { key: '
|
|
25
|
+
return (h("div", { key: 'dd742f65c43d51805fff4b77412e12d8d8704e3f', part: "list", class: "bs-menu", role: "menu" }, h("slot", { key: '395c901d030847b07a0936a16bef43ce4c3931cd' })));
|
|
26
26
|
}
|
|
27
27
|
static get is() { return "bs-menu"; }
|
|
28
28
|
static get encapsulation() { return "shadow"; }
|
|
@@ -47,7 +47,7 @@ export class BsMenuItem {
|
|
|
47
47
|
this.bsSelect.emit();
|
|
48
48
|
};
|
|
49
49
|
render() {
|
|
50
|
-
return (h("button", { key: '
|
|
50
|
+
return (h("button", { key: '537a4ef632ef8acf72b0cf7747ade28ba307e1ef', type: "button", part: "item", role: "menuitem", class: `bs-menu-item ${this.disabled ? 'bs-menu-item--disabled' : ''}`, disabled: this.disabled, "aria-disabled": this.disabled ? 'true' : undefined, onClick: this.onClick }, h("span", { key: '67bb25d41e2066f9e9d2fd106ebb24b3eecdce63', part: "icon", class: `bs-menu-item__icon ${this.hasIcon ? 'bs-menu-item__icon--has-content' : ''}` }, h("slot", { key: 'df844ec5fefff0e64624681f5fddc245fc18d426', name: "icon", onSlotchange: this.onIconSlotchange })), h("span", { key: 'b657fb13e0a437ecc7300816cbffb91f7668c665', part: "label", class: "bs-menu-item__label" }, h("slot", { key: '273220d5e7c90aae4d677c634f534897c8b980c6' }))));
|
|
51
51
|
}
|
|
52
52
|
static get is() { return "bs-menu-item"; }
|
|
53
53
|
static get encapsulation() { return "shadow"; }
|
|
@@ -87,7 +87,7 @@ export class BsPagination {
|
|
|
87
87
|
}
|
|
88
88
|
render() {
|
|
89
89
|
const pageList = this.getPageList();
|
|
90
|
-
return (h("nav", { key: '
|
|
90
|
+
return (h("nav", { key: '1cd9579d68bedee2d0e6e04a96a9ac3230ce21b9', "aria-label": "Pagination" }, h("ul", { key: 'c279f92f1f08f17724a59ddd9a9ff6086307deb1', part: "list", class: "bs-pagination__list" }, h("li", { key: 'cec04dcf7f6e1f6be5774b3a68aacf7f2ec27224', part: "item", class: "bs-pagination__item" }, h("button", { key: 'ed917eaac4275e19de2f9bc2e2cfde4ce03fb93e', part: "prev", type: "button", class: "bs-pagination__control", "aria-label": this.previousLabel, disabled: this.currentPage <= 1, onClick: () => this.goToPage(this.currentPage - 1) }, h(ChevronLeftIcon, { key: 'd0448255baeaceb830aa1b4eefc0d065c5730b2e' }))), pageList.map((item, index) => item === 'ellipsis' ? (h("li", { part: "item", class: "bs-pagination__item", key: `ellipsis-${index}` }, h("span", { part: "ellipsis", class: "bs-pagination__ellipsis", "aria-hidden": "true" }, h(EllipsisIcon, null)))) : (h("li", { part: "item", class: "bs-pagination__item", key: item }, h("button", { part: item === this.currentPage ? 'page current' : 'page', type: "button", class: `bs-pagination__control bs-pagination__page ${item === this.currentPage ? 'bs-pagination__page--current' : ''}`, "aria-label": `Go to page ${item}`, "aria-current": item === this.currentPage ? 'page' : undefined, onClick: () => this.goToPage(item) }, item)))), h("li", { key: 'b0acab6503ad12774d3e1fdc9db75a5403439b49', part: "item", class: "bs-pagination__item" }, h("button", { key: 'e8f1fafeb042983b5d2eedbfd9a145337cb91989', part: "next", type: "button", class: "bs-pagination__control", "aria-label": this.nextLabel, disabled: this.currentPage >= this.safeTotalPages, onClick: () => this.goToPage(this.currentPage + 1) }, h(ChevronRightIcon, { key: '4ee1e79e9f3fd68344e871bb376b6027eb50808e' }))))));
|
|
91
91
|
}
|
|
92
92
|
static get is() { return "bs-pagination"; }
|
|
93
93
|
static get encapsulation() { return "shadow"; }
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { render, h, describe, it, expect } from "@stencil/vitest";
|
|
2
|
+
// Same math as the component's own private `circumference`/`dashOffset` getters, for computing an
|
|
3
|
+
// expected stroke-dashoffset independently of the implementation.
|
|
4
|
+
const expectedDashOffset = (diameter, strokeWidth, value) => {
|
|
5
|
+
const radius = (diameter - strokeWidth) / 2;
|
|
6
|
+
const circumference = 2 * Math.PI * radius;
|
|
7
|
+
const clamped = Math.min(100, Math.max(0, value));
|
|
8
|
+
return circumference * (1 - clamped / 100);
|
|
9
|
+
};
|
|
10
|
+
describe('bs-progress', () => {
|
|
11
|
+
describe('size/type combinations', () => {
|
|
12
|
+
['small', 'medium', 'large'].forEach(size => {
|
|
13
|
+
it(`renders size="${size}" type="determinate"`, async () => {
|
|
14
|
+
const { root } = await render(h("bs-progress", { size: size, type: "determinate", value: 40 }));
|
|
15
|
+
expect(root.shadowRoot.querySelector('.bs-progress__ring')).not.toBeNull();
|
|
16
|
+
expect(root.shadowRoot.querySelector('[part="track"]')).not.toBeNull();
|
|
17
|
+
expect(root.shadowRoot.querySelector('[part="arc"]')).not.toBeNull();
|
|
18
|
+
});
|
|
19
|
+
it(`renders size="${size}" type="indeterminate"`, async () => {
|
|
20
|
+
const { root } = await render(h("bs-progress", { size: size, type: "indeterminate" }));
|
|
21
|
+
expect(root.shadowRoot.querySelector('.bs-progress__spinner')).not.toBeNull();
|
|
22
|
+
expect(root.shadowRoot.querySelector('[part="arc"]')).not.toBeNull();
|
|
23
|
+
});
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
describe('arc sweep', () => {
|
|
27
|
+
[0, 50, 100].forEach(value => {
|
|
28
|
+
it(`computes stroke-dashoffset for value=${value} at default size/stroke-width`, async () => {
|
|
29
|
+
const { root } = await render(h("bs-progress", { value: value }));
|
|
30
|
+
const arc = root.shadowRoot.querySelector('[part="arc"]');
|
|
31
|
+
const expected = expectedDashOffset(44, 4, value);
|
|
32
|
+
expect(Number(arc.getAttribute('stroke-dashoffset'))).toBeCloseTo(expected, 5);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
it('produces a smaller (non-zero) dashoffset for a larger value', async () => {
|
|
36
|
+
const { root: rootLow } = await render(h("bs-progress", { value: 10 }));
|
|
37
|
+
const { root: rootHigh } = await render(h("bs-progress", { value: 90 }));
|
|
38
|
+
const lowOffset = Number(rootLow.shadowRoot.querySelector('[part="arc"]').getAttribute('stroke-dashoffset'));
|
|
39
|
+
const highOffset = Number(rootHigh.shadowRoot.querySelector('[part="arc"]').getAttribute('stroke-dashoffset'));
|
|
40
|
+
expect(highOffset).toBeLessThan(lowOffset);
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
describe('value clamping', () => {
|
|
44
|
+
it('clamps a value above 100 down to 100', async () => {
|
|
45
|
+
const { root } = await render(h("bs-progress", { value: 150 }));
|
|
46
|
+
const label = root.shadowRoot.querySelector('[part="label"]');
|
|
47
|
+
expect(label.textContent).toBe('100%');
|
|
48
|
+
const arc = root.shadowRoot.querySelector('[part="arc"]');
|
|
49
|
+
expect(Number(arc.getAttribute('stroke-dashoffset'))).toBeCloseTo(0, 5);
|
|
50
|
+
});
|
|
51
|
+
it('clamps a negative value up to 0', async () => {
|
|
52
|
+
const { root } = await render(h("bs-progress", { value: -10 }));
|
|
53
|
+
const label = root.shadowRoot.querySelector('[part="label"]');
|
|
54
|
+
expect(label.textContent).toBe('0%');
|
|
55
|
+
const arc = root.shadowRoot.querySelector('[part="arc"]');
|
|
56
|
+
const expected = expectedDashOffset(44, 4, 0);
|
|
57
|
+
expect(Number(arc.getAttribute('stroke-dashoffset'))).toBeCloseTo(expected, 5);
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
describe('label', () => {
|
|
61
|
+
it('renders "${value}%" when determinate and showLabel is true (default)', async () => {
|
|
62
|
+
const { root } = await render(h("bs-progress", { value: 42 }));
|
|
63
|
+
const label = root.shadowRoot.querySelector('[part="label"]');
|
|
64
|
+
expect(label).not.toBeNull();
|
|
65
|
+
expect(label.textContent).toBe('42%');
|
|
66
|
+
});
|
|
67
|
+
it('omits the label when showLabel is false', async () => {
|
|
68
|
+
const { root } = await render(h("bs-progress", { value: 42, showLabel: false }));
|
|
69
|
+
expect(root.shadowRoot.querySelector('[part="label"]')).toBeNull();
|
|
70
|
+
});
|
|
71
|
+
it('omits the label when type is indeterminate, even with showLabel true', async () => {
|
|
72
|
+
const { root } = await render(h("bs-progress", { type: "indeterminate", showLabel: true }));
|
|
73
|
+
expect(root.shadowRoot.querySelector('[part="label"]')).toBeNull();
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
describe('aria attributes', () => {
|
|
77
|
+
it('sets aria-valuemin/max/now for determinate', async () => {
|
|
78
|
+
const { root } = await render(h("bs-progress", { type: "determinate", value: 65 }));
|
|
79
|
+
const box = root.shadowRoot.querySelector('.bs-progress__box');
|
|
80
|
+
expect(box).toEqualAttribute('role', 'progressbar');
|
|
81
|
+
expect(box).toEqualAttribute('aria-valuemin', '0');
|
|
82
|
+
expect(box).toEqualAttribute('aria-valuemax', '100');
|
|
83
|
+
expect(box).toEqualAttribute('aria-valuenow', '65');
|
|
84
|
+
expect(box.hasAttribute('aria-busy')).toBe(false);
|
|
85
|
+
});
|
|
86
|
+
it('omits aria-valuenow and sets aria-busy for indeterminate', async () => {
|
|
87
|
+
const { root } = await render(h("bs-progress", { type: "indeterminate" }));
|
|
88
|
+
const box = root.shadowRoot.querySelector('.bs-progress__box');
|
|
89
|
+
expect(box).toEqualAttribute('role', 'progressbar');
|
|
90
|
+
expect(box.hasAttribute('aria-valuenow')).toBe(false);
|
|
91
|
+
expect(box.hasAttribute('aria-valuemin')).toBe(false);
|
|
92
|
+
expect(box.hasAttribute('aria-valuemax')).toBe(false);
|
|
93
|
+
expect(box).toEqualAttribute('aria-busy', 'true');
|
|
94
|
+
});
|
|
95
|
+
});
|
|
96
|
+
});
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @prop --bs-progress-gap: Gap between the ring and the label. Aliased to --bs-spacing-100.
|
|
3
|
+
* @prop --bs-progress-track: Track circle color (background ring). Aliased to --bs-neutral-200.
|
|
4
|
+
* @prop --bs-progress-arc: Arc/spinner circle color. Aliased to --bs-color-primary-default (the
|
|
5
|
+
* same brand-blue accent bs-button's primary variant uses).
|
|
6
|
+
* @prop --bs-progress-label-color: Percentage label text color. Aliased to --bs-color-primary-default.
|
|
7
|
+
* @prop --bs-progress-label-font-size-sm: Label font size, size="small"/"medium". Aliased to --bs-fontsize-caption-md.
|
|
8
|
+
* @prop --bs-progress-label-line-height-sm: Label line height, size="small"/"medium". Aliased to --bs-line-height-caption-md.
|
|
9
|
+
* @prop --bs-progress-label-font-size-lg: Label font size, size="large". Aliased to --bs-fontsize-body-md.
|
|
10
|
+
* @prop --bs-progress-label-line-height-lg: Label line height, size="large". Aliased to --bs-line-height-body-md.
|
|
11
|
+
* @prop --bs-progress-label-font-weight: Label font weight. Aliased to --bs-font-weight-medium.
|
|
12
|
+
* @prop --bs-progress-spin-duration: Indeterminate spin duration. Aliased to --bs-duration-slower
|
|
13
|
+
* if defined by brandsync-tokens, otherwise a plain 1.4s fallback.
|
|
14
|
+
*/
|
|
15
|
+
:host {
|
|
16
|
+
display: inline-flex;
|
|
17
|
+
|
|
18
|
+
--bs-progress-gap: var(--bs-spacing-100);
|
|
19
|
+
--bs-progress-track: var(--bs-neutral-200);
|
|
20
|
+
--bs-progress-arc: var(--bs-color-primary-default);
|
|
21
|
+
--bs-progress-label-color: var(--bs-color-primary-default);
|
|
22
|
+
--bs-progress-label-font-size-sm: var(--bs-fontsize-caption-md);
|
|
23
|
+
--bs-progress-label-line-height-sm: var(--bs-line-height-caption-md);
|
|
24
|
+
--bs-progress-label-font-size-lg: var(--bs-fontsize-body-md);
|
|
25
|
+
--bs-progress-label-line-height-lg: var(--bs-line-height-body-md);
|
|
26
|
+
--bs-progress-label-font-weight: var(--bs-font-weight-medium);
|
|
27
|
+
--bs-progress-spin-duration: 1.4s;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.bs-progress {
|
|
31
|
+
display: inline-flex;
|
|
32
|
+
flex-direction: column;
|
|
33
|
+
align-items: center;
|
|
34
|
+
gap: var(--bs-progress-gap);
|
|
35
|
+
font-family: inherit;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.bs-progress__box {
|
|
39
|
+
position: relative;
|
|
40
|
+
display: inline-flex;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.bs-progress__ring {
|
|
44
|
+
/* SVG rings are drawn starting at 3 o'clock by default -- rotate -90deg so the determinate
|
|
45
|
+
sweep starts at 12 o'clock, matching the Figma spec. */
|
|
46
|
+
transform: rotate(-90deg);
|
|
47
|
+
overflow: visible;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
.bs-progress__track {
|
|
51
|
+
stroke: var(--bs-progress-track);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.bs-progress__arc {
|
|
55
|
+
stroke: var(--bs-progress-arc);
|
|
56
|
+
transition: stroke-dashoffset 0.3s ease;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/* Indeterminate: Figma's ring is a fading "comet tail" (transparent -> solid color) sweeping
|
|
60
|
+
around with a visible gap, not a flat-colored partial arc -- SVG has no angular/conic gradient
|
|
61
|
+
primitive, so this uses a CSS conic-gradient (color varies by angle) for the fade, masked down
|
|
62
|
+
from a solid disc to a ring of exactly `strokeWidth` via a radial-gradient mask, then rotated
|
|
63
|
+
continuously. `--bs-progress-spinner-stroke-width`/`--bs-progress-spinner-sweep` are set
|
|
64
|
+
per-instance inline (they depend on the `strokeWidth` prop). */
|
|
65
|
+
.bs-progress__spinner {
|
|
66
|
+
width: 100%;
|
|
67
|
+
height: 100%;
|
|
68
|
+
border-radius: 50%;
|
|
69
|
+
background: conic-gradient(from 0deg, transparent 0deg, var(--bs-progress-arc) var(--bs-progress-spinner-sweep), transparent var(--bs-progress-spinner-sweep));
|
|
70
|
+
-webkit-mask: radial-gradient(
|
|
71
|
+
farthest-side,
|
|
72
|
+
transparent calc(100% - var(--bs-progress-spinner-stroke-width) - 1px),
|
|
73
|
+
#000 calc(100% - var(--bs-progress-spinner-stroke-width))
|
|
74
|
+
);
|
|
75
|
+
mask: radial-gradient(
|
|
76
|
+
farthest-side,
|
|
77
|
+
transparent calc(100% - var(--bs-progress-spinner-stroke-width) - 1px),
|
|
78
|
+
#000 calc(100% - var(--bs-progress-spinner-stroke-width))
|
|
79
|
+
);
|
|
80
|
+
animation: bs-progress-spin var(--bs-progress-spin-duration) linear infinite;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@keyframes bs-progress-spin {
|
|
84
|
+
from {
|
|
85
|
+
transform: rotate(0deg);
|
|
86
|
+
}
|
|
87
|
+
to {
|
|
88
|
+
transform: rotate(360deg);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/* Reduced motion: freezing the spin entirely would remove the only visual signal that work is
|
|
93
|
+
still in progress (there's no label for indeterminate to fall back on), so this slows the
|
|
94
|
+
rotation to a slow, low-frequency pulse instead of stopping it -- still obviously "in progress"
|
|
95
|
+
without being motion-sickness-inducing. Same intent as bs-snackbar's spinner, applied as a
|
|
96
|
+
duration change rather than `animation: none` since indeterminate has no static fallback state
|
|
97
|
+
to freeze on. */
|
|
98
|
+
@media (prefers-reduced-motion: reduce) {
|
|
99
|
+
.bs-progress__spinner {
|
|
100
|
+
animation-duration: calc(var(--bs-progress-spin-duration) * 4);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
.bs-progress__label {
|
|
105
|
+
color: var(--bs-progress-label-color);
|
|
106
|
+
font-weight: var(--bs-progress-label-font-weight);
|
|
107
|
+
text-align: center;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.bs-progress__label--small,
|
|
111
|
+
.bs-progress__label--medium {
|
|
112
|
+
font-size: var(--bs-progress-label-font-size-sm);
|
|
113
|
+
line-height: calc(var(--bs-progress-label-line-height-sm) * 1px);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.bs-progress__label--large {
|
|
117
|
+
font-size: var(--bs-progress-label-font-size-lg);
|
|
118
|
+
line-height: calc(var(--bs-progress-label-line-height-lg) * 1px);
|
|
119
|
+
}
|