@programmerg/bs-elements 0.1.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/LICENSE.md +9 -0
- package/README.md +148 -0
- package/custom-elements.json +7773 -0
- package/dist/bs-elements.bundle.min.js +8 -0
- package/dist/bs-elements.bundle.min.js.map +1 -0
- package/dist/bs-elements.esm.js +1721 -0
- package/dist/bs-elements.esm.js.map +1 -0
- package/dist/bs-elements.min.js +2 -0
- package/dist/bs-elements.min.js.map +1 -0
- package/package.json +50 -0
- package/src/base/BsAccordion.js +116 -0
- package/src/base/BsAlert.js +91 -0
- package/src/base/BsButton.js +129 -0
- package/src/base/BsCarousel.js +216 -0
- package/src/base/BsCollapse.js +84 -0
- package/src/base/BsDropdown.js +98 -0
- package/src/base/BsModal.js +204 -0
- package/src/base/BsOffcanvas.js +157 -0
- package/src/base/BsPopover.js +31 -0
- package/src/base/BsTab.js +69 -0
- package/src/base/BsToast.js +163 -0
- package/src/base/BsTooltip.js +118 -0
- package/src/core/BsElement.js +81 -0
- package/src/core/ReactiveElement.js +183 -0
- package/src/extra/BsCalendar.js +14 -0
- package/src/extra/BsCombobox.js +14 -0
- package/src/extra/BsForm.js +152 -0
- package/src/extra/BsInput.js +209 -0
- package/src/extra/BsTable.js +210 -0
- package/src/extra/BsTabs.js +0 -0
- package/src/extra/BsToastManager.js +0 -0
- package/src/extra/BsTree.js +14 -0
- package/src/extra/BsUploader.js +154 -0
- package/src/index.js +12 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bs-elements.esm.js","sources":["../src/core/ReactiveElement.js","../src/core/BsElement.js","../src/base/BsAccordion.js","../src/base/BsAlert.js","../src/base/BsButton.js","../src/base/BsCarousel.js","../src/base/BsCollapse.js","../src/base/BsDropdown.js","../src/base/BsModal.js","../src/base/BsOffcanvas.js","../src/base/BsTooltip.js","../src/base/BsPopover.js","../src/base/BsTab.js","../src/base/BsToast.js"],"sourcesContent":["export default class ReactiveElement extends HTMLElement {\r\n \r\n constructor() {\r\n super();\r\n\r\n // reactive internals\r\n this.__propValues = Object.create(null);\r\n this.__changed = new Set();\r\n this.__updateScheduled = false;\r\n this.__reflecting = false;\r\n\r\n this.createReactiveProperties();\r\n }\r\n\r\n /* ------------------------------------------------------------------\r\n * Reactive helpers\r\n * ------------------------------------------------------------------ */\r\n\r\n static get properties() {\r\n return {};\r\n }\r\n\r\n static __propertyToAttributeMap;\r\n\r\n static __attributeToPropertyMap;\r\n\r\n static propertyToAttribute(property) {\r\n if (this.__propertyToAttributeMap.size < 1) this.observedAttributes();\r\n return this.__propertyToAttributeMap.get(property);\r\n }\r\n\r\n static attributeToProperty(attribute) {\r\n if (this.__attributeToPropertyMap.size < 1) this.observedAttributes();\r\n return this.__attributeToPropertyMap.get(attribute);\r\n }\r\n\r\n static get observedAttributes() {\r\n if (this.__attributeToPropertyMap === undefined) {\r\n this.__propertyToAttributeMap = new Map();\r\n this.__attributeToPropertyMap = new Map();\r\n \r\n // memoize mappings\r\n const props = this.properties || this.properties?.() || {};\r\n for (const [prop, def] of Object.entries(props)) {\r\n const attr = def?.attribute ?? prop.replace(/([A-Z])/g, \"-$1\").toLowerCase();\r\n this.__propertyToAttributeMap.set(prop, attr);\r\n this.__attributeToPropertyMap.set(attr, prop);\r\n }\r\n }\r\n return [...this.__attributeToPropertyMap.keys()];\r\n }\r\n\r\n getAttrValue(attr, type) {\r\n const value = this.getAttribute(attr);\r\n\r\n switch (type) {\r\n case Boolean: \r\n return this.hasAttribute(attr) && (value === \"\" || value === \"true\");\r\n case Number:\r\n const n = Number(value);\r\n return Number.isNaN(n) ? undefined : n;\r\n default:\r\n return value === null ? undefined : value;\r\n }\r\n }\r\n\r\n setAttrValue(attr, value, type) {\r\n if (value === null || value === undefined || (type === Boolean && !value)) {\r\n this.removeAttribute(attr);\r\n } else {\r\n this.setAttribute(attr, (type === Boolean) ? \"\" : String(value));\r\n }\r\n }\r\n\r\n createReactiveProperties() {\r\n const props = this.constructor.properties || this.constructor.properties?.() || {};\r\n for (const [prop, def] of Object.entries(props)) {\r\n this.createReactiveProperty(prop, def);\r\n }\r\n }\r\n\r\n createReactiveProperty(prop, def) {\r\n const attr = this.constructor.propertyToAttribute(prop);\r\n\r\n // avoid redefining existing properties\r\n if (!Object.getOwnPropertyDescriptor(this.constructor.prototype, prop)) {\r\n Object.defineProperty(this.constructor.prototype, prop, {\r\n get() {\r\n return this.__propValues[prop];\r\n },\r\n set(value) {\r\n const old = this.__propValues[prop];\r\n if (old === value) return;\r\n\r\n this.__propValues[prop] = value;\r\n \r\n // reflect props to attributes\r\n const shouldReflect = def.reflect;\r\n if (shouldReflect) {\r\n this.__reflecting = true;\r\n this.setAttrValue(attr, value, def.type);\r\n queueMicrotask(() => (this.__reflecting = false));\r\n }\r\n\r\n this.__changed.add(prop);\r\n this.scheduleUpdate();\r\n },\r\n configurable: true,\r\n enumerable: true\r\n });\r\n }\r\n \r\n // seed initial values from attributes or defaults\r\n this.__propValues[prop] = this.getAttrValue(attr, def.type) ?? def.default;\r\n }\r\n \r\n childrenToSlots(html) {\r\n var template = document.createElement(\"template\");\r\n template.innerHTML = html;\r\n\r\n const slots = template.content.querySelectorAll(\"slot\");\r\n for (const slot of slots) {\r\n const slotChildren = this.querySelectorAll(`[slot=\"${slot.name}\"]`);\r\n slotChildren.forEach(el => el.removeAttribute(\"slot\"));\r\n slot.replaceWith(...slotChildren);\r\n }\r\n\r\n this.replaceChildren(template.content);\r\n }\r\n\r\n /* ------------------------------------------------------------------\r\n * Custom Element Lifecycle\r\n * ------------------------------------------------------------------ */\r\n\r\n connectedCallback() {\r\n this.firstUpdated();\r\n }\r\n\r\n // eslint-disable-next-line class-methods-use-this\r\n firstUpdated() {}\r\n\r\n attributeChangedCallback(attrName, oldValue, newValue) {\r\n if (this.__reflecting) return;\r\n\r\n const prop = this.constructor.attributeToProperty(attrName);\r\n\r\n const props = this.constructor.properties || this.constructor.properties?.() || {};\r\n const def = props[prop] || {};\r\n\r\n const old = this.__propValues[prop];\r\n const value = this.getAttrValue(attrName, def.type);\r\n if (old === value) return;\r\n this.__propValues[prop] = value;\r\n this.__changed.add(prop);\r\n this.scheduleUpdate();\r\n }\r\n\r\n scheduleUpdate() {\r\n if (this.__updateScheduled) return;\r\n this.__updateScheduled = true;\r\n queueMicrotask(() => {\r\n this.__updateScheduled = false;\r\n const changed = new Set(this.__changed);\r\n this.__changed.clear();\r\n try {\r\n this.updated(changed);\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n });\r\n }\r\n\r\n updated(changed) {\r\n changed.forEach(prop => {\r\n const fn = `_update${prop.charAt(0).toUpperCase() + prop.slice(1)}State`;\r\n if (typeof this[fn] === \"function\") this[fn]();\r\n })\r\n }\r\n\r\n // eslint-disable-next-line class-methods-use-this\r\n disconnectedCallback() {}\r\n\r\n}","import ReactiveElement from \"./ReactiveElement.js\";\r\n\r\n/**\r\n * Reactive Element with Bootstrap integration\r\n */\r\nexport default class BsElement extends ReactiveElement {\r\n\r\n constructor() {\r\n super();\r\n\r\n this.bs = null;\r\n }\r\n \r\n static __bsProps = [];\r\n\r\n static get bsProps() {\r\n if (this.__bsProps === undefined) {\r\n this.__bsProps = [];\r\n\r\n // memoize related props\r\n const props = this.properties || this.properties?.() || {};\r\n for (const [prop, def] of Object.entries(props)) {\r\n if ((def.attribute ?? '').startsWith('data-bs-')) this.__bsProps.push(prop);\r\n }\r\n }\r\n return this.__bsProps;\r\n }\r\n \r\n /**\r\n * Must return a Bootstrap JS constructor (e.g. bootstrap.Modal, bootstrap.Collapse)\r\n */\r\n static get bs() {\r\n return null;\r\n }\r\n\r\n createInstance() {\r\n if (!this.constructor.bs || this.bs) return;\r\n\r\n const options = this.constructor.bsProps.reduce((acc, key) => {\r\n if (key in this.__propValues) acc[key] = this.__propValues[key];\r\n return acc;\r\n }, {}) || {};\r\n\r\n this.bs = new this.constructor.bs(this, options);\r\n }\r\n\r\n dispose() {\r\n if (!this.bs) return;\r\n\r\n this.bs?.dispose();\r\n this.bs = null;\r\n }\r\n\r\n connectedCallback() {\r\n // try to guess prop initial values from markup when it's not set\r\n const props = this.properties || this.properties?.() || {};\r\n for (const [prop, def] of Object.entries(props)) {\r\n if (this.__propValues[prop] !== undefined) continue;\r\n this[prop] = def.values?.find(v => this.className.includes(v));\r\n }\r\n \r\n super.connectedCallback();\r\n this.createInstance();\r\n }\r\n\r\n updated(changed) {\r\n super.updated(changed);\r\n\r\n const shouldReinit = this.constructor.bsProps.some(p => changed.has(p));\r\n if (shouldReinit) {\r\n this.dispose();\r\n this.createInstance();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n super.disconnectedCallback();\r\n this.dispose();\r\n }\r\n\r\n}","import BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsAccordion extends BsElement {\r\n\r\n static get properties() {\r\n return {\r\n flush: {\r\n description: \"Flag to indicate if the alert is dismissible.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n alwaysOpen: {\r\n description: \"Flag to indicate if the alert is dismissible.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n active: {\r\n description: \"Controls the visibility of the alert.\",\r\n type: Number,\r\n default: 0\r\n }\r\n };\r\n }\r\n\r\n toggle(idx) {\r\n this.children[idx].querySelector('.accordion-button').click();\r\n }\r\n\r\n firstUpdated() {\r\n this.classList.add(\"accordion\");\r\n\r\n this._fixMarkup();\r\n this._updateAlwaysOpenState();\r\n this._updateFlushState();\r\n this._updateActiveState(true);\r\n }\r\n\r\n _fixMarkup() {\r\n if (!this.id) this.id = crypto.randomUUID();\r\n Array.from(this.children).forEach((item, idx) => {\r\n item.classList.add('accordion-item');\r\n\r\n let header = item.querySelector('.accordion-header');\r\n if (!header) {\r\n header = document.createElement('h2');\r\n header.classList.add('accordion-header');\r\n item.insertBefore(header, item.firstChild);\r\n }\r\n\r\n let button = item.querySelector('.accordion-button, [data-bs-toggle=\"collapse\"]');\r\n if (!button) {\r\n button = document.createElement('h2');\r\n }\r\n button.classList.add('accordion-button');\r\n button.setAttribute('data-bs-toggle', 'collapse');\r\n console.log(button)\r\n if (!button.hasAttribute('type')) button.setAttribute('type', 'button');\r\n if (button.parentElement !== header) header.appendChild(button);\r\n\r\n let collapse = item.querySelector('.accordion-collapse, .collapse');\r\n if (!collapse) {\r\n collapse = document.createElement('div');\r\n }\r\n collapse.classList.add('accordion-collapse', 'collapse');\r\n const collapseId = collapse.id || `${this.id}-collapse-${idx}`;\r\n collapse.id = collapseId;\r\n\r\n // Ensure collapse content is wrapped in .accordion-body\r\n let body = collapse.querySelector('.accordion-body');\r\n if (!body) {\r\n body = document.createElement('div');\r\n body.classList.add('accordion-body');\r\n \r\n while (collapse.firstChild) {\r\n body.appendChild(collapse.firstChild);\r\n }\r\n\r\n collapse.appendChild(body);\r\n }\r\n\r\n // Wire button -> collapse\r\n button.setAttribute('data-bs-target', `#${collapseId}`);\r\n button.setAttribute('aria-controls', collapseId);\r\n\r\n // Set initial expanded/collapsed classes and aria state based on active\r\n const activeIdx = Number(this.active) || 0;\r\n if (idx === activeIdx) {\r\n collapse.classList.add('show');\r\n button.classList.remove('collapsed');\r\n button.setAttribute('aria-expanded', 'true');\r\n } else {\r\n collapse.classList.remove('show');\r\n if (!button.classList.contains('collapsed')) button.classList.add('collapsed');\r\n button.setAttribute('aria-expanded', 'false');\r\n }\r\n });\r\n }\r\n\r\n _updateAlwaysOpenState() {\r\n this.querySelectorAll('.collapse').forEach(collapse => {\r\n if (!this.alwaysOpen) collapse.setAttribute('data-bs-parent', `#${this.id}`);\r\n else collapse.removeAttribute('data-bs-parent');\r\n });\r\n }\r\n\r\n _updateFlushState() {\r\n this.classList.toggle('accordion-flush', this.flush);\r\n }\r\n\r\n _updateActiveState(isFirstUpdated = false) {\r\n if (!isFirstUpdated) this.toggle(this.active);\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-accordion\", BsAccordion);","import { Alert } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsAlert extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n color: {\r\n description: \"The color theme for the alert.\",\r\n type: String,\r\n default: \"success\",\r\n values: [\"primary\", \"secondary\", \"success\", \"danger\", \"warning\", \"info\", \"light\", \"dark\"]\r\n },\r\n dismissible: {\r\n description: \"Flag to indicate if the alert is dismissible.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n fade: {\r\n description: \"Flag to enable fade transition.\",\r\n type: Boolean,\r\n default: true\r\n },\r\n open: {\r\n description: \"Controls the visibility of the alert.\",\r\n type: Boolean,\r\n default: true\r\n }\r\n };\r\n }\r\n\r\n static get bs() {\r\n return Alert;\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"open\", {\r\n get() {\r\n return this.classList.contains(\"show\");\r\n },\r\n });\r\n }\r\n\r\n close() {\r\n return this.bs?.close();\r\n }\r\n\r\n firstUpdated() {\r\n this.classList.add(\"alert\");\r\n if (!this.hasAttribute(\"role\")) this.setAttribute(\"role\", \"alert\");\r\n \r\n this._updateColorState();\r\n this._updateFadeState();\r\n this._updateDismissibleState();\r\n this._updateOpenState(true);\r\n }\r\n\r\n _updateColorState() {\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .color.values.map(v => \"alert-\" + v)\r\n );\r\n this.classList.add(\"alert-\" + this.color);\r\n }\r\n\r\n _updateFadeState() {\r\n this.classList.toggle(\"fade\", this.fade);\r\n }\r\n\r\n _updateDismissibleState() {\r\n this.classList.toggle(\"alert-dismissible\", this.dismissible);\r\n const btn = this.querySelector(\":scope > .btn-close\");\r\n const markup = `<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"alert\" aria-label=\"Close\"></button>`;\r\n \r\n if (this.dismissible) {\r\n if (!btn) this.insertAdjacentHTML(\"beforeend\", markup);\r\n } else {\r\n if (btn) btn.remove();\r\n }\r\n }\r\n\r\n _updateOpenState(isFirstUpdate = false) {\r\n this.classList.toggle(\"show\", this.__propValues['open']);\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-alert\", BsAlert);","import { Button } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsButton extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n active: {\r\n description: \"Indicates if the component is active.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n color: {\r\n description: \"Color theme for the button.\",\r\n type: String,\r\n default: undefined,\r\n values: [\"primary\", \"secondary\", \"success\", \"danger\", \"warning\", \"info\", \"light\", \"dark\"]\r\n },\r\n outline: {\r\n description: \"Indicates if the component should have an outline.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n size: {\r\n description: \"Size of the Button.\",\r\n type: String,\r\n default: undefined,\r\n values: [\"sm\", \"lg\"]\r\n },\r\n toggle: {\r\n description: \"Bootstrap toggle type.\",\r\n type: String,\r\n default: undefined,\r\n values: [\"button\", \"collapse\", \"dropdown\", \"modal\", \"offcanvas\", \"tab\"]\r\n },\r\n target: {\r\n description: \"Target selector for toggles (data-bs-target).\",\r\n type: String,\r\n default: undefined\r\n }\r\n }\r\n }\r\n\r\n static get bs() {\r\n return Button;\r\n }\r\n\r\n constructor() {\r\n super();\r\n\r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"active\", {\r\n get() {\r\n return this.classList.contains(\"active\");\r\n },\r\n });\r\n }\r\n\r\n // toggle() {\r\n // return this.bs?.toggle();\r\n // }\r\n\r\n firstUpdated() {\r\n //this.classList.add(\"btn\");\r\n\r\n // default type to prevent accidental form submit\r\n if (!this.hasAttribute(\"type\")) this.setAttribute(\"type\", \"button\");\r\n\r\n this._updateColorState();\r\n this._updateOutlineState();\r\n this._updateSizeState();\r\n this._updateToggleState();\r\n this._updateTargetState();\r\n this._updateActiveState(true);\r\n }\r\n\r\n _updateColorState() {\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .color.values.map(v => \"btn-\" + v)\r\n );\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .color.values.map(v => \"btn-outline-\" + v)\r\n );\r\n\r\n const variant = this.outline ? `btn-outline-${this.color}` : `btn-${this.color}`;\r\n this.classList.add(variant);\r\n }\r\n\r\n _updateOutlineState() {\r\n this._updateColorState();\r\n }\r\n\r\n _updateSizeState() {\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .size.values.map(v => \"btn-\" + v)\r\n );\r\n if (this.size) this.classList.add(\"btn-\" + this.size);\r\n }\r\n\r\n _updateToggleState() {\r\n if (this.toggle) this.setAttribute(\"data-bs-toggle\", this.toggle);\r\n else this.removeAttribute(\"data-bs-toggle\");\r\n }\r\n\r\n _updateTargetState() {\r\n if (this.target) this.setAttribute(\"data-bs-target\", this.target);\r\n else this.removeAttribute(\"data-bs-target\");\r\n }\r\n\r\n _updateActiveState(isFirstUpdate = false) {\r\n if (isFirstUpdate) {\r\n this.classList.toggle(\"active\", !!this.__propValues['active']);\r\n\r\n if (this.toggle === \"button\") {\r\n this.setAttribute(\"aria-pressed\", this.active ? \"true\" : \"false\");\r\n } else {\r\n this.removeAttribute(\"aria-pressed\");\r\n }\r\n } else {\r\n this.toggle();\r\n }\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-button\", BsButton);","import { Carousel } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsCarousel extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n fade: {\r\n description: \"\",\r\n type: Boolean,\r\n default: false\r\n },\r\n indicators: {\r\n description: \"\",\r\n type: Boolean,\r\n default: true\r\n },\r\n interval: {\r\n description: \"The time interval (in milliseconds) between automatic transitions of the carousel items.\",\r\n type: Number,\r\n default: 5000,\r\n attribute: 'data-bs-interval'\r\n },\r\n keyboard: {\r\n description: \"A Boolean indicating whether the carousel should respond to keyboard navigation.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: 'data-bs-keyboard'\r\n },\r\n pause: {\r\n description: \"A Boolean indicating whether automatic cycling of the carousel should pause on hover.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: 'data-bs-pause'\r\n },\r\n ride: {\r\n description: \"A Boolean indicating whether the carousel should automatically cycle through items.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: 'data-bs-ride'\r\n },\r\n touch: {\r\n description: \"A Boolean indicating whether the carousel should support left/right swipe interactions on touchscreen\",\r\n type: Boolean,\r\n default: true,\r\n attribute: 'data-bs-touch'\r\n },\r\n wrap: {\r\n description: \"A Boolean indicating whether the carousel should cycle continuously or have hard stops\",\r\n type: Boolean,\r\n default: true,\r\n attribute: 'data-bs-wrap'\r\n }\r\n }\r\n }\r\n \r\n static get bs() {\r\n return Carousel;\r\n }\r\n\r\n cycle() {\r\n return this.bs?.cycle();\r\n }\r\n\r\n next() {\r\n return this.bs?.next();\r\n }\r\n\r\n nextWhenVisible() {\r\n return this.bs?.nextWhenVisible();\r\n }\r\n\r\n pause() {\r\n return this.bs?.pause();\r\n }\r\n\r\n prev() {\r\n return this.bs?.prev();\r\n }\r\n\r\n to(idx) {\r\n return this.bs?.to(idx);\r\n }\r\n\r\n firstUpdated() {\r\n this.classList.add(\"carousel\");\r\n this.classList.add(\"slide\");\r\n \r\n this._fixMarkup();\r\n this._updateFadeState();\r\n this._updateIndicatorsState();\r\n }\r\n\r\n _fixMarkup() {\r\n // ensure inner wrapper\r\n let inner = this.querySelector(\":scope > .carousel-inner\");\r\n if (!inner) {\r\n inner = document.createElement(\"div\");\r\n inner.className = \"carousel-inner\";\r\n\r\n // move suitable children into inner\r\n const toMove = [];\r\n for (const child of Array.from(this.childNodes)) {\r\n if (child.nodeType !== Node.ELEMENT_NODE) continue;\r\n const el = child;\r\n if (el.classList && (el.classList.contains(\"carousel-indicators\") || el.classList.contains(\"carousel-control-prev\") || el.classList.contains(\"carousel-control-next\") || el.classList.contains(\"carousel-inner\"))) continue;\r\n toMove.push(el);\r\n }\r\n\r\n toMove.forEach(el => {\r\n // if element is already a carousel-item, just append\r\n if (el.classList && el.classList.contains(\"carousel-item\")) inner.appendChild(el);\r\n else {\r\n const wrap = document.createElement(\"div\");\r\n wrap.className = \"carousel-item\";\r\n wrap.appendChild(el);\r\n inner.appendChild(wrap);\r\n }\r\n });\r\n\r\n // insert inner at the end (indicators may be inserted before it later)\r\n this.appendChild(inner);\r\n }\r\n\r\n // ensure every child of inner has the proper classes\r\n const items = Array.from(inner.children).filter(n => n.nodeType === Node.ELEMENT_NODE);\r\n items.forEach((it, i) => {\r\n it.classList.add(\"carousel-item\");\r\n if (!inner.querySelector(\".carousel-item.active\") && i === 0) {\r\n it.classList.add(\"active\");\r\n }\r\n });\r\n\r\n // indicators and controls\r\n this._ensureControls();\r\n }\r\n\r\n _renderIndicators() {\r\n // remove existing indicators container\r\n let indicators = this.querySelector(\":scope > .carousel-indicators\");\r\n if (indicators) indicators.remove();\r\n\r\n const inner = this.querySelector(\":scope > .carousel-inner\");\r\n if (!inner) return;\r\n\r\n indicators = document.createElement(\"div\");\r\n indicators.className = \"carousel-indicators\";\r\n\r\n const slides = Array.from(inner.children).filter(n => n.nodeType === Node.ELEMENT_NODE);\r\n slides.forEach((_, idx) => {\r\n const btn = document.createElement(\"button\");\r\n btn.type = \"button\";\r\n btn.setAttribute(\"aria-label\", `Slide ${idx + 1}`);\r\n btn.className = idx === 0 ? \"active\" : \"\";\r\n btn.addEventListener(\"click\", () => this.to(idx));\r\n indicators.appendChild(btn);\r\n });\r\n\r\n // insert indicators before inner\r\n this.insertBefore(indicators, inner);\r\n this._renderIndicatorsActive();\r\n }\r\n\r\n _ensureControls() {\r\n // prev\r\n if (!this.querySelector(\":scope > .carousel-control-prev\")) {\r\n const prev = document.createElement(\"button\");\r\n prev.className = \"carousel-control-prev\";\r\n prev.type = \"button\";\r\n prev.innerHTML = `<span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span><span class=\"visually-hidden\">Previous</span>`;\r\n prev.addEventListener(\"click\", () => this.prev());\r\n this.appendChild(prev);\r\n }\r\n\r\n // next\r\n if (!this.querySelector(\":scope > .carousel-control-next\")) {\r\n const next = document.createElement(\"button\");\r\n next.className = \"carousel-control-next\";\r\n next.type = \"button\";\r\n next.innerHTML = `<span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span><span class=\"visually-hidden\">Next</span>`;\r\n next.addEventListener(\"click\", () => this.next());\r\n this.appendChild(next);\r\n }\r\n }\r\n\r\n _renderIndicatorsActive() {\r\n const indicators = this.querySelector(\":scope > .carousel-indicators\");\r\n const inner = this.querySelector(\":scope > .carousel-inner\");\r\n if (!indicators || !inner) return;\r\n\r\n const slides = Array.from(inner.children).filter(n => n.nodeType === Node.ELEMENT_NODE);\r\n const activeIndex = slides.findIndex(s => s.classList.contains(\"active\"));\r\n\r\n Array.from(indicators.children).forEach((btn, idx) => {\r\n btn.classList.toggle(\"active\", idx === activeIndex);\r\n if (idx === activeIndex) btn.setAttribute(\"aria-current\", \"true\");\r\n else btn.removeAttribute(\"aria-current\");\r\n });\r\n }\r\n\r\n _updateFadeState() {\r\n this.classList.toggle(\"carousel-fade\", !!this.fade);\r\n }\r\n\r\n _updateIndicatorsState() {\r\n if (this.indicators) {\r\n this._renderIndicators();\r\n } else {\r\n const el = this.querySelector(\".carousel-indicators\");\r\n if (el) el.remove();\r\n }\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-carousel\", BsCarousel);","import { Collapse } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsCollapse extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n open: {\r\n description: \"Toggle visible state\",\r\n type: Boolean,\r\n default: false\r\n },\r\n horizontal: {\r\n description: \"Toggle horizontal collapsing\",\r\n type: Boolean,\r\n default: false\r\n },\r\n parent: {\r\n description: \"Selector of the container element\",\r\n type: String,\r\n default: undefined,\r\n attribute: \"data-bs-parent\"\r\n },\r\n toggle: {\r\n description: \"Toggles the collapsible element\",\r\n type: Boolean,\r\n default: false,\r\n attribute: \"data-bs-toggle\"\r\n }\r\n };\r\n }\r\n\r\n static get bs() {\r\n return Collapse;\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"open\", {\r\n get() {\r\n return this.classList.contains(\"show\");\r\n },\r\n });\r\n }\r\n\r\n hide() {\r\n return this.bs?.hide();\r\n }\r\n\r\n show() {\r\n return this.bs?.show();\r\n }\r\n\r\n toggle() {\r\n return this.bs?.toggle();\r\n }\r\n\r\n firstUpdated() {\r\n this.classList.add(\"collapse\");\r\n\r\n this._updateHorizontalState();\r\n this._updateOpenState(true);\r\n }\r\n\r\n _updateHorizontalState() {\r\n if (this.horizontal) {\r\n this.classList.add(\"collapse-horizontal\");\r\n this.style.width ||= \"0px\";\r\n } else {\r\n this.classList.remove(\"collapse-horizontal\");\r\n this.style.width = \"\";\r\n }\r\n }\r\n\r\n _updateOpenState(isFirstUpdate = false) {\r\n if (isFirstUpdate) this.classList.toggle(\"show\", this.__propValues['open']);\r\n else this.toggle();\r\n }\r\n \r\n}\r\n\r\ncustomElements.define(\"bs-collapse\", BsCollapse);","import { Dropdown } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsDropdown extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n autoClose: {\r\n description: \"A boolean indicating whether the Dropdown should automatically close when an item is selected.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: \"data-bs-auto-close\"\r\n },\r\n direction: {\r\n description: \"The direction of the Dropdown menu\",\r\n type: String,\r\n default: \"down\",\r\n values: [\"down\", \"start\", \"end\", \"up\", \"down-center\", \"up-center\"]\r\n },\r\n open: {\r\n description: \"A boolean indicating whether the Dropdown is currently open.\",\r\n type: Boolean,\r\n default: false\r\n }\r\n };\r\n }\r\n\r\n static get bs() {\r\n return Dropdown;\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"open\", {\r\n get() {\r\n return this.classList.contains(\"show\");\r\n },\r\n });\r\n }\r\n\r\n hide() {\r\n return this.bs?.hide();\r\n }\r\n\r\n show() {\r\n return this.bs?.show();\r\n }\r\n\r\n toggle() {\r\n return this.bs?.toggle();\r\n }\r\n\r\n update() {\r\n return this.bs?.update();\r\n }\r\n \r\n firstUpdated() {\r\n this.classList.add(\"dropdown\");\r\n\r\n // Ensure toggle has the proper data attribute\r\n const toggle = this.querySelector(\r\n `:scope > [data-bs-toggle=\"dropdown\"], :scope > .dropdown-toggle`\r\n );\r\n if (toggle && !toggle.hasAttribute(\"data-bs-toggle\")) {\r\n toggle.setAttribute(\"data-bs-toggle\", \"dropdown\");\r\n }\r\n\r\n this._fixMarkup();\r\n this._updateDirectionState();\r\n this._updateOpenState(true);\r\n }\r\n\r\n _fixMarkup() {\r\n // Ensure bs-dropdown-menu children receive Bootstrap class\r\n const menu = this.querySelector(\":scope > div, :scope > .dropdown-menu\");\r\n if (menu && !menu.classList.contains(\"dropdown-menu\")) {\r\n menu.classList.add(\"dropdown-menu\");\r\n }\r\n }\r\n\r\n _updateDirectionState() {\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .direction.values.map(v => \"drop\" + v)\r\n );\r\n this.classList.add(\"drop\" + this.direction);\r\n }\r\n\r\n _updateOpenState(isFirstUpdate = false) {\r\n if (isFirstUpdate) this.classList.toggle(\"show\", this.__propValues['open']);\r\n else this.toggle();\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-dropdown\", BsDropdown);","import { Modal } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsModal extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n focus: {\r\n description: \"Automatically puts focus on the modal with it first opens.\",\r\n type: Boolean,\r\n default: false,\r\n attribute: \"data-bs-focus\"\r\n },\r\n backdrop: {\r\n description: \"Controls the visibility of the modal backdrop.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: \"data-bs-backdrop\"\r\n },\r\n centered: {\r\n description: \"Auto-positioning of the modal to ensure its centered in the viewport.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n fade: {\r\n description: \"Control the fade effect when opening or closing the modal.\",\r\n type: Boolean,\r\n default: true\r\n },\r\n fullscreen: {\r\n description: \"Determines whether or no the modal is rendered in fullscreen mode.\",\r\n type: String,\r\n default: \"\",\r\n values: [\"true\", \"sm\", \"md\", \"lg\", \"xl\", \"xxl\"]\r\n },\r\n header: {\r\n description: \"Customize the modal header content.\",\r\n type: String,\r\n default: undefined\r\n },\r\n open: {\r\n description: \"Used to control the modal state\",\r\n type: Boolean,\r\n default: false\r\n },\r\n keyboard: {\r\n description: \"Ccontrol whether the modal can be closed using the ESC key.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: \"data-bs-keyboard\"\r\n },\r\n scrollable: {\r\n description: \"Determines if the modal content should be scrollable.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n size: {\r\n description: \"Specify the size of the modal.\",\r\n type: String,\r\n default: \"\",\r\n values: [\"sm\", \"lg\", \"xl\"]\r\n }\r\n };\r\n }\r\n\r\n static get bs() {\r\n return Modal;\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"open\", {\r\n get() {\r\n return this.classList.contains(\"show\");\r\n },\r\n });\r\n }\r\n\r\n handleUpdate() {\r\n return this.bs?.handleUpdate();\r\n }\r\n\r\n hide() {\r\n return this.bs?.hide();\r\n }\r\n\r\n show() {\r\n return this.bs?.show();\r\n }\r\n\r\n toggle() {\r\n return this.bs?.toggle();\r\n }\r\n \r\n firstUpdated() {\r\n this.classList.add(\"modal\");\r\n if (!this.hasAttribute(\"tabindex\")) this.setAttribute(\"tabindex\", \"-1\");\r\n\r\n this._fixMarkup();\r\n this._updateFadeState();\r\n this._updateCenteredState();\r\n this._updateScrollableState();\r\n this._updateSizeState();\r\n this._updateFullscreenState();\r\n this._updateOpenState(true);\r\n }\r\n\r\n _fixMarkup() {\r\n let dialog = this.querySelector(\":scope > .modal-dialog\");\r\n if (dialog) return;\r\n\r\n dialog = document.createElement(\"div\");\r\n dialog.classList.add(\"modal-dialog\");\r\n\r\n const content = document.createElement(\"div\");\r\n content.classList.add(\"modal-content\");\r\n\r\n let header = this.querySelector(\":scope > .modal-header\");\r\n if (!header) {\r\n header = document.createElement(\"div\");\r\n header.classList.add(\"modal-header\");\r\n header.insertAdjacentHTML(\"afterbegin\", `<h5 class=\"modal-title\">${this.header}</h5>`);\r\n }\r\n content.appendChild(header);\r\n\r\n if (header.querySelector(\".btn-close\")) {\r\n header.insertAdjacentHTML(\"beforeend\", \r\n `<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>`\r\n );\r\n }\r\n\r\n let body = this.querySelector(\":scope > .modal-body\");\r\n if (!body) {\r\n body = document.createElement(\"div\");\r\n body.classList.add(\"modal-body\");\r\n }\r\n content.appendChild(body);\r\n\r\n let footer = this.querySelector(\":scope > .modal-footer\");\r\n if (footer) {\r\n content.appendChild(footer);\r\n }\r\n\r\n while (this.firstChild) {\r\n body.appendChild(this.firstChild);\r\n }\r\n\r\n dialog.appendChild(content);\r\n this.appendChild(dialog);\r\n }\r\n\r\n _updateHeaderState() {\r\n const title = this.querySelector(\":scope > .modal-dialog > .modal-header > .modal-title\");\r\n if (title) {\r\n title.textContent = this.header;\r\n }\r\n }\r\n\r\n _updateFadeState() {\r\n this.classList.toggle(\"fade\", this.fade);\r\n }\r\n\r\n _updateCenteredState() {\r\n const dialog = this.querySelector(\":scope > .modal-dialog\");\r\n dialog?.classList.toggle(\"modal-dialog-centered\", this.centered);\r\n }\r\n\r\n _updateScrollableState() {\r\n const dialog = this.querySelector(\":scope > .modal-dialog\");\r\n dialog?.classList.toggle(\"modal-dialog-scrollable\", this.scrollable);\r\n }\r\n\r\n _updateSizeState() {\r\n const dialog = this.querySelector(\":scope > .modal-dialog\");\r\n dialog?.classList.remove(\r\n ...this.constructor.properties\r\n .size.values.map(v => \"modal-\" + v)\r\n );\r\n if (this.size) dialog?.classList.add(`modal-${this.size}`);\r\n }\r\n \r\n _updateFullscreenState() {\r\n const dialog = this.querySelector(\":scope > .modal-dialog\");\r\n dialog?.classList.remove(\r\n ...this.constructor.properties\r\n .fullscreen.values.map(v => \"modal-fullscreen-\" + v + \"-down\")\r\n );\r\n if (this.fullscreen) dialog?.classList.add(\r\n this.fullscreen === \"true\"\r\n ? \"modal-fullscreen\"\r\n : `modal-fullscreen-${this.fullscreen}-down`\r\n );\r\n }\r\n\r\n _updateOpenState(isFirstUpdate = false) {\r\n if (isFirstUpdate) this.classList.toggle(\"show\", this.__propValues['open']);\r\n else this.toggle();\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-modal\", BsModal);","import { Offcanvas } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsOffcanvas extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n backdrop: {\r\n description: \"Controls whether the backdrop is displayed behind the offcanvas.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: \"data-bs-backdrop\"\r\n },\r\n fade: {\r\n description: \"Controls whether to use a fade animation when opening/closing the offcanvas.\",\r\n type: Boolean,\r\n default: true\r\n },\r\n header: {\r\n description: \"The header content of the offcanvas.\",\r\n type: String,\r\n default: \"\"\r\n },\r\n open: {\r\n description: \"Used to control the modal state\",\r\n type: Boolean,\r\n default: false\r\n },\r\n keyboard: {\r\n description: \"Controls whether keyboard interaction is enabled for closing the offcanvas.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: \"data-bs-keyboard\"\r\n },\r\n placement: {\r\n description: \"The placement of the offcanvas.\",\r\n type: String,\r\n default: \"start\",\r\n values: [\"start\", \"end\", \"top\", \"bottom\"]\r\n },\r\n scroll: {\r\n description: \"Controls whether to allow scrolling of the body when the offcanvas is open.\",\r\n type: Boolean,\r\n default: false,\r\n attribute: \"data-bs-scroll\"\r\n },\r\n size: {\r\n description: \"Specify the size of the modal.\",\r\n type: String,\r\n default: \"\",\r\n values: [\"sm\", \"md\", \"lg\", \"xl\", \"xxl\"]\r\n }\r\n }\r\n }\r\n \r\n static get bs() {\r\n return Offcanvas;\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"open\", {\r\n get() {\r\n return this.classList.contains(\"show\");\r\n },\r\n });\r\n }\r\n\r\n hide() {\r\n return this.bs?.hide();\r\n }\r\n\r\n show() {\r\n return this.bs?.show();\r\n }\r\n\r\n toggle() {\r\n return this.bs?.toggle();\r\n }\r\n\r\n firstUpdated() {\r\n this.classList.add(\"offcanvas\");\r\n if (!this.hasAttribute(\"tabindex\")) this.setAttribute(\"tabindex\", \"-1\");\r\n\r\n this._fixMarkup();\r\n this._updateFadeState();\r\n this._updatePlacementState();\r\n this._updateSizeState();\r\n this._updateOpenState(true);\r\n }\r\n\r\n _fixMarkup() {\r\n let header = this.querySelector(\":scope > .offcanvas-header\");\r\n if (!header) {\r\n header = document.createElement(\"div\");\r\n header.classList.add(\"offcanvas-header\");\r\n header.insertAdjacentHTML(\"afterbegin\", `<h5 class=\"offcanvas-title\">${this.header ?? \"\"}</h5>`);\r\n header.insertAdjacentHTML(\"beforeend\",\r\n `<button type=\"button\" class=\"btn-close text-reset\" data-bs-dismiss=\"offcanvas\" aria-label=\"Close\"></button>`\r\n );\r\n this.appendChild(header);\r\n }\r\n\r\n if (!header.querySelector(\".btn-close\")) {\r\n header.insertAdjacentHTML(\"beforeend\",\r\n `<button type=\"button\" class=\"btn-close text-reset\" data-bs-dismiss=\"offcanvas\" aria-label=\"Close\"></button>`\r\n );\r\n }\r\n\r\n let body = this.querySelector(\":scope > .offcanvas-body\");\r\n if (!body) {\r\n body = document.createElement(\"div\");\r\n body.classList.add(\"offcanvas-body\");\r\n this.appendChild(body);\r\n }\r\n\r\n for (const node of Array.from(this.childNodes)) {\r\n if (node === header || node === body) continue;\r\n body.appendChild(node)\r\n }\r\n }\r\n\r\n _updateHeaderState() {\r\n const title = this.querySelector(\":scope > .offcanvas-header > .offcanvas-title\");\r\n if (title) title.textContent = this.header ?? \"\";\r\n }\r\n\r\n _updateFadeState() {\r\n this.classList.toggle(\"fade\", this.fade);\r\n }\r\n\r\n _updatePlacementState() {\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .placement.values.map(v => \"offcanvas-\" + v)\r\n );\r\n if (this.placement) this.classList.add(`offcanvas-${this.placement}`);\r\n }\r\n\r\n _updateSizeState() {\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .size.values.map(v => \"offcanvas-\" + v)\r\n );\r\n if (this.size) this.classList.add(`offcanvas-${this.size}`);\r\n }\r\n\r\n _updateOpenState(isFirstUpdate = false) {\r\n if (isFirstUpdate) this.classList.toggle(\"show\", this.__propValues['open']);\r\n else this.toggle();\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-offcanvas\", BsOffcanvas);","import { Tooltip } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsTooltip extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n animation: {\r\n description: \"Flag to enable animation for the tooltip.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: \"data-bs-animation\"\r\n },\r\n title: {\r\n description: \"The title to be displayed within the tooltip.\",\r\n type: String,\r\n default: \"\",\r\n attribute: \"data-bs-title\"\r\n },\r\n delay: {\t\r\n description: \"The delay for showing the tooltip (in milliseconds).\",\r\n type: Number,\r\n default: 0,\r\n attribute: \"data-bs-delay\"\r\n },\r\n html: {\r\n description: \"\",\r\n type: Boolean,\r\n default: false,\r\n attribute: \"data-bs-html\"\r\n },\r\n open: {\r\n description: \"Controls the visibility of the tooltip.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n placement: {\r\n description: \"The preferred placement of the tooltip.\",\r\n type: String,\r\n default: \"top\",\r\n attribute: \"data-bs-placement\"\r\n },\r\n trigger: {\r\n description: \"The trigger action to open/close the popover.\",\r\n type: String,\r\n default: \"click\",\r\n attribute: \"data-bs-trigger\"\r\n },\r\n container: {\r\n description: \"the popover’s HTML appears within that element.\",\r\n type: String,\r\n default: \"body\",\r\n attribute: \"data-bs-container\"\r\n }\r\n }\r\n }\r\n\r\n static get bs() {\r\n return Tooltip;\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"open\", {\r\n get() {\r\n return this.bs?.tip && this.bs?.tip.classList.contains('show');\r\n },\r\n });\r\n }\r\n \r\n disable() {\r\n return this.bs?.disable();\r\n }\r\n \r\n enable() {\r\n return this.bs?.enable();\r\n }\r\n \r\n hide() {\r\n return this.bs?.hide();\r\n }\r\n\r\n show() {\r\n return this.bs?.show();\r\n }\r\n\r\n toggle() {\r\n return this.bs?.toggle();\r\n }\r\n\r\n toggleEnabled() {\r\n return this.bs?.toggleEnabled();\r\n }\r\n\r\n setContent() {\r\n return this.bs?.setContent();\r\n }\r\n\r\n update() {\r\n return this.bs?.update();\r\n }\r\n\r\n firstUpdated() {\r\n if (!this.hasAttribute(\"data-bs-toggle\")) this.setAttribute(\"data-bs-toggle\", \"tooltip\");\r\n\r\n this._updateOpenState(true);\r\n }\r\n\r\n _updateOpenState(isFirstUpdate = false) {\r\n if (isFirstUpdate) this.classList.toggle(\"show\", this.__propValues['open']);\r\n else this.toggle();\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-tooltip\", BsTooltip);","import { Popover } from \"bootstrap\";\r\nimport BsTooltip from \"./BsTooltip.js\";\r\n\r\nexport default class BsPopover extends BsTooltip {\r\n \r\n static get properties() {\r\n return {\r\n ...super.constructor.properties,\r\n content: {\r\n description: \"The content to be displayed within the popover.\",\r\n type: String,\r\n default: \"\",\r\n attribute: \"data-bs-content\"\r\n }\r\n }\r\n }\r\n \r\n static get bs() {\r\n return Popover;\r\n }\r\n\r\n firstUpdated() {\r\n if (!this.hasAttribute(\"data-bs-toggle\")) {\r\n this.setAttribute(\"data-bs-toggle\", \"popover\");\r\n }\r\n\r\n this._updateOpenState(true);\r\n }\r\n}\r\n\r\ncustomElements.define(\"bs-popover\", BsPopover);","import { Tab } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsTab extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n fade: {\r\n description: \"Control the fade effect when opening or closing the modal.\",\r\n type: Boolean,\r\n default: true\r\n },\r\n active: {\r\n description: \"Whether the element is active or not\",\r\n type: Boolean,\r\n default: false\r\n }\r\n }\r\n }\r\n \r\n static get bs() {\r\n return Tab;\r\n }\r\n\r\n constructor() {\r\n super();\r\n\r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"active\", {\r\n get() {\r\n return this.classList.contains(\"active\");\r\n },\r\n });\r\n }\r\n\r\n show() {\r\n return this.bs?.show();\r\n }\r\n\r\n firstUpdated() {\r\n this.classList.add(\"tab-pane\");\r\n if (!this.hasAttribute(\"role\")) this.setAttribute(\"role\", \"tabpanel\");\r\n if (!this.hasAttribute(\"tabindex\")) this.setAttribute(\"tabindex\", \"0\");\r\n\r\n this._updateFadeState();\r\n this._updateActiveState(true);\r\n }\r\n\r\n _updateFadeState() {\r\n this.classList.toggle(\"fade\", this.fade);\r\n }\r\n\r\n _updateActiveState(isFirstUpdate = false) {\r\n const newState = this.__propValues[\"active\"];\r\n if (isFirstUpdate) {\r\n this.classList.toggle(\"show\", newState);\r\n this.classList.toggle(\"active\", newState);\r\n } else {\r\n if (newState) this.show();\r\n else {\r\n this.classList.toggle(\"show\", false);\r\n this.classList.toggle(\"active\", false);\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-tab\", BsTab);","import { Toast } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsToast extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n color: {\r\n description: \"Color of the Toast background.\",\r\n type: String,\r\n default: \"\",\r\n values: [\"\", \"primary\", \"secondary\", \"success\", \"danger\", \"warning\", \"info\", \"light\", \"dark\"]\r\n },\r\n header: {\r\n description: \"Customize the modal header content.\",\r\n type: String,\r\n default: undefined\r\n },\r\n autohide: {\r\n description: \"Controls whether the Toast component autohides after a certain duration.\",\r\n type: Boolean,\r\n default: false,\r\n attribute: \"data-bs-autohide\"\r\n },\r\n delay: {\r\n description: \"The time delay (in milliseconds) before the Toast component autohides.\",\r\n type: Number,\r\n default: 5000,\r\n attribute: \"data-bs-delay\"\r\n },\r\n animation: {\r\n description: \"Controls whether the Toast component fades in and out.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: \"data-bs-animation\"\r\n },\r\n open: {\r\n description: \"Controls whether the Toast component is initially open.\",\r\n type: Boolean,\r\n default: true\r\n },\r\n dismissible: {\r\n description: \"Controls whether the Toast component is dismissible\",\r\n type: Boolean,\r\n default: true\r\n }\r\n }\r\n }\r\n \r\n static get bs() {\r\n return Toast;\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"open\", {\r\n get() {\r\n return this.classList.contains(\"show\");\r\n },\r\n });\r\n }\r\n\r\n hide() {\r\n return this.bs?.hide();\r\n }\r\n\r\n show() {\r\n return this.bs?.show();\r\n }\r\n\r\n isShown() {\r\n return this.bs?.isShown();\r\n }\r\n\r\n firstUpdated() {\r\n this.classList.add(\"toast\");\r\n if (!this.hasAttribute(\"role\")) this.setAttribute(\"role\", \"alert\");\r\n if (!this.hasAttribute(\"aria-live\")) this.setAttribute(\"aria-live\", \"assertive\");\r\n if (!this.hasAttribute(\"aria-atomic\")) this.setAttribute(\"aria-atomic\", \"true\");\r\n\r\n this._fixMarkup();\r\n this._updateHeaderState();\r\n this._updateDismissibleState();\r\n this._updateColorState();\r\n this._updateOpenState(true);\r\n }\r\n\r\n _fixMarkup() {\r\n let header = this.querySelector(\":scope > .toast-header\");\r\n if (!header && this.header) {\r\n header = document.createElement(\"div\");\r\n header.classList.add(\"toast-header\");\r\n \r\n header.insertAdjacentHTML(\"afterbegin\", `<strong class=\"me-auto\">${this.header}</strong>`);\r\n \r\n this.appendChild(header);\r\n }\r\n\r\n let body = this.querySelector(\":scope > .toast-body\");\r\n if (!body) {\r\n body = document.createElement(\"div\");\r\n body.classList.add(\"toast-body\");\r\n\r\n for (let i = 0; i < this.childNodes.length; i++) {\r\n if (this.childNodes[i].classList?.contains(\"toast-header\")) continue;\r\n body.appendChild(this.childNodes[i]);\r\n }\r\n \r\n this.appendChild(body);\r\n }\r\n }\r\n\r\n _updateHeaderState() {\r\n let header = this.querySelector(\":scope > .toast-header\");\r\n if (!header && this.header) {\r\n this._fixMarkup();\r\n header = this.querySelector(\":scope > .toast-header\");\r\n header.textContent = this.header || \"\";\r\n }\r\n if (header && !this.header) {\r\n header.remove();\r\n }\r\n }\r\n\r\n _updateDismissibleState() {\r\n const closeBtn = this.querySelector(\".btn-close\");\r\n if (this.dismissible) {\r\n if (!closeBtn) this.firstChild?.insertAdjacentHTML(\"beforeend\",\r\n `<button type=\"button\" class=\"btn-close ms-2 mb-1\" data-bs-dismiss=\"toast\" aria-label=\"Close\"></button>`\r\n );\r\n } else {\r\n if (closeBtn) closeBtn.remove();\r\n }\r\n }\r\n\r\n _updateColorState() {\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .color.values.map(v => \"bg-\" + v)\r\n );\r\n if (this.color) this.classList.add(\"bg-\" + this.color);\r\n\r\n if (this.color === \"\" || this.color === \"light\" || this.color === \"warning\") {\r\n this.classList.remove(\"text-white\");\r\n } else {\r\n this.classList.add(\"text-white\");\r\n }\r\n }\r\n \r\n _updateOpenState(isFirstUpdate = false) {\r\n const newState = this.__propValues['open'];\r\n if (isFirstUpdate) this.classList.toggle(\"show\", newState);\r\n else {\r\n if (newState) this.show();\r\n else this.hide();\r\n }\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-toast\", BsToast);"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var BsElements=function(t,e){"use strict";class s extends HTMLElement{constructor(){super(),this.__propValues=Object.create(null),this.__changed=new Set,this.__updateScheduled=!1,this.__reflecting=!1,this.createReactiveProperties()}static get properties(){return{}}static __propertyToAttributeMap;static __attributeToPropertyMap;static propertyToAttribute(t){return this.__propertyToAttributeMap.size<1&&this.observedAttributes(),this.__propertyToAttributeMap.get(t)}static attributeToProperty(t){return this.__attributeToPropertyMap.size<1&&this.observedAttributes(),this.__attributeToPropertyMap.get(t)}static get observedAttributes(){if(void 0===this.__attributeToPropertyMap){this.__propertyToAttributeMap=new Map,this.__attributeToPropertyMap=new Map;const t=this.properties||this.properties?.()||{};for(const[e,s]of Object.entries(t)){const t=s?.attribute??e.replace(/([A-Z])/g,"-$1").toLowerCase();this.__propertyToAttributeMap.set(e,t),this.__attributeToPropertyMap.set(t,e)}}return[...this.__attributeToPropertyMap.keys()]}getAttrValue(t,e){const s=this.getAttribute(t);switch(e){case Boolean:return this.hasAttribute(t)&&(""===s||"true"===s);case Number:const e=Number(s);return Number.isNaN(e)?void 0:e;default:return null===s?void 0:s}}setAttrValue(t,e,s){null==e||s===Boolean&&!e?this.removeAttribute(t):this.setAttribute(t,s===Boolean?"":String(e))}createReactiveProperties(){const t=this.constructor.properties||this.constructor.properties?.()||{};for(const[e,s]of Object.entries(t))this.createReactiveProperty(e,s)}createReactiveProperty(t,e){const s=this.constructor.propertyToAttribute(t);Object.getOwnPropertyDescriptor(this.constructor.prototype,t)||Object.defineProperty(this.constructor.prototype,t,{get(){return this.__propValues[t]},set(i){if(this.__propValues[t]===i)return;this.__propValues[t]=i;e.reflect&&(this.__reflecting=!0,this.setAttrValue(s,i,e.type),queueMicrotask(()=>this.__reflecting=!1)),this.__changed.add(t),this.scheduleUpdate()},configurable:!0,enumerable:!0}),this.__propValues[t]=this.getAttrValue(s,e.type)??e.default}childrenToSlots(t){var e=document.createElement("template");e.innerHTML=t;const s=e.content.querySelectorAll("slot");for(const t of s){const e=this.querySelectorAll(`[slot="${t.name}"]`);e.forEach(t=>t.removeAttribute("slot")),t.replaceWith(...e)}this.replaceChildren(e.content)}connectedCallback(){this.firstUpdated()}firstUpdated(){}attributeChangedCallback(t,e,s){if(this.__reflecting)return;const i=this.constructor.attributeToProperty(t),o=(this.constructor.properties||this.constructor.properties?.()||{})[i]||{},a=this.__propValues[i],r=this.getAttrValue(t,o.type);a!==r&&(this.__propValues[i]=r,this.__changed.add(i),this.scheduleUpdate())}scheduleUpdate(){this.__updateScheduled||(this.__updateScheduled=!0,queueMicrotask(()=>{this.__updateScheduled=!1;const t=new Set(this.__changed);this.__changed.clear();try{this.updated(t)}catch(t){console.error(t)}}))}updated(t){t.forEach(t=>{const e=`_update${t.charAt(0).toUpperCase()+t.slice(1)}State`;"function"==typeof this[e]&&this[e]()})}disconnectedCallback(){}}class i extends s{constructor(){super(),this.bs=null}static __bsProps=[];static get bsProps(){if(void 0===this.__bsProps){this.__bsProps=[];const t=this.properties||this.properties?.()||{};for(const[e,s]of Object.entries(t))(s.attribute??"").startsWith("data-bs-")&&this.__bsProps.push(e)}return this.__bsProps}static get bs(){return null}createInstance(){if(!this.constructor.bs||this.bs)return;const t=this.constructor.bsProps.reduce((t,e)=>(e in this.__propValues&&(t[e]=this.__propValues[e]),t),{})||{};this.bs=new this.constructor.bs(this,t)}dispose(){this.bs&&(this.bs?.dispose(),this.bs=null)}connectedCallback(){const t=this.properties||this.properties?.()||{};for(const[e,s]of Object.entries(t))void 0===this.__propValues[e]&&(this[e]=s.values?.find(t=>this.className.includes(t)));super.connectedCallback(),this.createInstance()}updated(t){super.updated(t);this.constructor.bsProps.some(e=>t.has(e))&&(this.dispose(),this.createInstance())}disconnectedCallback(){super.disconnectedCallback(),this.dispose()}}class o extends i{static get properties(){return{flush:{description:"Flag to indicate if the alert is dismissible.",type:Boolean,default:!1},alwaysOpen:{description:"Flag to indicate if the alert is dismissible.",type:Boolean,default:!1},active:{description:"Controls the visibility of the alert.",type:Number,default:0}}}toggle(t){this.children[t].querySelector(".accordion-button").click()}firstUpdated(){this.classList.add("accordion"),this._fixMarkup(),this._updateAlwaysOpenState(),this._updateFlushState(),this._updateActiveState(!0)}_fixMarkup(){this.id||(this.id=crypto.randomUUID()),Array.from(this.children).forEach((t,e)=>{t.classList.add("accordion-item");let s=t.querySelector(".accordion-header");s||(s=document.createElement("h2"),s.classList.add("accordion-header"),t.insertBefore(s,t.firstChild));let i=t.querySelector('.accordion-button, [data-bs-toggle="collapse"]');i||(i=document.createElement("h2")),i.classList.add("accordion-button"),i.setAttribute("data-bs-toggle","collapse"),console.log(i),i.hasAttribute("type")||i.setAttribute("type","button"),i.parentElement!==s&&s.appendChild(i);let o=t.querySelector(".accordion-collapse, .collapse");o||(o=document.createElement("div")),o.classList.add("accordion-collapse","collapse");const a=o.id||`${this.id}-collapse-${e}`;o.id=a;let r=o.querySelector(".accordion-body");if(!r){for(r=document.createElement("div"),r.classList.add("accordion-body");o.firstChild;)r.appendChild(o.firstChild);o.appendChild(r)}i.setAttribute("data-bs-target",`#${a}`),i.setAttribute("aria-controls",a);e===(Number(this.active)||0)?(o.classList.add("show"),i.classList.remove("collapsed"),i.setAttribute("aria-expanded","true")):(o.classList.remove("show"),i.classList.contains("collapsed")||i.classList.add("collapsed"),i.setAttribute("aria-expanded","false"))})}_updateAlwaysOpenState(){this.querySelectorAll(".collapse").forEach(t=>{this.alwaysOpen?t.removeAttribute("data-bs-parent"):t.setAttribute("data-bs-parent",`#${this.id}`)})}_updateFlushState(){this.classList.toggle("accordion-flush",this.flush)}_updateActiveState(t=!1){t||this.toggle(this.active)}}customElements.define("bs-accordion",o);class a extends i{static get properties(){return{color:{description:"The color theme for the alert.",type:String,default:"success",values:["primary","secondary","success","danger","warning","info","light","dark"]},dismissible:{description:"Flag to indicate if the alert is dismissible.",type:Boolean,default:!1},fade:{description:"Flag to enable fade transition.",type:Boolean,default:!0},open:{description:"Controls the visibility of the alert.",type:Boolean,default:!0}}}static get bs(){return e.Alert}constructor(){super(),Object.defineProperty(this.constructor.prototype,"open",{get(){return this.classList.contains("show")}})}close(){return this.bs?.close()}firstUpdated(){this.classList.add("alert"),this.hasAttribute("role")||this.setAttribute("role","alert"),this._updateColorState(),this._updateFadeState(),this._updateDismissibleState(),this._updateOpenState(!0)}_updateColorState(){this.classList.remove(...this.constructor.properties.color.values.map(t=>"alert-"+t)),this.classList.add("alert-"+this.color)}_updateFadeState(){this.classList.toggle("fade",this.fade)}_updateDismissibleState(){this.classList.toggle("alert-dismissible",this.dismissible);const t=this.querySelector(":scope > .btn-close");this.dismissible?t||this.insertAdjacentHTML("beforeend",'<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>'):t&&t.remove()}_updateOpenState(t=!1){this.classList.toggle("show",this.__propValues.open)}}customElements.define("bs-alert",a);class r extends i{static get properties(){return{active:{description:"Indicates if the component is active.",type:Boolean,default:!1},color:{description:"Color theme for the button.",type:String,default:void 0,values:["primary","secondary","success","danger","warning","info","light","dark"]},outline:{description:"Indicates if the component should have an outline.",type:Boolean,default:!1},size:{description:"Size of the Button.",type:String,default:void 0,values:["sm","lg"]},toggle:{description:"Bootstrap toggle type.",type:String,default:void 0,values:["button","collapse","dropdown","modal","offcanvas","tab"]},target:{description:"Target selector for toggles (data-bs-target).",type:String,default:void 0}}}static get bs(){return e.Button}constructor(){super(),Object.defineProperty(this.constructor.prototype,"active",{get(){return this.classList.contains("active")}})}firstUpdated(){this.hasAttribute("type")||this.setAttribute("type","button"),this._updateColorState(),this._updateOutlineState(),this._updateSizeState(),this._updateToggleState(),this._updateTargetState(),this._updateActiveState(!0)}_updateColorState(){this.classList.remove(...this.constructor.properties.color.values.map(t=>"btn-"+t)),this.classList.remove(...this.constructor.properties.color.values.map(t=>"btn-outline-"+t));const t=this.outline?`btn-outline-${this.color}`:`btn-${this.color}`;this.classList.add(t)}_updateOutlineState(){this._updateColorState()}_updateSizeState(){this.classList.remove(...this.constructor.properties.size.values.map(t=>"btn-"+t)),this.size&&this.classList.add("btn-"+this.size)}_updateToggleState(){this.toggle?this.setAttribute("data-bs-toggle",this.toggle):this.removeAttribute("data-bs-toggle")}_updateTargetState(){this.target?this.setAttribute("data-bs-target",this.target):this.removeAttribute("data-bs-target")}_updateActiveState(t=!1){t?(this.classList.toggle("active",!!this.__propValues.active),"button"===this.toggle?this.setAttribute("aria-pressed",this.active?"true":"false"):this.removeAttribute("aria-pressed")):this.toggle()}}customElements.define("bs-button",r);class n extends i{static get properties(){return{fade:{description:"",type:Boolean,default:!1},indicators:{description:"",type:Boolean,default:!0},interval:{description:"The time interval (in milliseconds) between automatic transitions of the carousel items.",type:Number,default:5e3,attribute:"data-bs-interval"},keyboard:{description:"A Boolean indicating whether the carousel should respond to keyboard navigation.",type:Boolean,default:!0,attribute:"data-bs-keyboard"},pause:{description:"A Boolean indicating whether automatic cycling of the carousel should pause on hover.",type:Boolean,default:!0,attribute:"data-bs-pause"},ride:{description:"A Boolean indicating whether the carousel should automatically cycle through items.",type:Boolean,default:!0,attribute:"data-bs-ride"},touch:{description:"A Boolean indicating whether the carousel should support left/right swipe interactions on touchscreen",type:Boolean,default:!0,attribute:"data-bs-touch"},wrap:{description:"A Boolean indicating whether the carousel should cycle continuously or have hard stops",type:Boolean,default:!0,attribute:"data-bs-wrap"}}}static get bs(){return e.Carousel}cycle(){return this.bs?.cycle()}next(){return this.bs?.next()}nextWhenVisible(){return this.bs?.nextWhenVisible()}pause(){return this.bs?.pause()}prev(){return this.bs?.prev()}to(t){return this.bs?.to(t)}firstUpdated(){this.classList.add("carousel"),this.classList.add("slide"),this._fixMarkup(),this._updateFadeState(),this._updateIndicatorsState()}_fixMarkup(){let t=this.querySelector(":scope > .carousel-inner");if(!t){t=document.createElement("div"),t.className="carousel-inner";const e=[];for(const t of Array.from(this.childNodes)){if(t.nodeType!==Node.ELEMENT_NODE)continue;const s=t;s.classList&&(s.classList.contains("carousel-indicators")||s.classList.contains("carousel-control-prev")||s.classList.contains("carousel-control-next")||s.classList.contains("carousel-inner"))||e.push(s)}e.forEach(e=>{if(e.classList&&e.classList.contains("carousel-item"))t.appendChild(e);else{const s=document.createElement("div");s.className="carousel-item",s.appendChild(e),t.appendChild(s)}}),this.appendChild(t)}Array.from(t.children).filter(t=>t.nodeType===Node.ELEMENT_NODE).forEach((e,s)=>{e.classList.add("carousel-item"),t.querySelector(".carousel-item.active")||0!==s||e.classList.add("active")}),this._ensureControls()}_renderIndicators(){let t=this.querySelector(":scope > .carousel-indicators");t&&t.remove();const e=this.querySelector(":scope > .carousel-inner");if(!e)return;t=document.createElement("div"),t.className="carousel-indicators";Array.from(e.children).filter(t=>t.nodeType===Node.ELEMENT_NODE).forEach((e,s)=>{const i=document.createElement("button");i.type="button",i.setAttribute("aria-label",`Slide ${s+1}`),i.className=0===s?"active":"",i.addEventListener("click",()=>this.to(s)),t.appendChild(i)}),this.insertBefore(t,e),this._renderIndicatorsActive()}_ensureControls(){if(!this.querySelector(":scope > .carousel-control-prev")){const t=document.createElement("button");t.className="carousel-control-prev",t.type="button",t.innerHTML='<span class="carousel-control-prev-icon" aria-hidden="true"></span><span class="visually-hidden">Previous</span>',t.addEventListener("click",()=>this.prev()),this.appendChild(t)}if(!this.querySelector(":scope > .carousel-control-next")){const t=document.createElement("button");t.className="carousel-control-next",t.type="button",t.innerHTML='<span class="carousel-control-next-icon" aria-hidden="true"></span><span class="visually-hidden">Next</span>',t.addEventListener("click",()=>this.next()),this.appendChild(t)}}_renderIndicatorsActive(){const t=this.querySelector(":scope > .carousel-indicators"),e=this.querySelector(":scope > .carousel-inner");if(!t||!e)return;const s=Array.from(e.children).filter(t=>t.nodeType===Node.ELEMENT_NODE).findIndex(t=>t.classList.contains("active"));Array.from(t.children).forEach((t,e)=>{t.classList.toggle("active",e===s),e===s?t.setAttribute("aria-current","true"):t.removeAttribute("aria-current")})}_updateFadeState(){this.classList.toggle("carousel-fade",!!this.fade)}_updateIndicatorsState(){if(this.indicators)this._renderIndicators();else{const t=this.querySelector(".carousel-indicators");t&&t.remove()}}}customElements.define("bs-carousel",n);class l extends i{static get properties(){return{open:{description:"Toggle visible state",type:Boolean,default:!1},horizontal:{description:"Toggle horizontal collapsing",type:Boolean,default:!1},parent:{description:"Selector of the container element",type:String,default:void 0,attribute:"data-bs-parent"},toggle:{description:"Toggles the collapsible element",type:Boolean,default:!1,attribute:"data-bs-toggle"}}}static get bs(){return e.Collapse}constructor(){super(),Object.defineProperty(this.constructor.prototype,"open",{get(){return this.classList.contains("show")}})}hide(){return this.bs?.hide()}show(){return this.bs?.show()}toggle(){return this.bs?.toggle()}firstUpdated(){this.classList.add("collapse"),this._updateHorizontalState(),this._updateOpenState(!0)}_updateHorizontalState(){this.horizontal?(this.classList.add("collapse-horizontal"),this.style.width||="0px"):(this.classList.remove("collapse-horizontal"),this.style.width="")}_updateOpenState(t=!1){t?this.classList.toggle("show",this.__propValues.open):this.toggle()}}customElements.define("bs-collapse",l);class c extends i{static get properties(){return{autoClose:{description:"A boolean indicating whether the Dropdown should automatically close when an item is selected.",type:Boolean,default:!0,attribute:"data-bs-auto-close"},direction:{description:"The direction of the Dropdown menu",type:String,default:"down",values:["down","start","end","up","down-center","up-center"]},open:{description:"A boolean indicating whether the Dropdown is currently open.",type:Boolean,default:!1}}}static get bs(){return e.Dropdown}constructor(){super(),Object.defineProperty(this.constructor.prototype,"open",{get(){return this.classList.contains("show")}})}hide(){return this.bs?.hide()}show(){return this.bs?.show()}toggle(){return this.bs?.toggle()}update(){return this.bs?.update()}firstUpdated(){this.classList.add("dropdown");const t=this.querySelector(':scope > [data-bs-toggle="dropdown"], :scope > .dropdown-toggle');t&&!t.hasAttribute("data-bs-toggle")&&t.setAttribute("data-bs-toggle","dropdown"),this._fixMarkup(),this._updateDirectionState(),this._updateOpenState(!0)}_fixMarkup(){const t=this.querySelector(":scope > div, :scope > .dropdown-menu");t&&!t.classList.contains("dropdown-menu")&&t.classList.add("dropdown-menu")}_updateDirectionState(){this.classList.remove(...this.constructor.properties.direction.values.map(t=>"drop"+t)),this.classList.add("drop"+this.direction)}_updateOpenState(t=!1){t?this.classList.toggle("show",this.__propValues.open):this.toggle()}}customElements.define("bs-dropdown",c);class d extends i{static get properties(){return{focus:{description:"Automatically puts focus on the modal with it first opens.",type:Boolean,default:!1,attribute:"data-bs-focus"},backdrop:{description:"Controls the visibility of the modal backdrop.",type:Boolean,default:!0,attribute:"data-bs-backdrop"},centered:{description:"Auto-positioning of the modal to ensure its centered in the viewport.",type:Boolean,default:!1},fade:{description:"Control the fade effect when opening or closing the modal.",type:Boolean,default:!0},fullscreen:{description:"Determines whether or no the modal is rendered in fullscreen mode.",type:String,default:"",values:["true","sm","md","lg","xl","xxl"]},header:{description:"Customize the modal header content.",type:String,default:void 0},open:{description:"Used to control the modal state",type:Boolean,default:!1},keyboard:{description:"Ccontrol whether the modal can be closed using the ESC key.",type:Boolean,default:!0,attribute:"data-bs-keyboard"},scrollable:{description:"Determines if the modal content should be scrollable.",type:Boolean,default:!1},size:{description:"Specify the size of the modal.",type:String,default:"",values:["sm","lg","xl"]}}}static get bs(){return e.Modal}constructor(){super(),Object.defineProperty(this.constructor.prototype,"open",{get(){return this.classList.contains("show")}})}handleUpdate(){return this.bs?.handleUpdate()}hide(){return this.bs?.hide()}show(){return this.bs?.show()}toggle(){return this.bs?.toggle()}firstUpdated(){this.classList.add("modal"),this.hasAttribute("tabindex")||this.setAttribute("tabindex","-1"),this._fixMarkup(),this._updateFadeState(),this._updateCenteredState(),this._updateScrollableState(),this._updateSizeState(),this._updateFullscreenState(),this._updateOpenState(!0)}_fixMarkup(){let t=this.querySelector(":scope > .modal-dialog");if(t)return;t=document.createElement("div"),t.classList.add("modal-dialog");const e=document.createElement("div");e.classList.add("modal-content");let s=this.querySelector(":scope > .modal-header");s||(s=document.createElement("div"),s.classList.add("modal-header"),s.insertAdjacentHTML("afterbegin",`<h5 class="modal-title">${this.header}</h5>`)),e.appendChild(s),s.querySelector(".btn-close")&&s.insertAdjacentHTML("beforeend",'<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>');let i=this.querySelector(":scope > .modal-body");i||(i=document.createElement("div"),i.classList.add("modal-body")),e.appendChild(i);let o=this.querySelector(":scope > .modal-footer");for(o&&e.appendChild(o);this.firstChild;)i.appendChild(this.firstChild);t.appendChild(e),this.appendChild(t)}_updateHeaderState(){const t=this.querySelector(":scope > .modal-dialog > .modal-header > .modal-title");t&&(t.textContent=this.header)}_updateFadeState(){this.classList.toggle("fade",this.fade)}_updateCenteredState(){const t=this.querySelector(":scope > .modal-dialog");t?.classList.toggle("modal-dialog-centered",this.centered)}_updateScrollableState(){const t=this.querySelector(":scope > .modal-dialog");t?.classList.toggle("modal-dialog-scrollable",this.scrollable)}_updateSizeState(){const t=this.querySelector(":scope > .modal-dialog");t?.classList.remove(...this.constructor.properties.size.values.map(t=>"modal-"+t)),this.size&&t?.classList.add(`modal-${this.size}`)}_updateFullscreenState(){const t=this.querySelector(":scope > .modal-dialog");t?.classList.remove(...this.constructor.properties.fullscreen.values.map(t=>"modal-fullscreen-"+t+"-down")),this.fullscreen&&t?.classList.add("true"===this.fullscreen?"modal-fullscreen":`modal-fullscreen-${this.fullscreen}-down`)}_updateOpenState(t=!1){t?this.classList.toggle("show",this.__propValues.open):this.toggle()}}customElements.define("bs-modal",d);class p extends i{static get properties(){return{backdrop:{description:"Controls whether the backdrop is displayed behind the offcanvas.",type:Boolean,default:!0,attribute:"data-bs-backdrop"},fade:{description:"Controls whether to use a fade animation when opening/closing the offcanvas.",type:Boolean,default:!0},header:{description:"The header content of the offcanvas.",type:String,default:""},open:{description:"Used to control the modal state",type:Boolean,default:!1},keyboard:{description:"Controls whether keyboard interaction is enabled for closing the offcanvas.",type:Boolean,default:!0,attribute:"data-bs-keyboard"},placement:{description:"The placement of the offcanvas.",type:String,default:"start",values:["start","end","top","bottom"]},scroll:{description:"Controls whether to allow scrolling of the body when the offcanvas is open.",type:Boolean,default:!1,attribute:"data-bs-scroll"},size:{description:"Specify the size of the modal.",type:String,default:"",values:["sm","md","lg","xl","xxl"]}}}static get bs(){return e.Offcanvas}constructor(){super(),Object.defineProperty(this.constructor.prototype,"open",{get(){return this.classList.contains("show")}})}hide(){return this.bs?.hide()}show(){return this.bs?.show()}toggle(){return this.bs?.toggle()}firstUpdated(){this.classList.add("offcanvas"),this.hasAttribute("tabindex")||this.setAttribute("tabindex","-1"),this._fixMarkup(),this._updateFadeState(),this._updatePlacementState(),this._updateSizeState(),this._updateOpenState(!0)}_fixMarkup(){let t=this.querySelector(":scope > .offcanvas-header");t||(t=document.createElement("div"),t.classList.add("offcanvas-header"),t.insertAdjacentHTML("afterbegin",`<h5 class="offcanvas-title">${this.header??""}</h5>`),t.insertAdjacentHTML("beforeend",'<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>'),this.appendChild(t)),t.querySelector(".btn-close")||t.insertAdjacentHTML("beforeend",'<button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>');let e=this.querySelector(":scope > .offcanvas-body");e||(e=document.createElement("div"),e.classList.add("offcanvas-body"),this.appendChild(e));for(const s of Array.from(this.childNodes))s!==t&&s!==e&&e.appendChild(s)}_updateHeaderState(){const t=this.querySelector(":scope > .offcanvas-header > .offcanvas-title");t&&(t.textContent=this.header??"")}_updateFadeState(){this.classList.toggle("fade",this.fade)}_updatePlacementState(){this.classList.remove(...this.constructor.properties.placement.values.map(t=>"offcanvas-"+t)),this.placement&&this.classList.add(`offcanvas-${this.placement}`)}_updateSizeState(){this.classList.remove(...this.constructor.properties.size.values.map(t=>"offcanvas-"+t)),this.size&&this.classList.add(`offcanvas-${this.size}`)}_updateOpenState(t=!1){t?this.classList.toggle("show",this.__propValues.open):this.toggle()}}customElements.define("bs-offcanvas",p);class h extends i{static get properties(){return{animation:{description:"Flag to enable animation for the tooltip.",type:Boolean,default:!0,attribute:"data-bs-animation"},title:{description:"The title to be displayed within the tooltip.",type:String,default:"",attribute:"data-bs-title"},delay:{description:"The delay for showing the tooltip (in milliseconds).",type:Number,default:0,attribute:"data-bs-delay"},html:{description:"",type:Boolean,default:!1,attribute:"data-bs-html"},open:{description:"Controls the visibility of the tooltip.",type:Boolean,default:!1},placement:{description:"The preferred placement of the tooltip.",type:String,default:"top",attribute:"data-bs-placement"},trigger:{description:"The trigger action to open/close the popover.",type:String,default:"click",attribute:"data-bs-trigger"},container:{description:"the popover’s HTML appears within that element.",type:String,default:"body",attribute:"data-bs-container"}}}static get bs(){return e.Tooltip}constructor(){super(),Object.defineProperty(this.constructor.prototype,"open",{get(){return this.bs?.tip&&this.bs?.tip.classList.contains("show")}})}disable(){return this.bs?.disable()}enable(){return this.bs?.enable()}hide(){return this.bs?.hide()}show(){return this.bs?.show()}toggle(){return this.bs?.toggle()}toggleEnabled(){return this.bs?.toggleEnabled()}setContent(){return this.bs?.setContent()}update(){return this.bs?.update()}firstUpdated(){this.hasAttribute("data-bs-toggle")||this.setAttribute("data-bs-toggle","tooltip"),this._updateOpenState(!0)}_updateOpenState(t=!1){t?this.classList.toggle("show",this.__propValues.open):this.toggle()}}customElements.define("bs-tooltip",h);class u extends h{static get properties(){return{...super.constructor.properties,content:{description:"The content to be displayed within the popover.",type:String,default:"",attribute:"data-bs-content"}}}static get bs(){return e.Popover}firstUpdated(){this.hasAttribute("data-bs-toggle")||this.setAttribute("data-bs-toggle","popover"),this._updateOpenState(!0)}}customElements.define("bs-popover",u);class b extends i{static get properties(){return{fade:{description:"Control the fade effect when opening or closing the modal.",type:Boolean,default:!0},active:{description:"Whether the element is active or not",type:Boolean,default:!1}}}static get bs(){return e.Tab}constructor(){super(),Object.defineProperty(this.constructor.prototype,"active",{get(){return this.classList.contains("active")}})}show(){return this.bs?.show()}firstUpdated(){this.classList.add("tab-pane"),this.hasAttribute("role")||this.setAttribute("role","tabpanel"),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),this._updateFadeState(),this._updateActiveState(!0)}_updateFadeState(){this.classList.toggle("fade",this.fade)}_updateActiveState(t=!1){const e=this.__propValues.active;t?(this.classList.toggle("show",e),this.classList.toggle("active",e)):e?this.show():(this.classList.toggle("show",!1),this.classList.toggle("active",!1))}}customElements.define("bs-tab",b);class f extends i{static get properties(){return{color:{description:"Color of the Toast background.",type:String,default:"",values:["","primary","secondary","success","danger","warning","info","light","dark"]},header:{description:"Customize the modal header content.",type:String,default:void 0},autohide:{description:"Controls whether the Toast component autohides after a certain duration.",type:Boolean,default:!1,attribute:"data-bs-autohide"},delay:{description:"The time delay (in milliseconds) before the Toast component autohides.",type:Number,default:5e3,attribute:"data-bs-delay"},animation:{description:"Controls whether the Toast component fades in and out.",type:Boolean,default:!0,attribute:"data-bs-animation"},open:{description:"Controls whether the Toast component is initially open.",type:Boolean,default:!0},dismissible:{description:"Controls whether the Toast component is dismissible",type:Boolean,default:!0}}}static get bs(){return e.Toast}constructor(){super(),Object.defineProperty(this.constructor.prototype,"open",{get(){return this.classList.contains("show")}})}hide(){return this.bs?.hide()}show(){return this.bs?.show()}isShown(){return this.bs?.isShown()}firstUpdated(){this.classList.add("toast"),this.hasAttribute("role")||this.setAttribute("role","alert"),this.hasAttribute("aria-live")||this.setAttribute("aria-live","assertive"),this.hasAttribute("aria-atomic")||this.setAttribute("aria-atomic","true"),this._fixMarkup(),this._updateHeaderState(),this._updateDismissibleState(),this._updateColorState(),this._updateOpenState(!0)}_fixMarkup(){let t=this.querySelector(":scope > .toast-header");!t&&this.header&&(t=document.createElement("div"),t.classList.add("toast-header"),t.insertAdjacentHTML("afterbegin",`<strong class="me-auto">${this.header}</strong>`),this.appendChild(t));let e=this.querySelector(":scope > .toast-body");if(!e){e=document.createElement("div"),e.classList.add("toast-body");for(let t=0;t<this.childNodes.length;t++)this.childNodes[t].classList?.contains("toast-header")||e.appendChild(this.childNodes[t]);this.appendChild(e)}}_updateHeaderState(){let t=this.querySelector(":scope > .toast-header");!t&&this.header&&(this._fixMarkup(),t=this.querySelector(":scope > .toast-header"),t.textContent=this.header||""),t&&!this.header&&t.remove()}_updateDismissibleState(){const t=this.querySelector(".btn-close");this.dismissible?t||this.firstChild?.insertAdjacentHTML("beforeend",'<button type="button" class="btn-close ms-2 mb-1" data-bs-dismiss="toast" aria-label="Close"></button>'):t&&t.remove()}_updateColorState(){this.classList.remove(...this.constructor.properties.color.values.map(t=>"bg-"+t)),this.color&&this.classList.add("bg-"+this.color),""===this.color||"light"===this.color||"warning"===this.color?this.classList.remove("text-white"):this.classList.add("text-white")}_updateOpenState(t=!1){const e=this.__propValues.open;t?this.classList.toggle("show",e):e?this.show():this.hide()}}return customElements.define("bs-toast",f),t.BsAccordion=o,t.BsAlert=a,t.BsButton=r,t.BsCarousel=n,t.BsCollapse=l,t.BsDropdown=c,t.BsModal=d,t.BsOffcanvas=p,t.BsPopover=u,t.BsTab=b,t.BsToast=f,t.BsTooltip=h,t}({},bootstrap);
|
|
2
|
+
//# sourceMappingURL=bs-elements.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bs-elements.min.js","sources":["../src/core/ReactiveElement.js","../src/core/BsElement.js","../src/base/BsAccordion.js","../src/base/BsAlert.js","../src/base/BsButton.js","../src/base/BsCarousel.js","../src/base/BsCollapse.js","../src/base/BsDropdown.js","../src/base/BsModal.js","../src/base/BsOffcanvas.js","../src/base/BsTooltip.js","../src/base/BsPopover.js","../src/base/BsTab.js","../src/base/BsToast.js"],"sourcesContent":["export default class ReactiveElement extends HTMLElement {\r\n \r\n constructor() {\r\n super();\r\n\r\n // reactive internals\r\n this.__propValues = Object.create(null);\r\n this.__changed = new Set();\r\n this.__updateScheduled = false;\r\n this.__reflecting = false;\r\n\r\n this.createReactiveProperties();\r\n }\r\n\r\n /* ------------------------------------------------------------------\r\n * Reactive helpers\r\n * ------------------------------------------------------------------ */\r\n\r\n static get properties() {\r\n return {};\r\n }\r\n\r\n static __propertyToAttributeMap;\r\n\r\n static __attributeToPropertyMap;\r\n\r\n static propertyToAttribute(property) {\r\n if (this.__propertyToAttributeMap.size < 1) this.observedAttributes();\r\n return this.__propertyToAttributeMap.get(property);\r\n }\r\n\r\n static attributeToProperty(attribute) {\r\n if (this.__attributeToPropertyMap.size < 1) this.observedAttributes();\r\n return this.__attributeToPropertyMap.get(attribute);\r\n }\r\n\r\n static get observedAttributes() {\r\n if (this.__attributeToPropertyMap === undefined) {\r\n this.__propertyToAttributeMap = new Map();\r\n this.__attributeToPropertyMap = new Map();\r\n \r\n // memoize mappings\r\n const props = this.properties || this.properties?.() || {};\r\n for (const [prop, def] of Object.entries(props)) {\r\n const attr = def?.attribute ?? prop.replace(/([A-Z])/g, \"-$1\").toLowerCase();\r\n this.__propertyToAttributeMap.set(prop, attr);\r\n this.__attributeToPropertyMap.set(attr, prop);\r\n }\r\n }\r\n return [...this.__attributeToPropertyMap.keys()];\r\n }\r\n\r\n getAttrValue(attr, type) {\r\n const value = this.getAttribute(attr);\r\n\r\n switch (type) {\r\n case Boolean: \r\n return this.hasAttribute(attr) && (value === \"\" || value === \"true\");\r\n case Number:\r\n const n = Number(value);\r\n return Number.isNaN(n) ? undefined : n;\r\n default:\r\n return value === null ? undefined : value;\r\n }\r\n }\r\n\r\n setAttrValue(attr, value, type) {\r\n if (value === null || value === undefined || (type === Boolean && !value)) {\r\n this.removeAttribute(attr);\r\n } else {\r\n this.setAttribute(attr, (type === Boolean) ? \"\" : String(value));\r\n }\r\n }\r\n\r\n createReactiveProperties() {\r\n const props = this.constructor.properties || this.constructor.properties?.() || {};\r\n for (const [prop, def] of Object.entries(props)) {\r\n this.createReactiveProperty(prop, def);\r\n }\r\n }\r\n\r\n createReactiveProperty(prop, def) {\r\n const attr = this.constructor.propertyToAttribute(prop);\r\n\r\n // avoid redefining existing properties\r\n if (!Object.getOwnPropertyDescriptor(this.constructor.prototype, prop)) {\r\n Object.defineProperty(this.constructor.prototype, prop, {\r\n get() {\r\n return this.__propValues[prop];\r\n },\r\n set(value) {\r\n const old = this.__propValues[prop];\r\n if (old === value) return;\r\n\r\n this.__propValues[prop] = value;\r\n \r\n // reflect props to attributes\r\n const shouldReflect = def.reflect;\r\n if (shouldReflect) {\r\n this.__reflecting = true;\r\n this.setAttrValue(attr, value, def.type);\r\n queueMicrotask(() => (this.__reflecting = false));\r\n }\r\n\r\n this.__changed.add(prop);\r\n this.scheduleUpdate();\r\n },\r\n configurable: true,\r\n enumerable: true\r\n });\r\n }\r\n \r\n // seed initial values from attributes or defaults\r\n this.__propValues[prop] = this.getAttrValue(attr, def.type) ?? def.default;\r\n }\r\n \r\n childrenToSlots(html) {\r\n var template = document.createElement(\"template\");\r\n template.innerHTML = html;\r\n\r\n const slots = template.content.querySelectorAll(\"slot\");\r\n for (const slot of slots) {\r\n const slotChildren = this.querySelectorAll(`[slot=\"${slot.name}\"]`);\r\n slotChildren.forEach(el => el.removeAttribute(\"slot\"));\r\n slot.replaceWith(...slotChildren);\r\n }\r\n\r\n this.replaceChildren(template.content);\r\n }\r\n\r\n /* ------------------------------------------------------------------\r\n * Custom Element Lifecycle\r\n * ------------------------------------------------------------------ */\r\n\r\n connectedCallback() {\r\n this.firstUpdated();\r\n }\r\n\r\n // eslint-disable-next-line class-methods-use-this\r\n firstUpdated() {}\r\n\r\n attributeChangedCallback(attrName, oldValue, newValue) {\r\n if (this.__reflecting) return;\r\n\r\n const prop = this.constructor.attributeToProperty(attrName);\r\n\r\n const props = this.constructor.properties || this.constructor.properties?.() || {};\r\n const def = props[prop] || {};\r\n\r\n const old = this.__propValues[prop];\r\n const value = this.getAttrValue(attrName, def.type);\r\n if (old === value) return;\r\n this.__propValues[prop] = value;\r\n this.__changed.add(prop);\r\n this.scheduleUpdate();\r\n }\r\n\r\n scheduleUpdate() {\r\n if (this.__updateScheduled) return;\r\n this.__updateScheduled = true;\r\n queueMicrotask(() => {\r\n this.__updateScheduled = false;\r\n const changed = new Set(this.__changed);\r\n this.__changed.clear();\r\n try {\r\n this.updated(changed);\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n });\r\n }\r\n\r\n updated(changed) {\r\n changed.forEach(prop => {\r\n const fn = `_update${prop.charAt(0).toUpperCase() + prop.slice(1)}State`;\r\n if (typeof this[fn] === \"function\") this[fn]();\r\n })\r\n }\r\n\r\n // eslint-disable-next-line class-methods-use-this\r\n disconnectedCallback() {}\r\n\r\n}","import ReactiveElement from \"./ReactiveElement.js\";\r\n\r\n/**\r\n * Reactive Element with Bootstrap integration\r\n */\r\nexport default class BsElement extends ReactiveElement {\r\n\r\n constructor() {\r\n super();\r\n\r\n this.bs = null;\r\n }\r\n \r\n static __bsProps = [];\r\n\r\n static get bsProps() {\r\n if (this.__bsProps === undefined) {\r\n this.__bsProps = [];\r\n\r\n // memoize related props\r\n const props = this.properties || this.properties?.() || {};\r\n for (const [prop, def] of Object.entries(props)) {\r\n if ((def.attribute ?? '').startsWith('data-bs-')) this.__bsProps.push(prop);\r\n }\r\n }\r\n return this.__bsProps;\r\n }\r\n \r\n /**\r\n * Must return a Bootstrap JS constructor (e.g. bootstrap.Modal, bootstrap.Collapse)\r\n */\r\n static get bs() {\r\n return null;\r\n }\r\n\r\n createInstance() {\r\n if (!this.constructor.bs || this.bs) return;\r\n\r\n const options = this.constructor.bsProps.reduce((acc, key) => {\r\n if (key in this.__propValues) acc[key] = this.__propValues[key];\r\n return acc;\r\n }, {}) || {};\r\n\r\n this.bs = new this.constructor.bs(this, options);\r\n }\r\n\r\n dispose() {\r\n if (!this.bs) return;\r\n\r\n this.bs?.dispose();\r\n this.bs = null;\r\n }\r\n\r\n connectedCallback() {\r\n // try to guess prop initial values from markup when it's not set\r\n const props = this.properties || this.properties?.() || {};\r\n for (const [prop, def] of Object.entries(props)) {\r\n if (this.__propValues[prop] !== undefined) continue;\r\n this[prop] = def.values?.find(v => this.className.includes(v));\r\n }\r\n \r\n super.connectedCallback();\r\n this.createInstance();\r\n }\r\n\r\n updated(changed) {\r\n super.updated(changed);\r\n\r\n const shouldReinit = this.constructor.bsProps.some(p => changed.has(p));\r\n if (shouldReinit) {\r\n this.dispose();\r\n this.createInstance();\r\n }\r\n }\r\n\r\n disconnectedCallback() {\r\n super.disconnectedCallback();\r\n this.dispose();\r\n }\r\n\r\n}","import BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsAccordion extends BsElement {\r\n\r\n static get properties() {\r\n return {\r\n flush: {\r\n description: \"Flag to indicate if the alert is dismissible.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n alwaysOpen: {\r\n description: \"Flag to indicate if the alert is dismissible.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n active: {\r\n description: \"Controls the visibility of the alert.\",\r\n type: Number,\r\n default: 0\r\n }\r\n };\r\n }\r\n\r\n toggle(idx) {\r\n this.children[idx].querySelector('.accordion-button').click();\r\n }\r\n\r\n firstUpdated() {\r\n this.classList.add(\"accordion\");\r\n\r\n this._fixMarkup();\r\n this._updateAlwaysOpenState();\r\n this._updateFlushState();\r\n this._updateActiveState(true);\r\n }\r\n\r\n _fixMarkup() {\r\n if (!this.id) this.id = crypto.randomUUID();\r\n Array.from(this.children).forEach((item, idx) => {\r\n item.classList.add('accordion-item');\r\n\r\n let header = item.querySelector('.accordion-header');\r\n if (!header) {\r\n header = document.createElement('h2');\r\n header.classList.add('accordion-header');\r\n item.insertBefore(header, item.firstChild);\r\n }\r\n\r\n let button = item.querySelector('.accordion-button, [data-bs-toggle=\"collapse\"]');\r\n if (!button) {\r\n button = document.createElement('h2');\r\n }\r\n button.classList.add('accordion-button');\r\n button.setAttribute('data-bs-toggle', 'collapse');\r\n console.log(button)\r\n if (!button.hasAttribute('type')) button.setAttribute('type', 'button');\r\n if (button.parentElement !== header) header.appendChild(button);\r\n\r\n let collapse = item.querySelector('.accordion-collapse, .collapse');\r\n if (!collapse) {\r\n collapse = document.createElement('div');\r\n }\r\n collapse.classList.add('accordion-collapse', 'collapse');\r\n const collapseId = collapse.id || `${this.id}-collapse-${idx}`;\r\n collapse.id = collapseId;\r\n\r\n // Ensure collapse content is wrapped in .accordion-body\r\n let body = collapse.querySelector('.accordion-body');\r\n if (!body) {\r\n body = document.createElement('div');\r\n body.classList.add('accordion-body');\r\n \r\n while (collapse.firstChild) {\r\n body.appendChild(collapse.firstChild);\r\n }\r\n\r\n collapse.appendChild(body);\r\n }\r\n\r\n // Wire button -> collapse\r\n button.setAttribute('data-bs-target', `#${collapseId}`);\r\n button.setAttribute('aria-controls', collapseId);\r\n\r\n // Set initial expanded/collapsed classes and aria state based on active\r\n const activeIdx = Number(this.active) || 0;\r\n if (idx === activeIdx) {\r\n collapse.classList.add('show');\r\n button.classList.remove('collapsed');\r\n button.setAttribute('aria-expanded', 'true');\r\n } else {\r\n collapse.classList.remove('show');\r\n if (!button.classList.contains('collapsed')) button.classList.add('collapsed');\r\n button.setAttribute('aria-expanded', 'false');\r\n }\r\n });\r\n }\r\n\r\n _updateAlwaysOpenState() {\r\n this.querySelectorAll('.collapse').forEach(collapse => {\r\n if (!this.alwaysOpen) collapse.setAttribute('data-bs-parent', `#${this.id}`);\r\n else collapse.removeAttribute('data-bs-parent');\r\n });\r\n }\r\n\r\n _updateFlushState() {\r\n this.classList.toggle('accordion-flush', this.flush);\r\n }\r\n\r\n _updateActiveState(isFirstUpdated = false) {\r\n if (!isFirstUpdated) this.toggle(this.active);\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-accordion\", BsAccordion);","import { Alert } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsAlert extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n color: {\r\n description: \"The color theme for the alert.\",\r\n type: String,\r\n default: \"success\",\r\n values: [\"primary\", \"secondary\", \"success\", \"danger\", \"warning\", \"info\", \"light\", \"dark\"]\r\n },\r\n dismissible: {\r\n description: \"Flag to indicate if the alert is dismissible.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n fade: {\r\n description: \"Flag to enable fade transition.\",\r\n type: Boolean,\r\n default: true\r\n },\r\n open: {\r\n description: \"Controls the visibility of the alert.\",\r\n type: Boolean,\r\n default: true\r\n }\r\n };\r\n }\r\n\r\n static get bs() {\r\n return Alert;\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"open\", {\r\n get() {\r\n return this.classList.contains(\"show\");\r\n },\r\n });\r\n }\r\n\r\n close() {\r\n return this.bs?.close();\r\n }\r\n\r\n firstUpdated() {\r\n this.classList.add(\"alert\");\r\n if (!this.hasAttribute(\"role\")) this.setAttribute(\"role\", \"alert\");\r\n \r\n this._updateColorState();\r\n this._updateFadeState();\r\n this._updateDismissibleState();\r\n this._updateOpenState(true);\r\n }\r\n\r\n _updateColorState() {\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .color.values.map(v => \"alert-\" + v)\r\n );\r\n this.classList.add(\"alert-\" + this.color);\r\n }\r\n\r\n _updateFadeState() {\r\n this.classList.toggle(\"fade\", this.fade);\r\n }\r\n\r\n _updateDismissibleState() {\r\n this.classList.toggle(\"alert-dismissible\", this.dismissible);\r\n const btn = this.querySelector(\":scope > .btn-close\");\r\n const markup = `<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"alert\" aria-label=\"Close\"></button>`;\r\n \r\n if (this.dismissible) {\r\n if (!btn) this.insertAdjacentHTML(\"beforeend\", markup);\r\n } else {\r\n if (btn) btn.remove();\r\n }\r\n }\r\n\r\n _updateOpenState(isFirstUpdate = false) {\r\n this.classList.toggle(\"show\", this.__propValues['open']);\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-alert\", BsAlert);","import { Button } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsButton extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n active: {\r\n description: \"Indicates if the component is active.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n color: {\r\n description: \"Color theme for the button.\",\r\n type: String,\r\n default: undefined,\r\n values: [\"primary\", \"secondary\", \"success\", \"danger\", \"warning\", \"info\", \"light\", \"dark\"]\r\n },\r\n outline: {\r\n description: \"Indicates if the component should have an outline.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n size: {\r\n description: \"Size of the Button.\",\r\n type: String,\r\n default: undefined,\r\n values: [\"sm\", \"lg\"]\r\n },\r\n toggle: {\r\n description: \"Bootstrap toggle type.\",\r\n type: String,\r\n default: undefined,\r\n values: [\"button\", \"collapse\", \"dropdown\", \"modal\", \"offcanvas\", \"tab\"]\r\n },\r\n target: {\r\n description: \"Target selector for toggles (data-bs-target).\",\r\n type: String,\r\n default: undefined\r\n }\r\n }\r\n }\r\n\r\n static get bs() {\r\n return Button;\r\n }\r\n\r\n constructor() {\r\n super();\r\n\r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"active\", {\r\n get() {\r\n return this.classList.contains(\"active\");\r\n },\r\n });\r\n }\r\n\r\n // toggle() {\r\n // return this.bs?.toggle();\r\n // }\r\n\r\n firstUpdated() {\r\n //this.classList.add(\"btn\");\r\n\r\n // default type to prevent accidental form submit\r\n if (!this.hasAttribute(\"type\")) this.setAttribute(\"type\", \"button\");\r\n\r\n this._updateColorState();\r\n this._updateOutlineState();\r\n this._updateSizeState();\r\n this._updateToggleState();\r\n this._updateTargetState();\r\n this._updateActiveState(true);\r\n }\r\n\r\n _updateColorState() {\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .color.values.map(v => \"btn-\" + v)\r\n );\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .color.values.map(v => \"btn-outline-\" + v)\r\n );\r\n\r\n const variant = this.outline ? `btn-outline-${this.color}` : `btn-${this.color}`;\r\n this.classList.add(variant);\r\n }\r\n\r\n _updateOutlineState() {\r\n this._updateColorState();\r\n }\r\n\r\n _updateSizeState() {\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .size.values.map(v => \"btn-\" + v)\r\n );\r\n if (this.size) this.classList.add(\"btn-\" + this.size);\r\n }\r\n\r\n _updateToggleState() {\r\n if (this.toggle) this.setAttribute(\"data-bs-toggle\", this.toggle);\r\n else this.removeAttribute(\"data-bs-toggle\");\r\n }\r\n\r\n _updateTargetState() {\r\n if (this.target) this.setAttribute(\"data-bs-target\", this.target);\r\n else this.removeAttribute(\"data-bs-target\");\r\n }\r\n\r\n _updateActiveState(isFirstUpdate = false) {\r\n if (isFirstUpdate) {\r\n this.classList.toggle(\"active\", !!this.__propValues['active']);\r\n\r\n if (this.toggle === \"button\") {\r\n this.setAttribute(\"aria-pressed\", this.active ? \"true\" : \"false\");\r\n } else {\r\n this.removeAttribute(\"aria-pressed\");\r\n }\r\n } else {\r\n this.toggle();\r\n }\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-button\", BsButton);","import { Carousel } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsCarousel extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n fade: {\r\n description: \"\",\r\n type: Boolean,\r\n default: false\r\n },\r\n indicators: {\r\n description: \"\",\r\n type: Boolean,\r\n default: true\r\n },\r\n interval: {\r\n description: \"The time interval (in milliseconds) between automatic transitions of the carousel items.\",\r\n type: Number,\r\n default: 5000,\r\n attribute: 'data-bs-interval'\r\n },\r\n keyboard: {\r\n description: \"A Boolean indicating whether the carousel should respond to keyboard navigation.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: 'data-bs-keyboard'\r\n },\r\n pause: {\r\n description: \"A Boolean indicating whether automatic cycling of the carousel should pause on hover.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: 'data-bs-pause'\r\n },\r\n ride: {\r\n description: \"A Boolean indicating whether the carousel should automatically cycle through items.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: 'data-bs-ride'\r\n },\r\n touch: {\r\n description: \"A Boolean indicating whether the carousel should support left/right swipe interactions on touchscreen\",\r\n type: Boolean,\r\n default: true,\r\n attribute: 'data-bs-touch'\r\n },\r\n wrap: {\r\n description: \"A Boolean indicating whether the carousel should cycle continuously or have hard stops\",\r\n type: Boolean,\r\n default: true,\r\n attribute: 'data-bs-wrap'\r\n }\r\n }\r\n }\r\n \r\n static get bs() {\r\n return Carousel;\r\n }\r\n\r\n cycle() {\r\n return this.bs?.cycle();\r\n }\r\n\r\n next() {\r\n return this.bs?.next();\r\n }\r\n\r\n nextWhenVisible() {\r\n return this.bs?.nextWhenVisible();\r\n }\r\n\r\n pause() {\r\n return this.bs?.pause();\r\n }\r\n\r\n prev() {\r\n return this.bs?.prev();\r\n }\r\n\r\n to(idx) {\r\n return this.bs?.to(idx);\r\n }\r\n\r\n firstUpdated() {\r\n this.classList.add(\"carousel\");\r\n this.classList.add(\"slide\");\r\n \r\n this._fixMarkup();\r\n this._updateFadeState();\r\n this._updateIndicatorsState();\r\n }\r\n\r\n _fixMarkup() {\r\n // ensure inner wrapper\r\n let inner = this.querySelector(\":scope > .carousel-inner\");\r\n if (!inner) {\r\n inner = document.createElement(\"div\");\r\n inner.className = \"carousel-inner\";\r\n\r\n // move suitable children into inner\r\n const toMove = [];\r\n for (const child of Array.from(this.childNodes)) {\r\n if (child.nodeType !== Node.ELEMENT_NODE) continue;\r\n const el = child;\r\n if (el.classList && (el.classList.contains(\"carousel-indicators\") || el.classList.contains(\"carousel-control-prev\") || el.classList.contains(\"carousel-control-next\") || el.classList.contains(\"carousel-inner\"))) continue;\r\n toMove.push(el);\r\n }\r\n\r\n toMove.forEach(el => {\r\n // if element is already a carousel-item, just append\r\n if (el.classList && el.classList.contains(\"carousel-item\")) inner.appendChild(el);\r\n else {\r\n const wrap = document.createElement(\"div\");\r\n wrap.className = \"carousel-item\";\r\n wrap.appendChild(el);\r\n inner.appendChild(wrap);\r\n }\r\n });\r\n\r\n // insert inner at the end (indicators may be inserted before it later)\r\n this.appendChild(inner);\r\n }\r\n\r\n // ensure every child of inner has the proper classes\r\n const items = Array.from(inner.children).filter(n => n.nodeType === Node.ELEMENT_NODE);\r\n items.forEach((it, i) => {\r\n it.classList.add(\"carousel-item\");\r\n if (!inner.querySelector(\".carousel-item.active\") && i === 0) {\r\n it.classList.add(\"active\");\r\n }\r\n });\r\n\r\n // indicators and controls\r\n this._ensureControls();\r\n }\r\n\r\n _renderIndicators() {\r\n // remove existing indicators container\r\n let indicators = this.querySelector(\":scope > .carousel-indicators\");\r\n if (indicators) indicators.remove();\r\n\r\n const inner = this.querySelector(\":scope > .carousel-inner\");\r\n if (!inner) return;\r\n\r\n indicators = document.createElement(\"div\");\r\n indicators.className = \"carousel-indicators\";\r\n\r\n const slides = Array.from(inner.children).filter(n => n.nodeType === Node.ELEMENT_NODE);\r\n slides.forEach((_, idx) => {\r\n const btn = document.createElement(\"button\");\r\n btn.type = \"button\";\r\n btn.setAttribute(\"aria-label\", `Slide ${idx + 1}`);\r\n btn.className = idx === 0 ? \"active\" : \"\";\r\n btn.addEventListener(\"click\", () => this.to(idx));\r\n indicators.appendChild(btn);\r\n });\r\n\r\n // insert indicators before inner\r\n this.insertBefore(indicators, inner);\r\n this._renderIndicatorsActive();\r\n }\r\n\r\n _ensureControls() {\r\n // prev\r\n if (!this.querySelector(\":scope > .carousel-control-prev\")) {\r\n const prev = document.createElement(\"button\");\r\n prev.className = \"carousel-control-prev\";\r\n prev.type = \"button\";\r\n prev.innerHTML = `<span class=\"carousel-control-prev-icon\" aria-hidden=\"true\"></span><span class=\"visually-hidden\">Previous</span>`;\r\n prev.addEventListener(\"click\", () => this.prev());\r\n this.appendChild(prev);\r\n }\r\n\r\n // next\r\n if (!this.querySelector(\":scope > .carousel-control-next\")) {\r\n const next = document.createElement(\"button\");\r\n next.className = \"carousel-control-next\";\r\n next.type = \"button\";\r\n next.innerHTML = `<span class=\"carousel-control-next-icon\" aria-hidden=\"true\"></span><span class=\"visually-hidden\">Next</span>`;\r\n next.addEventListener(\"click\", () => this.next());\r\n this.appendChild(next);\r\n }\r\n }\r\n\r\n _renderIndicatorsActive() {\r\n const indicators = this.querySelector(\":scope > .carousel-indicators\");\r\n const inner = this.querySelector(\":scope > .carousel-inner\");\r\n if (!indicators || !inner) return;\r\n\r\n const slides = Array.from(inner.children).filter(n => n.nodeType === Node.ELEMENT_NODE);\r\n const activeIndex = slides.findIndex(s => s.classList.contains(\"active\"));\r\n\r\n Array.from(indicators.children).forEach((btn, idx) => {\r\n btn.classList.toggle(\"active\", idx === activeIndex);\r\n if (idx === activeIndex) btn.setAttribute(\"aria-current\", \"true\");\r\n else btn.removeAttribute(\"aria-current\");\r\n });\r\n }\r\n\r\n _updateFadeState() {\r\n this.classList.toggle(\"carousel-fade\", !!this.fade);\r\n }\r\n\r\n _updateIndicatorsState() {\r\n if (this.indicators) {\r\n this._renderIndicators();\r\n } else {\r\n const el = this.querySelector(\".carousel-indicators\");\r\n if (el) el.remove();\r\n }\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-carousel\", BsCarousel);","import { Collapse } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsCollapse extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n open: {\r\n description: \"Toggle visible state\",\r\n type: Boolean,\r\n default: false\r\n },\r\n horizontal: {\r\n description: \"Toggle horizontal collapsing\",\r\n type: Boolean,\r\n default: false\r\n },\r\n parent: {\r\n description: \"Selector of the container element\",\r\n type: String,\r\n default: undefined,\r\n attribute: \"data-bs-parent\"\r\n },\r\n toggle: {\r\n description: \"Toggles the collapsible element\",\r\n type: Boolean,\r\n default: false,\r\n attribute: \"data-bs-toggle\"\r\n }\r\n };\r\n }\r\n\r\n static get bs() {\r\n return Collapse;\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"open\", {\r\n get() {\r\n return this.classList.contains(\"show\");\r\n },\r\n });\r\n }\r\n\r\n hide() {\r\n return this.bs?.hide();\r\n }\r\n\r\n show() {\r\n return this.bs?.show();\r\n }\r\n\r\n toggle() {\r\n return this.bs?.toggle();\r\n }\r\n\r\n firstUpdated() {\r\n this.classList.add(\"collapse\");\r\n\r\n this._updateHorizontalState();\r\n this._updateOpenState(true);\r\n }\r\n\r\n _updateHorizontalState() {\r\n if (this.horizontal) {\r\n this.classList.add(\"collapse-horizontal\");\r\n this.style.width ||= \"0px\";\r\n } else {\r\n this.classList.remove(\"collapse-horizontal\");\r\n this.style.width = \"\";\r\n }\r\n }\r\n\r\n _updateOpenState(isFirstUpdate = false) {\r\n if (isFirstUpdate) this.classList.toggle(\"show\", this.__propValues['open']);\r\n else this.toggle();\r\n }\r\n \r\n}\r\n\r\ncustomElements.define(\"bs-collapse\", BsCollapse);","import { Dropdown } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsDropdown extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n autoClose: {\r\n description: \"A boolean indicating whether the Dropdown should automatically close when an item is selected.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: \"data-bs-auto-close\"\r\n },\r\n direction: {\r\n description: \"The direction of the Dropdown menu\",\r\n type: String,\r\n default: \"down\",\r\n values: [\"down\", \"start\", \"end\", \"up\", \"down-center\", \"up-center\"]\r\n },\r\n open: {\r\n description: \"A boolean indicating whether the Dropdown is currently open.\",\r\n type: Boolean,\r\n default: false\r\n }\r\n };\r\n }\r\n\r\n static get bs() {\r\n return Dropdown;\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"open\", {\r\n get() {\r\n return this.classList.contains(\"show\");\r\n },\r\n });\r\n }\r\n\r\n hide() {\r\n return this.bs?.hide();\r\n }\r\n\r\n show() {\r\n return this.bs?.show();\r\n }\r\n\r\n toggle() {\r\n return this.bs?.toggle();\r\n }\r\n\r\n update() {\r\n return this.bs?.update();\r\n }\r\n \r\n firstUpdated() {\r\n this.classList.add(\"dropdown\");\r\n\r\n // Ensure toggle has the proper data attribute\r\n const toggle = this.querySelector(\r\n `:scope > [data-bs-toggle=\"dropdown\"], :scope > .dropdown-toggle`\r\n );\r\n if (toggle && !toggle.hasAttribute(\"data-bs-toggle\")) {\r\n toggle.setAttribute(\"data-bs-toggle\", \"dropdown\");\r\n }\r\n\r\n this._fixMarkup();\r\n this._updateDirectionState();\r\n this._updateOpenState(true);\r\n }\r\n\r\n _fixMarkup() {\r\n // Ensure bs-dropdown-menu children receive Bootstrap class\r\n const menu = this.querySelector(\":scope > div, :scope > .dropdown-menu\");\r\n if (menu && !menu.classList.contains(\"dropdown-menu\")) {\r\n menu.classList.add(\"dropdown-menu\");\r\n }\r\n }\r\n\r\n _updateDirectionState() {\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .direction.values.map(v => \"drop\" + v)\r\n );\r\n this.classList.add(\"drop\" + this.direction);\r\n }\r\n\r\n _updateOpenState(isFirstUpdate = false) {\r\n if (isFirstUpdate) this.classList.toggle(\"show\", this.__propValues['open']);\r\n else this.toggle();\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-dropdown\", BsDropdown);","import { Modal } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsModal extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n focus: {\r\n description: \"Automatically puts focus on the modal with it first opens.\",\r\n type: Boolean,\r\n default: false,\r\n attribute: \"data-bs-focus\"\r\n },\r\n backdrop: {\r\n description: \"Controls the visibility of the modal backdrop.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: \"data-bs-backdrop\"\r\n },\r\n centered: {\r\n description: \"Auto-positioning of the modal to ensure its centered in the viewport.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n fade: {\r\n description: \"Control the fade effect when opening or closing the modal.\",\r\n type: Boolean,\r\n default: true\r\n },\r\n fullscreen: {\r\n description: \"Determines whether or no the modal is rendered in fullscreen mode.\",\r\n type: String,\r\n default: \"\",\r\n values: [\"true\", \"sm\", \"md\", \"lg\", \"xl\", \"xxl\"]\r\n },\r\n header: {\r\n description: \"Customize the modal header content.\",\r\n type: String,\r\n default: undefined\r\n },\r\n open: {\r\n description: \"Used to control the modal state\",\r\n type: Boolean,\r\n default: false\r\n },\r\n keyboard: {\r\n description: \"Ccontrol whether the modal can be closed using the ESC key.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: \"data-bs-keyboard\"\r\n },\r\n scrollable: {\r\n description: \"Determines if the modal content should be scrollable.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n size: {\r\n description: \"Specify the size of the modal.\",\r\n type: String,\r\n default: \"\",\r\n values: [\"sm\", \"lg\", \"xl\"]\r\n }\r\n };\r\n }\r\n\r\n static get bs() {\r\n return Modal;\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"open\", {\r\n get() {\r\n return this.classList.contains(\"show\");\r\n },\r\n });\r\n }\r\n\r\n handleUpdate() {\r\n return this.bs?.handleUpdate();\r\n }\r\n\r\n hide() {\r\n return this.bs?.hide();\r\n }\r\n\r\n show() {\r\n return this.bs?.show();\r\n }\r\n\r\n toggle() {\r\n return this.bs?.toggle();\r\n }\r\n \r\n firstUpdated() {\r\n this.classList.add(\"modal\");\r\n if (!this.hasAttribute(\"tabindex\")) this.setAttribute(\"tabindex\", \"-1\");\r\n\r\n this._fixMarkup();\r\n this._updateFadeState();\r\n this._updateCenteredState();\r\n this._updateScrollableState();\r\n this._updateSizeState();\r\n this._updateFullscreenState();\r\n this._updateOpenState(true);\r\n }\r\n\r\n _fixMarkup() {\r\n let dialog = this.querySelector(\":scope > .modal-dialog\");\r\n if (dialog) return;\r\n\r\n dialog = document.createElement(\"div\");\r\n dialog.classList.add(\"modal-dialog\");\r\n\r\n const content = document.createElement(\"div\");\r\n content.classList.add(\"modal-content\");\r\n\r\n let header = this.querySelector(\":scope > .modal-header\");\r\n if (!header) {\r\n header = document.createElement(\"div\");\r\n header.classList.add(\"modal-header\");\r\n header.insertAdjacentHTML(\"afterbegin\", `<h5 class=\"modal-title\">${this.header}</h5>`);\r\n }\r\n content.appendChild(header);\r\n\r\n if (header.querySelector(\".btn-close\")) {\r\n header.insertAdjacentHTML(\"beforeend\", \r\n `<button type=\"button\" class=\"btn-close\" data-bs-dismiss=\"modal\" aria-label=\"Close\"></button>`\r\n );\r\n }\r\n\r\n let body = this.querySelector(\":scope > .modal-body\");\r\n if (!body) {\r\n body = document.createElement(\"div\");\r\n body.classList.add(\"modal-body\");\r\n }\r\n content.appendChild(body);\r\n\r\n let footer = this.querySelector(\":scope > .modal-footer\");\r\n if (footer) {\r\n content.appendChild(footer);\r\n }\r\n\r\n while (this.firstChild) {\r\n body.appendChild(this.firstChild);\r\n }\r\n\r\n dialog.appendChild(content);\r\n this.appendChild(dialog);\r\n }\r\n\r\n _updateHeaderState() {\r\n const title = this.querySelector(\":scope > .modal-dialog > .modal-header > .modal-title\");\r\n if (title) {\r\n title.textContent = this.header;\r\n }\r\n }\r\n\r\n _updateFadeState() {\r\n this.classList.toggle(\"fade\", this.fade);\r\n }\r\n\r\n _updateCenteredState() {\r\n const dialog = this.querySelector(\":scope > .modal-dialog\");\r\n dialog?.classList.toggle(\"modal-dialog-centered\", this.centered);\r\n }\r\n\r\n _updateScrollableState() {\r\n const dialog = this.querySelector(\":scope > .modal-dialog\");\r\n dialog?.classList.toggle(\"modal-dialog-scrollable\", this.scrollable);\r\n }\r\n\r\n _updateSizeState() {\r\n const dialog = this.querySelector(\":scope > .modal-dialog\");\r\n dialog?.classList.remove(\r\n ...this.constructor.properties\r\n .size.values.map(v => \"modal-\" + v)\r\n );\r\n if (this.size) dialog?.classList.add(`modal-${this.size}`);\r\n }\r\n \r\n _updateFullscreenState() {\r\n const dialog = this.querySelector(\":scope > .modal-dialog\");\r\n dialog?.classList.remove(\r\n ...this.constructor.properties\r\n .fullscreen.values.map(v => \"modal-fullscreen-\" + v + \"-down\")\r\n );\r\n if (this.fullscreen) dialog?.classList.add(\r\n this.fullscreen === \"true\"\r\n ? \"modal-fullscreen\"\r\n : `modal-fullscreen-${this.fullscreen}-down`\r\n );\r\n }\r\n\r\n _updateOpenState(isFirstUpdate = false) {\r\n if (isFirstUpdate) this.classList.toggle(\"show\", this.__propValues['open']);\r\n else this.toggle();\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-modal\", BsModal);","import { Offcanvas } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsOffcanvas extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n backdrop: {\r\n description: \"Controls whether the backdrop is displayed behind the offcanvas.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: \"data-bs-backdrop\"\r\n },\r\n fade: {\r\n description: \"Controls whether to use a fade animation when opening/closing the offcanvas.\",\r\n type: Boolean,\r\n default: true\r\n },\r\n header: {\r\n description: \"The header content of the offcanvas.\",\r\n type: String,\r\n default: \"\"\r\n },\r\n open: {\r\n description: \"Used to control the modal state\",\r\n type: Boolean,\r\n default: false\r\n },\r\n keyboard: {\r\n description: \"Controls whether keyboard interaction is enabled for closing the offcanvas.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: \"data-bs-keyboard\"\r\n },\r\n placement: {\r\n description: \"The placement of the offcanvas.\",\r\n type: String,\r\n default: \"start\",\r\n values: [\"start\", \"end\", \"top\", \"bottom\"]\r\n },\r\n scroll: {\r\n description: \"Controls whether to allow scrolling of the body when the offcanvas is open.\",\r\n type: Boolean,\r\n default: false,\r\n attribute: \"data-bs-scroll\"\r\n },\r\n size: {\r\n description: \"Specify the size of the modal.\",\r\n type: String,\r\n default: \"\",\r\n values: [\"sm\", \"md\", \"lg\", \"xl\", \"xxl\"]\r\n }\r\n }\r\n }\r\n \r\n static get bs() {\r\n return Offcanvas;\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"open\", {\r\n get() {\r\n return this.classList.contains(\"show\");\r\n },\r\n });\r\n }\r\n\r\n hide() {\r\n return this.bs?.hide();\r\n }\r\n\r\n show() {\r\n return this.bs?.show();\r\n }\r\n\r\n toggle() {\r\n return this.bs?.toggle();\r\n }\r\n\r\n firstUpdated() {\r\n this.classList.add(\"offcanvas\");\r\n if (!this.hasAttribute(\"tabindex\")) this.setAttribute(\"tabindex\", \"-1\");\r\n\r\n this._fixMarkup();\r\n this._updateFadeState();\r\n this._updatePlacementState();\r\n this._updateSizeState();\r\n this._updateOpenState(true);\r\n }\r\n\r\n _fixMarkup() {\r\n let header = this.querySelector(\":scope > .offcanvas-header\");\r\n if (!header) {\r\n header = document.createElement(\"div\");\r\n header.classList.add(\"offcanvas-header\");\r\n header.insertAdjacentHTML(\"afterbegin\", `<h5 class=\"offcanvas-title\">${this.header ?? \"\"}</h5>`);\r\n header.insertAdjacentHTML(\"beforeend\",\r\n `<button type=\"button\" class=\"btn-close text-reset\" data-bs-dismiss=\"offcanvas\" aria-label=\"Close\"></button>`\r\n );\r\n this.appendChild(header);\r\n }\r\n\r\n if (!header.querySelector(\".btn-close\")) {\r\n header.insertAdjacentHTML(\"beforeend\",\r\n `<button type=\"button\" class=\"btn-close text-reset\" data-bs-dismiss=\"offcanvas\" aria-label=\"Close\"></button>`\r\n );\r\n }\r\n\r\n let body = this.querySelector(\":scope > .offcanvas-body\");\r\n if (!body) {\r\n body = document.createElement(\"div\");\r\n body.classList.add(\"offcanvas-body\");\r\n this.appendChild(body);\r\n }\r\n\r\n for (const node of Array.from(this.childNodes)) {\r\n if (node === header || node === body) continue;\r\n body.appendChild(node)\r\n }\r\n }\r\n\r\n _updateHeaderState() {\r\n const title = this.querySelector(\":scope > .offcanvas-header > .offcanvas-title\");\r\n if (title) title.textContent = this.header ?? \"\";\r\n }\r\n\r\n _updateFadeState() {\r\n this.classList.toggle(\"fade\", this.fade);\r\n }\r\n\r\n _updatePlacementState() {\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .placement.values.map(v => \"offcanvas-\" + v)\r\n );\r\n if (this.placement) this.classList.add(`offcanvas-${this.placement}`);\r\n }\r\n\r\n _updateSizeState() {\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .size.values.map(v => \"offcanvas-\" + v)\r\n );\r\n if (this.size) this.classList.add(`offcanvas-${this.size}`);\r\n }\r\n\r\n _updateOpenState(isFirstUpdate = false) {\r\n if (isFirstUpdate) this.classList.toggle(\"show\", this.__propValues['open']);\r\n else this.toggle();\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-offcanvas\", BsOffcanvas);","import { Tooltip } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsTooltip extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n animation: {\r\n description: \"Flag to enable animation for the tooltip.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: \"data-bs-animation\"\r\n },\r\n title: {\r\n description: \"The title to be displayed within the tooltip.\",\r\n type: String,\r\n default: \"\",\r\n attribute: \"data-bs-title\"\r\n },\r\n delay: {\t\r\n description: \"The delay for showing the tooltip (in milliseconds).\",\r\n type: Number,\r\n default: 0,\r\n attribute: \"data-bs-delay\"\r\n },\r\n html: {\r\n description: \"\",\r\n type: Boolean,\r\n default: false,\r\n attribute: \"data-bs-html\"\r\n },\r\n open: {\r\n description: \"Controls the visibility of the tooltip.\",\r\n type: Boolean,\r\n default: false\r\n },\r\n placement: {\r\n description: \"The preferred placement of the tooltip.\",\r\n type: String,\r\n default: \"top\",\r\n attribute: \"data-bs-placement\"\r\n },\r\n trigger: {\r\n description: \"The trigger action to open/close the popover.\",\r\n type: String,\r\n default: \"click\",\r\n attribute: \"data-bs-trigger\"\r\n },\r\n container: {\r\n description: \"the popover’s HTML appears within that element.\",\r\n type: String,\r\n default: \"body\",\r\n attribute: \"data-bs-container\"\r\n }\r\n }\r\n }\r\n\r\n static get bs() {\r\n return Tooltip;\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"open\", {\r\n get() {\r\n return this.bs?.tip && this.bs?.tip.classList.contains('show');\r\n },\r\n });\r\n }\r\n \r\n disable() {\r\n return this.bs?.disable();\r\n }\r\n \r\n enable() {\r\n return this.bs?.enable();\r\n }\r\n \r\n hide() {\r\n return this.bs?.hide();\r\n }\r\n\r\n show() {\r\n return this.bs?.show();\r\n }\r\n\r\n toggle() {\r\n return this.bs?.toggle();\r\n }\r\n\r\n toggleEnabled() {\r\n return this.bs?.toggleEnabled();\r\n }\r\n\r\n setContent() {\r\n return this.bs?.setContent();\r\n }\r\n\r\n update() {\r\n return this.bs?.update();\r\n }\r\n\r\n firstUpdated() {\r\n if (!this.hasAttribute(\"data-bs-toggle\")) this.setAttribute(\"data-bs-toggle\", \"tooltip\");\r\n\r\n this._updateOpenState(true);\r\n }\r\n\r\n _updateOpenState(isFirstUpdate = false) {\r\n if (isFirstUpdate) this.classList.toggle(\"show\", this.__propValues['open']);\r\n else this.toggle();\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-tooltip\", BsTooltip);","import { Popover } from \"bootstrap\";\r\nimport BsTooltip from \"./BsTooltip.js\";\r\n\r\nexport default class BsPopover extends BsTooltip {\r\n \r\n static get properties() {\r\n return {\r\n ...super.constructor.properties,\r\n content: {\r\n description: \"The content to be displayed within the popover.\",\r\n type: String,\r\n default: \"\",\r\n attribute: \"data-bs-content\"\r\n }\r\n }\r\n }\r\n \r\n static get bs() {\r\n return Popover;\r\n }\r\n\r\n firstUpdated() {\r\n if (!this.hasAttribute(\"data-bs-toggle\")) {\r\n this.setAttribute(\"data-bs-toggle\", \"popover\");\r\n }\r\n\r\n this._updateOpenState(true);\r\n }\r\n}\r\n\r\ncustomElements.define(\"bs-popover\", BsPopover);","import { Tab } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsTab extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n fade: {\r\n description: \"Control the fade effect when opening or closing the modal.\",\r\n type: Boolean,\r\n default: true\r\n },\r\n active: {\r\n description: \"Whether the element is active or not\",\r\n type: Boolean,\r\n default: false\r\n }\r\n }\r\n }\r\n \r\n static get bs() {\r\n return Tab;\r\n }\r\n\r\n constructor() {\r\n super();\r\n\r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"active\", {\r\n get() {\r\n return this.classList.contains(\"active\");\r\n },\r\n });\r\n }\r\n\r\n show() {\r\n return this.bs?.show();\r\n }\r\n\r\n firstUpdated() {\r\n this.classList.add(\"tab-pane\");\r\n if (!this.hasAttribute(\"role\")) this.setAttribute(\"role\", \"tabpanel\");\r\n if (!this.hasAttribute(\"tabindex\")) this.setAttribute(\"tabindex\", \"0\");\r\n\r\n this._updateFadeState();\r\n this._updateActiveState(true);\r\n }\r\n\r\n _updateFadeState() {\r\n this.classList.toggle(\"fade\", this.fade);\r\n }\r\n\r\n _updateActiveState(isFirstUpdate = false) {\r\n const newState = this.__propValues[\"active\"];\r\n if (isFirstUpdate) {\r\n this.classList.toggle(\"show\", newState);\r\n this.classList.toggle(\"active\", newState);\r\n } else {\r\n if (newState) this.show();\r\n else {\r\n this.classList.toggle(\"show\", false);\r\n this.classList.toggle(\"active\", false);\r\n }\r\n }\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-tab\", BsTab);","import { Toast } from \"bootstrap\";\r\nimport BsElement from \"../core/BsElement.js\";\r\n\r\nexport default class BsToast extends BsElement {\r\n \r\n static get properties() {\r\n return {\r\n color: {\r\n description: \"Color of the Toast background.\",\r\n type: String,\r\n default: \"\",\r\n values: [\"\", \"primary\", \"secondary\", \"success\", \"danger\", \"warning\", \"info\", \"light\", \"dark\"]\r\n },\r\n header: {\r\n description: \"Customize the modal header content.\",\r\n type: String,\r\n default: undefined\r\n },\r\n autohide: {\r\n description: \"Controls whether the Toast component autohides after a certain duration.\",\r\n type: Boolean,\r\n default: false,\r\n attribute: \"data-bs-autohide\"\r\n },\r\n delay: {\r\n description: \"The time delay (in milliseconds) before the Toast component autohides.\",\r\n type: Number,\r\n default: 5000,\r\n attribute: \"data-bs-delay\"\r\n },\r\n animation: {\r\n description: \"Controls whether the Toast component fades in and out.\",\r\n type: Boolean,\r\n default: true,\r\n attribute: \"data-bs-animation\"\r\n },\r\n open: {\r\n description: \"Controls whether the Toast component is initially open.\",\r\n type: Boolean,\r\n default: true\r\n },\r\n dismissible: {\r\n description: \"Controls whether the Toast component is dismissible\",\r\n type: Boolean,\r\n default: true\r\n }\r\n }\r\n }\r\n \r\n static get bs() {\r\n return Toast;\r\n }\r\n\r\n constructor() {\r\n super();\r\n \r\n // this is an external state managed by bootstrap\r\n Object.defineProperty(this.constructor.prototype, \"open\", {\r\n get() {\r\n return this.classList.contains(\"show\");\r\n },\r\n });\r\n }\r\n\r\n hide() {\r\n return this.bs?.hide();\r\n }\r\n\r\n show() {\r\n return this.bs?.show();\r\n }\r\n\r\n isShown() {\r\n return this.bs?.isShown();\r\n }\r\n\r\n firstUpdated() {\r\n this.classList.add(\"toast\");\r\n if (!this.hasAttribute(\"role\")) this.setAttribute(\"role\", \"alert\");\r\n if (!this.hasAttribute(\"aria-live\")) this.setAttribute(\"aria-live\", \"assertive\");\r\n if (!this.hasAttribute(\"aria-atomic\")) this.setAttribute(\"aria-atomic\", \"true\");\r\n\r\n this._fixMarkup();\r\n this._updateHeaderState();\r\n this._updateDismissibleState();\r\n this._updateColorState();\r\n this._updateOpenState(true);\r\n }\r\n\r\n _fixMarkup() {\r\n let header = this.querySelector(\":scope > .toast-header\");\r\n if (!header && this.header) {\r\n header = document.createElement(\"div\");\r\n header.classList.add(\"toast-header\");\r\n \r\n header.insertAdjacentHTML(\"afterbegin\", `<strong class=\"me-auto\">${this.header}</strong>`);\r\n \r\n this.appendChild(header);\r\n }\r\n\r\n let body = this.querySelector(\":scope > .toast-body\");\r\n if (!body) {\r\n body = document.createElement(\"div\");\r\n body.classList.add(\"toast-body\");\r\n\r\n for (let i = 0; i < this.childNodes.length; i++) {\r\n if (this.childNodes[i].classList?.contains(\"toast-header\")) continue;\r\n body.appendChild(this.childNodes[i]);\r\n }\r\n \r\n this.appendChild(body);\r\n }\r\n }\r\n\r\n _updateHeaderState() {\r\n let header = this.querySelector(\":scope > .toast-header\");\r\n if (!header && this.header) {\r\n this._fixMarkup();\r\n header = this.querySelector(\":scope > .toast-header\");\r\n header.textContent = this.header || \"\";\r\n }\r\n if (header && !this.header) {\r\n header.remove();\r\n }\r\n }\r\n\r\n _updateDismissibleState() {\r\n const closeBtn = this.querySelector(\".btn-close\");\r\n if (this.dismissible) {\r\n if (!closeBtn) this.firstChild?.insertAdjacentHTML(\"beforeend\",\r\n `<button type=\"button\" class=\"btn-close ms-2 mb-1\" data-bs-dismiss=\"toast\" aria-label=\"Close\"></button>`\r\n );\r\n } else {\r\n if (closeBtn) closeBtn.remove();\r\n }\r\n }\r\n\r\n _updateColorState() {\r\n this.classList.remove(\r\n ...this.constructor.properties\r\n .color.values.map(v => \"bg-\" + v)\r\n );\r\n if (this.color) this.classList.add(\"bg-\" + this.color);\r\n\r\n if (this.color === \"\" || this.color === \"light\" || this.color === \"warning\") {\r\n this.classList.remove(\"text-white\");\r\n } else {\r\n this.classList.add(\"text-white\");\r\n }\r\n }\r\n \r\n _updateOpenState(isFirstUpdate = false) {\r\n const newState = this.__propValues['open'];\r\n if (isFirstUpdate) this.classList.toggle(\"show\", newState);\r\n else {\r\n if (newState) this.show();\r\n else this.hide();\r\n }\r\n }\r\n\r\n}\r\n\r\ncustomElements.define(\"bs-toast\", BsToast);"],"names":["ReactiveElement","HTMLElement","constructor","super","this","__propValues","Object","create","__changed","Set","__updateScheduled","__reflecting","createReactiveProperties","properties","static","propertyToAttribute","property","__propertyToAttributeMap","size","observedAttributes","get","attributeToProperty","attribute","__attributeToPropertyMap","undefined","Map","props","prop","def","entries","attr","replace","toLowerCase","set","keys","getAttrValue","type","value","getAttribute","Boolean","hasAttribute","Number","n","isNaN","setAttrValue","removeAttribute","setAttribute","String","createReactiveProperty","getOwnPropertyDescriptor","prototype","defineProperty","reflect","queueMicrotask","add","scheduleUpdate","configurable","enumerable","default","childrenToSlots","html","template","document","createElement","innerHTML","slots","content","querySelectorAll","slot","slotChildren","name","forEach","el","replaceWith","replaceChildren","connectedCallback","firstUpdated","attributeChangedCallback","attrName","oldValue","newValue","old","changed","clear","updated","e","console","error","fn","charAt","toUpperCase","slice","disconnectedCallback","BsElement","bs","bsProps","__bsProps","startsWith","push","createInstance","options","reduce","acc","key","dispose","values","find","v","className","includes","some","p","has","BsAccordion","flush","description","alwaysOpen","active","toggle","idx","children","querySelector","click","classList","_fixMarkup","_updateAlwaysOpenState","_updateFlushState","_updateActiveState","id","crypto","randomUUID","Array","from","item","header","insertBefore","firstChild","button","log","parentElement","appendChild","collapse","collapseId","body","remove","contains","isFirstUpdated","customElements","define","BsAlert","color","dismissible","fade","open","Alert","close","_updateColorState","_updateFadeState","_updateDismissibleState","_updateOpenState","map","btn","insertAdjacentHTML","isFirstUpdate","BsButton","outline","target","Button","_updateOutlineState","_updateSizeState","_updateToggleState","_updateTargetState","variant","BsCarousel","indicators","interval","keyboard","pause","ride","touch","wrap","Carousel","cycle","next","nextWhenVisible","prev","to","_updateIndicatorsState","inner","toMove","child","childNodes","nodeType","Node","ELEMENT_NODE","filter","it","i","_ensureControls","_renderIndicators","_","addEventListener","_renderIndicatorsActive","activeIndex","findIndex","s","BsCollapse","horizontal","parent","Collapse","hide","show","_updateHorizontalState","style","width","BsDropdown","autoClose","direction","Dropdown","update","_updateDirectionState","menu","BsModal","focus","backdrop","centered","fullscreen","scrollable","Modal","handleUpdate","_updateCenteredState","_updateScrollableState","_updateFullscreenState","dialog","footer","_updateHeaderState","title","textContent","BsOffcanvas","placement","scroll","Offcanvas","_updatePlacementState","node","BsTooltip","animation","delay","trigger","container","Tooltip","tip","disable","enable","toggleEnabled","setContent","BsPopover","Popover","BsTab","Tab","newState","BsToast","autohide","Toast","isShown","length","closeBtn"],"mappings":"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"}
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@programmerg/bs-elements",
|
|
3
|
+
"description": "Bootstrap 5-based, framework-agnostic Web Component library",
|
|
4
|
+
"version": "0.1.0",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"bootstrap",
|
|
7
|
+
"components",
|
|
8
|
+
"web components",
|
|
9
|
+
"custom elements",
|
|
10
|
+
"html elements",
|
|
11
|
+
"ui library",
|
|
12
|
+
"ui framework"
|
|
13
|
+
],
|
|
14
|
+
"homepage": "https://programmerg.github.io/bs-elements",
|
|
15
|
+
"author": "Gelencsér Gergő",
|
|
16
|
+
"license": "MIT",
|
|
17
|
+
"repository": {
|
|
18
|
+
"type": "git",
|
|
19
|
+
"url": "git+https://github:programmerg/bs-elements.git"
|
|
20
|
+
},
|
|
21
|
+
"bugs": {
|
|
22
|
+
"url": "https://github.com/programmerg/bs-elements/issues"
|
|
23
|
+
},
|
|
24
|
+
"type": "module",
|
|
25
|
+
"main": "src/index.js",
|
|
26
|
+
"module": "src/index.js",
|
|
27
|
+
"files": [
|
|
28
|
+
"dist/",
|
|
29
|
+
"src/",
|
|
30
|
+
"custom-elements.json"
|
|
31
|
+
],
|
|
32
|
+
"customElements": "custom-elements.json",
|
|
33
|
+
"dependencies": {
|
|
34
|
+
"bootstrap": "^5.3.8"
|
|
35
|
+
},
|
|
36
|
+
"devDependencies": {
|
|
37
|
+
"@custom-elements-manifest/analyzer": "^0.11.0",
|
|
38
|
+
"@rollup/plugin-commonjs": "^29.0.0",
|
|
39
|
+
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
40
|
+
"@rollup/plugin-terser": "^0.4.4",
|
|
41
|
+
"rollup": "^4.57.1"
|
|
42
|
+
},
|
|
43
|
+
"scripts": {
|
|
44
|
+
"build:manifest": "npx custom-elements-manifest analyze --litelement --globs src/**/*.js",
|
|
45
|
+
"build:dist": "rollup -c",
|
|
46
|
+
"build": "npm run build:dist && npm run build:manifest",
|
|
47
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
|
48
|
+
"deploy": "npm publish --access public"
|
|
49
|
+
}
|
|
50
|
+
}
|