@designbasekorea/ui-wc 0.3.0 → 0.4.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.
Files changed (43) hide show
  1. package/dist/esm/components/db-accordion.d.ts +2 -0
  2. package/dist/esm/components/db-accordion.js +1 -1
  3. package/dist/esm/components/db-breadcrumbs.d.ts +29 -0
  4. package/dist/esm/components/db-breadcrumbs.js +1 -1
  5. package/dist/esm/components/db-calendar.js +1 -1
  6. package/dist/esm/components/db-gantt.d.ts +96 -0
  7. package/dist/esm/components/db-gantt.js +1 -0
  8. package/dist/esm/components/db-icons.js +1 -1
  9. package/dist/esm/components/db-kanban.d.ts +70 -0
  10. package/dist/esm/components/db-kanban.js +1 -0
  11. package/dist/esm/components/db-section-app-download.d.ts +0 -2
  12. package/dist/esm/components/db-section-app-download.js +1 -1
  13. package/dist/esm/components/db-section-contact.d.ts +1 -3
  14. package/dist/esm/components/db-section-contact.js +1 -1
  15. package/dist/esm/components/db-section-cta.d.ts +24 -0
  16. package/dist/esm/components/db-section-cta.js +1 -0
  17. package/dist/esm/components/db-section-faq.d.ts +20 -0
  18. package/dist/esm/components/db-section-faq.js +1 -0
  19. package/dist/esm/components/db-section-feature-grid.d.ts +20 -0
  20. package/dist/esm/components/db-section-feature-grid.js +1 -0
  21. package/dist/esm/components/db-section-feature.d.ts +2 -2
  22. package/dist/esm/components/db-section-feature.js +1 -1
  23. package/dist/esm/components/db-section-logo-cloud.d.ts +20 -0
  24. package/dist/esm/components/db-section-logo-cloud.js +1 -0
  25. package/dist/esm/components/db-section-pricing.d.ts +20 -0
  26. package/dist/esm/components/db-section-pricing.js +1 -0
  27. package/dist/esm/components/db-section-stats.d.ts +20 -0
  28. package/dist/esm/components/db-section-stats.js +1 -0
  29. package/dist/esm/components/db-section-testimonials.d.ts +34 -0
  30. package/dist/esm/components/db-section-testimonials.js +1 -0
  31. package/dist/esm/components/marketing-block-host-utils.js +1 -0
  32. package/dist/esm/components/section-block-header-utils.js +1 -0
  33. package/dist/esm/index.d.ts +9 -0
  34. package/dist/esm/index.js +1 -1
  35. package/dist/index.cjs +1 -1
  36. package/dist/index.css +1 -1
  37. package/dist/index.d.ts +349 -9
  38. package/dist/index.esm.js +1 -1
  39. package/dist/react/index.cjs +1 -1
  40. package/dist/react/index.d.ts +739 -13
  41. package/dist/react/index.esm.js +1 -1
  42. package/package.json +1 -1
  43. /package/dist/chunks/{lottie-1e5700ad.js → lottie-3b3dac01.js} +0 -0
