@sellmate/design-system 1.25.1 → 1.26.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/design-system.cjs.js +1 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/sd-calendar_2.cjs.entry.js +2 -2
- package/dist/cjs/sd-confirm-modal_2.cjs.entry.js +1 -1
- package/dist/cjs/sd-date-picker_7.cjs.entry.js +9 -9
- package/dist/cjs/sd-date-range-picker-calendar.cjs.entry.js +1 -1
- package/dist/cjs/sd-divider.cjs.entry.js +1 -1
- package/dist/cjs/sd-field_3.cjs.entry.js +7 -7
- package/dist/cjs/sd-ghost-button_3.cjs.entry.js +11 -3
- package/dist/cjs/sd-linear-progress.cjs.entry.js +1 -1
- package/dist/cjs/sd-loading-container.cjs.entry.js +2 -2
- package/dist/cjs/sd-pagination_4.cjs.entry.js +8 -8
- package/dist/cjs/sd-popup.cjs.entry.js +1 -1
- package/dist/cjs/sd-select-list-item_2.cjs.entry.js +6 -6
- package/dist/cjs/sd-select_3.cjs.entry.js +8 -8
- package/dist/cjs/sd-switch.cjs.entry.js +1 -1
- package/dist/cjs/sd-table.cjs.entry.js +6 -6
- package/dist/cjs/sd-tabs.cjs.entry.js +1 -1
- package/dist/cjs/sd-td.cjs.entry.js +1 -1
- package/dist/cjs/sd-toast-container.cjs.entry.js +1 -1
- package/dist/cjs/sd-toast.cjs.entry.js +2 -2
- package/dist/cjs/sd-toggle.cjs.entry.js +1 -1
- package/dist/collection/components/sd-date-picker/sd-date-picker-trigger/sd-date-picker-trigger.js +2 -2
- package/dist/collection/components/sd-date-picker/sd-date-picker.js +2 -2
- package/dist/collection/components/sd-date-range-picker/sd-date-range-picker-calendar/sd-date-range-picker-calendar.js +1 -1
- package/dist/collection/components/sd-divider/sd-divider.js +1 -1
- package/dist/collection/components/sd-field/sd-field.js +4 -4
- package/dist/collection/components/sd-floating-portal/sd-floating-portal.js +1 -1
- package/dist/collection/components/sd-input/sd-input.js +2 -2
- package/dist/collection/components/sd-linear-progress/sd-linear-progress.js +1 -1
- package/dist/collection/components/sd-loading-container/sd-loading-container.js +2 -2
- package/dist/collection/components/sd-loading-modal/sd-loading-modal.js +1 -1
- package/dist/collection/components/sd-number-input/sd-number-input.js +4 -4
- package/dist/collection/components/sd-pagination/sd-pagination.js +3 -3
- package/dist/collection/components/sd-popup/sd-popup.js +1 -1
- package/dist/collection/components/sd-select/sd-select-list-item/sd-select-list-item.js +2 -2
- package/dist/collection/components/sd-select/sd-select-list-item-search/sd-select-list-item-search.js +4 -4
- package/dist/collection/components/sd-select/sd-select-listbox/sd-select-listbox.js +2 -2
- package/dist/collection/components/sd-select/sd-select-trigger/sd-select-trigger.js +2 -2
- package/dist/collection/components/sd-select/sd-select.js +4 -4
- package/dist/collection/components/sd-switch/sd-switch.js +1 -1
- package/dist/collection/components/sd-table/sd-table.js +6 -6
- package/dist/collection/components/sd-table/sd-tbody/sd-tbody.js +2 -2
- package/dist/collection/components/sd-table/sd-td/sd-td.js +1 -1
- package/dist/collection/components/sd-table/sd-thead/sd-thead.js +3 -3
- package/dist/collection/components/sd-tabs/sd-tabs.js +1 -1
- package/dist/collection/components/sd-tag/sd-tag.css +2 -1
- package/dist/collection/components/sd-tag/sd-tag.js +31 -3
- package/dist/collection/components/sd-textarea/sd-textarea.js +1 -1
- package/dist/collection/components/sd-toast/sd-toast.js +2 -2
- package/dist/collection/components/sd-toast-container/sd-toast-container.js +1 -1
- package/dist/collection/components/sd-toggle/sd-toggle.js +1 -1
- package/dist/collection/components/sd-tooltip/sd-tooltip.js +2 -2
- package/dist/components/{p-I-9rJnxk.js → p-0UeArSzN.js} +1 -1
- package/dist/components/{p-BW-I-6Id.js → p-1kjTqHez.js} +1 -1
- package/dist/components/{p-BlN03Cqm.js → p-B4ua22vZ.js} +1 -1
- package/dist/components/{p-CqivNcjh.js → p-BAIi5T00.js} +1 -1
- package/dist/components/{p-Dny4KukK.js → p-BCLDTSO0.js} +1 -1
- package/dist/components/{p-PMD-Col0.js → p-BGIwu6m1.js} +1 -1
- package/dist/components/{p-DMvWCQfX.js → p-BOrdn-Js.js} +1 -1
- package/dist/components/{p-B8uvCE1e.js → p-BTWV2vRX.js} +1 -1
- package/dist/components/{p-BuuIkYiY.js → p-Bv_CVYp1.js} +1 -1
- package/dist/components/{p-1fgPu1BU.js → p-BwwpMQLA.js} +1 -1
- package/dist/components/{p-0U99W-3Z.js → p-C1vqL1Kl.js} +1 -1
- package/dist/components/{p-CtNDxhxx.js → p-C7sPq8UM.js} +1 -1
- package/dist/components/p-C7sUn4qb.js +1 -0
- package/dist/components/{p-CQLezwlh.js → p-CA2sZAsI.js} +1 -1
- package/dist/components/{p-BAsjJuJJ.js → p-CFqCJx9B.js} +1 -1
- package/dist/components/{p-lGr865w2.js → p-D0Xz7CoK.js} +1 -1
- package/dist/components/{p-BzrpKueg.js → p-D15bTkjr.js} +1 -1
- package/dist/components/{p-BZUlNC0d.js → p-DPotN1QM.js} +1 -1
- package/dist/components/{p-DBw58vNP.js → p-DU2_jzh4.js} +1 -1
- package/dist/components/{p-BGpxtouI.js → p-DsGK3Aye.js} +1 -1
- package/dist/components/{p-DpYG9T3S.js → p-DznzJSU-.js} +1 -1
- package/dist/components/{p-BoH7ykYx.js → p-IBgCA-vo.js} +1 -1
- package/dist/components/{p-CNwoxvpg.js → p-JamWHNrr.js} +1 -1
- package/dist/components/{p-Dxye4-ZY.js → p-UkSGSWSA.js} +1 -1
- package/dist/components/{p-h9_f4fUW.js → p-aYmWxyum.js} +1 -1
- package/dist/components/{p-d3KpOGRC.js → p-tSYcqBKN.js} +1 -1
- package/dist/components/{p-DbbdfMAF.js → p-zGr4He38.js} +1 -1
- package/dist/components/sd-action-modal.js +1 -1
- package/dist/components/sd-barcode-input.js +1 -1
- package/dist/components/sd-calendar.js +1 -1
- package/dist/components/sd-chip-input.js +1 -1
- package/dist/components/sd-chip.js +1 -1
- package/dist/components/sd-confirm-modal.js +1 -1
- package/dist/components/sd-date-picker-trigger.js +1 -1
- package/dist/components/sd-date-picker.js +1 -1
- package/dist/components/sd-date-range-picker-calendar.js +1 -1
- package/dist/components/sd-date-range-picker.js +1 -1
- package/dist/components/sd-divider.js +1 -1
- package/dist/components/sd-field.js +1 -1
- package/dist/components/sd-file-picker.js +1 -1
- package/dist/components/sd-floating-portal.js +1 -1
- package/dist/components/sd-ghost-button.js +1 -1
- package/dist/components/sd-guide.js +1 -1
- package/dist/components/sd-input.js +1 -1
- package/dist/components/sd-key-value-table.js +1 -1
- package/dist/components/sd-linear-progress.js +1 -1
- package/dist/components/sd-loading-container.js +1 -1
- package/dist/components/sd-loading-modal.js +1 -1
- package/dist/components/sd-modal-container.js +1 -1
- package/dist/components/sd-number-input.js +1 -1
- package/dist/components/sd-pagination.js +1 -1
- package/dist/components/sd-popover.js +1 -1
- package/dist/components/sd-popup.js +1 -1
- package/dist/components/sd-select-list-item-search.js +1 -1
- package/dist/components/sd-select-list-item.js +1 -1
- package/dist/components/sd-select-listbox.js +1 -1
- package/dist/components/sd-select-trigger.js +1 -1
- package/dist/components/sd-select.js +1 -1
- package/dist/components/sd-switch.js +1 -1
- package/dist/components/sd-table.js +1 -1
- package/dist/components/sd-tabs.js +1 -1
- package/dist/components/sd-tag.js +1 -1
- package/dist/components/sd-tbody.js +1 -1
- package/dist/components/sd-td.js +1 -1
- package/dist/components/sd-text-link.js +1 -1
- package/dist/components/sd-textarea.js +1 -1
- package/dist/components/sd-thead.js +1 -1
- package/dist/components/sd-toast-container.js +1 -1
- package/dist/components/sd-toast.js +1 -1
- package/dist/components/sd-toggle.js +1 -1
- package/dist/components/sd-tooltip.js +1 -1
- package/dist/design-system/design-system.esm.js +1 -1
- package/dist/design-system/{p-9ea2fbec.entry.js → p-065cd2f4.entry.js} +1 -1
- package/dist/design-system/p-28e1cf94.entry.js +1 -0
- package/dist/design-system/{p-cb63d4cf.entry.js → p-2c704047.entry.js} +1 -1
- package/dist/design-system/{p-43d521c4.entry.js → p-4d747082.entry.js} +1 -1
- package/dist/design-system/{p-74e605c0.entry.js → p-4deb11d8.entry.js} +1 -1
- package/dist/design-system/{p-84b415d7.entry.js → p-681f8612.entry.js} +1 -1
- package/dist/design-system/{p-9afc1f7c.entry.js → p-79d85b32.entry.js} +1 -1
- package/dist/design-system/{p-8862e3e3.entry.js → p-7c22de74.entry.js} +1 -1
- package/dist/design-system/{p-3b71d1d4.entry.js → p-8b4d246f.entry.js} +1 -1
- package/dist/design-system/{p-b4df75b9.entry.js → p-8da06c09.entry.js} +1 -1
- package/dist/design-system/{p-5a67c40d.entry.js → p-940de4ba.entry.js} +1 -1
- package/dist/design-system/{p-a1438f7d.entry.js → p-9c3f7c57.entry.js} +1 -1
- package/dist/design-system/{p-a8d69ab2.entry.js → p-a992c64b.entry.js} +1 -1
- package/dist/design-system/{p-21d8f192.entry.js → p-b127ac21.entry.js} +1 -1
- package/dist/design-system/{p-6f77fc76.entry.js → p-ba10c791.entry.js} +1 -1
- package/dist/design-system/{p-f1e0ba30.entry.js → p-bd700588.entry.js} +1 -1
- package/dist/design-system/p-c3b032a1.entry.js +1 -0
- package/dist/design-system/{p-6b20c76b.entry.js → p-d8bebc8e.entry.js} +1 -1
- package/dist/design-system/{p-a505459f.entry.js → p-dca19618.entry.js} +1 -1
- package/dist/design-system/{p-c0198e3a.entry.js → p-e45e6e56.entry.js} +1 -1
- package/dist/esm/design-system.js +1 -1
- package/dist/esm/loader.js +1 -1
- package/dist/esm/sd-calendar_2.entry.js +2 -2
- package/dist/esm/sd-confirm-modal_2.entry.js +1 -1
- package/dist/esm/sd-date-picker_7.entry.js +9 -9
- package/dist/esm/sd-date-range-picker-calendar.entry.js +1 -1
- package/dist/esm/sd-divider.entry.js +1 -1
- package/dist/esm/sd-field_3.entry.js +7 -7
- package/dist/esm/sd-ghost-button_3.entry.js +12 -4
- package/dist/esm/sd-linear-progress.entry.js +1 -1
- package/dist/esm/sd-loading-container.entry.js +2 -2
- package/dist/esm/sd-pagination_4.entry.js +8 -8
- package/dist/esm/sd-popup.entry.js +1 -1
- package/dist/esm/sd-select-list-item_2.entry.js +6 -6
- package/dist/esm/sd-select_3.entry.js +8 -8
- package/dist/esm/sd-switch.entry.js +1 -1
- package/dist/esm/sd-table.entry.js +6 -6
- package/dist/esm/sd-tabs.entry.js +1 -1
- package/dist/esm/sd-td.entry.js +1 -1
- package/dist/esm/sd-toast-container.entry.js +1 -1
- package/dist/esm/sd-toast.entry.js +2 -2
- package/dist/esm/sd-toggle.entry.js +1 -1
- package/dist/types/components/sd-tag/sd-tag.d.ts +3 -0
- package/dist/types/components.d.ts +11 -0
- package/hydrate/index.js +73 -64
- package/hydrate/index.mjs +73 -64
- package/package.json +1 -1
- package/dist/components/p-D8T1XeGP.js +0 -1
- package/dist/design-system/p-0d5d2723.entry.js +0 -1
- package/dist/design-system/p-ad822c82.entry.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,c as a,h as r,F as n}from"./p-BZ5lcC25.js";import{u as d,t,W as i,C as c}from"./p-BqWuC4-J.js";import{d as s}from"./p-laVsm9VM.js";const l={bg:s.datepicker.calendar.range.bg,height:s.datepicker.calendar.range.height,panelGap:s.datepicker.calendar.range.panelGap,divider:s.datepicker.calendar.range.divider},g=(e,a)=>{const[r,n,d]=e.split("-").map(Number),t=new Date(r,n-1,d);return t.setDate(t.getDate()+a),`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`},o=class{constructor(r){e(this,r),this.select=a(this,"sdSelect",7),this.viewChange=a(this,"sdViewChange",7)}value=null;selectable;maxRange;currentYear;currentMonth;pendingStart="";hoverDate="";displayValue=null;select;viewChange;dateUtil=d();componentWillLoad(){this.syncFromValue()}handleValueChange(){this.syncFromValue()}syncFromValue(){const e=this.value?.[0]||t,[a,r]=e.split("-").map(Number);this.currentYear=a,this.currentMonth=r,this.pendingStart="",this.hoverDate="",this.displayValue=this.value?[this.value[0],this.value[1]]:null}get rightYear(){return 12===this.currentMonth?this.currentYear+1:this.currentYear}get rightMonth(){return 12===this.currentMonth?1:this.currentMonth+1}formatDate(e,a,r){return`${e}-${String(a).padStart(2,"0")}-${String(r).padStart(2,"0")}`}buildCells(e,a){const r=new Date(e,a-1,1).getDay(),n=new Date(e,a,0).getDate(),d=1===a?12:a-1,t=1===a?e-1:e,i=new Date(t,d,0).getDate(),c=12===a?1:a+1,s=12===a?e+1:e,l=[];for(let e=r-1;e>=0;e--){const a=i-e;l.push({date:this.formatDate(t,d,a),day:a,inCurrentMonth:!1})}for(let r=1;r<=n;r++)l.push({date:this.formatDate(e,a,r),day:r,inCurrentMonth:!0});const g=(7-l.length%7)%7;for(let e=1;e<=g;e++)l.push({date:this.formatDate(s,c,e),day:e,inCurrentMonth:!1});return l}emitViewChange(){this.viewChange.emit({year:this.currentYear,month:this.currentMonth})}goPrevYear=e=>{e.stopPropagation(),this.currentYear-=1,this.emitViewChange()};goNextYear=e=>{e.stopPropagation(),this.currentYear+=1,this.emitViewChange()};goPrevMonth=e=>{e.stopPropagation();const{newYear:a,newMonth:r}=this.dateUtil.calculateYearMonth(this.currentYear,this.currentMonth,"prev");this.currentYear=a,this.currentMonth=r,this.emitViewChange()};goNextMonth=e=>{e.stopPropagation();const{newYear:a,newMonth:r}=this.dateUtil.calculateYearMonth(this.currentYear,this.currentMonth,"next");this.currentYear=a,this.currentMonth=r,this.emitViewChange()};goToday=e=>{e.stopPropagation();const[a,r]=t.split("-").map(Number);this.currentYear===a&&this.currentMonth===r||(this.currentYear=a,this.currentMonth=r,this.emitViewChange())};isDisabled(e){if(this.selectable){const[a,r]=this.selectable;if(null!=a&&""!==a&&e<a)return!0;if(null!=r&&""!==r&&e>r)return!0}if(null!=this.maxRange&&this.maxRange>0&&""!==this.pendingStart){const a=g(this.pendingStart,-this.maxRange),r=g(this.pendingStart,this.maxRange);if(e<a||e>r)return!0}return!1}handleDayClick(e){if(!e.inCurrentMonth)return;if(this.isDisabled(e.date))return;if(""===this.pendingStart||null!=this.displayValue&&""!==this.displayValue[0]&&""!==this.displayValue[1]||e.date<this.pendingStart)return this.pendingStart=e.date,this.displayValue=null,void(this.hoverDate="");const a=[this.pendingStart,e.date];this.pendingStart="",this.hoverDate="",this.displayValue=a,this.select.emit(a)}handleDayHover(e){e.inCurrentMonth&&""!==this.pendingStart&&(this.hoverDate=e.date)}getRangeState(e,a){if(!a)return{inRange:!1,isRangeStart:!1,isRangeEnd:!1,isSelectedEdge:!1};if(""!==this.pendingStart){const a=e===this.pendingStart,r=""!==this.hoverDate&&this.hoverDate>=this.pendingStart?this.hoverDate:"";return{inRange:""!==r&&e>this.pendingStart&&e<=r,isRangeStart:a,isRangeEnd:""!==r&&e===r,isSelectedEdge:a}}if(null!=this.displayValue&&""!==this.displayValue[0]&&""!==this.displayValue[1]){const[a,r]=this.displayValue,n=e===a,d=e===r;return{inRange:e>a&&e<r,isRangeStart:n,isRangeEnd:d,isSelectedEdge:n||d}}return{inRange:!1,isRangeStart:!1,isRangeEnd:!1,isSelectedEdge:!1}}renderHeader(e,a,n){const d=`${e}.${String(a).padStart(2,"0")}`;return r("div",{class:"sd-date-range-picker-calendar__header"},r("div",{class:"sd-date-range-picker-calendar__nav-group sd-date-range-picker-calendar__nav-group-month"},r("sd-ghost-button",{class:{"sd-date-range-picker-calendar__nav-placeholder":!n},ariaLabel:"prevMonth",size:"xxs",icon:"chevronLeft",onClick:this.goPrevMonth}),r("span",{class:"sd-date-range-picker-calendar__label sd-date-range-picker-calendar__label-month"},d),r("sd-ghost-button",{class:{"sd-date-range-picker-calendar__nav-placeholder":n},ariaLabel:"nextMonth",size:"xxs",icon:"chevronRight",onClick:this.goNextMonth})))}renderYearNav(){return r("div",{class:"sd-date-range-picker-calendar__top-bar"},r("div",{class:"sd-date-range-picker-calendar__year-nav"},r("sd-ghost-button",{ariaLabel:"prevYear",size:"xxs",icon:"chevronLeft",onClick:this.goPrevYear}),r("span",{class:"sd-date-range-picker-calendar__label"},this.currentYear),r("sd-ghost-button",{ariaLabel:"nextYear",size:"xxs",icon:"chevronRight",onClick:this.goNextYear})),r("button",{type:"button",class:"sd-date-range-picker-calendar__today-button",onClick:this.goToday},"오늘"))}renderPanel(e,a,n){const d=this.buildCells(e,a);return r("div",{class:"sd-date-range-picker-calendar__panel"},this.renderHeader(e,a,n),r("div",{class:"sd-date-range-picker-calendar__week"},i.map((e=>r("span",{key:e,class:"sd-date-range-picker-calendar__week-cell"},e)))),r("div",{class:"sd-date-range-picker-calendar__grid"},d.map((e=>{const{inRange:a,isRangeStart:n,isRangeEnd:d,isSelectedEdge:i}=this.getRangeState(e.date,e.inCurrentMonth),c=e.inCurrentMonth&&t===e.date,s=e.inCurrentMonth&&this.isDisabled(e.date);return r("button",{type:"button",key:e.date,class:{"sd-date-range-picker-calendar__day":!0,"sd-date-range-picker-calendar__day--empty":!e.inCurrentMonth,"sd-date-range-picker-calendar__day--today":c,"sd-date-range-picker-calendar__day--in-range":a,"sd-date-range-picker-calendar__day--range-start":n,"sd-date-range-picker-calendar__day--range-end":d,"sd-date-range-picker-calendar__day--selected":i,"sd-date-range-picker-calendar__day--disabled":s},disabled:!e.inCurrentMonth||s,tabindex:e.inCurrentMonth?void 0:-1,"aria-hidden":e.inCurrentMonth?void 0:"true",onClick:()=>this.handleDayClick(e),onMouseEnter:()=>this.handleDayHover(e)},r("span",{class:"sd-date-range-picker-calendar__day-circle"},e.inCurrentMonth?e.day:""))}))))}render(){return r(n,{key:"a32cc455c1d5fda2754a64374daa6cd664ccf811"},r("div",{key:"beaaa15519e87cf3543981c4b902fe000c945d57",class:"sd-date-range-picker-calendar",style:{"--calendar-bg":c.bg,"--calendar-padding":`${c.paddingXY}px`,"--calendar-gap":`${c.gap}px`,"--calendar-radius":`${c.radius}px`,"--calendar-header-gap":`${c.header.gap}px`,"--calendar-header-divider":c.header.divider,"--calendar-header-font-size":`${c.header.fontSize}px`,"--calendar-header-line-height":`${c.header.lineHeight}px`,"--calendar-header-font-weight":c.header.fontWeight,"--calendar-week-font-size":`${c.week.fontSize}px`,"--calendar-week-line-height":`${c.week.lineHeight}px`,"--calendar-week-font-weight":c.week.fontWeight,"--calendar-week-color":c.week.color,"--calendar-grid-row-gap":`${c.grid.rowGap}px`,"--calendar-day-size":`${c.day.size}px`,"--calendar-day-circle-size":`${c.day.circleSize}px`,"--calendar-day-circle-radius":`${c.day.circleRadius}px`,"--calendar-day-text":c.day.defaultText,"--calendar-day-hover-text":c.day.hoverText,"--calendar-day-hover-border":c.day.hoverBorder,"--calendar-day-select-bg":c.day.selectBg,"--calendar-day-select-text":c.day.selectText,"--calendar-day-disabled-text":c.day.disabledText,"--calendar-day-font-size":`${c.day.fontSize}px`,"--calendar-day-line-height":`${c.day.lineHeight}px`,"--calendar-day-font-weight":c.day.fontWeight,"--range-bg":l.bg,"--range-height":`${l.height}px`,"--range-panel-gap":`${l.panelGap}px`,"--range-divider":l.divider}},this.renderYearNav(),r("div",{key:"54ac87b736bd35236b900ca0b34940a82017b0ec",class:"sd-date-range-picker-calendar__panels"},this.renderPanel(this.currentYear,this.currentMonth,!0),r("span",{key:"f4b585c6a6b680591de74c0f31801578df6629c9",class:"sd-date-range-picker-calendar__divider","aria-hidden":"true"}),this.renderPanel(this.rightYear,this.rightMonth,!1))))}static get watchers(){return{value:[{handleValueChange:0}]}}};o.style="sd-date-range-picker-calendar{display:block}sd-date-range-picker-calendar .sd-date-range-picker-calendar{display:flex;flex-direction:column;gap:var(--calendar-gap);height:364px;padding:var(--calendar-padding);background:var(--calendar-bg);border-radius:var(--calendar-radius);box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.2);user-select:none}sd-date-range-picker-calendar .sd-date-range-picker-calendar__top-bar{position:relative;display:flex;align-items:center;justify-content:center}sd-date-range-picker-calendar .sd-date-range-picker-calendar__year-nav{display:flex;align-items:center;justify-content:center;gap:var(--calendar-gap);font-size:var(--calendar-header-font-size);line-height:var(--calendar-header-line-height);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__today-button{position:absolute;right:0;background:transparent;cursor:pointer;font-size:var(--calendar-week-font-size);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text);min-width:37px;height:24px;line-height:24px;text-align:center}sd-date-range-picker-calendar .sd-date-range-picker-calendar__today-button:hover{text-decoration:underline}sd-date-range-picker-calendar .sd-date-range-picker-calendar__panels{display:flex;flex-direction:row;gap:var(--range-panel-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__divider{flex-shrink:0;width:1px;background:var(--range-divider)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__panel{display:flex;flex-direction:column;gap:var(--calendar-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__header{display:flex;flex-flow:column nowrap;align-items:center;justify-content:center;gap:var(--calendar-header-gap);font-size:var(--calendar-header-font-size);line-height:var(--calendar-header-line-height);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__nav-group{display:inline-flex;align-items:center;gap:var(--calendar-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__nav-group-month{display:flex;width:100%;align-items:center;gap:var(--calendar-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__label{display:inline-flex;align-items:center;justify-content:center;min-width:40px;text-align:center}sd-date-range-picker-calendar .sd-date-range-picker-calendar__label-month{flex:1}sd-date-range-picker-calendar .sd-date-range-picker-calendar__nav-placeholder{visibility:hidden;pointer-events:none}sd-date-range-picker-calendar .sd-date-range-picker-calendar__week{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size))}sd-date-range-picker-calendar .sd-date-range-picker-calendar__week-cell{display:inline-flex;align-items:center;justify-content:center;height:20px;font-size:var(--calendar-week-font-size);line-height:var(--calendar-week-line-height);font-weight:var(--calendar-week-font-weight);color:var(--calendar-week-color)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__grid{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size));row-gap:var(--calendar-grid-row-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--calendar-day-size);height:var(--range-height);padding:0;border:none;background:transparent;cursor:pointer;font-size:var(--calendar-day-font-size);line-height:var(--calendar-day-line-height);font-weight:var(--calendar-day-font-weight);color:var(--calendar-day-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day-circle{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:var(--calendar-day-circle-size);height:var(--calendar-day-circle-size);border-radius:calc(var(--calendar-day-circle-radius) * 1px);border:1px solid transparent;box-sizing:border-box}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day:not(:disabled):hover .sd-date-range-picker-calendar__day-circle{border-radius:16px;border:1px solid var(--calendar-day-hover-border)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--today .sd-date-range-picker-calendar__day-circle{font-weight:700}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--in-range{background:var(--range-bg)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-start{background:linear-gradient(to right, transparent 50%, var(--range-bg) 50%)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-end{background:var(--range-bg)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-startsd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-end{background:transparent}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--selected .sd-date-range-picker-calendar__day-circle{border-radius:16px;background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--selected:not(:disabled):hover .sd-date-range-picker-calendar__day-circle{background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--disabled{color:var(--calendar-day-disabled-text);cursor:not-allowed}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--disabled:not(.sd-date-range-picker-calendar__day--in-range):not(.sd-date-range-picker-calendar__day--range-start):not(.sd-date-range-picker-calendar__day--range-end){background:none}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--empty{visibility:hidden;pointer-events:none;background:transparent}";export{o as sd_date_range_picker_calendar}
|
|
1
|
+
import{r as e,c as a,h as r,F as n}from"./p-BZ5lcC25.js";import{u as d,t,W as i,C as c}from"./p-BqWuC4-J.js";import{d as s}from"./p-laVsm9VM.js";const l={bg:s.datepicker.calendar.range.bg,height:s.datepicker.calendar.range.height,panelGap:s.datepicker.calendar.range.panelGap,divider:s.datepicker.calendar.range.divider},g=(e,a)=>{const[r,n,d]=e.split("-").map(Number),t=new Date(r,n-1,d);return t.setDate(t.getDate()+a),`${t.getFullYear()}-${String(t.getMonth()+1).padStart(2,"0")}-${String(t.getDate()).padStart(2,"0")}`},o=class{constructor(r){e(this,r),this.select=a(this,"sdSelect",7),this.viewChange=a(this,"sdViewChange",7)}value=null;selectable;maxRange;currentYear;currentMonth;pendingStart="";hoverDate="";displayValue=null;select;viewChange;dateUtil=d();componentWillLoad(){this.syncFromValue()}handleValueChange(){this.syncFromValue()}syncFromValue(){const e=this.value?.[0]||t,[a,r]=e.split("-").map(Number);this.currentYear=a,this.currentMonth=r,this.pendingStart="",this.hoverDate="",this.displayValue=this.value?[this.value[0],this.value[1]]:null}get rightYear(){return 12===this.currentMonth?this.currentYear+1:this.currentYear}get rightMonth(){return 12===this.currentMonth?1:this.currentMonth+1}formatDate(e,a,r){return`${e}-${String(a).padStart(2,"0")}-${String(r).padStart(2,"0")}`}buildCells(e,a){const r=new Date(e,a-1,1).getDay(),n=new Date(e,a,0).getDate(),d=1===a?12:a-1,t=1===a?e-1:e,i=new Date(t,d,0).getDate(),c=12===a?1:a+1,s=12===a?e+1:e,l=[];for(let e=r-1;e>=0;e--){const a=i-e;l.push({date:this.formatDate(t,d,a),day:a,inCurrentMonth:!1})}for(let r=1;r<=n;r++)l.push({date:this.formatDate(e,a,r),day:r,inCurrentMonth:!0});const g=(7-l.length%7)%7;for(let e=1;e<=g;e++)l.push({date:this.formatDate(s,c,e),day:e,inCurrentMonth:!1});return l}emitViewChange(){this.viewChange.emit({year:this.currentYear,month:this.currentMonth})}goPrevYear=e=>{e.stopPropagation(),this.currentYear-=1,this.emitViewChange()};goNextYear=e=>{e.stopPropagation(),this.currentYear+=1,this.emitViewChange()};goPrevMonth=e=>{e.stopPropagation();const{newYear:a,newMonth:r}=this.dateUtil.calculateYearMonth(this.currentYear,this.currentMonth,"prev");this.currentYear=a,this.currentMonth=r,this.emitViewChange()};goNextMonth=e=>{e.stopPropagation();const{newYear:a,newMonth:r}=this.dateUtil.calculateYearMonth(this.currentYear,this.currentMonth,"next");this.currentYear=a,this.currentMonth=r,this.emitViewChange()};goToday=e=>{e.stopPropagation();const[a,r]=t.split("-").map(Number);this.currentYear===a&&this.currentMonth===r||(this.currentYear=a,this.currentMonth=r,this.emitViewChange())};isDisabled(e){if(this.selectable){const[a,r]=this.selectable;if(null!=a&&""!==a&&e<a)return!0;if(null!=r&&""!==r&&e>r)return!0}if(null!=this.maxRange&&this.maxRange>0&&""!==this.pendingStart){const a=g(this.pendingStart,-this.maxRange),r=g(this.pendingStart,this.maxRange);if(e<a||e>r)return!0}return!1}handleDayClick(e){if(!e.inCurrentMonth)return;if(this.isDisabled(e.date))return;if(""===this.pendingStart||null!=this.displayValue&&""!==this.displayValue[0]&&""!==this.displayValue[1]||e.date<this.pendingStart)return this.pendingStart=e.date,this.displayValue=null,void(this.hoverDate="");const a=[this.pendingStart,e.date];this.pendingStart="",this.hoverDate="",this.displayValue=a,this.select.emit(a)}handleDayHover(e){e.inCurrentMonth&&""!==this.pendingStart&&(this.hoverDate=e.date)}getRangeState(e,a){if(!a)return{inRange:!1,isRangeStart:!1,isRangeEnd:!1,isSelectedEdge:!1};if(""!==this.pendingStart){const a=e===this.pendingStart,r=""!==this.hoverDate&&this.hoverDate>=this.pendingStart?this.hoverDate:"";return{inRange:""!==r&&e>this.pendingStart&&e<=r,isRangeStart:a,isRangeEnd:""!==r&&e===r,isSelectedEdge:a}}if(null!=this.displayValue&&""!==this.displayValue[0]&&""!==this.displayValue[1]){const[a,r]=this.displayValue,n=e===a,d=e===r;return{inRange:e>a&&e<r,isRangeStart:n,isRangeEnd:d,isSelectedEdge:n||d}}return{inRange:!1,isRangeStart:!1,isRangeEnd:!1,isSelectedEdge:!1}}renderHeader(e,a,n){const d=`${e}.${String(a).padStart(2,"0")}`;return r("div",{class:"sd-date-range-picker-calendar__header"},r("div",{class:"sd-date-range-picker-calendar__nav-group sd-date-range-picker-calendar__nav-group-month"},r("sd-ghost-button",{class:{"sd-date-range-picker-calendar__nav-placeholder":!n},ariaLabel:"prevMonth",size:"xxs",icon:"chevronLeft",onClick:this.goPrevMonth}),r("span",{class:"sd-date-range-picker-calendar__label sd-date-range-picker-calendar__label-month"},d),r("sd-ghost-button",{class:{"sd-date-range-picker-calendar__nav-placeholder":n},ariaLabel:"nextMonth",size:"xxs",icon:"chevronRight",onClick:this.goNextMonth})))}renderYearNav(){return r("div",{class:"sd-date-range-picker-calendar__top-bar"},r("div",{class:"sd-date-range-picker-calendar__year-nav"},r("sd-ghost-button",{ariaLabel:"prevYear",size:"xxs",icon:"chevronLeft",onClick:this.goPrevYear}),r("span",{class:"sd-date-range-picker-calendar__label"},this.currentYear),r("sd-ghost-button",{ariaLabel:"nextYear",size:"xxs",icon:"chevronRight",onClick:this.goNextYear})),r("button",{type:"button",class:"sd-date-range-picker-calendar__today-button",onClick:this.goToday},"오늘"))}renderPanel(e,a,n){const d=this.buildCells(e,a);return r("div",{class:"sd-date-range-picker-calendar__panel"},this.renderHeader(e,a,n),r("div",{class:"sd-date-range-picker-calendar__week"},i.map((e=>r("span",{key:e,class:"sd-date-range-picker-calendar__week-cell"},e)))),r("div",{class:"sd-date-range-picker-calendar__grid"},d.map((e=>{const{inRange:a,isRangeStart:n,isRangeEnd:d,isSelectedEdge:i}=this.getRangeState(e.date,e.inCurrentMonth),c=e.inCurrentMonth&&t===e.date,s=e.inCurrentMonth&&this.isDisabled(e.date);return r("button",{type:"button",key:e.date,class:{"sd-date-range-picker-calendar__day":!0,"sd-date-range-picker-calendar__day--empty":!e.inCurrentMonth,"sd-date-range-picker-calendar__day--today":c,"sd-date-range-picker-calendar__day--in-range":a,"sd-date-range-picker-calendar__day--range-start":n,"sd-date-range-picker-calendar__day--range-end":d,"sd-date-range-picker-calendar__day--selected":i,"sd-date-range-picker-calendar__day--disabled":s},disabled:!e.inCurrentMonth||s,tabindex:e.inCurrentMonth?void 0:-1,"aria-hidden":e.inCurrentMonth?void 0:"true",onClick:()=>this.handleDayClick(e),onMouseEnter:()=>this.handleDayHover(e)},r("span",{class:"sd-date-range-picker-calendar__day-circle"},e.inCurrentMonth?e.day:""))}))))}render(){return r(n,{key:"9f94444bf58cdf5e1f25b377b1cb7bfac7fde4e9"},r("div",{key:"1a516f6effa60cc84f22441dbc705fd06508002a",class:"sd-date-range-picker-calendar",style:{"--calendar-bg":c.bg,"--calendar-padding":`${c.paddingXY}px`,"--calendar-gap":`${c.gap}px`,"--calendar-radius":`${c.radius}px`,"--calendar-header-gap":`${c.header.gap}px`,"--calendar-header-divider":c.header.divider,"--calendar-header-font-size":`${c.header.fontSize}px`,"--calendar-header-line-height":`${c.header.lineHeight}px`,"--calendar-header-font-weight":c.header.fontWeight,"--calendar-week-font-size":`${c.week.fontSize}px`,"--calendar-week-line-height":`${c.week.lineHeight}px`,"--calendar-week-font-weight":c.week.fontWeight,"--calendar-week-color":c.week.color,"--calendar-grid-row-gap":`${c.grid.rowGap}px`,"--calendar-day-size":`${c.day.size}px`,"--calendar-day-circle-size":`${c.day.circleSize}px`,"--calendar-day-circle-radius":`${c.day.circleRadius}px`,"--calendar-day-text":c.day.defaultText,"--calendar-day-hover-text":c.day.hoverText,"--calendar-day-hover-border":c.day.hoverBorder,"--calendar-day-select-bg":c.day.selectBg,"--calendar-day-select-text":c.day.selectText,"--calendar-day-disabled-text":c.day.disabledText,"--calendar-day-font-size":`${c.day.fontSize}px`,"--calendar-day-line-height":`${c.day.lineHeight}px`,"--calendar-day-font-weight":c.day.fontWeight,"--range-bg":l.bg,"--range-height":`${l.height}px`,"--range-panel-gap":`${l.panelGap}px`,"--range-divider":l.divider}},this.renderYearNav(),r("div",{key:"7318074e2146d3b7be635a3e80ee62ec956ff200",class:"sd-date-range-picker-calendar__panels"},this.renderPanel(this.currentYear,this.currentMonth,!0),r("span",{key:"dc40b470c2ece3cad43bac1e3446d6fe0d139966",class:"sd-date-range-picker-calendar__divider","aria-hidden":"true"}),this.renderPanel(this.rightYear,this.rightMonth,!1))))}static get watchers(){return{value:[{handleValueChange:0}]}}};o.style="sd-date-range-picker-calendar{display:block}sd-date-range-picker-calendar .sd-date-range-picker-calendar{display:flex;flex-direction:column;gap:var(--calendar-gap);height:364px;padding:var(--calendar-padding);background:var(--calendar-bg);border-radius:var(--calendar-radius);box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.2);user-select:none}sd-date-range-picker-calendar .sd-date-range-picker-calendar__top-bar{position:relative;display:flex;align-items:center;justify-content:center}sd-date-range-picker-calendar .sd-date-range-picker-calendar__year-nav{display:flex;align-items:center;justify-content:center;gap:var(--calendar-gap);font-size:var(--calendar-header-font-size);line-height:var(--calendar-header-line-height);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__today-button{position:absolute;right:0;background:transparent;cursor:pointer;font-size:var(--calendar-week-font-size);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text);min-width:37px;height:24px;line-height:24px;text-align:center}sd-date-range-picker-calendar .sd-date-range-picker-calendar__today-button:hover{text-decoration:underline}sd-date-range-picker-calendar .sd-date-range-picker-calendar__panels{display:flex;flex-direction:row;gap:var(--range-panel-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__divider{flex-shrink:0;width:1px;background:var(--range-divider)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__panel{display:flex;flex-direction:column;gap:var(--calendar-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__header{display:flex;flex-flow:column nowrap;align-items:center;justify-content:center;gap:var(--calendar-header-gap);font-size:var(--calendar-header-font-size);line-height:var(--calendar-header-line-height);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__nav-group{display:inline-flex;align-items:center;gap:var(--calendar-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__nav-group-month{display:flex;width:100%;align-items:center;gap:var(--calendar-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__label{display:inline-flex;align-items:center;justify-content:center;min-width:40px;text-align:center}sd-date-range-picker-calendar .sd-date-range-picker-calendar__label-month{flex:1}sd-date-range-picker-calendar .sd-date-range-picker-calendar__nav-placeholder{visibility:hidden;pointer-events:none}sd-date-range-picker-calendar .sd-date-range-picker-calendar__week{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size))}sd-date-range-picker-calendar .sd-date-range-picker-calendar__week-cell{display:inline-flex;align-items:center;justify-content:center;height:20px;font-size:var(--calendar-week-font-size);line-height:var(--calendar-week-line-height);font-weight:var(--calendar-week-font-weight);color:var(--calendar-week-color)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__grid{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size));row-gap:var(--calendar-grid-row-gap)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--calendar-day-size);height:var(--range-height);padding:0;border:none;background:transparent;cursor:pointer;font-size:var(--calendar-day-font-size);line-height:var(--calendar-day-line-height);font-weight:var(--calendar-day-font-weight);color:var(--calendar-day-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day-circle{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:var(--calendar-day-circle-size);height:var(--calendar-day-circle-size);border-radius:calc(var(--calendar-day-circle-radius) * 1px);border:1px solid transparent;box-sizing:border-box}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day:not(:disabled):hover .sd-date-range-picker-calendar__day-circle{border-radius:16px;border:1px solid var(--calendar-day-hover-border)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--today .sd-date-range-picker-calendar__day-circle{font-weight:700}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--in-range{background:var(--range-bg)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-start{background:linear-gradient(to right, transparent 50%, var(--range-bg) 50%)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-end{background:var(--range-bg)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-startsd-date-range-picker-calendar .sd-date-range-picker-calendar__day--range-end{background:transparent}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--selected .sd-date-range-picker-calendar__day-circle{border-radius:16px;background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--selected:not(:disabled):hover .sd-date-range-picker-calendar__day-circle{background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--disabled{color:var(--calendar-day-disabled-text);cursor:not-allowed}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--disabled:not(.sd-date-range-picker-calendar__day--in-range):not(.sd-date-range-picker-calendar__day--range-start):not(.sd-date-range-picker-calendar__day--range-end){background:none}sd-date-range-picker-calendar .sd-date-range-picker-calendar__day--empty{visibility:hidden;pointer-events:none;background:transparent}";export{o as sd_date_range_picker_calendar}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,a as e,h as i,c as s,F as o}from"./p-BZ5lcC25.js";import{f as d}from"./p-BOJJ_sQS.js";import{T as a}from"./p-GXE2lEVj.js";const l={start:"flex-start",center:"center",end:"flex-end"},n=d.field.label.sm,r=d.field.label.md,f={sm:{height:n.height,gap:n.gap,icon:n.icon,fontSize:n.typography.fontSize,lineHeight:n.typography.lineHeight,fontWeight:n.typography.fontWeight},md:{height:r.height,gap:r.gap,icon:r.icon,fontSize:r.typography.fontSize,lineHeight:r.typography.lineHeight,fontWeight:r.typography.fontWeight}},h=["sd-input","sd-barcode-input","sd-textarea","sd-number-input","sd-select","sd-file-picker","sd-date-picker","sd-date-range-picker","sd-chip-input"],c=class{constructor(e){t(this,e)}get el(){return e(this)}name="";rules=[];error=!1;disabled=!1;readonly=!1;hovered=!1;focused=!1;status;hint="";errorMessage="";width="";size="sm";label="";labelWidth="";addonLabel="";addonAlign="start";icon=void 0;labelTooltip="";labelTooltipProps=null;errorMsg="";hostElement=null;get value(){return this.hostElement?.value??null}get fieldStatus(){let t="";return this.disabled?(t="disabled",`sd-field--${t}`):this.readonly?(t="readonly",`sd-field--${t}`):this.focused?(t="focus",`sd-field--${t}`):(this.hovered&&(t="hover"),void 0!==this.status&&(t=this.status),this.error&&(t="error"),""!==t?`sd-field--${t}`:"")}componentDidLoad(){this.hostElement=this.findHostElement(),this.registerToForm()}disconnectedCallback(){this.unregisterFromForm()}findHostElement(){for(const t of h){const e=this.el.closest(t);if(e&&"value"in e)return e}return null}registerToForm(){const t=this.el.closest("sd-form");t&&"function"==typeof t.componentOnReady&&t.componentOnReady().then((t=>{t.sdRegisterField(this)}))}unregisterFromForm(){if(""===this.name)return;const t=this.el.closest("sd-form");t?.componentOnReady().then((t=>{t.sdUnregisterField(this)}))}async sdValidate(){if(!this.rules||0===this.rules.length)return!0;for(const t of this.rules){const e=t(this.value??"");if(!0!==e)return this.setError(!0,e),!1}return this.setError(!1,""),!0}async sdReset(){this.hostElement&&(this.hostElement.value=null),this.setError(!1,"")}async sdResetValidation(){this.setError(!1,"")}async sdFocus(){this.hostElement?.focus?.(),this.hostElement?.scrollIntoView({behavior:"smooth",block:"center"})}setError(t,e){this.errorMsg=e,this.hostElement&&(this.hostElement.error=t)}render(){const t=this.addonLabel,e=d.field.addonLabel,s=this.size in f?this.size:"sm",o=f[s],a={"--sd-field-wrapper-height":`var(--sd-system-size-field-${s}-height)`,"--sd-field-control-radius":`var(--sd-system-radius-field-${s})`,"--sd-field-label-margin-right":`var(--sd-system-space-field-${s}-gap)`},n={"--sd-field-error-message-color":d.field.errorMessage.color,"--sd-field-error-message-font-size":`${d.field.errorMessage.typography.fontSize}px`,"--sd-field-error-message-line-height":`${d.field.errorMessage.typography.lineHeight}px`,"--sd-field-hint-color":d.field.hint.color,"--sd-field-hint-font-size":`${d.field.hint.typography.fontSize}px`,"--sd-field-hint-line-height":`${d.field.hint.typography.lineHeight}px`,"--sd-field-message-gap":`${d.field.contents.gap}px`},r=""!==this.label?{"--sd-field-label-height":`${o.height}px`,"--sd-field-label-gap":`${o.gap}px`,"--sd-field-label-font-size":`${o.fontSize}px`,"--sd-field-label-line-height":`${o.lineHeight}px`,"--sd-field-label-font-weight":o.fontWeight,...""!==this.labelWidth&&0!==this.labelWidth?{"--sd-field-label-width":"number"==typeof this.labelWidth?`${this.labelWidth}px`:this.labelWidth}:{}}:{},h=""!==t?{"--sd-field-addon-padding-x":`${e.paddingX}px`,"--sd-field-addon-font-size":`${e.typography.fontSize}px`,"--sd-field-addon-line-height":`${e.typography.lineHeight}px`,"--sd-field-addon-font-weight":e.typography.fontWeight,"--sd-field-addon-bg":e.bg,"--sd-field-addon-border-color":this.disabled?e.border.disabled:e.border.default,"--sd-field-addon-gap":`${e.gap}px`,"--sd-field-addon-border-width":`${e.border.width}px`,"--sd-field-addon-justify":l[this.addonAlign]??l.start,...""!==this.labelWidth&&0!==this.labelWidth?{"--sd-field-addon-width":"number"==typeof this.labelWidth?`${this.labelWidth}px`:this.labelWidth}:{}}:{};return i("div",{key:"45a5353fb451aa829092ca34f3212d6e62f1843a",class:{"sd-field":!0,"sd-field--has-label":""!==this.label,"sd-field--has-addon":""!==t,[this.fieldStatus]:""!==this.fieldStatus},style:{...a,...r,...h,...n}},i("div",{key:"75f3be0dae03f292b66980b7c92d574bd0bda988",class:"sd-field__wrapper"},this.renderLabel(this.label),i("div",{key:"0c3bdc72f11481a94bdfef65ac1152c93403f926",class:"sd-field__main"},i("div",{key:"707215e7087f8bfee3cf53f415caaaed2d37254d",class:{"sd-field__control":!0,"sd-field__control--has-addon":""!==t},style:""!==this.width&&0!==this.width?{width:"number"==typeof this.width?`${this.width}px`:this.width}:{}},t&&i("div",{key:"4b96766a728f23d50effc7c4032b12e9fdb2f16d",class:"sd-field__addon"},this.icon&&i("sd-icon",{key:"f34105536690750f8b96d50e6a2b1c3c03a6b248",name:this.icon.name,size:this.icon.size??Number(f[this.size in f?this.size:"sm"].icon),color:this.icon.color,rotate:this.icon.rotate}),t),i("slot",{key:"3f7139b64e0f94ff29a3f27b03ae35b3fbfe0202"})),""!==this.errorMsg||""!==this.errorMessage?i("div",{class:"sd-field__error-message"},""!==this.errorMsg?this.errorMsg:this.errorMessage):""!==this.hint&&i("div",{class:"sd-field__hint"},this.hint))))}renderLabel(t){return null==t||""===t?null:i("label",{class:"sd-field__label"},this.icon&&i("sd-icon",{name:this.icon.name,size:this.icon.size??Number(f[this.size in f?this.size:"sm"].icon),color:this.icon.color,rotate:this.icon.rotate,class:"sd-field__label__icon"}),i("div",{class:"sd-field__label__text"},t),this.labelTooltip&&i("sd-tooltip",{class:"sd-field__label__tooltip",...this.labelTooltipProps},this.labelTooltip))}};c.style="sd-field{display:inline-flex;flex-flow:column nowrap;height:fit-content;width:100%}sd-field .sd-field *:focus,sd-field .sd-field *:focus-visible,sd-field .sd-field *:focus-within{outline:none !important}sd-field .sd-field.sd-field--disabled{cursor:not-allowed}sd-field .sd-field.sd-field--disabled .sd-field__wrapper{cursor:not-allowed !important}sd-field .sd-field.sd-field--disabled .sd-field__wrapper .sd-field__label-inside{border-color:#CCCCCC;color:#888888;cursor:not-allowed !important}sd-field .sd-field.sd-field--disabled .sd-field__wrapper .sd-field__control{background-color:#E1E1E1;border-color:#CCCCCC;color:#888888;cursor:not-allowed !important}sd-field .sd-field.sd-field--readonly .sd-field__wrapper .sd-field__control{background-color:var(--sd-system-color-field-bg-read-only);color:var(--sd-system-color-field-text-read-only)}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label{display:flex;align-items:center;flex-shrink:0;width:var(--sd-field-label-width, auto);height:var(--sd-field-label-height);margin-right:var(--sd-field-label-margin-right)}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label__icon{margin-right:var(--sd-field-label-gap);flex-shrink:0}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label__text{font-size:var(--sd-field-label-font-size);line-height:var(--sd-field-label-line-height);font-weight:var(--sd-field-label-font-weight);color:var(--sd-system-color-field-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label__tooltip{margin-left:var(--sd-field-label-gap);flex-shrink:0}sd-field .sd-field--has-addon .sd-field__control .sd-field__addon{display:flex;gap:var(--sd-field-addon-gap);align-items:center;justify-content:var(--sd-field-addon-justify, flex-start);white-space:nowrap;box-sizing:border-box;flex-shrink:0;width:var(--sd-field-addon-width, auto);padding:0 var(--sd-field-addon-padding-x);font-size:var(--sd-field-addon-font-size);line-height:var(--sd-field-addon-line-height);font-weight:var(--sd-field-addon-font-weight);background:var(--sd-field-addon-bg);border-right:var(--sd-field-addon-border-width) solid var(--sd-field-addon-border-color);border-radius:calc(var(--sd-field-control-radius) - 1px) 0 0 calc(var(--sd-field-control-radius) - 1px)}sd-field .sd-field__wrapper{width:100%;display:flex;align-items:flex-start;flex-flow:row nowrap;position:relative;color:var(--sd-system-color-field-text-default);-webkit-user-select:none;user-select:none}sd-field .sd-field__wrapper .sd-field__main{flex:1;min-width:0;display:flex;flex-direction:column}sd-field .sd-field__wrapper .sd-field__control{position:relative;height:var(--sd-field-wrapper-height);display:flex;min-width:0;border:1px solid var(--sd-system-color-field-border-default);border-radius:var(--sd-field-control-radius);background:var(--sd-system-color-field-bg-default)}sd-field .sd-field--error .sd-field__wrapper .sd-field__control:not(:hover){border:1px solid var(--sd-system-color-field-border-danger) !important}sd-field .sd-field.sd-field--pass .sd-field__wrapper .sd-field__control{border:1px solid var(--sd-system-color-field-border-success) !important}sd-field .sd-field:not(.sd-field--disabled):not(.sd-field--readonly) .sd-field__wrapper .sd-field__control:hover{border:1px solid var(--sd-system-color-field-border-focus) !important;box-shadow:0px 0px 4px 0px rgba(0, 113, 255, 0.4)}sd-field .sd-field.sd-field--focus:not(.sd-field--readonly) .sd-field__wrapper .sd-field__control{border:1px solid var(--sd-system-color-field-border-focus) !important;box-shadow:0px 0px 4px 0px rgba(0, 113, 255, 0.4)}sd-field .sd-field .sd-field__error-message{color:var(--sd-field-error-message-color);font-size:var(--sd-field-error-message-font-size);line-height:var(--sd-field-error-message-line-height);margin-top:var(--sd-field-message-gap)}sd-field .sd-field .sd-field__hint{color:var(--sd-field-hint-color);font-size:var(--sd-field-hint-font-size);line-height:var(--sd-field-hint-line-height);margin-top:var(--sd-field-message-gap)}";const g=class{constructor(e){t(this,e),this.close=s(this,"sdClose",7)}get el(){return e(this)}to="body";parentRef=null;offset=[0,0];zIndex=996;placement="bottom";open=!1;close;container;wrapper;rafId;isInsideClick=!1;resizeObserver;mutationObserver;scrollHandler=()=>this.updatePosition();static ARROW_SIZE=11.2;componentDidLoad(){this.container=this.resolveContainer(),this.createWrapper(),this.moveSlotContent(),requestAnimationFrame((()=>{this.updatePosition(),this.wrapper&&(this.wrapper.style.visibility="visible")})),this.observeParent(),window.addEventListener("scroll",this.scrollHandler,!0)}componentDidRender(){this.wrapper&&(this.open?(this.wrapper.style.display="block",requestAnimationFrame((()=>{this.updatePosition(),this.wrapper&&(this.wrapper.style.visibility="visible")}))):(this.wrapper.style.display="none",this.wrapper.style.visibility="hidden"))}disconnectedCallback(){void 0!==this.rafId&&cancelAnimationFrame(this.rafId),window.removeEventListener("scroll",this.scrollHandler,!0),this.unobserveParent(),this.wrapper?.remove()}resolveContainer(){const t="string"==typeof this.to?document.querySelector(this.to):this.to;return t instanceof HTMLElement?t:document.body}resolveZIndex(){const t=this.zIndex??996,e=this.parentRef?.closest(".sd-modal-container__layer");if(!e)return t;const i=e.closest(".sd-modal-container"),s=i instanceof HTMLElement?parseInt(getComputedStyle(i).zIndex,10):NaN,o=Number.isFinite(s)?s:997;return Math.max(t,o+1)}createWrapper(){this.wrapper=document.createElement("div"),Object.assign(this.wrapper.style,{position:"fixed",zIndex:this.resolveZIndex().toString(),transition:"opacity 0.4s",top:"-9999px",left:"-9999px"}),this.container.appendChild(this.wrapper)}moveSlotContent(){this.wrapper&&Array.from(this.el.childNodes).filter((t=>t.nodeType!==Node.COMMENT_NODE)).forEach((t=>this.wrapper.appendChild(t)))}updatePosition(){void 0!==this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame((()=>{if(!this.parentRef||!this.wrapper)return;const t=this.parentRef.getBoundingClientRect();if(0===t.width&&0===t.height)return;const[e,i]=this.offset??[0,0],s=g.ARROW_SIZE;let o=0,d=0;switch(this.placement??"bottom"){case"top":o=t.top-this.wrapper.offsetHeight+i-s,d=t.left+t.width/2-this.wrapper.offsetWidth/2+e;break;case"bottom":o=t.bottom+i+s,d=t.left+t.width/2-this.wrapper.offsetWidth/2+e;break;case"left":o=t.top+t.height/2-this.wrapper.offsetHeight/2+i,d=t.left-this.wrapper.offsetWidth-e-s;break;case"right":o=t.top+t.height/2-this.wrapper.offsetHeight/2+i,d=t.right+e+s}Object.assign(this.wrapper.style,{top:`${o}px`,left:`${d}px`})}))}observeParent(){this.parentRef&&(this.resizeObserver=new ResizeObserver((()=>this.updatePosition())),this.resizeObserver.observe(this.parentRef),this.mutationObserver=new MutationObserver((()=>this.updatePosition())),this.mutationObserver.observe(document.body,{childList:!0,subtree:!0}))}unobserveParent(){this.resizeObserver?.disconnect(),this.mutationObserver?.disconnect()}handleMouseDown(t){this.isInsideClick=!!(this.wrapper&&this.wrapper.contains(t.target)||this.parentRef&&this.parentRef.contains(t.target))}handleWindowClick(t){this.isInsideClick?this.isInsideClick=!1:this.wrapper?.contains(t.target)||this.close.emit()}handleKeydown(t){"Escape"===t.key&&this.close.emit()}render(){return i("slot",{key:"a560d8d46ef03688ce16a984c54ae23f740e7ef8"})}};g.style=".sd-floating-menu{width:fit-content;padding:12px 16px;border-radius:6px;font-size:12px;font-weight:500;line-height:20px;position:relative;box-sizing:border-box;background:var(--sd-floating-bg, #07284A);color:var(--sd-floating-content, #FFFFFF);animation:sd-floating-fade-in 0.35s ease-out}.sd-floating-menu--top{animation-name:sd-floating-slide-top}.sd-floating-menu--bottom{animation-name:sd-floating-slide-bottom}.sd-floating-menu--left{animation-name:sd-floating-slide-left}.sd-floating-menu--right{animation-name:sd-floating-slide-right}.sd-floating-menu .sd-floating-menu__arrow{color:var(--sd-floating-bg, #07284A)}.sd-floating-menu--default{background:var(--sd-floating-bg, #07284A);color:var(--sd-floating-content, #FFFFFF);font-weight:500}.sd-floating-menu--default .sd-floating-menu__arrow{color:var(--sd-floating-bg, #07284A)}.sd-floating-menu--danger{background:var(--sd-floating-bg, #FCE6E6);color:var(--sd-floating-content, #FB4444);font-weight:700}.sd-floating-menu--danger .sd-floating-menu__arrow{color:var(--sd-floating-bg, #FCE6E6)}.sd-floating-menu--warning{background:var(--sd-floating-bg, #FEF1EA);color:var(--sd-floating-content, #FF6B00);font-weight:700}.sd-floating-menu--warning .sd-floating-menu__arrow{color:var(--sd-floating-bg, #FEF1EA)}.sd-floating-menu--accent{background:var(--sd-floating-bg, #E6F1FF);color:var(--sd-floating-content, #0075FF);font-weight:700}.sd-floating-menu--accent .sd-floating-menu__arrow{color:var(--sd-floating-bg, #E6F1FF)}.sd-floating-menu__arrow{position:absolute;display:flex;width:16px;height:12px}.sd-floating-menu__arrow svg{width:100%;height:100%}.sd-floating-menu__arrow--top{bottom:-12px;left:50%;transform:translateX(-50%)}.sd-floating-menu__arrow--bottom{top:-12px;left:50%;transform:translateX(-50%) rotate(180deg)}.sd-floating-menu__arrow--left{right:-12px;top:50%;transform:translateY(-50%) rotate(-90deg)}.sd-floating-menu__arrow--right{left:-12px;top:50%;transform:translateY(-50%) rotate(90deg)}.sd-floating-menu__content{font-size:12px;line-height:20px}.sd-floating-menu__content .sd-floating-menu__title{font-size:14px;font-weight:700;line-height:24px;margin-bottom:4px}.sd-floating-menu__content .sd-floating-menu__messages{font-weight:500}.sd-floating-menu__content .sd-floating-menu__buttons{margin-top:12px;display:flex;gap:8px;align-items:center;justify-content:flex-end}.sd-floating-menu__content .sd-floating-menu__buttons--with-link{justify-content:space-between}.sd-floating-menu--popover{padding:16px 20px}.sd-floating-menu--popover .sd-floating-menu__content{gap:4px}.sd-floating-menu--popover .sd-floating-menu__title{font-size:14px;font-weight:700;line-height:24px}.sd-floating-menu--popover .sd-floating-menu__messages{font-size:12px;font-weight:500;line-height:20px}.sd-floating-menu--closing{animation:sd-floating-fade-out 0.15s ease-in forwards}.sd-floating-menu--closing.sd-floating-menu--top{animation-name:sd-floating-slide-out-top}.sd-floating-menu--closing.sd-floating-menu--bottom{animation-name:sd-floating-slide-out-bottom}.sd-floating-menu--closing.sd-floating-menu--left{animation-name:sd-floating-slide-out-left}.sd-floating-menu--closing.sd-floating-menu--right{animation-name:sd-floating-slide-out-right}.sd-floating-menu--has-close .sd-floating-menu__content{padding-right:28px}.sd-floating-menu__close-button{position:absolute;top:12px;right:12px}@keyframes sd-floating-fade-out{from{opacity:1}to{opacity:0}}@keyframes sd-floating-slide-out-top{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}@keyframes sd-floating-slide-out-bottom{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes sd-floating-slide-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(4px)}}@keyframes sd-floating-slide-out-right{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-4px)}}@keyframes sd-floating-fade-in{from{opacity:0}to{opacity:1}}@keyframes sd-floating-slide-top{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes sd-floating-slide-bottom{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes sd-floating-slide-left{from{opacity:0;transform:translateX(4px)}to{opacity:1;transform:translateX(0)}}@keyframes sd-floating-slide-right{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}";var p={bg:"#07284A",content:"#FFFFFF"},m={bg:"#FCEFEF",content:"#FB4444"},u={bg:"#FEF1EA",content:"#FF6B00"},b={bg:"#E6F1FF",content:"#0075FF"};const _={default:{bg:p.bg,content:p.content},danger:{bg:m.bg,content:m.content},warning:{bg:u.bg,content:u.content},accent:{bg:b.bg,content:b.content}},v=class{constructor(e){t(this,e)}get el(){return e(this)}trigger="hover";placement="top";color="#01BB4B";tooltipType="default";icon="helpOutline";iconSize=12;label="";name="primary_sm";rightIcon;ariaLabel="";disabled=!1;type="button";useClose=!1;sdClass="";message=[];triggerClass="";triggerStyle="";showTooltip=!1;slotContentHTML="";buttonEl;triggerEl;isAnchorMode=!1;menuEl;hideTimeout;closeTimeout;static CLOSE_ANIM_MS=150;openTooltip=()=>{this.cancelHideTimer(),this.showTooltip=!0,this.menuEl&&this.menuEl.classList.remove("sd-floating-menu--closing")};closeTooltip=()=>{this.menuEl&&this.menuEl.classList.add("sd-floating-menu--closing"),this.closeTimeout=setTimeout((()=>{this.showTooltip=!1}),v.CLOSE_ANIM_MS)};startHideTimer=()=>{this.hideTimeout=setTimeout((()=>this.closeTooltip()),100)};cancelHideTimer=()=>{this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=void 0),this.closeTimeout&&(clearTimeout(this.closeTimeout),this.closeTimeout=void 0)};get tooltipOffset(){switch(this.placement??"top"){case"top":return[0,-4];case"bottom":return[0,4];case"left":case"right":return[4,0]}}handleClose=()=>!this.useClose&&this.closeTooltip();async show(){this.openTooltip()}async hide(){this.closeTooltip()}componentWillLoad(){this.isAnchorMode=Array.from(this.el.children).some((t=>"anchor"===t.getAttribute("slot"))),this.isAnchorMode||(this.slotContentHTML=this.el.innerHTML,this.el.replaceChildren()),this.el.classList.toggle("visible",!0)}componentDidRender(){this.triggerEl&&""!==this.triggerStyle&&this.triggerEl.setAttribute("style",this.triggerStyle)}render(){const t=this.trigger??"hover",e=this.placement??"top",s=this.tooltipType??"default",d=this.icon??"helpOutline",l=this.color??"#01BB4B",n=_[s]??_.default,r=()=>this.showTooltip=!this.showTooltip,f=void 0!==this.label&&""!==this.label,h=this.isAnchorMode,c="hover"===t?{onMouseEnter:()=>this.openTooltip(),onMouseLeave:()=>!this.useClose&&this.startHideTimer()}:h||!f?{onClick:r}:{},g="click"===t&&!h&&f?{onSdClick:r}:{},p=["sd-tooltip-trigger",this.sdClass,this.triggerClass].filter((t=>void 0!==t&&""!==t)).join(" "),m=this.message&&this.message.length>0?this.message.map((t=>`<div>${t}</div>`)).join(""):this.slotContentHTML;return i(o,{key:"81d582c4c8847a0f57abf632d975461cdf07b535"},i("div",{key:"c7515fb866fa85749405bb10512e27575850eb27",ref:t=>this.triggerEl=t,class:p,...c},h?i("slot",{name:"anchor"}):f?i("sd-button",{ref:t=>this.buttonEl=t,name:this.name??"primary_sm",label:this.label,icon:d,rightIcon:this.rightIcon,ariaLabel:this.ariaLabel,disabled:this.disabled,type:this.type??"button",class:"sd-tooltip",...g}):i("sd-icon",{ref:t=>this.buttonEl=t,name:d,size:this.iconSize??12,color:l,class:"sd-tooltip"})),this.showTooltip&&i("sd-floating-portal",{key:"903aaa3723a119687e5af8120d54fb1b9e43c584",parentRef:h?this.triggerEl:this.buttonEl,onSdClose:this.handleClose,placement:e,offset:this.tooltipOffset},i("div",{key:"813e1dbf7f2d8e0378f4fcac1225341aafbd9948",ref:t=>this.menuEl=t,class:{"sd-floating-menu":!0,[`sd-floating-menu--${s}`]:!0,[`sd-floating-menu--${e}`]:!0,"sd-floating-menu--has-close":this.useClose},style:{"--sd-floating-bg":n.bg,"--sd-floating-content":n.content},onMouseEnter:()=>this.openTooltip(),onMouseLeave:()=>!this.useClose&&this.startHideTimer()},i("i",{key:"d74071d3d236382bc952ad03a05ebd77219b4ddb",class:`sd-floating-menu__arrow sd-floating-menu__arrow--${e}`},i(a,{key:"91c35bd2bc22294b7e7998965930219a43799310"})),i("div",{key:"16edd2fc6e9ad02b646c05c6404d3eb79e2a7a71",class:"sd-floating-menu__content",innerHTML:m}),this.useClose&&i("sd-ghost-button",{key:"d234906f7a4a603a8e18cef6da49f9d893adb731",class:"sd-floating-menu__close-button",icon:"close",ariaLabel:"close",size:"xxs",onClick:()=>this.closeTooltip()}))))}};v.style="sd-tooltip{visibility:hidden !important;display:inline-flex}sd-tooltip.visible{visibility:visible !important}sd-tooltip .sd-tooltip-trigger{display:inline-flex;position:relative;cursor:pointer;align-items:center;justify-content:center}";export{c as sd_field,g as sd_floating_portal,v as sd_tooltip}
|
|
1
|
+
import{r as t,a as e,h as i,c as s,F as o}from"./p-BZ5lcC25.js";import{f as d}from"./p-BOJJ_sQS.js";import{T as l}from"./p-GXE2lEVj.js";const n={start:"flex-start",center:"center",end:"flex-end"},a=d.field.label.sm,r=d.field.label.md,f={sm:{height:a.height,gap:a.gap,icon:a.icon,fontSize:a.typography.fontSize,lineHeight:a.typography.lineHeight,fontWeight:a.typography.fontWeight},md:{height:r.height,gap:r.gap,icon:r.icon,fontSize:r.typography.fontSize,lineHeight:r.typography.lineHeight,fontWeight:r.typography.fontWeight}},h=["sd-input","sd-barcode-input","sd-textarea","sd-number-input","sd-select","sd-file-picker","sd-date-picker","sd-date-range-picker","sd-chip-input"],c=class{constructor(e){t(this,e)}get el(){return e(this)}name="";rules=[];error=!1;disabled=!1;readonly=!1;hovered=!1;focused=!1;status;hint="";errorMessage="";width="";size="sm";label="";labelWidth="";addonLabel="";addonAlign="start";icon=void 0;labelTooltip="";labelTooltipProps=null;errorMsg="";hostElement=null;get value(){return this.hostElement?.value??null}get fieldStatus(){let t="";return this.disabled?(t="disabled",`sd-field--${t}`):this.readonly?(t="readonly",`sd-field--${t}`):this.focused?(t="focus",`sd-field--${t}`):(this.hovered&&(t="hover"),void 0!==this.status&&(t=this.status),this.error&&(t="error"),""!==t?`sd-field--${t}`:"")}componentDidLoad(){this.hostElement=this.findHostElement(),this.registerToForm()}disconnectedCallback(){this.unregisterFromForm()}findHostElement(){for(const t of h){const e=this.el.closest(t);if(e&&"value"in e)return e}return null}registerToForm(){const t=this.el.closest("sd-form");t&&"function"==typeof t.componentOnReady&&t.componentOnReady().then((t=>{t.sdRegisterField(this)}))}unregisterFromForm(){if(""===this.name)return;const t=this.el.closest("sd-form");t?.componentOnReady().then((t=>{t.sdUnregisterField(this)}))}async sdValidate(){if(!this.rules||0===this.rules.length)return!0;for(const t of this.rules){const e=t(this.value??"");if(!0!==e)return this.setError(!0,e),!1}return this.setError(!1,""),!0}async sdReset(){this.hostElement&&(this.hostElement.value=null),this.setError(!1,"")}async sdResetValidation(){this.setError(!1,"")}async sdFocus(){this.hostElement?.focus?.(),this.hostElement?.scrollIntoView({behavior:"smooth",block:"center"})}setError(t,e){this.errorMsg=e,this.hostElement&&(this.hostElement.error=t)}render(){const t=this.addonLabel,e=d.field.addonLabel,s=this.size in f?this.size:"sm",o=f[s],l={"--sd-field-wrapper-height":`var(--sd-system-size-field-${s}-height)`,"--sd-field-control-radius":`var(--sd-system-radius-field-${s})`,"--sd-field-label-margin-right":`var(--sd-system-space-field-${s}-gap)`},a={"--sd-field-error-message-color":d.field.errorMessage.color,"--sd-field-error-message-font-size":`${d.field.errorMessage.typography.fontSize}px`,"--sd-field-error-message-line-height":`${d.field.errorMessage.typography.lineHeight}px`,"--sd-field-hint-color":d.field.hint.color,"--sd-field-hint-font-size":`${d.field.hint.typography.fontSize}px`,"--sd-field-hint-line-height":`${d.field.hint.typography.lineHeight}px`,"--sd-field-message-gap":`${d.field.contents.gap}px`},r=""!==this.label?{"--sd-field-label-height":`${o.height}px`,"--sd-field-label-gap":`${o.gap}px`,"--sd-field-label-font-size":`${o.fontSize}px`,"--sd-field-label-line-height":`${o.lineHeight}px`,"--sd-field-label-font-weight":o.fontWeight,...""!==this.labelWidth&&0!==this.labelWidth?{"--sd-field-label-width":"number"==typeof this.labelWidth?`${this.labelWidth}px`:this.labelWidth}:{}}:{},h=""!==t?{"--sd-field-addon-padding-x":`${e.paddingX}px`,"--sd-field-addon-font-size":`${e.typography.fontSize}px`,"--sd-field-addon-line-height":`${e.typography.lineHeight}px`,"--sd-field-addon-font-weight":e.typography.fontWeight,"--sd-field-addon-bg":e.bg,"--sd-field-addon-border-color":this.disabled?e.border.disabled:e.border.default,"--sd-field-addon-gap":`${e.gap}px`,"--sd-field-addon-border-width":`${e.border.width}px`,"--sd-field-addon-justify":n[this.addonAlign]??n.start,...""!==this.labelWidth&&0!==this.labelWidth?{"--sd-field-addon-width":"number"==typeof this.labelWidth?`${this.labelWidth}px`:this.labelWidth}:{}}:{};return i("div",{key:"3f7d253e821031efe998686ba750b5d79f093dfb",class:{"sd-field":!0,"sd-field--has-label":""!==this.label,"sd-field--has-addon":""!==t,[this.fieldStatus]:""!==this.fieldStatus},style:{...l,...r,...h,...a}},i("div",{key:"2dcfb4712b65514ee05f4d3f769d3395916a0bbe",class:"sd-field__wrapper"},this.renderLabel(this.label),i("div",{key:"2e6279e9a977a1afe7417f87a7947e60f6a057c0",class:"sd-field__main"},i("div",{key:"abf3959ccabdd36b8e57f925bc7ef288dde0dbf0",class:{"sd-field__control":!0,"sd-field__control--has-addon":""!==t},style:""!==this.width&&0!==this.width?{width:"number"==typeof this.width?`${this.width}px`:this.width}:{}},t&&i("div",{key:"1f338c8324a0a8a49fed5a7f8a6a3496b99d1eca",class:"sd-field__addon"},this.icon&&i("sd-icon",{key:"7c1d23f99ea181642fba65678b5fdb26ba4721b4",name:this.icon.name,size:this.icon.size??Number(f[this.size in f?this.size:"sm"].icon),color:this.icon.color,rotate:this.icon.rotate}),t),i("slot",{key:"dab3ba9002d7c9ff9726b1a242b11473eccc99dc"})),""!==this.errorMsg||""!==this.errorMessage?i("div",{class:"sd-field__error-message"},""!==this.errorMsg?this.errorMsg:this.errorMessage):""!==this.hint&&i("div",{class:"sd-field__hint"},this.hint))))}renderLabel(t){return null==t||""===t?null:i("label",{class:"sd-field__label"},this.icon&&i("sd-icon",{name:this.icon.name,size:this.icon.size??Number(f[this.size in f?this.size:"sm"].icon),color:this.icon.color,rotate:this.icon.rotate,class:"sd-field__label__icon"}),i("div",{class:"sd-field__label__text"},t),this.labelTooltip&&i("sd-tooltip",{class:"sd-field__label__tooltip",...this.labelTooltipProps},this.labelTooltip))}};c.style="sd-field{display:inline-flex;flex-flow:column nowrap;height:fit-content;width:100%}sd-field .sd-field *:focus,sd-field .sd-field *:focus-visible,sd-field .sd-field *:focus-within{outline:none !important}sd-field .sd-field.sd-field--disabled{cursor:not-allowed}sd-field .sd-field.sd-field--disabled .sd-field__wrapper{cursor:not-allowed !important}sd-field .sd-field.sd-field--disabled .sd-field__wrapper .sd-field__label-inside{border-color:#CCCCCC;color:#888888;cursor:not-allowed !important}sd-field .sd-field.sd-field--disabled .sd-field__wrapper .sd-field__control{background-color:#E1E1E1;border-color:#CCCCCC;color:#888888;cursor:not-allowed !important}sd-field .sd-field.sd-field--readonly .sd-field__wrapper .sd-field__control{background-color:var(--sd-system-color-field-bg-read-only);color:var(--sd-system-color-field-text-read-only)}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label{display:flex;align-items:center;flex-shrink:0;width:var(--sd-field-label-width, auto);height:var(--sd-field-label-height);margin-right:var(--sd-field-label-margin-right)}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label__icon{margin-right:var(--sd-field-label-gap);flex-shrink:0}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label__text{font-size:var(--sd-field-label-font-size);line-height:var(--sd-field-label-line-height);font-weight:var(--sd-field-label-font-weight);color:var(--sd-system-color-field-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}sd-field .sd-field--has-label .sd-field__wrapper .sd-field__label__tooltip{margin-left:var(--sd-field-label-gap);flex-shrink:0}sd-field .sd-field--has-addon .sd-field__control .sd-field__addon{display:flex;gap:var(--sd-field-addon-gap);align-items:center;justify-content:var(--sd-field-addon-justify, flex-start);white-space:nowrap;box-sizing:border-box;flex-shrink:0;width:var(--sd-field-addon-width, auto);padding:0 var(--sd-field-addon-padding-x);font-size:var(--sd-field-addon-font-size);line-height:var(--sd-field-addon-line-height);font-weight:var(--sd-field-addon-font-weight);background:var(--sd-field-addon-bg);border-right:var(--sd-field-addon-border-width) solid var(--sd-field-addon-border-color);border-radius:calc(var(--sd-field-control-radius) - 1px) 0 0 calc(var(--sd-field-control-radius) - 1px)}sd-field .sd-field__wrapper{width:100%;display:flex;align-items:flex-start;flex-flow:row nowrap;position:relative;color:var(--sd-system-color-field-text-default);-webkit-user-select:none;user-select:none}sd-field .sd-field__wrapper .sd-field__main{flex:1;min-width:0;display:flex;flex-direction:column}sd-field .sd-field__wrapper .sd-field__control{position:relative;height:var(--sd-field-wrapper-height);display:flex;min-width:0;border:1px solid var(--sd-system-color-field-border-default);border-radius:var(--sd-field-control-radius);background:var(--sd-system-color-field-bg-default)}sd-field .sd-field--error .sd-field__wrapper .sd-field__control:not(:hover){border:1px solid var(--sd-system-color-field-border-danger) !important}sd-field .sd-field.sd-field--pass .sd-field__wrapper .sd-field__control{border:1px solid var(--sd-system-color-field-border-success) !important}sd-field .sd-field:not(.sd-field--disabled):not(.sd-field--readonly) .sd-field__wrapper .sd-field__control:hover{border:1px solid var(--sd-system-color-field-border-focus) !important;box-shadow:0px 0px 4px 0px rgba(0, 113, 255, 0.4)}sd-field .sd-field.sd-field--focus:not(.sd-field--readonly) .sd-field__wrapper .sd-field__control{border:1px solid var(--sd-system-color-field-border-focus) !important;box-shadow:0px 0px 4px 0px rgba(0, 113, 255, 0.4)}sd-field .sd-field .sd-field__error-message{color:var(--sd-field-error-message-color);font-size:var(--sd-field-error-message-font-size);line-height:var(--sd-field-error-message-line-height);margin-top:var(--sd-field-message-gap)}sd-field .sd-field .sd-field__hint{color:var(--sd-field-hint-color);font-size:var(--sd-field-hint-font-size);line-height:var(--sd-field-hint-line-height);margin-top:var(--sd-field-message-gap)}";const g=class{constructor(e){t(this,e),this.close=s(this,"sdClose",7)}get el(){return e(this)}to="body";parentRef=null;offset=[0,0];zIndex=996;placement="bottom";open=!1;close;container;wrapper;rafId;isInsideClick=!1;resizeObserver;mutationObserver;scrollHandler=()=>this.updatePosition();static ARROW_SIZE=11.2;componentDidLoad(){this.container=this.resolveContainer(),this.createWrapper(),this.moveSlotContent(),requestAnimationFrame((()=>{this.updatePosition(),this.wrapper&&(this.wrapper.style.visibility="visible")})),this.observeParent(),window.addEventListener("scroll",this.scrollHandler,!0)}componentDidRender(){this.wrapper&&(this.open?(this.wrapper.style.display="block",requestAnimationFrame((()=>{this.updatePosition(),this.wrapper&&(this.wrapper.style.visibility="visible")}))):(this.wrapper.style.display="none",this.wrapper.style.visibility="hidden"))}disconnectedCallback(){void 0!==this.rafId&&cancelAnimationFrame(this.rafId),window.removeEventListener("scroll",this.scrollHandler,!0),this.unobserveParent(),this.wrapper?.remove()}resolveContainer(){const t="string"==typeof this.to?document.querySelector(this.to):this.to;return t instanceof HTMLElement?t:document.body}resolveZIndex(){const t=this.zIndex??996,e=this.parentRef?.closest(".sd-modal-container__layer");if(!e)return t;const i=e.closest(".sd-modal-container"),s=i instanceof HTMLElement?parseInt(getComputedStyle(i).zIndex,10):NaN,o=Number.isFinite(s)?s:997;return Math.max(t,o+1)}createWrapper(){this.wrapper=document.createElement("div"),Object.assign(this.wrapper.style,{position:"fixed",zIndex:this.resolveZIndex().toString(),transition:"opacity 0.4s",top:"-9999px",left:"-9999px"}),this.container.appendChild(this.wrapper)}moveSlotContent(){this.wrapper&&Array.from(this.el.childNodes).filter((t=>t.nodeType!==Node.COMMENT_NODE)).forEach((t=>this.wrapper.appendChild(t)))}updatePosition(){void 0!==this.rafId&&cancelAnimationFrame(this.rafId),this.rafId=requestAnimationFrame((()=>{if(!this.parentRef||!this.wrapper)return;const t=this.parentRef.getBoundingClientRect();if(0===t.width&&0===t.height)return;const[e,i]=this.offset??[0,0],s=g.ARROW_SIZE;let o=0,d=0;switch(this.placement??"bottom"){case"top":o=t.top-this.wrapper.offsetHeight+i-s,d=t.left+t.width/2-this.wrapper.offsetWidth/2+e;break;case"bottom":o=t.bottom+i+s,d=t.left+t.width/2-this.wrapper.offsetWidth/2+e;break;case"left":o=t.top+t.height/2-this.wrapper.offsetHeight/2+i,d=t.left-this.wrapper.offsetWidth-e-s;break;case"right":o=t.top+t.height/2-this.wrapper.offsetHeight/2+i,d=t.right+e+s}Object.assign(this.wrapper.style,{top:`${o}px`,left:`${d}px`})}))}observeParent(){this.parentRef&&(this.resizeObserver=new ResizeObserver((()=>this.updatePosition())),this.resizeObserver.observe(this.parentRef),this.mutationObserver=new MutationObserver((()=>this.updatePosition())),this.mutationObserver.observe(document.body,{childList:!0,subtree:!0}))}unobserveParent(){this.resizeObserver?.disconnect(),this.mutationObserver?.disconnect()}handleMouseDown(t){this.isInsideClick=!!(this.wrapper&&this.wrapper.contains(t.target)||this.parentRef&&this.parentRef.contains(t.target))}handleWindowClick(t){this.isInsideClick?this.isInsideClick=!1:this.wrapper?.contains(t.target)||this.close.emit()}handleKeydown(t){"Escape"===t.key&&this.close.emit()}render(){return i("slot",{key:"cadee10f344de11650330995b0de9a342babe1e3"})}};g.style=".sd-floating-menu{width:fit-content;padding:12px 16px;border-radius:6px;font-size:12px;font-weight:500;line-height:20px;position:relative;box-sizing:border-box;background:var(--sd-floating-bg, #07284A);color:var(--sd-floating-content, #FFFFFF);animation:sd-floating-fade-in 0.35s ease-out}.sd-floating-menu--top{animation-name:sd-floating-slide-top}.sd-floating-menu--bottom{animation-name:sd-floating-slide-bottom}.sd-floating-menu--left{animation-name:sd-floating-slide-left}.sd-floating-menu--right{animation-name:sd-floating-slide-right}.sd-floating-menu .sd-floating-menu__arrow{color:var(--sd-floating-bg, #07284A)}.sd-floating-menu--default{background:var(--sd-floating-bg, #07284A);color:var(--sd-floating-content, #FFFFFF);font-weight:500}.sd-floating-menu--default .sd-floating-menu__arrow{color:var(--sd-floating-bg, #07284A)}.sd-floating-menu--danger{background:var(--sd-floating-bg, #FCE6E6);color:var(--sd-floating-content, #FB4444);font-weight:700}.sd-floating-menu--danger .sd-floating-menu__arrow{color:var(--sd-floating-bg, #FCE6E6)}.sd-floating-menu--warning{background:var(--sd-floating-bg, #FEF1EA);color:var(--sd-floating-content, #FF6B00);font-weight:700}.sd-floating-menu--warning .sd-floating-menu__arrow{color:var(--sd-floating-bg, #FEF1EA)}.sd-floating-menu--accent{background:var(--sd-floating-bg, #E6F1FF);color:var(--sd-floating-content, #0075FF);font-weight:700}.sd-floating-menu--accent .sd-floating-menu__arrow{color:var(--sd-floating-bg, #E6F1FF)}.sd-floating-menu__arrow{position:absolute;display:flex;width:16px;height:12px}.sd-floating-menu__arrow svg{width:100%;height:100%}.sd-floating-menu__arrow--top{bottom:-12px;left:50%;transform:translateX(-50%)}.sd-floating-menu__arrow--bottom{top:-12px;left:50%;transform:translateX(-50%) rotate(180deg)}.sd-floating-menu__arrow--left{right:-12px;top:50%;transform:translateY(-50%) rotate(-90deg)}.sd-floating-menu__arrow--right{left:-12px;top:50%;transform:translateY(-50%) rotate(90deg)}.sd-floating-menu__content{font-size:12px;line-height:20px}.sd-floating-menu__content .sd-floating-menu__title{font-size:14px;font-weight:700;line-height:24px;margin-bottom:4px}.sd-floating-menu__content .sd-floating-menu__messages{font-weight:500}.sd-floating-menu__content .sd-floating-menu__buttons{margin-top:12px;display:flex;gap:8px;align-items:center;justify-content:flex-end}.sd-floating-menu__content .sd-floating-menu__buttons--with-link{justify-content:space-between}.sd-floating-menu--popover{padding:16px 20px}.sd-floating-menu--popover .sd-floating-menu__content{gap:4px}.sd-floating-menu--popover .sd-floating-menu__title{font-size:14px;font-weight:700;line-height:24px}.sd-floating-menu--popover .sd-floating-menu__messages{font-size:12px;font-weight:500;line-height:20px}.sd-floating-menu--closing{animation:sd-floating-fade-out 0.15s ease-in forwards}.sd-floating-menu--closing.sd-floating-menu--top{animation-name:sd-floating-slide-out-top}.sd-floating-menu--closing.sd-floating-menu--bottom{animation-name:sd-floating-slide-out-bottom}.sd-floating-menu--closing.sd-floating-menu--left{animation-name:sd-floating-slide-out-left}.sd-floating-menu--closing.sd-floating-menu--right{animation-name:sd-floating-slide-out-right}.sd-floating-menu--has-close .sd-floating-menu__content{padding-right:28px}.sd-floating-menu__close-button{position:absolute;top:12px;right:12px}@keyframes sd-floating-fade-out{from{opacity:1}to{opacity:0}}@keyframes sd-floating-slide-out-top{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}@keyframes sd-floating-slide-out-bottom{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes sd-floating-slide-out-left{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(4px)}}@keyframes sd-floating-slide-out-right{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-4px)}}@keyframes sd-floating-fade-in{from{opacity:0}to{opacity:1}}@keyframes sd-floating-slide-top{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes sd-floating-slide-bottom{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes sd-floating-slide-left{from{opacity:0;transform:translateX(4px)}to{opacity:1;transform:translateX(0)}}@keyframes sd-floating-slide-right{from{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}";var p={bg:"#07284A",content:"#FFFFFF"},m={bg:"#FCEFEF",content:"#FB4444"},b={bg:"#FEF1EA",content:"#FF6B00"},u={bg:"#E6F1FF",content:"#0075FF"};const _={default:{bg:p.bg,content:p.content},danger:{bg:m.bg,content:m.content},warning:{bg:b.bg,content:b.content},accent:{bg:u.bg,content:u.content}},v=class{constructor(e){t(this,e)}get el(){return e(this)}trigger="hover";placement="top";color="#01BB4B";tooltipType="default";icon="helpOutline";iconSize=12;label="";name="primary_sm";rightIcon;ariaLabel="";disabled=!1;type="button";useClose=!1;sdClass="";message=[];triggerClass="";triggerStyle="";showTooltip=!1;slotContentHTML="";buttonEl;triggerEl;isAnchorMode=!1;menuEl;hideTimeout;closeTimeout;static CLOSE_ANIM_MS=150;openTooltip=()=>{this.cancelHideTimer(),this.showTooltip=!0,this.menuEl&&this.menuEl.classList.remove("sd-floating-menu--closing")};closeTooltip=()=>{this.menuEl&&this.menuEl.classList.add("sd-floating-menu--closing"),this.closeTimeout=setTimeout((()=>{this.showTooltip=!1}),v.CLOSE_ANIM_MS)};startHideTimer=()=>{this.hideTimeout=setTimeout((()=>this.closeTooltip()),100)};cancelHideTimer=()=>{this.hideTimeout&&(clearTimeout(this.hideTimeout),this.hideTimeout=void 0),this.closeTimeout&&(clearTimeout(this.closeTimeout),this.closeTimeout=void 0)};get tooltipOffset(){switch(this.placement??"top"){case"top":return[0,-4];case"bottom":return[0,4];case"left":case"right":return[4,0]}}handleClose=()=>!this.useClose&&this.closeTooltip();async show(){this.openTooltip()}async hide(){this.closeTooltip()}componentWillLoad(){this.isAnchorMode=Array.from(this.el.children).some((t=>"anchor"===t.getAttribute("slot"))),this.isAnchorMode||(this.slotContentHTML=this.el.innerHTML,this.el.replaceChildren()),this.el.classList.toggle("visible",!0)}componentDidRender(){this.triggerEl&&""!==this.triggerStyle&&this.triggerEl.setAttribute("style",this.triggerStyle)}render(){const t=this.trigger??"hover",e=this.placement??"top",s=this.tooltipType??"default",d=this.icon??"helpOutline",n=this.color??"#01BB4B",a=_[s]??_.default,r=()=>this.showTooltip=!this.showTooltip,f=void 0!==this.label&&""!==this.label,h=this.isAnchorMode,c="hover"===t?{onMouseEnter:()=>this.openTooltip(),onMouseLeave:()=>!this.useClose&&this.startHideTimer()}:h||!f?{onClick:r}:{},g="click"===t&&!h&&f?{onSdClick:r}:{},p=["sd-tooltip-trigger",this.sdClass,this.triggerClass].filter((t=>void 0!==t&&""!==t)).join(" "),m=this.message&&this.message.length>0?this.message.map((t=>`<div>${t}</div>`)).join(""):this.slotContentHTML;return i(o,{key:"f50cb9c1397c479dd994edeb044cb95764976344"},i("div",{key:"0b6f62051b47015a1e0bb7e9f6ee66750b74c4e0",ref:t=>this.triggerEl=t,class:p,...c},h?i("slot",{name:"anchor"}):f?i("sd-button",{ref:t=>this.buttonEl=t,name:this.name??"primary_sm",label:this.label,icon:d,rightIcon:this.rightIcon,ariaLabel:this.ariaLabel,disabled:this.disabled,type:this.type??"button",class:"sd-tooltip",...g}):i("sd-icon",{ref:t=>this.buttonEl=t,name:d,size:this.iconSize??12,color:n,class:"sd-tooltip"})),this.showTooltip&&i("sd-floating-portal",{key:"4e750b20c8ee4649f3474de06e12c7008f8796c3",parentRef:h?this.triggerEl:this.buttonEl,onSdClose:this.handleClose,placement:e,offset:this.tooltipOffset},i("div",{key:"d9f86aa8e074d516350ffc621d28b3d70ed08713",ref:t=>this.menuEl=t,class:{"sd-floating-menu":!0,[`sd-floating-menu--${s}`]:!0,[`sd-floating-menu--${e}`]:!0,"sd-floating-menu--has-close":this.useClose},style:{"--sd-floating-bg":a.bg,"--sd-floating-content":a.content},onMouseEnter:()=>this.openTooltip(),onMouseLeave:()=>!this.useClose&&this.startHideTimer()},i("i",{key:"91080790a99c0aaad815c8deddce5fc6a9ff405d",class:`sd-floating-menu__arrow sd-floating-menu__arrow--${e}`},i(l,{key:"db89405989bfb909e6f86050de407cbc5f821717"})),i("div",{key:"24cc5aa569cbf316aaaf23e5cc7e85144d51ab9b",class:"sd-floating-menu__content",innerHTML:m}),this.useClose&&i("sd-ghost-button",{key:"32b62d9c48d72428783375b68bcf4807154b6bb1",class:"sd-floating-menu__close-button",icon:"close",ariaLabel:"close",size:"xxs",onClick:()=>this.closeTooltip()}))))}};v.style="sd-tooltip{visibility:hidden !important;display:inline-flex}sd-tooltip.visible{visibility:visible !important}sd-tooltip .sd-tooltip-trigger{display:inline-flex;position:relative;cursor:pointer;align-items:center;justify-content:center}";export{c as sd_field,g as sd_floating_portal,v as sd_tooltip}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,c as e,a as s,h as i}from"./p-BZ5lcC25.js";import{n as r}from"./p-CCwNgVmC.js";import{c as h,S as o,f as l,i as n,e as d,E as c,L as a,a as u,b as g,d as p}from"./p-CAFz8W8_.js";import{s as f}from"./p-BE4tnQ2Z.js";import"./p-U8VaRj9c.js";const b=class{constructor(s){t(this,s),this.update=e(this,"sdUpdate",7),this.dropDownShow=e(this,"sdDropDownShow",7)}static VIEWPORT_PADDING=20;static PORTAL_OFFSET_Y=4;static CLOSE_ANIMATION_DURATION=150;get el(){return s(this)}type="default";value=null;options=[];placeholder="선택";dropdownWidth="";maxDropdownWidth="640px";dropdownHeight="260px";disabled=!1;label="";labelWidth="";addonLabel="";addonAlign="start";error=!1;hint="";errorMessage="";rules=[];icon=void 0;labelTooltip="";labelTooltipProps=null;emitValue=!1;width="";useSearch=!1;allSelectedLabel="전체";useSelectAll=!1;isOpen=!1;isAnimatingOut=!1;triggerWidth="200px";resolvedDropdownHeight="260px";resolvedMaxDropdownWidth="640px";focused=!1;hovered=!1;update;dropDownShow;async sdFocus(){this.disabled||await(this.triggerComponentRef?.sdFocus())}async sdOpen(){await new Promise((t=>setTimeout(t,0))),this.disabled||this.isOpen||(this.prepareDropdownGeometry(),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.isAnimatingOut=!1,this.isOpen=!0)}triggerRef;triggerComponentRef;closeAnimationTimer;name=r();triggerHasFocus=!1;watchIsOpen(t){this.syncFocusedState(t),this.dropDownShow.emit({isOpen:t})}get isMulti(){return"multi"===this.type||"multi_depth"===this.type}get displayText(){if(this.isMulti){if(!Array.isArray(this.value)||0===this.value.length)return"";const t=this.getNonDisabledLeaves(this.options),e=this.getSelectedOptions();if(t.length>0&&t.every((t=>e.some((e=>e.value===t.value)))))return this.allSelectedLabel??"전체";const s=this.flattenOptions(this.options);return this.value.map((t=>{if(null!=t&&"object"==typeof t){const e=t;return e.label??s.find((t=>t.value===e.value))?.label??""}return s.find((e=>e.value===t))?.label??""})).filter(Boolean).join(", ")}if(null==this.value)return"";if(!this.emitValue&&"object"==typeof this.value&&!Array.isArray(this.value))return this.value.label??"";const t=this.flattenOptions(this.options);return t.find((t=>t.value===this.value))?.label??""}flattenOptions(t){return t.flatMap((t=>t.children?this.flattenOptions(t.children):[t]))}getNonDisabledLeaves(t){return t.flatMap((t=>t.disabled?[]:t.children?this.getNonDisabledLeaves(t.children):[t]))}getSelectedOptions(){const t=this.value;return null!=t&&Array.isArray(t)?this.emitValue?t.map((t=>this.findOriginalOption(t,this.options))).filter((t=>!!t)):t:[]}toMultiValue(t){return this.emitValue?t.map((t=>t.value)):t}parsePixelValue(t,e){const s=Number.parseFloat(t);return Number.isFinite(s)?s:e}updateDropdownViewportConstraints(){if(!this.triggerRef)return;const t=this.triggerRef.getBoundingClientRect(),e=b.VIEWPORT_PADDING,s=b.PORTAL_OFFSET_Y,i=this.parsePixelValue(this.dropdownHeight,260),r=this.parsePixelValue(this.maxDropdownWidth,640),h=Math.max(window.innerHeight-t.bottom-e-s,0),o=Math.max(t.top-e-s,0),l=Math.max(h,o),n=Math.max(window.innerWidth-2*e,0);this.resolvedDropdownHeight=`${Math.min(i,l)}px`,this.resolvedMaxDropdownWidth=`${Math.min(r,n)}px`}handleViewportResize=()=>{this.isOpen&&this.updateDropdownViewportConstraints()};findOriginalOption(t,e){for(const s of e){if(s.value===t)return s;if(s.children){const e=this.findOriginalOption(t,s.children);if(e)return e}}}closeDropdown(){this.isOpen&&(this.isOpen=!1,this.isAnimatingOut=!0,this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.closeAnimationTimer=setTimeout((()=>{this.isAnimatingOut=!1}),b.CLOSE_ANIMATION_DURATION))}prepareDropdownGeometry(){this.triggerRef&&(this.triggerWidth=`${this.triggerRef.offsetWidth}px`),this.updateDropdownViewportConstraints()}syncFocusedState(t=this.isOpen){this.focused=t||this.triggerHasFocus}handleTriggerFocus=()=>{this.triggerHasFocus=!0,this.syncFocusedState()};handleTriggerBlur=()=>{this.triggerHasFocus=!1,this.syncFocusedState()};handleTriggerClick=()=>{this.isOpen?this.closeDropdown():(this.prepareDropdownGeometry(),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.isAnimatingOut=!1,this.isOpen=!0)};emitUpdate(t){this.update.emit(t)}handleOptionSelect=t=>{const{option:e,leaves:s}=t;if(this.isMulti)this.handleMultiSelect(e,s);else{this.closeDropdown(),this.value=this.emitValue?e.value:e;const t=this.value;requestAnimationFrame((()=>{this.emitUpdate(t)}))}};handleMultiSelect(t,e){const s=this.getSelectedOptions();let i;if(t.children)if(e.every((t=>s.some((e=>e.value===t.value))))){const t=new Set(e.map((t=>t.value)));i=s.filter((e=>!t.has(e.value)))}else{const t=new Set(s.map((t=>t.value))),r=e.filter((e=>!t.has(e.value)));i=[...s,...r]}else i=s.some((e=>e.value===t.value))?s.filter((e=>e.value!==t.value)):[...s,t];this.value=this.toMultiValue(i),this.emitUpdate(this.value)}connectedCallback(){window.addEventListener("resize",this.handleViewportResize)}disconnectedCallback(){window.removeEventListener("resize",this.handleViewportResize),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer)}render(){const t={open:this.isOpen,parentRef:this.triggerRef,viewportPadding:b.VIEWPORT_PADDING,onSdClose:()=>{this.closeDropdown()}};return i("sd-field",{key:"5dceeb2361339527e65657f66966a5b843f7a03b",name:this.name,label:this.label,labelWidth:this.labelWidth,addonLabel:this.addonLabel,addonAlign:this.addonAlign,hint:this.hint,errorMessage:this.errorMessage,width:this.width,rules:this.rules,error:this.error,disabled:this.disabled,focused:this.focused,hovered:this.hovered,icon:this.icon,labelTooltip:this.labelTooltip,labelTooltipProps:this.labelTooltipProps,onMouseEnter:()=>{this.hovered=!0},onMouseLeave:()=>{this.hovered=!1}},i("div",{key:"2fe78a384fef6083a08709fa72d98d2b2e399580",class:"sd-select",ref:t=>{this.triggerRef=t}},i("sd-select-trigger",{key:"be647e0ba29295be5a888d92cb18c273980ec38f",ref:t=>{this.triggerComponentRef=t},displayText:this.displayText,placeholder:this.placeholder??"선택",disabled:this.disabled,isOpen:this.isOpen,onSdTriggerClick:this.handleTriggerClick,onSdTriggerFocus:this.handleTriggerFocus,onSdTriggerBlur:this.handleTriggerBlur})),(this.isOpen||this.isAnimatingOut)&&i("sd-portal",{key:"2d519a9957ff7201519502a2053785cc669642c2",...t},i("sd-select-listbox",{key:"33377475b06c3be1f6ba7e6909a9bfb938144b3a",type:this.type,options:this.options,value:this.value,emitValue:this.emitValue,useSearch:this.useSearch,useSelectAll:this.useSelectAll,triggerWidth:this.dropdownWidth||this.triggerWidth,maxWidth:this.resolvedMaxDropdownWidth,maxHeight:this.resolvedDropdownHeight,onSdOptionSelect:t=>this.handleOptionSelect(t.detail)})))}static get watchers(){return{isOpen:[{watchIsOpen:0}]}}};b.style="sd-select{display:inline-flex}sd-select sd-portal{display:none}sd-select .sd-select{position:relative;width:100%;height:100%}";const x=class{constructor(s){t(this,s),this.optionSelect=e(this,"sdOptionSelect",7)}type="default";options=[];value=null;emitValue=!1;useSearch=!1;useSelectAll=!1;triggerWidth="200px";maxWidth="640px";maxHeight="260px";searchKeyword="";isScrolled=!1;focusedIndex=-1;optionSelect;listEl;lastScrolledIndex=-1;keydownAttached=!1;suppressHover=!1;get isDepth(){return"default_depth"===this.type||"multi_depth"===this.type}get isMulti(){return"multi"===this.type||"multi_depth"===this.type}static SELECT_ALL_OPTION={value:"__select_all__",label:"전체"};get showSelectAll(){return this.useSelectAll&&this.isMulti&&this.getAllNonDisabledLeaves().length>0}getAllNonDisabledLeaves(){const t=e=>e.flatMap((e=>e.disabled?[]:e.children?t(e.children):[e]));return t(this.options)}get selectAllState(){if(!this.showSelectAll)return!1;const t=this.getAllNonDisabledLeaves();if(0===t.length)return!1;const e=this.getSelectedValues(),s=t.filter((t=>e.has(t.value))).length;return 0!==s&&(s===t.length||null)}get showSearch(){return!!this.useSearch&&(this.isDepth?h(this.options):this.options.length)>=o}get filteredOptions(){if(null==this.searchKeyword||""===this.searchKeyword)return this.options;if(this.isDepth)return l(this.options,this.searchKeyword);const t=this.searchKeyword.toLowerCase();return this.options.filter((e=>{const s=n(e.label)?d(e.label):e.label;return null!=s&&s.toLowerCase().includes(t)}))}get isEmpty(){return this.isDepth?0===h(this.filteredOptions)&&0===this.filteredOptions.length:0===this.filteredOptions.length}getSelectedValues(){return null!=this.value&&Array.isArray(this.value)?this.emitValue?new Set(this.value):new Set(this.value.map((t=>t.value))):new Set}isOptionSelected(t){return this.isMulti?this.getSelectedValues().has(t.value):this.emitValue||null==this.value||"object"!=typeof this.value||Array.isArray(this.value)?this.value===t.value:this.value.value===t.value}getGroupSelectionState(t){if(!this.isMulti||!t.children)return!1;const e=this.getSelectedValues();if(0===e.size)return!1;const s=this.collectVisibleLeaves(t);if(0===s.length)return!1;const i=s.filter((t=>e.has(t.value))).length;return 0!==i&&(i===s.length||null)}getCountInfo(t){if(!this.isMulti||!t.children)return;const e=this.getSelectedValues(),s=this.collectVisibleLeaves(t);return{selected:s.filter((t=>e.has(t.value))).length,total:s.length}}findOriginalOption(t,e){for(const s of e){if(s.value===t)return s;if(s.children){const e=this.findOriginalOption(t,s.children);if(e)return e}}}collectLeaves(t){return t.children?t.children.flatMap((t=>this.collectLeaves(t))):[t]}collectVisibleLeaves(t){if(t.disabled)return[];if(!t.children)return[t];if(0===t.children.length){const e=this.findOriginalOption(t.value,this.options);return e?this.collectLeaves(e).filter((t=>!t.disabled)):[]}return t.children.flatMap((t=>this.collectVisibleLeaves(t)))}get navigableOptions(){const t=[];this.showSelectAll&&t.push(x.SELECT_ALL_OPTION);const e=s=>{for(const i of s){const s=!!i.children;(!s||this.isMulti)&&!i.disabled&&t.push(i),s&&i.children&&i.children.length>0&&e(i.children)}};return e(this.filteredOptions),t}isSelectAllOption(t){return this.showSelectAll&&t.value===x.SELECT_ALL_OPTION.value}emitSelectAll(){if(!this.showSelectAll)return;const t=this.getAllNonDisabledLeaves();this.optionSelect.emit({option:{...x.SELECT_ALL_OPTION,children:t},leaves:t})}handleSelectAllClick=t=>{t.stopPropagation(),this.emitSelectAll()};isOptionFocused(t){if(this.focusedIndex<0)return!1;const e=this.navigableOptions[this.focusedIndex];return null!=e&&e.value===t.value}resetFocusOnFilter(){this.focusedIndex=this.navigableOptions.length>0?0:-1,this.suppressHover&&(document.removeEventListener("mousemove",this.releaseHoverSuppress,!0),this.suppressHover=!1)}handleSearchFilter=t=>{this.searchKeyword=t.detail};handleScroll=t=>{this.isScrolled=t.target.scrollTop>0};emitOptionSelect(t){this.optionSelect.emit({option:t,leaves:this.collectVisibleLeaves(t)})}handleOptionClick=t=>{t.stopPropagation(),this.emitOptionSelect(t.detail)};handleOptionHover=t=>{if(this.suppressHover)return;const e=this.navigableOptions.findIndex((e=>e.value===t.value));e>=0&&(this.focusedIndex=e)};releaseHoverSuppress=()=>{this.suppressHover=!1,document.removeEventListener("mousemove",this.releaseHoverSuppress,!0)};handleKeyDown=t=>{const e=this.navigableOptions;if("ArrowDown"===t.key){if(0===e.length)return;t.preventDefault(),t.stopPropagation(),this.focusedIndex=this.focusedIndex<0?0:(this.focusedIndex+1)%e.length,this.beginHoverSuppression()}else if("ArrowUp"===t.key){if(0===e.length)return;t.preventDefault(),t.stopPropagation(),this.focusedIndex=this.focusedIndex<=0?e.length-1:this.focusedIndex-1,this.beginHoverSuppression()}else if("Enter"===t.key){if(this.focusedIndex<0||this.focusedIndex>=e.length)return;t.preventDefault(),t.stopPropagation();const s=e[this.focusedIndex];this.isSelectAllOption(s)?this.emitSelectAll():this.emitOptionSelect(s)}};beginHoverSuppression(){this.suppressHover||(this.suppressHover=!0,document.addEventListener("mousemove",this.releaseHoverSuppress,!0))}scrollFocusedIntoView(){const t=this.listEl,e=t?.querySelector(".sd-select-list-item--focused");if(!t||!e)return;const s=t.getBoundingClientRect(),i=e.getBoundingClientRect();i.top<s.top?t.scrollTop+=i.top-s.top:i.bottom>s.bottom&&(t.scrollTop+=i.bottom-s.bottom)}connectedCallback(){this.keydownAttached||(document.addEventListener("keydown",this.handleKeyDown,!0),this.keydownAttached=!0)}disconnectedCallback(){this.keydownAttached&&(document.removeEventListener("keydown",this.handleKeyDown,!0),this.keydownAttached=!1),this.suppressHover&&(document.removeEventListener("mousemove",this.releaseHoverSuppress,!0),this.suppressHover=!1)}componentDidRender(){this.focusedIndex!==this.lastScrolledIndex&&(this.lastScrolledIndex=this.focusedIndex,this.focusedIndex>=0&&this.scrollFocusedIntoView())}renderOptions(t,e=1){return t.map((t=>{const s=!!t.children;return[i("sd-select-list-item",{option:t,depth:e,isSelected:s?this.getGroupSelectionState(t):this.isOptionSelected(t),isFocused:this.isOptionFocused(t),useCheckbox:this.isMulti,countInfo:this.getCountInfo(t),onSdListItemClick:this.handleOptionClick,onMouseEnter:()=>this.handleOptionHover(t)}),s&&t.children?this.renderOptions(t.children,e+1):null]}))}render(){return i("div",{key:"df4d19f8807ce87384cad18ca981e0792da35682",class:"sd-select-listbox",style:{"--listbox-trigger-width":this.triggerWidth??"200px","--listbox-max-width":this.maxWidth??"640px","--listbox-max-height":this.maxHeight??"260px","--listbox-radius":`${a.radius}px`}},this.showSearch&&i("sd-select-list-item-search",{key:"b950890a9138fa5ab7f0df7c1d07bbea65140e67",isScrolled:this.isScrolled,onSdSearchFilter:this.handleSearchFilter}),i("div",{key:"1aeaf552893becedf8394c1e9af8ef7119e70fdb",class:"sd-select-listbox__list",onScroll:this.handleScroll,ref:t=>{this.listEl=t}},this.showSelectAll&&i("sd-select-list-item",{key:"83329f2d454d116d64155ef8a83c076e27cdc7b0",option:x.SELECT_ALL_OPTION,depth:1,isSelected:this.selectAllState,isFocused:this.isOptionFocused(x.SELECT_ALL_OPTION),useCheckbox:!0,onSdListItemClick:this.handleSelectAllClick,onMouseEnter:()=>this.handleOptionHover(x.SELECT_ALL_OPTION)}),this.isEmpty?i("div",{class:"sd-select-listbox__empty"},c):this.isDepth?this.renderOptions(this.filteredOptions):this.filteredOptions.map((t=>i("sd-select-list-item",{option:t,depth:1,isSelected:this.isOptionSelected(t),isFocused:this.isOptionFocused(t),useCheckbox:this.isMulti,onSdListItemClick:this.handleOptionClick,onMouseEnter:()=>this.handleOptionHover(t)})))))}static get watchers(){return{searchKeyword:[{resetFocusOnFilter:0}]}}};x.style=":host{display:block}:host .sd-select-listbox{display:flex;flex-direction:column;width:var(--listbox-trigger-width);max-width:var(--listbox-max-width);max-height:var(--listbox-max-height);border-radius:var(--listbox-radius);background:white;box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);overflow:hidden;outline:none}:host .sd-select-listbox__list{flex:1;min-height:0;overflow-y:auto;padding-bottom:0}:host .sd-select-listbox__empty{padding:12px;text-align:center;font-size:12px;line-height:20px;color:#888888}";const m=class{constructor(s){t(this,s),this.triggerClick=e(this,"sdTriggerClick",7),this.triggerFocus=e(this,"sdTriggerFocus",7),this.triggerBlur=e(this,"sdTriggerBlur",7)}displayText="";placeholder="선택";disabled=!1;isOpen=!1;triggerClick;triggerFocus;triggerBlur;triggerEl;async sdFocus(){this.disabled||this.triggerEl?.focus()}handleClick=()=>{this.disabled||this.triggerClick.emit()};handleFocus=()=>{this.triggerFocus.emit()};handleBlur=()=>{this.triggerBlur.emit()};render(){const t=""!==this.displayText;return i("div",{key:"bd967efa32ed0692512e549db9f852c7c08d5dcd",ref:t=>{this.triggerEl=t},role:"button","aria-haspopup":"listbox","aria-expanded":this.isOpen?"true":"false",tabindex:this.disabled?-1:0,class:{"sd-select-trigger":!0,"sd-select-trigger--open":this.isOpen,"sd-select-trigger--disabled":this.disabled},style:{"--trigger-padding-x":`${p.paddingX}px`,"--trigger-gap":`${p.gap}px`,"--trigger-font-size":`${g.fontSize}px`,"--trigger-line-height":`${g.lineHeight}px`,"--trigger-font-weight":g.fontWeight,"--trigger-color":this.disabled?u.text.disabled:t?u.text.default:u.icon.default,"--trigger-icon-color":this.disabled?u.icon.disabled:u.icon.default},onClick:this.handleClick,onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.handleClick())},onFocus:this.handleFocus,onBlur:this.handleBlur},i("div",{key:"04a8568ac5d109f0635d3474a394030d630f441e",class:"sd-select-trigger__content"},t&&n(this.displayText)?i("span",{class:"sd-select-trigger__text",ref:t=>t&&(t.innerHTML=f(this.displayText))}):i("span",{class:"sd-select-trigger__text"},t?this.displayText:this.placeholder??"선택"),i("sd-icon",{key:"ba256d1a780f7805c81330a6ba4e010c458be57e",name:"chevronDown",size:12,color:"var(--trigger-icon-color)",class:{"sd-select-trigger__icon":!0,"sd-select-trigger__icon--open":this.isOpen}})))}};m.style="sd-select-trigger{display:block;width:100%;height:100%}sd-select-trigger .sd-select-trigger{display:flex;width:100%;height:100%;cursor:pointer;user-select:none;overflow:hidden;border-radius:3px}sd-select-trigger .sd-select-trigger--disabled{cursor:not-allowed}sd-select-trigger .sd-select-trigger__content{display:flex;align-items:center;gap:var(--trigger-gap);flex:1;padding:0 var(--trigger-padding-x);min-width:0}sd-select-trigger .sd-select-trigger__text{flex:1;font-size:var(--trigger-font-size);line-height:var(--trigger-line-height);font-weight:var(--trigger-font-weight);color:var(--trigger-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}sd-select-trigger .sd-select-trigger__icon{flex-shrink:0;transition:transform 0.2s ease}sd-select-trigger .sd-select-trigger__icon--open{transform:rotate(180deg)}";export{b as sd_select,x as sd_select_listbox,m as sd_select_trigger}
|
|
1
|
+
import{r as t,c as e,a as s,h as i}from"./p-BZ5lcC25.js";import{n as r}from"./p-CCwNgVmC.js";import{c as h,S as o,f as l,i as n,e as c,E as a,L as d,a as u,b as g,d as p}from"./p-CAFz8W8_.js";import{s as f}from"./p-BE4tnQ2Z.js";import"./p-U8VaRj9c.js";const b=class{constructor(s){t(this,s),this.update=e(this,"sdUpdate",7),this.dropDownShow=e(this,"sdDropDownShow",7)}static VIEWPORT_PADDING=20;static PORTAL_OFFSET_Y=4;static CLOSE_ANIMATION_DURATION=150;get el(){return s(this)}type="default";value=null;options=[];placeholder="선택";dropdownWidth="";maxDropdownWidth="640px";dropdownHeight="260px";disabled=!1;label="";labelWidth="";addonLabel="";addonAlign="start";error=!1;hint="";errorMessage="";rules=[];icon=void 0;labelTooltip="";labelTooltipProps=null;emitValue=!1;width="";useSearch=!1;allSelectedLabel="전체";useSelectAll=!1;isOpen=!1;isAnimatingOut=!1;triggerWidth="200px";resolvedDropdownHeight="260px";resolvedMaxDropdownWidth="640px";focused=!1;hovered=!1;update;dropDownShow;async sdFocus(){this.disabled||await(this.triggerComponentRef?.sdFocus())}async sdOpen(){await new Promise((t=>setTimeout(t,0))),this.disabled||this.isOpen||(this.prepareDropdownGeometry(),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.isAnimatingOut=!1,this.isOpen=!0)}triggerRef;triggerComponentRef;closeAnimationTimer;name=r();triggerHasFocus=!1;watchIsOpen(t){this.syncFocusedState(t),this.dropDownShow.emit({isOpen:t})}get isMulti(){return"multi"===this.type||"multi_depth"===this.type}get displayText(){if(this.isMulti){if(!Array.isArray(this.value)||0===this.value.length)return"";const t=this.getNonDisabledLeaves(this.options),e=this.getSelectedOptions();if(t.length>0&&t.every((t=>e.some((e=>e.value===t.value)))))return this.allSelectedLabel??"전체";const s=this.flattenOptions(this.options);return this.value.map((t=>{if(null!=t&&"object"==typeof t){const e=t;return e.label??s.find((t=>t.value===e.value))?.label??""}return s.find((e=>e.value===t))?.label??""})).filter(Boolean).join(", ")}if(null==this.value)return"";if(!this.emitValue&&"object"==typeof this.value&&!Array.isArray(this.value))return this.value.label??"";const t=this.flattenOptions(this.options);return t.find((t=>t.value===this.value))?.label??""}flattenOptions(t){return t.flatMap((t=>t.children?this.flattenOptions(t.children):[t]))}getNonDisabledLeaves(t){return t.flatMap((t=>t.disabled?[]:t.children?this.getNonDisabledLeaves(t.children):[t]))}getSelectedOptions(){const t=this.value;return null!=t&&Array.isArray(t)?this.emitValue?t.map((t=>this.findOriginalOption(t,this.options))).filter((t=>!!t)):t:[]}toMultiValue(t){return this.emitValue?t.map((t=>t.value)):t}parsePixelValue(t,e){const s=Number.parseFloat(t);return Number.isFinite(s)?s:e}updateDropdownViewportConstraints(){if(!this.triggerRef)return;const t=this.triggerRef.getBoundingClientRect(),e=b.VIEWPORT_PADDING,s=b.PORTAL_OFFSET_Y,i=this.parsePixelValue(this.dropdownHeight,260),r=this.parsePixelValue(this.maxDropdownWidth,640),h=Math.max(window.innerHeight-t.bottom-e-s,0),o=Math.max(t.top-e-s,0),l=Math.max(h,o),n=Math.max(window.innerWidth-2*e,0);this.resolvedDropdownHeight=`${Math.min(i,l)}px`,this.resolvedMaxDropdownWidth=`${Math.min(r,n)}px`}handleViewportResize=()=>{this.isOpen&&this.updateDropdownViewportConstraints()};findOriginalOption(t,e){for(const s of e){if(s.value===t)return s;if(s.children){const e=this.findOriginalOption(t,s.children);if(e)return e}}}closeDropdown(){this.isOpen&&(this.isOpen=!1,this.isAnimatingOut=!0,this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.closeAnimationTimer=setTimeout((()=>{this.isAnimatingOut=!1}),b.CLOSE_ANIMATION_DURATION))}prepareDropdownGeometry(){this.triggerRef&&(this.triggerWidth=`${this.triggerRef.offsetWidth}px`),this.updateDropdownViewportConstraints()}syncFocusedState(t=this.isOpen){this.focused=t||this.triggerHasFocus}handleTriggerFocus=()=>{this.triggerHasFocus=!0,this.syncFocusedState()};handleTriggerBlur=()=>{this.triggerHasFocus=!1,this.syncFocusedState()};handleTriggerClick=()=>{this.isOpen?this.closeDropdown():(this.prepareDropdownGeometry(),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer),this.isAnimatingOut=!1,this.isOpen=!0)};emitUpdate(t){this.update.emit(t)}handleOptionSelect=t=>{const{option:e,leaves:s}=t;if(this.isMulti)this.handleMultiSelect(e,s);else{this.closeDropdown(),this.value=this.emitValue?e.value:e;const t=this.value;requestAnimationFrame((()=>{this.emitUpdate(t)}))}};handleMultiSelect(t,e){const s=this.getSelectedOptions();let i;if(t.children)if(e.every((t=>s.some((e=>e.value===t.value))))){const t=new Set(e.map((t=>t.value)));i=s.filter((e=>!t.has(e.value)))}else{const t=new Set(s.map((t=>t.value))),r=e.filter((e=>!t.has(e.value)));i=[...s,...r]}else i=s.some((e=>e.value===t.value))?s.filter((e=>e.value!==t.value)):[...s,t];this.value=this.toMultiValue(i),this.emitUpdate(this.value)}connectedCallback(){window.addEventListener("resize",this.handleViewportResize)}disconnectedCallback(){window.removeEventListener("resize",this.handleViewportResize),this.closeAnimationTimer&&clearTimeout(this.closeAnimationTimer)}render(){const t={open:this.isOpen,parentRef:this.triggerRef,viewportPadding:b.VIEWPORT_PADDING,onSdClose:()=>{this.closeDropdown()}};return i("sd-field",{key:"dd5f5142ec0a6ba80a67b544543c592c4492246b",name:this.name,label:this.label,labelWidth:this.labelWidth,addonLabel:this.addonLabel,addonAlign:this.addonAlign,hint:this.hint,errorMessage:this.errorMessage,width:this.width,rules:this.rules,error:this.error,disabled:this.disabled,focused:this.focused,hovered:this.hovered,icon:this.icon,labelTooltip:this.labelTooltip,labelTooltipProps:this.labelTooltipProps,onMouseEnter:()=>{this.hovered=!0},onMouseLeave:()=>{this.hovered=!1}},i("div",{key:"2069d25c1739610ee4bf8652da9a10bc149b0bc3",class:"sd-select",ref:t=>{this.triggerRef=t}},i("sd-select-trigger",{key:"b9b332bee38e449802be1b6a2c4b02a8243aa220",ref:t=>{this.triggerComponentRef=t},displayText:this.displayText,placeholder:this.placeholder??"선택",disabled:this.disabled,isOpen:this.isOpen,onSdTriggerClick:this.handleTriggerClick,onSdTriggerFocus:this.handleTriggerFocus,onSdTriggerBlur:this.handleTriggerBlur})),(this.isOpen||this.isAnimatingOut)&&i("sd-portal",{key:"fba3b55ec6c0d7fa9afe2d0ac8d41ba85ad62e6b",...t},i("sd-select-listbox",{key:"ad505ebdcb6a2f27083520877e42eccf4aeacbc3",type:this.type,options:this.options,value:this.value,emitValue:this.emitValue,useSearch:this.useSearch,useSelectAll:this.useSelectAll,triggerWidth:this.dropdownWidth||this.triggerWidth,maxWidth:this.resolvedMaxDropdownWidth,maxHeight:this.resolvedDropdownHeight,onSdOptionSelect:t=>this.handleOptionSelect(t.detail)})))}static get watchers(){return{isOpen:[{watchIsOpen:0}]}}};b.style="sd-select{display:inline-flex}sd-select sd-portal{display:none}sd-select .sd-select{position:relative;width:100%;height:100%}";const x=class{constructor(s){t(this,s),this.optionSelect=e(this,"sdOptionSelect",7)}type="default";options=[];value=null;emitValue=!1;useSearch=!1;useSelectAll=!1;triggerWidth="200px";maxWidth="640px";maxHeight="260px";searchKeyword="";isScrolled=!1;focusedIndex=-1;optionSelect;listEl;lastScrolledIndex=-1;keydownAttached=!1;suppressHover=!1;get isDepth(){return"default_depth"===this.type||"multi_depth"===this.type}get isMulti(){return"multi"===this.type||"multi_depth"===this.type}static SELECT_ALL_OPTION={value:"__select_all__",label:"전체"};get showSelectAll(){return this.useSelectAll&&this.isMulti&&this.getAllNonDisabledLeaves().length>0}getAllNonDisabledLeaves(){const t=e=>e.flatMap((e=>e.disabled?[]:e.children?t(e.children):[e]));return t(this.options)}get selectAllState(){if(!this.showSelectAll)return!1;const t=this.getAllNonDisabledLeaves();if(0===t.length)return!1;const e=this.getSelectedValues(),s=t.filter((t=>e.has(t.value))).length;return 0!==s&&(s===t.length||null)}get showSearch(){return!!this.useSearch&&(this.isDepth?h(this.options):this.options.length)>=o}get filteredOptions(){if(null==this.searchKeyword||""===this.searchKeyword)return this.options;if(this.isDepth)return l(this.options,this.searchKeyword);const t=this.searchKeyword.toLowerCase();return this.options.filter((e=>{const s=n(e.label)?c(e.label):e.label;return null!=s&&s.toLowerCase().includes(t)}))}get isEmpty(){return this.isDepth?0===h(this.filteredOptions)&&0===this.filteredOptions.length:0===this.filteredOptions.length}getSelectedValues(){return null!=this.value&&Array.isArray(this.value)?this.emitValue?new Set(this.value):new Set(this.value.map((t=>t.value))):new Set}isOptionSelected(t){return this.isMulti?this.getSelectedValues().has(t.value):this.emitValue||null==this.value||"object"!=typeof this.value||Array.isArray(this.value)?this.value===t.value:this.value.value===t.value}getGroupSelectionState(t){if(!this.isMulti||!t.children)return!1;const e=this.getSelectedValues();if(0===e.size)return!1;const s=this.collectVisibleLeaves(t);if(0===s.length)return!1;const i=s.filter((t=>e.has(t.value))).length;return 0!==i&&(i===s.length||null)}getCountInfo(t){if(!this.isMulti||!t.children)return;const e=this.getSelectedValues(),s=this.collectVisibleLeaves(t);return{selected:s.filter((t=>e.has(t.value))).length,total:s.length}}findOriginalOption(t,e){for(const s of e){if(s.value===t)return s;if(s.children){const e=this.findOriginalOption(t,s.children);if(e)return e}}}collectLeaves(t){return t.children?t.children.flatMap((t=>this.collectLeaves(t))):[t]}collectVisibleLeaves(t){if(t.disabled)return[];if(!t.children)return[t];if(0===t.children.length){const e=this.findOriginalOption(t.value,this.options);return e?this.collectLeaves(e).filter((t=>!t.disabled)):[]}return t.children.flatMap((t=>this.collectVisibleLeaves(t)))}get navigableOptions(){const t=[];this.showSelectAll&&t.push(x.SELECT_ALL_OPTION);const e=s=>{for(const i of s){const s=!!i.children;(!s||this.isMulti)&&!i.disabled&&t.push(i),s&&i.children&&i.children.length>0&&e(i.children)}};return e(this.filteredOptions),t}isSelectAllOption(t){return this.showSelectAll&&t.value===x.SELECT_ALL_OPTION.value}emitSelectAll(){if(!this.showSelectAll)return;const t=this.getAllNonDisabledLeaves();this.optionSelect.emit({option:{...x.SELECT_ALL_OPTION,children:t},leaves:t})}handleSelectAllClick=t=>{t.stopPropagation(),this.emitSelectAll()};isOptionFocused(t){if(this.focusedIndex<0)return!1;const e=this.navigableOptions[this.focusedIndex];return null!=e&&e.value===t.value}resetFocusOnFilter(){this.focusedIndex=this.navigableOptions.length>0?0:-1,this.suppressHover&&(document.removeEventListener("mousemove",this.releaseHoverSuppress,!0),this.suppressHover=!1)}handleSearchFilter=t=>{this.searchKeyword=t.detail};handleScroll=t=>{this.isScrolled=t.target.scrollTop>0};emitOptionSelect(t){this.optionSelect.emit({option:t,leaves:this.collectVisibleLeaves(t)})}handleOptionClick=t=>{t.stopPropagation(),this.emitOptionSelect(t.detail)};handleOptionHover=t=>{if(this.suppressHover)return;const e=this.navigableOptions.findIndex((e=>e.value===t.value));e>=0&&(this.focusedIndex=e)};releaseHoverSuppress=()=>{this.suppressHover=!1,document.removeEventListener("mousemove",this.releaseHoverSuppress,!0)};handleKeyDown=t=>{const e=this.navigableOptions;if("ArrowDown"===t.key){if(0===e.length)return;t.preventDefault(),t.stopPropagation(),this.focusedIndex=this.focusedIndex<0?0:(this.focusedIndex+1)%e.length,this.beginHoverSuppression()}else if("ArrowUp"===t.key){if(0===e.length)return;t.preventDefault(),t.stopPropagation(),this.focusedIndex=this.focusedIndex<=0?e.length-1:this.focusedIndex-1,this.beginHoverSuppression()}else if("Enter"===t.key){if(this.focusedIndex<0||this.focusedIndex>=e.length)return;t.preventDefault(),t.stopPropagation();const s=e[this.focusedIndex];this.isSelectAllOption(s)?this.emitSelectAll():this.emitOptionSelect(s)}};beginHoverSuppression(){this.suppressHover||(this.suppressHover=!0,document.addEventListener("mousemove",this.releaseHoverSuppress,!0))}scrollFocusedIntoView(){const t=this.listEl,e=t?.querySelector(".sd-select-list-item--focused");if(!t||!e)return;const s=t.getBoundingClientRect(),i=e.getBoundingClientRect();i.top<s.top?t.scrollTop+=i.top-s.top:i.bottom>s.bottom&&(t.scrollTop+=i.bottom-s.bottom)}connectedCallback(){this.keydownAttached||(document.addEventListener("keydown",this.handleKeyDown,!0),this.keydownAttached=!0)}disconnectedCallback(){this.keydownAttached&&(document.removeEventListener("keydown",this.handleKeyDown,!0),this.keydownAttached=!1),this.suppressHover&&(document.removeEventListener("mousemove",this.releaseHoverSuppress,!0),this.suppressHover=!1)}componentDidRender(){this.focusedIndex!==this.lastScrolledIndex&&(this.lastScrolledIndex=this.focusedIndex,this.focusedIndex>=0&&this.scrollFocusedIntoView())}renderOptions(t,e=1){return t.map((t=>{const s=!!t.children;return[i("sd-select-list-item",{option:t,depth:e,isSelected:s?this.getGroupSelectionState(t):this.isOptionSelected(t),isFocused:this.isOptionFocused(t),useCheckbox:this.isMulti,countInfo:this.getCountInfo(t),onSdListItemClick:this.handleOptionClick,onMouseEnter:()=>this.handleOptionHover(t)}),s&&t.children?this.renderOptions(t.children,e+1):null]}))}render(){return i("div",{key:"86caa4b3d4fbc3bcc6214ffe8596f62b6595b2e0",class:"sd-select-listbox",style:{"--listbox-trigger-width":this.triggerWidth??"200px","--listbox-max-width":this.maxWidth??"640px","--listbox-max-height":this.maxHeight??"260px","--listbox-radius":`${d.radius}px`}},this.showSearch&&i("sd-select-list-item-search",{key:"7a4f2cf77da2af673c7c11836cf1152f8cf55c2d",isScrolled:this.isScrolled,onSdSearchFilter:this.handleSearchFilter}),i("div",{key:"243c0be0b5898754a35adbce89d9f72671e39a3a",class:"sd-select-listbox__list",onScroll:this.handleScroll,ref:t=>{this.listEl=t}},this.showSelectAll&&i("sd-select-list-item",{key:"eef122310c6a45ed876af8cd578b86d1f27a68d3",option:x.SELECT_ALL_OPTION,depth:1,isSelected:this.selectAllState,isFocused:this.isOptionFocused(x.SELECT_ALL_OPTION),useCheckbox:!0,onSdListItemClick:this.handleSelectAllClick,onMouseEnter:()=>this.handleOptionHover(x.SELECT_ALL_OPTION)}),this.isEmpty?i("div",{class:"sd-select-listbox__empty"},a):this.isDepth?this.renderOptions(this.filteredOptions):this.filteredOptions.map((t=>i("sd-select-list-item",{option:t,depth:1,isSelected:this.isOptionSelected(t),isFocused:this.isOptionFocused(t),useCheckbox:this.isMulti,onSdListItemClick:this.handleOptionClick,onMouseEnter:()=>this.handleOptionHover(t)})))))}static get watchers(){return{searchKeyword:[{resetFocusOnFilter:0}]}}};x.style=":host{display:block}:host .sd-select-listbox{display:flex;flex-direction:column;width:var(--listbox-trigger-width);max-width:var(--listbox-max-width);max-height:var(--listbox-max-height);border-radius:var(--listbox-radius);background:white;box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.1);overflow:hidden;outline:none}:host .sd-select-listbox__list{flex:1;min-height:0;overflow-y:auto;padding-bottom:0}:host .sd-select-listbox__empty{padding:12px;text-align:center;font-size:12px;line-height:20px;color:#888888}";const m=class{constructor(s){t(this,s),this.triggerClick=e(this,"sdTriggerClick",7),this.triggerFocus=e(this,"sdTriggerFocus",7),this.triggerBlur=e(this,"sdTriggerBlur",7)}displayText="";placeholder="선택";disabled=!1;isOpen=!1;triggerClick;triggerFocus;triggerBlur;triggerEl;async sdFocus(){this.disabled||this.triggerEl?.focus()}handleClick=()=>{this.disabled||this.triggerClick.emit()};handleFocus=()=>{this.triggerFocus.emit()};handleBlur=()=>{this.triggerBlur.emit()};render(){const t=""!==this.displayText;return i("div",{key:"0c3e197cd8a238a979ee6d794a607e07585b2025",ref:t=>{this.triggerEl=t},role:"button","aria-haspopup":"listbox","aria-expanded":this.isOpen?"true":"false",tabindex:this.disabled?-1:0,class:{"sd-select-trigger":!0,"sd-select-trigger--open":this.isOpen,"sd-select-trigger--disabled":this.disabled},style:{"--trigger-padding-x":`${p.paddingX}px`,"--trigger-gap":`${p.gap}px`,"--trigger-font-size":`${g.fontSize}px`,"--trigger-line-height":`${g.lineHeight}px`,"--trigger-font-weight":g.fontWeight,"--trigger-color":this.disabled?u.text.disabled:t?u.text.default:u.icon.default,"--trigger-icon-color":this.disabled?u.icon.disabled:u.icon.default},onClick:this.handleClick,onKeyDown:t=>{"Enter"!==t.key&&" "!==t.key||(t.preventDefault(),this.handleClick())},onFocus:this.handleFocus,onBlur:this.handleBlur},i("div",{key:"4c068fb6a6784bde01669b7a5ad30d91dc358dd3",class:"sd-select-trigger__content"},t&&n(this.displayText)?i("span",{class:"sd-select-trigger__text",ref:t=>t&&(t.innerHTML=f(this.displayText))}):i("span",{class:"sd-select-trigger__text"},t?this.displayText:this.placeholder??"선택"),i("sd-icon",{key:"7172c372c2864574ca6ab0f726a0af091a3d0110",name:"chevronDown",size:12,color:"var(--trigger-icon-color)",class:{"sd-select-trigger__icon":!0,"sd-select-trigger__icon--open":this.isOpen}})))}};m.style="sd-select-trigger{display:block;width:100%;height:100%}sd-select-trigger .sd-select-trigger{display:flex;width:100%;height:100%;cursor:pointer;user-select:none;overflow:hidden;border-radius:3px}sd-select-trigger .sd-select-trigger--disabled{cursor:not-allowed}sd-select-trigger .sd-select-trigger__content{display:flex;align-items:center;gap:var(--trigger-gap);flex:1;padding:0 var(--trigger-padding-x);min-width:0}sd-select-trigger .sd-select-trigger__text{flex:1;font-size:var(--trigger-font-size);line-height:var(--trigger-line-height);font-weight:var(--trigger-font-weight);color:var(--trigger-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}sd-select-trigger .sd-select-trigger__icon{flex-shrink:0;transition:transform 0.2s ease}sd-select-trigger .sd-select-trigger__icon--open{transform:rotate(180deg)}";export{b as sd_select,x as sd_select_listbox,m as sd_select_trigger}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,a as i,f as s,h as n,H as e}from"./p-BZ5lcC25.js";import{T as h}from"./p-sZMi_32I.js";const a=class{constructor(i){t(this,i)}get el(){return i(this)}field;rowKey;align;rowspan;colspan;sdClass;dividerLeft=!1;dividerRight=!1;useFrame=!1;handleFieldChange(t,i){this.syncSlotName(),this.syncSpanRegistration(),this.syncCellClassRegistration(i),this.syncUseFrameRegistration(i)}handleRowKeyChange(t,i){this.syncSlotName(),this.syncSpanRegistration(),this.syncCellClassRegistration(void 0,i),this.syncUseFrameRegistration(void 0,i)}handleSpanChange(){this.syncSpanRegistration()}handleSdClassChange(){this.syncCellClassRegistration()}handleDividerChange(){this.syncCellClassRegistration()}handleUseFrameChange(){this.syncUseFrameRegistration(),this.requestParentTrUpdate()}componentWillLoad(){this.syncSlotName(),this.syncSpanRegistration(),this.syncCellClassRegistration(),this.syncUseFrameRegistration();const t=this.el.parentElement;"sd-tr"===t?.tagName?.toLowerCase()&&s(t)}componentDidLoad(){this.syncSlotName(),this.syncSpanRegistration(),this.syncCellClassRegistration(),this.syncUseFrameRegistration()}connectedCallback(){this.syncSpanRegistration(),this.syncCellClassRegistration(),this.syncUseFrameRegistration()}disconnectedCallback(){const t=this.findTable();null!=t&&""!==this.field&&null!=this.rowKey&&(t.unregisterSpanSync?.(String(this.rowKey),this.field),t.unregisterCellClassSync?.(String(this.rowKey),this.field),t.unregisterUseFrameSync?.(String(this.rowKey),this.field),this.requestParentTrUpdate())}findTable(){return this.el.closest("sd-table")}requestParentTrUpdate(){const t=this.el.parentElement;"sd-tr"===t?.tagName?.toLowerCase()&&("function"==typeof t.bumpSpansVersion?t.bumpSpansVersion():s(t))}syncSpanRegistration(){const t=this.findTable();if(null==t?.registerSpanSync||""===this.field||null==this.rowKey)return;const i=Math.max(1,Math.floor(Number(this.rowspan)||1)),s=Math.max(1,Math.floor(Number(this.colspan)||1));t.registerSpanSync(String(this.rowKey),this.field,i,s),this.requestParentTrUpdate()}syncCellClassRegistration(t,i){const s=this.findTable();if(!s)return;const n=t??this.field,e=i??(null!=this.rowKey?String(this.rowKey):void 0);if(""!==n&&null!=e&&s.unregisterCellClassSync?.(e,n),!s.registerCellClassSync||""===this.field||null==this.rowKey)return;const h=[this.sdClass,this.dividerLeft&&"td--divider-left",this.dividerRight&&"td--divider-right"].filter(Boolean).join(" ")||void 0;s.registerCellClassSync(String(this.rowKey),this.field,h),this.requestParentTrUpdate()}syncUseFrameRegistration(t,i){const s=this.findTable();if(!s)return;const n=t??this.field,e=i??(null!=this.rowKey?String(this.rowKey):void 0);""!==n&&null!=e&&s.unregisterUseFrameSync?.(e,n),""!==this.field&&null!=this.rowKey&&(this.useFrame?s.registerUseFrameSync?.(String(this.rowKey),this.field):s.unregisterUseFrameSync?.(String(this.rowKey),this.field))}syncSlotName(){const t=this.el.closest("sd-table"),i=t?.getTableIdSync?.(),s=t?.getAttribute(h),n=(null!=i&&""!==i&&"undefined"!==i?i:null)??(null!=s&&""!==s&&"undefined"!==s?s:null)??"";""!==this.field&&void 0!==this.rowKey&&""!==n&&this.el.setAttribute("slot",`${n}-${this.field}-${this.rowKey}`)}render(){return n(e,{key:"
|
|
1
|
+
import{r as t,a as i,f as s,h as n,H as e}from"./p-BZ5lcC25.js";import{T as h}from"./p-sZMi_32I.js";const a=class{constructor(i){t(this,i)}get el(){return i(this)}field;rowKey;align;rowspan;colspan;sdClass;dividerLeft=!1;dividerRight=!1;useFrame=!1;handleFieldChange(t,i){this.syncSlotName(),this.syncSpanRegistration(),this.syncCellClassRegistration(i),this.syncUseFrameRegistration(i)}handleRowKeyChange(t,i){this.syncSlotName(),this.syncSpanRegistration(),this.syncCellClassRegistration(void 0,i),this.syncUseFrameRegistration(void 0,i)}handleSpanChange(){this.syncSpanRegistration()}handleSdClassChange(){this.syncCellClassRegistration()}handleDividerChange(){this.syncCellClassRegistration()}handleUseFrameChange(){this.syncUseFrameRegistration(),this.requestParentTrUpdate()}componentWillLoad(){this.syncSlotName(),this.syncSpanRegistration(),this.syncCellClassRegistration(),this.syncUseFrameRegistration();const t=this.el.parentElement;"sd-tr"===t?.tagName?.toLowerCase()&&s(t)}componentDidLoad(){this.syncSlotName(),this.syncSpanRegistration(),this.syncCellClassRegistration(),this.syncUseFrameRegistration()}connectedCallback(){this.syncSpanRegistration(),this.syncCellClassRegistration(),this.syncUseFrameRegistration()}disconnectedCallback(){const t=this.findTable();null!=t&&""!==this.field&&null!=this.rowKey&&(t.unregisterSpanSync?.(String(this.rowKey),this.field),t.unregisterCellClassSync?.(String(this.rowKey),this.field),t.unregisterUseFrameSync?.(String(this.rowKey),this.field),this.requestParentTrUpdate())}findTable(){return this.el.closest("sd-table")}requestParentTrUpdate(){const t=this.el.parentElement;"sd-tr"===t?.tagName?.toLowerCase()&&("function"==typeof t.bumpSpansVersion?t.bumpSpansVersion():s(t))}syncSpanRegistration(){const t=this.findTable();if(null==t?.registerSpanSync||""===this.field||null==this.rowKey)return;const i=Math.max(1,Math.floor(Number(this.rowspan)||1)),s=Math.max(1,Math.floor(Number(this.colspan)||1));t.registerSpanSync(String(this.rowKey),this.field,i,s),this.requestParentTrUpdate()}syncCellClassRegistration(t,i){const s=this.findTable();if(!s)return;const n=t??this.field,e=i??(null!=this.rowKey?String(this.rowKey):void 0);if(""!==n&&null!=e&&s.unregisterCellClassSync?.(e,n),!s.registerCellClassSync||""===this.field||null==this.rowKey)return;const h=[this.sdClass,this.dividerLeft&&"td--divider-left",this.dividerRight&&"td--divider-right"].filter(Boolean).join(" ")||void 0;s.registerCellClassSync(String(this.rowKey),this.field,h),this.requestParentTrUpdate()}syncUseFrameRegistration(t,i){const s=this.findTable();if(!s)return;const n=t??this.field,e=i??(null!=this.rowKey?String(this.rowKey):void 0);""!==n&&null!=e&&s.unregisterUseFrameSync?.(e,n),""!==this.field&&null!=this.rowKey&&(this.useFrame?s.registerUseFrameSync?.(String(this.rowKey),this.field):s.unregisterUseFrameSync?.(String(this.rowKey),this.field))}syncSlotName(){const t=this.el.closest("sd-table"),i=t?.getTableIdSync?.(),s=t?.getAttribute(h),n=(null!=i&&""!==i&&"undefined"!==i?i:null)??(null!=s&&""!==s&&"undefined"!==s?s:null)??"";""!==this.field&&void 0!==this.rowKey&&""!==n&&this.el.setAttribute("slot",`${n}-${this.field}-${this.rowKey}`)}render(){return n(e,{key:"3a57e2c9669facd934506fcac11d3fe6474cf4e6",class:{[`align-${this.align}`]:Boolean(this.align)}},n("slot",{key:"1936262e4fa08e364cc57a5587703c546199007a"}))}static get watchers(){return{field:[{handleFieldChange:0}],rowKey:[{handleRowKeyChange:0}],rowspan:[{handleSpanChange:0}],colspan:[{handleSpanChange:0}],sdClass:[{handleSdClassChange:0}],dividerLeft:[{handleDividerChange:0}],dividerRight:[{handleDividerChange:0}],useFrame:[{handleUseFrameChange:0}]}}};a.style="sd-td *{box-sizing:border-box}sd-td{display:contents}sd-td.align-left{text-align:left}sd-td.align-center{text-align:center}sd-td.align-right{text-align:right}";export{a as sd_td}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,c as a,h as d}from"./p-BZ5lcC25.js";import{u as r,t,W as n,C as i}from"./p-BqWuC4-J.js";import{a as l,D as s}from"./p-d24F7UcR.js";import"./p-laVsm9VM.js";import"./p-BOJJ_sQS.js";const c=class{constructor(d){e(this,d),this.update=a(this,"sdUpdate",7),this.viewChange=a(this,"sdViewChange",7)}value=null;selectable;events;elevated=!1;currentYear;currentMonth;update;viewChange;dateUtil=r();_eventMapCache;get eventMap(){const e=this._eventMapCache;if(e&&e.src===this.events)return e.map;const a=new Map;return(this.events??[]).forEach((e=>e.dates.forEach((d=>{const r=a.get(d)??[];r.push({color:e.color,label:e.label}),a.set(d,r)})))),this._eventMapCache={src:this.events,map:a},a}get legendItems(){const e=new Set,a=[];return(this.events??[]).forEach((d=>{const r=`${d.color}|${d.label}`;e.has(r)||(e.add(r),a.push({color:d.color,label:d.label}))})),a}componentWillLoad(){this.syncViewFromValue()}handleValueChange(){this.syncViewFromValue()}syncViewFromValue(){const e=this.value||t,[a,d]=e.split("-").map(Number);this.currentYear=a,this.currentMonth=d}formatDate(e,a,d){return`${e}-${String(a).padStart(2,"0")}-${String(d).padStart(2,"0")}`}get cells(){const e=this.currentYear,a=this.currentMonth,d=new Date(e,a-1,1).getDay(),r=new Date(e,a,0).getDate(),t=1===a?12:a-1,n=1===a?e-1:e,i=new Date(n,t,0).getDate(),l=12===a?1:a+1,s=12===a?e+1:e,c=[];for(let e=d-1;e>=0;e--){const a=i-e;c.push({date:this.formatDate(n,t,a),day:a,inCurrentMonth:!1})}for(let d=1;d<=r;d++)c.push({date:this.formatDate(e,a,d),day:d,inCurrentMonth:!0});const o=(7-c.length%7)%7;for(let e=1;e<=o;e++)c.push({date:this.formatDate(s,l,e),day:e,inCurrentMonth:!1});return c}emitViewChange(){this.viewChange.emit({year:this.currentYear,month:this.currentMonth})}goPrevYear=e=>{e.stopPropagation(),this.currentYear-=1,this.emitViewChange()};goNextYear=e=>{e.stopPropagation(),this.currentYear+=1,this.emitViewChange()};goPrevMonth=e=>{e.stopPropagation();const{newYear:a,newMonth:d}=this.dateUtil.calculateYearMonth(this.currentYear,this.currentMonth,"prev");this.currentYear=a,this.currentMonth=d,this.emitViewChange()};goNextMonth=e=>{e.stopPropagation();const{newYear:a,newMonth:d}=this.dateUtil.calculateYearMonth(this.currentYear,this.currentMonth,"next");this.currentYear=a,this.currentMonth=d,this.emitViewChange()};isDisabled(e){if(!this.selectable)return!1;const[a,d]=this.selectable;return""!==a&&e<a||""!==d&&e>d}handleDayClick(e){this.isDisabled(e.date)||(this.value=e.date,this.update.emit(e.date))}render(){const e={"--calendar-bg":i.bg,"--calendar-padding":`${i.paddingXY}px`,"--calendar-gap":`${i.gap}px`,"--calendar-radius":`${i.radius}px`,"--calendar-header-gap":`${i.header.gap}px`,"--calendar-header-divider":i.header.divider,"--calendar-header-font-size":`${i.header.fontSize}px`,"--calendar-header-line-height":`${i.header.lineHeight}px`,"--calendar-header-font-weight":i.header.fontWeight,"--calendar-week-font-size":`${i.week.fontSize}px`,"--calendar-week-line-height":`${i.week.lineHeight}px`,"--calendar-week-font-weight":i.week.fontWeight,"--calendar-week-color":i.week.color,"--calendar-grid-row-gap":`${i.grid.rowGap}px`,"--calendar-day-size":`${i.day.size}px`,"--calendar-day-circle-size":`${i.day.circleSize}px`,"--calendar-day-circle-radius":`${i.day.circleRadius}px`,"--calendar-day-text":i.day.defaultText,"--calendar-day-hover-text":i.day.hoverText,"--calendar-day-hover-border":i.day.hoverBorder,"--calendar-day-select-bg":i.day.selectBg,"--calendar-day-select-text":i.day.selectText,"--calendar-day-disabled-text":i.day.disabledText,"--calendar-day-font-size":`${i.day.fontSize}px`,"--calendar-day-line-height":`${i.day.lineHeight}px`,"--calendar-day-font-weight":i.day.fontWeight,"--calendar-day-bold-font-weight":i.day.boldFontWeight,"--calendar-day-dot-size":`${i.day.dot.size}px`,"--calendar-day-dot-gap":`${i.day.dot.gap}px`,"--calendar-day-dot-padding-y":`${i.day.dot.paddingY}px`,"--calendar-legend-font-size":`${i.legend.fontSize}px`,"--calendar-legend-line-height":`${i.legend.lineHeight}px`,"--calendar-legend-font-weight":i.legend.fontWeight,"--calendar-legend-gap":`${i.legend.gap}px`,"--calendar-legend-group-gap":`${i.legend.groupGap}px`},a=this.eventMap,r=this.legendItems,l=(this.events?.length??0)>0;return d("div",{key:"317beb7cdffbba8982306539441fec46e6330d82",class:{"sd-calendar":!0,"sd-calendar--elevated":this.elevated},style:e},d("div",{key:"0d9e1084ee0bff994b4a00b7f2d490c0e101aa16",class:"sd-calendar__header"},d("div",{key:"8d82438f1820721fcbcd14cf42c1ae00b3a517d9",class:"sd-calendar__nav-group"},d("sd-ghost-button",{key:"4e3391c57c0fdf3ad95b82d82c7a130c3202229d",ariaLabel:"prevYear",size:"xxs",icon:"chevronLeft",onClick:this.goPrevYear}),d("span",{key:"6a7cbfb0069dd1d29e195cc09a9c55a8ae52aa40",class:"sd-calendar__label"},this.currentYear),d("sd-ghost-button",{key:"239d5e623f830e8ceeb069e78126175772af48de",ariaLabel:"nextYear",size:"xxs",icon:"chevronRight",onClick:this.goNextYear})),d("span",{key:"24362199d36afc204eebe5c5f14a41705f6782d9",class:"sd-calendar__divider","aria-hidden":"true"}),d("div",{key:"7aa04fa1fbb355d8b3fae4cca011999b4f7f5850",class:"sd-calendar__nav-group sd-calendar__nav-group-month"},d("sd-ghost-button",{key:"ea5d0129d4f7eecaeff5793460363e2f15c238b8",ariaLabel:"prevMonth",size:"xxs",icon:"chevronLeft",onClick:this.goPrevMonth}),d("span",{key:"7a3879edb74cb71c46fc500d7c230c21e19042c4",class:"sd-calendar__label sd-calendar__label-month"},this.currentMonth,"월"),d("sd-ghost-button",{key:"7532053f6607d9e4940403f22fd32994128fc457",ariaLabel:"nextMonth",size:"xxs",icon:"chevronRight",onClick:this.goNextMonth}))),d("div",{key:"ef59638defed69c325e49fc71ca0cc73a7d778bf",class:"sd-calendar__week"},n.map((e=>d("span",{key:e,class:"sd-calendar__week-cell"},e)))),d("div",{key:"0205b10254c75567336bc7e4ed8a26d2227ecb33",class:"sd-calendar__grid"},this.cells.map((e=>{const r=e.inCurrentMonth&&""!==this.value&&this.value===e.date,n=e.inCurrentMonth&&t===e.date,i=e.inCurrentMonth&&this.isDisabled(e.date),s=e.inCurrentMonth?a.get(e.date):void 0;return d("button",{type:"button",key:e.date,class:{"sd-calendar__day":!0,"sd-calendar__day--empty":!e.inCurrentMonth,"sd-calendar__day--today":n,"sd-calendar__day--selected":r,"sd-calendar__day--disabled":i},disabled:!e.inCurrentMonth||i,tabindex:e.inCurrentMonth?void 0:-1,"aria-hidden":e.inCurrentMonth?void 0:"true",onClick:()=>e.inCurrentMonth&&this.handleDayClick(e)},d("span",{class:"sd-calendar__day-circle"},e.inCurrentMonth?e.day:""),l&&d("span",{class:"sd-calendar__dot-row","aria-hidden":"true"},s?.map(((e,a)=>d("span",{key:`${e.color}|${e.label}|${a}`,class:"sd-calendar__dot",style:{backgroundColor:e.color}})))))}))),r.length>0&&[d("span",{key:"a06b1cd9ec93891e3762f6334949cd23b643290f",class:"sd-calendar__divider-bottom","aria-hidden":"true"}),d("div",{key:"8dc6bd2495ab471b56ed6fa252c9e0ad5ebe8341",class:"sd-calendar__legend"},r.map((e=>d("span",{key:`${e.color}|${e.label}`,class:"sd-calendar__legend-item"},d("span",{class:"sd-calendar__legend-dot",style:{backgroundColor:e.color},"aria-hidden":"true"}),d("span",{class:"sd-calendar__legend-label"},e.label)))))])}static get watchers(){return{value:[{handleValueChange:0}]}}};c.style="sd-calendar{display:block}sd-calendar .sd-calendar{display:flex;flex-direction:column;gap:var(--calendar-gap);width:328px;min-height:328px;padding:var(--calendar-padding);background:var(--calendar-bg);border-radius:var(--calendar-radius);user-select:none}sd-calendar .sd-calendar--elevated{box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.2)}sd-calendar .sd-calendar__header{display:flex;align-items:center;justify-content:center;gap:var(--calendar-header-gap);font-size:var(--calendar-header-font-size);line-height:var(--calendar-header-line-height);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text)}sd-calendar .sd-calendar__nav-group{display:inline-flex;align-items:center;gap:var(--calendar-gap)}sd-calendar .sd-calendar__nav-group-month{width:100%}sd-calendar .sd-calendar__label{display:inline-flex;align-items:center;justify-content:center;min-width:40px;text-align:center}sd-calendar .sd-calendar__label-month{width:100%}sd-calendar .sd-calendar__divider{display:inline-block;width:1px;height:16px;background:var(--calendar-header-divider)}sd-calendar .sd-calendar__week{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size))}sd-calendar .sd-calendar__week-cell{display:inline-flex;align-items:center;justify-content:center;height:20px;font-size:var(--calendar-week-font-size);line-height:var(--calendar-week-line-height);font-weight:var(--calendar-week-font-weight);color:var(--calendar-week-color)}sd-calendar .sd-calendar__grid{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size));row-gap:var(--calendar-grid-row-gap)}sd-calendar .sd-calendar__day{display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-start;width:var(--calendar-day-size);min-height:var(--calendar-day-circle-size);padding:0;border:none;background:transparent;cursor:pointer;font-size:var(--calendar-day-font-size);line-height:var(--calendar-day-line-height);font-weight:var(--calendar-day-font-weight);color:var(--calendar-day-text)}sd-calendar .sd-calendar__day-circle{display:inline-flex;align-items:center;justify-content:center;width:var(--calendar-day-circle-size);height:var(--calendar-day-circle-size);border-radius:calc(var(--calendar-day-circle-radius) * 1px);border:1px solid transparent;box-sizing:border-box}sd-calendar .sd-calendar__day:not(:disabled):hover .sd-calendar__day-circle{border-radius:16px;border:1px solid var(--calendar-day-hover-border)}sd-calendar .sd-calendar__day--today .sd-calendar__day-circle{font-weight:700}sd-calendar .sd-calendar__day--selected .sd-calendar__day-circle{border-radius:16px;background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-calendar .sd-calendar__day--selected:not(:disabled):hover .sd-calendar__day-circle{background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-calendar .sd-calendar__day--disabled{color:var(--calendar-day-disabled-text);background:none !important;cursor:not-allowed}sd-calendar .sd-calendar__day--empty{visibility:hidden;pointer-events:none}sd-calendar .sd-calendar__dot-row{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--calendar-day-dot-gap);box-sizing:border-box;width:100%;min-height:14px;padding-top:var(--calendar-day-dot-padding-y);padding-bottom:var(--calendar-day-dot-padding-y)}sd-calendar .sd-calendar__dot{display:inline-block;width:var(--calendar-day-dot-size);height:var(--calendar-day-dot-size);border-radius:50%}sd-calendar .sd-calendar__divider-bottom{display:block;width:100%;height:1px;background:var(--calendar-header-divider)}sd-calendar .sd-calendar__legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:var(--calendar-legend-group-gap);row-gap:4px;font-size:var(--calendar-legend-font-size);line-height:var(--calendar-legend-line-height);font-weight:var(--calendar-legend-font-weight);color:var(--calendar-day-text)}sd-calendar .sd-calendar__legend-item{display:inline-flex;align-items:center;gap:var(--calendar-legend-gap)}sd-calendar .sd-calendar__legend-dot{display:inline-block;width:var(--calendar-day-dot-size);height:var(--calendar-day-dot-size);border-radius:50%;flex-shrink:0}sd-calendar .sd-calendar__legend-label{display:inline-block}";const o=class{constructor(d){e(this,d),this.triggerClick=a(this,"sdTriggerClick",7)}displayText="";placeholder="YYYY-MM-DD";disabled=!1;size="sm";triggerClick;handleClick=()=>{this.disabled||this.triggerClick.emit()};render(){const e=l[this.size]??l.sm,a=""!==this.displayText;return d("div",{key:"bd454879eb1a8f40f32e0131b3f2884bbf02b888",role:"button",tabindex:this.disabled?-1:0,class:{"sd-date-picker-trigger":!0,"sd-date-picker-trigger--disabled":this.disabled},style:{"--trigger-padding-x":`${e.paddingX}px`,"--trigger-gap":`${e.gap}px`,"--trigger-icon-size":`${e.iconSize}px`,"--trigger-font-size":`${e.fontSize}px`,"--trigger-line-height":`${e.lineHeight}px`,"--trigger-font-weight":e.fontWeight,"--trigger-radius":`${e.radius}px`,"--trigger-text-min-width":("md"===this.size?104:80)+"px","--trigger-text-color":this.disabled?s.text.disabled:a?s.text.default:s.text.hint,"--trigger-icon-color":this.disabled?s.icon.disabled:s.icon.default},onClick:this.handleClick,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.handleClick())}},d("sd-icon",{key:"1c1d87b067a98d98d85a6c3e544a389b3b965715",name:"date",size:Number(e.iconSize),color:"var(--trigger-icon-color)",class:"sd-date-picker-trigger__icon"}),d("span",{key:"da87df624c173336d434bd943c6fcce5e86feb03",class:"sd-date-picker-trigger__text"},a?this.displayText:this.placeholder))}};o.style="sd-date-picker-trigger{display:block;width:100%;height:100%}sd-date-picker-trigger .sd-date-picker-trigger{display:flex;align-items:center;gap:var(--trigger-gap);width:100%;height:100%;padding:0 var(--trigger-padding-x);cursor:pointer;user-select:none;overflow:hidden;border-radius:var(--trigger-radius)}sd-date-picker-trigger .sd-date-picker-trigger--disabled{cursor:not-allowed}sd-date-picker-trigger .sd-date-picker-trigger__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}sd-date-picker-trigger .sd-date-picker-trigger__text{flex:1;min-width:var(--trigger-text-min-width, 80px);font-size:var(--trigger-font-size);line-height:var(--trigger-line-height);font-weight:var(--trigger-font-weight);color:var(--trigger-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}";export{c as sd_calendar,o as sd_date_picker_trigger}
|
|
1
|
+
import{r as e,c as a,h as d}from"./p-BZ5lcC25.js";import{u as r,t,W as n,C as i}from"./p-BqWuC4-J.js";import{a as l,D as s}from"./p-d24F7UcR.js";import"./p-laVsm9VM.js";import"./p-BOJJ_sQS.js";const c=class{constructor(d){e(this,d),this.update=a(this,"sdUpdate",7),this.viewChange=a(this,"sdViewChange",7)}value=null;selectable;events;elevated=!1;currentYear;currentMonth;update;viewChange;dateUtil=r();_eventMapCache;get eventMap(){const e=this._eventMapCache;if(e&&e.src===this.events)return e.map;const a=new Map;return(this.events??[]).forEach((e=>e.dates.forEach((d=>{const r=a.get(d)??[];r.push({color:e.color,label:e.label}),a.set(d,r)})))),this._eventMapCache={src:this.events,map:a},a}get legendItems(){const e=new Set,a=[];return(this.events??[]).forEach((d=>{const r=`${d.color}|${d.label}`;e.has(r)||(e.add(r),a.push({color:d.color,label:d.label}))})),a}componentWillLoad(){this.syncViewFromValue()}handleValueChange(){this.syncViewFromValue()}syncViewFromValue(){const e=this.value||t,[a,d]=e.split("-").map(Number);this.currentYear=a,this.currentMonth=d}formatDate(e,a,d){return`${e}-${String(a).padStart(2,"0")}-${String(d).padStart(2,"0")}`}get cells(){const e=this.currentYear,a=this.currentMonth,d=new Date(e,a-1,1).getDay(),r=new Date(e,a,0).getDate(),t=1===a?12:a-1,n=1===a?e-1:e,i=new Date(n,t,0).getDate(),l=12===a?1:a+1,s=12===a?e+1:e,c=[];for(let e=d-1;e>=0;e--){const a=i-e;c.push({date:this.formatDate(n,t,a),day:a,inCurrentMonth:!1})}for(let d=1;d<=r;d++)c.push({date:this.formatDate(e,a,d),day:d,inCurrentMonth:!0});const o=(7-c.length%7)%7;for(let e=1;e<=o;e++)c.push({date:this.formatDate(s,l,e),day:e,inCurrentMonth:!1});return c}emitViewChange(){this.viewChange.emit({year:this.currentYear,month:this.currentMonth})}goPrevYear=e=>{e.stopPropagation(),this.currentYear-=1,this.emitViewChange()};goNextYear=e=>{e.stopPropagation(),this.currentYear+=1,this.emitViewChange()};goPrevMonth=e=>{e.stopPropagation();const{newYear:a,newMonth:d}=this.dateUtil.calculateYearMonth(this.currentYear,this.currentMonth,"prev");this.currentYear=a,this.currentMonth=d,this.emitViewChange()};goNextMonth=e=>{e.stopPropagation();const{newYear:a,newMonth:d}=this.dateUtil.calculateYearMonth(this.currentYear,this.currentMonth,"next");this.currentYear=a,this.currentMonth=d,this.emitViewChange()};isDisabled(e){if(!this.selectable)return!1;const[a,d]=this.selectable;return""!==a&&e<a||""!==d&&e>d}handleDayClick(e){this.isDisabled(e.date)||(this.value=e.date,this.update.emit(e.date))}render(){const e={"--calendar-bg":i.bg,"--calendar-padding":`${i.paddingXY}px`,"--calendar-gap":`${i.gap}px`,"--calendar-radius":`${i.radius}px`,"--calendar-header-gap":`${i.header.gap}px`,"--calendar-header-divider":i.header.divider,"--calendar-header-font-size":`${i.header.fontSize}px`,"--calendar-header-line-height":`${i.header.lineHeight}px`,"--calendar-header-font-weight":i.header.fontWeight,"--calendar-week-font-size":`${i.week.fontSize}px`,"--calendar-week-line-height":`${i.week.lineHeight}px`,"--calendar-week-font-weight":i.week.fontWeight,"--calendar-week-color":i.week.color,"--calendar-grid-row-gap":`${i.grid.rowGap}px`,"--calendar-day-size":`${i.day.size}px`,"--calendar-day-circle-size":`${i.day.circleSize}px`,"--calendar-day-circle-radius":`${i.day.circleRadius}px`,"--calendar-day-text":i.day.defaultText,"--calendar-day-hover-text":i.day.hoverText,"--calendar-day-hover-border":i.day.hoverBorder,"--calendar-day-select-bg":i.day.selectBg,"--calendar-day-select-text":i.day.selectText,"--calendar-day-disabled-text":i.day.disabledText,"--calendar-day-font-size":`${i.day.fontSize}px`,"--calendar-day-line-height":`${i.day.lineHeight}px`,"--calendar-day-font-weight":i.day.fontWeight,"--calendar-day-bold-font-weight":i.day.boldFontWeight,"--calendar-day-dot-size":`${i.day.dot.size}px`,"--calendar-day-dot-gap":`${i.day.dot.gap}px`,"--calendar-day-dot-padding-y":`${i.day.dot.paddingY}px`,"--calendar-legend-font-size":`${i.legend.fontSize}px`,"--calendar-legend-line-height":`${i.legend.lineHeight}px`,"--calendar-legend-font-weight":i.legend.fontWeight,"--calendar-legend-gap":`${i.legend.gap}px`,"--calendar-legend-group-gap":`${i.legend.groupGap}px`},a=this.eventMap,r=this.legendItems,l=(this.events?.length??0)>0;return d("div",{key:"317beb7cdffbba8982306539441fec46e6330d82",class:{"sd-calendar":!0,"sd-calendar--elevated":this.elevated},style:e},d("div",{key:"0d9e1084ee0bff994b4a00b7f2d490c0e101aa16",class:"sd-calendar__header"},d("div",{key:"8d82438f1820721fcbcd14cf42c1ae00b3a517d9",class:"sd-calendar__nav-group"},d("sd-ghost-button",{key:"4e3391c57c0fdf3ad95b82d82c7a130c3202229d",ariaLabel:"prevYear",size:"xxs",icon:"chevronLeft",onClick:this.goPrevYear}),d("span",{key:"6a7cbfb0069dd1d29e195cc09a9c55a8ae52aa40",class:"sd-calendar__label"},this.currentYear),d("sd-ghost-button",{key:"239d5e623f830e8ceeb069e78126175772af48de",ariaLabel:"nextYear",size:"xxs",icon:"chevronRight",onClick:this.goNextYear})),d("span",{key:"24362199d36afc204eebe5c5f14a41705f6782d9",class:"sd-calendar__divider","aria-hidden":"true"}),d("div",{key:"7aa04fa1fbb355d8b3fae4cca011999b4f7f5850",class:"sd-calendar__nav-group sd-calendar__nav-group-month"},d("sd-ghost-button",{key:"ea5d0129d4f7eecaeff5793460363e2f15c238b8",ariaLabel:"prevMonth",size:"xxs",icon:"chevronLeft",onClick:this.goPrevMonth}),d("span",{key:"7a3879edb74cb71c46fc500d7c230c21e19042c4",class:"sd-calendar__label sd-calendar__label-month"},this.currentMonth,"월"),d("sd-ghost-button",{key:"7532053f6607d9e4940403f22fd32994128fc457",ariaLabel:"nextMonth",size:"xxs",icon:"chevronRight",onClick:this.goNextMonth}))),d("div",{key:"ef59638defed69c325e49fc71ca0cc73a7d778bf",class:"sd-calendar__week"},n.map((e=>d("span",{key:e,class:"sd-calendar__week-cell"},e)))),d("div",{key:"0205b10254c75567336bc7e4ed8a26d2227ecb33",class:"sd-calendar__grid"},this.cells.map((e=>{const r=e.inCurrentMonth&&""!==this.value&&this.value===e.date,n=e.inCurrentMonth&&t===e.date,i=e.inCurrentMonth&&this.isDisabled(e.date),s=e.inCurrentMonth?a.get(e.date):void 0;return d("button",{type:"button",key:e.date,class:{"sd-calendar__day":!0,"sd-calendar__day--empty":!e.inCurrentMonth,"sd-calendar__day--today":n,"sd-calendar__day--selected":r,"sd-calendar__day--disabled":i},disabled:!e.inCurrentMonth||i,tabindex:e.inCurrentMonth?void 0:-1,"aria-hidden":e.inCurrentMonth?void 0:"true",onClick:()=>e.inCurrentMonth&&this.handleDayClick(e)},d("span",{class:"sd-calendar__day-circle"},e.inCurrentMonth?e.day:""),l&&d("span",{class:"sd-calendar__dot-row","aria-hidden":"true"},s?.map(((e,a)=>d("span",{key:`${e.color}|${e.label}|${a}`,class:"sd-calendar__dot",style:{backgroundColor:e.color}})))))}))),r.length>0&&[d("span",{key:"a06b1cd9ec93891e3762f6334949cd23b643290f",class:"sd-calendar__divider-bottom","aria-hidden":"true"}),d("div",{key:"8dc6bd2495ab471b56ed6fa252c9e0ad5ebe8341",class:"sd-calendar__legend"},r.map((e=>d("span",{key:`${e.color}|${e.label}`,class:"sd-calendar__legend-item"},d("span",{class:"sd-calendar__legend-dot",style:{backgroundColor:e.color},"aria-hidden":"true"}),d("span",{class:"sd-calendar__legend-label"},e.label)))))])}static get watchers(){return{value:[{handleValueChange:0}]}}};c.style="sd-calendar{display:block}sd-calendar .sd-calendar{display:flex;flex-direction:column;gap:var(--calendar-gap);width:328px;min-height:328px;padding:var(--calendar-padding);background:var(--calendar-bg);border-radius:var(--calendar-radius);user-select:none}sd-calendar .sd-calendar--elevated{box-shadow:2px 2px 12px 2px rgba(0, 0, 0, 0.2)}sd-calendar .sd-calendar__header{display:flex;align-items:center;justify-content:center;gap:var(--calendar-header-gap);font-size:var(--calendar-header-font-size);line-height:var(--calendar-header-line-height);font-weight:var(--calendar-header-font-weight);color:var(--calendar-day-text)}sd-calendar .sd-calendar__nav-group{display:inline-flex;align-items:center;gap:var(--calendar-gap)}sd-calendar .sd-calendar__nav-group-month{width:100%}sd-calendar .sd-calendar__label{display:inline-flex;align-items:center;justify-content:center;min-width:40px;text-align:center}sd-calendar .sd-calendar__label-month{width:100%}sd-calendar .sd-calendar__divider{display:inline-block;width:1px;height:16px;background:var(--calendar-header-divider)}sd-calendar .sd-calendar__week{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size))}sd-calendar .sd-calendar__week-cell{display:inline-flex;align-items:center;justify-content:center;height:20px;font-size:var(--calendar-week-font-size);line-height:var(--calendar-week-line-height);font-weight:var(--calendar-week-font-weight);color:var(--calendar-week-color)}sd-calendar .sd-calendar__grid{display:grid;grid-template-columns:repeat(7, var(--calendar-day-size));row-gap:var(--calendar-grid-row-gap)}sd-calendar .sd-calendar__day{display:inline-flex;flex-direction:column;align-items:center;justify-content:flex-start;width:var(--calendar-day-size);min-height:var(--calendar-day-circle-size);padding:0;border:none;background:transparent;cursor:pointer;font-size:var(--calendar-day-font-size);line-height:var(--calendar-day-line-height);font-weight:var(--calendar-day-font-weight);color:var(--calendar-day-text)}sd-calendar .sd-calendar__day-circle{display:inline-flex;align-items:center;justify-content:center;width:var(--calendar-day-circle-size);height:var(--calendar-day-circle-size);border-radius:calc(var(--calendar-day-circle-radius) * 1px);border:1px solid transparent;box-sizing:border-box}sd-calendar .sd-calendar__day:not(:disabled):hover .sd-calendar__day-circle{border-radius:16px;border:1px solid var(--calendar-day-hover-border)}sd-calendar .sd-calendar__day--today .sd-calendar__day-circle{font-weight:700}sd-calendar .sd-calendar__day--selected .sd-calendar__day-circle{border-radius:16px;background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-calendar .sd-calendar__day--selected:not(:disabled):hover .sd-calendar__day-circle{background:var(--calendar-day-select-bg);color:var(--calendar-day-select-text)}sd-calendar .sd-calendar__day--disabled{color:var(--calendar-day-disabled-text);background:none !important;cursor:not-allowed}sd-calendar .sd-calendar__day--empty{visibility:hidden;pointer-events:none}sd-calendar .sd-calendar__dot-row{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--calendar-day-dot-gap);box-sizing:border-box;width:100%;min-height:14px;padding-top:var(--calendar-day-dot-padding-y);padding-bottom:var(--calendar-day-dot-padding-y)}sd-calendar .sd-calendar__dot{display:inline-block;width:var(--calendar-day-dot-size);height:var(--calendar-day-dot-size);border-radius:50%}sd-calendar .sd-calendar__divider-bottom{display:block;width:100%;height:1px;background:var(--calendar-header-divider)}sd-calendar .sd-calendar__legend{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;column-gap:var(--calendar-legend-group-gap);row-gap:4px;font-size:var(--calendar-legend-font-size);line-height:var(--calendar-legend-line-height);font-weight:var(--calendar-legend-font-weight);color:var(--calendar-day-text)}sd-calendar .sd-calendar__legend-item{display:inline-flex;align-items:center;gap:var(--calendar-legend-gap)}sd-calendar .sd-calendar__legend-dot{display:inline-block;width:var(--calendar-day-dot-size);height:var(--calendar-day-dot-size);border-radius:50%;flex-shrink:0}sd-calendar .sd-calendar__legend-label{display:inline-block}";const o=class{constructor(d){e(this,d),this.triggerClick=a(this,"sdTriggerClick",7)}displayText="";placeholder="YYYY-MM-DD";disabled=!1;size="sm";triggerClick;handleClick=()=>{this.disabled||this.triggerClick.emit()};render(){const e=l[this.size]??l.sm,a=""!==this.displayText;return d("div",{key:"4fdd8662a0a0d36261df4390c39797c7ac9e8862",role:"button",tabindex:this.disabled?-1:0,class:{"sd-date-picker-trigger":!0,"sd-date-picker-trigger--disabled":this.disabled},style:{"--trigger-padding-x":`${e.paddingX}px`,"--trigger-gap":`${e.gap}px`,"--trigger-icon-size":`${e.iconSize}px`,"--trigger-font-size":`${e.fontSize}px`,"--trigger-line-height":`${e.lineHeight}px`,"--trigger-font-weight":e.fontWeight,"--trigger-radius":`${e.radius}px`,"--trigger-text-min-width":("md"===this.size?104:80)+"px","--trigger-text-color":this.disabled?s.text.disabled:a?s.text.default:s.text.hint,"--trigger-icon-color":this.disabled?s.icon.disabled:s.icon.default},onClick:this.handleClick,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),this.handleClick())}},d("sd-icon",{key:"8d855539cdaf82758a17766bba710e61aa211c70",name:"date",size:Number(e.iconSize),color:"var(--trigger-icon-color)",class:"sd-date-picker-trigger__icon"}),d("span",{key:"49cbf18d44ec0dc09251d12b933ef0e841393e11",class:"sd-date-picker-trigger__text"},a?this.displayText:this.placeholder))}};o.style="sd-date-picker-trigger{display:block;width:100%;height:100%}sd-date-picker-trigger .sd-date-picker-trigger{display:flex;align-items:center;gap:var(--trigger-gap);width:100%;height:100%;padding:0 var(--trigger-padding-x);cursor:pointer;user-select:none;overflow:hidden;border-radius:var(--trigger-radius)}sd-date-picker-trigger .sd-date-picker-trigger--disabled{cursor:not-allowed}sd-date-picker-trigger .sd-date-picker-trigger__icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}sd-date-picker-trigger .sd-date-picker-trigger__text{flex:1;min-width:var(--trigger-text-min-width, 80px);font-size:var(--trigger-font-size);line-height:var(--trigger-line-height);font-weight:var(--trigger-font-weight);color:var(--trigger-text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}";export{c as sd_calendar,o as sd_date_picker_trigger}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,c as s,h as e}from"./p-BZ5lcC25.js";var a={bg:"#07284A",content:"#FFFFFF"},o={bg:"#FB4444",content:"#FFFFFF"},n={bg:"#FFC700",content:"#222222"},i={bg:"#00973C",content:"#FFFFFF"},d={bg:"#005CC9",content:"#FFFFFF"},c={bg:"#E6F1FF",icon:"#0075FF",text:"#222222",textLink:"#555555"};const l={default:"secondary_sm",danger:"danger_outline_sm",caution:"neutral_outline_sm",complete:"neutral_outline_sm",accent:"neutral_outline_sm",info:"secondary_sm"},r={default:{bg:a.bg,content:a.content},danger:{bg:o.bg,content:o.content},caution:{bg:n.bg,content:n.content},complete:{bg:i.bg,content:i.content},accent:{bg:d.bg,content:d.content},info:{bg:c.bg,content:c.text,icon:c.icon,linkColor:c.textLink}},b={iconSize:"16"},f=class{constructor(e){t(this,e),this.close=s(this,"sdClose",7),this.buttonClick=s(this,"sdButtonClick",7)}icon;message;link;linkLabel;buttonLabel;useClose=!1;type="default";close;buttonClick;render(){const t=r[this.type]??r.default,s=Number(b.iconSize),a=t.icon??t.content,o=t.linkColor??t.content,n=["default","caution","info"].includes(this.type),i=l[this.type]??l.default;return e("div",{key:"
|
|
1
|
+
import{r as t,c as s,h as e}from"./p-BZ5lcC25.js";var a={bg:"#07284A",content:"#FFFFFF"},o={bg:"#FB4444",content:"#FFFFFF"},n={bg:"#FFC700",content:"#222222"},i={bg:"#00973C",content:"#FFFFFF"},d={bg:"#005CC9",content:"#FFFFFF"},c={bg:"#E6F1FF",icon:"#0075FF",text:"#222222",textLink:"#555555"};const l={default:"secondary_sm",danger:"danger_outline_sm",caution:"neutral_outline_sm",complete:"neutral_outline_sm",accent:"neutral_outline_sm",info:"secondary_sm"},r={default:{bg:a.bg,content:a.content},danger:{bg:o.bg,content:o.content},caution:{bg:n.bg,content:n.content},complete:{bg:i.bg,content:i.content},accent:{bg:d.bg,content:d.content},info:{bg:c.bg,content:c.text,icon:c.icon,linkColor:c.textLink}},b={iconSize:"16"},f=class{constructor(e){t(this,e),this.close=s(this,"sdClose",7),this.buttonClick=s(this,"sdButtonClick",7)}icon;message;link;linkLabel;buttonLabel;useClose=!1;type="default";close;buttonClick;render(){const t=r[this.type]??r.default,s=Number(b.iconSize),a=t.icon??t.content,o=t.linkColor??t.content,n=["default","caution","info"].includes(this.type),i=l[this.type]??l.default;return e("div",{key:"98f2adc86e98e6e1a33eec9f1166a36fd0132091",style:{"--sd-toast-bg":t.bg,"--sd-toast-text":t.content,"--sd-toast-icon":a,"--sd-toast-link":o}},e("div",{key:"bf62e48b849b5d233b917e9bff8b516cdee3273d",class:"sd-toast",role:"status","aria-live":"polite","aria-atomic":"true"},this.icon&&e("div",{key:"4a17910884a1778ff647cc4037d23a25834a5c8d",class:"sd-toast__icon"},e("sd-icon",{key:"7b6d9567d94f8351d5c07bdf4351bc028f9b0b06",name:this.icon,size:s,color:a})),e("div",{key:"1a0fa06eeb4b5aaf9a3b7804c3aa90be85797839",class:"sd-toast__content"},e("span",{key:"32eed9d06fae03ffea1de307eb006bc2889731c2",class:"sd-toast__message"},this.message)),this.link&&e("a",{key:"f1bafc6c06d5faad3fc556419ca556df9e76ee4f",href:this.link,class:"sd-toast__link",target:"_blank",rel:"noopener noreferrer"},this.linkLabel||this.link),this.buttonLabel&&e("sd-button",{key:"94fcfb175c9e302cbb27d2dc3ed7256a65960013",class:"sd-toast__button",name:i,label:this.buttonLabel,onSdClick:t=>this.buttonClick.emit(t.detail)}),this.useClose&&e("sd-ghost-button",{key:"ae2bcd09d6c0ee5afbdfeed6e268b899a308ec64",class:"sd-toast__close",icon:"close",intent:n?"default":"inverse",ariaLabel:"close",size:"xs",onClick:()=>this.close.emit()})))}};f.style="sd-toast{display:block;width:fit-content;height:fit-content}sd-toast .sd-toast{display:flex;width:fit-content;align-items:center;gap:var(--sd-toast-gap, 16px);padding:var(--sd-toast-padding-y, 12px) var(--sd-toast-padding-x, 24px);border-radius:var(--sd-toast-radius, 8px);background-color:var(--sd-toast-bg);color:var(--sd-toast-text);box-shadow:2px 2px 8px 2px rgba(0, 0, 0, 0.2)}sd-toast .sd-toast__icon{display:flex;align-items:center;flex-shrink:0}sd-toast .sd-toast__content{display:flex;flex:1}sd-toast .sd-toast__message{font-size:14px;line-height:24px;font-weight:500;white-space:nowrap}sd-toast .sd-toast__link{font-size:14px;line-height:24px;font-weight:700;color:var(--sd-toast-link, var(--sd-toast-text));text-decoration:underline;cursor:pointer;transition:opacity 0.2s ease;margin-left:4px;white-space:nowrap}sd-toast .sd-toast__link:hover{opacity:0.8}sd-toast .sd-toast__button{flex-shrink:0}sd-toast .sd-toast__close{flex-shrink:0}";export{f as sd_toast}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,h as r,H as s}from"./p-BZ5lcC25.js";import{p as a}from"./p-D1vaasIp.js";import{s as l}from"./p-BJfiMC9H.js";const i={track:a.progress.color.track,label:a.progress.color.label,valueOnFill:a.progress.bar.text,valueZero:l.color.fg.tertiary},o={primary:a.progress.active.color,error:a.progress.error.color,complete:a.progress.success.color},t=class{constructor(r){e(this,r)}indeterminate=!1;value=0;type="primary";label;get clampedValue(){return Number.isFinite(this.value)?Math.max(0,Math.min(100,this.value)):0}render(){const e=o[this.type]??o.primary,a={"--sd-linear-progress-track-color":i.track,"--sd-linear-progress-fill-color":e,"--sd-linear-progress-value-color":0===this.clampedValue?i.valueZero:e,"--sd-linear-progress-value-on-fill":i.valueOnFill,"--sd-linear-progress-label-color":i.label},l=this.indeterminate?{}:{width:`${this.clampedValue}%`},t={clipPath:`inset(0 ${100-this.clampedValue}% 0 0)`},n=`${Math.round(this.clampedValue)}%`;return r(s,{key:"
|
|
1
|
+
import{r as e,h as r,H as s}from"./p-BZ5lcC25.js";import{p as a}from"./p-D1vaasIp.js";import{s as l}from"./p-BJfiMC9H.js";const i={track:a.progress.color.track,label:a.progress.color.label,valueOnFill:a.progress.bar.text,valueZero:l.color.fg.tertiary},o={primary:a.progress.active.color,error:a.progress.error.color,complete:a.progress.success.color},t=class{constructor(r){e(this,r)}indeterminate=!1;value=0;type="primary";label;get clampedValue(){return Number.isFinite(this.value)?Math.max(0,Math.min(100,this.value)):0}render(){const e=o[this.type]??o.primary,a={"--sd-linear-progress-track-color":i.track,"--sd-linear-progress-fill-color":e,"--sd-linear-progress-value-color":0===this.clampedValue?i.valueZero:e,"--sd-linear-progress-value-on-fill":i.valueOnFill,"--sd-linear-progress-label-color":i.label},l=this.indeterminate?{}:{width:`${this.clampedValue}%`},t={clipPath:`inset(0 ${100-this.clampedValue}% 0 0)`},n=`${Math.round(this.clampedValue)}%`;return r(s,{key:"cb460a4f0b5716eb067b7c5ddedb93bc2d3ba0b3",style:a},r("div",{key:"e135bed6a1ee332a60f9d56fe472922df0235189",class:"sd-linear-progress__track"},r("div",{key:"d4639603633b2b5a47ef907c136ca6b48a023524",class:"sd-linear-progress__fill",style:l}),!this.indeterminate&&r("span",{key:"ec6864d38e770504e6112a86e088e95c0d6dc9dc",class:"sd-linear-progress__value sd-linear-progress__value--on-track"},n),!this.indeterminate&&r("span",{key:"d7657671095fa0d5b88e1723656ac6e2eab1dfff",class:"sd-linear-progress__value sd-linear-progress__value--on-fill",style:t},n)),this.label&&r("span",{key:"b7780eb3e698c42313d63083f733354404357429",class:"sd-linear-progress__label"},this.label))}};t.style='sd-linear-progress{display:inline-flex;flex-direction:column;gap:12px;width:100%}sd-linear-progress .sd-linear-progress__track{position:relative;width:100%;height:20px;border-radius:9999px;background-color:var(--sd-linear-progress-track-color);overflow:hidden}sd-linear-progress .sd-linear-progress__fill{position:absolute;inset:0 auto 0 0;height:100%;background-color:var(--sd-linear-progress-fill-color);border-radius:inherit;transition:width 0.4s linear}sd-linear-progress .sd-linear-progress__value{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);text-align:center;font-family:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", sans-serif;font-size:12px;font-weight:700;line-height:20px;pointer-events:none;user-select:none}sd-linear-progress .sd-linear-progress__value--on-track{color:var(--sd-linear-progress-value-color)}sd-linear-progress .sd-linear-progress__value--on-fill{color:var(--sd-linear-progress-value-on-fill)}sd-linear-progress .sd-linear-progress__label{text-align:center;color:var(--sd-linear-progress-label-color);font-family:"Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, system-ui, "Segoe UI", "Apple SD Gothic Neo", "Noto Sans KR", "Malgun Gothic", "Apple Color Emoji", "Segoe UI Emoji", sans-serif;font-size:12px;font-weight:400;line-height:20px}sd-linear-progress[indeterminate] .sd-linear-progress__fill{inset:0;width:auto;transform-origin:left center;transition:none;animation:sd-linear-progress-indeterminate 1.2s linear infinite}@keyframes sd-linear-progress-indeterminate{0%{transform:translateX(-100%) scaleX(0.2)}50%{transform:translateX(20%) scaleX(0.6)}100%{transform:translateX(120%) scaleX(0.2)}}';export{t as sd_linear_progress}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,c as e,a as s,h as i}from"./p-BZ5lcC25.js";const n=4e3;let o=0;const r=class{constructor(s){t(this,s),this.toastShow=e(this,"sdToastShow",7),this.toastDismiss=e(this,"sdToastDismiss",7)}get el(){return s(this)}position="bottom-center";maxVisible=3;defaultDuration=n;zIndex=999;toasts=[];expanded=!1;toastRefs=new Map;toastShow;toastDismiss;async create(t){const e="toast-"+ ++o,s={id:e,options:t,state:"entering"},i=t.duration??this.defaultDuration??n;i>0&&(s.timerId=setTimeout((()=>this.startDismiss(e)),i));let r=[...this.toasts||[],s];const a=r.filter((t=>"exiting"!==t.state));if(a.length>(this.maxVisible??3)){const t=new Set(a.slice(0,a.length-(this.maxVisible??3)).map((t=>t.id)));r=r.map((e=>t.has(e.id)&&"exiting"!==e.state?(e.timerId&&clearTimeout(e.timerId),this.scheduleRemoval(e.id),{...e,state:"exiting",timerId:void 0}):e))}return this.toasts=r,this.toastShow.emit({id:e}),e}async dismiss(t){this.startDismiss(t)}async dismissAll(){(this.toasts||[]).forEach((t=>this.startDismiss(t.id)))}startDismiss(t){const e=(this.toasts||[]).find((e=>e.id===t));e&&"exiting"!==e.state&&(e.timerId&&clearTimeout(e.timerId),this.toasts=(this.toasts||[]).map((e=>e.id===t?{...e,state:"exiting",timerId:void 0}:e)),this.scheduleRemoval(t))}scheduleRemoval(t){setTimeout((()=>this.removeToast(t)),500)}removeToast(t){(this.toasts||[]).find((e=>e.id===t))&&(this.toasts=(this.toasts||[]).filter((e=>e.id!==t)),this.toastRefs.delete(t),this.toastDismiss.emit({id:t}))}handleTransitionEnd(t){const e=(this.toasts||[]).find((e=>e.id===t));"exiting"===e?.state&&this.removeToast(t)}measureHeights(){let t=!1;const e=(this.toasts||[]).map((e=>{const s=this.toastRefs.get(e.id);if(s){const i=s.offsetHeight;if(i>0&&i!==e.height)return t=!0,{...e,height:i}}return e}));t&&(this.toasts=e)}componentDidRender(){void 0!==this.toasts&&0!==this.toasts.length&&(this.toasts.some((t=>"entering"===t.state))&&requestAnimationFrame((()=>{this.toasts=(this.toasts||[]).map((t=>"entering"===t.state?{...t,state:"visible"}:t))})),this.measureHeights())}disconnectedCallback(){this.toasts?.forEach((t=>{t.timerId&&clearTimeout(t.timerId)})),this.toastRefs.clear()}pauseTimers(){this.toasts=(this.toasts||[]).map((t=>t.timerId?(clearTimeout(t.timerId),{...t,timerId:void 0}):t))}resumeTimers(){const t=this.defaultDuration??n;t<=0||(this.toasts=(this.toasts||[]).map((e=>{if("visible"===e.state&&!e.timerId&&(e.options.duration??t)>0){const s=setTimeout((()=>this.startDismiss(e.id)),e.options.duration??t);return{...e,timerId:s}}return e})))}getContainerStyles(){const t=this.position||"bottom-center";return{position:"fixed",zIndex:(this.zIndex??999).toString(),pointerEvents:"none",...{"top-left":{top:"20px",left:"20px"},"top-center":{top:"20px",left:"50%",transform:"translateX(-50%)"},"top-right":{top:"20px",right:"20px"},"bottom-left":{bottom:"20px",left:"20px"},"bottom-center":{bottom:"20px",left:"50%",transform:"translateX(-50%)"},"bottom-right":{bottom:"20px",right:"20px"}}[t]}}getToastItemStyle(t,e,s){const i=this.position||"bottom-center",n=i.startsWith("bottom"),o=i.split("-")[1],r=n?"bottom":"top",a=[];"center"===o&&a.push("translateX(-50%)");const c={position:"absolute",[r]:"0",..."center"===o?{left:"50%"}:"right"===o?{right:"0"}:{left:"0"}};if("entering"===t.state)return a.push(`translateY(${n?20:-20}px)`),{...c,opacity:"0",transform:a.join(" "),transition:"none"};if("exiting"===t.state)return a.push(`translateY(${n?20:-20}px)`),{...c,opacity:"0",transform:a.join(" "),pointerEvents:"none"};if(this.expanded){let t=0;for(let i=0;i<e;i++)t+=(s[i].height||0)+8;return a.push("translateY(0) scale(1)"),{...c,[r]:`${t}px`,opacity:"1",transform:a.join(" "),zIndex:""+(s.length-e)}}const h=8*e,l=[1,.8,.6],m=e<l.length?l[e]:0;return a.push(`translateY(${n?-h:h}px) scale(${1-.05*e})`),{...c,opacity:m.toString(),transform:a.join(" "),transformOrigin:n?"bottom center":"top center",zIndex:""+(s.length-e)}}render(){const t=this.toasts||[],e=t.filter((t=>"exiting"!==t.state)).reverse(),s=new Map;return e.forEach(((t,e)=>s.set(t.id,e))),i("div",{key:"
|
|
1
|
+
import{r as t,c as e,a as s,h as i}from"./p-BZ5lcC25.js";const n=4e3;let o=0;const r=class{constructor(s){t(this,s),this.toastShow=e(this,"sdToastShow",7),this.toastDismiss=e(this,"sdToastDismiss",7)}get el(){return s(this)}position="bottom-center";maxVisible=3;defaultDuration=n;zIndex=999;toasts=[];expanded=!1;toastRefs=new Map;toastShow;toastDismiss;async create(t){const e="toast-"+ ++o,s={id:e,options:t,state:"entering"},i=t.duration??this.defaultDuration??n;i>0&&(s.timerId=setTimeout((()=>this.startDismiss(e)),i));let r=[...this.toasts||[],s];const a=r.filter((t=>"exiting"!==t.state));if(a.length>(this.maxVisible??3)){const t=new Set(a.slice(0,a.length-(this.maxVisible??3)).map((t=>t.id)));r=r.map((e=>t.has(e.id)&&"exiting"!==e.state?(e.timerId&&clearTimeout(e.timerId),this.scheduleRemoval(e.id),{...e,state:"exiting",timerId:void 0}):e))}return this.toasts=r,this.toastShow.emit({id:e}),e}async dismiss(t){this.startDismiss(t)}async dismissAll(){(this.toasts||[]).forEach((t=>this.startDismiss(t.id)))}startDismiss(t){const e=(this.toasts||[]).find((e=>e.id===t));e&&"exiting"!==e.state&&(e.timerId&&clearTimeout(e.timerId),this.toasts=(this.toasts||[]).map((e=>e.id===t?{...e,state:"exiting",timerId:void 0}:e)),this.scheduleRemoval(t))}scheduleRemoval(t){setTimeout((()=>this.removeToast(t)),500)}removeToast(t){(this.toasts||[]).find((e=>e.id===t))&&(this.toasts=(this.toasts||[]).filter((e=>e.id!==t)),this.toastRefs.delete(t),this.toastDismiss.emit({id:t}))}handleTransitionEnd(t){const e=(this.toasts||[]).find((e=>e.id===t));"exiting"===e?.state&&this.removeToast(t)}measureHeights(){let t=!1;const e=(this.toasts||[]).map((e=>{const s=this.toastRefs.get(e.id);if(s){const i=s.offsetHeight;if(i>0&&i!==e.height)return t=!0,{...e,height:i}}return e}));t&&(this.toasts=e)}componentDidRender(){void 0!==this.toasts&&0!==this.toasts.length&&(this.toasts.some((t=>"entering"===t.state))&&requestAnimationFrame((()=>{this.toasts=(this.toasts||[]).map((t=>"entering"===t.state?{...t,state:"visible"}:t))})),this.measureHeights())}disconnectedCallback(){this.toasts?.forEach((t=>{t.timerId&&clearTimeout(t.timerId)})),this.toastRefs.clear()}pauseTimers(){this.toasts=(this.toasts||[]).map((t=>t.timerId?(clearTimeout(t.timerId),{...t,timerId:void 0}):t))}resumeTimers(){const t=this.defaultDuration??n;t<=0||(this.toasts=(this.toasts||[]).map((e=>{if("visible"===e.state&&!e.timerId&&(e.options.duration??t)>0){const s=setTimeout((()=>this.startDismiss(e.id)),e.options.duration??t);return{...e,timerId:s}}return e})))}getContainerStyles(){const t=this.position||"bottom-center";return{position:"fixed",zIndex:(this.zIndex??999).toString(),pointerEvents:"none",...{"top-left":{top:"20px",left:"20px"},"top-center":{top:"20px",left:"50%",transform:"translateX(-50%)"},"top-right":{top:"20px",right:"20px"},"bottom-left":{bottom:"20px",left:"20px"},"bottom-center":{bottom:"20px",left:"50%",transform:"translateX(-50%)"},"bottom-right":{bottom:"20px",right:"20px"}}[t]}}getToastItemStyle(t,e,s){const i=this.position||"bottom-center",n=i.startsWith("bottom"),o=i.split("-")[1],r=n?"bottom":"top",a=[];"center"===o&&a.push("translateX(-50%)");const c={position:"absolute",[r]:"0",..."center"===o?{left:"50%"}:"right"===o?{right:"0"}:{left:"0"}};if("entering"===t.state)return a.push(`translateY(${n?20:-20}px)`),{...c,opacity:"0",transform:a.join(" "),transition:"none"};if("exiting"===t.state)return a.push(`translateY(${n?20:-20}px)`),{...c,opacity:"0",transform:a.join(" "),pointerEvents:"none"};if(this.expanded){let t=0;for(let i=0;i<e;i++)t+=(s[i].height||0)+8;return a.push("translateY(0) scale(1)"),{...c,[r]:`${t}px`,opacity:"1",transform:a.join(" "),zIndex:""+(s.length-e)}}const h=8*e,l=[1,.8,.6],m=e<l.length?l[e]:0;return a.push(`translateY(${n?-h:h}px) scale(${1-.05*e})`),{...c,opacity:m.toString(),transform:a.join(" "),transformOrigin:n?"bottom center":"top center",zIndex:""+(s.length-e)}}render(){const t=this.toasts||[],e=t.filter((t=>"exiting"!==t.state)).reverse(),s=new Map;return e.forEach(((t,e)=>s.set(t.id,e))),i("div",{key:"ce0bd7179ac744e558f900228fcf80d16b676d1d",class:"sd-toast-container",style:this.getContainerStyles(),onMouseEnter:()=>{this.expanded=!0,this.pauseTimers()},onMouseLeave:()=>{this.expanded=!1,this.resumeTimers()}},t.map((t=>{const n=s.get(t.id)??0;return i("div",{key:t.id,class:{"sd-toast-container__item":!0,"sd-toast-container__item--entering":"entering"===t.state,"sd-toast-container__item--visible":"visible"===t.state,"sd-toast-container__item--exiting":"exiting"===t.state},style:this.getToastItemStyle(t,n,e),ref:e=>{e&&this.toastRefs.set(t.id,e)},onTransitionEnd:()=>this.handleTransitionEnd(t.id)},i("sd-toast",{message:t.options.message,type:t.options.type||"default",icon:t.options.icon,link:t.options.link,linkLabel:t.options.linkLabel,buttonLabel:t.options.buttonLabel,useClose:t.options.useClose,onSdClose:()=>this.startDismiss(t.id),onSdButtonClick:e=>t.options.onButtonClick?.(e.detail)}))})))}};r.style='sd-toast-container{display:block}sd-toast-container .sd-toast-container__item{pointer-events:auto;transition:transform 0.4s ease, opacity 0.4s ease, bottom 0.4s ease, top 0.4s ease}sd-toast-container .sd-toast-container__item::before{content:"";position:absolute;left:0;right:0;top:-8px;bottom:-8px}sd-toast-container .sd-toast-container__item--entering{transition:none}sd-toast-container .sd-toast-container__item--exiting{pointer-events:none}';export{r as sd_toast_container}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as i,h as e}from"./p-BZ5lcC25.js";const n=class{constructor(e){i(this,e)}visible=!1;message="";async show(i={}){this.message=i.message??"",this.visible=!0}async hide(){this.visible=!1}render(){return e("div",{key:"
|
|
1
|
+
import{r as i,h as e}from"./p-BZ5lcC25.js";const n=class{constructor(e){i(this,e)}visible=!1;message="";async show(i={}){this.message=i.message??"",this.visible=!0}async hide(){this.visible=!1}render(){return e("div",{key:"e5ed85a0b5467ce92d3b31324752285f3d6a40f9",class:{"sd-loading-container":!0,"sd-loading-container--visible":this.visible},"aria-hidden":this.visible?"false":"true"},e("div",{key:"80f6425043b106aedfc8110fbd1511fbf32eb283",class:"sd-loading-container__backdrop"}),e("div",{key:"e8a24b8a9eb4986a08d903fa3ed54d1a4048d4d6",class:"sd-loading-container__content"},e("sd-circle-progress",{key:"9b37b330ef551f75c78974ccae1d8fd3edfbb898",indeterminate:!0,type:"inverse"}),this.message&&e("p",{key:"1be0b6565528d0415b5e43c2b16729ac707ed9e8",class:"sd-loading-container__message"},this.message)))}};n.style="sd-loading-container .sd-loading-container{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:var(--sd-loading-container-z-index, 999);opacity:0;visibility:hidden;transition:opacity 0.2s ease, visibility 0s linear 0.2s;pointer-events:none}sd-loading-container .sd-loading-container--visible{opacity:1;visibility:visible;transition:opacity 0.2s ease, visibility 0s linear 0s;pointer-events:auto}sd-loading-container .sd-loading-container__backdrop{position:absolute;inset:0;background:rgba(0, 0, 0, 0.4)}sd-loading-container .sd-loading-container__content{position:relative;display:flex;flex-direction:column;align-items:center;gap:16px}sd-loading-container .sd-loading-container__message{margin:0;color:#ffffff;font-size:14px;font-weight:500;line-height:22px;text-align:center;max-width:400px;word-break:keep-all}";export{n as sd_loading_container}
|