@@ -0,0 +1 @@
1
+ import{createDbIcon as e}from"./db-icons.js";const t=["s","m","l"],a=["low","medium","high","urgent"],n={low:"낮음",medium:"보통",high:"높음",urgent:"긴급"};class DbKanban extends HTMLElement{constructor(){super(...arguments),this.dragState=null,this.dropTarget=null,this.handleBoardDragOver=e=>{if(!this.dragState)return;const t=e.target;t instanceof Element&&(t.closest(".designbase-wc-kanban__card")||t.closest(".designbase-wc-kanban__column-body"))||(e.preventDefault(),e.dataTransfer&&(e.dataTransfer.dropEffect="move"))},this.handleBoardDrop=e=>{if(!this.dragState)return;const t=e.target;t instanceof Element&&(t.closest(".designbase-wc-kanban__card")||t.closest(".designbase-wc-kanban__column-body"))||(e.preventDefault(),this.commitDrop())}}static get observedAttributes(){return["columns","size","disabled","draggable","show-column-count","show-add-card","allow-cross-column","full-width","empty-column-text"]}get columns(){try{const e=JSON.parse(this.getAttribute("columns")||"[]");return Array.isArray(e)?e:[]}catch{return[]}}set columns(e){this.setAttribute("columns","string"==typeof e?e:JSON.stringify(e))}connectedCallback(){this.setAttribute("role","region"),this.setAttribute("aria-label","칸반 보드"),this.addEventListener("dragover",this.handleBoardDragOver),this.addEventListener("drop",this.handleBoardDrop),this.render()}disconnectedCallback(){this.removeEventListener("dragover",this.handleBoardDragOver),this.removeEventListener("drop",this.handleBoardDrop)}attributeChangedCallback(){this.isConnected&&this.render()}getBool(e,t=!1){if(!this.hasAttribute(e))return t;const a=this.getAttribute(e);return""===a||"true"===a}getOption(e,t,a){const n=this.getAttribute(e);return n&&t.includes(n)?n:a}emitChange(e){this.columns=e,this.dispatchEvent(new CustomEvent("db-change",{detail:{columns:e},bubbles:!0,composed:!0}))}emitCardMove(e,t){this.columns=e,this.dispatchEvent(new CustomEvent("db-card-move",{detail:{...t,columns:e},bubbles:!0,composed:!0})),this.dispatchEvent(new CustomEvent("db-change",{detail:{columns:e},bubbles:!0,composed:!0}))}findCardLocation(e){for(const t of this.columns){const a=t.cards.findIndex(t=>t.id===e);if(a>=0)return{columnId:t.id,index:a}}return null}getAdjustedDropIndex(e,t){if(!this.dragState)return-1;const{columnId:a,cardIndex:n}=this.dragState;return a===e&&t>n?t-1:t}isValidDropTarget(e=this.dropTarget){if(!this.dragState||!e)return!1;const t=this.getAdjustedDropIndex(e.columnId,e.index);return!(t<0)&&(this.dragState.columnId!==e.columnId||t!==this.dragState.cardIndex)}moveCard(e,t,a){const n=this.findCardLocation(e);if(!n)return;const s=this.columns.map(e=>({...e,cards:[...e.cards]})),d=s.find(e=>e.id===n.columnId),r=s.find(e=>e.id===t);if(!d||!r)return;const[i]=d.cards.splice(n.index,1);if(!i)return;const o=this.getAdjustedDropIndex(t,a);r.cards.splice(Math.max(0,o),0,i),this.emitCardMove(s,{cardId:e,fromColumnId:n.columnId,toColumnId:t,fromIndex:n.index,toIndex:Math.max(0,o)})}setDropTarget(e){const t=e&&this.isValidDropTarget(e)?e:null;(this.dropTarget?`${this.dropTarget.columnId}:${this.dropTarget.index}`:"")!==(t?`${t.columnId}:${t.index}`:"")&&(this.dropTarget=t,this.updateDragClasses())}resetDragState(){this.dragState=null,this.dropTarget=null,this.classList.remove("designbase-wc-kanban--dragging"),this.updateDragClasses()}updateDragClasses(){const e=!!this.dragState;this.classList.toggle("designbase-wc-kanban--dragging",e),this.querySelectorAll(".designbase-wc-kanban__card").forEach(t=>{const a=t.dataset.cardId||"",n=e&&this.dragState?.cardId===a;t.classList.toggle("designbase-wc-kanban__card--dragged",n)}),this.querySelectorAll(".designbase-wc-kanban__column-body").forEach(e=>{const t=e.dataset.columnId||"",a=!!this.dropTarget&&this.dropTarget.columnId===t;e.classList.toggle("designbase-wc-kanban__column-body--drag-over",a)}),this.querySelectorAll(".designbase-wc-kanban__card").forEach(e=>{const t=e.dataset.columnId||"",a=Number(e.dataset.cardIndex||-1),n=!!this.dropTarget&&this.dropTarget.columnId===t&&this.dropTarget.index===a,s=this.columns.find(e=>e.id===t),d=!!this.dropTarget&&this.dropTarget.columnId===t&&s&&this.dropTarget.index===s.cards.length&&a===s.cards.length-1;e.classList.toggle("designbase-wc-kanban__card--drop-before",n),e.classList.toggle("designbase-wc-kanban__card--drop-after",d)})}getDropIndexFromPointer(e,t,a){const n=t.getBoundingClientRect();return e.clientY-n.top<n.height/2?a:a+1}getDropIndexFromColumnPointer(e,t){const a=Array.from(this.querySelectorAll(`.designbase-wc-kanban__column-body[data-column-id="${t}"] > .designbase-wc-kanban__card`));if(0===a.length)return 0;for(let t=0;t<a.length;t+=1){const n=a[t].getBoundingClientRect();if(e.clientY<n.top+n.height/2)return t}return a.length}commitDrop(){if(!this.dragState||!this.dropTarget||!this.isValidDropTarget())return void this.resetDragState();const{cardId:e}=this.dragState,{columnId:t,index:a}=this.dropTarget;this.resetDragState(),this.moveCard(e,t,a),this.render()}formatDueDate(e){const t=new Date(e);return Number.isNaN(t.getTime())?e:t.toLocaleDateString("ko-KR",{month:"short",day:"numeric"})}getInitials(e){return e.initials?e.initials:e.name.split(/\s+/).map(e=>e.charAt(0)).join("").slice(0,2).toUpperCase()}createTag(e){const t=document.createElement("span");return t.className=["designbase-wc-kanban__tag",e.variant&&`designbase-wc-kanban__tag--${e.variant}`].filter(Boolean).join(" "),t.textContent=e.label,t}createPriorityBadge(e){const t=document.createElement("span");return t.className=`designbase-wc-kanban__priority designbase-wc-kanban__priority--${e}`,t.textContent=n[e],t.setAttribute("aria-label",`우선순위 ${n[e]}`),t}createAssignee(e){const t=document.createElement("div");if(t.className="designbase-wc-kanban__assignee",t.title=e.name,e.avatar){const a=document.createElement("img");a.className="designbase-wc-kanban__assignee-avatar",a.src=e.avatar,a.alt=e.name,t.append(a)}else{const a=document.createElement("span");a.className="designbase-wc-kanban__assignee-initials",a.textContent=this.getInitials(e),t.append(a)}const a=document.createElement("span");return a.className="designbase-wc-kanban__assignee-name",a.textContent=e.name,t.append(a),t}bindCardDrag(e,t,a,n,s,d){e.draggable=s&&!d&&!t.disabled,e.addEventListener("dragstart",e=>{!s||d||t.disabled||(this.dragState={cardId:t.id,columnId:a,cardIndex:n},this.dropTarget=null,e.dataTransfer&&(e.dataTransfer.effectAllowed="move",e.dataTransfer.setData("text/plain",t.id)),this.classList.add("designbase-wc-kanban--dragging"),this.updateDragClasses())}),e.addEventListener("dragover",t=>{if(!this.dragState)return;t.preventDefault(),t.stopPropagation(),t.dataTransfer&&(t.dataTransfer.dropEffect="move");if(!this.getBool("allow-cross-column",!0)&&this.dragState.columnId!==a)return;const s=this.getDropIndexFromPointer(t,e,n);this.setDropTarget({columnId:a,index:s})}),e.addEventListener("dragleave",t=>{const a=e.getBoundingClientRect(),n=t.clientX-a.left,s=t.clientY-a.top;(n<0||n>a.width||s<0||s>a.height)&&this.setDropTarget(null)}),e.addEventListener("drop",e=>{e.preventDefault(),e.stopPropagation(),this.commitDrop()}),e.addEventListener("dragend",()=>{this.resetDragState(),this.render()})}createCard(t,n,s,d){const r=document.createElement("article");r.className=["designbase-wc-kanban__card",t.disabled&&"designbase-wc-kanban__card--disabled",t.priority&&`designbase-wc-kanban__card--priority-${t.priority}`].filter(Boolean).join(" "),r.dataset.cardId=t.id,r.dataset.columnId=n,r.dataset.cardIndex=String(s),r.setAttribute("role","listitem"),r.tabIndex=t.disabled?-1:0;const i=document.createElement("div");i.className="designbase-wc-kanban__card-title-row";const o=document.createElement("h4");if(o.className="designbase-wc-kanban__card-title",o.textContent=t.title,i.append(o),t.priority&&a.includes(t.priority)&&i.append(this.createPriorityBadge(t.priority)),r.append(i),t.description){const e=document.createElement("p");e.className="designbase-wc-kanban__card-description",e.textContent=t.description,r.append(e)}if(t.tags?.length){const e=document.createElement("div");e.className="designbase-wc-kanban__card-tags",t.tags.forEach(t=>e.append(this.createTag(t))),r.append(e)}const c=document.createElement("div");if(c.className="designbase-wc-kanban__card-footer",t.assignee&&c.append(this.createAssignee(t.assignee)),t.dueDate){const a=document.createElement("span");a.className="designbase-wc-kanban__due-date",a.append(e("calendar","l"===d.size?12:"m"===d.size?11:10));const n=document.createElement("span");n.textContent=this.formatDueDate(t.dueDate),a.append(n),c.append(a)}return c.childNodes.length>0&&r.append(c),r.addEventListener("click",e=>{d.disabled||this.dispatchEvent(new CustomEvent("db-card-click",{detail:{card:t,columnId:n},bubbles:!0,composed:!0}))}),r.addEventListener("keydown",e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.dispatchEvent(new CustomEvent("db-card-click",{detail:{card:t,columnId:n},bubbles:!0,composed:!0})))}),this.bindCardDrag(r,t,n,s,d.draggable,d.disabled),r}createColumn(t,a){const n=document.createElement("section"),s=void 0!==t.limit&&t.cards.length>t.limit;n.className=["designbase-wc-kanban__column",s&&"designbase-wc-kanban__column--over-limit"].filter(Boolean).join(" "),n.dataset.columnId=t.id,n.setAttribute("role","group"),n.setAttribute("aria-label",t.title);const d=document.createElement("header");d.className="designbase-wc-kanban__column-header";const r=document.createElement("div");if(r.className="designbase-wc-kanban__column-title-wrap",t.color){const e=document.createElement("span");e.className="designbase-wc-kanban__column-color",e.style.backgroundColor=t.color,e.setAttribute("aria-hidden","true"),r.append(e)}const i=document.createElement("h3");if(i.className="designbase-wc-kanban__column-title",i.textContent=t.title,r.append(i),d.append(r),a.showColumnCount){const e=document.createElement("span");e.className="designbase-wc-kanban__column-count",e.textContent=void 0!==t.limit?`${t.cards.length}/${t.limit}`:String(t.cards.length),d.append(e)}n.append(d);const o=document.createElement("div");if(o.className="designbase-wc-kanban__column-body",o.dataset.columnId=t.id,o.setAttribute("role","list"),o.addEventListener("dragover",e=>{if(!this.dragState)return;e.preventDefault(),e.stopPropagation(),e.dataTransfer&&(e.dataTransfer.dropEffect="move");if(!this.getBool("allow-cross-column",!0)&&this.dragState.columnId!==t.id)return;const a=this.getDropIndexFromColumnPointer(e,t.id);this.setDropTarget({columnId:t.id,index:a})}),o.addEventListener("drop",e=>{e.preventDefault(),e.stopPropagation(),this.commitDrop()}),0===t.cards.length){const e=document.createElement("div");e.className="designbase-wc-kanban__column-empty",e.textContent=a.emptyColumnText,o.append(e)}else t.cards.forEach((e,n)=>{o.append(this.createCard(e,t.id,n,{size:a.size,draggable:a.draggable,disabled:a.disabled}))});if(n.append(o),a.showAddCard&&!a.disabled){const s=document.createElement("button");s.type="button",s.className="designbase-wc-kanban__add-card",s.append(e("plus","l"===a.size?14:"m"===a.size?12:10));const d=document.createElement("span");d.textContent="카드 추가",s.append(d),s.addEventListener("click",()=>{this.dispatchEvent(new CustomEvent("db-add-card",{detail:{columnId:t.id},bubbles:!0,composed:!0}))}),n.append(s)}return n}render(){const e=this.getOption("size",t,"s"),a=this.getBool("disabled"),n=this.getBool("draggable",!0),s=this.getBool("show-column-count",!0),d=this.getBool("show-add-card"),r=this.getAttribute("empty-column-text")||"카드가 없습니다";this.className=["designbase-wc-kanban",`designbase-wc-kanban--${e}`,this.getBool("full-width")&&"designbase-wc-kanban--full-width",a&&"designbase-wc-kanban--disabled",this.classList.contains("designbase-wc-kanban--dragging")&&"designbase-wc-kanban--dragging"].filter(Boolean).join(" ");const i=document.createElement("div");i.className="designbase-wc-kanban__board";const o=document.createDocumentFragment();this.columns.forEach(t=>{o.append(this.createColumn(t,{size:e,draggable:n,showColumnCount:s,showAddCard:d,emptyColumnText:r,disabled:a}))}),i.append(o),this.replaceChildren(i),this.updateDragClasses()}}customElements.get("db-kanban")||customElements.define("db-kanban",DbKanban);export{DbKanban};
@@ -9,8 +9,6 @@ interface DownloadStore {
9
9
  declare class DbSectionAppDownload extends HTMLElement {
10
10
  static get observedAttributes(): string[];
11
11
  private built;
12
- private sectionEl?;
13
- private wrapEl?;
14
12
  private innerEl?;
15
13
  private titleEl?;
16
14
  private descriptionEl?;
@@ -1 +1 @@
1
- const t="designbase-wc-section-app-download";class DbSectionAppDownload extends HTMLElement{constructor(){super(...arguments),this.built=!1}static get observedAttributes(){return["title","description","stores","align","size","full-width","full-height","overflow-visible"]}connectedCallback(){this.style.display="block",this.built||(this.built=!0,this.build()),this.updateUI()}attributeChangedCallback(){this.built&&this.updateUI()}get stores(){return this.parseStores()}set stores(t){this.setAttribute("stores","string"==typeof t?t:JSON.stringify(t))}parseStores(){try{const t=JSON.parse(this.getAttribute("stores")||"[]");if(Array.isArray(t)&&t.length>0)return t}catch{}return[{store:"app-store",href:"#"},{store:"google-play",href:"#"}]}build(){this.sectionEl=document.createElement("db-section"),this.sectionEl.setAttribute("no-padding",""),this.sectionEl.setAttribute("data-wc-internal",""),this.wrapEl=document.createElement("div"),this.wrapEl.className=t,this.innerEl=document.createElement("div"),this.innerEl.className=`${t}__inner`,this.titleEl=document.createElement("h2"),this.titleEl.className=`${t}__title`,this.descriptionEl=document.createElement("p"),this.descriptionEl.className=`${t}__description`,this.badgesEl=document.createElement("div"),this.badgesEl.className=`${t}__badges`,this.innerEl.append(this.titleEl,this.descriptionEl,this.badgesEl),this.wrapEl.append(this.innerEl),this.sectionEl.append(this.wrapEl),this.append(this.sectionEl)}updateUI(){const e=this.getAttribute("title")||"지금 바로 시작하세요",i=this.getAttribute("description")||"앱을 다운로드하고 바로 이용해 보세요.",s=this.getAttribute("align")||"center",l=this.getAttribute("size")||"l",r=this.parseStores(),n=[t,`${t}--${s}`].join(" ");this.className=t,this.wrapEl&&(this.wrapEl.className=n),this.sectionEl&&(this.sectionEl.setAttribute("size",l),this.hasAttribute("full-width")?this.sectionEl.setAttribute("full-width",""):this.sectionEl.removeAttribute("full-width"),this.hasAttribute("full-height")?this.sectionEl.setAttribute("full-height",""):this.sectionEl.removeAttribute("full-height"),this.hasAttribute("overflow-visible")?this.sectionEl.setAttribute("overflow-visible",""):this.sectionEl.removeAttribute("overflow-visible")),this.titleEl&&(this.titleEl.textContent=e),this.descriptionEl&&(this.descriptionEl.textContent=i,this.descriptionEl.hidden=!i),this.badgesEl&&(this.badgesEl.replaceChildren(),r.forEach(t=>{const e=document.createElement("db-app-badge");e.setAttribute("store",t.store),e.setAttribute("size",t.size||"m"),e.setAttribute("theme",t.theme||"dark"),t.href&&e.setAttribute("href",t.href),t.label&&e.setAttribute("label",t.label),t.storeName&&e.setAttribute("store-name",t.storeName),this.badgesEl.append(e)}))}}customElements.get("db-section-app-download")||customElements.define("db-section-app-download",DbSectionAppDownload);export{DbSectionAppDownload};
1
+ import{syncMarketingBlockHost as t}from"./marketing-block-host-utils.js";const e="designbase-wc-section-app-download";class DbSectionAppDownload extends HTMLElement{constructor(){super(...arguments),this.built=!1}static get observedAttributes(){return["title","description","stores","align","size","full-width","full-height","overflow-visible"]}connectedCallback(){this.style.display="block",this.built||(this.built=!0,this.build()),this.updateUI()}attributeChangedCallback(){this.built&&this.updateUI()}get stores(){return this.parseStores()}set stores(t){this.setAttribute("stores","string"==typeof t?t:JSON.stringify(t))}parseStores(){try{const t=JSON.parse(this.getAttribute("stores")||"[]");if(Array.isArray(t)&&t.length>0)return t}catch{}return[{store:"app-store",href:"#"},{store:"google-play",href:"#"}]}build(){this.innerEl=document.createElement("div"),this.innerEl.className=`${e}__inner`,this.titleEl=document.createElement("h2"),this.titleEl.className=`${e}__title`,this.descriptionEl=document.createElement("p"),this.descriptionEl.className=`${e}__description`,this.badgesEl=document.createElement("div"),this.badgesEl.className=`${e}__badges`,this.innerEl.append(this.titleEl,this.descriptionEl,this.badgesEl),this.append(this.innerEl)}updateUI(){const s=this.getAttribute("title")||"지금 바로 시작하세요",i=this.getAttribute("description")||"앱을 다운로드하고 바로 이용해 보세요.",r=this.getAttribute("align")||"center",l=this.parseStores();this.className=[e,`${e}--${r}`].join(" "),t(this,e),this.titleEl&&(this.titleEl.textContent=s),this.descriptionEl&&(this.descriptionEl.textContent=i,this.descriptionEl.hidden=!i),this.badgesEl&&(this.badgesEl.replaceChildren(),l.forEach(t=>{const e=document.createElement("db-app-badge");e.setAttribute("store",t.store),e.setAttribute("size",t.size||"m"),e.setAttribute("theme",t.theme||"dark"),t.href&&e.setAttribute("href",t.href),t.label&&e.setAttribute("label",t.label),t.storeName&&e.setAttribute("store-name",t.storeName),this.badgesEl.append(e)}))}}customElements.get("db-section-app-download")||customElements.define("db-section-app-download",DbSectionAppDownload);export{DbSectionAppDownload};
@@ -1,9 +1,7 @@
1
1
  declare class DbSectionContact extends HTMLElement {
2
2
  static get observedAttributes(): string[];
3
3
  private built;
4
- private sectionEl?;
5
- private wrapEl?;
6
- private contactWrapEl?;
4
+ private innerEl?;
7
5
  private titleEl?;
8
6
  private descriptionEl?;
9
7
  private actionEl?;
@@ -1 +1 @@
1
- const t="designbase-wc-section-contact",i="contact@designbase.co.kr";class DbSectionContact extends HTMLElement{constructor(){super(...arguments),this.built=!1}static get observedAttributes(){return["title","description","action","align","accent","content-padding","size","full-width","full-height","overflow-visible"]}connectedCallback(){this.style.display="block",this.built||(this.built=!0,this.build()),this.updateUI()}attributeChangedCallback(){this.built&&this.updateUI()}parseAction(){try{const t=this.getAttribute("action");if(t)return JSON.parse(t)}catch{}return{label:i,href:`mailto:${i}`}}build(){this.sectionEl=document.createElement("db-section"),this.sectionEl.setAttribute("no-padding",""),this.sectionEl.setAttribute("data-wc-internal",""),this.wrapEl=document.createElement("div"),this.wrapEl.className=t,this.contactWrapEl=document.createElement("div"),this.contactWrapEl.className=`${t}__inner`,this.titleEl=document.createElement("h2"),this.titleEl.className=`${t}__title`,this.descriptionEl=document.createElement("p"),this.descriptionEl.className=`${t}__description`,this.actionEl=document.createElement("db-button"),this.actionEl.className=`${t}__action`,this.actionEl.setAttribute("variant","primary"),this.actionEl.setAttribute("size","m"),this.actionEl.setAttribute("radius","pill"),this.actionEl.setAttribute("start-icon","mail"),this.actionEl.addEventListener("click",t=>{t.stopPropagation(),this.dispatchEvent(new CustomEvent("db-action",{detail:{action:this.parseAction()},bubbles:!0,composed:!0}))}),this.contactWrapEl.append(this.titleEl,this.descriptionEl,this.actionEl),this.wrapEl.append(this.contactWrapEl),this.sectionEl.append(this.wrapEl),this.append(this.sectionEl)}updateUI(){const i=this.getAttribute("title")||"문의하기",e=this.getAttribute("description")||"궁금한 점이 있으시면 언제든지 연락주세요.",s=this.getAttribute("align")||"center",n=this.getAttribute("content-padding")||"l",l=this.getAttribute("size")||"l",c=!this.hasAttribute("accent")||"false"!==this.getAttribute("accent"),a=this.parseAction(),o=[t,`${t}--${s}`,`${t}--padding-${n}`,c&&`${t}--accent`].filter(Boolean).join(" ");this.className=t,this.wrapEl&&(this.wrapEl.className=o),this.contactWrapEl&&(this.contactWrapEl.className=`${t}__inner`),this.sectionEl&&(this.sectionEl.setAttribute("size",l),this.hasAttribute("full-width")?this.sectionEl.setAttribute("full-width",""):this.sectionEl.removeAttribute("full-width"),this.hasAttribute("full-height")?this.sectionEl.setAttribute("full-height",""):this.sectionEl.removeAttribute("full-height"),this.hasAttribute("overflow-visible")?this.sectionEl.setAttribute("overflow-visible",""):this.sectionEl.removeAttribute("overflow-visible")),this.titleEl&&(this.titleEl.textContent=i),this.descriptionEl&&(this.descriptionEl.textContent=e,this.descriptionEl.hidden=!e),this.actionEl&&(this.actionEl.textContent=a.label,a.href?this.actionEl.setAttribute("href",a.href):this.actionEl.removeAttribute("href"))}}customElements.get("db-section-contact")||customElements.define("db-section-contact",DbSectionContact);export{DbSectionContact};
1
+ import{syncMarketingBlockHost as t}from"./marketing-block-host-utils.js";const i="designbase-wc-section-contact",e="contact@designbase.co.kr";class DbSectionContact extends HTMLElement{constructor(){super(...arguments),this.built=!1}static get observedAttributes(){return["title","description","action","align","accent","content-padding","size","full-width","full-height","overflow-visible"]}connectedCallback(){this.style.display="block",this.built||(this.built=!0,this.build()),this.updateUI()}attributeChangedCallback(){this.built&&this.updateUI()}parseAction(){try{const t=this.getAttribute("action");if(t)return JSON.parse(t)}catch{}return{label:e,href:`mailto:${e}`}}build(){this.innerEl=document.createElement("div"),this.innerEl.className=`${i}__inner`,this.titleEl=document.createElement("h2"),this.titleEl.className=`${i}__title`,this.descriptionEl=document.createElement("p"),this.descriptionEl.className=`${i}__description`,this.actionEl=document.createElement("db-button"),this.actionEl.className=`${i}__action`,this.actionEl.setAttribute("variant","primary"),this.actionEl.setAttribute("size","m"),this.actionEl.setAttribute("radius","pill"),this.actionEl.setAttribute("start-icon","mail"),this.actionEl.addEventListener("click",t=>{t.stopPropagation(),this.dispatchEvent(new CustomEvent("db-action",{detail:{action:this.parseAction()},bubbles:!0,composed:!0}))}),this.innerEl.append(this.titleEl,this.descriptionEl,this.actionEl),this.append(this.innerEl)}updateUI(){const e=this.getAttribute("title")||"문의하기",s=this.getAttribute("description")||"궁금한 점이 있으시면 언제든지 연락주세요.",n=this.getAttribute("align")||"center",c=this.getAttribute("content-padding")||"l",a=!this.hasAttribute("accent")||"false"!==this.getAttribute("accent"),l=this.parseAction();this.className=[i,`${i}--${n}`,`${i}--padding-${c}`,a&&`${i}--accent`].filter(Boolean).join(" "),t(this,i),this.titleEl&&(this.titleEl.textContent=e),this.descriptionEl&&(this.descriptionEl.textContent=s,this.descriptionEl.hidden=!s),this.actionEl&&(this.actionEl.textContent=l.label,l.href?this.actionEl.setAttribute("href",l.href):this.actionEl.removeAttribute("href"))}}customElements.get("db-section-contact")||customElements.define("db-section-contact",DbSectionContact);export{DbSectionContact};
@@ -0,0 +1,24 @@
1
+ declare class DbSectionCta extends HTMLElement {
2
+ static get observedAttributes(): string[];
3
+ private built;
4
+ private wrapEl?;
5
+ private headerEl?;
6
+ private badgeEl?;
7
+ private headlineEl?;
8
+ private subtitleEl?;
9
+ private descriptionEl?;
10
+ private actionsEl?;
11
+ connectedCallback(): void;
12
+ attributeChangedCallback(): void;
13
+ private parseBadge;
14
+ private parseButtons;
15
+ private build;
16
+ private updateUI;
17
+ }
18
+ declare global {
19
+ interface HTMLElementTagNameMap {
20
+ 'db-section-cta': DbSectionCta;
21
+ }
22
+ }
23
+
24
+ export { DbSectionCta };
@@ -0,0 +1 @@
1
+ import{syncMarketingBlockHost as t}from"./marketing-block-host-utils.js";const e="designbase-wc-section-cta";class DbSectionCta extends HTMLElement{constructor(){super(...arguments),this.built=!1}static get observedAttributes(){return["title","headline","subtitle","description","badge","buttons","variant","theme","align","content-padding","size","full-width","full-height","overflow-visible"]}connectedCallback(){this.style.display="block",this.built||(this.built=!0,this.build()),this.updateUI()}attributeChangedCallback(){this.built&&this.updateUI()}parseBadge(){try{const t=this.getAttribute("badge");return t?JSON.parse(t):null}catch{return null}}parseButtons(){try{const t=JSON.parse(this.getAttribute("buttons")||"[]");return Array.isArray(t)?t:[]}catch{return[]}}build(){this.wrapEl=document.createElement("div"),this.wrapEl.className=`${e}__inner`,this.headerEl=document.createElement("div"),this.headerEl.className="designbase-wc-section-block-header",this.badgeEl=document.createElement("db-badge"),this.badgeEl.className="designbase-wc-section-block-header__badge",this.badgeEl.hidden=!0,this.headlineEl=document.createElement("h2"),this.headlineEl.className="designbase-wc-section-block-header__headline",this.subtitleEl=document.createElement("p"),this.subtitleEl.className="designbase-wc-section-block-header__subtitle",this.descriptionEl=document.createElement("p"),this.descriptionEl.className="designbase-wc-section-block-header__description",this.headerEl.append(this.badgeEl,this.headlineEl,this.subtitleEl,this.descriptionEl),this.actionsEl=document.createElement("div"),this.actionsEl.className=`${e}__actions`,this.wrapEl.append(this.headerEl,this.actionsEl),this.append(this.wrapEl)}updateUI(){const i=this.getAttribute("headline")||this.getAttribute("title")||"",s=this.getAttribute("subtitle")||"",a=this.getAttribute("description")||"",n=this.getAttribute("variant")||"default",l=this.getAttribute("theme")||"gradient",h=this.getAttribute("align")||"center",d=this.getAttribute("content-padding")||"l",r=this.parseBadge(),c=this.parseButtons();this.className=[e,`${e}--${n}`,`${e}--${l}`,`${e}--${h}`,`${e}--padding-${d}`].join(" "),t(this,e),this.headerEl&&(this.headerEl.className=["designbase-wc-section-block-header",`designbase-wc-section-block-header--${h}`,`${e}__header`].join(" ")),this.badgeEl&&(r?.text?(this.badgeEl.hidden=!1,this.badgeEl.style.display="",this.badgeEl.setAttribute("variant",r.variant||"primary"),this.badgeEl.setAttribute("badge-style",r.style||"text"),this.badgeEl.setAttribute("size",r.size||"m"),this.badgeEl.textContent=r.text):(this.badgeEl.hidden=!0,this.badgeEl.style.display="none",this.badgeEl.textContent="")),this.headlineEl&&(this.headlineEl.textContent=i,this.headlineEl.hidden=!i),this.subtitleEl&&(this.subtitleEl.textContent=s,this.subtitleEl.hidden=!s),this.descriptionEl&&(this.descriptionEl.textContent=a,this.descriptionEl.hidden=!a),this.actionsEl&&(this.actionsEl.replaceChildren(),c.forEach((t,e)=>{const i=document.createElement("db-button");i.setAttribute("variant",t.variant||(0===e?"primary":"tertiary")),i.setAttribute("size",t.size||"m"),t.href&&i.setAttribute("href",t.href),i.textContent=t.text,this.actionsEl.append(i)}),this.actionsEl.hidden=0===c.length)}}customElements.get("db-section-cta")||customElements.define("db-section-cta",DbSectionCta);export{DbSectionCta};
@@ -0,0 +1,20 @@
1
+ declare class DbSectionFaq extends HTMLElement {
2
+ static get observedAttributes(): string[];
3
+ private built;
4
+ private innerEl?;
5
+ private headerEl?;
6
+ private accordionEl?;
7
+ connectedCallback(): void;
8
+ attributeChangedCallback(): void;
9
+ private parseItems;
10
+ private parseBadge;
11
+ private build;
12
+ private updateUI;
13
+ }
14
+ declare global {
15
+ interface HTMLElementTagNameMap {
16
+ 'db-section-faq': DbSectionFaq;
17
+ }
18
+ }
19
+
20
+ export { DbSectionFaq };
@@ -0,0 +1 @@
1
+ import{applySectionBlockHeader as t}from"./section-block-header-utils.js";import{syncMarketingBlockHost as e}from"./marketing-block-host-utils.js";const i="designbase-wc-section-faq";class DbSectionFaq extends HTMLElement{constructor(){super(...arguments),this.built=!1}static get observedAttributes(){return["headline","subtitle","description","badge","items","allow-multiple","align","content-padding","size","full-width","full-height","overflow-visible"]}connectedCallback(){this.style.display="block",this.built||(this.built=!0,this.build()),this.updateUI()}attributeChangedCallback(){this.built&&this.updateUI()}parseItems(){try{const t=JSON.parse(this.getAttribute("items")||"[]");return Array.isArray(t)?t:[]}catch{return[]}}parseBadge(){try{const t=this.getAttribute("badge");return t?JSON.parse(t):null}catch{return null}}build(){this.innerEl=document.createElement("div"),this.innerEl.className=`${i}__inner`,this.headerEl=document.createElement("div"),this.headerEl.className="designbase-wc-section-block-header",this.headerEl.innerHTML='\n <db-badge class="designbase-wc-section-block-header__badge" hidden></db-badge>\n <h2 class="designbase-wc-section-block-header__headline"></h2>\n <p class="designbase-wc-section-block-header__subtitle"></p>\n <p class="designbase-wc-section-block-header__description"></p>\n ',this.accordionEl=document.createElement("db-accordion"),this.accordionEl.className=`${i}__accordion`,this.innerEl.append(this.headerEl,this.accordionEl),this.append(this.innerEl)}updateUI(){const s=this.getAttribute("headline")||"자주 묻는 질문",n=this.getAttribute("subtitle")||"",a=this.getAttribute("description")||"",l=this.getAttribute("content-padding")||"l",r=this.getAttribute("align")||"center",c=this.hasAttribute("allow-multiple"),d=this.parseBadge(),o=this.parseItems();if(this.className=[i,`${i}--padding-${l}`].join(" "),e(this,i),this.headerEl&&t(this.headerEl,{headline:s,subtitle:n,description:a,badge:d,align:r}),!this.accordionEl)return;const h=o.map(t=>({id:t.id,title:t.question,content:t.answer,itemType:"question"}));this.accordionEl.setAttribute("items",JSON.stringify(h)),this.accordionEl.setAttribute("variant","separated"),this.accordionEl.setAttribute("size","m"),this.accordionEl.setAttribute("default-item-type","question"),c?(this.accordionEl.setAttribute("allow-multiple",""),this.accordionEl.setAttribute("expand-mode","multiple")):(this.accordionEl.removeAttribute("allow-multiple"),this.accordionEl.setAttribute("expand-mode","single"))}}customElements.get("db-section-faq")||customElements.define("db-section-faq",DbSectionFaq);export{DbSectionFaq};
@@ -0,0 +1,20 @@
1
+ declare class DbSectionFeatureGrid extends HTMLElement {
2
+ static get observedAttributes(): string[];
3
+ private built;
4
+ private innerEl?;
5
+ private headerEl?;
6
+ private gridEl?;
7
+ connectedCallback(): void;
8
+ attributeChangedCallback(): void;
9
+ private parseItems;
10
+ private parseBadge;
11
+ private build;
12
+ private updateUI;
13
+ }
14
+ declare global {
15
+ interface HTMLElementTagNameMap {
16
+ 'db-section-feature-grid': DbSectionFeatureGrid;
17
+ }
18
+ }
19
+
20
+ export { DbSectionFeatureGrid };
@@ -0,0 +1 @@
1
+ import{createDbIcon as e}from"./db-icons.js";import{applySectionBlockHeader as t}from"./section-block-header-utils.js";import{syncMarketingBlockHost as i}from"./marketing-block-host-utils.js";const s="designbase-wc-section-feature-grid",n={sparkles:"sparkle",rocket:"package",shield:"award",chart:"trending-up",users:"user",bolt:"bulb"};class DbSectionFeatureGrid extends HTMLElement{constructor(){super(...arguments),this.built=!1}static get observedAttributes(){return["headline","subtitle","description","badge","items","columns","tinted","align","content-padding","size","full-width","full-height","overflow-visible"]}connectedCallback(){this.style.display="block",this.built||(this.built=!0,this.build()),this.updateUI()}attributeChangedCallback(){this.built&&this.updateUI()}parseItems(){try{const e=JSON.parse(this.getAttribute("items")||"[]");return Array.isArray(e)?e:[]}catch{return[]}}parseBadge(){try{const e=this.getAttribute("badge");return e?JSON.parse(e):null}catch{return null}}build(){this.innerEl=document.createElement("div"),this.innerEl.className=`${s}__inner`,this.headerEl=document.createElement("div"),this.headerEl.className="designbase-wc-section-block-header",this.headerEl.innerHTML='\n <db-badge class="designbase-wc-section-block-header__badge" hidden></db-badge>\n <h2 class="designbase-wc-section-block-header__headline"></h2>\n <p class="designbase-wc-section-block-header__subtitle"></p>\n <p class="designbase-wc-section-block-header__description"></p>\n ',this.gridEl=document.createElement("div"),this.gridEl.className=`${s}__grid`,this.innerEl.append(this.headerEl,this.gridEl),this.append(this.innerEl)}updateUI(){const a=this.getAttribute("headline")||"주요 기능",r=this.getAttribute("subtitle")||"",d=this.getAttribute("description")||"",l=this.getAttribute("columns")||"3",c=this.getAttribute("content-padding")||"l",o=this.getAttribute("align")||"center",h=this.hasAttribute("tinted"),u=this.parseBadge(),b=this.parseItems();this.className=[s,`${s}--cols-${l}`,`${s}--padding-${c}`,h&&`${s}--tinted`].filter(Boolean).join(" "),i(this,s),this.headerEl&&t(this.headerEl,{headline:a,subtitle:r,description:d,badge:u,align:o}),this.gridEl&&(this.gridEl.replaceChildren(),b.forEach(t=>{const i=document.createElement("article");i.className=`${s}__card`;const a=document.createElement("div");a.className=`${s}__card-icon`,a.append(e(n[t.iconName||"sparkles"]||"sparkle",24));const r=document.createElement("h3");r.className=`${s}__card-title`,r.textContent=t.title;const d=document.createElement("p");d.className=`${s}__card-description`,d.textContent=t.description,i.append(a,r,d),this.gridEl.append(i)}))}}customElements.get("db-section-feature-grid")||customElements.define("db-section-feature-grid",DbSectionFeatureGrid);export{DbSectionFeatureGrid};
@@ -7,8 +7,8 @@ interface FeatureAction {
7
7
  declare class DbSectionFeature extends HTMLElement {
8
8
  static get observedAttributes(): string[];
9
9
  private built;
10
- private sectionEl?;
11
- private featureWrapEl?;
10
+ private innerEl?;
11
+ private contentEl?;
12
12
  private badgeEl?;
13
13
  private headlineEl?;
14
14
  private subtitleEl?;
@@ -1 +1 @@
1
- const t="designbase-wc-section-feature";class DbSectionFeature extends HTMLElement{constructor(){super(...arguments),this.built=!1}static get observedAttributes(){return["headline","subtitle","description","badge","image","image-alt","media-position","actions","tinted","content-padding","size","full-width","full-height","overflow-visible"]}connectedCallback(){this.style.display="block",this.built||(this.built=!0,this.build()),this.updateUI()}attributeChangedCallback(){this.built&&this.updateUI()}parseBadge(){try{const t=this.getAttribute("badge");return t?JSON.parse(t):null}catch{return null}}get actions(){return this.parseActions()}set actions(t){this.setAttribute("actions","string"==typeof t?t:JSON.stringify(t))}parseActions(){try{const t=JSON.parse(this.getAttribute("actions")||"[]");return Array.isArray(t)?t:[]}catch{return[]}}build(){this.sectionEl=document.createElement("db-section"),this.sectionEl.setAttribute("no-padding",""),this.sectionEl.setAttribute("data-wc-internal",""),this.featureWrapEl=document.createElement("div"),this.featureWrapEl.className=t;const e=document.createElement("div");e.className=`${t}__inner`;const i=document.createElement("div");i.className=`${t}__content`,this.badgeEl=document.createElement("db-badge"),this.badgeEl.className=`${t}__badge`,this.badgeEl.hidden=!0,this.headlineEl=document.createElement("h2"),this.headlineEl.className=`${t}__headline`,this.subtitleEl=document.createElement("p"),this.subtitleEl.className=`${t}__subtitle`,this.descriptionEl=document.createElement("p"),this.descriptionEl.className=`${t}__description`,this.actionsEl=document.createElement("div"),this.actionsEl.className=`${t}__actions`,i.append(this.badgeEl,this.headlineEl,this.subtitleEl,this.descriptionEl,this.actionsEl),this.mediaEl=document.createElement("div"),this.mediaEl.className=`${t}__media`,this.imageEl=document.createElement("img"),this.imageEl.className=`${t}__image`,this.mediaEl.append(this.imageEl),e.append(i,this.mediaEl),this.featureWrapEl.append(e),this.sectionEl.append(this.featureWrapEl),this.append(this.sectionEl)}updateUI(){const e=this.getAttribute("headline")||"",i=this.getAttribute("subtitle")||"",s=this.getAttribute("description")||"",a=this.getAttribute("image")||"",l=this.getAttribute("image-alt")||e||"feature",n=this.getAttribute("media-position")||"right",h=this.getAttribute("content-padding")||"l",r=this.getAttribute("size")||"l",d=this.hasAttribute("tinted"),c=this.parseBadge(),o=this.parseActions(),u=[t,`${t}--media-${n}`,`${t}--padding-${h}`,d&&`${t}--tinted`].filter(Boolean).join(" ");this.className=t,this.featureWrapEl&&(this.featureWrapEl.className=u),this.sectionEl&&(this.sectionEl.setAttribute("size",r),this.hasAttribute("full-width")?this.sectionEl.setAttribute("full-width",""):this.sectionEl.removeAttribute("full-width"),this.hasAttribute("full-height")?this.sectionEl.setAttribute("full-height",""):this.sectionEl.removeAttribute("full-height"),this.hasAttribute("overflow-visible")?this.sectionEl.setAttribute("overflow-visible",""):this.sectionEl.removeAttribute("overflow-visible")),this.badgeEl&&(c?.text?(this.badgeEl.hidden=!1,this.badgeEl.setAttribute("variant",c.variant||"primary"),this.badgeEl.setAttribute("badge-style",c.style||"text"),this.badgeEl.setAttribute("size",c.size||"m"),this.badgeEl.textContent=c.text):this.badgeEl.hidden=!0),this.headlineEl&&(this.headlineEl.textContent=e),this.subtitleEl&&(this.subtitleEl.textContent=i,this.subtitleEl.hidden=!i),this.descriptionEl&&(this.descriptionEl.textContent=s,this.descriptionEl.hidden=!s),this.mediaEl&&this.imageEl&&(a?(this.mediaEl.hidden=!1,this.imageEl.src=a,this.imageEl.alt=l):this.mediaEl.hidden=!0),this.actionsEl&&(this.actionsEl.replaceChildren(),o.length>0?(o.forEach(t=>{const e=document.createElement("db-button");e.setAttribute("variant",t.variant||"primary"),e.setAttribute("size",t.size||"m"),t.href&&e.setAttribute("href",t.href),e.textContent=t.label,e.addEventListener("click",e=>{e.stopPropagation(),this.dispatchEvent(new CustomEvent("db-action",{detail:{action:t},bubbles:!0,composed:!0}))}),this.actionsEl.append(e)}),this.actionsEl.hidden=!1):this.actionsEl.hidden=!0)}}customElements.get("db-section-feature")||customElements.define("db-section-feature",DbSectionFeature);export{DbSectionFeature};
1
+ import{syncMarketingBlockHost as t}from"./marketing-block-host-utils.js";const e="designbase-wc-section-feature";class DbSectionFeature extends HTMLElement{constructor(){super(...arguments),this.built=!1}static get observedAttributes(){return["headline","subtitle","description","badge","image","image-alt","media-position","actions","tinted","content-padding","size","full-width","full-height","overflow-visible"]}connectedCallback(){this.style.display="block",this.built||(this.built=!0,this.build()),this.updateUI()}attributeChangedCallback(){this.built&&this.updateUI()}parseBadge(){try{const t=this.getAttribute("badge");return t?JSON.parse(t):null}catch{return null}}get actions(){return this.parseActions()}set actions(t){this.setAttribute("actions","string"==typeof t?t:JSON.stringify(t))}parseActions(){try{const t=JSON.parse(this.getAttribute("actions")||"[]");return Array.isArray(t)?t:[]}catch{return[]}}build(){this.innerEl=document.createElement("div"),this.innerEl.className=`${e}__inner`;const t=document.createElement("div");t.className=`${e}__content`,this.contentEl=t,this.headlineEl=document.createElement("h2"),this.headlineEl.className=`${e}__headline`,this.subtitleEl=document.createElement("p"),this.subtitleEl.className=`${e}__subtitle`,this.descriptionEl=document.createElement("p"),this.descriptionEl.className=`${e}__description`,this.actionsEl=document.createElement("div"),this.actionsEl.className=`${e}__actions`,t.append(this.headlineEl,this.subtitleEl,this.descriptionEl,this.actionsEl),this.mediaEl=document.createElement("div"),this.mediaEl.className=`${e}__media`,this.imageEl=document.createElement("img"),this.imageEl.className=`${e}__image`,this.mediaEl.append(this.imageEl),this.innerEl.append(t,this.mediaEl),this.append(this.innerEl)}updateUI(){const i=this.getAttribute("headline")||"",s=this.getAttribute("subtitle")||"",n=this.getAttribute("description")||"",a=this.getAttribute("image")||"",l=this.getAttribute("image-alt")||i||"feature",h=this.getAttribute("media-position")||"right",d=this.getAttribute("content-padding")||"l",r=this.hasAttribute("tinted"),c=this.parseBadge(),o=this.parseActions();if(this.className=[e,`${e}--media-${h}`,`${e}--padding-${d}`,r&&`${e}--tinted`].filter(Boolean).join(" "),t(this,e),this.contentEl&&this.headlineEl){const t=c?.text?.trim();t?(this.badgeEl||(this.badgeEl=document.createElement("db-badge"),this.badgeEl.className=`${e}__badge`),this.badgeEl.setAttribute("variant",c.variant||"primary"),this.badgeEl.setAttribute("badge-style",c.style||"text"),this.badgeEl.setAttribute("size",c.size||"m"),this.badgeEl.textContent=t,this.badgeEl.isConnected||this.contentEl.insertBefore(this.badgeEl,this.headlineEl)):this.badgeEl&&this.badgeEl.remove()}this.headlineEl&&(this.headlineEl.textContent=i),this.subtitleEl&&(this.subtitleEl.textContent=s,this.subtitleEl.hidden=!s),this.descriptionEl&&(this.descriptionEl.textContent=n,this.descriptionEl.hidden=!n),this.mediaEl&&this.imageEl&&(a?(this.mediaEl.hidden=!1,this.imageEl.src=a,this.imageEl.alt=l):this.mediaEl.hidden=!0),this.actionsEl&&(this.actionsEl.replaceChildren(),o.length>0?(o.forEach(t=>{const e=document.createElement("db-button");e.setAttribute("variant",t.variant||"primary"),e.setAttribute("size",t.size||"m"),t.href&&e.setAttribute("href",t.href),e.textContent=t.label,e.addEventListener("click",e=>{e.stopPropagation(),this.dispatchEvent(new CustomEvent("db-action",{detail:{action:t},bubbles:!0,composed:!0}))}),this.actionsEl.append(e)}),this.actionsEl.hidden=!1):this.actionsEl.hidden=!0)}}customElements.get("db-section-feature")||customElements.define("db-section-feature",DbSectionFeature);export{DbSectionFeature};
@@ -0,0 +1,20 @@
1
+ declare class DbSectionLogoCloud extends HTMLElement {
2
+ static get observedAttributes(): string[];
3
+ private built;
4
+ private innerEl?;
5
+ private headerEl?;
6
+ private contentEl?;
7
+ connectedCallback(): void;
8
+ attributeChangedCallback(): void;
9
+ private parseLogos;
10
+ private parseBadge;
11
+ private build;
12
+ private updateUI;
13
+ }
14
+ declare global {
15
+ interface HTMLElementTagNameMap {
16
+ 'db-section-logo-cloud': DbSectionLogoCloud;
17
+ }
18
+ }
19
+
20
+ export { DbSectionLogoCloud };
@@ -0,0 +1 @@
1
+ import{applySectionBlockHeader as e}from"./section-block-header-utils.js";import{syncMarketingBlockHost as t}from"./marketing-block-host-utils.js";const s="designbase-wc-section-logo-cloud";class DbSectionLogoCloud extends HTMLElement{constructor(){super(...arguments),this.built=!1}static get observedAttributes(){return["headline","subtitle","description","badge","logos","variant","align","content-padding","size","full-width","full-height","overflow-visible"]}connectedCallback(){this.style.display="block",this.built||(this.built=!0,this.build()),this.updateUI()}attributeChangedCallback(){this.built&&this.updateUI()}parseLogos(){try{const e=JSON.parse(this.getAttribute("logos")||"[]");return Array.isArray(e)?e:[]}catch{return[]}}parseBadge(){try{const e=this.getAttribute("badge");return e?JSON.parse(e):null}catch{return null}}build(){this.innerEl=document.createElement("div"),this.innerEl.className=`${s}__inner`,this.headerEl=document.createElement("div"),this.headerEl.className="designbase-wc-section-block-header",this.headerEl.innerHTML='\n <db-badge class="designbase-wc-section-block-header__badge" hidden></db-badge>\n <h2 class="designbase-wc-section-block-header__headline"></h2>\n <p class="designbase-wc-section-block-header__subtitle"></p>\n <p class="designbase-wc-section-block-header__description"></p>\n ',this.contentEl=document.createElement("div"),this.innerEl.append(this.headerEl,this.contentEl),this.append(this.innerEl)}updateUI(){const i=this.getAttribute("headline")||"함께하는 파트너",n=this.getAttribute("subtitle")||"",a=this.getAttribute("description")||"",l=this.getAttribute("variant")||"grid",r=this.getAttribute("content-padding")||"m",c=this.getAttribute("align")||"center",o=this.parseBadge(),d=this.parseLogos();if(this.className=[s,`${s}--${l}`,`${s}--padding-${r}`].join(" "),t(this,s),this.headerEl&&e(this.headerEl,{headline:i,subtitle:n,description:a,badge:o,align:c}),this.contentEl){if(this.contentEl.replaceChildren(),"marquee"===l){this.contentEl.className=`${s}__marquee`;const e=document.createElement("db-marquee");return e.setAttribute("items",JSON.stringify(d.map(e=>e.label??e.alt))),void this.contentEl.append(e)}this.contentEl.className=`${s}__grid`,d.forEach(e=>{const t=document.createElement(e.href?"a":"div");if(t.className=`${s}__item`,e.href&&t instanceof HTMLAnchorElement&&(t.href=e.href,t.target="_blank",t.rel="noopener noreferrer"),e.src){const i=document.createElement("img");i.src=e.src,i.alt=e.alt,i.className=`${s}__image`,t.append(i)}else{const i=document.createElement("span");i.className=`${s}__label`,i.textContent=e.label??e.alt,t.append(i)}this.contentEl.append(t)})}}}customElements.get("db-section-logo-cloud")||customElements.define("db-section-logo-cloud",DbSectionLogoCloud);export{DbSectionLogoCloud};
@@ -0,0 +1,20 @@
1
+ declare class DbSectionPricing extends HTMLElement {
2
+ static get observedAttributes(): string[];
3
+ private built;
4
+ private innerEl?;
5
+ private headerEl?;
6
+ private gridEl?;
7
+ connectedCallback(): void;
8
+ attributeChangedCallback(): void;
9
+ private parsePlans;
10
+ private parseBadge;
11
+ private build;
12
+ private updateUI;
13
+ }
14
+ declare global {
15
+ interface HTMLElementTagNameMap {
16
+ 'db-section-pricing': DbSectionPricing;
17
+ }
18
+ }
19
+
20
+ export { DbSectionPricing };
@@ -0,0 +1 @@
1
+ import{applySectionBlockHeader as e}from"./section-block-header-utils.js";import{syncMarketingBlockHost as t}from"./marketing-block-host-utils.js";const i="designbase-wc-section-pricing";class DbSectionPricing extends HTMLElement{constructor(){super(...arguments),this.built=!1}static get observedAttributes(){return["headline","subtitle","description","badge","plans","columns","align","content-padding","size","full-width","full-height","overflow-visible"]}connectedCallback(){this.style.display="block",this.built||(this.built=!0,this.build()),this.updateUI()}attributeChangedCallback(){this.built&&this.updateUI()}parsePlans(){try{const e=JSON.parse(this.getAttribute("plans")||"[]");return Array.isArray(e)?e:[]}catch{return[]}}parseBadge(){try{const e=this.getAttribute("badge");return e?JSON.parse(e):null}catch{return null}}build(){this.innerEl=document.createElement("div"),this.innerEl.className=`${i}__inner`,this.headerEl=document.createElement("div"),this.headerEl.className="designbase-wc-section-block-header",this.headerEl.innerHTML='\n <db-badge class="designbase-wc-section-block-header__badge" hidden></db-badge>\n <h2 class="designbase-wc-section-block-header__headline"></h2>\n <p class="designbase-wc-section-block-header__subtitle"></p>\n <p class="designbase-wc-section-block-header__description"></p>\n ',this.gridEl=document.createElement("div"),this.gridEl.className=`${i}__grid`,this.innerEl.append(this.headerEl,this.gridEl),this.append(this.innerEl)}updateUI(){const n=this.getAttribute("headline")||"요금제",s=this.getAttribute("subtitle")||"",a=this.getAttribute("description")||"",c=this.getAttribute("columns")||"3",r=this.getAttribute("content-padding")||"l",l=this.getAttribute("align")||"center",d=this.parseBadge(),o=this.parsePlans();this.className=[i,`${i}--cols-${c}`,`${i}--padding-${r}`].join(" "),t(this,i),this.headerEl&&e(this.headerEl,{headline:n,subtitle:s,description:a,badge:d,align:l}),this.gridEl&&(this.gridEl.replaceChildren(),o.forEach(e=>{const t=document.createElement("article");t.className=[`${i}__plan-card`,e.highlighted?`${i}__plan-card--highlighted`:""].filter(Boolean).join(" ");const n=document.createElement("div");if(n.className=`${i}__plan-body`,e.badge){const t=document.createElement("db-badge");t.setAttribute("variant","primary"),t.setAttribute("badge-style","filled"),t.setAttribute("size","s"),t.className=`${i}__plan-badge`,t.textContent=e.badge,n.append(t)}const s=document.createElement("h3");s.className=`${i}__plan-name`,s.textContent=e.name;const a=document.createElement("div");a.className=`${i}__price-row`;const c=document.createElement("span");if(c.className=`${i}__price`,c.textContent=e.price,a.append(c),e.period){const t=document.createElement("span");t.className=`${i}__period`,t.textContent=`/ ${e.period}`,a.append(t)}if(n.append(s,a),e.description){const t=document.createElement("p");t.className=`${i}__plan-description`,t.textContent=e.description,n.append(t)}const r=document.createElement("ul");r.className=`${i}__features`,e.features.forEach(e=>{const t=document.createElement("li");t.textContent=e,r.append(t)}),n.append(r);const l=document.createElement("div");l.className=`${i}__plan-footer`;const d=document.createElement("db-button");d.className=`${i}__cta`,d.setAttribute("variant",e.cta.variant||(e.highlighted?"primary":"tertiary")),d.setAttribute("size","m"),d.setAttribute("full-width",""),e.cta.href&&d.setAttribute("href",e.cta.href),d.textContent=e.cta.label,l.append(d),t.append(n,l),this.gridEl.append(t)}))}}customElements.get("db-section-pricing")||customElements.define("db-section-pricing",DbSectionPricing);export{DbSectionPricing};
@@ -0,0 +1,20 @@
1
+ declare class DbSectionStats extends HTMLElement {
2
+ static get observedAttributes(): string[];
3
+ private built;
4
+ private innerEl?;
5
+ private headerEl?;
6
+ private gridEl?;
7
+ connectedCallback(): void;
8
+ attributeChangedCallback(): void;
9
+ private parseItems;
10
+ private parseBadge;
11
+ private build;
12
+ private updateUI;
13
+ }
14
+ declare global {
15
+ interface HTMLElementTagNameMap {
16
+ 'db-section-stats': DbSectionStats;
17
+ }
18
+ }
19
+
20
+ export { DbSectionStats };
@@ -0,0 +1 @@
1
+ import{applySectionBlockHeader as t}from"./section-block-header-utils.js";import{syncMarketingBlockHost as e}from"./marketing-block-host-utils.js";const i="designbase-wc-section-stats";class DbSectionStats extends HTMLElement{constructor(){super(...arguments),this.built=!1}static get observedAttributes(){return["headline","subtitle","description","badge","items","columns","tinted","align","content-padding","size","full-width","full-height","overflow-visible"]}connectedCallback(){this.style.display="block",this.built||(this.built=!0,this.build()),this.updateUI()}attributeChangedCallback(){this.built&&this.updateUI()}parseItems(){try{const t=JSON.parse(this.getAttribute("items")||"[]");return Array.isArray(t)?t:[]}catch{return[]}}parseBadge(){try{const t=this.getAttribute("badge");return t?JSON.parse(t):null}catch{return null}}build(){this.innerEl=document.createElement("div"),this.innerEl.className=`${i}__inner`,this.headerEl=document.createElement("div"),this.headerEl.className="designbase-wc-section-block-header",this.headerEl.innerHTML='\n <db-badge class="designbase-wc-section-block-header__badge" hidden></db-badge>\n <h2 class="designbase-wc-section-block-header__headline"></h2>\n <p class="designbase-wc-section-block-header__subtitle"></p>\n <p class="designbase-wc-section-block-header__description"></p>\n ',this.gridEl=document.createElement("div"),this.gridEl.className=`${i}__grid`,this.innerEl.append(this.headerEl,this.gridEl),this.append(this.innerEl)}updateUI(){const s=this.getAttribute("headline")||"",n=this.getAttribute("subtitle")||"",a=this.getAttribute("description")||"",r=this.getAttribute("columns")||"4",l=this.getAttribute("content-padding")||"l",d=this.getAttribute("align")||"center",c=this.hasAttribute("tinted"),h=this.parseBadge(),o=this.parseItems();if(this.className=[i,`${i}--cols-${r}`,`${i}--padding-${l}`,c&&`${i}--tinted`].filter(Boolean).join(" "),e(this,i),this.headerEl){const e=s||n||a||h?.text;this.headerEl.hidden=!e,t(this.headerEl,{headline:s,subtitle:n,description:a,badge:h,align:d})}this.gridEl&&(this.gridEl.replaceChildren(),o.forEach(t=>{const e=document.createElement("db-stat");e.setAttribute("value",String(t.value)),e.setAttribute("label",t.label),e.setAttribute("variant","minimal"),e.setAttribute("layout","vertical"),e.setAttribute("size","l"),t.description&&(e.setAttribute("description",t.description),e.setAttribute("show-description","")),e.className=`${i}__stat`,this.gridEl.append(e)}))}}customElements.get("db-section-stats")||customElements.define("db-section-stats",DbSectionStats);export{DbSectionStats};
@@ -0,0 +1,34 @@
1
+ declare class DbSectionTestimonials extends HTMLElement {
2
+ static get observedAttributes(): string[];
3
+ private built;
4
+ private carouselIndex;
5
+ private innerEl?;
6
+ private headerEl?;
7
+ private contentEl?;
8
+ private carouselViewport?;
9
+ private carouselTrack?;
10
+ private carouselIndicator?;
11
+ private resizeObserver?;
12
+ connectedCallback(): void;
13
+ disconnectedCallback(): void;
14
+ attributeChangedCallback(): void;
15
+ private parseItems;
16
+ private parseBadge;
17
+ private buildHeader;
18
+ private build;
19
+ private createTestimonialEl;
20
+ private updateHeader;
21
+ private clampCarouselIndex;
22
+ private updateCarouselTransform;
23
+ private goToCarouselSlide;
24
+ private renderGrid;
25
+ private renderCarousel;
26
+ private updateUI;
27
+ }
28
+ declare global {
29
+ interface HTMLElementTagNameMap {
30
+ 'db-section-testimonials': DbSectionTestimonials;
31
+ }
32
+ }
33
+
34
+ export { DbSectionTestimonials };
@@ -0,0 +1 @@
1
+ import{createDbIcon as e}from"./db-icons.js";import{applySectionBlockHeader as t}from"./section-block-header-utils.js";import{syncMarketingBlockHost as s}from"./marketing-block-host-utils.js";const i="designbase-wc-section-testimonials";class DbSectionTestimonials extends HTMLElement{constructor(){super(...arguments),this.built=!1,this.carouselIndex=0}static get observedAttributes(){return["headline","subtitle","description","badge","items","variant","columns","align","content-padding","size","full-width","full-height","overflow-visible"]}connectedCallback(){this.style.display="block",this.built||(this.built=!0,this.build()),this.updateUI()}disconnectedCallback(){this.resizeObserver?.disconnect(),this.resizeObserver=void 0}attributeChangedCallback(){this.built&&(this.carouselIndex=0,this.updateUI())}parseItems(){try{const e=JSON.parse(this.getAttribute("items")||"[]");return Array.isArray(e)?e:[]}catch{return[]}}parseBadge(){try{const e=this.getAttribute("badge");return e?JSON.parse(e):null}catch{return null}}buildHeader(e){this.headerEl=document.createElement("div"),this.headerEl.className="designbase-wc-section-block-header";const t=document.createElement("db-badge");t.className="designbase-wc-section-block-header__badge",t.hidden=!0,t.dataset.role="badge";const s=document.createElement("h2");s.className="designbase-wc-section-block-header__headline",s.dataset.role="headline";const i=document.createElement("p");i.className="designbase-wc-section-block-header__subtitle",i.dataset.role="subtitle";const a=document.createElement("p");a.className="designbase-wc-section-block-header__description",a.dataset.role="description",this.headerEl.append(t,s,i,a),e.append(this.headerEl)}build(){this.innerEl=document.createElement("div"),this.innerEl.className=`${i}__inner`,this.buildHeader(this.innerEl),this.contentEl=document.createElement("div"),this.contentEl.className=`${i}__grid`,this.innerEl.append(this.contentEl),this.append(this.innerEl)}createTestimonialEl(e){const t=document.createElement("db-testimonial");return t.setAttribute("variant","card"),t.setAttribute("quote",e.quote),t.setAttribute("author",e.author),e.role&&t.setAttribute("role",e.role),e.company&&t.setAttribute("company",e.company),e.avatar&&t.setAttribute("avatar",e.avatar),null!=e.rating&&t.setAttribute("rating",String(e.rating)),t.setAttribute("align","center"),t}updateHeader(){this.headerEl&&t(this.headerEl,{headline:this.getAttribute("headline")||"고객 후기",subtitle:this.getAttribute("subtitle")||"",description:this.getAttribute("description")||"",badge:this.parseBadge(),align:this.getAttribute("align")||"center"})}clampCarouselIndex(e){e<=0?this.carouselIndex=0:(this.carouselIndex>=e&&(this.carouselIndex=0),this.carouselIndex<0&&(this.carouselIndex=0))}updateCarouselTransform(){if(!this.carouselViewport||!this.carouselTrack)return;const e=this.carouselViewport.clientWidth;this.carouselTrack.style.transform=`translate3d(-${this.carouselIndex*e}px, 0, 0)`,this.carouselIndicator&&this.carouselIndicator.setAttribute("current",String(this.carouselIndex))}goToCarouselSlide(e,t){t<=0||(this.carouselIndex=Math.max(0,Math.min(e,t-1)),this.updateCarouselTransform())}renderGrid(e){this.contentEl&&(this.resizeObserver?.disconnect(),this.resizeObserver=void 0,this.carouselViewport=void 0,this.carouselTrack=void 0,this.carouselIndicator=void 0,this.contentEl.className=`${i}__grid`,this.contentEl.replaceChildren(),e.forEach(e=>{this.contentEl.append(this.createTestimonialEl(e))}))}renderCarousel(t){if(!this.contentEl)return;if(this.contentEl.replaceChildren(),this.contentEl.className=`${i}__carousel`,this.clampCarouselIndex(t.length),0===t.length)return;const s=document.createElement("div");s.className=`${i}__carousel-viewport`;const a=document.createElement("div");if(a.className=`${i}__carousel-track`,t.forEach(e=>{const t=document.createElement("div");t.className=`${i}__carousel-slide`,t.append(this.createTestimonialEl(e)),a.append(t)}),s.append(a),this.carouselViewport=s,this.carouselTrack=a,t.length>1){const a=document.createElement("button");a.type="button",a.className=`${i}__carousel-nav ${i}__carousel-nav--prev`,a.setAttribute("aria-label","이전 후기"),a.append(e("chevron-left",20)),a.addEventListener("click",()=>{const e=this.carouselIndex-1;this.goToCarouselSlide(e<0?t.length-1:e,t.length)});const r=document.createElement("button");r.type="button",r.className=`${i}__carousel-nav ${i}__carousel-nav--next`,r.setAttribute("aria-label","다음 후기"),r.append(e("chevron-right",20)),r.addEventListener("click",()=>{const e=this.carouselIndex+1;this.goToCarouselSlide(e>=t.length?0:e,t.length)}),s.append(a,r);const n=document.createElement("div");n.className=`${i}__carousel-controls`;const l=document.createElement("db-indicator");l.className=`${i}__carousel-indicator`,l.setAttribute("current",String(this.carouselIndex)),l.setAttribute("total",String(t.length)),l.setAttribute("type","dots"),l.setAttribute("size","s"),l.setAttribute("clickable",""),l.addEventListener("db-step-click",e=>{const s=e;this.goToCarouselSlide(s.detail.index,t.length)}),this.carouselIndicator=l,n.append(l),this.contentEl.append(s,n)}else this.contentEl.append(s);this.resizeObserver?.disconnect(),this.resizeObserver=new ResizeObserver(()=>this.updateCarouselTransform()),this.resizeObserver.observe(s),requestAnimationFrame(()=>this.updateCarouselTransform())}updateUI(){const e=this.getAttribute("variant")||"grid",t=this.getAttribute("columns")||"3",a=this.getAttribute("content-padding")||"l",r=this.parseItems();this.className=[i,`${i}--${e}`,`${i}--cols-${t}`,`${i}--padding-${a}`].join(" "),s(this,i),this.updateHeader(),"carousel"===e?this.renderCarousel(r):this.renderGrid(r)}}customElements.get("db-section-testimonials")||customElements.define("db-section-testimonials",DbSectionTestimonials);export{DbSectionTestimonials};
@@ -0,0 +1 @@
1
+ const t=["full-width","full-height","overflow-visible"];function syncMarketingBlockHost(o,s){for(const l of t)o.classList.toggle(`${s}--${l}`,o.hasAttribute(l))}export{syncMarketingBlockHost};
@@ -0,0 +1 @@
1
+ function applySectionBlockHeader(e,t){if(!e)return;const{headline:n="",subtitle:i="",description:s="",badge:a,align:d="center",extraClassName:o}=t;e.className=["designbase-wc-section-block-header",`designbase-wc-section-block-header--${d}`,o].filter(Boolean).join(" ");let r=e.querySelector("db-badge");a?.text?(r||(r=document.createElement("db-badge"),r.className="designbase-wc-section-block-header__badge",e.prepend(r)),r.removeAttribute("hidden"),r.style.display="",r.setAttribute("variant",a.variant||"primary"),r.setAttribute("badge-style",a.style||"text"),r.setAttribute("size",a.size||"m"),r.textContent=a.text):r&&(r.textContent="",r.setAttribute("hidden",""),r.style.display="none");const c=e.querySelector("h2"),l=e.querySelector(".designbase-wc-section-block-header__subtitle"),b=e.querySelector(".designbase-wc-section-block-header__description");c&&(c.textContent=n,c.hidden=!n),l&&(l.textContent=i,l.hidden=!i),b&&(b.textContent=s,b.hidden=!s)}export{applySectionBlockHeader};
@@ -75,6 +75,8 @@ export { DbMasonry } from './components/db-masonry.js';
75
75
  export { DbCarousel } from './components/db-carousel.js';
76
76
  export { DbColorPicker } from './components/db-color-picker.js';
77
77
  export { DbReorder } from './components/db-reorder.js';
78
+ export { DbKanban, DbKanbanAssignee, DbKanbanCard, DbKanbanColumn, DbKanbanPriority, DbKanbanTag } from './components/db-kanban.js';
79
+ export { DbGantt, DbGanttAssignee, DbGanttGroup, DbGanttItem, DbGanttItemStatus, DbGanttRow } from './components/db-gantt.js';
78
80
  export { DbResizablePanels } from './components/db-resizable-panels.js';
79
81
  export { DbVideoPlayer } from './components/db-video-player.js';
80
82
  export { DbYouTubePlayer } from './components/db-youtube-player.js';
@@ -87,6 +89,13 @@ export { DbSectionFeature } from './components/db-section-feature.js';
87
89
  export { DbAppBadge } from './components/db-app-badge.js';
88
90
  export { DbSectionContact } from './components/db-section-contact.js';
89
91
  export { DbSectionAppDownload } from './components/db-section-app-download.js';
92
+ export { DbSectionCta } from './components/db-section-cta.js';
93
+ export { DbSectionTestimonials } from './components/db-section-testimonials.js';
94
+ export { DbSectionFeatureGrid } from './components/db-section-feature-grid.js';
95
+ export { DbSectionLogoCloud } from './components/db-section-logo-cloud.js';
96
+ export { DbSectionStats } from './components/db-section-stats.js';
97
+ export { DbSectionFaq } from './components/db-section-faq.js';
98
+ export { DbSectionPricing } from './components/db-section-pricing.js';
90
99
  export { DbMarquee } from './components/db-marquee.js';
91
100
  export { DbGradient } from './components/db-gradient.js';
92
101
  export { DbRandomGradient } from './components/db-random-gradient.js';
package/dist/esm/index.js CHANGED
@@ -1 +1 @@
1
- export{DbButton}from"./components/db-button.js";export{DbInput}from"./components/db-input.js";export{DbCheckbox}from"./components/db-checkbox.js";export{DbToggle}from"./components/db-toggle.js";export{DbBadge}from"./components/db-badge.js";export{DbBanner}from"./components/db-banner.js";export{DbSpinner}from"./components/db-spinner.js";export{DbCard}from"./components/db-card.js";export{DbTabs}from"./components/db-tabs.js";export{DbModal}from"./components/db-modal.js";export{DbDropdown}from"./components/db-dropdown.js";export{DbTooltip}from"./components/db-tooltip.js";export{DbAccordion}from"./components/db-accordion.js";export{DbAvatar}from"./components/db-avatar.js";export{DbDivider}from"./components/db-divider.js";export{DbProgress}from"./components/db-progress.js";export{DbSelect}from"./components/db-select.js";export{DbTextarea}from"./components/db-textarea.js";export{DbRadio}from"./components/db-radio.js";export{DbPagination}from"./components/db-pagination.js";export{DbBreadcrumbs}from"./components/db-breadcrumbs.js";export{DbTable}from"./components/db-table.js";export{DbAlert}from"./components/db-alert.js";export{DbChip}from"./components/db-chip.js";export{DbSkeleton}from"./components/db-skeleton.js";export{DbLabel}from"./components/db-label.js";export{DbLogo}from"./components/db-logo.js";export{DbEmptyState}from"./components/db-empty-state.js";export{DbBackdrop}from"./components/db-backdrop.js";export{DbPopover}from"./components/db-popover.js";export{DbDrawer}from"./components/db-drawer.js";export{DbToast}from"./components/db-toast.js";export{DbConfirm}from"./components/db-confirm.js";export{DbIndicator}from"./components/db-indicator.js";export{DbList}from"./components/db-list.js";export{DbMenuItem}from"./components/db-menu-item.js";export{DbSearchBar}from"./components/db-search-bar.js";export{DbShare}from"./components/db-share.js";export{DbTopBanner}from"./components/db-top-banner.js";export{DbStat}from"./components/db-stat.js";export{DbImage}from"./components/db-image.js";export{DbImagePlaceholder}from"./components/db-image-placeholder.js";export{DbImageList}from"./components/db-image-list.js";export{DbLightbox}from"./components/db-lightbox.js";export{DbBottomNavigation}from"./components/db-bottom-navigation.js";export{DbNavbar}from"./components/db-navbar.js";export{DbFooter}from"./components/db-footer.js";export{DbSidebar}from"./components/db-sidebar.js";export{DbContextMenu}from"./components/db-context-menu.js";export{DbProgressbar}from"./components/db-progressbar.js";export{DbProgressStep}from"./components/db-progress-step.js";export{DbRangeSlider}from"./components/db-range-slider.js";export{DbSegmentControl}from"./components/db-segment-control.js";export{DbStepper}from"./components/db-stepper.js";export{DbContainer}from"./components/db-container.js";export{DbStack}from"./components/db-stack.js";export{DbGrid,DbGridItem}from"./components/db-grid.js";export{DbToolbar}from"./components/db-toolbar.js";export{DbForm}from"./components/db-form.js";export{DbPageHeader}from"./components/db-page-header.js";export{DbSection}from"./components/db-section.js";export{DbFloatingActionButton}from"./components/db-floating-action-button.js";export{DbBottomSheet}from"./components/db-bottom-sheet.js";export{DbScrollArea}from"./components/db-scroll-area.js";export{DbDropzone}from"./components/db-dropzone.js";export{DbOnboardingModal}from"./components/db-onboarding-modal.js";export{DbSplitView}from"./components/db-split-view.js";export{DbFileUploader}from"./components/db-file-uploader.js";export{DbDatePicker}from"./components/db-date-picker.js";export{DbTimePicker}from"./components/db-time-picker.js";export{DbCalendar}from"./components/db-calendar.js";export{DbRating}from"./components/db-rating.js";export{DbCountdown}from"./components/db-countdown.js";export{DbMasonry}from"./components/db-masonry.js";export{DbCarousel}from"./components/db-carousel.js";export{DbColorPicker}from"./components/db-color-picker.js";export{DbReorder}from"./components/db-reorder.js";export{DbResizablePanels}from"./components/db-resizable-panels.js";export{DbVideoPlayer}from"./components/db-video-player.js";export{DbYouTubePlayer}from"./components/db-youtube-player.js";export{DbAudioPlayer}from"./components/db-audio-player.js";export{DbCodeBlock}from"./components/db-code-block.js";export{DbMarkdownEditor}from"./components/db-markdown-editor.js";export{DbTestimonial}from"./components/db-testimonial.js";export{DbSectionHero}from"./components/db-section-hero.js";export{DbSectionFeature}from"./components/db-section-feature.js";export{DbAppBadge}from"./components/db-app-badge.js";export{DbSectionContact}from"./components/db-section-contact.js";export{DbSectionAppDownload}from"./components/db-section-app-download.js";export{DbMarquee}from"./components/db-marquee.js";export{DbGradient}from"./components/db-gradient.js";export{DbRandomGradient}from"./components/db-random-gradient.js";export{DbAdBanner}from"./components/db-ad-banner.js";export{DbTimeline}from"./components/db-timeline.js";export{DbAnimationText}from"./components/db-animation-text.js";export{DbTutorial}from"./components/db-tutorial.js";export{DbAnimationBackground}from"./components/db-animation-background.js";export{DbGridBackground}from"./components/db-grid-background.js";export{DbCursorFollower}from"./components/db-cursor-follower.js";export{DbLottie}from"./components/db-lottie.js";export{toast as dbToast,showToast,toast}from"./helpers/toast.js";export{confirm,confirm as dbConfirm}from"./helpers/confirm.js";
1
+ export{DbButton}from"./components/db-button.js";export{DbInput}from"./components/db-input.js";export{DbCheckbox}from"./components/db-checkbox.js";export{DbToggle}from"./components/db-toggle.js";export{DbBadge}from"./components/db-badge.js";export{DbBanner}from"./components/db-banner.js";export{DbSpinner}from"./components/db-spinner.js";export{DbCard}from"./components/db-card.js";export{DbTabs}from"./components/db-tabs.js";export{DbModal}from"./components/db-modal.js";export{DbDropdown}from"./components/db-dropdown.js";export{DbTooltip}from"./components/db-tooltip.js";export{DbAccordion}from"./components/db-accordion.js";export{DbAvatar}from"./components/db-avatar.js";export{DbDivider}from"./components/db-divider.js";export{DbProgress}from"./components/db-progress.js";export{DbSelect}from"./components/db-select.js";export{DbTextarea}from"./components/db-textarea.js";export{DbRadio}from"./components/db-radio.js";export{DbPagination}from"./components/db-pagination.js";export{DbBreadcrumbs}from"./components/db-breadcrumbs.js";export{DbTable}from"./components/db-table.js";export{DbAlert}from"./components/db-alert.js";export{DbChip}from"./components/db-chip.js";export{DbSkeleton}from"./components/db-skeleton.js";export{DbLabel}from"./components/db-label.js";export{DbLogo}from"./components/db-logo.js";export{DbEmptyState}from"./components/db-empty-state.js";export{DbBackdrop}from"./components/db-backdrop.js";export{DbPopover}from"./components/db-popover.js";export{DbDrawer}from"./components/db-drawer.js";export{DbToast}from"./components/db-toast.js";export{DbConfirm}from"./components/db-confirm.js";export{DbIndicator}from"./components/db-indicator.js";export{DbList}from"./components/db-list.js";export{DbMenuItem}from"./components/db-menu-item.js";export{DbSearchBar}from"./components/db-search-bar.js";export{DbShare}from"./components/db-share.js";export{DbTopBanner}from"./components/db-top-banner.js";export{DbStat}from"./components/db-stat.js";export{DbImage}from"./components/db-image.js";export{DbImagePlaceholder}from"./components/db-image-placeholder.js";export{DbImageList}from"./components/db-image-list.js";export{DbLightbox}from"./components/db-lightbox.js";export{DbBottomNavigation}from"./components/db-bottom-navigation.js";export{DbNavbar}from"./components/db-navbar.js";export{DbFooter}from"./components/db-footer.js";export{DbSidebar}from"./components/db-sidebar.js";export{DbContextMenu}from"./components/db-context-menu.js";export{DbProgressbar}from"./components/db-progressbar.js";export{DbProgressStep}from"./components/db-progress-step.js";export{DbRangeSlider}from"./components/db-range-slider.js";export{DbSegmentControl}from"./components/db-segment-control.js";export{DbStepper}from"./components/db-stepper.js";export{DbContainer}from"./components/db-container.js";export{DbStack}from"./components/db-stack.js";export{DbGrid,DbGridItem}from"./components/db-grid.js";export{DbToolbar}from"./components/db-toolbar.js";export{DbForm}from"./components/db-form.js";export{DbPageHeader}from"./components/db-page-header.js";export{DbSection}from"./components/db-section.js";export{DbFloatingActionButton}from"./components/db-floating-action-button.js";export{DbBottomSheet}from"./components/db-bottom-sheet.js";export{DbScrollArea}from"./components/db-scroll-area.js";export{DbDropzone}from"./components/db-dropzone.js";export{DbOnboardingModal}from"./components/db-onboarding-modal.js";export{DbSplitView}from"./components/db-split-view.js";export{DbFileUploader}from"./components/db-file-uploader.js";export{DbDatePicker}from"./components/db-date-picker.js";export{DbTimePicker}from"./components/db-time-picker.js";export{DbCalendar}from"./components/db-calendar.js";export{DbRating}from"./components/db-rating.js";export{DbCountdown}from"./components/db-countdown.js";export{DbMasonry}from"./components/db-masonry.js";export{DbCarousel}from"./components/db-carousel.js";export{DbColorPicker}from"./components/db-color-picker.js";export{DbReorder}from"./components/db-reorder.js";export{DbKanban}from"./components/db-kanban.js";export{DbGantt}from"./components/db-gantt.js";export{DbResizablePanels}from"./components/db-resizable-panels.js";export{DbVideoPlayer}from"./components/db-video-player.js";export{DbYouTubePlayer}from"./components/db-youtube-player.js";export{DbAudioPlayer}from"./components/db-audio-player.js";export{DbCodeBlock}from"./components/db-code-block.js";export{DbMarkdownEditor}from"./components/db-markdown-editor.js";export{DbTestimonial}from"./components/db-testimonial.js";export{DbSectionHero}from"./components/db-section-hero.js";export{DbSectionFeature}from"./components/db-section-feature.js";export{DbAppBadge}from"./components/db-app-badge.js";export{DbSectionContact}from"./components/db-section-contact.js";export{DbSectionAppDownload}from"./components/db-section-app-download.js";export{DbSectionCta}from"./components/db-section-cta.js";export{DbSectionTestimonials}from"./components/db-section-testimonials.js";export{DbSectionFeatureGrid}from"./components/db-section-feature-grid.js";export{DbSectionLogoCloud}from"./components/db-section-logo-cloud.js";export{DbSectionStats}from"./components/db-section-stats.js";export{DbSectionFaq}from"./components/db-section-faq.js";export{DbSectionPricing}from"./components/db-section-pricing.js";export{DbMarquee}from"./components/db-marquee.js";export{DbGradient}from"./components/db-gradient.js";export{DbRandomGradient}from"./components/db-random-gradient.js";export{DbAdBanner}from"./components/db-ad-banner.js";export{DbTimeline}from"./components/db-timeline.js";export{DbAnimationText}from"./components/db-animation-text.js";export{DbTutorial}from"./components/db-tutorial.js";export{DbAnimationBackground}from"./components/db-animation-background.js";export{DbGridBackground}from"./components/db-grid-background.js";export{DbCursorFollower}from"./components/db-cursor-follower.js";export{DbLottie}from"./components/db-lottie.js";export{toast as dbToast,showToast,toast}from"./helpers/toast.js";export{confirm,confirm as dbConfirm}from"./helpers/confirm.js";